From 6c3738d337fe68c2008b38ad58861aa4b48d5530 Mon Sep 17 00:00:00 2001
From: DESKTOP-9BNTV8O <DESKTOP-9BNTV8O@163.com>
Date: 星期五, 13 十二月 2024 14:46:40 +0800
Subject: [PATCH] 修改问题

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |  179 +++++++++++++++++------------------------------------------
 1 files changed, 51 insertions(+), 128 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 8726081..e904d0f 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -983,42 +983,42 @@
 
                 }).ToList();
                 //搴撳瓨鎬昏〃
-                var stock = stockRst.GetAllAsync().Select(it => new ExStockInfoDto
-                {
-                    SkuNo = it.SkuNo,
-                    SkuName = it.SkuName,
-                    LotNo = it.LotNo,
-                    Standard = it.Standard,
-                    //Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty,
-                    Qty = it.Qty - it.LockQty - it.FrozenQty,
+                //var stock = stockRst.GetAllAsync().Select(it => new ExStockInfoDto
+                //{
+                //    SkuNo = it.SkuNo,
+                //    SkuName = it.SkuName,
+                //    LotNo = it.LotNo,
+                //    Standard = it.Standard,
+                //    //Qty = type == "4" ? it.Qty : it.Qty - it.LockQty - it.FrozenQty,
+                //    Qty = it.Qty - it.LockQty - it.FrozenQty,
 
-                }).ToList();
+                //}).ToList();
 
-                foreach (var l in stockDetail.ToArray())
-                {
-                    var fq = stock.Where(s => s.SkuNo == l.SkuNo);
-                    if (!string.IsNullOrWhiteSpace(l.LotNo))
-                    {
-                        fq = fq.Where(s => s.LotNo == l.LotNo);
-                    }
-                    else
-                    {
-                        fq = fq.Where(s => string.IsNullOrWhiteSpace(s.LotNo));
-                    }
-                    var f = fq.FirstOrDefault();
-                    if (f == null)
-                    {
-                        throw new Exception("搴撳瓨淇℃伅閿欒锛岃鏍稿疄");
-                    }
-                    if (f.Qty != null && f.Qty.Value < l.Qty)
-                    {
-                        l.Qty = f.Qty.Value;
-                    }
-                    if (l.Qty <= 0)
-                    {
-                        stockDetail.Remove(l);
-                    }
-                }
+                //foreach (var l in stockDetail.ToArray())
+                //{
+                //    var fq = stock.Where(s => s.SkuNo == l.SkuNo);
+                //    if (!string.IsNullOrWhiteSpace(l.LotNo))
+                //    {
+                //        fq = fq.Where(s => s.LotNo == l.LotNo);
+                //    }
+                //    else
+                //    {
+                //        fq = fq.Where(s => string.IsNullOrWhiteSpace(s.LotNo));
+                //    }
+                //    var f = fq.FirstOrDefault();
+                //    if (f == null)
+                //    {
+                //        throw new Exception("搴撳瓨淇℃伅閿欒锛岃鏍稿疄");
+                //    }
+                //    if (f.Qty != null && f.Qty.Value < l.Qty)
+                //    {
+                //        l.Qty = f.Qty.Value;
+                //    }
+                //    if (l.Qty <= 0)
+                //    {
+                //        stockDetail.Remove(l);
+                //    }
+                //}
 
                 return stockDetail;
 
@@ -4078,38 +4078,30 @@
                     {
                         throw new Exception("鏈煡璇㈠埌浠诲姟淇℃伅");
                     }
-                    //鑾峰彇瀵瑰簲搴撲綅淇℃伅
-                    var startlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat);
-                    if (startlocat == null)
+                    if (task.OrderType == "0" || task.OrderType == "3")//鍏ュ簱鎴栫Щ搴�
                     {
-                        throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅");
-                    }
-                    startlocat.Status = "0";//淇敼鍒嗛厤淇℃伅鐘舵��
-                    //鑾峰彇鍌ㄤ綅淇℃伅
-                    var locat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.StartLocat);
-                    //鑾峰彇绉诲簱浠籨鍔″搴旂洰鏍囧偍浣嶄俊鎭�
-                    SysStorageLocat endlocat = new SysStorageLocat();
-                    if (task.Type == "2")
-                    {
-                        endlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == task.EndLocat);
+                        //鑾峰彇鐩爣搴撲綅淇℃伅
+                        var endlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.LocatNo == task.EndLocat);
                         if (endlocat == null)
                         {
                             throw new Exception("鏈煡璇㈠埌鐩爣鍌ㄤ綅淇℃伅");
                         }
-                    }
-                    if (locat == null)
-                    {
-                        Db.RollbackTran();
-                        throw new Exception("鏈煡璇㈠埌鍌ㄤ綅淇℃伅锛岃鏍稿疄锛�");
-                    }
-                    locat.Status = "1"; //鏈夌墿鍝�
-                    Db.Updateable(locat).ExecuteCommand();
-                    if (endlocat != null)
-                    {
-                        endlocat.Status = "0"; //绌哄偍浣� 0
+                        endlocat.Status = "0";//绌哄偍浣�
+                        //淇敼鐩爣鍌ㄤ綅鐘舵��
                         Db.Updateable(endlocat).ExecuteCommand();
                     }
