From 1dd4acaee570865476fcd65538561d71fd405a66 Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期五, 02 二月 2024 10:45:40 +0800
Subject: [PATCH] 修改标签

---
 Wms/WMS.BLL/BllAsnServer/BllLabelBoxNoServer.cs |  431 +++++++++++++++++++++++++----------------------------
 1 files changed, 206 insertions(+), 225 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/BllLabelBoxNoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllLabelBoxNoServer.cs
index 489034f..e472af0 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllLabelBoxNoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllLabelBoxNoServer.cs
@@ -395,7 +395,7 @@
                             model.BoxNo = maxBoxCode.Substring(0, 10) + (int.Parse(maxBoxCode.Substring(10, 6)) + 1).ToString().PadLeft(6, '0');
                             maxBoxCode = model.BoxNo;
                         }
-                        model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 80, 50);//Utility.Extra.BarcodeHelper.GetQrCodeBase64(model.BoxCode, 85, 85);
+                        model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 80, 50);
 
                         // 娣诲姞鍒發ist闆嗗悎
                         modelList.Add(model);
@@ -465,249 +465,230 @@
 
                     var ss = bNum / zNum; //姣忕鏀爣绛炬暟閲�
                     var labelNumZ2 = Math.Ceiling((decimal)ss);
-
-                    if (labelNum2 * labelNumZ2 > 100)
-                    {
-                        if (labelNumZ2 <= 100)
-                        {
-                            labelNum2 = (int)Math.Floor((decimal)(100 / labelNumZ2));
-                        }
-                        else
-                        {
-                            labelNum2 = 1;
-                        }
-                    }
+                    
+                    #region 鑾峰彇/鐢熸垚鎵规鍙�
 
                     string maxCodestr2 = "";    //鎵规
                     string maxboxcode2 = "";    //绠辩爜
                     string maxboxcode3 = "";    //鏀爜
                                                 // 鐢熸垚鑷紪鎵瑰彿
                     string toDayTime2 = DateTime.Now.ToString("yyyyMMdd");
-                    var diJiJian = 0;
-                    //if (isReset == "0")
-                    //{
-                    //    var maxCode = DataContext.LabelPrint.Where(b => b.ImportId == imId).ToList().Max(a => a.ImportLotNo);
-                    //    var boxCode1 = DataContext.LabelPrint.Where(b => b.ImportId == imId).ToList().Max(a => a.LabelStream);
-                    //    var boxCode2 = DataContext.LabelPrint.Where(b => b.ImportId == imId).ToList().Max(a => a.BoxCode1);//鏀彿
-                    //    maxCodestr2 = maxCode;
-                    //    maxboxcode2 = boxCode1;
-                    //    maxboxcode3 = boxCode2;
-                    //    if (string.IsNullOrWhiteSpace(maxCodestr2))
-                    //    {
-                    //        maxCodestr2 = toDayTime2.Substring(2, 6) + "0001";
-                    //    }
-                    //    else
-                    //    {
-                    //        var q = DataContext.LabelPrint
-                    //            .Where(m => m.ImportId == imId && m.ImportLotNo == maxCodestr2)
-                    //            .GroupBy(m => m.LabelStream).ToList();
-                    //        diJiJian = q.Count;
-                    //    }
-                    //}
-                    //else
-                    //{
-                    //    var maxCode = DataContext.LabelPrint.Max(a => a.ImportLotNo);                        // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿
-                    //    if (string.IsNullOrWhiteSpace(maxCode))
-                    //    {
-                    //        maxCodestr2 = toDayTime2.Substring(2, 6) + "0001";
-                    //    }
-                    //    else
-                    //    {
-                    //        var lotStr = maxCode.Substring(0, 6);
-                    //        var timeStr = toDayTime2.Substring(2, 6);
-                    //        if (lotStr == timeStr)
-                    //        {
-                    //            maxCodestr2 = timeStr + (int.Parse(maxCode.Substring(6, 4)) + 1).ToString().PadLeft(4, '0');
-                    //        }
-                    //        else
-                    //        {
-                    //            maxCodestr2 = timeStr + "0001";
-                    //        }
+                    if (isReset == "0")
+                    {
+                        var maxCode = label.Max(a => a.LotNo);
+                        var boxCode1 = label.Where(m=>m.Level == "1").Max(a => a.BoxNo);//绠卞彿
+                        var boxCode2 = label.Where(m => m.Level == "2").Max(a => a.BoxNo);//鏀彿
+                        maxCodestr2 = maxCode;
+                        maxboxcode2 = boxCode1;
+                        maxboxcode3 = boxCode2;
+                        if (string.IsNullOrWhiteSpace(maxCodestr2))
+                        {
+                            maxCodestr2 = toDayTime2.Substring(2, 6) + "0001";
+                        }
+                    }
+                    else
+                    {
+                        var maxCode = Db.Queryable<BllLabelBoxNo>().Max(a => a.LotNo);                        // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿
+                        if (string.IsNullOrWhiteSpace(maxCode))
+                        {
+                            maxCodestr2 = toDayTime2.Substring(2, 6) + "0001";
+                        }
+                        else
+                        {
+                            var lotStr = maxCode.Substring(0, 6);
+                            var timeStr = toDayTime2.Substring(2, 6);
+                            if (lotStr == timeStr)
+                            {
+                                maxCodestr2 = timeStr + (int.Parse(maxCode.Substring(6, 4)) + 1).ToString().PadLeft(4, '0');
+                            }
+                            else
+                            {
+                                maxCodestr2 = timeStr + "0001";
+                            }
 
-                    //    }
-                    //} 
-                    //for (int i = 1; i <= labelNum2; i++)//绠辩爜鏍囩
-                    //{
-                    //    // 鐗╂枡鏉$爜淇℃伅璧嬪��
-                    //    LabelPrint5Model model = new LabelPrint5Model();
-                    //    model.ImportId = imId;
-                    //    model.OuterBillCode = list.OuterBillCode;
-                    //    model.ImportBillCode = list.ImportBillCode;
-                    //    model.SkuNo = list.GoodsCode;
-                    //    model.SkuName = list.GoodsName;
-                    //    model.QtyCount = (int)bQNum;                          // 鎬讳欢鏁�
+                        }
+                    }
 
