From 9e30be167f6003eb5ea75264a2e0999017425805 Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期一, 04 三月 2024 17:01:38 +0800
Subject: [PATCH] 出库流程开发

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   47 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 20f3e34..909e6a3 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -1406,6 +1406,10 @@
                 var outLpnList = list.Select(m => m.PalletNo).ToList();
                 //瑕佸嚭搴撶殑鏄庣粏闆嗗悎
                 var outStockDetail = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && outLpnList.Contains(m.PalletNo)).ToList();
+                //鐗╂枡缂栫爜琛�
+                var skuList = Db.Queryable<SysMaterials>().Where(w => w.IsDel == "0");
+                //鍖呰琛�
+                var packagList = Db.Queryable<SysPackag>().Where(w => w.IsDel == "0");
                 Db.BeginTran();
                 try
                 {
@@ -1413,6 +1417,37 @@
                     //寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
                     foreach (var item in list)
                     {
+                        string toLocation = string.Empty;//鐩爣浣嶇疆
+                        #region 鍒ゆ柇鏄惁闇�瑕佹媶绠�
+                        string isChai = "0";//鏄惁闇�瑕佹媶绠憋紝0:涓嶉渶瑕�  1:闇�瑕�
+                        var skuInfo = skuList.First(w => w.SkuNo == item.SkuNo);
+                        if (skuInfo == null)
+                        {
+                            throw new Exception("鐗╂枡淇℃伅涓嶅瓨鍦紒");
+                        }
+                        var packagInfo = packagList.First(w => w.PackagNo == skuInfo.PackagNo);
+                        if (packagInfo == null)
+                        {
+                            throw new Exception("鍖呰淇℃伅涓嶅瓨鍦紒");
+                        }
+                        if (packagInfo.L2Name == "绠�")
+                        {
+                            if (item.Qty % (decimal)packagInfo.L2Num != 0)//鑳芥暣闄よ鏄庝笉鐢ㄦ媶绠憋紝涓嶈兘鏁撮櫎璇存槑闇�瑕佹媶绠�
+                            {
+                                isChai = "1";//闇�瑕佹媶绠�
+                                unstackingMode = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
+                            }
+                        }
+                        #endregion
+                        if (unstackingMode == "0")//鏈哄櫒浜烘媶鍨�
+                        {
+                            toLocation = loadingAddre;//瑁呰溅鍙�
+                        }
+                        else //PDA鎷嗗灈
+                        {
+                            toLocation = outMode;//鍑哄簱鍙�
+                        }
+
                         // 鍌ㄤ綅鍙�
                         var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo).LocatNo;
 
@@ -1512,7 +1547,7 @@
                                 IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
                                 StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = outMode,//鐩爣浣嶇疆
+                                EndLocat = toLocation,//outMode,//鐩爣浣嶇疆
                                 PalletNo = item.PalletNo,//鎵樼洏鐮�
                                 IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                                 IsCancel = 1,//鏄惁鍙彇娑�
@@ -1530,7 +1565,7 @@
                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
                                 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
-                                EndLocate = outMode, // 鐩爣浣嶇疆 
+                                EndLocate = toLocation,//outMode, // 鐩爣浣嶇疆 
                                 TaskNo = exTask.TaskNo, // 浠诲姟鍙�
                                 TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)
                                 OutMode = "",  //鐩爣鍦板潃
@@ -1564,9 +1599,10 @@
 
                             item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
                             item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                            item.OutMode = outMode;//鍑哄簱鍙�
+                            item.UnstackingMode = unstackingMode;//鎷嗗灈鏂瑰紡
+                            item.OutMode = unstackingMode == "1" ? outMode : "";//鍑哄簱鍙�
+                            item.LoadingAddre = unstackingMode == "0" ? loadingAddre : "";//瑁呰溅鍙�
                             Db.Updateable(item).ExecuteCommand();
-
 
                             #endregion
 
@@ -1607,7 +1643,8 @@
                             }
                             item.TaskNo = taskNo.TaskNo;
                             item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                            item.OutMode = taskNo.EndLocat;
+                            item.OutMode = unstackingMode == "1" ? taskNo.EndLocat : "";//鍑哄簱鍙�
+                            item.LoadingAddre = unstackingMode == "0" ? taskNo.EndLocat : "";//瑁呰溅鍙�
                             Db.Updateable(item).ExecuteCommand();
                             flagList.Add(0);
                             #endregion

--
Gitblit v1.8.0