-
+                    if (task.OrderType == "1" || task.OrderType == "3")//鍑哄簱鎴栫Щ搴�
+                    {
+                        //鑾峰彇璧峰搴撲綅淇℃伅
+                        var startlocat = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.LocatNo == task.StartLocat);
+                        if (startlocat == null)
+                        {
+                            throw new Exception("鏈煡璇㈠埌璧峰鍌ㄤ綅淇℃伅");
+                        }
+                        startlocat.Status = "1";//鏈夌墿鍝�
+                        //淇敼璧峰鍌ㄤ綅鐘舵��
+                        Db.Updateable(startlocat).ExecuteCommand();
+                    }
                     //淇敼浠诲姟 
                     task.IsSuccess = 1;
                     task.IsSend = 0;
@@ -4118,75 +4110,6 @@
                     task.Status = "4";
                     task.CancelDate = DateTime.Now;
                     Db.Updateable(task).ExecuteCommand();
-
-                    //鍑哄簱鍒嗛厤淇℃伅
-                    var allot = Db.Queryable<BllExportAllot>().Where(m => m.IsDel == "0" && m.TaskNo == taskNo).ToList();
-                    foreach (var item in allot)
-                    {
-                        item.Status = "0";//淇敼鍒嗛厤淇℃伅鐘舵��
-                        item.TaskNo = "";
-                        var noticeDetail = Db.Queryable<BllExportNoticeDetail>().First(m => m.IsDel == "0" && m.Id == item.SODetailNo);
-                        if (noticeDetail == null)
-                        {
-                            throw new Exception("鏈煡璇㈠埌鍑哄簱鍗曟槑缁嗕俊鎭�");
-                        }
-
-                        noticeDetail.FactQty -= item.Qty; //淇敼鍑哄簱鍗曟槑缁嗙殑涓嬫灦鏁伴噺
-                        Db.Updateable(noticeDetail).ExecuteCommand();
-
-                        if (noticeDetail.FactQty == 0)
-                        {
-                            var noticeDetail2 = Db.Queryable<BllExportNoticeDetail>().Where(m => m.IsDel == "0" && m.SONo == item.SONo && m.Id != noticeDetail.Id).ToList();
-                            var num = noticeDetail2.Count(m => m.FactQty > 0);
-                            //鍒ゆ柇鍑哄簱鍗曠殑鎵�鏈夋槑缁嗘槸鍚﹂兘涓�0锛涘鏋滀负0鍙樻洿鍑哄簱鍗曠姸鎬佷负宸插垎閰�
-                            if (num == 0)
-                            {
-                                var notice = Db.Queryable<BllExportNotice>().First(m => m.IsDel == "0" && m.SONo == item.SONo);
-                                notice.Status = "2";
-                                Db.Updateable(notice).ExecuteCommand();
-                            }
-                        }
-                    }
-                    //鍒ゆ柇鏄惁瀛樺湪鍒嗛厤淇℃伅
-                    if (allot == null)
-                    {
-                        //鑾峰彇搴撳瓨鏄庣粏
-                        var stockDetail = Db.Queryable<DataStockDetail>().First(a => a.IsDel == "0" && a.PalletNo == task.PalletNo);
-                        //鑾峰彇搴撳瓨
-                        var datastock = Db.Queryable<DataStock>().First(a => a.IsDel == "0" && a.SkuNo == stockDetail.SkuNo);
-                        //鑾峰彇鍌ㄤ綅淇℃伅
-                        var locate = Db.Queryable<SysStorageLocat>().First(a => a.IsDel == "0" && a.WareHouseNo == "W01" && a.LocatNo == stockDetail.LocatNo);
-
-                        //鍒ゆ柇鏄惁涓虹┖鎵樼洏
-                        if (stockDetail.SkuNo == "100099")
-                        {
-                            //淇敼搴撳瓨鏄庣粏
-                            stockDetail.LockQty -= stockDetail.Qty; //閿佸畾鏁伴噺
-                            stockDetail.Status = "0"; //搴撳瓨鐘舵�� 0锛氬緟鍒嗛厤
-
-                            //淇敼搴撳瓨鎬昏〃
-                            datastock.LockQty -= (int)stockDetail.Qty; //閿佸畾鏁伴噺
-
-                            //淇敼鍌ㄤ綅鐘舵��
-                            locate.Status = "1"; //鍌ㄤ綅鐘舵�� 1锛氭湁鐗╁搧
-
-                            Db.Updateable(stockDetail).ExecuteCommand();
-                            Db.Updateable(datastock).ExecuteCommand();
-                            Db.Updateable(locate).ExecuteCommand();
-                        }
-                        else
-                        {
-                            //淇敼鍌ㄤ綅鐘舵��
-                            locate.Status = "1"; //鍌ㄤ綅鐘舵�� 1锛氭湁鐗╁搧
-                            Db.Updateable(locate).ExecuteCommand();
-
-                        }
-
-                    }
-                    else
-                    {
-                        Db.Updateable(allot).ExecuteCommand();
-                    }
 
                     //娣诲姞鎿嶄綔鏃ュ織璁板綍
                     var k = new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鏃ュ織", taskNo, "鍙栨秷", $"鐐瑰嚮鍙栨秷鎸夐挳銆佸彇娑堜簡浠诲姟鍙蜂负锛歿taskNo}鐨勪换鍔�", (int)userId);

--
Gitblit v1.8.0