From 9f3f798670e87b91c1b4c4d2b1c44bb850a34153 Mon Sep 17 00:00:00 2001
From: admin <qiutairan163@163.com>
Date: 星期四, 04 十二月 2025 17:47:43 +0800
Subject: [PATCH] 车间退料入库质检状态默认合格

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |  287 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 153 insertions(+), 134 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index ae98c96..515dc67 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -23,7 +23,7 @@
 using ZXing.OneD;
 using System.Threading.Tasks;
 using System.Security.Policy;
-using Newtonsoft.Json; 
+using Newtonsoft.Json;
 using Utility.Tools;
 using Model.ModelDto.SysDto;
 using Model.ModelVm.SysVm;
@@ -52,7 +52,7 @@
             {
                 #region 鍒ゆ柇
                 //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 8锛氱敓浜ч��鏂欏叆搴�
-                
+
 
                 if (string.IsNullOrEmpty(model.AsnNo))
                 {
@@ -145,14 +145,14 @@
                 if (sku == null)
                 {
                     throw new Exception("褰撳墠鐗╂枡淇℃伅涓嶅瓨鍦紝璇锋牳瀹�!");
-                }                
+                }
                 var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
                 if (pack == null)
                 {
                     throw new Exception("褰撳墠鐗╂枡鍖呰淇℃伅涓嶅瓨鍦紝璇锋牳瀹�!");
                 }
-                var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 
-                var bNum = 0;//绠辩爜鐗╁搧鏁伴噺 
+                var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺 
+                var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺 
 
                 //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
                 new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
@@ -250,7 +250,7 @@
                         bindId = bind.Id;
                         bind.Qty += model.SkuQty;
                     }
-                    
+
                     #endregion
 
                     #region 搴撳瓨鏄庣粏鍜岃川妫�淇℃伅
@@ -274,29 +274,18 @@
                     // 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�  
                     var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && m.LotNo == detail.LotNo && m.SkuNo == detail.SkuNo);// && m.ASNDetailNo == bind.ASNDetailNo
                     var sdId1 = 0;
-                    if (sd1 != null)
+                    if (sd1 == null)
                     {
-                        sdId1 = sd1.Id;
-                        // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
-                        sd1.Qty += bind.Qty;
-                        sd1.CompleteTime = comTime;
-                        sd1.UpdateUser = userId;
-                        sd1.UpdateTime = comTime;
-
-                        Db.Updateable(sd1).ExecuteCommand();
-                    }
-                    else
-                    {                        
                         // 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁
                         sd1 = new DataStockDetail()
                         {
                             LotNo = bind.LotNo,
-                            LotText = bind.LotText,
+                            //LotText = bind.LotText,
                             SupplierLot = bind.SupplierLot,
                             SkuNo = sku.SkuNo,
                             SkuName = sku.SkuName,
                             Standard = sku.Standard,
-                            Qty = bind.Qty,
+                            Qty = 0,
                             LockQty = 0,
                             FrozenQty = 0,
                             InspectQty = 0,
@@ -315,9 +304,9 @@
                             ExpirationTime = bind.ExpirationTime,
                             Status = "0",
                             InspectMark = bind.InspectMark,
-                            InspectStatus = sku.IsInspect,
+                            //InspectStatus = sku.IsInspect,
                             BitPalletMark = bind.BitPalletMark,
-                            PackagNo = sku.PackagNo,                    
+                            PackagNo = sku.PackagNo,
                             IsBale = bind.IsBale,
                             IsBelt = bind.IsBelt,
 
@@ -325,13 +314,28 @@
                             CreateUser = 0,
                             CreateTime = comTime
                         };
+
+                        //2025骞�12鏈�04鏃ョ敳鏂硅姹傗�滅敓浜ч��鏂欏叆搴撯�濋粯璁よ川妫�鍚堟牸
+                        if (notice.Type == "8")
+                        {
+                            sd1.InspectStatus = "1";
+                            sd1.LotText = "";
+                        }
+                        else
+                        {
+                            sd1.InspectStatus = sku.IsInspect;
+                            sd1.LotText = bind.LotText;
+                        }
+
+                        //鐢熶骇鏃ユ湡
                         if (!string.IsNullOrEmpty(detail.Lot1))
                         {
-                            sd1.ProductionTime = Convert.ToDateTime(detail.Lot1);//鐢熶骇鏃ユ湡
+                            sd1.ProductionTime = Convert.ToDateTime(detail.Lot1);
                         }
+                        //鍒版湡鏃ユ湡
                         if (!string.IsNullOrEmpty(detail.Lot2))
                         {
-                            sd1.ExpirationTime = Convert.ToDateTime(detail.Lot2);//鍒版湡鏃ユ湡
+                            sd1.ExpirationTime = Convert.ToDateTime(detail.Lot2);
                         }
                         var palletData = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.PalletNo == sd1.PalletNo && !string.IsNullOrEmpty(w.LocatNo));
                         if (palletData != null)
