From 6c3738d337fe68c2008b38ad58861aa4b48d5530 Mon Sep 17 00:00:00 2001 From: DESKTOP-9BNTV8O <DESKTOP-9BNTV8O@163.com> Date: 星期五, 13 十二月 2024 14:46:40 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/BllTransServer/RcsServer.cs | 138 +++++++++++++++++++++++++-------------------- 1 files changed, 76 insertions(+), 62 deletions(-) diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs index 25b3176..1576fe2 100644 --- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs +++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs @@ -28,7 +28,7 @@ /// <param name="warehouseno">搴撳尯</param> /// <param name="type">鍙枡绫诲瀷</param> /// <returns></returns> - public void GetPalletNo(Pallnetmsg model,string url) + public void GetPalletNo(Pallnetmsg model,string url,out string taskNo) { DataStockDetail pallet = new DataStockDetail(); try @@ -63,15 +63,6 @@ { throw new Exception("鎵规鍙蜂负绌猴紒"); } - /*BllArrivalNoticeDetail ArriveMes = new BllArrivalNoticeDetail(); - //鍒ゆ柇璇ユ壒娆℃槸鍚︽湁瀵瑰簲鍏ュ簱鍗� - sql = $"select * from BllArrivalNoticeDetail where LotNo = '{pallnetmsg.LotNo}' order by CreateTime desc"; - ArriveMes = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault(); - if (ArriveMes == null) - { - throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�"); - } - noticeno = ArriveMes.Id.ToString();*/ //鏌ユ壘搴撳瓨涓槸鍚︽湁鍙敤鐨勬鎵规鐨勬贩鏂欐《 sql= $@"select PalletNo,LocatNo from DataStockDetail where LotNo = '{model.LotNo}'and (AreaNo like '%02' or AreaNo like '%12' or AreaNo like '%22' or AreaNo like '%32') and WareHouseNo = '{house}' and status = '0' and PalletStatus = '1' order by CompleteTime desc"; @@ -160,7 +151,7 @@ Crtype = "1", Noticedetailno = int.Parse(noticeno), }; - CreateLotTask(task2, url); + CreateLotTask(task2, url, out taskNo); return; } break; @@ -178,7 +169,7 @@ Noticedetailno = int.Parse(noticeno), LotNo = model.LotNo, }; - CreateLotTask(task, url); + CreateLotTask(task, url, out taskNo); return; } catch (Exception ex) @@ -232,7 +223,8 @@ Crtype = "2", Noticedetailno = 0, }; - CreateLotTask(ztask,url); + string taskNo = ""; + CreateLotTask(ztask, url, out taskNo); statrtLocat.Status = "3";//鍑哄簱涓� //淇敼璧峰鍌ㄤ綅鐘舵�� @@ -276,7 +268,8 @@ Noticedetailno = 0, LotNo = "", }; - CreateLotTask(task,url); + string taskNo = ""; + CreateLotTask(task,url, out taskNo); } catch (Exception ex) { @@ -289,7 +282,7 @@ /// </summary> /// <param name="PalletNo"></param> /// <returns></returns> - public void ApplyLocatNo(Pallnetmsg model,string url) + public void ApplyLocatNo(Pallnetmsg model,string url, out string taskNo) { var sql = $"select LocatNo from SysStorageLocat where status = '0'"; var sql2 = ""; @@ -316,20 +309,12 @@ throw new Exception("璇ヨ溅闂村噣妗跺尯鏆傛棤绌轰綑鍌ㄤ綅"); } break; - case "0"://鎺ユ枡璁惧鐢宠鍌ㄤ綅锛堟贩鏂欐《鐢宠鍌ㄤ綅锛� + case "0"://鎺ユ枡璁惧鐢宠鍌ㄤ綅锛堥娣锋枡妗剁敵璇峰偍浣嶏級 //鍒ゆ柇鏄惁鏈夋壒娆″彿 if (string.IsNullOrWhiteSpace(model.LotNo)) { throw new Exception("鎵规鍙蜂负绌猴紒"); } - //鏍¢獙姝ゆ壒娆℃槸鍚︽湁鍏ュ簱鍗� - /*sql2 = $"select * from BllArrivalNoticeDetail where LotNo = '{pallnetmsg.LotNo}' order by CreateTime desc"; - noticeDetail = Db.Ado.SqlQuery<BllArrivalNoticeDetail>(sql).FirstOrDefault(); - if (noticeDetail == null) - { - throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�"); - } - noticeno = noticeDetail.Id.ToString();*/ sql += $" and (AreaNo like '%02' or AreaNo like '%12' or AreaNo like '%22' or AreaNo like '%32') and WareHouseNo = '{houseNo}'"; loction = Db.Ado.SqlQuery<SysStorageLocat>(sql).OrderByDescending(a => a.CreateTime).FirstOrDefault(); if (loction == null) @@ -373,11 +358,11 @@ Endport = loction.LocatNo, Pallno = model.PalletNo, Type = model.Type, - Crtype = "0", + Crtype = "0",//鍏ュ簱 Noticedetailno = int.Parse(noticeno), LotNo = model.LotNo, }; - CreateLotTask(task,url); + CreateLotTask(task, url, out taskNo); } catch (Exception ex) { @@ -390,10 +375,15 @@ /// </summary> /// <param name="req"></param> /// <returns></returns> - public void CreateLotTask(TaskDetial taskDetial,string url) + public void CreateLotTask(TaskDetial taskDetial,string url,out string taskNo) { try { + var stockDetail = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == taskDetial.Pallno);//妗跺簱瀛樻槑缁� + if (stockDetail == null) + { + throw new Exception($"璇ユ《鏈湪搴撳瓨涓紝妗跺彿锛歿taskDetial.Pallno}"); + } //寮�鍚簨鍔� Db.BeginTran(); var typeDesc = ""; @@ -425,18 +415,38 @@ msg = "鑴忔《" + typeDesc + "浠诲姟"; break; } + #region 鍌ㄤ綅淇℃伅 + //璧峰鍌ㄤ綅鍦板潃淇℃伅 + var startLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel=="0" && w.LocatNo == taskDetial.Startport); + if (startLoction == null) + { + throw new Exception($"璧峰鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦紝妗跺彿锛歿taskDetial.Startport}"); + } + //鐩爣鍌ㄤ綅鍦板潃淇℃伅 + var endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == taskDetial.Endport); + if (endLoction == null) + { + throw new Exception($"鐩爣鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦紝妗跺彿锛歿taskDetial.Endport}"); + } + #endregion var sql = ""; var sql2 = ""; var ordertype = "3"; //娑夊強鍑哄叆搴撳崟鎹殑鐘舵�佷俊鎭敼鍙� - if (taskDetial.Type == "2" && taskDetial.Crtype =="1")//鍗婃垚鍝佸嚭搴� + if (taskDetial.Type == "2" && taskDetial.Crtype == "1")//鍗婃垚鍝佸嚭搴� { ordertype = "1"; sql = $"UPDATE BllExportNotice SET Status ='1' " + $"where SoNO = (select SoNO from BllExportNoticeDetail where id = {taskDetial.Noticedetailno})"; Db.Ado.ExecuteCommand(sql); } - else if(taskDetial.Type =="2" && taskDetial.Crtype == "0")//鍗婃垚鍝佸叆搴� + else if (taskDetial.Type == "0" && taskDetial.Crtype == "0")//鎺ユ枡璁惧鐢宠鍌ㄤ綅锛堟贩鏂欐《鐢宠鍌ㄤ綅锛� + { + stockDetail.LotNo = taskDetial.LotNo;//鎵规鍙� + //鏇存柊妗跺簱瀛樻槑缁嗘壒娆″彿 + Db.Updateable(stockDetail).ExecuteCommand(); + } + else if (taskDetial.Type == "1" && taskDetial.Crtype == "0")//娣锋枡璁惧鐢宠鍌ㄤ綅锛堝崐鎴愬搧妗剁敵璇峰偍浣嶏級 { ordertype = "0"; var ArrivalMsg = Db.Queryable<BllArrivalNoticeDetail>().First(it => it.Id == taskDetial.Noticedetailno); @@ -447,13 +457,7 @@ sql2 = $"UPDATE DataStockDetail SET SkuNo = '{ArrivalMsg.SkuNo}',SkuName = '{ArrivalMsg.SkuName}' " + $"where PalletNo = '{taskDetial.Pallno}'and LotNo = '{taskDetial.LotNo}'"; Db.Ado.ExecuteCommand(sql2); - } - else if (taskDetial.Type == "1" && taskDetial.Crtype == "0")//棰勬贩妗跺叆搴� - { - //棰勬贩妗跺叆搴撴椂娣诲姞鍒板簱瀛樹腑姝ゆ墭鐩樼殑鎵规淇℃伅 - sql2 = $"UPDATE DataStockDetail SET LotNo = '{taskDetial.LotNo}' where PalletNo = '{taskDetial.Pallno}'"; - Db.Ado.ExecuteCommand(sql2); - } + } //鍒ゆ柇浠诲姟鏄惁涓烘柊浠诲姟 if (string.IsNullOrWhiteSpace(taskDetial.Taskno)) @@ -480,6 +484,7 @@ NoticeDetailNo = int.Parse(taskDetial.Noticedetailno.ToString()), Msg = msg, //鍏抽敭淇℃伅 }; + taskNo = logTaskEntry.TaskNo; #region 鍛煎彨灏忚溅浠g爜 List<AgvSchedulingTask> agvTaskList = new List<AgvSchedulingTask>(); @@ -488,27 +493,46 @@ //璧峰浣嶇疆 PositionCodePath path1 = new PositionCodePath(); path1.positionCode = taskDetial.Startport; - path1.type = "05"; - + if (taskDetial.Crtype == "1")//鍙《锛堟《鍑哄簱锛� + { + path1.type = "05"; + } + else//鐢宠鍌ㄤ綅锛堟《鍏ュ簱锛� + { + path1.type = "05"; + } pahtList.Add(path1); //鐩爣浣嶇疆 PositionCodePath path2 = new PositionCodePath(); path2.positionCode = taskDetial.Endport; - path2.type = "00"; - + if (taskDetial.Crtype == "1")//鍙《锛堟《鍑哄簱锛� + { + path2.type = "05"; + } + else//鐢宠鍌ㄤ綅锛堟《鍏ュ簱锛� + { + path2.type = "05"; + } pahtList.Add(path2); + //涓嬭溅浠诲姟鍗� AgvSchedulingTask agvTask = new AgvSchedulingTask(); agvTask.reqCode = logTaskEntry.TaskNo;//浠诲姟鍙� - agvTask.ctnrTyp = "3"; - agvTask.reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//璇锋眰鏃堕棿 - agvTask.taskTyp = "Z2";//浠诲姟绫诲瀷 绾胯竟鍒版墭鐩樻敹闆嗗櫒 Z1锛� 鎵樼洏鍨涚敵璇峰叆搴� Z2 + agvTask.ctnrTyp = "1"; + agvTask.reqTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//璇锋眰鏃堕棿 agvTask.wbCode = ""; agvTask.positionCodePath = pahtList;//灏忚溅璺緞 agvTask.podCode = ""; - agvTask.userCallCode = taskDetial.Endport;//鐩爣浣嶇疆 - + agvTask.userCallCode = "";//taskDetial.Endport;//鐩爣浣嶇疆 + if (taskDetial.Crtype == "1")//鍙《锛堟《鍑哄簱锛� + { + agvTask.taskTyp = "Z3";//浠诲姟绫诲瀷 绾胯竟鍒版墭鐩樻敹闆嗗櫒 Z1锛� 鎵樼洏鍨涚敵璇峰叆搴� Z2 + } + else//鐢宠鍌ㄤ綅锛堟《鍏ュ簱锛� + { + agvTask.taskTyp = "Z4";//浠诲姟绫诲瀷 绾胯竟鍒版墭鐩樻敹闆嗗櫒 Z1锛� 鎵樼洏鍨涚敵璇峰叆搴� Z2 + } agvTaskList.Add(agvTask); // 姝e紡杩愯绋嬪簭鏀惧紑 @@ -518,7 +542,6 @@ jsonData = jsonData.Substring(1); jsonData = jsonData.Substring(0, jsonData.Length - 1); string response = ""; - try { logTaskEntry.SendDate = DateTime.Now;//鍙戦�佹椂闂� @@ -533,23 +556,14 @@ //璇锋眰鎴愬姛淇敼浠诲姟琛ㄧ浉搴斿瓧娈电姸鎬� logTaskEntry.IsSuccess = 1; logTaskEntry.BackDate = DateTime.Now; - logTaskEntry.Status = "1"; - if (taskDetial.Crtype == "0" || taskDetial.Crtype == "2") - { - sql = $"UPDATE SysStorageLocat SET Status = '2' where LocatNo = '{taskDetial.Endport}'"; - if (taskDetial.Type == "2") - { - sql2 = $"UPDATE DataStockDetail SET PalletStatus = '{taskDetial.Type}'" + - $"where PalletNo = '{taskDetial.Pallno}'"; - Db.Ado.ExecuteCommand(sql2); - } - } - else - { - sql = $"UPDATE SysStorageLocat SET Status = '3' where LocatNo = '{taskDetial.Startport}' "; - } + logTaskEntry.Status = "1"; Db.Insertable(logTaskEntry).ExecuteCommand(); - Db.Ado.ExecuteCommand(sql); + + startLoction.Status = "3";//鍑哄簱涓� + Db.Updateable(startLoction).ExecuteCommand(); + + endLoction.Status = "2";//鍏ュ簱涓� + Db.Updateable(endLoction).ExecuteCommand(); } if (agvModel.Code == "1") { -- Gitblit v1.8.0