feat(材料管理): 添加炉号字段并优化工单排序逻辑
在材料相关的DTO和服务中添加StoveCode字段以支持炉号记录 优化工单导入服务中的排序逻辑,处理空值情况 调整报表流程服务中的材料查询和更新逻辑
This commit is contained in:
@@ -88,7 +88,7 @@ namespace DOAN.Service.MES.product
|
||||
/// <returns>最大编号索引</returns>
|
||||
private int GetMaxWorkorderIndex(string productionCode, DateTime dateValue)
|
||||
{
|
||||
var maxIndex = Context
|
||||
var workorderNumbers = Context
|
||||
.Queryable<ProWorkorder>()
|
||||
.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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -425,11 +426,14 @@ namespace DOAN.Service.MES.product
|
||||
.ToList();
|
||||
|
||||
// 获取所有工单的最大sort值,用于后续排序
|
||||
var maxSort = Context
|
||||
var maxSortNullable = Context
|
||||
.Queryable<ProWorkorder>()
|
||||
.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<ProWorkorder>()
|
||||
.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;
|
||||
|
||||
Reference in New Issue
Block a user