From c586d7e6347609a545bd588d7297bf272b32e465 Mon Sep 17 00:00:00 2001 From: test <15284381150@163.com> Date: 星期五, 15 八月 2025 09:34:12 +0800 Subject: [PATCH] 修改创建出库单据中的仓库编号 --- Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs | 137 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 109 insertions(+), 28 deletions(-) diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs index 3704120..cd21a0c 100644 --- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs +++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs @@ -342,7 +342,8 @@ throw new Exception("瀹㈡埛淇℃伅涓嶅瓨鍦�!"); } CustomerName = customer.CustomerName; - } + } + //鎵胯繍鍟嗕俊鎭� //var logistics = Db.Queryable<SysLogisticsInfo>().First(m => m.IsDel == "0" && m.CarrierName == model.LogisticsNo); //int? logisticsId = null; @@ -366,9 +367,21 @@ try { var list = new List<BllExportNoticeDetail>(); + var houseNo = string.Empty; //娣诲姞鍑哄簱鍗� foreach (var d in model.orderDetailList) { + if (!string.IsNullOrEmpty(houseNo)) + { + if (houseNo != d.wareHouseNo) + { + throw new Exception("鍚屼釜鍑哄簱鍗曚笅鏄庣粏鍒楄〃鍙戝嚭浠撳簱涓嶄竴鑷�!"); + } + } + else + { + houseNo = d.wareHouseNo; + } if (d.skuQty < 1) { throw new Exception("鍑哄簱鏁伴噺蹇呴』澶т簬0"); @@ -589,16 +602,35 @@ OrderCode=model.orderNo, Type = model.orderType, Status = "0", - Origin = "WMS", + Origin = "SAP", CustomerNo = model.customerNo, CustomerName = CustomerName, LogisticsId = null,//logisticsId, IsWave = "0", WaveNo = "", IsDespatch = "0", - + CreateUser = 0, }; + if (houseNo == "1000" || houseNo == "1001" || houseNo == "2000" || houseNo == "2002" || houseNo == "2003" || houseNo == "2004") + { + notice.WareHouseNo = "W02"; + } + else if (houseNo == "4000") + { + notice.WareHouseNo = "W01"; + } + else + { + // houseNo鎶涘紓甯革紝閬垮厤鍑虹幇闈濿01锛學02鐨勫�� + throw new Exception($"涓嶆敮鎸佺殑鍙戝嚭浠撳簱缂栧彿锛歿houseNo}锛屼粎鏀寔鐢熸垚W01鍜學02浠撳簱鐨勫崟鎹�"); + } + //棰濆鏍¢獙锛堝彲閫夛紝鍙岄噸淇濋殰锛� + if (notice.WareHouseNo != "W01" && notice.WareHouseNo != "W02") + { + throw new Exception($"浠撳簱缂栧彿寮傚父锛歿notice.WareHouseNo}锛屼粎鍏佽W01鍜學02"); + } + var n = Db.Insertable<BllExportNotice>(notice).ExecuteCommand(); var m = Db.Insertable<BllExportNoticeDetail>(list).ExecuteCommand(); @@ -630,7 +662,7 @@ } //鍥炰紶鍑哄簱鍗� - public bool FinishSo(int id, string url, int userId) + public bool FinishSo(int id, string url, string url2, int userId) { try { @@ -652,34 +684,83 @@ { throw new Exception("澶嶆牳澶辫触锛屽鏍镐汉鍛樺拰鍏抽棴璁㈠崟浜哄憳涓嶈兘鐩稿悓锛�"); } - var list = new List<SoDetail>(); - foreach (var d in detail) + if (notice.Type == "2")//鎶芥鍑哄簱 { - var item = new SoDetail() + var list = new List<SendSampleSku>(); + foreach (var d in detail) { - SkuNo = d.SkuNo, - LotNo = d.LotNo, - Qty = (decimal)d.CompleteQty - }; - list.Add(item); - } - var soInfo = new SoInfo() - { - OrderCode = notice.OrderCode, - SoDetails = list - }; - #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp - //绯荤粺瀵规帴鍚庢斁寮� - /*var jsonData = JsonConvert.SerializeObject(soInfo); + var item = new SendSampleSku() + { + skuNo = d.SkuNo, + skuName = d.SkuName, + lotNo = d.LotNo, + skuQty = Convert.ToDecimal(d.CompleteQty) + }; + list.Add(item); + } + SendSampleVm sendSampleVm = new SendSampleVm(); + sendSampleVm.pallDataList = list; - var response = HttpHelper.DoPost(url, jsonData, "鍑哄簱鍗曞畬鎴愪笂浼�", "ERP"); - - var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 - if (obj.Success != 0) + SapSampleVm sapSampleVm = new SapSampleVm(); + sapSampleVm.data = sendSampleVm; + + #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp + //绯荤粺瀵规帴鍚庢斁寮� + /*var jsonData = JsonConvert.SerializeObject(sapSampleVm); + + var response = HttpHelper.DoPost(url2, jsonData, "鎶芥鍑哄簱瀹屾垚涓婁紶", "ERP"); + + var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.Success != 0) + { + throw new Exception("涓婁紶澶辫触" + obj.Message); + }*/ + #endregion + } + else { - throw new Exception("涓婁紶澶辫触" + obj.Message); - }*/ - #endregion + var list = new List<BackSoDetail>(); + foreach (var d in detail) + { + var mater = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == d.SkuNo); + if (mater == null) + { + throw new Exception($"澶嶆牳澶辫触锛岀墿鏂欑紪鐮�:{d.SkuNo}鐨勭墿鏂欎俊鎭笉瀛樺湪"); + } + var item = new BackSoDetail() + { + POSNR = d.OrderDetailCode, + MATNR = d.SkuNo, + CHARG = d.LotNo, + LFIMG = d.CompleteQty.ToString(), + MEINS = mater.UnitNo, + HSDAT = "", + VFDAT = "" + }; + list.Add(item); + } + var soInfo = new BackSoVm() + { + ZUUID = Guid.NewGuid().ToString(), + VBELN = notice.OrderCode, + WERKS = notice.CustomerNo, + LFART = notice.Type, + WADAT_IST = Convert.ToDateTime(notice.CompleteTime).ToString("yyyy-MM-dd"), + ITEM = list + }; + #region 閫氳繃鎺ュ彛鍙戦�佽嚦erp + //绯荤粺瀵规帴鍚庢斁寮� + /*var jsonData = JsonConvert.SerializeObject(soInfo); + + var response = HttpHelper.DoPost(url, jsonData, "鍑哄簱鍗曞畬鎴愪笂浼�", "ERP"); + + var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁 + if (obj.Success != 0) + { + throw new Exception("涓婁紶澶辫触" + obj.Message); + }*/ + #endregion + } notice.Status = "6"; notice.CheckTime = DateTime.Now; -- Gitblit v1.8.0