|
|
@@ -3191,11 +3191,11 @@ namespace Business.Replenishment
|
|
|
/// </summary>
|
|
|
/// <param name="input"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<string> CalcTestWeekPlan(InputDto input)
|
|
|
+ public async Task<string> CalcTempWeekPlan(InputDto input)
|
|
|
{
|
|
|
routingOps = _routingOpDetail.Select(p => p.Domain == input.factory_id.ToString()).ToList();
|
|
|
long bang_id = help.NextId();
|
|
|
- var weekplans=_replenishmentWeekPlan.GetListAsync(a=>a.IsReplenishmentModel=="N" && string.IsNullOrEmpty(a.ProductionStatus)).Result;
|
|
|
+ var weekplans=_replenishmentWeekPlan.GetListAsync(a=>a.IsReplenishmentModel=="N" && string.IsNullOrEmpty(a.ProductionStatus) && string.IsNullOrEmpty(a.ProductionOrder) && a.factory_id==input.factory_id).Result;
|
|
|
var itemIds = weekplans.Select(a => a.ItemNumber).Distinct().ToList();
|
|
|
var items = _itemMaster.Select(a => itemIds.Contains(a.ItemNum));
|
|
|
; List<mes_morder> moList = new List<mes_morder>();
|
|
|
@@ -4030,78 +4030,91 @@ namespace Business.Replenishment
|
|
|
/// <param name="domain">工厂编码</param>
|
|
|
/// <returns></returns>
|
|
|
//计算工单优先级
|
|
|
- public List<WorkOrdMaster> CalcPriority(List<string> workOrdMasters,string domain)
|
|
|
- {
|
|
|
- var works= _workOrdMaster.Select(a => workOrdMasters.Contains(a.WorkOrd) && a.Domain == domain && a.IsActive);
|
|
|
- var saleWordOrd = works.Where(a => !string.IsNullOrEmpty(a.SalesJob));
|
|
|
- Dictionary<string, int> dict = new Dictionary<string, int>();
|
|
|
- var soList=_mysql_crm_seorder.GetListAsync(a=> saleWordOrd.Select(b=>b.SalesJob).Contains(a.bill_no)).Result;
|
|
|
+ //public List<WorkOrdMaster> CalcPriority(List<string> workOrdMasters,string domain)
|
|
|
+ //{
|
|
|
+ // var works= _workOrdMaster.Select(a => workOrdMasters.Contains(a.WorkOrd) && a.Domain == domain && a.IsActive);
|
|
|
+ // var saleWordOrd = works.Where(a => !string.IsNullOrEmpty(a.SalesJob));
|
|
|
+ // var soList=_mysql_crm_seorder.GetListAsync(a=> saleWordOrd.Select(b=>b.SalesJob).Contains(a.bill_no)).Result;
|
|
|
|
|
|
- var custList = _custMaster.Select(a => soList.Select(b => b.custom_no).Contains(a.Cust) && a.Domain == domain);
|
|
|
- //T1海外客户
|
|
|
- var T1CustList = custList.FindAll(a => a.Terms == "T1" || a.Terms == "海外").Select(a => a.Cust);
|
|
|
- //国科海王客户
|
|
|
- var T2CustList = custList.FindAll(a => a.Terms == "国科" || a.Terms == "海王").Select(a => a.Cust);
|
|
|
- //T1海外订单
|
|
|
- var T1SOList = soList.Where(a => T1CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
- //国科海王订单
|
|
|
- var T2SOList = soList.Where(a => T2CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
- //T1海外工单
|
|
|
- var T1WOList = saleWordOrd.Where(a => T1SOList.Contains(a.SalesJob)).ToList();
|
|
|
- //国科海王工单
|
|
|
- var T2WOList = saleWordOrd.Where(a => T2SOList.Contains(a.SalesJob)).ToList();
|
|
|
- //在制工单
|
|
|
- var inProductList = _mes_mooccupy.GetListAsync(a => works.Select(a => a.WorkOrd).Contains(a.moo_mo)).Result;
|
|
|
-
|
|
|
- //优先1:T1、海外销售订单新产生的生产指令;
|
|
|
- var T1WOListNew=T1WOList.Where(a=> !inProductList.Select(b=>b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
- //优先2:T1、海外销售订单关联的在制生产指令;
|
|
|
- var T1WOListInProduct = T1WOList.Where(a => inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
- //优先3:平台(国科、海王)销售订单新产生的生产指令;
|
|
|
- var T2WOListNew = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
- //优先4:平台(国科、海王)销售订单关联的在制生产指令;
|
|
|
- var T2WOListInProduct = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
- //优先5:除销售订单以外,计划补货订单关联的生产指令;
|
|
|
- var PlanWOList = works.Except(T1WOListNew).ToList();
|
|
|
- PlanWOList = works.Except(T1WOListInProduct).ToList();
|
|
|
- PlanWOList = works.Except(T2WOListNew).ToList();
|
|
|
- PlanWOList = works.Except(T2WOListInProduct).ToList();
|
|
|
- PlanWOList= PlanWOList.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
- //先按生产指令的类型,再按生产指令的完工日期顺序排产;
|
|
|
+ // var custList = _custMaster.Select(a => soList.Select(b => b.custom_no).Contains(a.Cust) && a.Domain == domain);
|
|
|
+ // //T1海外客户
|
|
|
+ // var T1CustList = custList.FindAll(a => a.Terms == "T1" || a.Terms == "海外").Select(a => a.Cust);
|
|
|
+ // //国科海王客户
|
|
|
+ // var T2CustList = custList.FindAll(a => a.Terms == "国科" || a.Terms == "海王").Select(a => a.Cust);
|
|
|
+ // //T1海外订单
|
|
|
+ // var T1SOList = soList.Where(a => T1CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
+ // //国科海王订单
|
|
|
+ // var T2SOList = soList.Where(a => T2CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
+ // //T1海外工单
|
|
|
+ // var T1WOList = saleWordOrd.Where(a => T1SOList.Contains(a.SalesJob)).ToList();
|
|
|
+ // //国科海王工单
|
|
|
+ // var T2WOList = saleWordOrd.Where(a => T2SOList.Contains(a.SalesJob)).ToList();
|
|
|
+ // //在制工单
|
|
|
+ // var inProductList = _mes_mooccupy.GetListAsync(a => works.Select(a => a.WorkOrd).Contains(a.moo_mo)).Result;
|
|
|
+
|
|
|
+ // //优先1:T1、海外销售订单新产生的生产指令;
|
|
|
+ // var T1WOListNew=T1WOList.Where(a=> !inProductList.Select(b=>b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
+ // //优先2:T1、海外销售订单关联的在制生产指令;
|
|
|
+ // var T1WOListInProduct = T1WOList.Where(a => inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
+ // //优先3:平台(国科、海王)销售订单新产生的生产指令;
|
|
|
+ // var T2WOListNew = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
+ // //优先4:平台(国科、海王)销售订单关联的在制生产指令;
|
|
|
+ // var T2WOListInProduct = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
+ // //优先5:除销售订单以外,计划补货订单关联的生产指令;
|
|
|
+ // var PlanWOList = works.Except(T1WOListNew).ToList();
|
|
|
+ // PlanWOList = works.Except(T1WOListInProduct).ToList();
|
|
|
+ // PlanWOList = works.Except(T2WOListNew).ToList();
|
|
|
+ // PlanWOList = works.Except(T2WOListInProduct).ToList();
|
|
|
+ // PlanWOList= PlanWOList.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
+ // //先按生产指令的类型,再按生产指令的完工日期顺序排产;
|
|
|
+ // List<WorkOrdMaster> orderedList = new List<WorkOrdMaster>();
|
|
|
+ // decimal Priority = 1.0m;
|
|
|
+ // for (int i=0;i< T1WOListNew.Count;i++)
|
|
|
+ // {
|
|
|
+ // T1WOListNew[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T1WOListNew[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < T1WOListInProduct.Count; i++)
|
|
|
+ // {
|
|
|
+ // T1WOListInProduct[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T1WOListInProduct[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < T2WOListNew.Count; i++)
|
|
|
+ // {
|
|
|
+ // T2WOListNew[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T2WOListNew[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < T2WOListInProduct.Count; i++)
|
|
|
+ // {
|
|
|
+ // T2WOListInProduct[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T2WOListInProduct[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < PlanWOList.Count; i++)
|
|
|
+ // {
|
|
|
+ // PlanWOList[i].Priority = Priority;
|
|
|
+ // orderedList.Add(PlanWOList[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+ // return orderedList;
|
|
|
+ //}
|
|
|
+ public List<WorkOrdMaster> CalcPriority(List<string> workOrdMasters, string domain)
|
|
|
+ {
|
|
|
+ var works = _workOrdMaster.Select(a => workOrdMasters.Contains(a.WorkOrd) && a.Domain == domain && a.IsActive);
|
|
|
+ works = works.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
List<WorkOrdMaster> orderedList = new List<WorkOrdMaster>();
|
|
|
decimal Priority = 1.0m;
|
|
|
- for (int i=0;i< T1WOListNew.Count;i++)
|
|
|
- {
|
|
|
- T1WOListNew[i].Priority = Priority;
|
|
|
- orderedList.Add(T1WOListNew[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < T1WOListInProduct.Count; i++)
|
|
|
- {
|
|
|
- T1WOListInProduct[i].Priority = Priority;
|
|
|
- orderedList.Add(T1WOListInProduct[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < T2WOListNew.Count; i++)
|
|
|
- {
|
|
|
- T2WOListNew[i].Priority = Priority;
|
|
|
- orderedList.Add(T2WOListNew[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < T2WOListInProduct.Count; i++)
|
|
|
- {
|
|
|
- T2WOListInProduct[i].Priority = Priority;
|
|
|
- orderedList.Add(T2WOListInProduct[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < PlanWOList.Count; i++)
|
|
|
+ for (int i = 0; i < works.Count; i++)
|
|
|
{
|
|
|
- PlanWOList[i].Priority = Priority;
|
|
|
- orderedList.Add(PlanWOList[i]);
|
|
|
+ works[i].Priority = Priority;
|
|
|
+ orderedList.Add(works[i]);
|
|
|
Priority = Priority + 1.0m;
|
|
|
}
|
|
|
return orderedList;
|
|
|
@@ -4114,76 +4127,90 @@ namespace Business.Replenishment
|
|
|
/// <param name="domain">工厂编码</param>
|
|
|
/// <returns></returns>
|
|
|
//计算工单优先级
|
|
|
+ //public List<WorkOrdMaster> CalcPriority(List<WorkOrdMaster> works, string domain)
|
|
|
+ //{
|
|
|
+ // var saleWordOrd = works.Where(a => !string.IsNullOrEmpty(a.SalesJob));
|
|
|
+ // var soList = _mysql_crm_seorder.GetListAsync(a => saleWordOrd.Select(b => b.SalesJob).Contains(a.bill_no)).Result;
|
|
|
+
|
|
|
+ // var custList = _custMaster.Select(a => soList.Select(b => b.custom_no).Contains(a.Cust) && a.Domain == domain);
|
|
|
+ // //T1海外客户
|
|
|
+ // var T1CustList = custList.FindAll(a => a.Terms == "T1" || a.Terms == "海外").Select(a => a.Cust);
|
|
|
+ // //国科海王客户
|
|
|
+ // var T2CustList = custList.FindAll(a => a.Terms == "国科" || a.Terms == "海王").Select(a => a.Cust);
|
|
|
+ // //T1海外订单
|
|
|
+ // var T1SOList = soList.Where(a => T1CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
+ // //国科海王订单
|
|
|
+ // var T2SOList = soList.Where(a => T2CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
+ // //T1海外工单
|
|
|
+ // var T1WOList = saleWordOrd.Where(a => T1SOList.Contains(a.SalesJob)).ToList();
|
|
|
+ // //国科海王工单
|
|
|
+ // var T2WOList = saleWordOrd.Where(a => T2SOList.Contains(a.SalesJob)).ToList();
|
|
|
+ // //在制工单
|
|
|
+ // var inProductList = _mes_mooccupy.GetListAsync(a => works.Select(a => a.WorkOrd).Contains(a.moo_mo)).Result;
|
|
|
+
|
|
|
+ // //优先1:T1、海外销售订单新产生的生产指令;
|
|
|
+ // var T1WOListNew = T1WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
+ // //优先2:T1、海外销售订单关联的在制生产指令;
|
|
|
+ // var T1WOListInProduct = T1WOList.Where(a => inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
+ // //优先3:平台(国科、海王)销售订单新产生的生产指令;
|
|
|
+ // var T2WOListNew = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
+ // //优先4:平台(国科、海王)销售订单关联的在制生产指令;
|
|
|
+ // var T2WOListInProduct = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
+ // //优先5:除销售订单以外,计划补货订单关联的生产指令;
|
|
|
+ // var PlanWOList = works.Except(T1WOListNew).ToList();
|
|
|
+ // PlanWOList = works.Except(T1WOListInProduct).ToList();
|
|
|
+ // PlanWOList = works.Except(T2WOListNew).ToList();
|
|
|
+ // PlanWOList = works.Except(T2WOListInProduct).ToList();
|
|
|
+ // PlanWOList = PlanWOList.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
+ // //先按生产指令的类型,再按生产指令的完工日期顺序排产;
|
|
|
+ // List<WorkOrdMaster> orderedList = new List<WorkOrdMaster>();
|
|
|
+ // decimal Priority = 1.0m;
|
|
|
+ // for (int i = 0; i < T1WOListNew.Count; i++)
|
|
|
+ // {
|
|
|
+ // T1WOListNew[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T1WOListNew[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < T1WOListInProduct.Count; i++)
|
|
|
+ // {
|
|
|
+ // T1WOListInProduct[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T1WOListInProduct[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < T2WOListNew.Count; i++)
|
|
|
+ // {
|
|
|
+ // T2WOListNew[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T2WOListNew[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < T2WOListInProduct.Count; i++)
|
|
|
+ // {
|
|
|
+ // T2WOListInProduct[i].Priority = Priority;
|
|
|
+ // orderedList.Add(T2WOListInProduct[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+
|
|
|
+ // for (int i = 0; i < PlanWOList.Count; i++)
|
|
|
+ // {
|
|
|
+ // PlanWOList[i].Priority = Priority;
|
|
|
+ // orderedList.Add(PlanWOList[i]);
|
|
|
+ // Priority = Priority + 1.0m;
|
|
|
+ // }
|
|
|
+ // return orderedList;
|
|
|
+ //}
|
|
|
public List<WorkOrdMaster> CalcPriority(List<WorkOrdMaster> works, string domain)
|
|
|
{
|
|
|
- var saleWordOrd = works.Where(a => !string.IsNullOrEmpty(a.SalesJob));
|
|
|
- var soList = _mysql_crm_seorder.GetListAsync(a => saleWordOrd.Select(b => b.SalesJob).Contains(a.bill_no)).Result;
|
|
|
-
|
|
|
- var custList = _custMaster.Select(a => soList.Select(b => b.custom_no).Contains(a.Cust) && a.Domain == domain);
|
|
|
- //T1海外客户
|
|
|
- var T1CustList = custList.FindAll(a => a.Terms == "T1" || a.Terms == "海外").Select(a => a.Cust);
|
|
|
- //国科海王客户
|
|
|
- var T2CustList = custList.FindAll(a => a.Terms == "国科" || a.Terms == "海王").Select(a => a.Cust);
|
|
|
- //T1海外订单
|
|
|
- var T1SOList = soList.Where(a => T1CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
- //国科海王订单
|
|
|
- var T2SOList = soList.Where(a => T2CustList.Contains(a.custom_no)).Select(a => a.bill_no);
|
|
|
- //T1海外工单
|
|
|
- var T1WOList = saleWordOrd.Where(a => T1SOList.Contains(a.SalesJob)).ToList();
|
|
|
- //国科海王工单
|
|
|
- var T2WOList = saleWordOrd.Where(a => T2SOList.Contains(a.SalesJob)).ToList();
|
|
|
- //在制工单
|
|
|
- var inProductList = _mes_mooccupy.GetListAsync(a => works.Select(a => a.WorkOrd).Contains(a.moo_mo)).Result;
|
|
|
-
|
|
|
- //优先1:T1、海外销售订单新产生的生产指令;
|
|
|
- var T1WOListNew = T1WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
- //优先2:T1、海外销售订单关联的在制生产指令;
|
|
|
- var T1WOListInProduct = T1WOList.Where(a => inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
- //优先3:平台(国科、海王)销售订单新产生的生产指令;
|
|
|
- var T2WOListNew = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
- //优先4:平台(国科、海王)销售订单关联的在制生产指令;
|
|
|
- var T2WOListInProduct = T2WOList.Where(a => !inProductList.Select(b => b.moo_mo).Contains(a.WorkOrd))?.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
- //优先5:除销售订单以外,计划补货订单关联的生产指令;
|
|
|
- var PlanWOList = works.Except(T1WOListNew).ToList();
|
|
|
- PlanWOList = works.Except(T1WOListInProduct).ToList();
|
|
|
- PlanWOList = works.Except(T2WOListNew).ToList();
|
|
|
- PlanWOList = works.Except(T2WOListInProduct).ToList();
|
|
|
- PlanWOList = PlanWOList.OrderBy(a => a.DueDate).ThenBy(a=>a.OrdDate).ToList();
|
|
|
+ works = works.OrderBy(a => a.DueDate).ThenBy(a => a.OrdDate).ToList();
|
|
|
//先按生产指令的类型,再按生产指令的完工日期顺序排产;
|
|
|
List<WorkOrdMaster> orderedList = new List<WorkOrdMaster>();
|
|
|
decimal Priority = 1.0m;
|
|
|
- for (int i = 0; i < T1WOListNew.Count; i++)
|
|
|
+ for (int i = 0; i < works.Count; i++)
|
|
|
{
|
|
|
- T1WOListNew[i].Priority = Priority;
|
|
|
- orderedList.Add(T1WOListNew[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < T1WOListInProduct.Count; i++)
|
|
|
- {
|
|
|
- T1WOListInProduct[i].Priority = Priority;
|
|
|
- orderedList.Add(T1WOListInProduct[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < T2WOListNew.Count; i++)
|
|
|
- {
|
|
|
- T2WOListNew[i].Priority = Priority;
|
|
|
- orderedList.Add(T2WOListNew[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < T2WOListInProduct.Count; i++)
|
|
|
- {
|
|
|
- T2WOListInProduct[i].Priority = Priority;
|
|
|
- orderedList.Add(T2WOListInProduct[i]);
|
|
|
- Priority = Priority + 1.0m;
|
|
|
- }
|
|
|
-
|
|
|
- for (int i = 0; i < PlanWOList.Count; i++)
|
|
|
- {
|
|
|
- PlanWOList[i].Priority = Priority;
|
|
|
- orderedList.Add(PlanWOList[i]);
|
|
|
+ works[i].Priority = Priority;
|
|
|
+ orderedList.Add(works[i]);
|
|
|
Priority = Priority + 1.0m;
|
|
|
}
|
|
|
return orderedList;
|
|
|
@@ -4587,7 +4614,8 @@ namespace Business.Replenishment
|
|
|
{
|
|
|
_businessDbContext.BulkUpdate(mo_Mes_Morders);
|
|
|
//长周期都是成品检查,生成的都是中间件工单,不需要写入;周计划包含中间件工单,需要写入
|
|
|
- if (_CalcBomViewAppService.mordersInsertList.Any() && string.IsNullOrEmpty(analogCalcVersion))
|
|
|
+ //长周期也需要写入,加字段版本区分
|
|
|
+ if (_CalcBomViewAppService.mordersInsertList.Any())
|
|
|
{
|
|
|
var molist = ObjectMapper.Map<List<mo_mes_morder>, List<mes_morder>>(_CalcBomViewAppService.mordersInsertList);
|
|
|
_businessDbContext.BulkInsert(molist);
|
|
|
@@ -4602,6 +4630,7 @@ namespace Business.Replenishment
|
|
|
CreateWorkOrdDates(molist, routingOps, workOrdSave, workOrdRoutingSave, workOrdDetails, new List<b_examine_result>(), new List<b_bom_child_examine>());
|
|
|
if (workOrdSave.Any())
|
|
|
{
|
|
|
+ workOrdSave.ForEach(a => { a.AnalogCalcVersion = analogCalcVersion; });
|
|
|
workOrdSave = CalcPriority(workOrdSave, input.factoryId.ToString());
|
|
|
_businessDbContext.BulkInsert(workOrdSave);
|
|
|
}
|
|
|
@@ -5508,6 +5537,7 @@ namespace Business.Replenishment
|
|
|
list.Add("UpdateWeeks");
|
|
|
list.Add("WeekPlanUpdateDay");
|
|
|
list.Add("LongPeriodDay");
|
|
|
+ list.Add("IsUseROP");
|
|
|
var configList = _generalizedCodeMaster.Select(a => a.Domain == domain && a.FldName == "SystemConfig" && list.Contains(a.Val));
|
|
|
|
|
|
ReplenishmentDto replenishmentDto = new ReplenishmentDto();
|
|
|
@@ -5519,6 +5549,7 @@ namespace Business.Replenishment
|
|
|
replenishmentDto.UpdateWeeks = 12;
|
|
|
replenishmentDto.WeekPlanUpdateDay = 7;//每周日更新
|
|
|
replenishmentDto.LongPeriodDay = 60;
|
|
|
+ replenishmentDto.IsUseROP = "否";
|
|
|
if (configList?.Find(a => a.Val == "HistoryOutStockMonth") != null)
|
|
|
{
|
|
|
replenishmentDto.HistoryOutStockMonth = (int)configList?.Find(a => a.Val == "HistoryOutStockMonth").UDeci1;
|
|
|
@@ -5591,6 +5622,11 @@ namespace Business.Replenishment
|
|
|
{
|
|
|
replenishmentDto.LongPeriodDay = (int)configList?.Find(a => a.Val == "LongPeriodDay").UDeci1;
|
|
|
}
|
|
|
+
|
|
|
+ if (configList?.Find(a => a.Val == "IsUseROP") != null)
|
|
|
+ {
|
|
|
+ replenishmentDto.IsUseROP =configList?.Find(a => a.Val == "IsUseROP").Ufld1;
|
|
|
+ }
|
|
|
return replenishmentDto;
|
|
|
}
|
|
|
|