Demo
2024-02-02 1dd4acaee570865476fcd65538561d71fd405a66
修改标签
1个文件已修改
277 ■■■■ 已修改文件
Wms/WMS.BLL/BllAsnServer/BllLabelBoxNoServer.cs 277 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
                        // 添加到list集合
                        modelList.Add(model);
@@ -466,166 +466,147 @@
                    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代码
                    //    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.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;                                                         // 数量
                    //    }
                        model.Standard = asnList.Standard;               // 规格
                        model.PackageStandard = packStandard;
                    //    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);
                        model.SupplierLot = supplierLot;                 // 厂家批号
                        model.LotNo = maxCodestr2;                      //批次
                    //    // 添加到list集合
                    //    printModel.Add(model);
                        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 (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 (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);
                    //    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;
                    //            }
                    //        }
                        // 添加到list集合
                        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;
@@ -704,10 +685,10 @@
                    //        };
                    //        DataContext.LabelPrint.InsertOnSubmit(LabelModel2);
                    //    }
                        }
                    //}
                    }
                    #endregion
                }