From 27e00e4c0d354727728ac4b8770b1575b5077399 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期一, 14 七月 2025 17:30:59 +0800 Subject: [PATCH] 出库修改 --- wms/TaskHelper.cs | 72 ++++++++++++++++++++++++++++++------ 1 files changed, 60 insertions(+), 12 deletions(-) diff --git a/wms/TaskHelper.cs b/wms/TaskHelper.cs index ee18278..dda45de 100644 --- a/wms/TaskHelper.cs +++ b/wms/TaskHelper.cs @@ -1,4 +1,5 @@ 锘縰sing HH.WCS.ZhongCeJinTan.api; +using HH.WCS.ZhongCeJinTan.core; using HH.WCS.ZhongCeJinTan.device; using HH.WCS.ZhongCeJinTan.dispatch; using HH.WCS.ZhongCeJinTan.util; @@ -425,7 +426,7 @@ LogHelper.Info($"浠诲姟{task1.S_CODE},{task2.S_CODE}鍒涘缓鎴愬姛", "浠诲姟"); var db = new SqlHelper<object>().GetInstance(); db.Updateable(operation).UpdateColumns(it => new { it.N_B_STATE, it.S_B_STATE }).ExecuteCommand(); - + LogHelper.Info($"鍥炴姤{task1.S_OP_CODE}", "鍥炴姤Mes浠诲姟"); TaskHelper.opMesTask(task1, 0); } else @@ -597,16 +598,48 @@ var cntrItem = ContainerHelper.GetCntrItem(task.S_CNTR_CODE); if (cntrItem == null) { - LogHelper.Info($"浠诲姟{task.S_CODE}娌℃煡鍒板鍣ㄧ墿鏂檣task.S_CNTR_CODE}", "涓婁笅鏋惰褰�); + LogHelper.Info($"浠诲姟{task.S_CODE}娌℃煡鍒板鍣ㄧ墿鏂檣task.S_CNTR_CODE}", "鍥炴姤Mes浠诲姟"); return false; } + + var work = TaskHelper.GetWmsWork(task.S_OP_CODE); + + if (work == null) { + LogHelper.Info($"浠诲姟{task.S_CODE}娌℃煡鍒颁綔涓歿task.S_OP_CODE}", "鍥炴姤Mes浠诲姟"); + return false; + } + var endArea = ""; + + if (LocationHelper.GetErroArea(task.S_END_AREA)) + { + if (task.S_TYPE.Contains("鍑哄簱")) + { + endArea = task.S_END_LOC; + } + else { + endArea = task.S_END_AREA; + } + + + } + else { + if (task.S_TYPE.Contains("鍑哄簱")) + { + endArea = task.S_END_LOC; + } + else { + endArea = work.S_END_AREA; + } + } + + var interact = new { taskNo = task.S_OP_CODE,//浠诲姟鍙� updater = "WMS",// 鎿嶄綔浜�濡俉MS/MES绛�- endStock = task.S_END_LOC,//缁堢偣 + endStock = endArea,//缁堢偣 taskStatus = state,//0锛氬垵濮嬬姸鎬侊紝1锛氳繘琛屼腑锛�锛氬畬鎴愶紝3锛氫换鍔″彇娑� updateTime = DateTime.Now.ToString(),//鎿嶄綔鏃堕棿 TurnCardNum = cntrItem.TurnCardNum,//鍛ㄨ浆鍗″彿 @@ -798,6 +831,22 @@ LocationHelper.LockLoc(task.S_END_LOC, "鍑哄簱閿�, 2); } + if (task.S_SCHEDULE_TYPE.Contains("agv")) + { + + if (LocationHelper.GetErroArea(task.S_END_AREA)) + { + db.Deleteable<Container>().Where(it => it.S_CODE == task.S_CNTR_CODE).ExecuteCommand(); + db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand(); + db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand(); + } + else + { + TaskHelper.opMesTask(task, 2); + } + } + + if (task.S_TYPE.Contains("鍑哄簱") && task.S_SCHEDULE_TYPE.Contains("agv")) { var location = db.Queryable<Location>().Where(a => a.S_CODE == task.S_END_LOC).First(); @@ -807,15 +856,6 @@ db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand(); db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand(); } - - - if (LocationHelper.GetErroArea(task.S_END_AREA)) { - db.Deleteable<Container>().Where(it => it.S_CODE == task.S_CNTR_CODE).ExecuteCommand(); - db.Deleteable<LocCntrRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand(); - db.Deleteable<CntrItemRel>().Where(it => it.S_CNTR_CODE == task.S_CNTR_CODE).ExecuteCommand(); - } - - } @@ -835,6 +875,14 @@ internal static bool CreateTask(WMSTask wmsTask) { var db = new SqlHelper<WMSTask>().GetInstance(); + + var task = db.Queryable<WMSTask>().Where(a => a.S_CODE == wmsTask.S_CODE).First(); + + if (task!=null) + { + return false; + } + return db.Insertable(wmsTask).ExecuteCommand() > 0; } -- Gitblit v1.9.1