111
啊鑫
3 天以前 eef66b0e4c576876217e4097f1813240face343f
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
using System.Dynamic;
using MES.Service.Dto.webApi;
using MES.Service.service.QC;
using MES.Service.util;
using Microsoft.AspNetCore.Mvc;
 
namespace MESApplication.Controllers.QC;
 
[Route("api/[controller]")]
[ApiController]
public class BarcodeController : ControllerBase
{
    private readonly BarcodeService _barcodeService;
 
    public BarcodeController()
    {
        _barcodeService = new BarcodeService();
    }
 
    [HttpPost("generateBarcode")]
    public ResponseResult GenerateBarcode([FromBody] GenerateBarcodeRequest request)
    {
        try
        {
            if (request == null)
            {
                return new ResponseResult
                {
                    status = 1,
                    message = "请求体不能为空",
                    data = "请求体不能为空"
                };
            }
 
            // Validate panelQuantity is a valid positive number
            if (request.panelQuantity <= 0)
            {
                return new ResponseResult
                {
                    status = 1,
                    message = "panelQuantity 必须是大于0的数字",
                    data = "panelQuantity 必须是大于0的数字"
                };
            }
 
            var missingParams = new List<string>();
            if (string.IsNullOrEmpty(request.@operator)) missingParams.Add("operator");
            if (string.IsNullOrEmpty(request.workOrderNumber)) missingParams.Add("workOrderNumber");
 
            if (missingParams.Count > 0)
            {
                var message = $"缺少必填参数:{string.Join(", ", missingParams)}";
                return new ResponseResult
                {
                    status = 1,
                    message = message,
                    data = message
                };
            }
 
            var result = _barcodeService.GenerateBarcodes(request);
            
            return new ResponseResult
            {
                status = 0,
                message = "条码生成成功",
                data = result
            };
        }
        catch (ArgumentException ex)
        {
            return new ResponseResult
            {
                status = 1,
                message = ex.Message,
                data = ex.Message
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
 
    [HttpPost("confirmBarcode")]
    public ResponseResult ConfirmBarcode([FromBody] ConfirmBarcodeRequest request)
    {
        try
        {
            if (request == null)
            {
                return new ResponseResult
                {
                    status = 1,
                    message = "请求体不能为空",
                    data = "请求体不能为空"
                };
            }
 
            var missingParams = new List<string>();
            if (request.barcodes == null || request.barcodes.Count == 0) missingParams.Add("barcodes");
            if (string.IsNullOrEmpty(request.@operator)) missingParams.Add("operator");
            if (string.IsNullOrEmpty(request.workOrderNumber)) missingParams.Add("workOrderNumber");
 
            if (missingParams.Count > 0)
            {
                var message = $"缺少必填参数:{string.Join(", ", missingParams)}";
                return new ResponseResult
                {
                    status = 1,
                    message = message,
                    data = message
                };
            }
 
            _barcodeService.ConfirmBarcodes(request);
            
            return new ResponseResult
            {
                status = 0,
                message = "条码确认成功",
                data = "条码确认已完成"
            };
        }
        catch (ArgumentException ex)
        {
            return new ResponseResult
            {
                status = 1,
                message = ex.Message.Contains("工单") ? "工单号无效" : 
                         ex.Message.Contains("条码") ? "条码格式不正确" : 
                         ex.Message.Contains("列表") ? "缺少条码" : ex.Message,
                data = ex.Message
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}