@@ -358,20 +362,19 @@
                             //淇敼鍚堟牸涓嶅悎鏍兼暟閲�
                             if (quality.IsQualified == "1") //鍚堟牸
                             {
-                                //澧炲姞鍚堟牸鏁伴噺
-                                quality.PassQty += bind.Qty;
                                 sd1.InspectStatus = "1";
                             }
                             else if (quality.IsQualified == "0") //涓嶅悎鏍�
                             {
-                                //澧炲姞涓嶅悎鏍兼暟閲�
-                                quality.FailQty += bind.Qty;
                                 sd1.InspectStatus = "2";
                             }
-                            Db.Updateable(quality).ExecuteCommand(); //淇敼璐ㄦ淇℃伅
                         }
                         //娣诲姞搴撳瓨鏄庣粏
                         sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
+                    }
+                    else
+                    {
+                        sdId1 = sd1.Id;
                     }
                     #endregion
 
@@ -440,7 +443,7 @@
                                 Standard = sku.Standard,
                                 ProductionTime = box.ProductionTime,
                                 SupplierLot = box.SupplierLot,
-                                InspectStatus = sku.IsInspect,
+                                //InspectStatus = sku.IsInspect,
                                 InspectMark = box.InspectMark,
                                 BitBoxMark = box.BitBoxMark,
                                 ExpirationTime = box.ExpirationTime,
@@ -448,6 +451,9 @@
                                 CreateUser = 0,
                                 CreateTime = comTime
                             };
+                            //2025骞�12鏈�04鏃ョ敳鏂硅姹傗�滅敓浜ч��鏂欏叆搴撯�濋粯璁よ川妫�鍚堟牸
+                            box2.InspectStatus = (notice.Type == "8") ? "1" : sku.IsInspect;
+
                             //娣诲姞搴撳瓨绠辩爜鏄庣粏
                             Db.Insertable(box2).ExecuteCommand();
                             #endregion
@@ -524,10 +530,13 @@
                     #endregion
 
                     #region 搴撳瓨鏄庣粏
-                    if (sd1.Qty <= 0)
-                    {
-                        sd1.Qty = bind.Qty;
-                    }
+
+                    // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
+                    sd1.Qty += bind.Qty;
+                    sd1.CompleteTime = comTime;
+                    sd1.UpdateUser = userId;
+                    sd1.UpdateTime = comTime;
+
                     //鏇存敼搴撳瓨鏄庣粏鏁伴噺
                     Db.Updateable(sd1).Where(m => m.Id == sdId1).ExecuteCommand();
                     #endregion
@@ -596,7 +605,7 @@
                     }
                     #endregion
                 }
