快乐的昕的电脑
2025-10-11 32a079c12e0b45cc7039f45a9bb8255b826df50d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using System.Dynamic;
using Microsoft.AspNetCore.Mvc;
using PadApplication.Entites.DbModels;
using PadApplication.Entites.Dto;
using PadApplication.Services;
using PadApplication.util;
 
namespace PadApplication.Controllers;
 
/// <summary>
/// 刀具台账控制器,提供刀具相关的接口
/// </summary>
[ApiController]
[Route("api/[controller]")]
public class MesCutterLedgerController : ControllerBase
{
    private readonly MesCutterLedgerManager m = new();
 
    public record ToolActionRequest(
        string workOrderNo,
        string machineNo,
        string toolNo,
        string type,
        int? useLimit
    );
 
    public record FormDataRequest(
        string workOrderNo,
        string machineNo
    );
 
    /// <summary>
    /// 刀具查询(支持编号或名称模糊查询)MesCutterLedger
    /// </summary>
    /// <param name="req">查询关键字请求体</param>
    /// <returns>刀具列表</returns>
    [HttpPost("QueryTools")]
    public ResponseResult QueryTools([FromBody] MesCutterLedger req)
    {
        try
        {
            dynamic resultInfos = new ExpandoObject();
            var queryResult = m.QueryTools(req.searchKey, req.pageIndex, req.pageSize);
            resultInfos.tbBillList = queryResult.tbBillList;
            resultInfos.total = queryResult.total;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
 
    /// <summary>
    /// 上下刀操作(上刀type=0,下刀type=1)
    /// </summary>
    [HttpPost("SubmitToolAction")]
    public IActionResult SubmitToolAction(
        [FromForm] string workOrderNo,
        [FromForm] string machineNo,
        [FromForm] string toolNo,
        [FromForm] string type,      // string 类型
        [FromForm] int? useLimit
    )
    {
        try
        {
            var result = m.SubmitToolAction(workOrderNo, machineNo, toolNo, type, useLimit);
            return Ok(new ResponseResult
            {
                status = 0,
                message = "OK",
                data = result
            });
        }
        catch (Exception ex)
        {
            return Ok(ResponseResult.ResponseError(ex));
        }
    }
 
    /// <summary>
    /// 获取刀具表单数据(根据工单号和机台编码)
    /// </summary>
    [HttpPost("GetFormData")]
    public ResponseResult GetFormData([FromBody] FormDataRequest req)
    {
        try
        {
            var data = m.GetFormData(req.workOrderNo, req.machineNo);
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = data
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}