From f147cfa91feec613eb304c78fecafdf43286034a Mon Sep 17 00:00:00 2001
From: Administrator <Administrator@DESKTOP-5BIMHQ3>
Date: 星期六, 30 三月 2024 11:12:24 +0800
Subject: [PATCH] Merge branch 'wxw'

---
 Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs |   57 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 41 insertions(+), 16 deletions(-)

diff --git a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
index 2c1739a..9922b6d 100644
--- a/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
+++ b/Wms/WMS.BLL/BllAsnServer/ArrivalNoticeServer.cs
@@ -153,39 +153,58 @@
             try
             {
                 string skuType = string.Empty;
+                int IsPack = 0; //0锛氫笉绠� 1锛氳创 2锛氫笉璐�
+                /**
+                 * 鎴愬搧璐� 		0
+                 * 閲囪喘鍙创鍙笉璐�	1
+                 * 涓棿鍝佷笉璐�	2
+                 * 閫�璐ц创		3
+                 * 浣欐枡閫�鍥炲彲璐村彲涓嶈创	4
+                 * 鍏跺畠鍙创鍙笉璐�	5
+                 * 浠e偍涓嶈创		6
+                 * 瀵勫瓨涓嶈创		7
+                 */
                 switch (model.Type)//0锛氬師鏂� 1锛氬寘鏉� 2锛氭垚鍝� 3锛氳�楁潗 4锛氬崐鎴愬搧
                 {
                     case "0"://鎴愬搧鍏ュ簱
                         skuType = "(2)";
+                        IsPack = 1; //璐�
+                        break;
+                    case "1"://閲囪喘鍏ュ簱
+                        skuType = "(0,1,3)";
+                        break;
+                    case "2"://涓棿鍝佸叆搴�
+                        skuType = "(4)";
+                        IsPack = 2; //涓嶈创
                         break;
                     case "3"://閫�璐у叆搴�
                         skuType = "(2)";
+                        IsPack = 1; //璐�
+                        break;
+                    case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴�
+                        skuType = "(0,1,3)";
                         break;
                     case "5"://鍏跺畠鍏ュ簱
                         skuType = "(0,1,3)";
                         break;
                     case "6"://浠e偍鍏ュ簱
                         skuType = "(2)";
-                        break;
-                    case "1"://閲囪喘鍏ュ簱
-                        skuType = "(0,1,3)";
-                        break;
-                    case "4"://杞﹂棿浣欐枡閫�鍥炲叆搴�
-                        skuType = "(0,1,3)";
-                        break;
-                    case "2"://涓棿鍝佸叆搴�
-                        skuType = "(4)";
+                        IsPack = 2; //涓嶈创
                         break;
                     case "7"://瀵勫瓨鍏ュ簱
-                        skuType = "(0,1,2,3,4)";
+                        //skuType = "(3)";
+                        IsPack = 2; //涓嶈创
                         break;
                     default: //鍏跺畠
-                        skuType = "(0,1,2,3,4)";
+                        //skuType = "(0,1,2,3,4)";
                         break;
                 }
 
                 Expression<Func<SysMaterials, bool>> item = Expressionable.Create<SysMaterials>()
-                    .AndIF(true, it => skuType.Contains(it.Type))
+                    .AndIF(model.Type != "7", it => skuType.Contains(it.Type))
+                    .AndIF(model.Type == "7", it => it.SkuNo == "100088")
+                    .AndIF(IsPack == 1, it => it.PackagNo != "")
+                    .AndIF(IsPack == 2, it => it.PackagNo == "")
                     .AndIF(true, it => it.IsDel == "0")
                     .And(it => it.SkuNo != "100099")
                     .AndIF(!string.IsNullOrWhiteSpace(model.SkuNo),
@@ -200,6 +219,8 @@
                     .Includes(x => x.UnitInfo)
                     .Includes(x => x.PackagInfo)
                     .ToList();
+
+
 
                 return data.Select(m => new MaterialsDto()
                 {
@@ -238,7 +259,7 @@
             string sqlString = string.Empty;
             string sqlDetailStr = string.Empty;
             //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 2锛氫腑闂村搧鍏ュ簱 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 5锛氬叾瀹冨叆搴� 6锛氫唬鍌ㄥ叆搴� 7锛氬瘎瀛樺叆搴�
-            var TypeLot = "1, 2, 5, 6, 7";
+            var TypeLot = "1, 2, 5, 6, 7"; //鎵规鍙负绌哄崟鎹被鍨�
 
             try
             {
@@ -651,7 +672,7 @@
                 //{
                 //    throw new Exception("鍙傛暟寮傚父,璇锋鏌ョ姸鎬佹槸鍚︿负鎵ц瀹屾垚");
                 //}
-                var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.Status != "2").ToList();
+                var palletBind = Db.Queryable<BllPalletBind>().Where(m => m.IsDel == "0" && m.ASNNo == notice.ASNNo && m.Status != "2").ToList();
                 if (palletBind != null && palletBind.Count > 0)
                 {
                     throw new Exception("瀛樺湪鏈叆搴撳畬鎴愭墭鐩樹俊鎭紝涓嶅厑璁稿叧鍗�");
@@ -780,7 +801,7 @@
 
                         }
                     }
-                    
+
                 }
                 var time = DateTime.Now;
                 var log = new BllAuditLog()
@@ -888,7 +909,7 @@
                 {
                     ASNNo = asnNo,
                     Type = model.AsnType,
-                    Origin = model.Origin,
+                    Origin = string.IsNullOrEmpty(model.Origin) ? "ERP" : model.Origin,
                     CustomerNo = model.Customer,
                     CustomerName = CustomerModel.CustomerName,
                     OrderCode = model.OrderCode,
@@ -972,6 +993,10 @@
                 {
                     throw new Exception("鏈煡璇㈠埌鍗曟嵁淇℃伅");
                 }
+                if (notice.Status != "3")
+                {
+                    throw new Exception("澶嶆牳澶辫触锛屽崟鎹潪鍏抽棴鐘舵��");
+                }
                 var detail = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.ASNNo == notice.ASNNo && m.IsDel == "0").ToList();
                 if (detail.Count == 0)
                 {

--
Gitblit v1.8.0