-                
+
                 //鎷肩
                 if (notBoxInfoList.Count > 0)
                 {
@@ -1145,7 +1154,7 @@
                 #region 鍒ゆ柇
 
                 //0锛氭垚鍝佸叆搴� 1锛氶噰璐叆搴� 3锛氶��璐у叆搴� 4锛氳溅闂翠綑鏂欏叆搴� 8锛氱敓浜ч��鏂欏叆搴�
-            
+
 
                 if (string.IsNullOrEmpty(model.AsnNo))
                 {
@@ -1235,11 +1244,11 @@
                     throw new Exception("鏈煡璇㈠埌璇ョ墿鏂欏寘瑁呬俊鎭紝璇锋牳瀹烇紒");
                 }
 
-                var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 
-                var bNum = 0;//绠辩爜鐗╁搧鏁伴噺 
+                var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺 
+                var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺 
                 //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
                 new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
-                 
+
 
                 #endregion
 
@@ -1338,7 +1347,7 @@
                 //楠岃瘉搴撳瓨鎵樼洏鏄惁鏈夎创鏍囩墿鏂�
                 var skuStr = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" && m.IsPasteCode == "1").Select(m => m.SkuNo).ToList();
                 var sdHave = Db.Queryable<DataStockDetail>().Count(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && skuStr.Contains(m.SkuNo));
-                if (sdHave>0)
+                if (sdHave > 0)
                 {
                     throw new Exception("褰撳墠鎵樼洏鍚湁璐存爣鐗╂枡淇℃伅锛屼笉鑳界粍鎵�");
                 }
@@ -1619,10 +1628,10 @@
         {
             try
             {
-               
+
                 var modelList = Db.Queryable<BllArrivalNoticeDetail>()
-                    .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo )
-                    .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo )
+                    .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo)
+                    .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo)
                     .Where((tb1, tb2, tb3) => tb1.IsDel == "0" && tb2.IsDel == "0" && (tb2.Status == "0" || tb2.Status == "1") && tb3.IsDel == "0" && tb3.IsPasteCode == "1")
                     .Select((tb1, tb2, tb3) => tb1.ASNNo).Distinct().ToList();
 
@@ -1643,8 +1652,8 @@
             {
 
                 var modelList = Db.Queryable<BllArrivalNoticeDetail>()
-                     .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo )
-                     .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo )
+                     .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo)
+                     .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo)
                      .Where((tb1, tb2, tb3) => tb1.IsDel == "0" && tb2.IsDel == "0" && (tb2.Status == "0" || tb2.Status == "1") && tb3.IsDel == "0" && tb3.IsPasteCode == "0")
                      .Select((tb1, tb2, tb3) => tb1.ASNNo).Distinct().ToList();
 
@@ -1655,7 +1664,7 @@
                 throw new Exception(e.Message);
             }
         }
-        
+
         /// <summary>
         /// 鏍规嵁鍗曟嵁鍙疯幏鍙栧崟鎹槑缁嗗垪琛�
         /// </summary>
@@ -1801,7 +1810,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model,string url)
+        public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url)
         {
             try
             {
@@ -1986,8 +1995,8 @@
                         var addComBox = Db.Queryable<BllCompleteDetail>().Where(m => m.IsDel == "0" && m.ExportAllotId == allotId).ToList();
                         var addComList = addComBox.GroupBy(m => m.BoxNo).ToList();
                         var sku = Db.Queryable<SysMaterials>().First(m => m.SkuNo == addComBox.First().SkuNo);
-                        var pNum = 0;
-                        var bNum = 0;
+                        var pNum = 0m;
+                        var bNum = 0m;
                         new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
                         var boxList = new List<BllBoxInfo>();
                         foreach (var com in addComList)
@@ -2246,7 +2255,7 @@
                     throw new Exception("璇锋眰澶辫触" + obj.Message);
                 }
                 #endregion
-                
+
                 if (string.IsNullOrEmpty(obj.Data.SkuNo))
                 {
                     //娴嬭瘯鐢紝鍙戝竷姝e紡鍓嶅垹闄ゆ娈典唬鐮�
@@ -2261,8 +2270,8 @@
                     throw new Exception($"鏈煡璇㈠埌鐗╂枡{obj.Data.SkuNo}淇℃伅");
                 }
 
-                var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 
-                var bNum = 0;//绠辩爜鐗╁搧鏁伴噺 
+                var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺 
+                var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺 
                 //鑾峰彇鍖呰淇℃伅
                 new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
                 if (pNum == 0 || bNum == 0)
@@ -2306,7 +2315,8 @@
                             CreateUser = 0
                         };
                         boxList.Add(boxInfo);
