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);
|
}
|
}
|
}
|