From 157abc191c34e57c1b958ae74fc3de6518ca8a30 Mon Sep 17 00:00:00 2001
From: zhaowc <526854230@qq.com>
Date: 星期五, 28 二月 2025 11:06:36 +0800
Subject: [PATCH] 修改客户需求

---
 Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs |  120 +++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 102 insertions(+), 18 deletions(-)

diff --git a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
index 3e4ae44..2e8dd5f 100644
--- a/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
+++ b/Wms/WMS.BLL/BllCheckServer/StockCheckServer.cs
@@ -14,6 +14,7 @@
 using SqlSugar.Extensions;
 using Utility.Tools;
 using WMS.BLL.LogServer;
+using WMS.BLL.SysServer;
 using WMS.DAL;
 using WMS.Entity.BllAsnEntity;
 using WMS.Entity.BllCheckEntity;
@@ -200,7 +201,7 @@
                     LotNo = m.LotNo,
                     LotText = m.LotText,
                     SupplierLot = m.SupplierLot,
-                    Qty = (decimal)m.Qty,
+                    Qty = m.Qty,
 
                     PalletNo = m.PalletNo
                 }).ToList();
@@ -658,12 +659,12 @@
                                 };
                                 Db.Insertable<DataBoxInfo>(databox).ExecuteCommand();
                                 //搴撳瓨鏄庣粏澧炲姞鏁伴噺
-                                stockDetailInfo.Qty += l.RealQty;
+                                stockDetailInfo.Qty += (int)l.RealQty;
                             }
                             else
                             {
                                 //搴撳瓨鏄庣粏澧炲姞鏁伴噺
-                                stockDetailInfo.Qty = l.RealQty;
+                                stockDetailInfo.Qty = (int)l.RealQty;
                             }
                             stockDetailInfo.Status = "0";
 
@@ -676,11 +677,11 @@
                             }
                             if (sku.Type != "4")
                             {
-                                de.Qty += (decimal)l.RealQty;
+                                de.Qty += (int)l.RealQty;
                             }
                             else
                             {
-                                de.Qty += (decimal)(l.RealQty - l.Qty);
+                                de.Qty += (int)(l.RealQty - l.Qty);
                             }
 
                             Db.Updateable(de).ExecuteCommand();
@@ -994,7 +995,7 @@
                                 }
                             }
 
-                            //鐢熸垚鐩樼偣璁板綍
+                            //鐢熸垚鐩樼偣璁板綍                                                        
                             Db.Insertable(logList).ExecuteCommand();
                         }
                         // 鍌ㄤ綅鍙�
@@ -1295,7 +1296,7 @@
         }
 
         //AGV绉诲簱瀹屾垚