-                    };
+                    }
+                    ;
                 }
                 try
                 {
@@ -2324,7 +2334,7 @@
                     Db.RollbackTran();
                     throw new Exception("鎻掑叆绠辩爜澶辫触锛�" + ex.Message);
                 }
-                
+
                 string sqlString = $@"SELECT 
                                         ASNNo,
                                         BoxNo, 
@@ -2339,7 +2349,7 @@
                                         AND BoxNo = '{boxno}'
                                       GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
 
-                var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); 
+                var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
 
                 if (models.Count == 0)
                 {
@@ -2376,9 +2386,9 @@
                 {
                     if (models[0].Status == "1")
                     {
-                        var detail = Db.Queryable<DataStockDetail>().First(m=>m.PalletNo == palletNo );
-                        
-                        if (detail!= null && !string.IsNullOrWhiteSpace(detail.LocatNo))
+                        var detail = Db.Queryable<DataStockDetail>().First(m => m.PalletNo == palletNo);
+
+                        if (detail != null && !string.IsNullOrWhiteSpace(detail.LocatNo))
                         {
                             var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList();
                             var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == detail.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0");
@@ -2408,11 +2418,11 @@
         /// <param name="asnNo">鍏ュ簱鍗�</param>
         /// <param name="asnDetailId">鍏ュ簱鍗曟槑缁嗗彿</param>
         /// <returns></returns>
-        public BoxListInfoDto GetBoxCountByAsn(string asnNo,int? asnDetailId)
+        public BoxListInfoDto GetBoxCountByAsn(string asnNo, int? asnDetailId)
         {
             try
             {
-               
+
                 var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == asnDetailId);
                 if (detail == null)
                 {
@@ -2427,8 +2437,8 @@
                 };
                 //鑾峰彇鐘舵�佹槸鏈粍鎵樼殑鏍囩淇℃伅
                 var models = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId && m.Status == "0")
-                    .GroupBy(m=> new { m.ProductionTime,m.ExpirationTime })
-                    .Select(m=>new { m.ProductionTime ,m.ExpirationTime}).OrderBy(m=>m.ProductionTime).ToList();//&& m.Status == "0"
+                    .GroupBy(m => new { m.ProductionTime, m.ExpirationTime })
+                    .Select(m => new { m.ProductionTime, m.ExpirationTime }).OrderBy(m => m.ProductionTime).ToList();//&& m.Status == "0"
                 foreach (var item in models)
                 {
                     var boxNoList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.Status == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId && m.ProductionTime == item.ProductionTime).Select(m => m.BoxNo).ToList();
@@ -2462,7 +2472,7 @@
             {
                 //鎵樼洏搴撳瓨淇℃伅
                 var stockDetailList = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList();
-                if (stockDetailList.Count(m=> string.IsNullOrWhiteSpace(m.LocatNo)) > 0)
+                if (stockDetailList.Count(m => string.IsNullOrWhiteSpace(m.LocatNo)) > 0)
                 {
                     throw new Exception("鎵樼洏娌℃湁鍦ㄥ钩搴撳偍浣嶄笂");
                 }
@@ -2507,8 +2517,8 @@
                 {
                     var time = DateTime.Now;
                     //鍒ゆ柇褰撳墠鎵樼洏鏄惁瀛樺湪缁戝畾淇℃伅
-                    var task = Db.Queryable<LogTask>().First(m=> m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1") && m.OrderType == "0" && m.Type == "0");
-                    
+                    var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1") && m.OrderType == "0" && m.Type == "0");
+
                     var upShelf = Db.Queryable<BllPalletUpShelf>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1"));
                     if (task != null)
                     {
@@ -2628,7 +2638,7 @@
                 {
                     throw new Exception("璇锋壂鎻忓绠辨潯鐮�!");
                 }
-                
+
                 string sqlString = $@"SELECT BoxNo, SkuNo, SkuName, LotNo, BitBoxMark, SUM(Qty) as Qty  FROM BllBoxInfo 
                                         WHERE IsDel = '0' and Status='0' and BoxNo = '{boxNo}'
                                         GROUP BY BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
@@ -2642,7 +2652,7 @@
                 {
                     throw new Exception("娌℃湁鏌ヨ鍒扮鐮佷俊鎭�");
                 }
-                
+
             }
             catch (Exception ex)
             {
@@ -2651,7 +2661,7 @@
         }
 
         // 杞﹂棿缁戝畾鎵樼洏-璐存爣
-        public void ChejianIn(string palletNo,string boxNo,decimal qty,string areaNo,int userId)
+        public void ChejianIn(string palletNo, string boxNo, decimal qty, string areaNo, int userId)
         {
             try
             {
@@ -2665,7 +2675,7 @@
                 {
                     throw new Exception("绠卞彿涓嶈兘涓虹┖");
                 }
-                if (qty<=0)
+                if (qty <= 0)
                 {
                     throw new Exception("鏁伴噺涓嶈兘灏忕瓑0");
                 }
@@ -2692,8 +2702,8 @@
                 var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo);
                 var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo);
 
-                var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 
-                var bNum = 0;//绠辩爜鐗╁搧鏁伴噺 
+                var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺 
+                var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺 
 
                 //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
                 new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -2703,7 +2713,7 @@
                 var msgStr = $"绠卞彿涓簕boxNo}";
                 var boxInfoList = new List<BllBoxInfo>();
 
-                
+
                 boxInfoList.AddRange(boxInfo);
 
                 #region 搴撳瓨鏄庣粏
@@ -2713,15 +2723,15 @@
                 {
                     throw new Exception("鍏ュ簱鍖哄煙涓嶈兘涓虹┖");
                 }
-                    
+
                 var tags = "0";
-                    
+
                 // 鍒ゆ柇搴撳瓨鏄庣粏鏄惁宸叉湁姝ゆ墭鐩樹俊鎭�  
-                var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.SkuNo== boxInfoOne.SkuNo && m.LotNo == boxInfoOne.LotNo && m.PalletNo == palletNo);
+                var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo && m.LotNo == boxInfoOne.LotNo && m.PalletNo == palletNo);
                 var sdId1 = 0;
                 if (sd1 != null)
                 {
-                    if (sd1.AreaNo!= areaNo)
+                    if (sd1.AreaNo != areaNo)
                     {
                         throw new Exception("閫夋嫨鐨勫尯鍩熶笌搴撳瓨涓嶅悓");
                     }
@@ -2737,7 +2747,7 @@
                 else
                 {
                     var sd2 = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo && m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.AreaNo));
-                    if (sd2.Count(m=>m.AreaNo!= areaNo) > 0)
+                    if (sd2.Count(m => m.AreaNo != areaNo) > 0)
                     {
                         throw new Exception("褰撳墠鎵樼洏浣嶇疆涓庨�夋嫨鐨勪笉鍚岋紝璇锋牳瀹�");
                     }
@@ -2782,7 +2792,7 @@
 
                 // 鏇存敼绠辨敮鍏崇郴琛�
                 decimal factQty = 0.00m;//鎵樼洏鎬绘暟閲�
-                     
+
 
                 //鏍囩缁勬墭
                 var boxGroup = boxInfo.GroupBy(m => m.BoxNo).ToList();
@@ -2795,11 +2805,11 @@
                         {
                             continue;
                         }
-                            
-                            
+
+
                         box.PalletNo = palletNo;
                         box.Status = "2";
-                            
+
                         box.CompleteTime = comTime;
                         box.UpdateTime = comTime;
                         box.UpdateUser = userId;
@@ -2809,7 +2819,7 @@
 
                         factQty += box.Qty;
                         boxFullQty += box.Qty;
-                            
+
                         #region 搴撳瓨绠辩爜鏄庣粏
                         var box2 = new DataBoxInfo()
                         {
@@ -2848,11 +2858,11 @@
                         {
                             Type = "0",//绫诲瀷锛�0锛氬叆搴� 1锛氬嚭搴�
                             PalletNo = palletNo,
-                            BoxNo=box.BoxNo,
-                            LotNo=box.LotNo,
-                            SkuNo=box.SkuNo,
-                            SkuName=box.SkuName,
-                            Qty=box.Qty
+                            BoxNo = box.BoxNo,
+                            LotNo = box.LotNo,
+                            SkuNo = box.SkuNo,
+                            SkuName = box.SkuName,
+                            Qty = box.Qty
                         };
                         //娣诲姞搴撳瓨绠辩爜鏄庣粏
                         Db.Insertable(_log).ExecuteCommand();
@@ -2894,7 +2904,7 @@
                 }
                 #endregion
 
-                
+
                 // 鏇存敼鎵樼洏浣跨敤鐘舵��
                 var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';";
                 ////娣诲姞鎵樼洏璁板綍琛ㄦ暟鎹�
@@ -2941,7 +2951,7 @@
                 if (skuInfo == null)
                 {
                     throw new Exception("鏈煡璇㈠埌鐗╂枡淇℃伅");
-                } 
+                }
                 var pall = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo);
                 if (pall == null)
                 {
@@ -2955,11 +2965,11 @@
                 var comTime = DateTime.Now;
 
                 #region 鍖呰 
-                 
+
                 var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo);
 
-                var pNum = 0;//鎵樼洏鐗╁搧鏁伴噺 
-                var bNum = 0;//绠辩爜鐗╁搧鏁伴噺 
+                var pNum = 0m;//鎵樼洏鐗╁搧鏁伴噺 
+                var bNum = 0m;//绠辩爜鐗╁搧鏁伴噺 
 
                 //鍏叡鏂规硶鑾峰彇鍖呰鏁伴噺
                 new Common().GetPackQtyInfo(pack.PackagNo, ref pNum, ref bNum);
@@ -3023,7 +3033,7 @@
                         Status = "0",
                         InspectMark = "0",
                         InspectStatus = "1",
-                        BitPalletMark = qty >= pNum ?"0" :"1",
+                        BitPalletMark = qty >= pNum ? "0" : "1",
                         PackagNo = skuInfo.PackagNo,
 
                         IsDel = "0",
@@ -3305,8 +3315,8 @@
                 }
                 //鑾峰彇鎵樼洏淇℃伅
                 var sku = Db.Queryable<SysMaterials>().First(m => m.IsDel == "0" && m.SkuNo == "100099");
-                var pNum = 0;
-                var bNum = 0;
+                var pNum = 0m;
+                var bNum = 0m;
 
                 new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum);
 
@@ -4855,9 +4865,9 @@
         }
 
         #region 浜у搧缁勬墭
