diff --git a/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs b/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs
index 6dd6782..82ec9f2 100644
--- a/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs
+++ b/DOAN.Model/MES/Material/Dto/MmRecordOutboundDto.cs
@@ -117,6 +117,7 @@ namespace DOAN.Model.BZFM.Dto
public string TransactionType { get; set; }
public string BatchNo { get; set; }
+ public string StoveCode { get; set; }
public string OrderNo { get; set; }
@@ -171,6 +172,10 @@ namespace DOAN.Model.BZFM.Dto
[SugarColumn(ColumnName = "batch_no")]
public string BatchNo { get; set; }
+ [ExcelColumn(Name = "炉号")]
+ [SugarColumn(ColumnName = "stove_code")]
+ public string StoveCode { get; set; }
+
[ExcelColumn(Name = "出库数量")]
[SugarColumn(ColumnName = "quantity")]
public decimal Quantity { get; set; }
diff --git a/DOAN.Model/MES/Material/MmRecordOutbound.cs b/DOAN.Model/MES/Material/MmRecordOutbound.cs
index 7ad371c..701b6af 100644
--- a/DOAN.Model/MES/Material/MmRecordOutbound.cs
+++ b/DOAN.Model/MES/Material/MmRecordOutbound.cs
@@ -89,6 +89,12 @@ namespace DOAN.Model.BZFM
[SugarColumn(ColumnName = "batch_no")]
public string BatchNo { get; set; }
+ ///
+ /// 炉号
+ ///
+ [SugarColumn(ColumnName = "stove_code")]
+ public string StoveCode { get; set; }
+
///
/// 关联订单号
///
diff --git a/DOAN.Model/MES/Product/Dto/WorkorderMaterialDto.cs b/DOAN.Model/MES/Product/Dto/WorkorderMaterialDto.cs
index 2f63f38..3fb7589 100644
--- a/DOAN.Model/MES/Product/Dto/WorkorderMaterialDto.cs
+++ b/DOAN.Model/MES/Product/Dto/WorkorderMaterialDto.cs
@@ -36,6 +36,11 @@ namespace DOAN.Model.MES.product.Dto
///
public string BatchNo { get; set; }
+ ///
+ /// 炉号
+ ///
+ public string StoveCode { get; set; }
+
///
/// 数量
///
diff --git a/DOAN.Service/MES/Material/MmInventoryService.cs b/DOAN.Service/MES/Material/MmInventoryService.cs
index 7107173..4cf1b70 100644
--- a/DOAN.Service/MES/Material/MmInventoryService.cs
+++ b/DOAN.Service/MES/Material/MmInventoryService.cs
@@ -377,6 +377,7 @@ namespace DOAN.Service.BZFM
{
OutboundNo = outboundNo,
BatchNo = parm.BatchNo,
+ StoveCode = parm.
Operator = parm.Operator,
MaterialCode = mmMaterial.MaterialCode,
MaterialName = mmMaterial.MaterialName,
@@ -453,6 +454,7 @@ namespace DOAN.Service.BZFM
{
OutboundNo = outboundNo,
BatchNo = parm.BatchNo,
+ StoveCode = parm.StoveCode,
Operator = parm.Operator,
MaterialCode = mmInventory.MaterialCode,
MaterialName = mmInventory.MaterialName,
diff --git a/DOAN.Service/MES/Product/ProWorkorderImportService.cs b/DOAN.Service/MES/Product/ProWorkorderImportService.cs
index 0a02da1..383dd8d 100644
--- a/DOAN.Service/MES/Product/ProWorkorderImportService.cs
+++ b/DOAN.Service/MES/Product/ProWorkorderImportService.cs
@@ -88,7 +88,7 @@ namespace DOAN.Service.MES.product
/// 最大编号索引
private int GetMaxWorkorderIndex(string productionCode, DateTime dateValue)
{
- var maxIndex = Context
+ var workorderNumbers = Context
.Queryable()
.Where(it => it.WorkorderDate == dateValue.Date)
.Where(it => it.productionCode == productionCode)
@@ -102,9 +102,10 @@ namespace DOAN.Service.MES.product
return index;
return 0;
})
- .Max();
+ .ToList();
- return maxIndex;
+ // 如果没有找到记录,返回0
+ return workorderNumbers.Count > 0 ? workorderNumbers.Max() : 0;
}
///
@@ -425,11 +426,14 @@ namespace DOAN.Service.MES.product
.ToList();
// 获取所有工单的最大sort值,用于后续排序
- var maxSort = Context
+ var maxSortNullable = Context
.Queryable()
.Where(it => it.WorkorderDate == dateValue.Date)
//.Select(it => it.Sort)
- .Max(it => it.Sort).Value;
+ .Max(it => it.Sort);
+
+ // 如果没有找到记录,设置默认值0
+ int maxSort = maxSortNullable.HasValue ? maxSortNullable.Value : 0;
// 从maxSort + 10开始,确保sort值按10、20、30...递增
int currentSort = (maxSort / 10) * 10 + 10;
@@ -511,11 +515,14 @@ namespace DOAN.Service.MES.product
var productionCodeGroups = workorderList.GroupBy(w => w.productionCode).ToList();
// 获取所有工单的最大sort值,用于后续排序
- var maxSort = Context
+ var maxSortNullable = Context
.Queryable()
.Where(it => it.WorkorderDate == dateValue.Date)
//.Select(it => it.Sort)
- .Max(it => it.Sort).Value;
+ .Max(it => it.Sort);
+
+ // 如果没有找到记录,设置默认值0
+ int maxSort = maxSortNullable.HasValue ? maxSortNullable.Value : 0;
// 从maxSort + 10开始,确保sort值按10、20、30...递增
int currentSort = (maxSort / 10) * 10 + 10;
diff --git a/DOAN.Service/MES/Product/ProWorkorderMaterialService.cs b/DOAN.Service/MES/Product/ProWorkorderMaterialService.cs
index e06c39d..f18fa8d 100644
--- a/DOAN.Service/MES/Product/ProWorkorderMaterialService.cs
+++ b/DOAN.Service/MES/Product/ProWorkorderMaterialService.cs
@@ -45,6 +45,7 @@ namespace DOAN.Service.MES.product
SupplierCode = it.SupplierCode,
SupplierName = it.SupplierName,
BatchNo = it.BatchNo,
+ StoveCode = it.StoveCode,
Quantity = it.Quantity,
Unit = it.Unit,
CreatedTime = it.CreatedTime.Value,
diff --git a/DOAN.Service/Mobile/ReportFlowService.cs b/DOAN.Service/Mobile/ReportFlowService.cs
index 66db150..61883d8 100644
--- a/DOAN.Service/Mobile/ReportFlowService.cs
+++ b/DOAN.Service/Mobile/ReportFlowService.cs
@@ -102,7 +102,7 @@ public class ReportFlowService : BaseService, IReportFlowServic
.Queryable()
.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, IReportFlowServic
throw new Exception($"未找到原材料采购批号:{feed_order}");
}
Context.Ado.BeginTran();
+ Context
+ .Updateable()
+ .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, IReportFlowServic
.SetColumns(it => it.UpdatedBy == Worker)
.SetColumns(it => it.UpdatedTime == DateTime.Now)
.ExecuteCommand();
- Context
- .Updateable()
- .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, IReportFlowServic
proReportwork01.CreatedBy = Worker;
proReportwork01.CreatedTime = DateTime.Now;
result = Context.Insertable(proReportwork01).ExecuteCommand();
- Context
- .Updateable()
- .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, IReportFlowServic
MaterialCode = proWorkorder.MaterialCode,
SupplierCode = supplierCode,
BatchNo = feed_order,
+ StoveCode = stoveCode,
LocationCode = "YCL001",
WarehouseCode = "WH003",
OrderNo = proWorkorder.CustomerOrder,