From 75b62c70cb63bc3ed438485573dacce93b43d55c Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期六, 03 二月 2024 10:25:26 +0800
Subject: [PATCH] 添加生成标签按钮权限,修改获取入库单明细信息

---
 Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs |   91 ++++++++++++++++++++++-----------------------
 1 files changed, 45 insertions(+), 46 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
index fe47e52..866b3b5 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -529,7 +529,7 @@
         }
 
         //鑾峰彇鏍囩淇℃伅(鐢熸垚鏍囩)
-        public List<BoxInfoDto> AddLabelBoxReturn(int imId, string isReset, decimal arriveQty, string productionTime, string expirationTime, string storeTime, int userId)
+        public List<BllBoxInfo> AddLabelBox(int imId, string isReset, decimal arriveQty, string productionTime, string expirationTime, string storeTime, int userId)
         {
             try
             { 
@@ -586,40 +586,14 @@
                 var bNum = 0;//绠辩墿鍝佹暟閲�
                 var zNum = 0;//鏀墿鍝佹暟閲�
                 var packLevel = 0;
-                var isGo = true;
-
-                if (pack.L5Num.HasValue)
-                {
-                    if (pack.L5Name != "鎵�")
-                    {
-                        isGo = false;
-                        packLevel = 5;
-                        bNum = Convert.ToInt32(pack.L5Num);
-                    }
-                }
-                if (pack.L4Num.HasValue && isGo)
-                {
-                    if (pack.L4Name != "鎵�")
-                    {
-                        isGo = false;
-                        packLevel = 4;
-                        bNum = Convert.ToInt32(pack.L4Num);
-                    }
-                }
-                if (pack.L3Num.HasValue && isGo)
-                {
-                    if (pack.L4Name != "鎵�")
-                    {
-                        isGo = false;
-                        packLevel = 3;
-                        bNum = Convert.ToInt32(pack.L3Num);
-                    }
-                }
+                
                 if (pack.L2Num.HasValue)
                 {
-                    packLevel = 2;
-                    bNum = Convert.ToInt32(pack.L2Num);
-
+                    if (pack.L2Name != "鎵�")
+                    {
+                        packLevel = 2; 
+                        bNum = Convert.ToInt32(pack.L2Num);
+                    }
                 }
                 if (pack.L1Num.HasValue)
                 {
@@ -633,7 +607,7 @@
 
                 if (packLevel <= 1)//鍖呰绛夌骇灏忎簬1锛屾寜鐓�1绾ф爣绛炬墦鍗�
                 {
-                    packLevel = 1;
+                    throw new Exception("鍖呰淇℃伅鏈夎锛屽皬浜庝竴绾�");
                 }
 
                 #endregion
@@ -744,12 +718,12 @@
                         //鑾峰彇绠辩爜
                         if (maxBoxCode == "")
                         {
-                            var str = maxLotNoStr + "000001"; //鎵瑰彿+ 娴佹按  2302010001000001
+                            var str = "B"+maxLotNoStr + "000001"; //鎵瑰彿+ 娴佹按  2302010001000001
                             maxBoxCode = str;
                         }
                         else
                         {
-                            maxBoxCode = maxBoxCode.Substring(0, 10) + (int.Parse(maxBoxCode.Substring(10, 6)) + 1).ToString().PadLeft(6, '0'); 
+                            maxBoxCode = maxBoxCode.Substring(0, 11) + (int.Parse(maxBoxCode.Substring(11, 6)) + 1).ToString().PadLeft(6, '0'); 
                         } 
                         
                         // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
@@ -868,15 +842,34 @@
 
                     for (int i = 1; i <= labelNum2; i++)//绠辩爜鏍囩
                     {
-                        
-                        //鑾峰彇绠辩爜
-                        if (maxboxcode2 == "")
+                        //绠卞唴鏁伴噺
+                        decimal boxQty = 0;
+                        if (i == labelNum2)
                         {
-                            maxboxcode2 = maxCodestr2 + "000001"; // 绠卞彿     鎵瑰彿+绗嚑绠�
+                            // 鏈�鍚庝竴涓潯鐮�
+                            var s = bNum * (i - 1);
+                            if (bNum > qty2 - s)
+                            {
+                                boxQty = qty2 - s;// 鏁伴噺
+                            }
+                            else
+                            {
+                                boxQty = bNum;// 鏁伴噺
+                            }
                         }
                         else
                         {
-                            maxboxcode2 = maxboxcode2.Substring(0, 10) + (int.Parse(maxboxcode2.Substring(10, 6)) + 1).ToString().PadLeft(6, '0'); 
+                            boxQty = bNum;                                                         // 鏁伴噺
+                        }
+
+                        //鑾峰彇绠辩爜
+                        if (maxboxcode2 == "")
+                        {
+                            maxboxcode2 = "B"+maxCodestr2 + "000001"; // 绠卞彿     鎵瑰彿+绗嚑绠�
+                        }
+                        else
+                        {
+                            maxboxcode2 = maxboxcode2.Substring(0, 11) + (int.Parse(maxboxcode2.Substring(11, 6)) + 1).ToString().PadLeft(6, '0'); 
                         }
                         //鑾峰彇绠卞唴鏀爣绛炬暟閲�
                         if (i == labelNum2)
@@ -888,6 +881,12 @@
                                 if (isGo2)
                                 {
                                     break;
+                                }
+                                var s = bNum * (i - 1);
+                                var s2 = zNum * (j - 1);
+                                if (zNum >= qty2 - s - s2)
+                                {
+                                    isGo2 = true;
                                 }
                                 sl++;
                             }
@@ -910,11 +909,11 @@
                             
                             if (maxboxcode3 == "")
                             {
-                                maxboxcode3 = maxCodestr2 + "0001"; // 鏀彿     鎵瑰彿+绗嚑绠� 
+                                maxboxcode3 = "Z"+maxCodestr2 + "0001"; // 鏀彿     鎵瑰彿+绗嚑绠� 
                             }
                             else
                             {
-                                maxboxcode3 = maxboxcode3.Substring(0, 28) + (int.Parse(maxboxcode3.Substring(28, 4)) + 1).ToString().PadLeft(4, '0'); 
+                                maxboxcode3 = maxboxcode3.Substring(0, 11) + (int.Parse(maxboxcode3.Substring(11, 4)) + 1).ToString().PadLeft(4, '0'); 
                             }
 
                             // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
@@ -934,7 +933,7 @@
                                 PackageStandard = packStr,
                                 SupplierLot = asnList.SupplierLot,
                                 InspectMark = "0",
-                                BitBoxMark = bNum > d ? "1" : "0",
+                                BitBoxMark = bNum > boxQty ? "1" : "0",
                                 InspectStatus = "0",
 
                                 ProductionTime = DateTime.Parse(productionTime),
@@ -956,10 +955,10 @@
                     #endregion
                 }
 
-                //return labelModel;
+                return modelList;
 
 
-                throw new NotImplementedException();
+                //throw new NotImplementedException();
             }
             catch (Exception e)
             {

--
Gitblit v1.8.0