From bdd84cc48ba7b2527584c44d174da8e7d20c5375 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期三, 18 九月 2024 16:37:13 +0800
Subject: [PATCH] 增加对申请入库时对平库库位的校验

---
 Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs |  234 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 187 insertions(+), 47 deletions(-)

diff --git a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
index 7c124fd..152ebb3 100644
--- a/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
+++ b/Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -106,6 +106,19 @@
 
                 if (modelList.Count > 0)
                 {
+                    if (!string.IsNullOrWhiteSpace(modelList[0].PackagNo))
+                    {
+                        // 鏌ヨ鏁存墭鏁伴噺 姝ゅUDF1鐢ㄦ潵瀛樺偍鏁存墭鏁伴噺銆�
+                        var packagModel = Db.Queryable<SysPackag>().Where(m => m.PackagNo == modelList[0].PackagNo && m.IsDel == "0").First();
+                        switch (packagModel.Level.ToString())
+                        {
+                            case "1": modelList[0].UDF1 = packagModel.L1Num.ToString(); break;
+                            case "2": modelList[0].UDF1 = packagModel.L2Num.ToString(); break;
+                            case "3": modelList[0].UDF1 = packagModel.L3Num.ToString(); break;
+                            case "4": modelList[0].UDF1 = packagModel.L4Num.ToString(); break;
+                            default: modelList[0].UDF1 = packagModel.L5Num.ToString(); break;
+                        }
+                    }
                     return modelList[0];
                 }
 
@@ -277,7 +290,8 @@
             try
             {
                 string sqlString = string.Empty;
-                sqlString = "select b.SkuNo,b.SkuName,a.LotNo,a.Qty,a.PalletNo,a.Id from BllPalletBind a left join BllArrivalNoticeDetail b on a.ASNDetailNo = b.Id where a.IsDel = '0' and b.IsDel = '0' ";
+                sqlString = "select b.SkuNo,b.SkuName,a.LotNo,a.Qty,a.PalletNo,a.Id from BllPalletBind a " +
+                    "left join BllArrivalNoticeDetail b on a.ASNDetailNo = b.Id where a.IsDel = '0' and b.IsDel = '0' ";
                 if (!string.IsNullOrEmpty(model.PalletNo))
                 {
                     sqlString += $"and PalletNo = '{model.PalletNo}' and a.Status = '0' ";
@@ -892,7 +906,7 @@
                 #endregion
 
                 #region 鍦扮爜淇℃伅(鍌ㄤ綅淇℃伅)
-                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0" && w.WareHouseNo == "W02");
+                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0");
                 if (storageLocat == null)
                 {
                     strMsg = "-1:鍌ㄤ綅淇℃伅涓嶅瓨鍦ㄦ垨闈炵┖闂茬姸鎬侊紝璇锋牳鏌�!";
@@ -1888,16 +1902,17 @@
                                         BoxNo, 
                                         SkuNo,
                                         SkuName, 
-                                        LotNo, 
+                                        LotNo,
+                                        BitBoxMark,
                                         SUM(Qty) as Qty 
                                       FROM BllBoxInfo 
                                       WHERE IsDel = '0' 
                                         AND Status='0'  
                                         AND BoxNo = '{model.BoxNo}'
-                                      GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; ";
+                                      GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
                 var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);
 
-                if (models == null)
+                if (models.Count == 0 )
                 {
                     throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
                 }
@@ -1909,6 +1924,55 @@
                 throw ex;
             }
         }
+
+        /// <summary>
+        /// 鏍规嵁绠辩爜鍚戣拷婧郴缁熻姹傛爣绛剧鐮佷俊鎭�
+        /// </summary>
+        /// <param name="model"></param>
+        /// <returns></returns>
+        public List<BoxInfoDto> GetFMBindBoxInfos(string boxno)
+        {
+            try
+            {
+                #region 绠辩爜璇锋眰鎺ュ彛锛屾寮忕郴缁熸斁寮�
+                /*var jsonData = JsonConvert.SerializeObject(boxno);
+
+                var response = HttpHelper.DoPost(url, jsonData, "绠辩爜淇℃伅璇锋眰", "FM");
+
+                var obj = JsonConvert.DeserializeObject<ErpModel>(response);//瑙f瀽杩斿洖鏁版嵁
+                if (obj.Success != 0)
+                {
+                    throw new Exception("璇锋眰澶辫触" + obj.Message);
+                }*/
+                #endregion
+                string sqlString = $@"SELECT 
+                                        ASNNo,
+                                        BoxNo, 
+                                        SkuNo,
+                                        SkuName, 
+                                        LotNo,
+                                        BitBoxMark,
+                                        SUM(Qty) as Qty 
+                                      FROM BllBoxInfo 
+                                      WHERE IsDel = '0' 
+                                        AND Status='0'  
+                                        AND BoxNo = '{boxno}'
+                                      GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; ";
+                var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString);  // response
+
+                if (models.Count == 0)
+                {
+                    throw new Exception("绠辩爜淇℃伅涓嶅瓨鍦�!");
+                }
+
+                return models;
+            }
+            catch (Exception ex)
+            {
+                throw ex;
+            }
+        }
+
         // 鏍规嵁鍗曟嵁鍙疯幏鍙栧崟鎹槑缁嗗垪琛�
         public List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model)
         {
@@ -3527,12 +3591,12 @@
                     boxInfoList.AddRange(list);
                     msgStr += $"灏剧鍙蜂负{model.TailBoxNo}";
                 }
