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 |   47 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index ba41cd5..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
 
@@ -93,8 +94,8 @@
                 .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 && tb5.IsDel == "0")
-                .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<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,
@@ -519,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:鐗╂枡鍜屾壒娆″彿閲嶅;";
@@ -587,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,
@@ -607,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
@@ -624,7 +644,7 @@
                                 {
                                     if (dbDetail.LotNo != detailModel.LotNo)
                                     {
-                                        strMessage = "-1:褰撳墠鍗曟嵁绫诲瀷涓嶅彲鏇存敼鎵规锛屽彧鍙紪杈戞暟閲�;";
+                                        strMessage = "-1:褰撳墠鍗曟嵁绫诲瀷涓嶅彲鏇存敼鎵规;";
                                         continue;
                                     }
                                 }
@@ -639,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;
@@ -792,7 +814,7 @@
                     asnModel.UpdateUser = model.CreateUser;
                 }
 
-                asnDetail.IsDel = "0";
+                asnDetail.IsDel = "1";
                 asnDetail.UpdateTime = editDateTime;
                 asnDetail.UpdateUser = model.CreateUser;
 
@@ -873,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)
                         {
@@ -891,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)
                     {
@@ -909,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湪鎵ц鐨�
@@ -1188,6 +1214,7 @@
                     CustomerNo = model.Customer,
                     CustomerName = CustomerModel.CustomerName,
                     OrderCode = model.OrderCode,
+                    UserName = model.Username
                 };
 
                 // 鍏ュ簱鏄庣粏琛ㄤ俊鎭�

--
Gitblit v1.8.0