From 16865166b741233bad83756ab30899440ecc0dd3 Mon Sep 17 00:00:00 2001 From: chengsc <11752@DESKTOP-DS49RCP> Date: 星期六, 19 四月 2025 08:15:30 +0800 Subject: [PATCH] 修改问题 --- Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs | 95 +++++++++++++++++++++++++++++++---------------- 1 files changed, 63 insertions(+), 32 deletions(-) diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs index 5a9d722..512b2d9 100644 --- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs +++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs @@ -118,20 +118,20 @@ #region 鎷兼墭淇℃伅 var sdId = 0; bool isNew = false; - var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew); + + var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo); + if (pinStockDetail != null) { if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐� { - if (pinStockDetail.SONo != notice.SONo) + var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id!= pinStockDetail.Id).ToList(); + if (pinStockDetails.Count(m=>m.SONo != notice.SONo) > 0) { throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); } - if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) - { - isNew = true; - } } + sdId = pinStockDetail.Id; } else @@ -147,6 +147,7 @@ newPalletInfo.Status = "1"; await Db.Updateable(newPalletInfo).ExecuteCommandAsync(); } + var sd = new DataStockDetail(); if (isNew) { @@ -189,7 +190,7 @@ sd.IsDel = "0"; sd.CreateUser = userId; sd.CreateTime = nowDate; - + sd.UDF5 = "1"; //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅 sdId = await Db.Insertable(sd).ExecuteReturnIdentityAsync(); } @@ -269,6 +270,7 @@ if (palletNo != palletNoNew) { + var locateStr = stockDetail.LocatNo; //鍒犻櫎鍘熸墭鐩樺簱瀛樻槑缁� await Db.Deleteable(stockDetail).ExecuteCommandAsync(); @@ -280,10 +282,19 @@ } pallet.Status = "0"; await Db.Updateable(pallet).ExecuteCommandAsync(); + + //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣� + var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } } else { stockDetail.SONo = soNo; + stockDetail.UDF5 = "1"; await Db.Updateable(stockDetail).ExecuteCommandAsync(); } @@ -301,14 +312,13 @@ } else { - var biaoShi = "0";//0锛氭暣绠辨嫞璐с��1锛氭暎鏀嫞璐с��2锛氭暟閲忔嫞璐� List<DataBoxInfo> boxInfos; var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo); if (await boxInfo.CountAsync() == 0) { throw Oops.Bah("鏈煡璇㈠埌璇ョ鐮佺殑淇℃伅"); } - + boxInfos = boxInfo.ToList(); var comDetailList = await Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allot.Id && m.PalletNo == palletNo).ToListAsync(); //鏁寸鎷h揣 @@ -322,7 +332,7 @@ { throw Oops.Bah("鎷h揣鏁伴噺涓嶈兘澶т簬绠卞唴鍓╀綑寰呮嫞鏁伴噺"); } - boxInfos = await boxInfo.ToListAsync(); + foreach (var item in boxInfos) { if (comDetailList.Any(m => m.BoxNo == item.BoxNo)) @@ -360,9 +370,13 @@ comList.Add(completeDetail); //淇敼搴撳瓨绠辩爜鏄庣粏 - item.StockDetailId = sdId; - item.BindNo = null;//鎵樼洏缁戝畾鍙� - item.PalletNo = palletNoNew; + if (palletNo != palletNoNew) + { + item.StockDetailId = sdId; + item.BindNo = null;//鎵樼洏缁戝畾鍙� + item.PalletNo = palletNoNew; + } + item.Status = "5";//绠辨敮鐘舵�侊紝0锛氭湭缁勬墭 1锛氬凡缁勬墭 2锛氬凡鍏ュ簱 3锛氬凡鍑哄簱 4:宸插垎閰� 5锛氬凡鎷h揣 await Db.Updateable(item).ExecuteCommandAsync(); @@ -382,6 +396,7 @@ stockDetail.BitPalletMark = "1";//淇敼涓洪浂鎵樻爣璇� stockDetail.Qty -= pickQty; stockDetail.LockQty -= pickQty; + stockDetail.UDF5 = "1"; if (stockDetail.Qty == stockDetail.LockQty) { stockDetail.Status = "2"; @@ -397,15 +412,9 @@ if (stockDetail.Qty <= 0) { + var locateStr = stockDetail.LocatNo; await Db.Deleteable(stockDetail).ExecuteCommandAsync(); - } - else - { - await Db.Updateable(stockDetail).ExecuteCommandAsync(); - } - var num2 = await Db.Queryable<DataStockDetail>().CountAsync(m => m.IsDel == "0" && m.PalletNo == palletNo); - if (num2 <= 0) - { + //鏀瑰彉鎵樼洏鐘舵�� var pallet = await Db.Queryable<SysPallets>().FirstAsync(m => m.PalletNo == palletNo && m.IsDel == "0"); if (pallet == null) @@ -414,7 +423,20 @@ } pallet.Status = "0"; await Db.Updateable(pallet).ExecuteCommandAsync(); + + //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣� + var locate = Db.Queryable<SysStorageLocat>().First(m => m.IsDel == "0" && m.LocatNo == locateStr); + if (locate != null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } } + else + { + await Db.Updateable(stockDetail).ExecuteCommandAsync(); + } + //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� noticeDetail.CompleteQty += pickQty; await Db.Updateable(noticeDetail).ExecuteCommandAsync(); @@ -542,18 +564,15 @@ #region 鎷兼墭淇℃伅 bool isNew = false; - var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew); + var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo== stockDetail.SkuNo && m.LotNo == stockDetail.LotNo); if (pinStockDetail != null) { if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐� { - if (pinStockDetail.SONo != notice.SONo) + var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList(); + if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0) { throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�"); - } - if (pinStockDetail.SkuName != stockDetail.SkuName || pinStockDetail.LotNo != stockDetail.LotNo) - { - isNew = true; } } } @@ -617,6 +636,7 @@ sd.IsDel = "0"; sd.CreateUser = userId; sd.CreateTime = nowDate; + sd.UDF5 = "1"; //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅 await Db.Insertable(sd).ExecuteReturnIdentityAsync(); @@ -628,11 +648,13 @@ //淇敼鎷兼墭鎵樼洏搴撳瓨鏄庣粏 pinStockDetail.Qty += int.Parse(PickQty); pinStockDetail.LockQty += int.Parse(PickQty); + pinStockDetail.UDF5 = "1"; await Db.Updateable(pinStockDetail).ExecuteCommandAsync(); } else { pinStockDetail.SONo = soNo; + pinStockDetail.UDF5 = "1"; await Db.Updateable(pinStockDetail).ExecuteCommandAsync(); } } @@ -697,7 +719,7 @@ await Db.Updateable(allot).ExecuteCommandAsync(); int isDel = 0; - + var locateStr = stockDetail.LocatNo; if (palletNo != palletNoNew) { //鍒犻櫎鎴栦慨鏀瑰簱瀛樻槑缁� @@ -742,6 +764,15 @@ pallet.Status = "0"; await Db.Updateable(pallet).ExecuteCommandAsync(); + + //鏇存敼鍌ㄤ綅鐘舵�佷负绌哄偍浣� + var locate = Db.Queryable<SysStorageLocat>().First(m=>m.IsDel == "0" && m.LocatNo == locateStr); + if (locate!=null) + { + locate.Status = "0"; + Db.Updateable(locate).ExecuteCommand(); + } + } //淇敼鍑哄簱鍗曟槑缁嗘嫞璐ф暟閲� @@ -803,10 +834,10 @@ throw Oops.Bah("鎵樼洏鐮佷负绌猴紝璇疯緭鍏ユ墭鐩樼爜"); } var palletInfo = await Db.Queryable<DataStockDetail>().FirstAsync(w => w.IsDel == "0" && w.PalletNo == palletNo); - if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") - { - throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�"); - } + //if (!string.IsNullOrEmpty(palletInfo.WareHouseNo) && type != "1") + //{ + // throw Oops.Bah("璇ユ墭鐩樿繕鏈嚭搴�"); + //} if (type == "1")//骞冲簱鍑哄簱鑾峰彇鍗曟嵁 { var allotList = await Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.Status == "1" && m.PalletNo == palletNo).Select(m => m.SONo).Distinct().Where(m => !string.IsNullOrWhiteSpace(m)).ToListAsync(); -- Gitblit v1.8.0