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/BllAsnServer/BllBoxInfoServer.cs | 202 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 130 insertions(+), 72 deletions(-) diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs index c5f314f..34dfa59 100644 --- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs +++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs @@ -412,7 +412,7 @@ .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo), it => it.SkuNo.Contains(model.SkuNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo.Trim())) .AndIF(!string.IsNullOrWhiteSpace(model.SupplierLot), it => it.SupplierLot.Contains(model.SupplierLot.Trim())) - .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.SupplierLot) + .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) .AndIF(!string.IsNullOrWhiteSpace(model.ProductionTime), it => it.ProductionTime >= Convert.ToDateTime(model.ProductionTime)) .AndIF(!string.IsNullOrWhiteSpace(model.ProductionTime), it => it.ProductionTime <= Convert.ToDateTime(model.ProductionTime).AddDays(1)) .And(it => it.IsDel == "0" && it.Origin == "WMS鐢熸垚") @@ -576,7 +576,7 @@ packStr += "-" + pack.L5Num + "/" + pack.L5Name; } //鏍囩琛� - var label = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNDetailNo == imId).ToList(); + var label = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.Origin == "WMS鐢熸垚").ToList(); #endregion @@ -612,29 +612,37 @@ #endregion var modelList = new List<BllBoxInfo>(); + + var addLotNo = ""; + if (arriveQty < 0) + { + throw new Exception("鍒拌揣鏁伴噺涓嶈兘灏忎簬0!"); + } + Db.BeginTran(); if (packLevel == 1) { #region 涓�绾у寘瑁� // 鏍规嵁鐢ㄦ埛杈撳叆鐨勭鏁伴噺璁$畻闇�瑕佺殑鏉$爜鏁� - var labQty = label.Sum(m => m.Qty); - var qty = asnList.Qty - labQty;//褰撳墠鍗曟嵁鍓╀綑闇�瑕佹墦鍗扮殑鐗╂枡鏁伴噺(涓嶆槸鏍囩鏁伴噺) - if (qty <= 0) - { - throw new Exception("褰撳墠鍗曟嵁鐗╂枡鏍囩宸叉墦鍗板畬姣曪紝濡傛湁闇�瑕佽琛ユ墦"); - } + //var labQty = label.Sum(m => m.Qty); + //var qty = asnList.Qty - labQty;//褰撳墠鍗曟嵁鍓╀綑闇�瑕佹墦鍗扮殑鐗╂枡鏁伴噺(涓嶆槸鏍囩鏁伴噺) + //if (qty <= 0) + //{ + // throw new Exception("褰撳墠鍗曟嵁鐗╂枡鏍囩宸叉墦鍗板畬姣曪紝濡傛湁闇�瑕佽琛ユ墦"); + //} #region 鍒拌揣鏁伴噺 - if (arriveQty - qty > 0) - { - throw new Exception("鍒拌揣鏁伴噺澶т簬鏈墦鏍囩鏁伴噺锛岃閲嶆柊杈撳叆鍒拌揣鏁伴噺骞舵牳瀹�!"); - } - else - { - qty = arriveQty; - } - + //if (arriveQty - qty > 0) + //{ + // throw new Exception("鍒拌揣鏁伴噺澶т簬鏈墦鏍囩鏁伴噺锛岃閲嶆柊杈撳叆鍒拌揣鏁伴噺骞舵牳瀹�!"); + //} + //else + //{ + // qty = arriveQty; + //} + + var qty = arriveQty; #endregion int labelNum = 1; //鐢熶骇鏉$爜鏁伴噺 @@ -653,23 +661,38 @@ string maxBoxCode = ""; //绠辩爜鍙� // 鐢熸垚鑷紪鎵瑰彿 string toDayTime = DateTime.Now.ToString("yyyyMMdd"); - - - var maxLotNo = label.Max(a => a.LotNo); - var maxBoxNo = label.Max(a => a.BoxNo); + if (isReset == "0") { - - maxLotNoStr = maxLotNo; - maxBoxCode = maxBoxNo; - if (string.IsNullOrWhiteSpace(maxLotNoStr)) + //鍒ゆ柇鍗曟嵁鏄惁鏄綑鏂欓��鍥炲崟 + if (asn.Type == "4") { - maxLotNoStr = toDayTime.Substring(2, 6) + "0001"; + maxLotNoStr = asnList.LotNo; + maxBoxCode = label.Where(m=>m.LotNo == maxLotNoStr).Max(a => a.BoxNo); + if (string.IsNullOrWhiteSpace(maxLotNoStr)) + { + throw new Exception("杞﹂棿浣欐枡閫�鍥炲崟鎹壒娆′笉鑳戒负绌�"); + } } + else + { + var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList(); + if (labelCount.Count <= 0) + { + throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱"); + } + maxLotNoStr = label.Max(a => a.LotNo); + maxBoxCode = label.Max(a => a.BoxNo); + if (string.IsNullOrWhiteSpace(maxLotNoStr)) + { + maxLotNoStr = toDayTime.Substring(2, 6) + "0001"; + } + } + } else { - var maxCode = Db.Queryable<BllLabelBoxNo>().Max(a => a.LotNo); // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿 + var maxCode = Db.Queryable<BllBoxInfo>().Where(m=>m.Origin == "WMS鐢熸垚").Max(a => a.LotNo); // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿 if (string.IsNullOrWhiteSpace(maxCode)) { maxLotNoStr = toDayTime.Substring(2, 6) + "0001"; @@ -690,9 +713,10 @@ } } + addLotNo = maxLotNoStr; #endregion - + for (int i = 1; i <= labelNum; i++) { @@ -716,7 +740,7 @@ } //鑾峰彇绠辩爜 - if (maxBoxCode == "") + if (string.IsNullOrWhiteSpace(maxBoxCode)) { var str = "B"+maxLotNoStr + "000001"; //鎵瑰彿+ 娴佹按 2302010001000001 maxBoxCode = str; @@ -765,25 +789,27 @@ #region 浜岀骇鍖呰 // 鏍规嵁鐢ㄦ埛杈撳叆鐨勭鏁伴噺璁$畻闇�瑕佺殑鏉$爜鏁� - var labQty = label.Sum(m => m.Qty); - var qty2 = asnList.Qty - labQty; - if (qty2 <= 0) - { - throw new Exception("褰撳墠鍗曟嵁鐗╂枡鏍囩宸叉墦鍗板畬姣曪紝濡傛湁闇�瑕佽琛ユ墦"); - } + //var labQty = label.Sum(m => m.Qty); + //var qty2 = asnList.Qty - labQty; + //if (qty2 <= 0) + //{ + // throw new Exception("褰撳墠鍗曟嵁鐗╂枡鏍囩宸叉墦鍗板畬姣曪紝濡傛湁闇�瑕佽琛ユ墦"); + //} #region 澧炲姞鍒拌揣鏁伴噺 - if (arriveQty - qty2 > 0) - { - throw new Exception("鍒拌揣鏁伴噺澶т簬鏈墦鏍囩鏁伴噺锛岃閲嶆柊杈撳叆鍒拌揣鏁伴噺!"); - } - else - { - qty2 = arriveQty; - } + //if (arriveQty - qty2 > 0) + //{ + // throw new Exception("鍒拌揣鏁伴噺澶т簬鏈墦鏍囩鏁伴噺锛岃閲嶆柊杈撳叆鍒拌揣鏁伴噺!"); + //} + //else + //{ + // qty2 = arriveQty; + //} #endregion + + var qty2 = arriveQty; int labelNum2 = 1; //鐢熶骇绠辨潯鐮佹暟閲� labelNum2 = int.Parse(Math.Ceiling(qty2 / bNum).ToString()); @@ -802,20 +828,37 @@ string toDayTime2 = DateTime.Now.ToString("yyyyMMdd"); if (isReset == "0") { - var maxCode = label.Max(a => a.LotNo); - var boxCode1 = label.Max(a => a.BoxNo);//绠卞彿 - var boxCode2 = label.Max(a => a.BoxNo3);//鏀彿 - maxCodestr2 = maxCode; - maxboxcode2 = boxCode1; - maxboxcode3 = boxCode2; - if (string.IsNullOrWhiteSpace(maxCodestr2)) + //鍒ゆ柇鍗曟嵁鏄惁鏄綑鏂欓��鍥炲崟 + if (asn.Type == "4") { - maxCodestr2 = toDayTime2.Substring(2, 6) + "0001"; + maxCodestr2 = asnList.LotNo; + maxboxcode2 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo); + maxboxcode3 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo3);//鏀彿 + if (string.IsNullOrWhiteSpace(maxCodestr2)) + { + throw new Exception("杞﹂棿浣欐枡閫�鍥炲崟鎹壒娆′笉鑳戒负绌�"); + } } + else + { + var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList(); + if (labelCount.Count <= 0) + { + throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱"); + } + maxCodestr2 = label.Max(a => a.LotNo); ; + maxboxcode2 = label.Max(a => a.BoxNo);//绠卞彿; + maxboxcode3 = label.Max(a => a.BoxNo3);//鏀彿; + if (string.IsNullOrWhiteSpace(maxCodestr2)) + { + maxCodestr2 = toDayTime2.Substring(2, 6) + "0001"; + } + } + } else { - var maxCode = Db.Queryable<BllLabelBoxNo>().Max(a => a.LotNo); // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿 + var maxCode = Db.Queryable<BllBoxInfo>().Where(m => m.Origin == "WMS鐢熸垚").Max(a => a.LotNo); // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿 if (string.IsNullOrWhiteSpace(maxCode)) { maxCodestr2 = toDayTime2.Substring(2, 6) + "0001"; @@ -836,9 +879,10 @@ } } + addLotNo = maxCodestr2; #endregion - + for (int i = 1; i <= labelNum2; i++)//绠辩爜鏍囩 { @@ -863,7 +907,7 @@ } //鑾峰彇绠辩爜 - if (maxboxcode2 == "") + if (string.IsNullOrWhiteSpace(maxboxcode2)) { maxboxcode2 = "B"+maxCodestr2 + "000001"; // 绠卞彿 鎵瑰彿+绗嚑绠� } @@ -907,7 +951,7 @@ } } - if (maxboxcode3 == "") + if (string.IsNullOrWhiteSpace(maxboxcode3)) { maxboxcode3 = "Z"+maxCodestr2 + "0001"; // 鏀彿 鎵瑰彿+绗嚑绠� } @@ -916,6 +960,9 @@ maxboxcode3 = maxboxcode3.Substring(0, 11) + (int.Parse(maxboxcode3.Substring(11, 4)) + 1).ToString().PadLeft(4, '0'); } + var ssss = d.ToString("0"); + var sss = int.Parse(ssss); + // 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛� var labelModel = new BllBoxInfo() { @@ -923,7 +970,7 @@ ASNDetailNo = asnList.Id, BoxNo = maxboxcode2, BoxNo3 = maxboxcode3, - Qty = int.Parse(d.ToString()), + Qty = sss, FullQty = bNum, Status = "0", SkuNo = asnList.SkuNo, @@ -954,7 +1001,20 @@ #endregion } - + if (string.IsNullOrWhiteSpace(asnList.LotNo)) + { + asnList.LotNo = addLotNo; + Db.Updateable(asnList).ExecuteCommand(); + } + else + { + if (!asnList.LotNo.Contains(addLotNo)) + { + asnList.LotNo += ";" + addLotNo; + Db.Updateable(asnList).ExecuteCommand(); + } + } + Db.CommitTran(); return modelList; @@ -962,6 +1022,7 @@ } catch (Exception e) { + Db.RollbackTran(); throw new Exception(e.Message); } } @@ -1014,7 +1075,7 @@ model.BoxNo = data.BoxNo; // 绠卞彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo,260, 15,true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo,160, 40,false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1069,7 +1130,7 @@ model.BoxNo = data.BoxNo; // 绠卞彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1121,7 +1182,7 @@ model.BoxNo = data.BoxNo3; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1173,7 +1234,7 @@ model.BoxNo = data.BoxNo3; // 绠卞彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1237,7 +1298,7 @@ model1.Qty = dataList.Sum(m=>m.Qty);// 鏁伴噺 model1.BoxNo = data.BoxNo; // 绠卞彿 - model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true); + model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model1); @@ -1256,7 +1317,7 @@ model.Qty = data.Qty;// 鏁伴噺 model.BoxNo = data.BoxNo3; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1303,7 +1364,7 @@ model.Qty = data.Sum(m => m.Qty); // 鏁伴噺 model.BoxNo = boxData.BoxNo; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1325,7 +1386,7 @@ model1.Qty = item.Qty;// 鏁伴噺 model1.BoxNo = item.BoxNo3; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1371,7 +1432,7 @@ model.Qty = data.Sum(m => m.Qty); // 鏁伴噺 model.BoxNo = boxData.BoxNo; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1395,7 +1456,7 @@ model1.Qty = item.Qty; // 鏁伴噺 model1.BoxNo = item.BoxNo3; // 鏀彿 - model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true); + model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 @@ -1463,7 +1524,7 @@ model.Qty = data.Sum(m => m.Qty); // 鏁伴噺 model.BoxNo = boxData.BoxNo; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true); + model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model); @@ -1491,7 +1552,7 @@ model1.Qty = item.Qty;// 鏁伴噺 model1.BoxNo = item.BoxNo3; // 鏀彿 - model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true); + model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false); // 娣诲姞鍒發ist闆嗗悎 printModelList.Add(model1); @@ -1522,9 +1583,6 @@ #endregion - //dataContext.WmsLabelPrintLog.InsertAllOnSubmit(printlog); - // dataContext.SubmitChanges(); - // return printModel; return printModelList; } catch (Exception e) -- Gitblit v1.8.0