From c10e16220622d6fbc17c55893af41f73a4797cbd Mon Sep 17 00:00:00 2001
From: Demo <Demo@DESKTOP-CPA90BF>
Date: 星期日, 04 二月 2024 08:58:15 +0800
Subject: [PATCH] 标签样式调整
---
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 658 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 611 insertions(+), 47 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
index fe47e52..c5f314f 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -415,7 +415,7 @@
.AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.SupplierLot)
.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")
+ .And(it => it.IsDel == "0" && it.Origin == "WMS鐢熸垚")
.ToExpression();
var total = 0;
@@ -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)
{
@@ -967,6 +966,571 @@
}
}
+ // 琛ユ墦鏍囩
+ public List<BoxInfoDto> GetBuDaLabelList(string boxNo, string endBoxNo, string boxNo2, string endBoxNo2, string type, int userId)
+ {
+ try
+ {
+ //鎵撳嵃鏁版嵁闆嗗悎
+ var printList = new List<BoxInfoDto>();
+ List<BoxInfoDto> printModelList = new List<BoxInfoDto>();
+ //List<WmsLabelPrintLog> printlog = new List<WmsLabelPrintLog>();
+ //鏍囩琛ㄦ暟鎹俊鎭�
+ var list = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.Origin == "WMS鐢熸垚").ToList();
+
+ #region MyRegion
+
+ switch (type)
+ {
+ case "1":
+ if (string.IsNullOrWhiteSpace(endBoxNo))
+ {
+ #region 鍗曚釜绠辩爜鏍囩
+
+ if (string.IsNullOrWhiteSpace(boxNo))
+ {
+ throw new Exception($"璧峰绠辩爜涓嶈兘涓虹┖");
+ }
+ var dataList = list.Where(m => m.BoxNo == boxNo);
+ var data = list.FirstOrDefault(m => m.BoxNo == boxNo);
+ if (data == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo}淇℃伅");
+ }
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = data.SkuNo;
+ model.SkuName = data.SkuName;
+ model.LotNo = data.LotNo; //鎵规
+ model.SupplierLot = data.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = data.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = data.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+
+ model.Qty = dataList.Sum(m=>m.Qty);// 鏁伴噺
+
+ model.BoxNo = data.BoxNo; // 绠卞彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo,260, 15,true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+
+ //娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = data.LabelStream;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ #endregion
+ }
+ else
+ {
+ #region 澶氫釜绠辩爜鏍囩 寮�濮�-缁撴潫
+ if (string.IsNullOrWhiteSpace(boxNo))
+ {
+ throw new Exception("璧峰绠辩爜涓嶈兘涓虹┖");
+ }
+ var sql = $@"select * from BllBoxInfo where IsDel = '0' and Origin = 'WMS鐢熸垚' and BoxNo >='{boxNo}' and BoxNo <= '{endBoxNo}'";
+ var data2 = Db.Ado.SqlQuery<BllBoxInfo>(sql);
+ var data3 = data2.GroupBy(m => m.BoxNo).Select(m => m.Key).OrderBy(m => m).ToList();
+ if (data3.Count == 0)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo}-{endBoxNo}涓俊鎭�");
+ }
+
+ var i = 0;
+ foreach (var item in data3)
+ {
+ var data1 = data2.Where(m => m.BoxNo == item);
+ var data = data2.FirstOrDefault(m => m.BoxNo == item);
+ if (data == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{item}淇℃伅");
+ }
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = data.SkuNo;
+ model.SkuName = data.SkuName;
+ model.LotNo = data.LotNo; //鎵规
+ model.SupplierLot = data.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = data.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = data.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+
+ model.Qty = data1.Sum(m => m.Qty);// 鏁伴噺
+
+ model.BoxNo = data.BoxNo; // 绠卞彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+ i++;
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = data.LabelStream;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ if (i >= 100)
+ {
+ break;
+ }
+ }
+
+ #endregion
+ }
+ break;
+ case "2":
+ if (string.IsNullOrWhiteSpace(endBoxNo2))
+ {
+ #region 鍗曚釜鏀爜鏍囩
+
+ if (string.IsNullOrWhiteSpace(boxNo2))
+ {
+ throw new Exception($"璧峰鏀爜涓嶈兘涓虹┖");
+ }
+ var data = list.FirstOrDefault(m => m.BoxNo3 == boxNo2);
+ if (data == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo2}淇℃伅");
+ }
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = data.SkuNo;
+ model.SkuName = data.SkuName;
+ model.LotNo = data.LotNo; //鎵规
+ model.SupplierLot = data.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = data.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = data.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+
+ model.Qty = data.Qty;// 鏁伴噺
+
+ model.BoxNo = data.BoxNo3; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = data.BoxCode1;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+
+ #endregion
+ }
+ else
+ {
+ #region 澶氫釜鏀爜鏍囩 寮�濮�-缁撴潫
+
+ if (string.IsNullOrWhiteSpace(boxNo2))
+ {
+ throw new Exception("璧峰鏀爜涓嶈兘涓虹┖");
+ }
+
+ var sql = $@"select * from BllBoxInfo where IsDel = '0' and Origin = 'WMS鐢熸垚' and BoxNo3 >='{boxNo2}' and BoxNo3 <= '{endBoxNo2}'";
+ var data2 = Db.Ado.SqlQuery<BllBoxInfo>(sql);
+
+ if (data2.Count == 0)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo2}-{endBoxNo2}涓俊鎭�");
+ }
+
+ var i = 0;
+ foreach (var data in data2)
+ {
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = data.SkuNo;
+ model.SkuName = data.SkuName;
+ model.LotNo = data.LotNo; //鎵规
+ model.SupplierLot = data.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = data.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = data.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+
+ model.Qty = data.Qty;// 鏁伴噺
+
+ model.BoxNo = data.BoxNo3; // 绠卞彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+ i++;
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = data.BoxCode1;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ if (i >= 100)
+ {
+ break;
+ }
+ }
+
+ #endregion
+ }
+ break;
+ case "3":
+ if (string.IsNullOrWhiteSpace(endBoxNo))
+ {
+ if (string.IsNullOrWhiteSpace(boxNo))
+ {
+ throw new Exception("璧峰绠辩爜涓嶈兘涓虹┖");
+ }
+ #region 绠辩爜鍜岀鐮佸唴鐨勬敮鐮�
+
+ if (!string.IsNullOrWhiteSpace(boxNo2))
+ {
+ if (string.IsNullOrWhiteSpace(endBoxNo2)) //鍗曚釜鏀爜鍜岀鐮�
+ {
+ #region 鍗曚釜鏀爜鍜岀鐮�
+
+ var dataList = list.Where(m => m.BoxNo == boxNo);
+ var data = list.FirstOrDefault(m => m.BoxNo3 == boxNo2);
+ if (data == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo2}淇℃伅");
+ }
+
+ if (data.BoxNo != boxNo)//鍒ゆ柇绠辩爜鏄惁鐩稿悓
+ {
+ throw new Exception($"褰撳墠鏀爜涓嶆槸绠辩爜鍐�");
+ }
+
+
+ // 鐗╂枡鏉$爜淇℃伅璧嬪�� 绠辩爜
+ BoxInfoDto model1 = new BoxInfoDto();
+ model1.SkuNo = data.SkuNo;
+ model1.SkuName = data.SkuName;
+ model1.LotNo = data.LotNo; //鎵规
+ model1.SupplierLot = data.SupplierLot; // 鍘熷巶鎵瑰彿
+ model1.Standard = data.Standard; // 瑙勬牸/鍨嬪彿
+ model1.PackageStandard = data.PackageStandard; // 鍖呰瑙勬牸
+
+ model1.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model1.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model1.Qty = dataList.Sum(m=>m.Qty);// 鏁伴噺
+ model1.BoxNo = data.BoxNo; // 绠卞彿
+
+ model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model1);
+
+ // 鐗╂枡鏉$爜淇℃伅璧嬪�� 鏀爜
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = data.SkuNo;
+ model.SkuName = data.SkuName;
+ model.LotNo = data.LotNo; //鎵规
+ model.SupplierLot = data.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = data.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = data.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model.Qty = data.Qty;// 鏁伴噺
+ model.BoxNo = data.BoxNo3; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = data.BoxCode1;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ #endregion
+ }
+ else//涓�绠卞唴鏌愬嚑涓敮鐮�
+ {
+ #region 鍗曚釜绠辩爜鍜屽涓敮鐮�
+
+ var sql = $@"select * from BllBoxInfo where IsDel = '0' and Origin = 'WMS鐢熸垚' and BoxNo3 >='{boxNo2}' and BoxNo3 <= '{endBoxNo2}'";
+ var data2 = Db.Ado.SqlQuery<BllBoxInfo>(sql);
+
+ if (data2.Count == 0)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo2}-{endBoxNo2}涓俊鎭�");
+ }
+
+ if (data2.Count(m => m.BoxNo != boxNo) > 0)
+ {
+ throw new Exception($"{boxNo2}-{endBoxNo2}涓俊鎭湁涓嶅睘浜巤boxNo}绠辩爜鍐呯殑");
+ }
+
+ var data = list.Where(m => m.BoxNo == boxNo);
+ var boxData = data2.FirstOrDefault();
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = boxData.SkuNo;
+ model.SkuName = boxData.SkuName;
+ model.LotNo = boxData.LotNo; //鎵规
+ model.SupplierLot = boxData.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = boxData.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = boxData.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model.Qty = data.Sum(m => m.Qty); // 鏁伴噺
+ model.BoxNo = boxData.BoxNo; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+
+ var i = 0;
+ foreach (var item in data2)
+ {
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model1 = new BoxInfoDto();
+ model1.SkuNo = item.SkuNo;
+ model1.SkuName = item.SkuName;
+ model1.LotNo = item.LotNo; //鎵规
+ model1.SupplierLot = item.SupplierLot; // 鍘熷巶鎵瑰彿
+ model1.Standard = item.Standard; // 瑙勬牸/鍨嬪彿
+ model1.PackageStandard = item.PackageStandard; // 鍖呰瑙勬牸
+
+ model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model1.Qty = item.Qty;// 鏁伴噺
+ model1.BoxNo = item.BoxNo3; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+ i++;
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = item.BoxCode1;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ if (i >= 100)
+ {
+ break;
+ }
+ }
+
+ #endregion
+ }
+ }
+ else //鏁寸鏀爜鍜屼竴涓鐮�
+ {
+ #region 鏁寸鏀爜鍜屼竴涓鐮�
+
+ var data = list.Where(m => m.BoxNo == boxNo).ToList();
+ var boxData = data.FirstOrDefault();
+ if (boxData == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo}绠辩爜淇℃伅");
+ }
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = boxData.SkuNo;
+ model.SkuName = boxData.SkuName;
+ model.LotNo = boxData.LotNo; //鎵规
+ model.SupplierLot = boxData.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = boxData.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = boxData.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model.Qty = data.Sum(m => m.Qty); // 鏁伴噺
+ model.BoxNo = boxData.BoxNo; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+
+ if (data.Count(m => !string.IsNullOrWhiteSpace(m.BoxNo3)) > 0) //鍒ゆ柇鏄惁鏈夋敮鐮�
+ {
+ var i = 0;
+ foreach (var item in data)
+ {
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model1 = new BoxInfoDto();
+ model1.SkuNo = item.SkuNo;
+ model1.SkuName = item.SkuName;
+ model1.LotNo = item.LotNo; //鎵规
+ model1.SupplierLot = item.SupplierLot; // 鍘熷巶鎵瑰彿
+ model1.Standard = item.Standard; // 瑙勬牸/鍨嬪彿
+ model1.PackageStandard = item.PackageStandard; // 鍖呰瑙勬牸
+
+ model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model1.Qty = item.Qty; // 鏁伴噺
+ model1.BoxNo = item.BoxNo3; // 鏀彿
+
+ model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true);
+
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model1);
+ i++;
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = item.BoxCode1;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ if (i >= 100)
+ {
+ break;
+ }
+ }
+ }
+ else
+ {
+ throw new Exception("褰撳墠绠卞唴娌℃湁鏀爜");
+ }
+ #endregion
+ }
+ #endregion
+ }
+ else
+ {
+ if (string.IsNullOrWhiteSpace(boxNo))
+ {
+ throw new Exception("璧峰绠辩爜涓嶈兘涓虹┖");
+ }
+
+ #region 澶氫釜绠辩爜鍜屽唴鏀爜
+
+ var sql = $@"select * from BllBoxInfo where IsDel = '0' and Origin = 'WMS鐢熸垚' and BoxNo >='{boxNo}' and BoxNo <= '{endBoxNo}'";
+ var data2 = Db.Ado.SqlQuery<BllBoxInfo>(sql);
+ var data3 = data2.GroupBy(m => m.BoxNo).Select(m => m.Key).OrderBy(m => m).ToList();
+ if (data3.Count == 0)
+ {
+ throw new Exception($"鏈煡璇㈠埌{boxNo}-{endBoxNo}涓俊鎭�");
+ }
+ var i = 0;
+ var j = 0;
+ foreach (var demo in data3)
+ {
+ var data = list.Where(m => m.BoxNo == demo).ToList();
+ var boxData = data.FirstOrDefault();
+ if (boxData == null)
+ {
+ throw new Exception($"鏈煡璇㈠埌{demo}绠辩爜淇℃伅");
+ }
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model = new BoxInfoDto();
+ model.SkuNo = boxData.SkuNo;
+ model.SkuName = boxData.SkuName;
+ model.LotNo = boxData.LotNo; //鎵规
+ model.SupplierLot = boxData.SupplierLot; // 鍘熷巶鎵瑰彿
+ model.Standard = boxData.Standard; // 瑙勬牸/鍨嬪彿
+ model.PackageStandard = boxData.PackageStandard; // 鍖呰瑙勬牸
+
+ model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model.Qty = data.Sum(m => m.Qty); // 鏁伴噺
+ model.BoxNo = boxData.BoxNo; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model);
+
+ j++;
+ if (j >= 100)
+ {
+ break;
+ }
+ if (data.Count(m => !string.IsNullOrWhiteSpace(m.BoxNo3)) > 0) //鍒ゆ柇鏄惁鏈夋敮鐮�
+ {
+ foreach (var item in data.OrderBy(m => m.BoxNo3).ToList())
+ {
+ // 鐗╂枡鏉$爜淇℃伅璧嬪��
+ BoxInfoDto model1 = new BoxInfoDto();
+ model1.SkuNo = item.SkuNo;
+ model1.SkuName = item.SkuName;
+ model1.LotNo = item.LotNo; //鎵规
+ model1.SupplierLot = item.SupplierLot; // 鍘熷巶鎵瑰彿
+ model1.Standard = item.Standard; // 瑙勬牸/鍨嬪彿
+ model1.PackageStandard = item.PackageStandard; // 鍖呰瑙勬牸
+
+ model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦
+ model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦
+ model1.Qty = item.Qty;// 鏁伴噺
+ model1.BoxNo = item.BoxNo3; // 鏀彿
+
+ model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 15, true);
+
+ // 娣诲姞鍒發ist闆嗗悎
+ printModelList.Add(model1);
+ i++;
+ ////娣诲姞鎵撳嵃璁板綍
+ //WmsLabelPrintLog log = new WmsLabelPrintLog();
+ //log.BoxCode = item.BoxCode1;
+ //log.CreateTime = DateTime.Now;
+ //log.Demo = Demo;
+ //log.Isdel = 0;
+ //log.CreateUser = userId;
+ //printlog.Add(log);
+ if (i >= 100)
+ {
+ break;
+ }
+ }
+ }
+
+ }
+
+ #endregion
+ }
+ break;
+ default:
+ throw new Exception("璇烽�夋嫨琛ユ墦绫诲瀷");
+ }
+
+ #endregion
+
+ //dataContext.WmsLabelPrintLog.InsertAllOnSubmit(printlog);
+ // dataContext.SubmitChanges();
+ // return printModel;
+ return printModelList;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
}
}
--
Gitblit v1.8.0