From 395a761c6a2df625180f98b25341298f20122ac0 Mon Sep 17 00:00:00 2001
From: wxw <Administrator@DESKTOP-5BIMHQ3>
Date: 星期三, 25 六月 2025 13:23:47 +0800
Subject: [PATCH] Merge branch 'wxw'

---
 Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs |  278 +++++++++----------------------------------------------
 1 files changed, 47 insertions(+), 231 deletions(-)

diff --git a/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs b/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
index 54187e7..330a533 100644
--- a/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
+++ b/Wms/WMS.BLL/BllQualityServer/InspectionRequestServer.cs
@@ -358,98 +358,15 @@
                     var Locats = Db.Queryable<SysStorageLocat>()
                         .Where(m => m.LocatNo == pallet.LocatNo && m.WareHouseNo == pallet.WareHouseNo 
                         && m.IsDel == "0").ToList().FirstOrDefault();
-
-                    if (Locats.Depth == "02") 
+                    var Locats2 = Db.Queryable<SysStorageLocat>().Where(m => m.LocatNo == model.Code && m.IsDel == "0").ToList().FirstOrDefault();
+                    if (Locats2 == null)
                     {
-                        // 鑾峰彇澶栦晶鍌ㄤ綅鍦板潃
-                        string locatNo = Locats.LocatNo.Substring(0, 6) + "01";
-                        var Locatwc = Db.Queryable<SysStorageLocat>()
-                        .Where(m => m.LocatNo == locatNo && m.WareHouseNo == pallet.WareHouseNo
-                        && m.IsDel == "0").ToList().FirstOrDefault();
-
-                        if (Locatwc.Status == "1")
-                        {
-                            // 澶栦晶鏈夎揣鐗�
-                            var Locatwcsku = Db.Queryable<DataStockDetail>()
-                                .Where(m => m.LocatNo == locatNo    
-                                && m.IsDel == "0"
-                                && m.WareHouseNo== Locatwc.WareHouseNo).ToList().FirstOrDefault();
-
-                            // 鑾峰彇绉诲簱鍦板潃
-                            var newSlot = com.MoveAddress(locatNo, Locatwc.RoadwayNo, Locatwcsku.SkuNo);
-
-                            var taskNo1 = new Common().GetMaxNo("TK");
-                            var exTask1 = new LogTask();    //鍑哄簱浠诲姟
-                            exTask1.TaskNo = taskNo1;
-                            exTask1.Sender = "WMS";
-                            exTask1.Receiver = "WCS";
-                            exTask1.IsSuccess = 0;                  //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
-                            exTask1.StartLocat = locatNo;           //璧峰浣嶇疆
-                            exTask1.PalletNo = Locatwcsku.PalletNo; //鎵樼洏鐮�
-                            exTask1.IsSend = 1;//鏄惁鍙啀娆′笅鍙�
-                            exTask1.IsCancel = 1;//鏄惁鍙彇娑�
-                            exTask1.IsFinish = 1;//鏄惁鍙畬鎴�    
-                            exTask1.Status = "0";//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
-                            exTask1.OrderType = "4";    //0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗�
-
-
-                            OutCommandDto taskModel = new OutCommandDto();
-                            taskModel.TaskNo = com.GetMaxNo("TK");      // 浠诲姟鍙�
-                            taskModel.StartRoadway = Locatwc.RoadwayNo;
-                            taskModel.PalletNo = Locatwcsku.PalletNo;       // 鎵樼洏鍙�
-                            taskModel.StartLocate = locatNo;                // 璧峰浣嶇疆
-                            taskModel.Order = 1;
-                            if (newSlot == "")
-                            {
-                                exTask1.EndLocat = model.Code;          //鐩爣浣嶇疆
-                                exTask1.Type = "1";                     //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
-                                exTask1.Msg = Locats.LocatNo +"鎵樼洏鍑哄簱鍒涘缓鐨�"+locatNo + "鎵樼洏鐨勫嚭搴撲换鍔�";
-
-                                // 娌℃湁澶氫綑鐨勭┖鍌ㄤ綅
-                                taskModel.EndLocate = model.Code;           // 鍑哄簱鍙�
-                                taskModel.EndRoadway = "";                  // 鐩爣宸烽亾 
-                                taskModel.TaskType = "1";// 浠诲姟绫诲瀷 (鍑哄簱)
-                                taskModel.OutMode = model.Code;  //鐩爣鍦板潃
-
-                                // 鏇存柊鍌ㄤ綅鍦板潃
-                                Locatwc.Status = "3";
-                                Db.Updateable(Locatwc).ExecuteCommand();
-                            }
-                            else 
-                            {
-                                // 鑾峰彇绉诲簱宸烽亾鍙�
-                                var Locatyk = Db.Queryable<SysStorageLocat>()
-                                    .Where(m => m.LocatNo == newSlot && m.WareHouseNo == pallet.WareHouseNo
-                                    && m.IsDel == "0").ToList().FirstOrDefault();
-
-                                exTask1.EndLocat = newSlot;          //鐩爣浣嶇疆
-                                exTask1.Type = "2";                     //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
-                                exTask1.Msg = Locats.LocatNo + "鎵樼洏鍑哄簱鍒涘缓鐨�" + locatNo + "鎵樼洏鐨勭Щ搴撲换鍔�";
-
-                                taskModel.EndLocate = newSlot;              // 鐩爣鍦板潃
-                                taskModel.EndRoadway = Locatyk.RoadwayNo;   // 鐩爣宸烽亾 
-                                taskModel.TaskType = "2";                   // 浠诲姟绫诲瀷 (绉诲簱)
-                                taskModel.OutMode = newSlot;
-
-                                // 鏇存柊鍌ㄤ綅鍦板潃
-                                Locatwc.Status = "5";               // 绉诲嚭涓�
-                                Locatyk.Status = "4";               // 绉诲叆涓�
-                                Db.Updateable(Locatyk).ExecuteCommand();
-                            }
-                            Db.Updateable(Locatwc).ExecuteCommand();
-
-                            // 鎻掑叆浠诲姟鏃ュ織
-                            Db.Insertable(exTask1).ExecuteCommand();
-                            outWhs.Add(taskModel);
-                        }
-                        if (Locatwc.Status == "2" || Locatwc.Status == "4") 
-                        {
-                            numberQty = numberQty + pallet.Qty;
-                            continue;
-                        }
+                        throw new Exception("鐩爣鍌ㄤ綅閿欒");
                     }
