|
|
@@ -3476,6 +3476,68 @@ namespace Business.Replenishment
|
|
|
return "OK";
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 勾选发布周计划
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="input"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task<string> SelectPublishWeekPlan(string ids, string factoryid)
|
|
|
+ {
|
|
|
+ List<long> idList = AnalysisIdList(ids);
|
|
|
+ //主工单发布,子工单需要一起发布
|
|
|
+ var weekPlan = _replenishmentWeekPlan.GetListAsync(a => idList.Contains(a.Id) && a.IsReplenishmentModel == "N" && string.IsNullOrEmpty(a.ProductionStatus) && a.factory_id.ToString()== factoryid).Result.OrderBy(a => a.Priority).ToList();
|
|
|
+ List<mes_morder> mes_Morders = _mysql_mes_morder.GetListAsync(a => weekPlan.Select(p => p.ProductionOrder).ToList().Contains(a.morder_no) && a.factory_id.ToString() == factoryid).Result;
|
|
|
+ if (mes_Morders != null && mes_Morders.Count > 0)
|
|
|
+ {
|
|
|
+ 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)
|
|
|
+ {
|
|
|
+ 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);
|
|
|
+ decimal priority = 1;
|
|
|
+ for (int i = 0; i < weekPlan.Count; i++)
|
|
|
+ {
|
|
|
+ weekPlan[i].ProductionStatus = "已发布";
|
|
|
+ weekPlan[i].Priority = priority;
|
|
|
+ workMasters.ForEach(b =>
|
|
|
+ {
|
|
|
+ if (b.ItemNum == weekPlan[i].ItemNumber && b.WorkOrd == weekPlan[i].ProductionOrder)
|
|
|
+ {
|
|
|
+ b.Priority = priority;
|
|
|
+ b.Status = "p";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ mes_Morders.ForEach(c =>
|
|
|
+ {
|
|
|
+ c.morder_state = MorderEnum.Initial_state;
|
|
|
+ });
|
|
|
+ priority++;
|
|
|
+ }
|
|
|
+ _workOrdMaster.Update(workMasters);
|
|
|
+ await _businessDbContext.BulkUpdateAsync(mes_Morders);
|
|
|
+ await _businessDbContext.BulkUpdateAsync(weekPlan);
|
|
|
+
|
|
|
+ return "OK";
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<long> AnalysisIdList(string ids)
|
|
|
+ {
|
|
|
+ if (string.IsNullOrEmpty(ids))
|
|
|
+ {
|
|
|
+ throw new NotImplementedException("传入参数不正确,请选择");
|
|
|
+ }
|
|
|
+ Array alist = ids.Split(',');
|
|
|
+ List<long> idList = new List<long>();
|
|
|
+ foreach (string longid in alist)
|
|
|
+ {
|
|
|
+ idList.Add(long.Parse(longid));
|
|
|
+ }
|
|
|
+ return idList;
|
|
|
+ }
|
|
|
+
|
|
|
/// <summary>
|
|
|
/// 每天补货
|
|
|
/// </summary>
|