+                //缁戝畾绠辨�绘暟閲�
+                //model.SkuQty = boxInfoList.Sum(s => s.Qty);
                 //鍜岄�夋嫨鐨勬壒娆″悓鎵规鐨勭鐮佷俊鎭�
-                var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo).ToList();
+                var sameBoxInfoList = boxInfoList.Where(w => w.LotNo == model.LotNo && w.Status == "0").ToList();
                 //鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜淇℃伅锛堟嫾绠辨壒娆★級
                 var notBoxInfoList = boxInfoList.Where(w => w.LotNo != model.LotNo).ToList();
-                //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺)
-                decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
                 #endregion
 
                 if (sameBoxInfoList.Count <= 0)
@@ -3553,7 +3617,7 @@
                             PalletNo = model.PalletNo,
                             PalletNo2 = "",
                             PalletNo3 = "",
-                            Qty = model.SkuQty - pinBoxQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺
+                            Qty = model.SkuQty,//涓嶅寘鍚嫾绠变腑闈炲悓鎵规鏁伴噺
                             FullQty = pNum,
                             Status = "2",//鍏ュ簱瀹屾垚
                             Type = "0",
@@ -3576,10 +3640,10 @@
                         bindId = bind.Id;
                         bind.Qty += model.SkuQty;
                     }
-                    if (bind.Qty < 0)
+                    /*if (bind.Qty < 0)
                     {
                         throw new Exception("缁勭洏鏁伴噺涓嶈兘灏忎簬0");
-                    }
+                    }*/
                     #endregion
 
                     #region 搴撳瓨鏄庣粏鍜岃川妫�淇℃伅
@@ -3917,6 +3981,8 @@
                     }
                     var pinBoxNo = notBoxInfoList[0].BoxNo;//鎷肩绠辩爜
                     var pinBoxLotNo = notBoxInfoList[0].LotNo;//鎷肩鎵规鍙�
+                    //鎷肩鏁伴噺(鍜岄�夋嫨鐨勬壒娆′笉鍚屾壒娆$殑绠辩爜鏁伴噺)
+                    decimal pinBoxQty = notBoxInfoList.Sum(s => s.Qty);
 
                     var dataBoxList = Db.Queryable<DataBoxInfo>().Where(w => w.IsDel == "0" && w.BoxNo == pinBoxNo && w.LotNo == pinBoxLotNo).ToList();
                     if (dataBoxList.Count > 0)//宸叉湁搴撳瓨
@@ -3925,6 +3991,8 @@
                         var oldPalletBind = Db.Queryable<BllPalletBind>().First(w => w.Id == notBoxInfoList[0].BindNo);
                         //鍘熷叆搴撳崟鏄庣粏
                         var oldAsnDetail = Db.Queryable<BllArrivalNoticeDetail>().First(w => w.Id == oldPalletBind.ASNDetailNo);
+                        //鍘熷叆搴撳崟
+                        var oldAsnNotice = Db.Queryable<BllArrivalNotice>().First(w => w.ASNNo == oldAsnDetail.ASNNo);
                         #region 鎵樼洏缁戝畾淇℃伅
                         var bind = Db.Queryable<BllPalletBind>().First(m => m.IsDel == "0" && m.ASNDetailNo == oldAsnDetail.Id && m.PalletNo == model.PalletNo);
                         var bindId = 0;
@@ -3937,7 +4005,7 @@
                                 PalletNo = model.PalletNo,
                                 PalletNo2 = "",
                                 PalletNo3 = "",