-
-
+                    if (Locats2.Status != "0")
+                    {
+                        throw new Exception("鐩爣鍌ㄤ綅鐘舵�佷笉鏄┖鍌ㄤ綅锛岃鏍稿疄");
+                    }
                     var taskNo2 = new Common().GetMaxNo("TK");
                     var exTask2 = new LogTask();    //鍑哄簱浠诲姟
                     exTask2.TaskNo = taskNo2;
@@ -464,7 +381,7 @@
                     exTask2.Status = "0";//浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
                     exTask2.OrderType = "4";    //0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗�
                     exTask2.EndLocat = model.Code;          //鐩爣浣嶇疆
-                    exTask2.Type = "1";                     //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
+                    exTask2.Type = "2";                     //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
                     exTask2.Msg = pallet.LocatNo + "鎵樼洏鍑哄簱浠诲姟";
                     // 鎻掑叆浠诲姟鏃ュ織
                     Db.Insertable(exTask2).ExecuteCommand();
@@ -476,51 +393,53 @@
                     taskModel1.Order = 1;
                     taskModel1.EndLocate = model.Code;           // 鐩爣鍦板潃
                     taskModel1.EndRoadway = "";                  // 鐩爣宸烽亾 
-                    taskModel1.TaskNo = com.GetMaxNo("TK");      // 浠诲姟鍙�
-                    taskModel1.TaskType = "1";// 浠诲姟绫诲瀷 (鍑哄簱)
-                    taskModel1.OutMode = model.Code;
+                    taskModel1.TaskNo = taskNo2;      // 浠诲姟鍙�
+                    taskModel1.TaskType = "2";// 浠诲姟绫诲瀷 (鍑哄簱) 
+                    taskModel1.Type = PLCTypeEnum.AGV;
 
                     // 鏇存柊鍌ㄤ綅鐘舵��
-                    Locats.Status = "3";
+                    Locats.Status = "5";
                     Db.Updateable(Locats).ExecuteCommand();
