From 54c9cb77e93d08bc330b9a421e6232b7f7bba57a Mon Sep 17 00:00:00 2001 From: wxw <Administrator@DESKTOP-5BIMHQ3> Date: 星期五, 19 九月 2025 17:30:36 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/HttpServer.cs | 93 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 82 insertions(+), 11 deletions(-) diff --git a/Wms/WMS.BLL/HttpServer.cs b/Wms/WMS.BLL/HttpServer.cs index 8672d8e..7ca3643 100644 --- a/Wms/WMS.BLL/HttpServer.cs +++ b/Wms/WMS.BLL/HttpServer.cs @@ -6,6 +6,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using System.Threading.Tasks; using Utility.Tools; using WMS.BLL.Logic; using WMS.BLL.LogServer; @@ -35,7 +36,7 @@ #region 鍒ゆ柇 if (string.IsNullOrEmpty(palletNo)) { - throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�"); + throw new Exception("鎵樼洏鍙蜂笉鑳戒负绌�!"); } if (string.IsNullOrEmpty(houseNo)) { @@ -144,7 +145,12 @@ for (int i = 1; i <= 2; i++) { var iStr = i.ToString(); - locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", iStr); + try + { + locate = allotLocate.GetSuiTableLocate(houseNo, areaList, "", iStr); + } + catch (Exception e) + { } if (locate != null) { break; @@ -840,7 +846,15 @@ var roadStr = Db.Queryable<SysStorageRoadway>().Where(m => m.IsDel == "0" && m.Status == "0").Select(m=>m.RoadwayNo).ToList(); //宸烽亾缁勪俊鎭� var roadList = Db.Queryable<SysStorageLocat>().Where(m => m.IsDel == "0" && m.WareHouseNo == houseNo && areaList.Contains(m.AreaNo) && !string.IsNullOrWhiteSpace(m.RoadwayNo) && roadStr.Contains(m.RoadwayNo)) - .GroupBy(m => m.RoadwayNo).OrderBy(m => m.RoadwayNo).Select(m => m.RoadwayNo).ToList(); + .GroupBy(m => m.RoadwayNo) + .Select(m => m.RoadwayNo) + .ToList() + .OrderBy(roadwayNo => + { + // 绉婚櫎鎵�鏈夐潪鏁板瓧瀛楃锛屽彧淇濈暀鏁板瓧 + var numbersOnly = new string(roadwayNo.Where(char.IsDigit).ToArray()); + return int.TryParse(numbersOnly, out int result) ? result : 0; + }).ToList(); #endregion @@ -1979,7 +1993,64 @@ throw new Exception(e.Message); } } + /// <summary> + /// PDA骞冲簱涓嬪彂鍑哄簱 + /// </summary> + /// <param name="soNo"></param> + /// <param name="detailId"></param> + /// <param name="palletNo"></param> + /// <param name="userId"></param> + /// <exception cref="Exception"></exception> + public void IssueOutHousePk(string soNo, string detailId, string palletNo, int userId) + { + try + { + var notice = Db.Queryable<BllExportNotice>().First(m => m.SONo == soNo && m.IsDel == "0"); + if (notice == null) + { + throw new Exception($"鏈壘鍒皗soNo}鍑哄簱鍗曚俊鎭�"); + } + var detail=Db.Queryable<DataStockDetail>().First(m => m.PalletNo == palletNo && m.IsDel == "0"); + if (detail.WareHouseNo != "W04") + { + throw new Exception("浠撳簱鍙烽敊璇�"); + } + var intDetailId = int.Parse(detailId); + if (intDetailId <= 0) + { + throw new Exception("閫夋嫨鐨勫嚭搴撳崟鏄庣粏鍙傛暟閿欒"); + } + //寮�鍚簨鍔� + Db.BeginTran(); + notice.Status = "3";//姝e湪杩涜 + Db.Updateable(notice).ExecuteCommand(); + + //鎵�鏈夎鍑哄簱鐨勫嚭搴撳垎閰嶄俊鎭�(鏈笅鍙戠殑淇℃伅鍜屽緟鎷h揣鐨勪俊鎭�) + var allot = Db.Queryable<BllExportAllot>().Where(a => a.IsDel == "0" && a.PalletNo == palletNo && a.Status == "0").ToList(); + if (allot == null || allot.Count <= 0) //鍒ゆ柇鏄惁鏈夐渶瑕佷笅鍙戠殑鍑哄簱娴佹按 + { + throw new Exception("褰撳墠鍑哄簱鍗曟嵁鏃犻渶瑕佷笅鍙戠殑鎵樼洏"); + } + //鍑哄簱娴佹按锛堟洿鏀圭姸鎬侊級 + foreach (var item in allot) + { + item.Status = "2"; + Db.Updateable(item).ExecuteCommand(); + } + + //娣诲姞鎿嶄綔鏃ュ織璁板綍 + var k = new OperationSOServer().AddLogOperationSo("PDA妯″潡", "涓嬪彂鍑哄簱", soNo, "鍑哄簱", $"鐐瑰嚮鍑哄簱鎸夐挳鍑哄簱鍗曞彿涓猴細{soNo}鐨勫嚭搴撳崟", userId); + //鎻愪氦浜嬪姟 + Db.CommitTran(); + } + catch (Exception e) + { + //鍥炴粴浜嬪姟 + Db.RollbackTran(); + throw new Exception(e.Message); + } + } #region MyRegion @@ -2027,15 +2098,15 @@ //Db.Insertable(exTask).ExecuteCommand(); - // 璋冪敤Limes鎺ュ彛鍙戣捣璇烽獙 - var sendModel = new SendLimesModel() + // 璋冪敤Sqp鎺ュ彛鍙戣捣璇烽獙 + var sendModel = new SendSapQcDetailVm() { QcNo = data.QcNo, - SkuNo = data.SkuNo, - Qty = data.Qty.ToString(), - LotNo = data.LotNo, - SupplierLot = data.SupplierLot, - RequestUser = userName, // 璇烽獙浜� + skuNo=data.SkuNo, + skuName = data.SkuNo, + lotNo = data.LotNo, + Qty = Convert.ToDecimal(data.Qty), + SupplierLot = data.SupplierLot }; var jsonData = JsonConvert.SerializeObject(sendModel); string response = ""; @@ -2043,7 +2114,7 @@ try { var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss") - //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Limes绯荤粺鍙戣捣璇烽獙", "Limes"); + //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Sap绯荤粺鍙戣捣璇烽獙", "Sap"); var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss") ////瑙f瀽杩斿洖鏁版嵁 -- Gitblit v1.8.0