-                                Qty = pinBoxQty,
+                                Qty = 0,
                                 FullQty = pNum,
                                 Status = "2",//鍏ュ簱瀹屾垚
                                 Type = "0",
@@ -3967,7 +4035,7 @@
                         // 鎻掑叆搴撳瓨鏄庣粏鏁版嵁
                         var sd1 = new DataStockDetail()
                         {
-                            LotNo = pinBoxNo,
+                            LotNo = pinBoxLotNo,
                             LotText = notBoxInfoList[0].LotText,
                             SupplierLot = notBoxInfoList[0].SupplierLot,
                             SkuNo = sku.SkuNo,
@@ -3983,9 +4051,9 @@
                             RoadwayNo = "",//鎵�灞炲贩閬�
                             AreaNo = "",//鎵�灞炲尯鍩�
                             LocatNo = "",//鍌ㄤ綅鍦板潃
-                            PalletNo = oldPalletBind.PalletNo,
-                            PalletNo2 = oldPalletBind.PalletNo2,
-                            PalletNo3 = oldPalletBind.PalletNo3,
+                            PalletNo = bind.PalletNo,
+                            PalletNo2 = bind.PalletNo2,
+                            PalletNo3 = bind.PalletNo3,
                             PalletTags = "0",
                             CompleteTime = comTime,
                             ProductionTime = oldPalletBind.ProductionTime,
@@ -4002,6 +4070,17 @@
                             CreateUser = 0,
                             CreateTime = comTime
                         };
+                        //缁存姢搴撳瓨鏄庣粏璐т富/渚涘簲鍟嗕俊鎭�
+                        if (oldAsnNotice.Type == "0" || oldAsnNotice.Type == "2" || oldAsnNotice.Type == "4" || oldAsnNotice.Type == "6" || oldAsnNotice.Type == "7")//0:鎴愬搧鍏ュ簱锛�2:涓棿鍝佸叆搴�,4:杞﹂棿浣欐枡鍏ュ簱,6:浠e偍鍏ュ簱,7:瀵勫瓨鍏ュ簱
+                        {
+                            sd1.OwnerNo = oldAsnNotice.CustomerNo;//璐т富缂栫爜
+                            sd1.OwnerName = oldAsnNotice.CustomerName;//璐т富鍚嶇О
+                        }
+                        else if (oldAsnNotice.Type == "1" || oldAsnNotice.Type == "5")//1:閲囪喘鍏ュ簱,2:鍏跺畠鍏ュ簱
+                        {
+                            sd1.SupplierNo = oldAsnNotice.CustomerNo;//渚涘簲鍟嗙紪鐮�
+                            sd1.SupplierName = oldAsnNotice.CustomerName;//渚涘簲鍟嗗悕绉�
+                        }
                         //娣诲姞搴撳瓨鏄庣粏
                         var sdId1 = Db.Insertable(sd1).ExecuteReturnIdentity();
                         foreach (var item in dataBoxList)
@@ -4029,7 +4108,7 @@
                         string sql = $@"SELECT detail.* FROM BllArrivalNoticeDetail as detail
                                         JOIN BllArrivalNotice as notice ON detail.ASNNo=notice.ASNNo
                                         WHERE notice.IsDel='0'
-                                        AND notice.Status='1'
+                                        AND ( notice.Status=0 or notice.Status=1 )
                                         AND detail.IsDel='0' 
                                         AND detail.LotNo='{pinBoxLotNo}' 
                                         AND detail.SkuNo='{sku.SkuNo}'
@@ -4041,7 +4120,7 @@
                             throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟鏄庣粏涓嶅瓨鍦�!");
                         }
                         //鎵惧埌鎷肩鍐呭叾浠栨壒娆℃墍灞炲叆搴撳崟
