diff --git a/ZR.Service/mes/qc/backend/QcBackEndService.cs b/ZR.Service/mes/qc/backend/QcBackEndService.cs index 75768f9d..18bfb518 100644 --- a/ZR.Service/mes/qc/backend/QcBackEndService.cs +++ b/ZR.Service/mes/qc/backend/QcBackEndService.cs @@ -1,28 +1,16 @@ using System; -using System.Globalization; -using System.IO; -using System.Linq; using System.Text.Json; using System.Text.RegularExpressions; using System.Threading.Tasks; -using System.Transactions; -using Aliyun.OSS; -using AutoMapper; using Infrastructure.Attribute; -using Infrastructure.Extensions; -using JinianNet.JNTemplate; -using Microsoft.AspNetCore.Http.HttpResults; using Microsoft.Extensions.Logging; using MQTTnet.Protocol; using SqlSugar; using ZR.Common.MqttHelper; -using ZR.Model; using ZR.Model.Business; using ZR.Model.Dto; using ZR.Model.MES.wms; -using ZR.Repository; using ZR.Service.Business.IBusinessService; -using static System.Runtime.InteropServices.JavaScript.JSType; namespace ZR.Service.Business { @@ -690,6 +678,16 @@ namespace ZR.Service.Business Context.Ado.RollbackTran(); return "箱标签零件号与工单零件号不一致!"; } + bool hasAny = Context + .Queryable() + .Where(it => it.Label == data.Label) + .Where(it => it.LabelType == 1) + .Any(); + if (hasAny) + { + Context.Ado.RollbackTran(); + return "此外箱标签已扫过,禁止重复扫码!"; + } // 上一个内标签流水号检查 int oldPackageLabelSort = 1; QcBackEndRecordLabelScan lastPackagelabelInfo = Context @@ -698,7 +696,7 @@ namespace ZR.Service.Business .Where(it => it.LabelType == 1) .OrderByDescending(it => it.LabelSort) .First(); - if(lastPackagelabelInfo == null) + if (lastPackagelabelInfo == null) { oldPackageLabelSort = 0; } @@ -767,6 +765,17 @@ namespace ZR.Service.Business Context.Ado.RollbackTran(); return "此内标签已扫过,禁止重复扫码!"; } + bool hasAny2 = Context + .Queryable() + .Where(it => it.Label == data.Label) + .Where(it => it.LabelType == 1) + .Where(it => it.LabelSort > 0) + .Any(); + if (hasAny2) + { + Context.Ado.RollbackTran(); + return "此外箱标签已扫过,禁止重复扫码!"; + } // 内标签工单确认 QcBackEndServiceWorkorder workorder = Context .Queryable() @@ -847,9 +856,9 @@ namespace ZR.Service.Business bool neeedScan = false; // 工单判断 QcBackEndServiceWorkorder workorderInfo = Context - .Queryable() - .Where(it => it.WorkOrder == workorder) - .First(); + .Queryable() + .Where(it => it.WorkOrder == workorder) + .First(); if (workorder == null) { throw new Exception($"异常:工单不存在{workorder}"); @@ -876,7 +885,7 @@ namespace ZR.Service.Business .Where(it => it.WorkOrder == workorder) .Where(it => it.LabelType == 1) .Count(); - + packageLabelCount -= 1; if (packageLabelCount < 0) { @@ -955,7 +964,7 @@ namespace ZR.Service.Business _logger.LogInformation($"发送后道外箱标签打印成功:{topic}"); // 添加打印记录 - await AddBackendLabelPrintRecordAsync(newLabelScran,mqttEventDto, maxPackage); + await AddBackendLabelPrintRecordAsync(newLabelScran, mqttEventDto, maxPackage); } catch (JsonException ex) { @@ -1057,7 +1066,7 @@ namespace ZR.Service.Business batchCode = DateTime.Now.ToString("yyMMdd") + "000"; } // 提取箱流水号 - int packageSort = 0; + int packageSort = 1; QcBackendRecordLabelPrint labelPrintRecord = Context .Queryable() .Where(it => it.PartNumber == newLabelScran.PartNumber) @@ -1067,7 +1076,7 @@ namespace ZR.Service.Business .First(); if (labelPrintRecord != null) { - packageSort = labelPrintRecord.SerialNumber + 1 ?? 0; + packageSort = labelPrintRecord.SerialNumber + 1 ?? 1; } // 提取产品描述 string checkPartnumber = newLabelScran.PartNumber; @@ -1372,6 +1381,5 @@ namespace ZR.Service.Business { return Guid.NewGuid().ToString("N").Substring(0, 10); // Generate a 10-character unique ID } - } }