From fc68f88ca024eab4363367d09b06bbee04c2f3f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E6=AD=A3=E6=98=93?= Date: Thu, 15 May 2025 09:11:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9001?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/qc/backend/QcBackEndController.cs | 14 +- ZR.Service/mes/qc/backend/QcBackEndService.cs | 125 ++++++++++-------- 2 files changed, 80 insertions(+), 59 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/mes/qc/backend/QcBackEndController.cs b/ZR.Admin.WebApi/Controllers/mes/qc/backend/QcBackEndController.cs index 077dbf93..b05bae9a 100644 --- a/ZR.Admin.WebApi/Controllers/mes/qc/backend/QcBackEndController.cs +++ b/ZR.Admin.WebApi/Controllers/mes/qc/backend/QcBackEndController.cs @@ -94,11 +94,19 @@ namespace ZR.Admin.WebApi.Controllers [AllowAnonymous] public IActionResult StartBackEndWorkOrder([FromBody] QcBackEndWorkorderDetailDto parm) { - var modal = parm.Adapt().ToCreate(HttpContext); + try + { + var modal = parm.Adapt().ToCreate(HttpContext); - var response = _QcBackEndService.StartBackEndWorkOrder(modal); + var response = _QcBackEndService.StartBackEndWorkOrder(modal); + + return SUCCESS(response); + } + catch (Exception e) + { + return ToResponse(new ApiResult(500, "开启工单异常:" + e.Message)); + } - return SUCCESS(response); } /// diff --git a/ZR.Service/mes/qc/backend/QcBackEndService.cs b/ZR.Service/mes/qc/backend/QcBackEndService.cs index 6fc7ca69..6c9db24f 100644 --- a/ZR.Service/mes/qc/backend/QcBackEndService.cs +++ b/ZR.Service/mes/qc/backend/QcBackEndService.cs @@ -285,7 +285,7 @@ namespace ZR.Service.Business try { // 检查箱标签是否当内标签扫过 - bool isInnerLabelScan = Context + /*bool isInnerLabelScan = Context .Queryable() .Where(it => it.Label == data.Label) .Where(it => it.LabelType == 2) @@ -293,7 +293,7 @@ namespace ZR.Service.Business if (isInnerLabelScan) { throw new Exception("标签异常,该标签已经当内标签扫过!"); - } + }*/ Context.Ado.BeginTran(); DateTime nowTime = DateTime.Now; // 创建新工单号 @@ -637,63 +637,76 @@ namespace ZR.Service.Business public string ScanInnerLabel(QcBackEndLabelScanDto data) { - DateTime nowTime = DateTime.Now; - // 标签防错 (内标签零件号) - string partNumber = DoAnalyzePartnumber(data.Label); - // 内标签包含外标签 - if (!partNumber.Contains(data.PartNumber)) + try { - return "内标签零件号与工单零件号不一致!"; - } - bool hasAny = Context - .Queryable() - .Where(it => it.Label == data.Label) - .Where(it => it.LabelType == 2) - .Any(); - if (hasAny) - { - return "内标签重复扫码!"; - } - // 标签录入 - int sort = 0; - QcBackEndRecordLabelScan labelScan = Context - .Queryable() - .Where(it => it.WorkOrder == data.WorkOrder) - .Where(it => it.LabelType == 2) - .OrderByDescending(it => it.LabelSort) - .First(); - if (labelScan != null) - { - sort = labelScan.LabelSort ?? 0; - } - QcBackEndRecordLabelScan newLabelScran = - new() + Context.Ado.BeginTran(); + DateTime nowTime = DateTime.Now; + // 标签防错 (内标签零件号) + string partNumber = DoAnalyzePartnumber(data.Label); + // 内标签包含外标签 + if (!partNumber.Contains(data.PartNumber)) { - Id = SnowFlakeSingle.Instance.NextId().ToString(), - WorkOrder = data.WorkOrder, - PartNumber = data.PartNumber, - Team = data.Team, - SiteNo = data.SiteNo, - ComNo = data.ComNo, - Label = data.Label, - LabelType = 2, - LabelSort = sort + 1, - ScanTime = $"{nowTime:yyyy-MM-dd HH:mm:ss}", - Type = "1", - Status = "1", - Remark = "扫描标签", - CreatedBy = data.CreatedBy, - CreatedTime = data.CreatedTime, - }; - int res = Context.Insertable(newLabelScran).ExecuteCommand(); - if (res == 0) - { - return "标签录入系统失败!"; + Context.Ado.RollbackTran(); + return "内标签零件号与工单零件号不一致!"; + } + bool hasAny = Context + .Queryable() + .Where(it => it.Label == data.Label) + .Where(it => it.LabelType == 2) + .Any(); + if (hasAny) + { + Context.Ado.RollbackTran(); + return "内标签重复扫码!"; + } + // 标签录入 + int sort = 0; + QcBackEndRecordLabelScan labelScan = Context + .Queryable() + .Where(it => it.WorkOrder == data.WorkOrder) + .Where(it => it.LabelType == 2) + .OrderByDescending(it => it.LabelSort) + .First(); + if (labelScan != null) + { + sort = labelScan.LabelSort ?? 0; + } + QcBackEndRecordLabelScan newLabelScran = + new() + { + Id = SnowFlakeSingle.Instance.NextId().ToString(), + WorkOrder = data.WorkOrder, + PartNumber = data.PartNumber, + Team = data.Team, + SiteNo = data.SiteNo, + ComNo = data.ComNo, + Label = data.Label, + LabelType = 2, + LabelSort = sort + 1, + ScanTime = $"{nowTime:yyyy-MM-dd HH:mm:ss}", + Type = "1", + Status = "1", + Remark = "扫描标签", + CreatedBy = data.CreatedBy, + CreatedTime = data.CreatedTime, + }; + int res = Context.Insertable(newLabelScran).ExecuteCommand(); + if (res == 0) + { + Context.Ado.RollbackTran(); + return "标签录入系统失败!"; + } + //TODO 触发箱标签判定 + CheckAndPrintPackageLabel(newLabelScran); + Context.Ado.CommitTran(); + return "ok"; } - //TODO 触发箱标签判定 - CheckAndPrintPackageLabel(newLabelScran); - - return "ok"; + catch (Exception e) + { + Context.Ado.RollbackTran(); + return $"异常:{e.Message}"; + } + } ///