From 6cd2a2d6991f13ac11796abd11d61c098cdd3ce1 Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期六, 28 十二月 2024 08:32:39 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/BllTransServer/RcsServer.cs | 139 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 96 insertions(+), 43 deletions(-) diff --git a/Wms/WMS.BLL/BllTransServer/RcsServer.cs b/Wms/WMS.BLL/BllTransServer/RcsServer.cs index 5048367..d6f6333 100644 --- a/Wms/WMS.BLL/BllTransServer/RcsServer.cs +++ b/Wms/WMS.BLL/BllTransServer/RcsServer.cs @@ -45,7 +45,7 @@ throw new Exception("璁惧缂栫爜涓嶅彲涓虹┖"); } //閫氳繃璁惧鍙锋煡鎵惧埌鎵�灞炶澶囷紙鍖哄煙锛� - var deviceInfo = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.DeviceCode == model.Location); + var deviceInfo = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.DeviceCode.Contains(model.Location)); if (deviceInfo == null) { throw new Exception("璁惧淇℃伅涓嶅瓨鍦�"); @@ -71,7 +71,7 @@ case "0"://鎺ユ枡璁惧鍙噣妗� { //鍙《鐩爣鍌ㄤ綅鍦板潃淇℃伅 - endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo); + endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1); if (endLoction == null) { throw new Exception("鍙《璁惧鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�"); @@ -95,7 +95,7 @@ case "1"://娣锋枡璁惧鍙枡妗讹紙娣锋枡锛� { //鍙《鐩爣鍌ㄤ綅鍦板潃淇℃伅 - endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo); + endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1); if (endLoction == null) { throw new Exception("鍙《璁惧鐩爣鍌ㄤ綅淇℃伅涓嶅瓨鍦�"); @@ -126,7 +126,7 @@ if (houseNo == "M04")//闄や簡鍠峰共杞﹂棿涓嬫枡鍙i兘鏄�2涓偍浣嶏紙鎶曟枡鍌ㄤ綅銆佹姇瀹屾枡鍌ㄤ綅锛� { //鍙《鐩爣鍌ㄤ綅鍦板潃淇℃伅 - endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo); + endLoction = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1); } else { @@ -247,9 +247,9 @@ Receiver = "RCS", //IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 SendDate = DateTime.Now, //鍙戦�佹椂闂� - //BackDate = DateTime.Now, //杩斿洖鏃堕棿 + //BackDate = DateTime.Now, //杩斿洖鏃堕棿 StartLocat = item.LocatNo,//璧峰浣嶇疆 - EndLocat = model.Location,//鐩爣浣嶇疆 + EndLocat = endLoction.LocatNo,//鐩爣浣嶇疆 PalletNo = item.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� @@ -265,7 +265,7 @@ { Taskno = taskNo,//浠诲姟鍙� Startport = item.LocatNo, - Endport = model.Location, + Endport = model.Location,//endLoction.LocatNo, Pallno = item.PalletNo, Crtype = "1",//鍙《 WareHouseNo = houseNo @@ -322,7 +322,7 @@ SendDate = DateTime.Now, //鍙戦�佹椂闂� //BackDate = DateTime.Now, //杩斿洖鏃堕棿 StartLocat = pallet.LocatNo,//璧峰浣嶇疆 - EndLocat = model.Location,//鐩爣浣嶇疆 + EndLocat = endLoction.LocatNo,//鐩爣浣嶇疆 PalletNo = pallet.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� @@ -339,7 +339,7 @@ { Taskno = taskNo,//浠诲姟鍙� Startport = pallet.LocatNo,//璧峰浣嶇疆 - Endport = model.Location,//鐩爣浣嶇疆 + Endport = model.Location,//endLoction.LocatNo,//鐩爣浣嶇疆 Pallno = pallet.PalletNo,//妗跺彿 Crtype = "1",//鍙《 WareHouseNo = houseNo//杞﹂棿缂栫爜 @@ -392,43 +392,49 @@ try { string taskMsg = ""; - //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟 - var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == model.PalletNo); - if (tasking != null) - { - throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{model.PalletNo}"); - } + //閫氳繃璁惧鍙锋煡鎵惧埌鎵�灞炶澶囷紙鍖哄煙锛� - var deviceInfo = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.DeviceCode == model.Location); + var deviceInfo = Db.Queryable<SysStorageArea>().First(w => w.IsDel == "0" && w.DeviceCode.Contains(model.Location)); if (deviceInfo == null) { throw new Exception("璁惧淇℃伅涓嶅瓨鍦�"); } - var houseNo = deviceInfo.WareHouseNo;//鐢宠鍌ㄤ綅璁惧鎵�鍦ㄨ溅闂寸紪鍙� + //鐢宠鍌ㄤ綅璁惧鎵�鍦ㄨ溅闂寸紪鍙� + var houseNo = deviceInfo.WareHouseNo; //璁惧鎵�鍦ㄥ偍浣嶄俊鎭紙璧峰鍌ㄤ綅锛� - var deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo); - if (deviceLocatInfo == null) - { - throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}"); - } - - var noticeno = "0";//鍑哄叆搴撳崟鎹槑缁咺D + var deviceLocatInfo = new SysStorageLocat(); + //鍑哄叆搴撳崟鎹槑缁咺D + var noticeno = "0"; + //鐩爣鍌ㄤ綅淇℃伅 + var loction = new SysStorageLocat(); //妗跺簱瀛樹俊鎭� - var palletInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo); - if (palletInfo == null) - { - throw new Exception($"鏈煡璇㈠埌璇ユ《鐨勫簱瀛樹俊鎭紝PalletNo:{model.PalletNo}"); - } + var palletInfo = new DataStockDetail(); - var storageLocat = Db.Queryable<SysStorageLocat>().Where(w => w.IsDel == "0" && w.Status == "0"); //寮�鍚簨鍔� Db.BeginTran(); - - SysStorageLocat loction = new SysStorageLocat();//鐩爣鍌ㄤ綅淇℃伅 switch (model.Type) { case "3"://娓呮礂璁惧鐢宠鍌ㄤ綅锛堝噣妗剁敵璇峰偍浣嶏級 { + //璁惧鏀炬《鍌ㄤ綅淇℃伅锛堝師濮嬪彨妗剁洰鏍囧偍浣嶏級 + var deviceLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);// Column=1 娓呮礂鍌ㄤ綅锛孋olumn=2 娓呮礂瀹屾枡鍌ㄤ綅 + if (deviceLocatInfo2 == null) + { + throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}"); + } + //鏌ユ壘妗跺簱瀛樹俊鎭� + palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo2.WareHouseNo && w.AreaNo == deviceLocatInfo2.AreaNo && w.LocatNo == deviceLocatInfo2.LocatNo).OrderBy(o => o.UpdateTime).First(); + if (palletInfo == null) + { + throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅"); + } + //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟 + var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo); + if (tasking != null) + { + throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}"); + } + //璁惧鎵�鍦ㄥ偍浣嶄俊鎭紙璧峰鍌ㄤ綅锛� deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 2);// Column=1 娓呮礂鍌ㄤ綅锛孋olumn=2 娓呮礂瀹屾枡鍌ㄤ綅 if (deviceLocatInfo == null) @@ -453,6 +459,23 @@ { throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}"); } + //鏌ユ壘妗跺簱瀛樹俊鎭� + palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo.WareHouseNo && w.AreaNo == deviceLocatInfo.AreaNo && w.LocatNo == deviceLocatInfo.LocatNo).OrderBy(o => o.UpdateTime).First(); + if (palletInfo == null) + { + throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅"); + } + palletInfo.LotNo = model.LotNo;//鎵规鍙� + //鏇存柊妗跺簱瀛樹俊鎭� + Db.Updateable(palletInfo).ExecuteCommand(); + + //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟 + var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo); + if (tasking != null) + { + throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}"); + } + //鍒ゆ柇鏄惁鏈夋壒娆″彿 if (string.IsNullOrWhiteSpace(model.LotNo)) { @@ -464,9 +487,7 @@ { throw new Exception("璇ヨ溅闂撮娣峰尯鏆傛棤绌轰綑鍌ㄤ綅"); } - palletInfo.LotNo = model.LotNo;//鎵规鍙� - //鏇存柊妗跺簱瀛樹俊鎭� - Db.Updateable(palletInfo).ExecuteCommand(); + taskMsg = "鎺ユ枡璁惧锛堥娣锋枡妗讹級鐢宠鍌ㄤ綅浠诲姟"; } @@ -479,6 +500,19 @@ { throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}"); } + //鏌ユ壘妗跺簱瀛樹俊鎭� + palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo.WareHouseNo && w.AreaNo == deviceLocatInfo.AreaNo && w.LocatNo == deviceLocatInfo.LocatNo).OrderBy(o => o.UpdateTime).First(); + if (palletInfo == null) + { + throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅"); + } + //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟 + var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo); + if (tasking != null) + { + throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}"); + } + //鍒ゆ柇鏄惁鏈夋壒娆″彿 if (string.IsNullOrWhiteSpace(model.LotNo)) { @@ -498,7 +532,7 @@ throw new Exception("璇ユ壒娆℃病鏈夊搴旂殑鍏ュ簱鍗�"); } notice.Status = "1";//姝e湪鎵ц - //鏇存柊鍏ュ簱鍗曠姸鎬� + //鏇存柊鍏ュ簱鍗曠姸鎬� Db.Updateable(notice).ExecuteCommand(); //鏌ユ壘鍒拌杞﹂棿鍗婃垚鍝佸尯 @@ -513,10 +547,28 @@ break; case "2"://涓嬫枡璁惧鐢宠鍌ㄤ綅锛堣剰妗剁敵璇峰偍浣嶏級 { + //璁惧鏀炬《鍌ㄤ綅淇℃伅锛堝師濮嬪彨妗剁洰鏍囧偍浣嶏級 + var deviceLocatInfo2 = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1);// Column=1 鎶曟枡鍌ㄤ綅锛孋olumn=2 鎶曞畬鏂欏偍浣� + if (deviceLocatInfo2 == null) + { + throw new Exception($"鏈煡璇㈠埌璇ヨ澶囨墍鍦ㄥ偍浣嶄俊鎭紝Location:{model.Location}"); + } + //鏌ユ壘妗跺簱瀛樹俊鎭� + palletInfo = Db.Queryable<DataStockDetail>().Where(w => w.IsDel == "0" && w.WareHouseNo == deviceLocatInfo2.WareHouseNo && w.AreaNo == deviceLocatInfo2.AreaNo && w.LocatNo == deviceLocatInfo2.LocatNo).OrderBy(o => o.UpdateTime).First(); + if (palletInfo == null) + { + throw new Exception($"鏈煡璇㈠埌璇ヨ澶囦笂妗剁殑搴撳瓨淇℃伅"); + } + //鏌ユ壘璇ユ《鏈夋病鏈夋鍦ㄦ墽琛岀殑浠诲姟 + var tasking = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.Status == "1" && w.PalletNo == palletInfo.PalletNo); + if (tasking != null) + { + throw new Exception($"璇ユ《鏈夋鍦ㄦ墽琛岀殑浠诲姟锛孭alletNo:{palletInfo.PalletNo}"); + } if (houseNo == "M04")//闄や簡鍠峰共杞﹂棿涓嬫枡鍙i兘鏄�2涓偍浣嶏紙鎶曟枡鍌ㄤ綅銆佹姇瀹屾枡鍌ㄤ綅锛� { //璁惧鎵�鍦ㄥ偍浣嶄俊鎭紙璧峰鍌ㄤ綅锛� - deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo); + deviceLocatInfo = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.WareHouseNo == houseNo && w.AreaNo == deviceInfo.AreaNo && w.Column == 1); } else { @@ -549,9 +601,9 @@ //IsSuccess = 1, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 SendDate = DateTime.Now, //鍙戦�佹椂闂� //BackDate = DateTime.Now, //杩斿洖鏃堕棿 - StartLocat = model.Location,//璧峰浣嶇疆 + StartLocat = deviceLocatInfo.LocatNo,//璧峰浣嶇疆 EndLocat = loction.LocatNo,//鐩爣浣嶇疆 - PalletNo = model.PalletNo,//妗跺彿 + PalletNo = palletInfo.PalletNo,//妗跺彿 IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� IsFinish = 1,//鏄惁鍙畬鎴� @@ -564,9 +616,9 @@ var task = new TaskDetial { Taskno = taskNo,//浠诲姟鍙� - Startport = model.Location, - Endport = loction.LocatNo, - Pallno = model.PalletNo, + Startport = model.Location,//deviceLocatInfo.LocatNo,//璧峰浣嶇疆 + Endport = loction.LocatNo,//鐩爣浣嶇疆 + Pallno = palletInfo.PalletNo, Crtype = "0",//鍏ュ簱 WareHouseNo = houseNo }; @@ -807,7 +859,8 @@ stockDetail.WareHouseNo = endLocatInfo.WareHouseNo;//鎵�灞炰粨搴� stockDetail.RoadwayNo = endLocatInfo.RoadwayNo;//鎵�灞炲贩閬� stockDetail.AreaNo = endLocatInfo.AreaNo;//鎵�灞炲尯鍩� - stockDetail.LocatNo = endLocatInfo.LocatNo;//鍌ㄤ綅鍦板潃 + stockDetail.LocatNo = endLocatInfo.LocatNo;//鍌ㄤ綅鍦板潃 + stockDetail.UpdateTime = DateTime.Now;//鏇存柊鏃堕棿 if (endAreaInfo.Type == "0")//娲佸噣鍖� { stockDetail.PalletStatus = "0"; -- Gitblit v1.8.0