From 24eaa29a52b8c050fc391eafd0b0cc370733cf91 Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期三, 26 十一月 2025 15:22:16 +0800
Subject: [PATCH] 修改拣货拼托判断有误

---
 Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs |   52 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 35 insertions(+), 17 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
index 9af5f4d..a95d6f3 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaSoServer.cs
@@ -118,19 +118,22 @@
                 var sdId = 0;
                 bool isNew = false;
 
-                var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);
+                //var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);
+                var pinStockDetail = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
 
                 if (pinStockDetail != null)
                 {
+                    //淇敼鎵樼洏琛ㄧ姸鎬佽鎵樼洏琛ㄥ拰搴撳瓨鏄庣粏琛ㄤ繚鎸佷竴鑷�
+                    string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'";
+                    int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql);
+                    Db.CommitTran();
+
                     if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�                                                
                     {
-                        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("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
-                        //}
+                        //var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList();
+                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew).ToList();
                         //鍙厑璁哥粦瀹氬悓涓�涓嚭搴撳崟涓嬬殑鐗╂枡
-                        if (pinStockDetails.GroupBy(e => e.SONo).Count() > 0 && pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
+                        if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
                         {
                             throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
                         }
@@ -150,14 +153,10 @@
                     if (newPalletInfo.Status == "0")
                     {
                         var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && (m.SkuNo != stockDetail.SkuNo || m.LotNo != stockDetail.LotNo)).ToList();
-                        //if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
-                        //{
-                        //    throw Oops.Bah("涓�涓墭鐩樺彧鑳芥帴鍙椾竴涓嚭搴撳崟鎷兼墭锛�");
-                        //}
                         //鍙厑璁哥粦瀹氬悓涓�涓嚭搴撳崟涓嬬殑鐗╂枡
-                        if (pinStockDetails.GroupBy(e => e.SONo).Count() > 0 && pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
+                        if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
                         {
-                            throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
+                            throw Oops.Bah("涓�涓墭鐩樺彧鑳芥帴鍙椾竴涓嚭搴撳崟鎷兼墭锛�");
                         }
                     }
                     else
@@ -214,6 +213,10 @@
                     sd.UDF5 = "1";
                     //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅
                     sdId = await Db.Insertable(sd).ExecuteReturnIdentityAsync();
+
+                    //淇敼鎵樼洏琛ㄧ姸鎬佽鎵樼洏琛ㄥ拰搴撳瓨鏄庣粏琛ㄤ繚鎸佷竴鑷�
+                    string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'";
+                    int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql);
                 }
                 #endregion
 
@@ -604,12 +607,19 @@
 
                 #region 鎷兼墭淇℃伅
                 bool isNew = false;
-                var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);
+                //var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.SkuNo == stockDetail.SkuNo && m.LotNo == stockDetail.LotNo);
+                var pinStockDetail = await Db.Queryable<DataStockDetail>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
                 if (pinStockDetail != null)
                 {
+                    //淇敼鎵樼洏琛ㄧ姸鎬佽鎵樼洏琛ㄥ拰搴撳瓨鏄庣粏琛ㄤ繚鎸佷竴鑷�
+                    string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'";
+                    int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql);
+                    Db.CommitTran();
+
                     if (palletNo != palletNoNew)//闈炴暣鎵樻嫞璐�
                     {
-                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList();
+                        //var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Id != pinStockDetail.Id).ToList();
+                        var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew).ToList();
                         if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
                         {
                             throw Oops.Bah("鎷兼墭鎵樼洏涓婂彧鑳芥斁鍚屼竴涓嚭搴撳崟涓嬬殑鐗╂枡锛�");
@@ -620,8 +630,13 @@
                 {
                     isNew = true;
 
-                    var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
+                    //var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew && m.Status == "0");
+                    var newPalletInfo = await Db.Queryable<SysPallets>().FirstAsync(m => m.IsDel == "0" && m.PalletNo == palletNoNew);
                     if (newPalletInfo == null)
+                    {
+                        throw Oops.Bah("鏂版墭鐩樹俊鎭笉瀛樺湪锛�");
+                    }
+                    if (newPalletInfo.Status == "0")
                     {
                         var pinStockDetails = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNoNew && (m.SkuNo != stockDetail.SkuNo && m.LotNo != stockDetail.LotNo)).ToList();
                         if (pinStockDetails.Count(m => m.SONo != notice.SONo) > 0)
@@ -685,9 +700,12 @@
                         CreateTime = nowDate,
                         UDF5 = "1"
                     };
-
                     //鏂板鎷兼墭搴撳瓨鏄庣粏淇℃伅
                     await Db.Insertable(sd).ExecuteReturnIdentityAsync();
+
+                    //淇敼鎵樼洏琛ㄧ姸鎬佽鎵樼洏琛ㄥ拰搴撳瓨鏄庣粏琛ㄤ繚鎸佷竴鑷�
+                    string uptPalletStatusSql = $@"update SysPallets set Status='1' where PalletNo='{palletNoNew}'";
+                    int uptPalletStatus = Db.Ado.ExecuteCommand(uptPalletStatusSql);
                 }
                 else
                 {

--
Gitblit v1.8.0