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 |   79 ++++++++++++++++++++++++++++++++++-----
 1 files changed, 68 insertions(+), 11 deletions(-)

diff --git a/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs b/Wms/WMS.BLL/BllSoServer/ExportNoticeServer.cs
index 81e5525..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);
@@ -360,6 +360,9 @@
                         break;
                     case "6"://浠e偍鍑哄簱
                         skuType = "(2)";
+                        break;
+                    case "8"://瀵勫瓨鍑哄簱
+                        skuType = "(3)";
                         break;
                     default: //鍏跺畠鍑哄簱
                         skuType = "(0,1,2,3,4)";
@@ -1376,7 +1379,7 @@
         #region 涓嬪彂鍑哄簱銆佸嚭搴撳畬鎴愩�侀噸鏂颁笅鍙戜换鍔°�佸彇娑堜换鍔°�佸紓甯稿鐞�
 
         // 涓嬪彂鍑哄簱锛堣皟鐢╟s鎺ュ彛缁欎粬搴撲綅鍦板潃锛�
-        public List<OutCommandDto> IssueOutHouse(string soNo, string outMode, int userId, string url, out string str)
+        public List<OutCommandDto> IssueOutHouse(string soNo, string unstackingMode, string outMode, string loadingAddre, int userId, string url, out string str)
         {
             try
             {
@@ -1406,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
                 {
@@ -1413,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;
 
@@ -1512,7 +1560,7 @@
                                 IsSuccess = 0, //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
 
                                 StartLocat = locate.LocatNo,//璧峰浣嶇疆
-                                EndLocat = outMode,//鐩爣浣嶇疆
+                                EndLocat = toLocation,//outMode,//鐩爣浣嶇疆
                                 PalletNo = item.PalletNo,//鎵樼洏鐮�
                                 IsSend = 1,//鏄惁鍙啀娆′笅鍙�
                                 IsCancel = 1,//鏄惁鍙彇娑�
@@ -1520,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);
@@ -1530,7 +1578,7 @@
                                 PalletNo = item.PalletNo,//鎵樼洏鍙�
                                 StartLocate = locate.LocatNo, // 璧峰浣嶇疆
                                 StartRoadway = locate.RoadwayNo,//鍏跺疄宸烽亾
-                                EndLocate = outMode, // 鐩爣浣嶇疆 
+                                EndLocate = toLocation,//outMode, // 鐩爣浣嶇疆 
                                 TaskNo = exTask.TaskNo, // 浠诲姟鍙�
                                 TaskType = "1",// 浠诲姟绫诲瀷 (鍑哄簱)
                                 OutMode = "",  //鐩爣鍦板潃
@@ -1564,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
 
@@ -1607,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
@@ -2573,6 +2623,7 @@
                     LocatNo = a.LocatNo,
                     RoadwayNo = a.RoadwayNo,
                     PalletNo = a.PalletNo,
+                    Demo = a.Demo,
                 }).ToList();
 
                 return list;
@@ -2772,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