|
|
@@ -5912,36 +5912,51 @@ namespace Business.Replenishment
|
|
|
_businessDbContext.BulkUpdate(mysqlStock);
|
|
|
}
|
|
|
|
|
|
- public async Task<string> DeleteWeekPlan(string productorder, long factory_id)
|
|
|
+ public async Task<string> DeleteWeekPlan(long weekplanid,string productorder, long factory_id)
|
|
|
{
|
|
|
- //判断是否下达
|
|
|
- var workord=_workOrdMaster.Select(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
- if(workord.Count > 0 )
|
|
|
+ //2023/12/16 所有工单类型都能删除,中间件由业务人员自行处理
|
|
|
+ var weekplan =_replenishmentWeekPlan.GetListAsync(a =>a.Id==weekplanid && a.ProductionOrder == productorder && a.factory_id == factory_id &&a.IsReplenishmentModel=="N").Result;
|
|
|
+ var workords=_workOrdMaster.Select(a => a.RecID == weekplanid && a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
+ if (weekplan.Count==0 && workords.Count==0)
|
|
|
+ return "Fail|周计划或工单不存在";
|
|
|
+
|
|
|
+ if(string.IsNullOrEmpty(productorder))
|
|
|
+ {
|
|
|
+ //未同步生产周计划工单,只需要删除导入的周计划
|
|
|
+ await _replenishmentWeekPlan.HardDeleteAsync(a => a.Id == weekplanid && a.ProductionOrder == productorder && a.factory_id == factory_id && a.IsReplenishmentModel=="N");
|
|
|
+ return "OK|删除成功";
|
|
|
+ }else
|
|
|
{
|
|
|
- //未下达的工单才可以删除,也就是初始或者已发布的工单
|
|
|
- if (string.IsNullOrEmpty(workord[0].Status) || workord[0].Status.ToLower()!="p")
|
|
|
+ //判断是否下达
|
|
|
+ var workord = _workOrdMaster.Select(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
+ if (workord.Count > 0)
|
|
|
{
|
|
|
- await _replenishmentWeekPlan.HardDeleteAsync(a => a.ProductionOrder == productorder && a.factory_id == factory_id);
|
|
|
- await _mysql_mes_morder.HardDeleteAsync(a => a.morder_no == productorder && a.factory_id == factory_id);
|
|
|
- await _mysql_mes_moentry.HardDeleteAsync(a => a.moentry_mono == productorder && a.factory_id == factory_id);
|
|
|
- _workOrdMaster.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
- _workOrdDetail.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
- _workOrdRouting.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
- _scheduleResultOpMaster.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
- _periodSequenceDet.Delete(a => a.WorkOrds == productorder && a.Domain == factory_id.ToString());
|
|
|
- await _mysql_srm_pr_main_occupy.DeleteAsync(a => a.morder_mo == productorder && a.factory_id == factory_id);
|
|
|
- await _mysql_srm_po_occupy.DeleteAsync(a => a.morder_mo == productorder && a.factory_id == factory_id);
|
|
|
- await _mysql_mes_mooccupy.DeleteAsync(a => a.moo_mo == productorder && a.factory_id == factory_id);
|
|
|
-
|
|
|
- return "OK|删除成功";
|
|
|
+ //未下达的工单才可以删除,也就是初始或者已发布的工单
|
|
|
+ if (string.IsNullOrEmpty(workord[0].Status) || workord[0].Status.ToLower() != "p")
|
|
|
+ {
|
|
|
+ await _replenishmentWeekPlan.HardDeleteAsync(a => a.ProductionOrder == productorder && a.factory_id == factory_id);
|
|
|
+ await _mysql_mes_morder.HardDeleteAsync(a => a.morder_no == productorder && a.factory_id == factory_id);
|
|
|
+ await _mysql_mes_moentry.HardDeleteAsync(a => a.moentry_mono == productorder && a.factory_id == factory_id);
|
|
|
+ _workOrdMaster.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
+ _workOrdDetail.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
+ _workOrdRouting.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
+ _scheduleResultOpMaster.Delete(a => a.WorkOrd == productorder && a.Domain == factory_id.ToString());
|
|
|
+ _periodSequenceDet.Delete(a => a.WorkOrds == productorder && a.Domain == factory_id.ToString());
|
|
|
+ await _mysql_ic_item_stockoccupy.HardDeleteAsync(a => a.morder_mo == productorder && a.factory_id == factory_id);
|
|
|
+ await _mysql_srm_po_occupy.HardDeleteAsync(a => a.morder_mo == productorder && a.factory_id == factory_id);
|
|
|
+ await _mysql_mes_mooccupy.HardDeleteAsync(a => a.moo_mo == productorder && a.factory_id == factory_id);
|
|
|
+
|
|
|
+ return "OK|删除成功";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return "Fail|该工单不能删除";
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- return "Fail|该工单不能删除";
|
|
|
+ return "Fail|工单不存在";
|
|
|
}
|
|
|
- }else
|
|
|
- {
|
|
|
- return "Fail|周计划不存在";
|
|
|
}
|
|
|
}
|
|
|
}
|