From 65ecd34acf0a3d33e6c1e10c93e351716d749e2f Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@DESKTOP-5BIMHQ3> Date: 星期三, 06 三月 2024 14:51:29 +0800 Subject: [PATCH] 修改出库单编辑页面 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 114 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 87 insertions(+), 27 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index e09c0ca..c15510f 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -204,10 +204,18 @@ { throw new Exception("鏈煡璇㈠埌鍗曟嵁淇℃伅"); } + if (notice.Status != "5") + { + throw new Exception("澶嶆牳澶辫触锛屽崟鎹潪鍏抽棴鐘舵��"); + } var detail = Db.Queryable<BllExportNoticeDetail>().Where(m => m.SONo == notice.SONo && m.IsDel == "0").ToList(); if (detail.Count == 0) { throw new Exception("鏈煡璇㈠埌鍗曟嵁鏄庣粏淇℃伅"); + } + if (userId == notice.UpdateUser) + { + throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�"); } var list = new List<SoDetail>(); foreach (var d in detail) @@ -216,7 +224,7 @@ { SkuNo = d.SkuNo, LotNo = d.LotNo, - Qty = int.Parse(d.CompleteQty.ToString()) + Qty = (decimal)d.CompleteQty }; list.Add(item); } @@ -225,21 +233,25 @@ OrderCode = notice.OrderCode, SoDetails = list }; - // 閫氳繃鎺ュ彛鍙戦�佽嚦erp - var jsonData = JsonConvert.SerializeObject(soInfo); + #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp + //绯荤粺瀵规帴鍚庢斁寮� + /*var jsonData = JsonConvert.SerializeObject(soInfo); var response = HttpHelper.DoPost(url, jsonData, "鍑哄簱鍗曞畬鎴愪笂浼�", "ERP"); - - //瑙f瀽杩斿洖鏁版嵁 - var obj = JsonConvert.DeserializeObject<ErpModel>(response); + + var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 if (obj.Success != 0) { throw new Exception("涓婁紶澶辫触" + obj.Message); - } + }*/ + #endregion + notice.Status = "6"; - notice.UpdateTime = DateTime.Now; - notice.UpdateUser = userId; + notice.CheckTime = DateTime.Now; + notice.CheckUser = userId; Db.Updateable(notice).ExecuteCommand(); + + new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", notice.SONo, "澶嶆牳", $"澶嶆牳浜嗗崟鎹彿涓簕notice.SONo}鐨勫崟鎹俊鎭�", userId); return true; } catch (Exception e) @@ -348,6 +360,9 @@ break; case "6"://浠e偍鍑哄簱 skuType = "(2)"; + break; + case "8"://瀵勫瓨鍑哄簱 + skuType = "(3)"; break; default: //鍏跺畠鍑哄簱 skuType = "(0,1,2,3,4)"; @@ -1047,10 +1062,6 @@ { throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负鎵ц瀹屾垚鎴栬鍗曞叧闂�/宸蹭笂浼�"); } - if (userId == notice.UpdateUser) - { - throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�"); - } //鍑哄簱鍗曟槑缁� var comDetail = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.SONo == notice.SONo).Select(m => m.BoxNo3).ToList(); Db.BeginTran();//寮�鍚簨鍔� @@ -1065,13 +1076,8 @@ //} var dom = HttpHelper.EncodeParsToFuMa(comDetail, "ceshi", "ExInfoXml"); - - notice.Status = "6";//鐘舵�侊細宸蹭笂浼� - notice.CheckTime = DateTime.Now;//澶嶆牳鏃堕棿 - notice.CheckUser = userId;//澶嶆牳浜� - Db.Updateable(notice).ExecuteCommand(); ////娣诲姞鎿嶄綔鏃ュ織璁板綍 - var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", notice.SONo, "澶嶆牳", $"澶嶆牳浜嗗崟鎹彿涓簕notice.SONo}鐨勫崟鎹俊鎭�", userId); + //var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", notice.SONo, "鍏冲崟", $"鍏抽棴浜嗗崟鎹彿涓簕notice.SONo}鐨勫崟鎹俊鎭�", userId); Db.CommitTran(); return dom; @@ -1373,7 +1379,7 @@ #region 涓嬪彂鍑哄簱銆佸嚭搴撳畬鎴愩�侀噸鏂颁笅鍙戜换鍔°�佸彇娑堜换鍔°�佸紓甯稿鐞� // 涓嬪彂鍑哄簱锛堣皟鐢╟s鎺ュ彛缁欎粬搴撲綅鍦板潃锛� - public List<OutCommandDto> IssueOutHouse(string soNo, string outMode, int userId, string url, out string str) + public List<OutCommandDto> IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre, int userId, string url, out string str) { try { @@ -1403,6 +1409,10 @@ var outLpnList = list.Select(m => m.PalletNo).ToList(); //瑕佸嚭搴撶殑鏄庣粏闆嗗悎 var outStockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToList(); + //鐗╂枡缂栫爜琛� + var skuList = Db.Queryable<SysMaterials>().Where(w => w.IsDel == "0"); + //鍖呰琛� + var packagList = Db.Queryable<SysPackag>().Where(w => w.IsDel == "0"); Db.BeginTran(); try { @@ -1410,6 +1420,47 @@ //寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔� foreach (var item in list) { + string toLocation = string.Empty;//鐩爣浣嶇疆 + string unstackingMode2 = unstackingMode;//鎷嗗灈鏂瑰紡锛�0:鏈哄櫒浜烘媶鍨� 1:PDA鎷嗗灈 + #region 鍒ゆ柇鏄惁闇�瑕佹媶绠� + string isChai = "0";//鏄惁闇�瑕佹媶绠憋紝0:鍚� 1:鏄� + var skuInfo = skuList.First(w => w.SkuNo == item.SkuNo); + if (skuInfo == null) + { + throw new Exception("鐗╂枡淇℃伅涓嶅瓨鍦紒"); + } + var packagInfo = packagList.First(w => w.PackagNo == skuInfo.PackagNo); + if (packagInfo == null) + { + throw new Exception("鍖呰淇℃伅涓嶅瓨鍦紒"); + } + if (packagInfo.L2Name == "绠�") + { + if (item.Qty % (decimal)packagInfo.L2Num != 0)//鑳芥暣闄よ鏄庝笉鐢ㄦ媶绠憋紝涓嶈兘鏁撮櫎璇存槑闇�瑕佹媶绠� + { + isChai = "1"; + unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈 + } + } + if (isChai == "0") + { + var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.PalletNo == item.PalletNo && w.BitBoxMark == "1").ToList(); + if (boxInfo != null)//鎵樼洏涓婃湁闆剁闇�瑕佹媶绠� + { + isChai = "1"; + unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈 + } + } + #endregion + if (unstackingMode2 == "0")//鏈哄櫒浜烘媶鍨� + { + toLocation = loadingAddre;//瑁呰溅鍙� + } + else //PDA鎷嗗灈 + { + toLocation = outMode;//鍑哄簱鍙� + } + // 鍌ㄤ綅鍙� var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo).LocatNo; @@ -1509,7 +1560,7 @@ IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛 StartLocat = locate.LocatNo,//璧峰浣嶇疆 - EndLocat = outMode,//鐩爣浣嶇疆 + EndLocat = toLocation,//outMode,//鐩爣浣嶇疆 PalletNo = item.PalletNo,//鎵樼洏鐮� IsSend = 1,//鏄惁鍙啀娆′笅鍙� IsCancel = 1,//鏄惁鍙彇娑� @@ -1517,7 +1568,7 @@ Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟 2 绉诲簱浠诲姟 Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚 OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗� 2 鐩樼偣鍗� 3 绉诲簱鍗� - Msg = "浠�" + locate.LocatNo + "鍒�" + outMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 + Msg = "浠�" + locate.LocatNo + "鍒�" + toLocation + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅 }; Db.Insertable(exTask).ExecuteCommand(); logTaskList.Add(exTask); @@ -1527,7 +1578,7 @@ PalletNo = item.PalletNo,//鎵樼洏鍙� StartLocate = locate.LocatNo, // 璧峰浣嶇疆 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾 - EndLocate = outMode, // 鐩爣浣嶇疆 + EndLocate = toLocation,//outMode, // 鐩爣浣嶇疆 TaskNo = exTask.TaskNo, // 浠诲姟鍙� TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱) OutMode = "", //鐩爣鍦板潃 @@ -1561,9 +1612,10 @@ item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿 item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� - item.OutMode = outMode;//鍑哄簱鍙� + item.UnstackingMode = unstackingMode2;//鎷嗗灈鏂瑰紡 + item.OutMode = unstackingMode2 == "1" ? outMode : "";//鍑哄簱鍙� + item.LoadingAddre = unstackingMode2 == "0" ? loadingAddre : "";//瑁呰溅鍙� Db.Updateable(item).ExecuteCommand(); - #endregion @@ -1604,7 +1656,8 @@ } item.TaskNo = taskNo.TaskNo; item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� - item.OutMode = taskNo.EndLocat; + item.OutMode = unstackingMode2 == "1" ? taskNo.EndLocat : "";//鍑哄簱鍙� + item.LoadingAddre = unstackingMode2 == "0" ? taskNo.EndLocat : "";//瑁呰溅鍙� Db.Updateable(item).ExecuteCommand(); flagList.Add(0); #endregion @@ -2570,6 +2623,7 @@ LocatNo = a.LocatNo, RoadwayNo = a.RoadwayNo, PalletNo = a.PalletNo, + Demo = a.Demo, }).ToList(); return list; @@ -2769,7 +2823,13 @@ break; } } - } + var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.PalletNo == item.PalletNo && w.BitBoxMark == "1").ToList(); + if (boxInfo != null)//鎵樼洏涓婃湁闆剁闇�瑕佹媶绠� + { + result = "1";//闇�瑕佹媶绠� + break; + } + } return result; } catch (Exception ex) -- Gitblit v1.8.0