feat(材料管理): 添加炉号字段并优化工单排序逻辑

在材料相关的DTO和服务中添加StoveCode字段以支持炉号记录
优化工单导入服务中的排序逻辑,处理空值情况
调整报表流程服务中的材料查询和更新逻辑
This commit is contained in:
2026-02-11 14:38:04 +08:00
parent 0885d26796
commit 9e096214c7
7 changed files with 41 additions and 20 deletions

View File

@@ -102,7 +102,7 @@ public class ReportFlowService : BaseService<ProReportwork01>, IReportFlowServic
.Queryable<MmRecordInbound>()
.Where(it => it.BatchNo == feed_order)
.Where(it => it.TransactionType == "采购入库")
.Where(it => it.Remarks != "已撤销")
.Where(it => it.Remarks == null || it.Remarks != "已撤销")
.First();
if (purchaseInfo != null)
{
@@ -113,6 +113,12 @@ public class ReportFlowService : BaseService<ProReportwork01>, IReportFlowServic
throw new Exception($"未找到原材料采购批号:{feed_order}");
}
Context.Ado.BeginTran();
Context
.Updateable<ProWorkorder>()
.Where(it => it.Workorder == workorder)
.SetColumns(it => it.StoveCode == stoveCode)
.SetColumns(it => it.FeedOrder == feed_order)
.ExecuteCommand();
if (Exist)
{
result = Context
@@ -125,12 +131,6 @@ public class ReportFlowService : BaseService<ProReportwork01>, IReportFlowServic
.SetColumns(it => it.UpdatedBy == Worker)
.SetColumns(it => it.UpdatedTime == DateTime.Now)
.ExecuteCommand();
Context
.Updateable<ProWorkorder>()
.Where(it => it.Workorder == workorder)
.SetColumns(it => it.StoveCode == stove_code)
.SetColumns(it => it.FeedOrder == feed_order)
.ExecuteCommand();
}
else
{
@@ -145,12 +145,6 @@ public class ReportFlowService : BaseService<ProReportwork01>, IReportFlowServic
proReportwork01.CreatedBy = Worker;
proReportwork01.CreatedTime = DateTime.Now;
result = Context.Insertable(proReportwork01).ExecuteCommand();
Context
.Updateable<ProWorkorder>()
.Where(it => it.Workorder == workorder)
.SetColumns(it => it.StoveCode == stove_code)
.SetColumns(it => it.FeedOrder == feed_order)
.ExecuteCommand();
}
//XXX 领料出库操作(上边代码先不动)
MmRecordOutbound outRecordbound = Context
@@ -226,6 +220,7 @@ public class ReportFlowService : BaseService<ProReportwork01>, IReportFlowServic
MaterialCode = proWorkorder.MaterialCode,
SupplierCode = supplierCode,
BatchNo = feed_order,
StoveCode = stoveCode,
LocationCode = "YCL001",
WarehouseCode = "WH003",
OrderNo = proWorkorder.CustomerOrder,