refactor(入库服务): 优化入库单创建逻辑和工单号解析

- 修改ProFinishedProductReceiptService的插入逻辑,简化返回值处理
- 在QcBackEndService和QcGp12Service中增加工单号解析功能
- 统一入库单标签生成格式,包含更完整的信息
This commit is contained in:
2025-11-18 11:02:16 +08:00
parent 92e3a7f9d5
commit 530e682541
3 changed files with 38 additions and 26 deletions

View File

@@ -66,26 +66,19 @@ namespace ZR.Service.Business
try
{
model.CreatedTime = DateTime.Now;
var insertedModel = Context.Insertable(model).ExecuteReturnEntity();
if (insertedModel != null && !string.IsNullOrEmpty(insertedModel.ReceiptNo))
int result = Context.Insertable(model).ExecuteCommand();
_receiptLogService.AddProFinishedProductReceiptLog(
new ProFinishedProductReceiptLog
{
_receiptLogService.AddProFinishedProductReceiptLog(
new ProFinishedProductReceiptLog
{
ReceiptNo = model.ReceiptNo,
OperatedBy = "",
OperatedTime = DateTime.Now,
OperationType = "CREATE",
OperationContent = "入库单创建成功",
OperationResult = "SUCCESS",
Remark = ""
});
return insertedModel;
} else
{
throw new Exception("入库单插入失败");
}
ReceiptNo = model.ReceiptNo,
OperatedBy = "系统",
OperatedTime = DateTime.Now,
OperationType = "CREATE",
OperationContent = result > 0 ? "入库单创建成功": "入库单创建失败",
OperationResult = result > 0 ? "SUCCESS": "FAIL",
Remark = ""
});
return model;
}
catch (Exception ex)
{

View File

@@ -10,8 +10,10 @@ using ZR.Common.MqttHelper;
using ZR.Model.Business;
using ZR.Model.Dto;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
using ZR.Service.Business.IBusinessService;
using ZR.Service.mqtt;
using ZR.Service.Utils;
namespace ZR.Service.Business
{
@@ -1271,11 +1273,19 @@ namespace ZR.Service.Business
}
// 箱数
int _packageCount = Context.Queryable<QcBackEndRecordLabelScan>().Where(it => it.WorkOrder == qcBackEndWorkorder.WorkOrder).Where(it => it.LabelType == 1).Count();
// 工单号
MaterialUtils materialUtils = new MaterialUtils();
ResultionPackageCodeDto packageCodeDto = materialUtils.ResolutionPackage(qcBackEndWorkorder.Label);
string _workOrder = qcBackEndWorkorder.WorkOrder;
if (packageCodeDto != null && !string.IsNullOrEmpty(packageCodeDto.WorkoderID))
{
_workOrder = packageCodeDto.WorkoderID;
}
ProFinishedProductReceipt newModel = new()
{
ReceiptNo = newReceiptNo,
SiteNo = qcBackEndWorkorder.SiteNo,
WorkOrder = qcBackEndWorkorder.WorkOrder,
WorkOrder = _workOrder,
WarehouseCode = "LS",
ReceiptType = "正常入库",
Status = "已提交",
@@ -1290,10 +1300,10 @@ namespace ZR.Service.Business
ProductionTime = nowTime,
BatchCode = nowTime.ToString("yyyyMMdd"),
Unit = "个",
PackageCode = qcBackEndWorkorder.WorkOrder,
PackageCode = _workOrder,
PackageCount = _packageCount,
PackageNum = qcBackEndWorkorder.QualifiedNumber,
LabelCode = "",
LabelCode = $"LabelType=FPR^ReceiptNo={newReceiptNo}^WorkOrder={_workOrder}^PartNumber={qcBackEndWorkorder.PartNumber}^LabelFrom=HD",
LabelPrintStatus = "未打印",
StorageLocation = "LS",
QcStatus = "待检验",

View File

@@ -7,7 +7,9 @@ using System.Threading.Tasks;
using ZR.Model.Business;
using ZR.Model.Dto;
using ZR.Model.MES.wms;
using ZR.Model.MES.wms.Dto;
using ZR.Service.Business.IBusinessService;
using ZR.Service.Utils;
namespace ZR.Service.Business
{
@@ -770,12 +772,19 @@ namespace ZR.Service.Business
}
// 箱数
int _packageCount = Context.Queryable<QcGp12RecordLabelScan>().Where(it=>it.WorkOrder == qcGp12Workorder.WorkOrder).Where(it => it.LabelType == 1).Count();
// 工单号
MaterialUtils materialUtils = new MaterialUtils();
ResultionPackageCodeDto packageCodeDto = materialUtils.ResolutionPackage(qcGp12Workorder.Label);
string _workOrder = qcGp12Workorder.WorkOrder;
if (packageCodeDto != null && !string.IsNullOrEmpty(packageCodeDto.WorkoderID))
{
_workOrder = packageCodeDto.WorkoderID;
}
ProFinishedProductReceipt newModel = new() {
ReceiptNo = newReceiptNo,
SiteNo = qcGp12Workorder.SiteNo,
WorkOrder = qcGp12Workorder.WorkOrder,
WorkOrder = _workOrder,
WarehouseCode = "LS",
ReceiptType = "正常入库",
Status = "已提交",
@@ -790,10 +799,10 @@ namespace ZR.Service.Business
ProductionTime = nowTime,
BatchCode = nowTime.ToString("yyyyMMdd"),
Unit = "个",
PackageCode = qcGp12Workorder.WorkOrder,
PackageCode = _workOrder,
PackageCount = _packageCount,
PackageNum = qcGp12Workorder.QualifiedNumber,
LabelCode = $"LabelType=FPR^ReceiptNo={qcGp12Workorder.WorkOrder}^WorkOrder={qcGp12Workorder.WorkOrder}^PartNumber={qcGp12Workorder.PartNumber}^LabelFrom=GP12",
LabelCode = $"LabelType=FPR^ReceiptNo={newReceiptNo}^WorkOrder={_workOrder}^PartNumber={qcGp12Workorder.PartNumber}^LabelFrom=GP12",
LabelPrintStatus = "未打印",
StorageLocation = "LS",
QcStatus = "待检验",