-        
 
-        
+
+
         //鏍规嵁鐗╂枡鑾峰彇鏄惁瀛樺湪鍖呰淇℃伅
         public string BySkuNoGetPackInfo(string skuNo)
         {
@@ -6200,7 +6210,7 @@
                 #endregion
 
                 #region 璐ㄦ璇烽獙
-                if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1"  && sku.IsControlled != "1")
+                if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1" && sku.IsControlled != "1")
                 {
                     var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot);
                     if (qualityRequest == null)
@@ -6240,7 +6250,7 @@
             }
         }
 
-        
+
 
         #endregion
 
@@ -6281,7 +6291,7 @@
                     {
                         if (!string.IsNullOrEmpty(item.WareHouseNo) && !string.IsNullOrEmpty(item.AreaNo))
                         {
-                            if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09") 
+                            if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09")
                             {
                                 throw new Exception("璇ユ墭鐩樻湭鍦ㄥ簱澶栵紝璇锋牳鏌�!");
                             }
@@ -6297,12 +6307,21 @@
                 {
                     throw new Exception("鍌ㄤ綅淇℃伅涓嶅瓨锛岃鏍告煡!");
                 }
+                if (storageLocat.WareHouseNo != "W04")
+                {
+                    throw new Exception("璇ュ偍浣嶄笉鏄钩搴撳偍浣嶏紝璇锋鏌�!");
+                }
                 if (storageLocat.Status != "0")
-                { 
-                    var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
+                {
+                    var detailInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo);
                     if (detailInfo != null)
                     {
                         throw new Exception("鍌ㄤ綅涓嶆槸绌洪棽鐘舵�侊紝璇锋牳鏌�!");
+                    }
+                    var logIng = Db.Queryable<LogTask>().First(w => w.IsDel == "0" && w.EndLocat == storageLocat.LocatNo && w.Status == "1" && w.PalletNo != model.PalletNo);
+                    if (logIng != null)
+                    {
+                        throw new Exception("璇ュ偍浣嶆湁姝e湪鎵ц鐨勫叆搴撲换鍔★紝璇锋牳鏌�!");
                     }
                 }
                 #endregion
@@ -6554,26 +6573,26 @@
                     Db.Updateable(bindInfo).ExecuteCommand();
                     #endregion
 
-                   /* #region 娣诲姞鎵樼洏涓婃灦璁板綍
-                    var upShelf = new BllPalletUpShelf()
-                    {
-                        TaskNo = exTask.TaskNo,
-                        TraceNo = bindInfo.ASNNo,
-                        PalletNo = bindInfo.PalletNo,
-                        SkuNo = stockModel.SkuNo,
-                        SkuName = stockModel.SkuName,
-                        LotNo = stockModel.LotNo,
-                        Status = "1",
+                    /* #region 娣诲姞鎵樼洏涓婃灦璁板綍
+                     var upShelf = new BllPalletUpShelf()
+                     {
+                         TaskNo = exTask.TaskNo,
+                         TraceNo = bindInfo.ASNNo,
+                         PalletNo = bindInfo.PalletNo,
+                         SkuNo = stockModel.SkuNo,
+                         SkuName = stockModel.SkuName,
+                         LotNo = stockModel.LotNo,
+                         Status = "1",
 
-                        WareHouseNo = bindInfo.WareHouseNo,
-                        RoadwayNo = bindInfo.RoadwayNo,
-                        AreaNo = "",
-                        LocatNo = "",
+                         WareHouseNo = bindInfo.WareHouseNo,
+                         RoadwayNo = bindInfo.RoadwayNo,
+                         AreaNo = "",
+                         LocatNo = "",
 
-                        CreateUser = 0,
-                    };
-                    Db.Insertable(upShelf).ExecuteCommand();
-                    #endregion*/
+                         CreateUser = 0,
+                     };
+                     Db.Insertable(upShelf).ExecuteCommand();
+                     #endregion*/
 
                     #region 搴撳瓨绠辨敮鏄庣粏琛�
                     // 鎻掑叆鏂扮粍鐨勭鏀俊鎭�
@@ -6650,7 +6669,7 @@
                         //淇敼搴撳瓨鏄庣粏淇℃伅                                           
                         Db.Updateable(item).ExecuteCommand();
                     }
