|
|
@@ -318,6 +318,11 @@ namespace Business.ResourceExamineManagement
|
|
|
/// 优先级
|
|
|
/// </summary>
|
|
|
private readonly PriorityAppService _priorityAppService;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 产能检查
|
|
|
+ /// </summary>
|
|
|
+ private readonly ProductExamineAppService _productExamineAppService;
|
|
|
#endregion
|
|
|
|
|
|
#region 构造函数
|
|
|
@@ -405,7 +410,8 @@ namespace Business.ResourceExamineManagement
|
|
|
ISqlRepository<ProdLineDetail> prodLineDetail,
|
|
|
ISqlRepository<ShopCalendarWorkCtr> shopCalendarWorkCtr,
|
|
|
ISqlRepository<QualityLineWorkDetail> qualityLineWorkDetail,
|
|
|
- ISqlRepository<HolidayMaster> holidayMaster
|
|
|
+ ISqlRepository<HolidayMaster> holidayMaster,
|
|
|
+ ProductExamineAppService productExamineAppService
|
|
|
)
|
|
|
{
|
|
|
_mes_technique = mes_technique;
|
|
|
@@ -481,9 +487,10 @@ namespace Business.ResourceExamineManagement
|
|
|
_priorityAppService= priorityAppService;
|
|
|
_rf_serialnumber = rf_serialnumber;
|
|
|
_prodLineDetail = prodLineDetail;
|
|
|
- _shopCalendarWorkCtr= shopCalendarWorkCtr;
|
|
|
- _qualityLineWorkDetail= qualityLineWorkDetail;
|
|
|
- _holidayMaster= holidayMaster;
|
|
|
+ _shopCalendarWorkCtr = shopCalendarWorkCtr;
|
|
|
+ _qualityLineWorkDetail = qualityLineWorkDetail;
|
|
|
+ _holidayMaster = holidayMaster;
|
|
|
+ _productExamineAppService= productExamineAppService;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
@@ -619,10 +626,14 @@ namespace Business.ResourceExamineManagement
|
|
|
//记录订单行的建议交期
|
|
|
KittingTimeDto dto = new KittingTimeDto();
|
|
|
dto.sentry_id = item.Id;
|
|
|
- dto.sys_material_date = dtl.kitting_times;
|
|
|
+ dto.ItemNum = item.item_number;
|
|
|
+ dto.LackQty = getBomList.First(p => p.level == 1).lack_qty;
|
|
|
+ dto.kitting_time = dtl.kitting_times;
|
|
|
kittingTimes.Add(dto);
|
|
|
}
|
|
|
}
|
|
|
+ //计算订单行的建议交期(产能/物料)
|
|
|
+ CalcSuggestDate(sentrys, kittingTimes);
|
|
|
|
|
|
await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
|
|
|
|
|
|
@@ -2360,5 +2371,25 @@ namespace Business.ResourceExamineManagement
|
|
|
RecursionProductStructure(parentItem, phantoms, rtnStructures);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 计算订单行的系统建议交期
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="sentrys"></param>
|
|
|
+ /// <param name="kittingTimes"></param>
|
|
|
+ public async void CalcSuggestDate(List<crm_seorderentry> sentrys, List<KittingTimeDto> kittingTimes)
|
|
|
+ {
|
|
|
+ //获取排产记录
|
|
|
+ List<string> itemNums = sentrys.Select(p=>p.item_number).Distinct().ToList();
|
|
|
+ DateTime eralist = kittingTimes.Min(p => p.kitting_time).Date;
|
|
|
+ List<PeriodSequenceDet> periodSequences = _periodSequenceDet.Select(p => itemNums.Contains(p.ItemNum) && p.PlanDate >= eralist).ToList();
|
|
|
+ _productExamineAppService.periodSequences = periodSequences;
|
|
|
+ if (sentrys.Count() == 0)
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ sentrys = _productExamineAppService.CalcSuggestTime(sentrys, kittingTimes);
|
|
|
+ await _mysql_crm_seorderentry.UpdateManyAsync(sentrys);
|
|
|
+ }
|
|
|
}
|
|
|
}
|