From f2bc08e28dda7022202f07217f6a3c150f818af7 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期一, 20 一月 2025 08:32:16 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/liudongl/jc24-wms
---
Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs | 390 ++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 338 insertions(+), 52 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
index 90b0e4b..f9f6655 100644
--- a/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/BllBoxInfoServer.cs
@@ -15,6 +15,10 @@
using WMS.Entity.Context;
using WMS.Entity.SysEntity;
using WMS.IBLL.IBllAsnServer;
+using ZXing;
+using Model.ModelDto.BllCheckDto;
+using WMS.Entity.BllCheckEntity;
+using System.Data.SqlTypes;
namespace WMS.BLL.BllAsnServer
{
@@ -264,7 +268,7 @@
.AndIF(!string.IsNullOrWhiteSpace(model.ProductionTime), it => it.ProductionTime >= Convert.ToDateTime(model.ProductionTime))
.AndIF(!string.IsNullOrWhiteSpace(model.InspectMark), it => it.InspectMark == model.InspectMark.Trim())
.AndIF(!string.IsNullOrWhiteSpace(model.BitBoxMark), it => it.BitBoxMark == model.BitBoxMark.Trim())
- .AndIF(!string.IsNullOrWhiteSpace(model.Origin), it => it.Origin == model.Origin.Trim())
+ .AndIF(!string.IsNullOrWhiteSpace(model.Origin), it => model.Origin.Trim().Contains(it.Origin))
.And(m => m.SkuNo != "100099" && m.IsDel == "0" && m.Status == "0")
.ToExpression();//娉ㄦ剰 杩欎竴鍙� 涓嶈兘灏�
var total = 0;
@@ -296,6 +300,7 @@
CreateTime = a.CreateTime,
UpdateTime = a.UpdateTime
})
+ .OrderByDescending(a=>a.BoxNo)
.OrderByDescending(a => a.CreateTime)
.ToOffsetPage(model.Page, model.Limit, ref total);
count = total;
@@ -422,7 +427,9 @@
var data = GetAllWhereAsync(item)
.LeftJoin<SysUserInfor>((a, b) => a.CreateUser == b.Id)
.LeftJoin<SysUserInfor>((a, b, c) => a.UpdateUser == c.Id)
- .Select((a, b, c) => new BoxInfoDto()
+ .LeftJoin<SysMaterials>((a, b, c,d) => a.SkuNo == d.SkuNo)
+ .LeftJoin<SysUnit>((a, b, c, d,e) => d.UnitNo == e.UnitNo)
+ .Select((a, b, c,d,e) => new BoxInfoDto()
{
Id = a.Id,
ASNNo = a.ASNNo,
@@ -440,6 +447,8 @@
LotNo = a.LotNo,
LotText = a.LotText,
+
+ unit = e.UnitName,
Status = a.Status,
SupplierLot = a.SupplierLot,
@@ -463,7 +472,7 @@
CreateTime = a.CreateTime,
UpdateTime = a.UpdateTime
- }).OrderByDescending(a => a.CreateTime).OrderBy(a => a.BoxNo).ToOffsetPage(model.Page, model.Limit, ref total);
+ }).OrderBy(a => a.BoxNo).OrderByDescending(a => a.CreateTime).ToOffsetPage(model.Page, model.Limit, ref total);
count = total;
return data;
}
@@ -529,17 +538,50 @@
}
//鑾峰彇鏍囩淇℃伅(鐢熸垚鏍囩)
- public List<BllBoxInfo> AddLabelBox(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,string supplierLot, int userId)
{
try
- {
+ {
#region 鍗曟嵁銆佺墿鏂欍�佸寘瑁呫�佹爣绛句俊鎭幏鍙�
-
+ if (string.IsNullOrWhiteSpace(productionTime))
+ {
+ throw new Exception("鐢熶骇鏃ユ湡涓嶈兘涓虹┖");
+ }
+ if (!string.IsNullOrWhiteSpace(expirationTime) && !string.IsNullOrWhiteSpace(storeTime))
+ {
+ throw new Exception("鏈夋晥鏈熷拰鍌ㄥ瓨鏈熶笉鑳藉悓鏃跺~鍐�");
+ }
+ if (isReset != "0")
+ {
+ throw new Exception("涓嶅彲閲嶇疆鎵规");
+ }
+ DateTime proTime;
+ DateTime expTime;
+ DateTime stoTime;
+ var bl1= DateTime.TryParse(productionTime, out proTime);
+ var bl2= DateTime.TryParse(expirationTime, out expTime);
+ var bl3= DateTime.TryParse(storeTime, out stoTime);
+ if (!bl1)
+ {
+ throw new Exception("鐢熶骇鏃ユ湡杞崲澶辫触");
+ }
+ if (!bl2 && !string.IsNullOrWhiteSpace(expirationTime))
+ {
+ throw new Exception("鏈夋晥鏈熻浆鎹㈠け璐�");
+ }
+ if (!bl3 && !string.IsNullOrWhiteSpace(storeTime))
+ {
+ throw new Exception("鍌ㄥ瓨鏈熻浆鎹㈠け璐�");
+ }
var asnList = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.Id == imId && m.IsDel == "0");
if (asnList == null)
{
throw new Exception("鏈煡璇㈠埌鍗曟嵁鏄庣粏淇℃伅");
+ }
+ if (asnList.LotNo.Length != 10 && asnList.LotNo.Length != 11 && asnList.LotNo.Length != 12)
+ {
+ throw new Exception("鍗曟嵁杩涘巶缂栧彿浣嶆暟闀垮害閿欒");
}
var asn = Db.Queryable<BllArrivalNotice>().First(m => m.ASNNo == asnList.ASNNo && m.IsDel == "0");
if (asn == null)
@@ -676,23 +718,24 @@
}
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";
- }
+ //var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList();
+ //if (labelCount.Count <= 0)
+ //{
+ // throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱");
+ //}
+ //maxLotNoStr = labelCount.Max(a => a.LotNo);
+ maxLotNoStr = asnList.LotNo;
+ //if (string.IsNullOrWhiteSpace(maxLotNoStr))
+ //{
+ // maxLotNoStr = toDayTime.Substring(2, 6) + "0001";
+ //}
+ maxBoxCode = label.Where(m => m.LotNo == maxLotNoStr).Max(a => a.BoxNo);
}
}
else
{
- var maxCode = Db.Queryable<BllBoxInfo>().Where(m=>m.Origin == "WMS鐢熸垚").Max(a => a.LotNo); // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿
+ var maxCode = Db.Queryable<BllBoxInfo>().Where(m=>m.Origin == "WMS鐢熸垚").Max(a => a.LotNo); // 鑾峰彇浠婂ぉ鏈�澶ф壒娆″彿 20241013
if (string.IsNullOrWhiteSpace(maxCode))
{
maxLotNoStr = toDayTime.Substring(2, 6) + "0001";
@@ -703,7 +746,7 @@
var timeStr = toDayTime.Substring(2, 6);
if (lotStr == timeStr)
{
- maxLotNoStr = toDayTime.Substring(2, 6) + (int.Parse(maxCode.Substring(6, 4)) + 1).ToString().PadLeft(4, '0');
+ maxLotNoStr = toDayTime.Substring(2, 6) + (int.Parse(maxCode.Substring(maxCode.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
}
else
{
@@ -747,7 +790,7 @@
}
else
{
- maxBoxCode = maxBoxCode.Substring(0, 11) + (int.Parse(maxBoxCode.Substring(11, 6)) + 1).ToString().PadLeft(6, '0');
+ maxBoxCode = maxBoxCode.Substring(0, maxBoxCode.Length - 6) + (int.Parse(maxBoxCode.Substring(maxBoxCode.Length - 6, 6)) + 1).ToString().PadLeft(6, '0');
}
// 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
@@ -756,7 +799,7 @@
ASNNo = asnList.ASNNo,
ASNDetailNo = asnList.Id,
BoxNo = maxBoxCode,
- Qty = int.Parse(boxQty.ToString()),
+ Qty = boxQty,
FullQty = bNum,
Status = "0",
SkuNo = asnList.SkuNo,
@@ -764,20 +807,25 @@
LotNo = maxLotNoStr,
Standard = asnList.Standard,
PackageStandard = packStr,
- SupplierLot = asnList.SupplierLot,
+ SupplierLot = supplierLot,
InspectMark = "0",
BitBoxMark = bNum > boxQty ? "1":"0",
- InspectStatus = "",
+ InspectStatus = "0",
- ProductionTime = DateTime.Parse(productionTime),
- StoreTime = DateTime.Parse(storeTime),
- ExpirationTime = DateTime.Parse(expirationTime),
-
+ ProductionTime = proTime,
+
Origin = "WMS鐢熸垚",
CreateUser = userId,
CreateTime = DateTime.Now,
};
-
+ if (bl2)
+ {
+ labelModel.ExpirationTime = expTime;
+ }
+ if (bl3)
+ {
+ labelModel.StoreTime = stoTime;
+ }
Db.Insertable(labelModel).ExecuteCommand();
modelList.Add(labelModel);
}
@@ -841,18 +889,20 @@
}
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";
- }
+ //var labelCount = label.Where(m => m.ASNDetailNo == imId).ToList();
+ //if (labelCount.Count <= 0)
+ //{
+ // throw new Exception("褰撳墠鍗曟嵁鏄庣粏杩樻湭鐢熸垚鏍囩锛岃閫夋嫨閲嶇疆鎵规閫夐」涓衡�樻槸鈥欙紱");
+ //}
+ //maxCodestr2 = labelCount.Max(a => a.LotNo); ;
+ maxCodestr2 = asnList.LotNo;
+
+ //if (string.IsNullOrWhiteSpace(maxCodestr2))
+ //{
+ // maxCodestr2 = toDayTime2.Substring(2, 6) + "0001";
+ //}
+ maxboxcode2 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo);//绠卞彿;
+ maxboxcode3 = label.Where(m => m.LotNo == maxCodestr2).Max(a => a.BoxNo3);//鏀彿;
}
}
@@ -913,7 +963,7 @@
}
else
{
- maxboxcode2 = maxboxcode2.Substring(0, 11) + (int.Parse(maxboxcode2.Substring(11, 6)) + 1).ToString().PadLeft(6, '0');
+ maxboxcode2 = maxboxcode2.Substring(0, maxboxcode2.Length - 6) + (int.Parse(maxboxcode2.Substring(maxboxcode2.Length-6, 6)) + 1).ToString().PadLeft(6, '0');
}
//鑾峰彇绠卞唴鏀爣绛炬暟閲�
if (i == labelNum2)
@@ -957,11 +1007,11 @@
}
else
{
- maxboxcode3 = maxboxcode3.Substring(0, 11) + (int.Parse(maxboxcode3.Substring(11, 4)) + 1).ToString().PadLeft(4, '0');
+ maxboxcode3 = maxboxcode3.Substring(0, maxboxcode3.Length - 4) + (int.Parse(maxboxcode3.Substring(maxboxcode3.Length - 4, 4)) + 1).ToString().PadLeft(4, '0');
}
- var ssss = d.ToString("0");
- var sss = int.Parse(ssss);
+ //var ssss = d.ToString("0");
+ //var sss = int.Parse(ssss);
// 灏嗘潯鐮佷繚瀛樺埌鍘熸枡鏉$爜琛�
var labelModel = new BllBoxInfo()
@@ -970,7 +1020,7 @@
ASNDetailNo = asnList.Id,
BoxNo = maxboxcode2,
BoxNo3 = maxboxcode3,
- Qty = sss,
+ Qty = d,
FullQty = bNum,
Status = "0",
SkuNo = asnList.SkuNo,
@@ -978,20 +1028,25 @@
LotNo = maxCodestr2,
Standard = asnList.Standard,
PackageStandard = packStr,
- SupplierLot = asnList.SupplierLot,
+ SupplierLot = supplierLot,
InspectMark = "0",
BitBoxMark = bNum > boxQty ? "1" : "0",
InspectStatus = "0",
- ProductionTime = DateTime.Parse(productionTime),
- StoreTime = DateTime.Parse(storeTime),
- ExpirationTime = DateTime.Parse(expirationTime),
-
+ ProductionTime = proTime,
+
Origin = "WMS鐢熸垚",
CreateUser = userId,
CreateTime = DateTime.Now,
};
-
+ if (bl2)
+ {
+ labelModel.ExpirationTime = expTime;
+ }
+ if (bl3)
+ {
+ labelModel.StoreTime = stoTime;
+ }
Db.Insertable(labelModel).ExecuteCommand();
modelList.Add(labelModel);
}
@@ -1039,6 +1094,8 @@
//List<WmsLabelPrintLog> printlog = new List<WmsLabelPrintLog>();
//鏍囩琛ㄦ暟鎹俊鎭�
var list = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.Origin == "WMS鐢熸垚").ToList();
+
+
#region MyRegion
@@ -1059,6 +1116,9 @@
{
throw new Exception($"鏈煡璇㈠埌{boxNo}淇℃伅");
}
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault() ;
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = data.SkuNo;
@@ -1072,6 +1132,7 @@
model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = dataList.Sum(m=>m.Qty);// 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = data.BoxNo; // 绠卞彿
@@ -1114,6 +1175,9 @@
{
throw new Exception($"鏈煡璇㈠埌{item}淇℃伅");
}
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = data.SkuNo;
@@ -1127,6 +1191,7 @@
model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data1.Sum(m => m.Qty);// 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = data.BoxNo; // 绠卞彿
@@ -1166,6 +1231,9 @@
{
throw new Exception($"鏈煡璇㈠埌{boxNo2}淇℃伅");
}
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = data.SkuNo;
@@ -1179,6 +1247,7 @@
model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data.Qty;// 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = data.BoxNo3; // 鏀彿
@@ -1218,6 +1287,9 @@
var i = 0;
foreach (var data in data2)
{
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = data.SkuNo;
@@ -1231,6 +1303,7 @@
model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data.Qty;// 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = data.BoxNo3; // 绠卞彿
@@ -1282,8 +1355,10 @@
{
throw new Exception($"褰撳墠鏀爜涓嶆槸绠辩爜鍐�");
}
-
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + data.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪�� 绠辩爜
BoxInfoDto model1 = new BoxInfoDto();
model1.SkuNo = data.SkuNo;
@@ -1296,6 +1371,7 @@
model1.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
model1.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model1.Qty = dataList.Sum(m=>m.Qty);// 鏁伴噺
+ model1.unit = unitname.unit;
model1.BoxNo = data.BoxNo; // 绠卞彿
model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1315,6 +1391,7 @@
model.ExpirationTime = data.ExpirationTime; // 鏈夋晥鏈熻嚦
model.StoreTime = data.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data.Qty;// 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = data.BoxNo3; // 鏀彿
model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1350,6 +1427,9 @@
var data = list.Where(m => m.BoxNo == boxNo);
var boxData = data2.FirstOrDefault();
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + boxData.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = boxData.SkuNo;
@@ -1362,6 +1442,7 @@
model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦
model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data.Sum(m => m.Qty); // 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = boxData.BoxNo; // 鏀彿
model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1372,6 +1453,9 @@
var i = 0;
foreach (var item in data2)
{
+ //鍗曚綅
+ sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + item.SkuNo + "'";
+ unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model1 = new BoxInfoDto();
model1.SkuNo = item.SkuNo;
@@ -1384,6 +1468,7 @@
model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦
model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model1.Qty = item.Qty;// 鏁伴噺
+ model1.unit = unitname.unit;
model1.BoxNo = item.BoxNo3; // 鏀彿
model.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1418,6 +1503,9 @@
{
throw new Exception($"鏈煡璇㈠埌{boxNo}绠辩爜淇℃伅");
}
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + boxData.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = boxData.SkuNo;
@@ -1430,6 +1518,7 @@
model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦
model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data.Sum(m => m.Qty); // 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = boxData.BoxNo; // 鏀彿
model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1442,6 +1531,9 @@
var i = 0;
foreach (var item in data)
{
+ //鍗曚綅
+ sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + item.SkuNo + "'";
+ unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model1 = new BoxInfoDto();
model1.SkuNo = item.SkuNo;
@@ -1454,6 +1546,7 @@
model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦
model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model1.Qty = item.Qty; // 鏁伴噺
+ model1.unit = unitname.unit;
model1.BoxNo = item.BoxNo3; // 鏀彿
model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1510,6 +1603,9 @@
{
throw new Exception($"鏈煡璇㈠埌{demo}绠辩爜淇℃伅");
}
+ //鍗曚綅
+ var sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + boxData.SkuNo + "'";
+ var unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model = new BoxInfoDto();
model.SkuNo = boxData.SkuNo;
@@ -1522,6 +1618,7 @@
model.ExpirationTime = boxData.ExpirationTime; // 鏈夋晥鏈熻嚦
model.StoreTime = boxData.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model.Qty = data.Sum(m => m.Qty); // 鏁伴噺
+ model.unit = unitname.unit;
model.BoxNo = boxData.BoxNo; // 鏀彿
model.ImgStr = BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false);
@@ -1538,6 +1635,9 @@
{
foreach (var item in data.OrderBy(m => m.BoxNo3).ToList())
{
+ //鍗曚綅
+ sqlString = "select a.UnitName as unit from SysUnit a left join SysMaterials b on a.UnitNo = b.UnitNo where b.SkuNo = '" + item.SkuNo + "'";
+ unitname = Db.Ado.SqlQuery<BoxInfoDto>(sqlString).FirstOrDefault();
// 鐗╂枡鏉$爜淇℃伅璧嬪��
BoxInfoDto model1 = new BoxInfoDto();
model1.SkuNo = item.SkuNo;
@@ -1550,6 +1650,7 @@
model1.ExpirationTime = item.ExpirationTime; // 鏈夋晥鏈熻嚦
model1.StoreTime = item.StoreTime; // 鍌ㄥ瓨鏈熻嚦
model1.Qty = item.Qty;// 鏁伴噺
+ model1.unit = unitname.unit;
model1.BoxNo = item.BoxNo3; // 鏀彿
model1.ImgStr = BarcodeHelper.GetCodeBarBase64(model1.BoxNo, 160, 40, false);
@@ -1582,6 +1683,8 @@
}
#endregion
+
+
return printModelList;
}
@@ -1590,5 +1693,188 @@
throw new Exception(e.Message);
}
}
+
+ //鏍规嵁鍏ュ簱鍗曞彿杩囧幓鍗曟嵁涓嬫墍鏈夋壒娆″彿
+ public List<string> GetLotNoListByAsn(string asnNo)
+ {
+ try
+ {
+ var data = new List<string>();
+ var asnList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo).ToList();
+ if (asnList.Count == 0)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ュ崟鎹彿鐨勪俊鎭�");
+ }
+
+ foreach (var item in asnList)
+ {
+ if (string.IsNullOrWhiteSpace(item.LotNo))
+ {
+ continue;
+ }
+
+ var strList = item.LotNo.Split(";");
+ foreach (var str in strList)
+ {
+ if (string.IsNullOrWhiteSpace(str))
+ {
+ continue;
+ }
+ data.Add(str);
+ }
+ }
+
+ return data;
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+ //鍒犻櫎鍗曟嵁涓嬪崟涓垨澶氫釜鎵规鐨勬爣绛�
+ public void DelLabelByAsnNo(string asnNo,string lotNo, int userId)
+ {
+ try
+ {
+ var asnList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo).ToList();
+ if (asnList.Count == 0)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ュ崟鎹彿鐨勪俊鎭�");
+ }
+
+ Db.BeginTran();
+
+ //鎵规涓虹┖锛氬綋鍓嶅崟鎹笅鎵�鏈夋壒娆$殑鏍囩鍏ㄩ儴鍒犻櫎锛� 鏈夋壒娆★細浼ゅ褰撳墠鍗曟嵁涓嬪綋鍓嶆壒娆$殑鏍囩
+ if (string.IsNullOrWhiteSpace(lotNo)) //鍒犻櫎鍏ㄩ儴鏍囩
+ {
+ var labelList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo).ToList();
+ if (labelList.Count(m => m.Status != "0") >= 1)
+ {
+ throw new Exception("褰撳墠鍗曟嵁鎵规鐨勬爣绛惧凡鏈夊凡浣跨敤锛屼笉鑳藉垹闄�");
+ }
+
+ //foreach (var item in asnList)
+ //{
+ // if (string.IsNullOrWhiteSpace(item.LotNo))
+ // {
+ // continue;
+ // }
+
+ // item.LotNo = "";
+ // Db.Updateable(item).ExecuteCommand();
+
+ //}
+ Db.Deleteable(labelList).ExecuteCommand();
+ }
+ else //鍒犻櫎鍥哄畾鎵规鏍囩
+ {
+ var labelList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.LotNo == lotNo).ToList();
+ if (labelList.Count(m=>m.Status != "0") >= 1 )
+ {
+ throw new Exception("褰撳墠鍗曟嵁鎵规鐨勬爣绛惧凡鏈夊凡浣跨敤锛屼笉鑳藉垹闄�");
+ }
+
+ //foreach (var item in asnList)
+ //{
+ // if (string.IsNullOrWhiteSpace(item.LotNo) || item.LotNo!=lotNo)
+ // {
+ // continue;
+ // }
+
+ // var strList = item.LotNo.Split(";");
+ // var updateLotNo = "";
+ // foreach (var str in strList)
+ // {
+ // if (string.IsNullOrWhiteSpace(str) || str == lotNo)
+ // {
+ // continue;
+ // }
+
+ // if (string.IsNullOrWhiteSpace(updateLotNo))
+ // {
+ // updateLotNo = str;
+ // }
+ // else
+ // {
+ // updateLotNo += ";" + str;
+ // }
+
+ // }
+
+ // item.LotNo = updateLotNo;
+ // Db.Updateable(item).ExecuteCommand();
+
+ //}
+ Db.Deleteable(labelList).ExecuteCommand();
+ }
+
+ Db.CommitTran();
+
+ var msg = $"鍒犻櫎浜嗗崟鎹彿锛歿asnNo}";
+ if (!string.IsNullOrWhiteSpace(lotNo))
+ {
+ msg += $"銆佹壒娆″彿锛歿lotNo}";
+ }
+ msg += "鐨勬爣绛句俊鎭�";
+
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鐗╂枡鏍囩", asnNo, "鍒犻櫎", msg, userId);
+ }
+ catch (Exception e)
+ {
+ Db.RollbackTran();
+ throw new Exception(e.Message);
+ }
+ }
+
+
+ //缂栬緫鏍囩鏁伴噺
+ public void EditLabelQty(int id, string qty, int userId)
+ {
+ try
+ {
+ if (string.IsNullOrWhiteSpace(qty))
+ {
+ throw new Exception("缂栬緫鏁伴噺涓嶅彲涓虹┖");
+ }
+ var qtyData = 0m;
+ var isOk = decimal.TryParse(qty, out qtyData);
+ var boxInfo = Db.Queryable<BllBoxInfo>().First(m => m.IsDel == "0" && m.Id == id);
+ if (boxInfo == null)
+ {
+ throw new Exception("鏈煡璇㈠埌璇ユ爣绛句俊鎭�");
+ }
+
+ if (isOk)
+ {
+ if (qtyData <= 0)
+ {
+ throw new Exception("鏁伴噺涓嶈兘灏忎簬绛変簬0");
+ }
+ boxInfo.Qty = qtyData;
+
+ Db.Updateable(boxInfo).ExecuteCommand();
+ }
+ else
+ {
+ throw new Exception("鏁伴噺杞崲澶辫触");
+ }
+
+ var msg = $"缂栬緫浜嗙鍙凤細{boxInfo.BoxNo}";
+ if (!string.IsNullOrWhiteSpace(boxInfo.BoxNo3))
+ {
+ msg += $"銆佹敮鍙凤細{boxInfo.BoxNo3}";
+ }
+ msg += "鐨勬爣绛炬暟閲忎俊鎭�";
+
+ new OperationASNServer().AddLogOperationAsn("鍏ュ簱浣滀笟", "鐗╂枡鏍囩", boxInfo.BoxNo, "缂栬緫", msg, userId);
+ }
+ catch (Exception e)
+ {
+ throw new Exception(e.Message);
+ }
+ }
+
+
}
}
--
Gitblit v1.8.0