-                    
+
                     #region 浠诲姟鍙婄粍鎵樹俊鎭�
                     //鍒涘缓浠诲姟淇℃伅
                     var taskNo = new Common().GetMaxNo("TK");
@@ -6675,7 +6694,7 @@
                     };
                     Db.Insertable(exTask).ExecuteCommand();
                     //鎵樼洏缁戝畾淇℃伅
-                    var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo 
+                    var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo
                     && w.Status == "2" && string.IsNullOrEmpty(w.LocatNo));
                     if (bindInfo != null)
                     {
@@ -6695,7 +6714,7 @@
                     var upShelf = new BllPalletUpShelf()
                     {
                         TaskNo = exTask.TaskNo,
-                        TraceNo = bindInfo== null? "": bindInfo.ASNNo,
+                        TraceNo = bindInfo == null ? "" : bindInfo.ASNNo,
                         PalletNo = model.PalletNo,
                         SkuNo = palletupinfo.SkuNo,
                         SkuName = palletupinfo.SkuName,
@@ -6717,7 +6736,7 @@
                 //淇敼鍌ㄤ綅淇℃伅                                        
                 Db.Updateable(storageLocat).ExecuteCommand();
 
-                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "骞冲簱鍏ュ簱", model.PalletNo, "瀹屾垚", 
+                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "骞冲簱鍏ュ簱", model.PalletNo, "瀹屾垚",
                     $"鍦≒DA涓婂畬鎴愬崟鎹彿涓猴細{model.ASNNo}鐨勬墭鐩樼爜涓猴細{model.PalletNo}鐨勫钩搴撳叆搴撴搷浣�", (int)model.CreateUser);
                 Db.CommitTran();
             }
