From b9246f8f943730b9e027e06ecbbed6c0677e69ee Mon Sep 17 00:00:00 2001
From: bklLiudl <673013083@qq.com>
Date: 星期六, 07 九月 2024 09:18:02 +0800
Subject: [PATCH] 入库单明细不可为null
---
Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs | 55 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 43 insertions(+), 12 deletions(-)
diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 93c6c16..a5376b2 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -73,6 +73,7 @@
CompleteTime = tb1.CompleteTime,
CreateTime = tb1.CreateTime,
CreateUserName = tb3.RealName,
+ UserName=tb1.UserName,
UpdateTime = ((DateTime)tb1.UpdateTime).ToString("yyyy-MM-dd HH:mm:ss"),
UpdateUserName = tb4.RealName
@@ -92,9 +93,9 @@
.LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo)
.LeftJoin<SysUserInfor>((tb1, tb2,tb3) => tb1.CreateUser == tb3.Id)
.LeftJoin<SysUserInfor>((tb1,tb2,tb3,tb4) => tb1.UpdateUser == tb4.Id)
- .LeftJoin<SysMaterials>((tb1, tb2, tb3, tb4,tb5) => tb1.SkuNo == tb5.SkuNo)
- .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo)
- .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo)
+ .LeftJoin<SysMaterials>((tb1, tb2, tb3, tb4,tb5) => tb1.SkuNo == tb5.SkuNo && tb5.IsDel == "0")
+ .LeftJoin<SysUnit>((tb1, tb2, tb3, tb4, tb5,tb6) => tb5.UnitNo == tb6.UnitNo && tb6.IsDel == "0")
+ .LeftJoin<SysPackag>((tb1, tb2, tb3, tb4, tb5, tb6,tb7) => tb1.PackagNo == tb7.PackagNo && tb7.IsDel == "0")
.Select((tb1, tb2, tb3, tb4, tb5,tb6, tb7) => new ArrivalNoticeDetailDto()
{
Id = tb1.Id,
@@ -118,6 +119,8 @@
Status = tb1.Status,
AsnType = tb2.Type,
AsnStatus = tb2.Status,
+ Lot1 = tb1.Lot1,
+ Lot2 = tb1.Lot2,
UDF1 = tb1.UDF1,
UDF2 = tb1.UDF2,
UDF3 = tb1.UDF3,
@@ -492,6 +495,7 @@
string toDayTime = dateTime.ToString("yyyymmdd");
List<BllArrivalNoticeDetail> addDetails = new List<BllArrivalNoticeDetail>();
List<BllArrivalNoticeDetail> editDetails = new List<BllArrivalNoticeDetail>();
+ var maxLotNo = "";
foreach (ArrivalNoticeDetailVm detailModel in detailModels)
{
if (string.IsNullOrEmpty(detailModel.SkuNo))
@@ -518,8 +522,21 @@
}
}
+ if (TypeLot.Contains(model.Type))
+ {
+ if (string.IsNullOrWhiteSpace(detailModel.Lot1))
+ {
+ throw new Exception("鐢熶骇鏃ユ湡涓嶅彲涓虹┖!");
+ }
+ if (string.IsNullOrWhiteSpace(detailModel.Lot2))
+ {
+ throw new Exception("杩囨湡鏃ユ湡涓嶅彲涓虹┖!");
+ }
+ }
+
// 鍒ゆ柇鏄惁宸插瓨鍦ㄥ綋鍓嶆槑缁�
- var com = dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count();
+ var com = dbDetailModels.Where(m => m.SkuNo == detailModel.SkuNo
+ && m.LotNo == detailModel.LotNo && m.Id != detailModel.Id && m.IsDel == "0").Count();
if (com > 0)
{
strMessage = "-1:鐗╂枡鍜屾壒娆″彿閲嶅;";
@@ -534,7 +551,10 @@
if (detailModel.Id == 0 || detailModel.Id == null || string.IsNullOrWhiteSpace(detailModel.LotNo))
{
var notice = Db.Queryable<BllArrivalNotice>().Where(m => m.IsDel == "0" && TypeLot.Contains(m.Type)).Select(m => m.ASNNo).ToList();
- var maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m=>m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m=>m.LotNo);
+ if (string.IsNullOrWhiteSpace(maxLotNo))
+ {
+ maxLotNo = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.LotNo) && notice.Contains(m.ASNNo)).Max(m => m.LotNo);
+ }
if (string.IsNullOrWhiteSpace(maxLotNo))
{
maxLotNo = toDayTime.Substring(2, 6) + "0001";
@@ -583,6 +603,8 @@
IsBelt = detailModel.IsBelt,
SupplierLot = detailModel.SupplierLot,
Status = "0",
+ Lot1 = detailModel.Lot1,
+ Lot2 = detailModel.Lot2,
UDF1 = detailModel.UDF1,
UDF2 = detailModel.UDF2,
UDF3 = detailModel.UDF3,
@@ -603,6 +625,8 @@
&& it.SupplierLot == detailModel.SupplierLot
&& it.IsBale == detailModel.IsBale
&& it.IsBelt == detailModel.IsBelt
+ && it.Lot1 == detailModel.Lot1 // 鐢熶骇鏃ユ湡
+ && it.Lot2 == detailModel.Lot2 // 杩囨湡鏃ユ湡
&& it.UDF1 == detailModel.UDF1
&& it.UDF2 == detailModel.UDF2
&& it.UDF3 == detailModel.UDF3
@@ -620,7 +644,7 @@
{
if (dbDetail.LotNo != detailModel.LotNo)
{
- strMessage = "-1:褰撳墠鍗曟嵁绫诲瀷涓嶅彲鏇存敼鎵规锛屽彧鍙紪杈戞暟閲�;";
+ strMessage = "-1:褰撳墠鍗曟嵁绫诲瀷涓嶅彲鏇存敼鎵规;";
continue;
}
}
@@ -635,6 +659,8 @@
dbDetail.LotText = detailModel.LotText;
dbDetail.SupplierLot = detailModel.SupplierLot;
dbDetail.IsBale = detailModel.IsBale;
+ dbDetail.Lot1 = detailModel.Lot1;
+ dbDetail.Lot2 = detailModel.Lot2;
dbDetail.UDF1 = detailModel.UDF1;
dbDetail.UDF2 = detailModel.UDF2;
dbDetail.UDF3 = detailModel.UDF3;
@@ -788,7 +814,7 @@
asnModel.UpdateUser = model.CreateUser;
}
- asnDetail.IsDel = "0";
+ asnDetail.IsDel = "1";
asnDetail.UpdateTime = editDateTime;
asnDetail.UpdateUser = model.CreateUser;
@@ -869,12 +895,16 @@
#region 閲囪喘璁″垝锛岃嫢鏄噰璐鍗曟牴鎹噰璐鍒掑崟鑷姩鐢熸垚鍏ュ簱鍗曚俊鎭�
if (notice.Type == "1" && !string.IsNullOrEmpty(notice.OrderCode))
{
+ // 鑾峰彇閲囪喘鎬诲崟淇℃伅
+ var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
//鍏ュ簱鍗曟槑缁�
- var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
+ var noticeDetailList = Db.Queryable<BllArrivalNoticeDetail>()
+ .Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo).ToList();
foreach (var item in noticeDetailList)
{
//閲囪喘鍗曟槑缁�
- var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>().First(it => it.OrderDetailCode == item.OrderDetailCode && it.IsDel == "0");
+ var planDetail = Db.Queryable<BllProcurePlanNoticeDetail>()
+ .First(it => it.ParentId == planOrd.Id && it.SkuNo == item.SkuNo && it.IsDel == "0");
planDetail.CompleteQty += item.CompleteQty;
if (planDetail.CompleteQty >= planDetail.Qty)
{
@@ -887,8 +917,7 @@
}
Db.Updateable(planDetail).ExecuteCommand();
}
- //閲囪喘鎬诲崟淇℃伅
- var planOrd = Db.Queryable<BllProcurePlanNotice>().First(it => it.OrderCode == notice.OrderCode && it.IsDel == "0");
+ // 缁存姢閲囪喘鎬诲崟淇℃伅
var planDetailNum = Db.Queryable<BllProcurePlanNoticeDetail>().Count(m => m.IsDel == "0" && m.ParentId == planOrd.Id && m.Status != "2");
if (planDetailNum == 0)
{
@@ -905,7 +934,8 @@
}
}
//閲囪喘鍗曟槑缁�
- var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>().Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
+ var planDetailList = Db.Queryable<BllProcurePlanNoticeDetail>()
+ .Where(it => it.ParentId == planOrd.Id && it.IsDel == "0" && it.CompleteQty < it.Qty).ToList();
foreach (var item in planDetailList)
{
//鍒ゆ柇鏈夋棤姝e湪鎵ц鐨�
@@ -1184,6 +1214,7 @@
CustomerNo = model.Customer,
CustomerName = CustomerModel.CustomerName,
OrderCode = model.OrderCode,
+ UserName = model.Username
};
// 鍏ュ簱鏄庣粏琛ㄤ俊鎭�
--
Gitblit v1.8.0