From 38a9baa41316a3f834b67f0334ec001abeeede07 Mon Sep 17 00:00:00 2001 From: 海波 张 <2956280567@qq.com> Date: 星期五, 16 五月 2025 17:34:07 +0800 Subject: [PATCH] 金坛优化 --- dispatch/WcsTask.cs | 146 +++++++++++++++++++++++------------------------- 1 files changed, 71 insertions(+), 75 deletions(-) diff --git a/dispatch/WcsTask.cs b/dispatch/WcsTask.cs index 1dd1249..5973110 100644 --- a/dispatch/WcsTask.cs +++ b/dispatch/WcsTask.cs @@ -262,7 +262,7 @@ LogHelper.Info("Wcs涓嬪彂浠诲姟寮傚父" + ex.Message, "Wcs涓嬪彂浠诲姟"); return result; } - return result; + } /// <summary> /// Wcs婊℃墭鍏ュ拰绌烘墭鍑�@@ -360,45 +360,55 @@ var endList2 = LocationHelper.GetAllLocList1(workFlow.ERRORAREA); end1 = LocationHelper.FindEndcolByLoc(endList2, workFlow.ERRORAREA); LogHelper.Info($"ZcWcsInWorkArea涓�浠诲姟鍏ュ紓甯稿簱鍖虹粓鐐逛俊鎭� + JsonConvert.SerializeObject(end1), "Wcs涓嬪彂浠诲姟"); + if (end1 == null) + { + LogHelper.Info($"ZcWcsInWorkArea浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ERRORAREA},娌℃壘鍒扮粓鐐�, "Wcs涓嬪彂浠诲姟"); + throw new Exception($"缁堢偣搴撳尯{workFlow.ERRORAREA},娌℃壘鍒扮粓鐐�); + } } else { end1 = LocationHelper.FindEndcolByLoc(endList1, workFlow.ENDAREA); LogHelper.Info($"ZcWcsInWorkArea涓�浠诲姟鍏ヤ笁灞傝揣鏋剁粓鐐逛俊鎭� + JsonConvert.SerializeObject(end1), "Wcs涓嬪彂浠诲姟"); + if (end1 == null) + { + LogHelper.Info($"ZcWcsInWorkArea浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Wcs涓嬪彂浠诲姟"); + throw new Exception($"缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�); + } } LogHelper.Info($"ZcWcsInWorkArea浠诲姟涓嬪彂缁堢偣淇℃伅" + JsonConvert.SerializeObject(end1), "Wcs涓嬪彂浠诲姟"); - if (end1 == null) - { - LogHelper.Info($"ZcWcsInWorkArea浠诲姟涓嬪彂澶辫触锛岀粓鐐瑰簱鍖簕workFlow.ENDAREA},娌℃壘鍒扮粓鐐�, "Wcs涓嬪彂浠诲姟"); - throw new Exception($"缁堢偣搴撳尯{workFlow.ENDAREA},娌℃壘鍒扮粓鐐�); - } - //娣诲姞鎵樼洏鐗╂枡鍏宠仈琛� + + + + //娣诲姞鎵樼洏 寮傚父鎵樼洏涓嶆坊鍔�+ if (!(model.code == "1" || model.contNo == "99")) { + + //娣诲姞鎵樼洏鐗╂枡鍏宠仈琛�+ CntrItemRel rel = new CntrItemRel(); - + rel.S_CNTR_CODE = model.contNo; rel.PRODUCTIONDATE = DateTime.Parse(item.wrkdatetime); rel.S_ITEM_CODE = item.recipe; rel.F_SUM_QTY = item.zl; rel.TurnCardNum = item.tmh; rel.facnm = item.facnm; - rel.cdrub= item.cdrub; + rel.cdrub = item.cdrub; rel.mchid = item.mchid; rel.wdate = item.wdate; - rel.wsht = item.wsht; - rel.strbat = item.strbat; + rel.wsht = item.wsht; + rel.strbat = item.strbat; rel.endbat = item.endbat; - rel.planno = item.planno; - rel.stage = item.stage; + rel.planno = item.planno; + rel.stage = item.stage; rel.grd = item.grd; - + ContainerHelper.CreateCntrItem(rel); - //娣诲姞鎵樼洏 - if (model.code == "1" || model.contNo == "99") { Container cntr1 = new Container(); cntr1.S_CODE = model.contNo; cntr1.C_ENABLE = "Y"; @@ -437,7 +447,13 @@ //浼樺厛绾� N_PRIORITY = 1, //宸ヨ绫诲瀷 - TOOLSTYPE = "" + TOOLSTYPE = "", + //璧风偣搴撳尯鍚嶇О + S_START_AREA_NAME = start1.S_AREA_Name, + //缁堢偣搴撳尯鍚嶇О + S_END_AREA_NAME= end1.S_AREA_Name, + //鎺ラ┏浣嶅簱鍖哄悕绉�+ CONNECTION_AREA = "" }; //鍒涘缓浣滀笟 @@ -525,7 +541,13 @@ //浼樺厛绾� N_PRIORITY = 1, //宸ヨ绫诲瀷 - TOOLSTYPE = "" + TOOLSTYPE = "" , + //璧风偣搴撳尯鍚嶇О + S_START_AREA_NAME = start.S_AREA_Name, + //缁堢偣搴撳尯鍚嶇О + S_END_AREA_NAME = end.S_AREA_Name, + //鎺ラ┏浣嶅簱鍖哄悕绉�+ CONNECTION_AREA = "" }; //鍒涘缓浣滀笟 @@ -635,11 +657,12 @@ TaskHelper.Fail(transportTask); TaskProcess.OperateStatus(transportTask, 7); - var agvTask = newDb.Queryable<WMSTask>().Where(e => e.S_CODE == transportTask.S_OP_CODE+"_1")?.First(); + var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv"); + if (agvTask == null) { - LogHelper.Info($"RFID鏍¢獙澶辫触锛屾病鎵惧埌瀵瑰簲{transportTask.S_OP_CODE+"_1"}浠诲姟", "Wcs浠诲姟鎵ц閫氱煡"); - throw new Exception($"RFID鏍¢獙澶辫触,娌℃壘鍒板搴攞transportTask.S_OP_CODE + "_1"}浠诲姟"); + LogHelper.Info($"RFID鏍¢獙澶辫触锛屾病鎵惧埌瀵瑰簲{transportTask.S_OP_CODE}鐨刟gv浠诲姟", "Wcs浠诲姟鎵ц閫氱煡"); + throw new Exception($"RFID鏍¢獙澶辫触,娌℃壘鍒板搴攞transportTask.S_OP_CODE }鐨刟gv浠诲姟"); } var workFlow = TaskHelper.selectWorkFlowByType(agvTask.N_TYPE.ToString(), agvTask.TOOLSTYPE); @@ -695,7 +718,7 @@ TaskHelper.Fail(transportTask); TaskProcess.OperateStatus(transportTask, 7); LocationHelper.updateLocLock(transportTask.S_START_LOC, 4, "寮傚父閿�); - var agvTask = TaskHelper.GetTask(transportTask.S_OP_CODE + "_1"); + var agvTask = TaskHelper.GetTaskByWorkNo(transportTask.S_OP_CODE, "agv"); if (agvTask!=null) { TaskHelper.Fail(agvTask); @@ -927,62 +950,35 @@ LogHelper.Info("鏌ヨ鍒板畨鍏ㄨ姹備俊鍙疯褰曡〃宸茬粡瀛樺湪鏁版嵁,姝ゆ淇″彿涓嶄笅杈剧粰绔嬪簱", "agv鎵ц閫氱煡"); return true; } - - if (mst.S_TYPE.Contains("鍏ュ簱")) + switch (state) { - Type = "2"; - bit = mst.S_END_LOC; - if (state == 1103) - { - Meshod = "AgvRequest"; - bit = mst.S_END_LOC; - } - else if (state == 7) - { - Type = "3"; - Meshod = "AgvRequestCancel"; - } - else if (state == 4) { - //鐢宠鍑洪棬 - Type = "4"; - Meshod = "AgvRequest"; - bit = mst.S_END_LOC; - } - else - { - Meshod = "Complete"; - } - } - else if (mst.S_TYPE.Contains("鍑哄簱")) - { - Type = "1"; - bit = mst.S_START_LOC; - if (state == 1101) - { - Meshod = "AgvRequest"; - } - else if (state == 7) - { - Type = "3"; - Meshod = "AgvRequestCancel"; - } - else if (state == 3) - { - //鐢宠杩涢棬 - Type = "3"; - Meshod = "AgvRequest"; + case 1101: + Type = "1"; bit = mst.S_START_LOC; - } - else - { + Meshod = "AgvRequest"; + break; + case 1102: + Type = "1"; + bit = mst.S_START_LOC; Meshod = "Complete"; - } + break; + case 1103: + Type = "2"; + bit = mst.S_END_LOC; + Meshod = "AgvRequest"; + break; + case 1104: + Type = "2"; + bit = mst.S_END_LOC; + Meshod = "Complete"; + break; + case 7: + Type = "5"; + bit = mst.S_END_LOC; + Meshod = "AgvRequestCancel"; + break; } - else - { - LogHelper.Info("闄や簡鍑哄叆搴撳叾浣欎笉闇�瀹夊叏璇锋眰", "agv鎵ц閫氱煡"); - return true; - } + @@ -1161,7 +1157,7 @@ var endLoc = LocationHelper.GetLocOne(task.S_END_LOC); - var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0).OrderBy(b=>b.N_COL).First(); + var end = newDb.Queryable<Location>().Where(a => a.S_AREA_CODE == endLoc.S_AREA_CODE && a.N_ROW == endLoc.N_ROW && a.N_COL > endLoc.N_COL && a.S_LOCK_STATE == "鏃� && a.N_CURRENT_NUM == 0 && a.C_ENABLE=="Y").OrderBy(b=>b.N_COL).First(); LogHelper.Info($"Wcs鏀捐揣鏈夎揣瀵绘壘鏂扮粓鐐逛俊鎭� + JsonConvert.SerializeObject(end), "鏀捐揣鏈夎揣"); -- Gitblit v1.9.1