From 65ecd34acf0a3d33e6c1e10c93e351716d749e2f Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 06 三月 2024 14:51:29 +0800
Subject: [PATCH] 修改出库单编辑页面

---
 Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs |   73 +++++++++++++++++++++++++++++++-----
 1 files changed, 63 insertions(+), 10 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 20dcf0a..c15510f 100644
--- a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
+++ b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
@@ -224,7 +224,7 @@
                     {
                         SkuNo = d.SkuNo,
                         LotNo = d.LotNo,
-                        Qty = int.Parse(d.CompleteQty.ToString())
+                        Qty = (decimal)d.CompleteQty
                     };
                     list.Add(item);
                 }
@@ -247,8 +247,8 @@
                 #endregion
 
                 notice.Status = "6";
-                notice.UpdateTime = DateTime.Now;
-                notice.UpdateUser = userId;
+                notice.CheckTime = DateTime.Now;
+                notice.CheckUser = userId;
                 Db.Updateable(notice).ExecuteCommand();
 
                 new OperationSOServer().AddLogOperationSo("鍑哄簱浣滀笟", "鍑哄簱鍗曟嵁", notice.SONo, "澶嶆牳", $"澶嶆牳浜嗗崟鎹彿涓簕notice.SONo}鐨勫崟鎹俊鎭�", userId);
@@ -1409,6 +1409,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
                 {
@@ -1416,6 +1420,47 @@
                     //寰幆鍒嗛厤鐨勪俊鎭敓鎴愬嚭搴撲换鍔�
                     foreach (var item in list)
                     {
+                        string toLocation = string.Empty;//鐩爣浣嶇疆
+                        string unstackingMode2 = unstackingMode;//鎷嗗灈鏂瑰紡锛�0:鏈哄櫒浜烘媶鍨� 1:PDA鎷嗗灈
+                        #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";
+                                unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
+                            }
+                        }
+                        if (isChai == "0")
+                        {
+                            var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.PalletNo == item.PalletNo && w.BitBoxMark == "1").ToList();
+                            if (boxInfo != null)//鎵樼洏涓婃湁闆剁闇�瑕佹媶绠�
+                            {
+                                isChai = "1";
+                                unstackingMode2 = "1";//闇�瑕佹媶绠遍渶璧癙DA鎷嗗灈
+                            }
+                        }                        
+                        #endregion
+                        if (unstackingMode2 == "0")//鏈哄櫒浜烘媶鍨�
+                        {
+                            toLocation = loadingAddre;//瑁呰溅鍙�
+                        }
+                        else //PDA鎷嗗灈
+                        {
+                            toLocation = outMode;//鍑哄簱鍙�
+                        }
+
                         // 鍌ㄤ綅鍙�
                         var locateNo = outStockDetail.First(m => m.PalletNo == item.PalletNo).LocatNo;
 
@@ -1515,7 +1560,7 @@
                                 IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
                                 StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = outMode,//鐩爣浣嶇疆
+                                EndLocat = toLocation,//outMode,//鐩爣浣嶇疆
                                 PalletNo = item.PalletNo,//鎵樼洏鐮�
                                 IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                                 IsCancel = 1,//鏄惁鍙彇娑�
@@ -1523,7 +1568,7 @@
                                 Type = "1",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                                 Status = "0",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                                 OrderType = "1",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                                Msg = "浠�" + locate.LocatNo + "鍒�" + outMode + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
+                                Msg = "浠�" + locate.LocatNo + "鍒�" + toLocation + "鐨勫嚭搴撲换鍔�", //鍏抽敭淇℃伅
                             };
                             Db.Insertable(exTask).ExecuteCommand();
                             logTaskList.Add(exTask);
@@ -1533,7 +1578,7 @@
                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
                                 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
-                                EndLocate = outMode, // 鐩爣浣嶇疆 
+                                EndLocate = toLocation,//outMode, // 鐩爣浣嶇疆 
                                 TaskNo = exTask.TaskNo, // 浠诲姟鍙�
                                 TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)
                                 OutMode = "",  //鐩爣鍦板潃
@@ -1567,9 +1612,10 @@
 
                             item.TaskNo = exTask.TaskNo; // 鍑哄簱鍒嗛厤淇℃伅涓洿鏂颁换鍔″彿
                             item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                            item.OutMode = outMode;//鍑哄簱鍙�
+                            item.UnstackingMode = unstackingMode2;//鎷嗗灈鏂瑰紡
+                            item.OutMode = unstackingMode2 == "1" ? outMode : "";//鍑哄簱鍙�
+                            item.LoadingAddre = unstackingMode2 == "0" ? loadingAddre : "";//瑁呰溅鍙�
                             Db.Updateable(item).ExecuteCommand();
-
 
                             #endregion
 
@@ -1610,7 +1656,8 @@
                             }
                             item.TaskNo = taskNo.TaskNo;
                             item.Status = "1"; // 鍑哄簱鍒嗛厤淇℃伅鐘舵�佹敼涓烘鍦ㄦ墽琛� 
-                            item.OutMode = taskNo.EndLocat;
+                            item.OutMode = unstackingMode2 == "1" ? taskNo.EndLocat : "";//鍑哄簱鍙�
+                            item.LoadingAddre = unstackingMode2 == "0" ? taskNo.EndLocat : "";//瑁呰溅鍙�
                             Db.Updateable(item).ExecuteCommand();
                             flagList.Add(0);
                             #endregion
@@ -2776,7 +2823,13 @@
                             break;
                         }
                     }
-                }
+                    var boxInfo = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.PalletNo == item.PalletNo && w.BitBoxMark == "1").ToList();
+                    if (boxInfo != null)//鎵樼洏涓婃湁闆剁闇�瑕佹媶绠�
+                    {
+                        result = "1";//闇�瑕佹媶绠�
+                        break;
+                    }
+                }               
                 return result;
             }
             catch (Exception ex)

--
Gitblit v1.8.0