| | |
| | | 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); |
| | |
| | | |
| | | 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.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); |
| | | |
| | | // 添加到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; |
| | | //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代码 |
| | | //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; |
| | | //} |
| | | |
| | | // // 添加到list集合 |
| | | // printModel.Add(model); |
| | | //model2.imageStr = Utility.Extra.BarcodeHelper.GetQrCodeBase64(model2.BoxCode, 85, 85); |
| | | //// 添加到list集合 |
| | | |
| | | // 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代码 |
| | | // 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); |
| | | // // 添加到list集合 |
| | | |
| | | // 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 |
| | | } |