-                    //    model.SupplierName = supplierName;                        // 鐢熶骇鍘傚
-                    //    model.ProductionDate = productionDate;                      // 鐢熶骇鏃ユ湡
-                    //    model.SapSkuNo = sapNo;                            // SAP浠g爜
-                    //    model.Standard = good.GoodsStandard;                            // 瑙勬牸
-                    //    model.SupplierLot = supplierLot;                         // 鍘傚鎵瑰彿
+                    #endregion
 
-                    //    model.LotNo = maxCodestr2;                      //鎵规
+                    var modelList = new List<LabelBoxDto>();
+
+                    for (int i = 1; i <= labelNum2; i++)//绠辩爜鏍囩
+                    {
+                        // 鐗╂枡鏉$爜淇℃伅璧嬪��
+                        LabelBoxDto model = new LabelBoxDto();
+                        model.AsnDetailNo = imId;
+                        model.SkuNo = asnList.SkuNo;
+                        model.SkuName = asnList.SkuName;
+                        
+                        model.Standard = asnList.Standard;               // 瑙勬牸
+                        model.PackageStandard = packStandard;
+
+                        model.SupplierLot = supplierLot;                 // 鍘傚鎵瑰彿 
+                        model.LotNo = maxCodestr2;                      //鎵规
+
+                        model.ProductionTime = DateTime.Parse(productionTime);          // 鐢熶骇鏃ユ湡 
+                        model.StoreTime = DateTime.Parse(storeTime);                     // 鍌ㄥ瓨鏈熻嚦
+                        model.ExpirationTime = DateTime.Parse(expirationTime);          // 鏈夋晥鏈熻嚦/璐瓨鏈� 
+                        if (i == labelNum2)
+                        {
+                            // 鏈�鍚庝竴涓潯鐮�
+                            var s = bNum * (i - 1);
+                            if (bNum > qty2 - s)
+                            {
+                                model.Qty = qty2 - s;// 鏁伴噺
+                            }
+                            else
+                            {
+                                model.Qty = bNum;// 鏁伴噺
+                            }
+                        }
+                        else
+                        {
+                            model.Qty = bNum;                                                         // 鏁伴噺
+                        }
+                        
+                        if (maxboxcode2 == "")
+                        {
+                            maxboxcode2 =  model.LotNo +"000001";
+                            model.BoxNo = maxboxcode2;        // 绠卞彿     鎵瑰彿+绗嚑绠�
+                            maxboxcode2 = model.BoxNo;
+                        }
+                        else
+                        {
+                            model.BoxNo = maxboxcode2.Substring(0, 10) + (int.Parse(maxboxcode2.Substring(10, 6)) + 1).ToString().PadLeft(6, '0');
+                            maxboxcode2 = model.BoxNo;
+                        }
+                        model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 80, 50);
+
+                        // 娣诲姞鍒發ist闆嗗悎
+                        modelList.Add(model);
+
+                        if (i == labelNum2)
+                        {
+                            var isGo2 = false;
+                            var sl = 0;
+                            for (int j = 1; j <= labelNumZ2; j++)
+                            {
+                                if (isGo2)
+                                {
+                                    break;
+                                }
+                                var d = zNum;
+                                if (i == labelNum2)
+                                {
+                                    var s = bNum * (i - 1);
+                                    var s2 = zNum * (j - 1);
+                                    if (zNum >= qty2 - s - s2)
+                                    {
+                                        d = (int)(qty2 - s - s2);    // 鏁伴噺
+                                        isGo2 = true;
+                                    }
+                                }
+                                sl++;
+                            }
+                            labelNumZ2 = sl;
+                        }
+
+                        for (int j = 1; j <= labelNumZ2; j++)//鏈�灏忓崟浣嶆爣绛�
+                        {
+                            if (isGo)
+                            {
+                                break;
+                            }
+                            var d = zNum;
+                            if (i == labelNum2)
+                            {
+                                var s = bNum * (i - 1);
+                                var s2 = zNum * (j - 1);
+                                if (zNum >= qty2 - s - s2)
+                                {
+                                    d = (int)(qty2 - s - s2);    // 鏁伴噺
+                                    isGo = true;
+                                }
+                            }
+                            //// 鐗╂枡鏉$爜淇℃伅璧嬪��
+                            //LabelPrint5Model model2 = new LabelPrint5Model();
+                            //model2.ImportId = imId;
+                            //model2.OuterBillCode = list.OuterBillCode;
+                            //model2.ImportBillCode = list.ImportBillCode;
+                            //model2.SkuNo = list.GoodsCode;
+                            //model2.SkuName = list.GoodsName;
+                            //model2.QtyCount = (int)labelNumZ2;                          // 鎬讳欢鏁�(int)labelNumZ2
+
+                            //model2.SupplierName = supplierName;                        // 鐢熶骇鍘傚
+                            //model2.ProductionDate = productionDate;                      // 鐢熶骇鏃ユ湡
+                            //model2.SapSkuNo = sapNo;                            // SAP浠g爜
+                            //model2.Standard = good.GoodsStandard;                            // 瑙勬牸
+                            //model2.SupplierLot = supplierLot;                         // 鍘傚鎵瑰彿
+
+                            //model2.LotNo = maxCodestr2;                      //鎵规
 
 
-                    //    model.InspectTime = inspectTime;                     // 澶嶉獙鏈熻嚦
-                    //    model.ExpirationTime = expirationTime;                  // 鏈夋晥鏈熻嚦/璐瓨鏈�
-                    //    model.ExpirationType = good.GoodsTemp;                  // 璐瓨鏉′欢
-                    //    if (i == labelNum2)
-                    //    {
-                    //        // 鏈�鍚庝竴涓潯鐮�
-                    //        var s = bNum * (i - 1);
-                    //        if (bNum > qty2 - s)
-                    //        {
-                    //            model.Qty = qty2 - s;// 鏁伴噺
-                    //        }
-                    //        else
-                    //        {
-                    //            model.Qty = bNum;// 鏁伴噺
-                    //        }
-                    //    }
-                    //    else
-                    //    {
-                    //        model.Qty = bNum;                                                         // 鏁伴噺
-                    //    }
+                            //model2.InspectTime = inspectTime;                     // 澶嶉獙鏈熻嚦
+                            //model2.ExpirationTime = expirationTime;                  // 鏈夋晥鏈熻嚦/璐瓨鏈�
+                            //model2.ExpirationType = good.GoodsTemp;                  // 璐瓨鏉′欢
+                            //model2.Qty = d;                                                         // 鏁伴噺
 
-                    //    model.QtyOrd = i + diJiJian;                                               // 绗嚑浠�
-                    //    if (maxboxcode2 == "")
-                    //    {
-                    //        maxboxcode2 = "B" + model.LotNo + i.ToString().PadLeft(5, '0');
-                    //        model.BoxCode = maxboxcode2;                                // 绠卞彿     鎵瑰彿+绗嚑绠�
-                    //    }
-                    //    else
-                    //    {
-                    //        maxboxcode2 = maxboxcode2.Substring(0, 11) + (int.Parse(maxboxcode2.Substring(11, 5)) + 1).ToString().PadLeft(5, '0');
-                    //        model.BoxCode = maxboxcode2;
-                    //    }
-                    //    model.imageStr = Utility.Extra.BarcodeHelper.GetQrCodeBase64(model.BoxCode, 85, 85);
+                            //model2.QtyOrd = j;                                               // 绗嚑浠�
+                            //if (maxboxcode3 == "")
+                            //{
+                            //    var str = mesGood.PadRight(16, ' ') + model.LotNo.PadRight(12, ' ') + "0001";
+                            //    model2.BoxCode = str;                 // 鏀彿     鎵瑰彿+绗嚑绠�
+                            //    maxboxcode3 = model2.BoxCode;
+                            //}
+                            //else
+                            //{
+                            //    model2.BoxCode = maxboxcode3.Substring(0, 28) + (int.Parse(maxboxcode3.Substring(28, 4)) + 1).ToString().PadLeft(4, '0');
+                            //    maxboxcode3 = model2.BoxCode;
+                            //}
 
-                    //    // 娣诲姞鍒發ist闆嗗悎
-                    //    printModel.Add(model);
+                            //model2.imageStr = Utility.Extra.BarcodeHelper.GetQrCodeBase64(model2.BoxCode, 85, 85);
+                            //// 娣诲姞鍒發ist闆嗗悎
 
-                    //    if (i == labelNum2)
-                    //    {
-                    //        var isGo2 = false;
-                    //        var sl = 0;
-                    //        for (int j = 1; j <= labelNumZ2; j++)
-                    //        {
-                    //            if (isGo2)
-                    //            {
-                    //                break;
-                    //            }
-                    //            var d = zNum;
-                    //            if (i == labelNum2)
-                    //            {
-                    //                var s = bNum * (i - 1);
-                    //                var s2 = zNum * (j - 1);
-                    //                if (zNum >= qty2 - s - s2)
-                    //                {
-                    //                    d = (int)(qty2 - s - s2);    // 鏁伴噺
-                    //                    isGo2 = true;
-                    //                }
-                    //            }
-                    //            sl++;
-                    //        }
-                    //        labelNumZ2 = sl;
-                    //    }
+                            //if (printModel.Count(m => m.BoxCode.Length > 17) <= 100)//鎺掗櫎寰呯鐮佸垽鏂敮鐮佹槸鍚﹀皬浜�100
+                            //{
+                            //    printModel.Add(model2);
+                            //}
+                            //var guid = Guid.NewGuid().ToString("N");
+                            //// 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
+                            //var LabelModel2 = new LabelPrint
+                            //{
+                            //    LabelID = guid,
+                            //    LabelStream = model.BoxCode,
+                            //    BoxCode1 = model2.BoxCode,
+                            //    GoodsCode = model2.SkuNo,
+                            //    GoodsName = model2.SkuName,
+                            //    GoodsStandard = model2.Standard,
+                            //    ImportLotNo = model2.LotNo,
+                            //    SupplierName = model2.SupplierName,
+                            //    ImportId = model2.ImportId,
+                            //    OuterBillCode = model2.OuterBillCode,
+                            //    ImportBillCode = model2.ImportBillCode,
+                            //    ProductionDate = model2.ProductionDate,
+                            //    SapSkuNo = model2.SapSkuNo,
+                            //    Qty = model2.Qty,
+                            //    SupplierLot = model2.SupplierLot,
+                            //    InspectTime = model2.InspectTime,
+                            //    ExpirationTime = model2.ExpirationTime,
+                            //    QtyCount = model2.QtyCount,
+                            //    QtyOrd = model2.QtyOrd,
+                            //    ExpirationType = model2.ExpirationType,
+                            //    BoxNum = bNum,//model.Qty,
 
-                    //    for (int j = 1; j <= labelNumZ2; j++)//鏈�灏忓崟浣嶆爣绛�
-                    //    {
-                    //        if (isGo)
-                    //        {
-                    //            break;
-                    //        }
-                    //        var d = zNum;
-                    //        if (i == labelNum2)
-                    //        {
-                    //            var s = bNum * (i - 1);
-                    //            var s2 = zNum * (j - 1);
-                    //            if (zNum >= qty2 - s - s2)
-                    //            {
-                    //                d = (int)(qty2 - s - s2);    // 鏁伴噺
-                    //                isGo = true;
-                    //            }
-                    //        }
-                    //        // 鐗╂枡鏉$爜淇℃伅璧嬪��
-                    //        LabelPrint5Model model2 = new LabelPrint5Model();
-                    //        model2.ImportId = imId;
-                    //        model2.OuterBillCode = list.OuterBillCode;
-                    //        model2.ImportBillCode = list.ImportBillCode;
-                    //        model2.SkuNo = list.GoodsCode;
-                    //        model2.SkuName = list.GoodsName;
-                    //        model2.QtyCount = (int)labelNumZ2;                          // 鎬讳欢鏁�(int)labelNumZ2
+                            //    BulkTank = model.Qty == bNum ? 0 : 1,//闆跺ご绠�
+                            //    BulkCase = 0,//闆跺ご鐩�
 
-                    //        model2.SupplierName = supplierName;                        // 鐢熶骇鍘傚
-                    //        model2.ProductionDate = productionDate;                      // 鐢熶骇鏃ユ湡
-                    //        model2.SapSkuNo = sapNo;                            // SAP浠g爜
-                    //        model2.Standard = good.GoodsStandard;                            // 瑙勬牸
-                    //        model2.SupplierLot = supplierLot;                         // 鍘傚鎵瑰彿
+                            //    CreateUser = createUser,
+                            //    CreateTime = DateTime.Now,
+                            //    IsUse = 0
+                            //};
 
-                    //        model2.LotNo = maxCodestr2;                      //鎵规
+                            //DataContext.LabelPrint.InsertOnSubmit(LabelModel2);
+                        }
 
 
-                    //        model2.InspectTime = inspectTime;                     // 澶嶉獙鏈熻嚦
-                    //        model2.ExpirationTime = expirationTime;                  // 鏈夋晥鏈熻嚦/璐瓨鏈�
-                    //        model2.ExpirationType = good.GoodsTemp;                  // 璐瓨鏉′欢
-                    //        model2.Qty = d;                                                         // 鏁伴噺
-
-                    //        model2.QtyOrd = j;                                               // 绗嚑浠�
-                    //        if (maxboxcode3 == "")
-                    //        {
-                    //            var str = mesGood.PadRight(16, ' ') + model.LotNo.PadRight(12, ' ') + "0001";
-                    //            model2.BoxCode = str;                 // 鏀彿     鎵瑰彿+绗嚑绠�
-                    //            maxboxcode3 = model2.BoxCode;
-                    //        }
-                    //        else
-                    //        {
-                    //            model2.BoxCode = maxboxcode3.Substring(0, 28) + (int.Parse(maxboxcode3.Substring(28, 4)) + 1).ToString().PadLeft(4, '0');
-                    //            maxboxcode3 = model2.BoxCode;
-                    //        }
-
-                    //        model2.imageStr = Utility.Extra.BarcodeHelper.GetQrCodeBase64(model2.BoxCode, 85, 85);
-                    //        // 娣诲姞鍒發ist闆嗗悎
-
-                    //        if (printModel.Count(m => m.BoxCode.Length > 17) <= 100)//鎺掗櫎寰呯鐮佸垽鏂敮鐮佹槸鍚﹀皬浜�100
-                    //        {
-                    //            printModel.Add(model2);
-                    //        }
-                    //        var guid = Guid.NewGuid().ToString("N");
-                    //        // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
-                    //        var LabelModel2 = new LabelPrint
-                    //        {
-                    //            LabelID = guid,
-                    //            LabelStream = model.BoxCode,
-                    //            BoxCode1 = model2.BoxCode,
-                    //            GoodsCode = model2.SkuNo,
-                    //            GoodsName = model2.SkuName,
-                    //            GoodsStandard = model2.Standard,
-                    //            ImportLotNo = model2.LotNo,
-                    //            SupplierName = model2.SupplierName,
-                    //            ImportId = model2.ImportId,
-                    //            OuterBillCode = model2.OuterBillCode,
-                    //            ImportBillCode = model2.ImportBillCode,
-                    //            ProductionDate = model2.ProductionDate,
-                    //            SapSkuNo = model2.SapSkuNo,
-                    //            Qty = model2.Qty,
-                    //            SupplierLot = model2.SupplierLot,
-                    //            InspectTime = model2.InspectTime,
-                    //            ExpirationTime = model2.ExpirationTime,
-                    //            QtyCount = model2.QtyCount,
-                    //            QtyOrd = model2.QtyOrd,
-                    //            ExpirationType = model2.ExpirationType,
-                    //            BoxNum = bNum,//model.Qty,
-
-                    //            BulkTank = model.Qty == bNum ? 0 : 1,//闆跺ご绠�
-                    //            BulkCase = 0,//闆跺ご鐩�
-
-                    //            CreateUser = createUser,
-                    //            CreateTime = DateTime.Now,
-                    //            IsUse = 0
-                    //        };
-
-                    //        DataContext.LabelPrint.InsertOnSubmit(LabelModel2);
-                    //    }
-
-
-                    //} 
+                    }
 
                     #endregion
                 }

--
Gitblit v1.8.0