+                    Locats2.Status = "4";
+                    Db.Updateable(Locats2).ExecuteCommand();
 
                     outWhs.Add(taskModel1);
 
-                    // 鍚慦CS涓嬪彂鍑哄簱浠诲姟
-                    if (outWhs.Count > 0)
-                    {
-                        // 姝e紡杩愯绋嬪簭鏀惧紑
-                        var list2 = outWhs.Select(m => m.TaskNo).ToList();
-                        var jsonData = JsonConvert.SerializeObject(outWhs);
-                        //string response = "";
-
-                        try
-                        {
-                            //var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                            //response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
-                            //var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
-
-                            ////瑙f瀽杩斿洖鏁版嵁 
-                            //var wcsModel = JsonConvert.DeserializeObject<WcsModel>(response);
-                            //if (wcsModel.StatusCode == 0)
-                            //{
-                            //    //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                                //new TaskServer().EditTaskIssueOk(list2, time1, time2);
-                            //}
-                            //if (wcsModel.StatusCode == -1)
-                            //{
-                            //    new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.Msg);
-                            //    throw new Exception(wcsModel.Msg);
-                            //}
-                        }
-                        catch (Exception ex)
-                        {
-                            throw new Exception(ex.Message);
-                        }
-
-                    }
+                   
                 }
+                // 鍚慦CS涓嬪彂鍑哄簱浠诲姟
+                if (outWhs.Count > 0)
+                {
+                    // 姝e紡杩愯绋嬪簭鏀惧紑
+                    var list2 = outWhs.Select(m => m.TaskNo).ToList();
+                    var jsonData = JsonConvert.SerializeObject(outWhs);
+                    string response = "";
 
+                    try
+                    {
+                        var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
+                        response = HttpHelper.DoPost(url, jsonData, "涓嬪彂缁橶CS鍑哄簱鍛戒护", "WCS");
+                        var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
+
+                        //瑙f瀽杩斿洖鏁版嵁 
+                        var wcsModel = JsonConvert.DeserializeObject<WcsModel2>(response);
+                        if (wcsModel.code == 200)
+                        {
+                            //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
+                            new TaskServer().EditTaskIssueOk(list2, time1, time2);
+                        }
+                        else
+                        {
+                            new TaskServer().EditTaskIssueNo(list2, time1, time2, wcsModel.message);
+                            throw new Exception(wcsModel.message);
+                        }
+                    }
+                    catch (Exception ex)
+                    {
+                        throw new Exception(ex.Message);
+                    }
+
+                }
                 //娣诲姞鎿嶄綔鏃ュ織璁板綍
                 var k = new OperationCrServer()
                     .AddLogOperationCr("璐ㄩ噺绠$悊", "璐ㄦ璇烽獙", data.QcNo, "鍑哄簱", $"鐐瑰嚮浜嗗嚭搴撴搷浣滐紱璇烽獙鍗�:{data.QcNo}!", userId);
@@ -536,109 +455,6 @@
             }
         }
 
