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

---
 Wms/Model/ModelDto/BllSoDto/ExportNoticeDto.cs |   10 +++++
 HTML/views/SOSetting/ExportAllot.html          |   18 +++++++++
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs  |   47 +++++++++++++++++++++--
 Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs   |    2 +
 4 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/HTML/views/SOSetting/ExportAllot.html b/HTML/views/SOSetting/ExportAllot.html
index fa226d7..3e3fd25 100644
--- a/HTML/views/SOSetting/ExportAllot.html
+++ b/HTML/views/SOSetting/ExportAllot.html
@@ -217,6 +217,22 @@
 										}}
 										{{ GetBtn7(d) }}
 									</script>
+
+									<script type="text/html" id="templetUnstackingMode">
+										{{# function GetBtn8(d){
+												switch (d.UnstackingMode) {
+													case "0":
+														return "鏈哄櫒浜烘媶鍨�";
+													case "1":
+														return "浜哄伐鎷嗗灈";
+													default:
+														return "";
+												}
+											}	
+										}}
+										{{ GetBtn8(d) }}
+									</script>
+									
 									<!-- #endregion -->
 								</div>								
 							</div>
@@ -320,7 +336,9 @@
 						{field: 'Status',align: 'center',title: '鐘舵��',width: 90,templet: '#templetStatus'},
 						{field: 'Qty',title: '鍑哄簱鏁伴噺',align: 'center',width: 90,}, 
 						{field: 'CompleteQty',title: '鎷h揣鏁伴噺',align: 'center',width: 90}, 
+						{field: 'UnstackingMode',title: '鎷嗗灈鏂瑰紡',align: 'center',width: 90,templet: '#templetUnstackingMode'}, 
 						{field: 'OutMode',title: '鍑哄簱鍙�',align: 'center',width: 90,templet: '#outType',}, 
+						{field: 'LoadingAddre',title: '瑁呰溅鍙�',align: 'center',width: 90,templet: '#outType',}, 
 						{field: 'IsAdvance',title: '鎷h揣绫诲瀷',align: 'center',width: 90,templet: '#templetIsAdvance'}, 
 						{field: 'SupplierLot',title: '渚涜揣鎵规',align: 'center',width: 110}, 
 						{field: 'LotText',title: '鎵规鎻忚堪',align: 'center',width: 150}, 
diff --git a/Wms/Model/ModelDto/BllSoDto/ExportNoticeDto.cs b/Wms/Model/ModelDto/BllSoDto/ExportNoticeDto.cs
index 59b18cf..87cac3d 100644
--- a/Wms/Model/ModelDto/BllSoDto/ExportNoticeDto.cs
+++ b/Wms/Model/ModelDto/BllSoDto/ExportNoticeDto.cs
@@ -257,6 +257,16 @@
         public string OutMode { get; set; }
 
         /// <summary>
+        /// Desc:瑁呰溅鍙�
+        /// </summary>           
+        public string LoadingAddre { get; set; }
+
+        /// <summary>
+        /// Desc:鎷嗗灈妯″紡
+        /// </summary>           
+        public string UnstackingMode { get; set; }
+
+        /// <summary>
         /// 鍒涘缓鏃ユ湡
         /// </summary>
         public DateTime CreateTime { get; set; }
diff --git a/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs b/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs
index be1897b..5592433 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportAllotServer.cs
@@ -75,6 +75,8 @@
                         LogisticsName = b.CarrierName,
                         IsAdvance = a.IsAdvance,
                         OutMode = a.OutMode,
+                        LoadingAddre=a.LoadingAddre,
+                        UnstackingMode=a.UnstackingMode,
 
                         CreateUserName = c.RealName,
                         UpdateUserName = d.RealName,
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