From ace9eda37e88b1642e68ec03eb1cd722b9a921ce Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 04 三月 2024 09:48:59 +0800
Subject: [PATCH] 出库页面修改

---
 Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs |  100 ++++++++++++++++++++++++++++++++++---------------
 1 files changed, 69 insertions(+), 31 deletions(-)

diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 2d8c259..d65b27e 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -11,6 +11,7 @@
 using Model.ModelVm.BllCheckVm;
 using Newtonsoft.Json;
 using SqlSugar;
+using SqlSugar.Extensions;
 using Utility.Tools;
 using WMS.BLL.LogServer;
 using WMS.DAL;
@@ -543,53 +544,90 @@
                     //寰幆鐩樼偣璁板綍
                     foreach (var l in demo)
                     {
+                        var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == l.SkuNo);
                         if (l.CheckResult == 0)//姝e父
                         {
-                            var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3);
-                            if (de3 == null)
+                            if (sku.Type != "4")
                             {
-                                throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�");
+                                var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3);
+                                if (de3 == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�");
+                                }
+                                var de2 = stockDetail.First(m => m.Id == de3.StockDetailId);
+                                if (de2 == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�");
+                                }
+                                de2.Status = "0";//灏嗗簱瀛樻槑缁嗙姸鎬佹敼涓哄緟鍒嗛厤
+                                Db.Updateable(de2).ExecuteCommand();
                             }
-                            var de2 = stockDetail.First(m => m.Id == de3.StockDetailId);
-                            if (de2 == null)
+                            else
                             {
-                                throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�");
+                                var de2 = stockDetail.First(m => m.PalletNo == l.PalletNo && m.SkuNo == l.SkuNo);
+                                if (de2 == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌{l.PalletNo}鐨勫簱瀛樻槑缁嗙殑淇℃伅");
+                                }
+                                de2.Status = "0";//灏嗗簱瀛樻槑缁嗙姸鎬佹敼涓哄緟鍒嗛厤
+                                Db.Updateable(de2).ExecuteCommand();
                             }
-                            de2.Status = "0";//灏嗗簱瀛樻槑缁嗙姸鎬佹敼涓哄緟鍒嗛厤
-                            Db.Updateable(de2).ExecuteCommand();
+
                         }
                         else if (l.CheckResult == 1)//鐩樹簭
                         {
-                            var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3);
-                            if (de3 == null)
+                            if (sku.Type != "4")
                             {
-                                throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�");
-                            }
+                                var de3 = stockBox.First(m => m.BoxNo == l.BoxNo && m.BoxNo3 == l.BoxNo3);
+                                if (de3 == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨绠辩爜鐨勪俊鎭�");
+                                }
 
-                            var de2 = stockDetail.First(m => m.Id == de3.StockDetailId);
-                            if (de2 == null)
-                            {
-                                throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�");
-                            }
-                            de2.Status = "0";
-                            de2.Qty -= de3.Qty;
-                            var de = stock.First(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo);
-                            if (de == null)
-                            {
-                                throw new Exception($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅");
-                            }
-                            de.Qty -= de3.Qty;
+                                var de2 = stockDetail.First(m => m.Id == de3.StockDetailId);
+                                if (de2 == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌{l.BoxNo}绠变腑{l.BoxNo3}搴撳瓨鏄庣粏鐨勪俊鎭�");
+                                }
+                                de2.Status = "0";
+                                de2.Qty -= de3.Qty;
+                                var de = stock.First(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo);
+                                if (de == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅");
+                                }
+                                de.Qty -= de3.Qty;
 
-                            Db.Updateable(de).ExecuteCommand();
-                            Db.Updateable(de2).ExecuteCommand();
-                            Db.Deleteable(de3).ExecuteCommand();
+                                Db.Updateable(de).ExecuteCommand();
+                                Db.Updateable(de2).ExecuteCommand();
+                                Db.Deleteable(de3).ExecuteCommand();
+                            }
+                            else
+                            {
+                                var de2 = stockDetail.First(m => m.PalletNo == l.PalletNo && m.SkuNo == l.SkuNo);
+                                if (de2 == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌{l.PalletNo}鐨勫簱瀛樻槑缁嗙殑淇℃伅");
+                                }
+                                de2.Status = "0";
+                                de2.Qty = l.RealQty;
+                                var de = stock.First(m => m.SkuNo == l.SkuNo && m.LotNo == l.LotNo);
+                                if (de == null)
+                                {
+                                    throw new Exception($"鏈煡璇㈠埌鐗╂枡{l.SkuNo}鎵规{l.LotNo}鐨勬�诲簱瀛樼殑淇℃伅");
+                                }
+                                de.Qty -= Convert.ToDecimal(l.Qty - l.RealQty);
+
+                                Db.Updateable(de).ExecuteCommand();
+                                Db.Updateable(de2).ExecuteCommand();
+                            }
 
                         }
                         else if (l.CheckResult == 2)//鐩樼泩
                         {
-                            var sku = Db.Queryable<SysMaterials>().First(a => a.IsDel == "0" && a.SkuNo == l.SkuNo);
+
                             var stockDetailInfo = stockDetail.First(m => m.PalletNo == d.PalletNo && m.SkuNo == d.SkuNo && m.LotNo == d.LotNo);//搴撳瓨鏄庣粏
-                            
+
                             if (sku.Type != "4")
                             {
                                 var stockBoxInfo = stockBox.First(m => m.StockDetailId == stockDetailInfo.Id);//搴撳瓨绠辨敮鏄庣粏
@@ -644,7 +682,7 @@
                             {
                                 de.Qty += (int)(l.RealQty - l.Qty);
                             }
-                            
+
                             Db.Updateable(de).ExecuteCommand();
                         }
                     }

--
Gitblit v1.8.0