@@ -6734,7 +6753,7 @@
         /// 浠撳簱纭鏀惰揣
         /// </summary>
         /// <param name="model"></param>
-        public void ConfirmTakeOf(string palletNo,int userId)
+        public void ConfirmTakeOf(string palletNo, int userId)
         {
             try
             {
@@ -6760,7 +6779,7 @@
                 //鑾峰彇搴撳瓨鏄庣粏淇℃伅
                 var stockDetailList = Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.PalletNo == palletNo).ToList();
                 //楠岃瘉搴撳瓨鏄庣粏淇℃伅鏄惁瀛樺湪
-                if (stockDetailList.Count<=0)
+                if (stockDetailList.Count <= 0)
                 {
                     throw new Exception("搴撳瓨鏄庣粏涓嶅瓨鍦紝璇锋鏌ュ簱瀛樹俊鎭�!");
                 }
@@ -6799,7 +6818,7 @@
                         //鍒犻櫎搴撳瓨绠辩爜淇℃伅
                         Db.Deleteable(boxInfoList).ExecuteCommand();
                     }
-                    
+
                     //鍒犻櫎鎴栦慨鏀瑰簱瀛�
                     stock.Qty -= (decimal)item.Qty;
                     if (stock.Qty <= 0)
@@ -7166,7 +7185,7 @@
         /// </summary>
         /// <param name="model">缂栫爜 鍚嶇О</param>
         /// <returns>鐗╂枡璇︾粏淇℃伅</returns>