-                        var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo && w.Status == "1");
+                        var arrNotice = Db.Queryable<BllArrivalNotice>().First(w => w.IsDel == "0" && w.ASNNo == arrDetail.ASNNo);
                         if (arrNotice == null)
                         {
                             throw new Exception("鎷肩鍐呯墿鏂欐墍灞炲叆搴撳崟涓嶅瓨鍦�!");
@@ -4058,7 +4137,7 @@
                                 PalletNo = model.PalletNo,
                                 PalletNo2 = "",
                                 PalletNo3 = "",
-                                Qty = pinBoxQty,
+                                Qty = 0,
                                 FullQty = pNum,
                                 Status = "2",//鍏ュ簱瀹屾垚
                                 Type = "0",
@@ -4079,9 +4158,6 @@
                         else
                         {
                             bindId = bind.Id;
-                            bind.Qty += pinBoxQty;
-
-                            Db.Updateable(bind).ExecuteCommand();
                         }
                         #endregion
 
@@ -4110,7 +4186,7 @@
                         {
                             sdId1 = sd1.Id;
                             // 搴撳瓨宸插瓨鍦� 鏇存柊鏁版嵁
-                            sd1.Qty = pinBoxQty;
+                            sd1.Qty = bind.Qty;
                             sd1.CompleteTime = comTime;
                             sd1.UpdateUser = userId;
                             sd1.UpdateTime = comTime;
@@ -4128,7 +4204,7 @@
                                 SkuNo = sku.SkuNo,
                                 SkuName = sku.SkuName,
                                 Standard = sku.Standard,
-                                Qty = pinBoxQty,
+                                Qty = bind.Qty,
                                 LockQty = 0,
                                 FrozenQty = 0,
                                 InspectQty = 0,
@@ -4149,7 +4225,7 @@
                                 InspectMark = bind.InspectMark,
                                 InspectStatus = sku.IsInspect,
                                 BitPalletMark = bind.BitPalletMark,
-                                PackagNo = detail.PackagNo,                    //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�       
+                                PackagNo = arrDetail.PackagNo,                    //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�       
                                 IsBale = bind.IsBale,
                                 IsBelt = bind.IsBelt,
 
@@ -4208,7 +4284,7 @@
                                     continue;
                                 }
                                 //绠卞唴鐗╂枡鎵规涓庡崟鎹槑缁嗕笉绗﹀悎
-                                if (box.SkuNo != detail.SkuNo || box.LotNo != model.LotNo)
+                                if (box.SkuNo != arrDetail.SkuNo || box.LotNo != arrDetail.LotNo)
                                 {
                                     throw new Exception($"-1:{box.BoxNo}绠卞唴鐗╂枡鍙婃壒娆′笌鍗曟嵁涓嶄竴鑷达紝璇锋牳瀹�!");
                                 }
@@ -4309,7 +4385,7 @@
                             arrDetail.IsSampling = "1";
                         }
                         arrDetail.Status = "1";//0锛氱瓑寰呮墽琛� 1锛氭鍦ㄦ墽琛� 2锛氭墽琛屽畬鎴�
