|
|
@@ -3572,22 +3572,49 @@ namespace Business.Replenishment
|
|
|
mes_Morders.AddRange(mes_Morders_sub);
|
|
|
}
|
|
|
}
|
|
|
- List<WorkOrdMaster> workMasters = _workOrdMaster.Select(a => mes_Morders.Select(m => m.morder_no).ToList().Contains(a.WorkOrd) && a.Domain == factoryid);
|
|
|
- for (int i = 0; i < weekPlan.Count; i++)
|
|
|
+ else
|
|
|
{
|
|
|
- weekPlan[i].ProductionStatus = "已发布";
|
|
|
- workMasters.ForEach(b =>
|
|
|
+ //非补货计划关联的工单发布
|
|
|
+ mes_Morders = _mysql_mes_morder.GetListAsync(a => idList.Contains(a.Id) && a.factory_id.ToString() == factoryid).Result;
|
|
|
+ if (mes_Morders != null && mes_Morders.Count > 0)
|
|
|
{
|
|
|
- if (b.ItemNum == weekPlan[i].ItemNumber && b.WorkOrd == weekPlan[i].ProductionOrder)
|
|
|
+ List<mes_morder> mes_Morders_sub = _mysql_mes_morder.GetListAsync(a => mes_Morders.Select(p => p.Id).ToList().Contains(a.parent_id.GetValueOrDefault()) && a.factory_id.ToString() == factoryid).Result;
|
|
|
+ if (mes_Morders_sub != null && mes_Morders_sub.Count > 0)
|
|
|
{
|
|
|
- b.Status = "p";
|
|
|
+ mes_Morders.AddRange(mes_Morders_sub);
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<WorkOrdMaster> workMasters = _workOrdMaster.Select(a => mes_Morders.Select(m => m.morder_no).ToList().Contains(a.WorkOrd) && a.Domain == factoryid);
|
|
|
+ if (weekPlan.Count == 0)
|
|
|
+ {
|
|
|
+ workMasters.ForEach(b =>
|
|
|
+ {
|
|
|
+ b.Status = "p";
|
|
|
});
|
|
|
mes_Morders.ForEach(c =>
|
|
|
{
|
|
|
c.morder_state = MorderEnum.Initial_state;
|
|
|
});
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ for (int i = 0; i < weekPlan.Count; i++)
|
|
|
+ {
|
|
|
+ weekPlan[i].ProductionStatus = "已发布";
|
|
|
+ workMasters.ForEach(b =>
|
|
|
+ {
|
|
|
+ if (b.ItemNum == weekPlan[i].ItemNumber && b.WorkOrd == weekPlan[i].ProductionOrder)
|
|
|
+ {
|
|
|
+ b.Status = "p";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ mes_Morders.ForEach(c =>
|
|
|
+ {
|
|
|
+ c.morder_state = MorderEnum.Initial_state;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
//发布计划订单产生的工单
|
|
|
List<mes_morder> planMo = _mysql_mes_morder.GetListAsync(a => idList.Contains(a.Id) && string.IsNullOrEmpty(a.morder_state) && a.factory_id.ToString() == factoryid).Result;
|
|
|
if (planMo != null)
|