打印逻辑修改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]
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>

View File

@ -285,7 +285,7 @@ namespace ZR.Service.Business
try
{
// 检查箱标签是否当内标签扫过
bool isInnerLabelScan = Context
/*bool isInnerLabelScan = Context
.Queryable<QcBackEndRecordLabelScan>()
.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<QcBackEndRecordLabelScan>()
.Where(it => it.Label == data.Label)
.Where(it => it.LabelType == 2)
.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()
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<QcBackEndRecordLabelScan>()
.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<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(),
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}";
}
}
/// <summary>