-                        if (arrDetail.CompleteQty >= detail.Qty)
+                        if (arrDetail.CompleteQty >= arrDetail.Qty)
                         {
                             arrDetail.Status = "2";
                             arrDetail.CompleteTime = comTime;
@@ -4570,6 +4646,18 @@
             var bindId = 0;
             if (bind == null)
             {
+                DateTime? pTime = null;
+                DateTime? eTime = null;
+                if (!string.IsNullOrWhiteSpace(detail.Lot1)) 
+                {
+                    pTime = DateTime.Parse(detail.Lot1);
+                }
+                if (!string.IsNullOrWhiteSpace(detail.Lot2)) 
+                {
+                    eTime = DateTime.Parse(detail.Lot2);
+                }
+
+
                 bind = new BllPalletBind
                 {
                     ASNNo = model.AsnNo,
@@ -4585,6 +4673,8 @@
                     SupplierLot = detail.SupplierLot,
                     //InspectMark = model.IsSample,      //鏄惁鍙栨牱鎵樼洏  鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇
                     //SamplingQty = 0,     //鍙栨牱鏁伴噺  鍚庢湡涓氬姟寮�鍙戞椂 鎺ュ彛浼犲�奸渶娣诲姞瀵瑰簲瀛楁鍒ゆ柇
+                    ProductionTime = pTime,
+                    ExpirationTime = eTime,
                     BitPalletMark = "1",
                     IsBale = "0",
                     IsBelt = "0",
@@ -4640,6 +4730,12 @@
             }
             else
             {
+                string inspectStatusStr = "0";
+                if (sku.IsInspect == "1") 
+                {
+                    inspectStatusStr = "1";
+                }
+
                 // 搴撳瓨涓嶅瓨鍦� 鎻掑叆鏁版嵁
                 sd1 = new DataStockDetail()
                 {
@@ -4668,7 +4764,7 @@
                     ExpirationTime = bind.ExpirationTime,
                     Status = "0",
                     InspectMark = bind.InspectMark,
-                    InspectStatus = sku.IsInspect,
+                    InspectStatus = inspectStatusStr,
                     BitPalletMark = bind.BitPalletMark,
                     PackagNo = detail.PackagNo,                    //liudl 鐢眘ku鐨勫寘瑁呯紪鍙峰彉涓哄叆搴撳崟鏄庣粏鐨勫寘瑁呯紪鐮�       
                     IsBale = bind.IsBale,
@@ -4858,9 +4954,6 @@
             sqlStr += $"insert into LogPalletTrack values('{model.PalletNo}','{model.AsnNo}','缁勭洏','0',getDate(),{userId},NULL,NULL);";
             Db.Ado.ExecuteCommand(sqlStr);
             new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "鎵樼洏缁戝畾", model.AsnNo, "娣诲姞", $"娣诲姞浜嗘墭鐩樼爜涓猴細{model.PalletNo}鐨勭粍鐩樹俊鎭�", userId);
-
-
-
         }
 
         #endregion
@@ -4910,7 +5003,7 @@
                 #endregion
 
                 #region 鍦扮爜淇℃伅(鍌ㄤ綅淇℃伅)
-                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0" && w.WareHouseNo == "W02");
+                var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == model.LocatNo && w.Status == "0");
                 if (storageLocat == null)
                 {
                     throw new Exception("鍌ㄤ綅淇℃伅涓嶅瓨鍦ㄦ垨闈炵┖闂茬姸鎬侊紝璇锋牳鏌�!");
@@ -5141,7 +5234,7 @@
                         SendDate = serverTime,  //鍙戦�佹椂闂�
                         BackDate = serverTime,  //杩斿洖鏃堕棿
                         StartLocat = "",//璧峰浣嶇疆
-                        EndLocat = "鍔涜骞冲簱",//鐩爣浣嶇疆
+                        EndLocat = "骞冲簱",//鐩爣浣嶇疆
                         PalletNo = bindInfo.PalletNo,//鎵樼洏鐮�
                         IsSend = 0,//鏄惁鍙啀娆′笅鍙�
                         IsCancel = 0,//鏄惁鍙彇娑�
@@ -5149,7 +5242,7 @@
                         Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                         Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                         OrderType = "0",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                        Msg = "鍔涜骞冲簱鐨勫叆搴撲换鍔�",
+                        Msg = "骞冲簱鐨勫叆搴撲换鍔�",
                     };
                     Db.Insertable(exTask).ExecuteCommand();
 
@@ -5163,6 +5256,27 @@
                     bindInfo.TaskNo = taskNo; //浠诲姟鍙�
                     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",
+
+                        WareHouseNo = bindInfo.WareHouseNo,
+                        RoadwayNo = bindInfo.RoadwayNo,
+                        AreaNo = "",
+                        LocatNo = "",
+
+                        CreateUser = 0,
+                    };
+                    Db.Insertable(upShelf).ExecuteCommand();
+                    #endregion*/
 
                     #region 搴撳瓨绠辨敮鏄庣粏琛�
                     // 鎻掑叆鏂扮粍鐨勭鏀俊鎭�
@@ -5229,11 +5343,13 @@
                     //淇敼搴撳瓨鏄庣粏淇℃伅
                     foreach (var item in stockDetail)
                     {
-                        item.Status = "0"; //鐘舵�佹洿鏀逛负寰呭垎閰�
-                        item.WareHouseNo = "W02"; //鎵�灞炰粨搴�
-                        item.LocatNo = model.LocatNo;//鍌ㄤ綅鍦板潃
-                        item.UpdateTime = serverTime; //淇敼鏃堕棿
-                        item.UpdateUser = model.CreateUser; //淇敼浜�
+                        item.Status = "0";                                  // 鐘舵�佹洿鏀逛负寰呭垎閰�
+                        item.WareHouseNo = storageLocat.WareHouseNo;        // 鎵�灞炰粨搴�
+                        item.RoadwayNo = storageLocat.RoadwayNo;            // 鎵�灞炲贩閬�
+                        item.AreaNo = storageLocat.AreaNo;                  // 鎵�灞炲尯鍩�
+                        item.LocatNo = model.LocatNo;                       // 鍌ㄤ綅鍦板潃
+                        item.UpdateTime = serverTime;                       // 淇敼鏃堕棿
+                        item.UpdateUser = model.CreateUser;                 // 淇敼浜�
                         //淇敼搴撳瓨鏄庣粏淇℃伅                                           
                         Db.Updateable(item).ExecuteCommand();
                     }