-        /// <summary>
-        /// 鍚慙imes鍙戦�佽楠屼俊鎭�
-        /// </summary>
-        /// <param name="model">model.Id:璇烽獙鍗曚富閿紱model.Code:鍑哄簱鍙� </param>
-        /// <param name="userId">鎿嶄綔鐢ㄦ埛</param>
-        /// <param name="url">Wcs鍦板潃</param>
-        /// <returns></returns>
-        public bool SendInspectionRequest(IdVm model, int userId, string url, string userName)
-        {
-            try
-            {
-                // 鍒ゆ柇璇烽獙鍗曠姸鎬�
-                var data = Db.Queryable<BllQualityInspectionRequest>()
-                    .Where(m => m.QcNo == model.Code && m.IsDel == "0" && m.Status == "0").ToList().FirstOrDefault();
-                if (data == null)
-                {
-                    throw new Exception("鎿嶄綔澶辫触!璇烽獙鍗曠姸鎬佸彉鏇�.");
-                }
-
-                // 璁板綍浠诲姟鏃ュ織
-                var taskNo = new Common().GetMaxNo("TK");
-                var exTask = new LogTask()
-                {
-                     TaskNo = taskNo,
-                     Sender = "WMS",
-                     Receiver = "Limes",
-                     IsSuccess = 0,                  //鏄惁涓嬪彂鎴愬姛 0澶辫触 1鎴愬姛
-                     StartLocat = "",               //璧峰浣嶇疆
-                     PalletNo = "",                 //鎵樼洏鐮�
-                     IsSend = 1,                    //鏄惁鍙啀娆′笅鍙�
-                     IsCancel = 1,                  //鏄惁鍙彇娑�
-                     IsFinish = 1,                  //鏄惁鍙畬鎴�    
-                     Status = "0",                  //浠诲姟鐘舵��0锛氱瓑寰呮墽琛�1姝e湪鎵ц2鎵ц瀹屾垚
-                     OrderType = "5",               //0 鍏ュ簱鍗� 1 鍑哄簱鍗�  2 鐩樼偣鍗�  3 绉诲簱鍗� 4 鍙栨牱鍑哄簱鍗� 5 鍏朵粬
-                     EndLocat = "",          //鐩爣浣嶇疆
-                     Type = "3",                     //浠诲姟绫诲瀷 0 鍏ュ簱浠诲姟 1 鍑哄簱浠诲姟  2 绉诲簱浠诲姟
-                     Msg = "璇烽獙浠诲姟"
-                };
-
-                // 鎻掑叆浠诲姟鏃ュ織
-                Db.Insertable(exTask).ExecuteCommand();
-
-
-                // 璋冪敤Limes鎺ュ彛鍙戣捣璇烽獙
-                var sendModel = new SendLimesModel()
-                {
-                    QcNo = data.QcNo,
-                    SkuNo = data.SkuNo,
-                    Qty = data.Qty.ToString(),
-                    LotNo = data.LotNo,
-                    SupplierLot = data.SupplierLot,
-                    RequestUser = userName,                       // 璇烽獙浜�
-                };
-                var jsonData = JsonConvert.SerializeObject(sendModel);
-                string response = "";
-
-                try
-                {
-                    var time1 = DateTime.Now;//鍙戦�佹椂闂� .ToString("yyyy-MM-dd HH:mm:ss")
-                    //response = HttpHelper.DoPost(url, jsonData, "涓婁紶Limes绯荤粺鍙戣捣璇烽獙", "Limes");
-                    var time2 = DateTime.Now;//杩斿洖鏃堕棿 .ToString("yyyy-MM-dd HH:mm:ss")
-
-                    ////瑙f瀽杩斿洖鏁版嵁 
-                    //var limesModel = JsonConvert.DeserializeObject<LimesModel>(response);
-                    List<string> list1 = new List<string>();
-                    list1.Add(taskNo);
-                    //if (limesModel.Success == 0)
-                    //{
-                        //鏇存敼浠诲姟鐨勫彂閫佽繑鍥炴椂闂�//
-                        new TaskServer().EditTaskIssueOk(list1, time1, time2);
-
-                        // 鏇存柊璇烽獙鍗曚俊鎭�
-                        data.Status = "1";
-                        data.SamplingQty = 10;//decimal.Parse(limesModel.SamplingQty);
-                        data.RequestUser = userId;
-                        data.RequestTime = DateTime.Now;
-                        data.UpdateTime = DateTime.Now;
-                        data.UpdateUser = userId;
-
-                        Db.Updateable(data).ExecuteCommand();
-                    //}
-                    //if (limesModel.Success == -1)
-                    //{
-                    //    new TaskServer().EditTaskIssueNo(list1, time1, time2,limesModel.Message);
-                    //    throw new Exception(limesModel.Message);
-                    //}
-                }
-                catch (Exception ex)
-                {
-                    throw new Exception(ex.Message);
-                }
-
-                //娣诲姞鎿嶄綔鏃ュ織璁板綍
-                var k = new OperationCrServer()
-                    .AddLogOperationCr("璐ㄩ噺绠$悊", "璐ㄦ璇烽獙", model.Code, "璇烽獙", $"鍚戣川閲忛儴鍒嗗彂璧疯楠�!", userId);
-
-                return true;
-            }
-            catch (Exception e)
-            {
-                throw new Exception(e.Message);
-            }
-        }
         #endregion
     }
 }

--
Gitblit v1.8.0