-        public MaterialsDto GetSkuInfo(GetMaterialsVm model) 
+        public MaterialsDto GetSkuInfo(GetMaterialsVm model)
         {
             try
             {
@@ -7175,8 +7194,8 @@
                     throw new Exception("璇疯緭鍏ョ墿鏂欑紪鐮佹垨鐗╂枡鍚嶇О!");
                 }
 
-                var skuModels = Db.Queryable<SysMaterials>().Where(m => (m.SkuNo == model.SkuNo || m.SkuName == model.SkuName) && m.IsDel == "0").Select< MaterialsDto>().ToList();
-                if (skuModels.Count <= 0) 
+                var skuModels = Db.Queryable<SysMaterials>().Where(m => (m.SkuNo == model.SkuNo || m.SkuName == model.SkuName) && m.IsDel == "0").Select<MaterialsDto>().ToList();
+                if (skuModels.Count <= 0)
                 {
                     throw new Exception("鐗╂枡涓嶅瓨鍦紒");
                 }
@@ -7195,18 +7214,18 @@
         /// <param name="model"></param>
         /// <returns></returns>
         /// <exception cref="Exception"></exception>
-        public List<BllBoxInfo> AddLabels(LabelsVm model) 
+        public List<BllBoxInfo> AddLabels(LabelsVm model)
         {
             try
             {
                 if (decimal.TryParse(model.SkuNum, out decimal skuQty))
                 {
-                    if (skuQty <= 0) 
+                    if (skuQty <= 0)
                     {
                         throw new Exception("绠卞唴鏁伴噺涓嶈兘灏忎簬绛変簬0");
                     }
                 }
-                else 
+                else
                 {
                     throw new Exception("绠卞唴鏁伴噺璇疯緭鍏ユ暟瀛楋紒");
                 }
@@ -7291,7 +7310,7 @@
                 if (packLevel == 1)
                 {
                     #region 涓�绾у寘瑁�
-                    int labelNum = 1; 
+                    int labelNum = 1;
                     labelNum = int.Parse(Math.Ceiling(skuQty / bNum).ToString());//鏍囩鏁伴噺
 
 

--
Gitblit v1.8.0