@@ -5259,7 +5375,7 @@
                         SendDate = DateTime.Now,  //鍙戦�佹椂闂�
                         BackDate = DateTime.Now,  //杩斿洖鏃堕棿
                         StartLocat = "",//璧峰浣嶇疆
-                        EndLocat = "鐗у師骞冲簱",//鐩爣浣嶇疆
+                        EndLocat = "骞冲簱",//鐩爣浣嶇疆
                         PalletNo = model.PalletNo,//鎵樼洏鐮�
                         IsSend = 0,//鏄惁鍙啀娆′笅鍙�
                         IsCancel = 0,//鏄惁鍙彇娑�
@@ -5267,21 +5383,44 @@
                         Type = "0",//浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                         Status = "2",//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                         OrderType = "3",//0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗�
-                        Msg = "鐗у師骞冲簱鐨勫叆搴撲换鍔�",
+                        Msg = "骞冲簱鐨勫叆搴撲换鍔�",
                     };
                     Db.Insertable(exTask).ExecuteCommand();
                     //鎵樼洏缁戝畾淇℃伅
-                    var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo && w.Status == "2" && string.IsNullOrEmpty(w.LocatNo));
+                    var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo 
+                    && w.Status == "2" && string.IsNullOrEmpty(w.LocatNo));
                     if (bindInfo != null)
                     {
-                        bindInfo.WareHouseNo = "W02";//鎵�灞炰粨搴�
-                        bindInfo.LocatNo = model.LocatNo;//鍌ㄤ綅鍦板潃
+                        bindInfo.WareHouseNo = storageLocat.WareHouseNo;            // 鎵�灞炰粨搴�
+                        bindInfo.RoadwayNo = storageLocat.RoadwayNo;                // 鎵�灞炲贩閬�
+                        bindInfo.LocatNo = model.LocatNo;                           // 鍌ㄤ綅鍦板潃
                         bindInfo.UpdateTime = serverTime;
                         bindInfo.UpdateUser = model.CreateUser;
-                        bindInfo.CompleteTime = serverTime; //瀹屾垚鏃堕棿
-                        bindInfo.TaskNo = taskNo; //浠诲姟鍙�
+                        bindInfo.CompleteTime = serverTime;                         // 瀹屾垚鏃堕棿
+                        bindInfo.TaskNo = taskNo;                                   // 浠诲姟鍙�
                         Db.Updateable(bindInfo).ExecuteCommand();
                     }
+                    #endregion
+
+                    #region 娣诲姞鎵樼洏涓婃灦璁板綍
+                    var palletupinfo = stockDetail.First();
+                    var upShelf = new BllPalletUpShelf()
+                    {
+                        TaskNo = exTask.TaskNo,
+                        TraceNo = bindInfo.ASNNo,
+                        PalletNo = bindInfo.PalletNo,
+                        SkuNo = palletupinfo.SkuNo,
+                        SkuName = palletupinfo.SkuName,
+                        LotNo = palletupinfo.LotNo,
+                        Status = "2",
+                        LocatNo = model.LocatNo,
+                        WareHouseNo = bindInfo.WareHouseNo,
+                        RoadwayNo = bindInfo.RoadwayNo,
+                        AreaNo = storageLocat.AreaNo,
+
+                        CreateUser = 0,
+                    };
+                    Db.Insertable(upShelf).ExecuteCommand();
                     #endregion
                 }
                 storageLocat.Status = "1";//鐘舵�佸凡浣跨敤
@@ -5290,7 +5429,8 @@
                 //淇敼鍌ㄤ綅淇℃伅                                        
                 Db.Updateable(storageLocat).ExecuteCommand();
 
-                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "骞冲簱鍏ュ簱", model.PalletNo, "瀹屾垚", $"鍦≒DA涓婂畬鎴愬崟鎹彿涓猴細{model.ASNNo}鐨勬墭鐩樼爜涓猴細{model.PalletNo}鐨勫钩搴撳叆搴撴搷浣�", (int)model.CreateUser);
+                new OperationASNServer().AddLogOperationAsn("PDA妯″潡", "骞冲簱鍏ュ簱", model.PalletNo, "瀹屾垚", 
+                    $"鍦≒DA涓婂畬鎴愬崟鎹彿涓猴細{model.ASNNo}鐨勬墭鐩樼爜涓猴細{model.PalletNo}鐨勫钩搴撳叆搴撴搷浣�", (int)model.CreateUser);
                 Db.CommitTran();
             }
             catch (Exception ex)

--
Gitblit v1.8.0