打印逻辑修改001

This commit is contained in:
2025-05-15 09:11:21 +08:00
parent f897d641b4
commit fc68f88ca0
2 changed files with 80 additions and 59 deletions

View File

@@ -94,11 +94,19 @@ namespace ZR.Admin.WebApi.Controllers
[AllowAnonymous] [AllowAnonymous]
public IActionResult StartBackEndWorkOrder([FromBody] QcBackEndWorkorderDetailDto parm) public IActionResult StartBackEndWorkOrder([FromBody] QcBackEndWorkorderDetailDto parm)
{ {
var modal = parm.Adapt<QcBackEndWorkorderDetailDto>().ToCreate(HttpContext); try
{
var modal = parm.Adapt<QcBackEndWorkorderDetailDto>().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);
} }
/// <summary> /// <summary>

View File

@@ -285,7 +285,7 @@ namespace ZR.Service.Business
try try
{ {
// 检查箱标签是否当内标签扫过 // 检查箱标签是否当内标签扫过
bool isInnerLabelScan = Context /*bool isInnerLabelScan = Context
.Queryable<QcBackEndRecordLabelScan>() .Queryable<QcBackEndRecordLabelScan>()
.Where(it => it.Label == data.Label) .Where(it => it.Label == data.Label)
.Where(it => it.LabelType == 2) .Where(it => it.LabelType == 2)
@@ -293,7 +293,7 @@ namespace ZR.Service.Business
if (isInnerLabelScan) if (isInnerLabelScan)
{ {
throw new Exception("标签异常,该标签已经当内标签扫过!"); throw new Exception("标签异常,该标签已经当内标签扫过!");
} }*/
Context.Ado.BeginTran(); Context.Ado.BeginTran();
DateTime nowTime = DateTime.Now; DateTime nowTime = DateTime.Now;
// 创建新工单号 // 创建新工单号
@@ -637,63 +637,76 @@ namespace ZR.Service.Business
public string ScanInnerLabel(QcBackEndLabelScanDto data) public string ScanInnerLabel(QcBackEndLabelScanDto data)
{ {
DateTime nowTime = DateTime.Now; try
// 标签防错 (内标签零件号)
string partNumber = DoAnalyzePartnumber(data.Label);
// 内标签包含外标签
if (!partNumber.Contains(data.PartNumber))
{ {
return "内标签零件号与工单零件号不一致!"; Context.Ado.BeginTran();
} DateTime nowTime = DateTime.Now;
bool hasAny = Context // 标签防错 (内标签零件号)
.Queryable<QcBackEndRecordLabelScan>() string partNumber = DoAnalyzePartnumber(data.Label);
.Where(it => it.Label == data.Label) // 内标签包含外标签
.Where(it => it.LabelType == 2) if (!partNumber.Contains(data.PartNumber))
.Any();
if (hasAny)
{
return "内标签重复扫码!";
}
// 标签录入
int sort = 0;
QcBackEndRecordLabelScan labelScan = Context
.Queryable<QcBackEndRecordLabelScan>()
.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(), Context.Ado.RollbackTran();
WorkOrder = data.WorkOrder, return "内标签零件号与工单零件号不一致!";
PartNumber = data.PartNumber, }
Team = data.Team, bool hasAny = Context
SiteNo = data.SiteNo, .Queryable<QcBackEndRecordLabelScan>()
ComNo = data.ComNo, .Where(it => it.Label == data.Label)
Label = data.Label, .Where(it => it.LabelType == 2)
LabelType = 2, .Any();
LabelSort = sort + 1, if (hasAny)
ScanTime = $"{nowTime:yyyy-MM-dd HH:mm:ss}", {
Type = "1", Context.Ado.RollbackTran();
Status = "1", return "内标签重复扫码!";
Remark = "扫描标签", }
CreatedBy = data.CreatedBy, // 标签录入
CreatedTime = data.CreatedTime, int sort = 0;
}; QcBackEndRecordLabelScan labelScan = Context
int res = Context.Insertable(newLabelScran).ExecuteCommand(); .Queryable<QcBackEndRecordLabelScan>()
if (res == 0) .Where(it => it.WorkOrder == data.WorkOrder)
{ .Where(it => it.LabelType == 2)
return "标签录入系统失败!"; .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";
}
catch (Exception e)
{
Context.Ado.RollbackTran();
return $"异常:{e.Message}";
} }
//TODO 触发箱标签判定
CheckAndPrintPackageLabel(newLabelScran);
return "ok";
} }
/// <summary> /// <summary>