From bc3d7a828114cb9df154da869ec986cf6733a779 Mon Sep 17 00:00:00 2001 From: pulg <plg@Haninfo> Date: 星期二, 27 五月 2025 17:14:40 +0800 Subject: [PATCH] 1 --- HH.WCS.ZCQTJ/Bll/StateTaskBLL.cs | 178 ++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 108 insertions(+), 70 deletions(-) diff --git a/HH.WCS.ZCQTJ/Bll/StateTaskBLL.cs b/HH.WCS.ZCQTJ/Bll/StateTaskBLL.cs index 3693c00..8f77ff0 100644 --- a/HH.WCS.ZCQTJ/Bll/StateTaskBLL.cs +++ b/HH.WCS.ZCQTJ/Bll/StateTaskBLL.cs @@ -1,6 +1,7 @@ 锘縰sing HH.WCS.Hexafluo; using HH.WCS.Hexafluo.device; using HH.WCS.Hexafluo.dispatch; +using HH.WCS.Hexafluo.process; using HH.WCS.Hexafluo.util; using HH.WCS.Hexafluo.wms; using HH.WCS.SJML.Comm; @@ -1209,36 +1210,7 @@ } var chi = new SqlHelper<object>().GetInstance(); var newDb = chi.CopyNew(); - List<string> AreaLo = new List<string>() { "TCXB", "TTXB", "NCXB", "DSXB", "TMXB", "TQXB", "TQJT" }; - WMSTask PritTask = null; - //鏌ヨ鏄惁鏄浉鍏冲簱鍖�- if (executeStatePara.transportTask.S_TYPE == "鍑哄簱" && AreaLo.Contains(executeStatePara.transportTask.S_END_LAREA)) - { - LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + executeStatePara.transportTask.S_TASK_NO + " 缁堢偣搴撳尯鏄惁绛変簬DSXB 鏈换鍔�" + executeStatePara.transportTask.S_END_LAREA); - //鏌ヨ閰嶅埗琛�- var transportTask = newDb.Queryable<ConfigJsonEntitys>().Where(e => e.Autoindex == executeStatePara.transportTask.S_END_LAREA + "-閫佹弧鍙栫┖")?.First(); - if (transportTask != null) - { - var ListString = JsonConvert.DeserializeObject<List<ConfigValueList>>(transportTask.TypeJson); - if (ListString != null && ListString.Count > 0) - { - var Strin = ListString.Find(e => e.LocationCode1 == executeStatePara.transportTask.S_END_LOC); - LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + executeStatePara.transportTask.S_TASK_NO + "鏄惁鍖归厤鍒颁簡闃熷弸鐨勮揣浣嶄俊鎭� + JsonConvert.SerializeObject(Strin)); - if (Strin != null) - { - //鏌ヨ鏃佽竟鐨勮揣浣嶆槸鍚︽湁宸叉帹閫佷絾鏄病鎵ц鐨勪换鍔�- var SfgLo = newDb.Queryable<WMSTask>().Where(e => e.S_START_LOC == Strin.LocationCode2 && e.S_NOTE.Equals("agv浠诲姟") && (e.S_B_STATE == "宸叉帹閫� || e.S_B_STATE == "鎵ц涓�))?.First(); - LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + executeStatePara.transportTask.S_TASK_NO + "鍖归厤鍒扮殑璐т綅 鏄惁瀛樺湪 鏄痑gv浠诲姟 骞朵笖浠诲姟涓婂凡鎺ㄩ�" + JsonConvert.SerializeObject(SfgLo)); - if (SfgLo != null)//鏈夎繖涓换鍔�- { - var Agvstr = NDCHelper.ChangeParamPri(SfgLo.S_TASK_NO, 60); - LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + SfgLo.S_TASK_NO + "浼樺厛绾т负锛� + 60 + " 鏄惁鎴愬姛 :" + Agvstr); - PritTask = SfgLo; - } - } - } - } - } + try { LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟鐘舵� 浜嬪姟寮�:" + executeStatePara.transportTask.S_TASK_NO); @@ -1249,12 +1221,7 @@ { throw new Exception("鏇存柊浠诲姟鐘舵�澶辫触"); } - if (PritTask != null) - { - // var ddd = executeStatePara.transportTaskSrc.Select(e => e.S_ID).ToList(); - var ggj = newDb.Updateable<WMSTask>().SetColumns(it => new WMSTask() { N_PRIORITY = 40 }).Where(e => e.S_ID == PritTask.S_ID).ExecuteCommand(); - LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + PritTask.S_TASK_NO + "浼樺厛绾т负锛� + 40 + " 鏄惁鎴愬姛 鏀箇ms浠诲姟 褰卞搷琛屾暟:" + ggj); - } + newDb.CommitTran(); LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟鐘舵� 浜嬪姟缁撴潫:" + executeStatePara.transportTask.S_TASK_NO); return OperateResult.Succeed(); @@ -2201,24 +2168,24 @@ var newDb = chi.CopyNew(); Location location2 = null; List<ConfigValueList> ListValues = new List<ConfigValueList>(); - if (executeStatePara.startIsCurrentTask.S_NOTE == "鏅鸿兘绌烘《婊℃墭") - { - //鏌ヨ閰嶇疆琛ㄤ俊鎭�- var transport = newDb.Queryable<ConfigJsonEntitys>().Where(e => e.Autoindex == "鏅鸿兘绌烘《缂撳瓨")?.First(); - if (transport != null) - { - ListValues = JsonConvert.DeserializeObject<List<ConfigValueList>>(transport.TypeJson); - if (ListValues.Count() > 0) - { - //鏌ヨ鍑哄搴旂殑绌烘墭缂撳瓨浣�- var ggf = ListValues.Find(e => e.LocationCode1 == executeStatePara.transportTask.S_START_LOC); - if (ggf != null) - { - location2 = newDb.Queryable<Location>().Where(e => e.S_LOC_CODE == ggf.LocationCode2)?.First(); - } - } - } - } + //if (executeStatePara.startIsCurrentTask.S_NOTE == "鏅鸿兘绌烘《婊℃墭") + //{ + // //鏌ヨ閰嶇疆琛ㄤ俊鎭�+ // var transport = newDb.Queryable<ConfigJsonEntitys>().Where(e => e.Autoindex == "鏅鸿兘绌烘《缂撳瓨")?.First(); + // if (transport != null) + // { + // ListValues = JsonConvert.DeserializeObject<List<ConfigValueList>>(transport.TypeJson); + // if (ListValues.Count() > 0) + // { + // //鏌ヨ鍑哄搴旂殑绌烘墭缂撳瓨浣�+ // var ggf = ListValues.Find(e => e.LocationCode1 == executeStatePara.transportTask.S_START_LOC); + // if (ggf != null) + // { + // location2 = newDb.Queryable<Location>().Where(e => e.S_LOC_CODE == ggf.LocationCode2)?.First(); + // } + // } + // } + //} try { LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟鐘舵� 浜嬪姟寮�:" + executeStatePara.transportTask.S_TASK_NO); @@ -2258,22 +2225,22 @@ //} //LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟缁堢偣璐т綅" + executeStatePara.transportTask.S_START_LOC + "鐨勭姸鎬侀攣涓烘棤锛�); } - if (executeStatePara.transportTask.S_TYPE.Equals("鍏ュ簱") && executeStatePara.startIsCurrentTask.S_NOTE == "鏅鸿兘绌烘《婊℃墭") - { - if (location2 != null && (location2.N_CURRENT_NUM - 1 >= 0)) - { - I = newDb.Updateable<Location>().SetColumns(it => new Location() - { - T_MODIFY = DateTime.Now, - N_CURRENT_NUM = it.N_CURRENT_NUM - 1, - T_EMPTY_TIME = DateTime.Now - }).Where(x => x.S_LOC_CODE == location2.S_LOC_CODE).ExecuteCommand(); - if (I == 0) - { - throw new Exception("鏇存柊缁堢偣褰撳墠瀹归噺-1澶辫触"); - } - } - } + //if (executeStatePara.transportTask.S_TYPE.Equals("鍏ュ簱") && executeStatePara.startIsCurrentTask.S_NOTE == "鏅鸿兘绌烘《婊℃墭") + //{ + // if (location2 != null && (location2.N_CURRENT_NUM - 1 >= 0)) + // { + // I = newDb.Updateable<Location>().SetColumns(it => new Location() + // { + // T_MODIFY = DateTime.Now, + // N_CURRENT_NUM = it.N_CURRENT_NUM - 1, + // T_EMPTY_TIME = DateTime.Now + // }).Where(x => x.S_LOC_CODE == location2.S_LOC_CODE).ExecuteCommand(); + // if (I == 0) + // { + // throw new Exception("鏇存柊缁堢偣褰撳墠瀹归噺-1澶辫触"); + // } + // } + //} if (executeStatePara.transportTask.S_TYPE.Equals("鍑哄簱")) { //鍒犻櫎鎵樼洏浜у搧鍏宠仈 @@ -2337,6 +2304,70 @@ } var chi = new SqlHelper<object>().GetInstance(); var newDb = chi.CopyNew(); + + List<string> AreaLo = new List<string>() { "TCXB", "TTXB", "NCXB", "DSXB", "TMXB", "TQXB", "TQJT" }; + WMSTask PritTask = null; + //鏌ヨ鏄惁鏄浉鍏冲簱鍖�+ if (executeStatePara.transportTask.S_TYPE == "鍑哄簱" && AreaLo.Contains(executeStatePara.transportTask.S_END_LAREA)) + { + LogHelper.TaskDetail(logPara, $"鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細{executeStatePara.transportTask.S_TASK_NO} 缁堢偣搴撳尯鏄惁鍖呭惈{JsonConvert.SerializeObject(AreaLo)} 鏈换鍔�" + executeStatePara.transportTask.S_END_LAREA); + //鏌ヨ閰嶇疆鏂囦欢 + var transportTask = STAttribute.GetValueTwo(executeStatePara.transportTask.S_END_LAREA + "-閫佹弧鍙栫┖"); + if (transportTask != null) + { + var ListString = JsonConvert.DeserializeObject<List<ConfigValueListTwo>>(transportTask); + if (ListString != null && ListString.Count > 0) + { + var Strin = ListString.Find(e => e.LocationCode1 == executeStatePara.transportTask.S_END_LOC); + LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + executeStatePara.transportTask.S_TASK_NO + "鏄惁鍖归厤鍒颁簡闃熷弸鐨勮揣浣嶄俊鎭� + JsonConvert.SerializeObject(Strin)); + if (Strin != null) + { + //鏌ヨ鏃佽竟鐨勮揣浣嶆槸鍚︽湁宸叉帹閫佷絾鏄病鎵ц鐨勪换鍔�+ // List<string> TaskState2 = new List<string> { "鏈墽琛�, "宸叉帹閫�, "鎵ц涓� }; + var SfgLo = newDb.Queryable<WMSTask>().Where(e => Strin.LocationCode2.Contains(e.S_START_LOC) && e.S_NOTE.Equals("agv浠诲姟") && (e.S_B_STATE == "鏈墽琛� || e.S_B_STATE == "宸叉帹閫� || e.S_B_STATE == "鎵ц涓�)).ToList(); + LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + executeStatePara.transportTask.S_TASK_NO + "鍖归厤鍒扮殑璐т綅 鏄惁瀛樺湪 鏄痑gv浠诲姟 骞朵笖浠诲姟鐘舵�涓�鏈墽琛�宸叉帹閫�鎵ц涓�鐨勪换鍔℃湁:" + JsonConvert.SerializeObject(SfgLo)); + if (SfgLo.Count() > 0)//鏈夎繖涓换鍔�+ { + //鐪嬭繖涓换鍔℃槸鍚︽槸鏈夊浜庨厤缃┖鎵樼涓�綅鐨勮揣浣�+ var OneLoc = Strin.LocationCode2.FirstOrDefault(); + LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾� 閰嶇疆涓涓�釜璐т綅涓猴細" + OneLoc); + var OneTask = SfgLo.Find(e => e.S_START_LOC == OneLoc); + if (OneTask != null) + { + if (OneTask.S_B_STATE == "鏈墽琛�)//鎺ㄩ�浠诲姟 + { + OneTask.N_PRIORITY = 60; + TaskProcess.SendTask(OneTask); + } + else + { + var Agvstr = NDCHelper.ChangeParamPri(OneTask.S_TASK_NO, 60); + LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + OneTask.S_TASK_NO + "浼樺厛绾т负锛� + 60 + " 鏄惁鎴愬姛 :" + Agvstr); + } + PritTask = OneTask; + } + else + { + SfgLo = SfgLo.OrderBy(e => e.T_CREATE).ToList(); + var OneTaskR = SfgLo.FirstOrDefault(); + if (OneTaskR.S_B_STATE == "鏈墽琛�)//鎺ㄩ�浠诲姟 + { + OneTaskR.N_PRIORITY = 60; + TaskProcess.SendTask(OneTaskR); + } + else + { + var Agvstr = NDCHelper.ChangeParamPri(OneTaskR.S_TASK_NO, 60); + LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + OneTaskR.S_TASK_NO + "浼樺厛绾т负锛� + 60 + " 鏄惁鎴愬姛 :" + Agvstr); + } + PritTask = OneTaskR; + } + } + } + } + } + } + try { LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟鐘舵� 浜嬪姟寮�:" + executeStatePara.transportTask.S_TASK_NO); @@ -2388,6 +2419,13 @@ } } } + + if (PritTask != null) + { + // var ddd = executeStatePara.transportTaskSrc.Select(e => e.S_ID).ToList(); + var ggj = newDb.Updateable<WMSTask>().SetColumns(it => new WMSTask() { N_PRIORITY = 60 }).Where(e => e.S_ID == PritTask.S_ID).ExecuteCommand(); + LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟浼樺厛绾�浠诲姟鍙凤細" + PritTask.S_TASK_NO + "浼樺厛绾т负锛� + 60 + " 鏄惁鎴愬姛 鏀箇ms浠诲姟 褰卞搷琛屾暟:" + ggj); + } newDb.CommitTran(); LogHelper.TaskDetail(logPara, "鏇存柊浠诲姟鐘舵� 浜嬪姟缁撴潫:" + executeStatePara.transportTask.S_TASK_NO); return OperateResult.Succeed(); -- Gitblit v1.9.1