This commit is contained in:
小魔仙
2025-05-26 16:26:06 +08:00

View File

@@ -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<QcBackEndRecordLabelScan>()
.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<QcBackEndRecordLabelScan>()
.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<QcBackEndServiceWorkorder>()
@@ -847,9 +856,9 @@ namespace ZR.Service.Business
bool neeedScan = false;
// 工单判断
QcBackEndServiceWorkorder workorderInfo = Context
.Queryable<QcBackEndServiceWorkorder>()
.Where(it => it.WorkOrder == workorder)
.First();
.Queryable<QcBackEndServiceWorkorder>()
.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<QcBackendRecordLabelPrint>()
.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
}
}
}