-        public void MoveSuccess(string taskNo, int userId)
+        public void MoveSuccess(string taskNo,string mesTokenUrl, string mesUrl, int userId)
         {
             try
             {
@@ -1332,22 +1333,24 @@
                 var endLocate = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == task.EndLocat);
                 if (endLocate != null)
                 {
-                    if (endLocate.Status != "0")
+                    if (endLocate.Status != "4")
                     {
-                        throw new Exception("鐩爣鍌ㄤ綅鐘舵�侀潪绌哄偍浣�");
+                        throw new Exception("鐩爣鍌ㄤ綅鐘舵�侀潪绉诲叆涓�");
                     }
                 }
+                var data = new List<RequertBeiliaoInfoModel>();
                 //鏇存敼搴撳瓨鏄庣粏
                 foreach (var item in stockDetail)
                 {
-                    item.Status = "0";//寰呭垎閰�
-                    item.LockQty = 0;//閿佸畾鏁伴噺鏀逛负0
+                    //item.Status = "0";//寰呭垎閰�
+                    //item.LockQty = 0;//閿佸畾鏁伴噺鏀逛负0
                     if (endLocate != null)//鏈夌洰鏍囧偍浣嶈鏄庣Щ鍒板叾浠栧尯鍩熷偍浣�
                     {
                         item.LocatNo = endLocate.LocatNo;//鍌ㄤ綅鏇存敼
                         item.WareHouseNo = endLocate.WareHouseNo;//鎵�灞炰粨搴撴洿鏀�
                         item.RoadwayNo = endLocate.RoadwayNo;//鎵�灞炲贩閬撴洿鏀�
-                        item.AreaNo = endLocate.AreaNo;//鎵�灞炲尯鍩熸洿鏀�
+                        item.AreaNo = endLocate.AreaNo;//鎵�灞炲尯鍩熸洿鏀� 
+
                     }
                     else//娌℃湁鐩爣鍌ㄤ綅璇存槑绉诲埌鍏ュ簱鍙�
                     {
@@ -1355,21 +1358,102 @@
                         item.WareHouseNo = "";//鎵�灞炰粨搴撴洿鏀癸紙鏀逛负绌猴級
                         item.RoadwayNo = "";//鎵�灞炲贩閬撴洿鏀癸紙鏀逛负绌猴級
                         item.AreaNo = "";//鎵�灞炲尯鍩熸洿鏀癸紙鏀逛负绌猴級
-                    }                   
+                    }
+                    if (item.Qty == item.LockQty && item.LockQty>0)
+                    {
+                        item.Status = "2";
+                    }
+                    else if (item.Qty > item.LockQty && item.LockQty > 0)
+                    {
+                        item.Status = "1";
+                    }
+                    else if (item.Qty > item.LockQty && item.LockQty == 0)
+                    {
+                        item.Status = "0";
+                    }
                     Db.Updateable(item).ExecuteCommand();
 
-                    //鏇存敼搴撳瓨鎬昏〃
-                    var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
-                    stock.LockQty -= (decimal)item.Qty;
-                    Db.Updateable(stock).ExecuteCommand();
+                    
+                    
+
+                    if (endLocate != null && endLocate.AreaNo == "B12") //鏄惁鏄�3妤肩紦瀛樺尯 鏄細鍒犻櫎搴撳瓨
+                    {
+                        if (string.IsNullOrWhiteSpace(item.SONo))
+                        {
+                            throw new Exception("褰撳墠鎵樼洏涓嶆槸鎷兼墭鍑哄簱鎵樼洏");
+                        }
+                        //璁板綍鎵樼洏涓婁俊鎭粰MES
+                        var boxInfo = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.StockDetailId == item.Id).ToList();
+                        if (boxInfo.Count == 0)
+                        {
+                            throw new Exception("鎵樼洏涓婄墿鏂欑鐮佷俊鎭笉瀛樺湪,璇锋鏌�!");
+                        }
+                        foreach (var item2 in boxInfo)
+                        {
+                            data.Add(new RequertBeiliaoInfoModel()
+                            {
+                                no = item2.BoxNo,
+                                materiel_no = item.SkuNo,
+                                materiel_name = item.SkuName,
+                                qty = item.Qty,
+                                batch = item.LotNo,
+                                producttime = item2.ProductionTime.ToString().Substring(1, 8),
+                                expiry = item2.ExpirationTime.ToString().Substring(1, 8)
+
+                            });
+                        }
+                        //搴撳瓨绠辩爜鏄庣粏鍒犻櫎
+                        Db.Deleteable(boxInfo).ExecuteCommand();
+                        //鍒犻櫎搴撳瓨鎵樼洏淇℃伅
+                        Db.Deleteable(item).ExecuteCommand();
+                        //鏇存敼搴撳瓨鎬昏〃
+                        var stock = Db.Queryable<DataStock>().First(w => w.IsDel == "0" && w.SkuNo == item.SkuNo && w.LotNo == item.LotNo);
+                        stock.LockQty -= (decimal)item.Qty;
+                        stock.Qty -= (decimal)item.Qty;
+                        Db.Updateable(stock).ExecuteCommand();
+                        //鏇存敼鎵樼洏鐘舵��
+                        var pallet = Db.Queryable<SysPallets>().First(m=>m.IsDel =="0" && m.PalletNo == task.PalletNo);
+                        if (pallet != null)
+                        {
+                            pallet.Status = "0";
+                            Db.Updateable(pallet).ExecuteCommand();
+                        }
+                    }
                 }
                 if (endLocate != null)
                 {
                     //鏇存敼鐩爣鍌ㄤ綅鐘舵��
                     endLocate.Status = "1";//鏈夌墿鍝�
                     Db.Updateable(endLocate).ExecuteCommand();
-                }
 
+                }
+                //姝e紡杩愯绋嬪簭鏀惧紑
+                //if (endLocate!= null && endLocate.AreaNo == "B12")
+                //{
+                //    //鑾峰彇浠ょ墝
+                //    var token = new Token().GetMesToken(mesTokenUrl);
+                //    Dictionary<string, string> mesDic = new Dictionary<string, string>()
+                //    {
+                //        {"Authorization",token }
+                //    };
+                //    var mesData = new RequertBeiliaoModel()
+                //    {
+                //        morder_no = stockDetail.First().SONo,
+                //        pallet = stockDetail.First().PalletNo,
+                //        layer_no = endLocate.LocatNo,
+                //        items = data
+                //    };
+                //    var jsonData = JsonConvert.SerializeObject(mesData);
+                //    //璋冪敤鎺ュ彛
+                //    var response = HttpHelper.DoPost(mesUrl, jsonData, "澶囨枡瀹屾垚杩愯嚦缂撳瓨鍖哄弽棣堣嚦MES", "MES", mesDic);
+
+                //    var obj = JsonConvert.DeserializeObject<MesModel>(response);//瑙f瀽杩斿洖鏁版嵁
+                //    if (obj.status != "0")
+                //    {
+                //        throw new Exception("澶囨枡鍚屾MES澶辫触锛�" + obj.message);
+                //    }
+
+                //}
                 if (userId != 0)
                 {
                     //娣诲姞鎿嶄綔鏃ュ織璁板綍

--
Gitblit v1.8.0