From 9aa12613873326b0d07ec7b6335b1fa6f5261849 Mon Sep 17 00:00:00 2001
From: zxx <Zxx@HanInfo>
Date: 星期五, 11 七月 2025 08:40:41 +0800
Subject: [PATCH] 1

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs |  236 +++++++++++++++++++++++++++-------------------------------
 1 files changed, 111 insertions(+), 125 deletions(-)

diff --git a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
index 873b432..ca10fbc 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
@@ -64,7 +64,7 @@
                 Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
                 LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_END_LOC}鍗歌揣瀹屾垚锛岀粓鐐圭粦瀹氬鍣▄mst.S_CNTR_CODE}");
                 //濡傛灉璐ф灦鏈夊�鍒欑粦璐ф灦
-                if (mst.S_FRAME_CODE!=null)
+                if (mst.S_FRAME_CODE != null)
                 {
                     LocationHelper.BindingLocHj(mst.S_END_LOC, mst.S_FRAME_CODE);
 
@@ -148,7 +148,7 @@
 
             }
         }
-        
+
         private static object locLocker = new object();
 
         /// <summary>
@@ -395,7 +395,7 @@
                     string parmeS = "{";
                     string parmeD = "}";
                     string parme = parmeS + src + dst + carrier_type_id + parmeD;
-                    
+
                     LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
                     AntsTaskModel model = new AntsTaskModel();
                     model.order_name = mst.S_CODE;
@@ -462,7 +462,7 @@
             return result;
         }
         //灏忕背澶т欢
-        public static bool CreateTransportDj(string start, string end, string taskType, string cntrs,string orderName, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1)
+        public static bool CreateTransportDj(string start, string end, string taskType, string cntrs, string orderName, int startLayer, int endLayer, int trayCarryCount = 1, int priority = 1)
         {
             var result = false;
             var trayCodes = cntrs;
@@ -470,7 +470,7 @@
 
 
 
-            var res = WCSHelper.CreateTaskDj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, orderName,trayCarryCount, startLayer, endLayer);
+            var res = WCSHelper.CreateTaskDj(taskNo, start.Trim(), end.Trim(), taskType, priority, trayCodes, orderName, trayCarryCount, startLayer, endLayer);
             if (res)
             {
                 result = true;
@@ -795,7 +795,7 @@
                         result = list.OrderBy(s => s.N_ROW).ThenBy(x => x.N_COL).FirstOrDefault();
 
                     }
-                    
+
                 }
 
             }
@@ -981,7 +981,7 @@
                             Message = $"{model.parameters.src}搴撲綅宸茶閿佸畾!";
                         }
                         endLocStr = model.parameters.dst;
-                        
+
                         break;
                     case "p2a":
                         startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.parameters.src).First();
@@ -990,7 +990,7 @@
                             Message = $"{model.parameters.src}搴撲綅宸茶閿佸畾!";
                         }
                         var endLoc = InWorkTransport(model.parameters.dst_area);
-                        if (endLoc==null)
+                        if (endLoc == null)
                         {
                             //濡傛灉娌℃壘鍒板氨绛夌涓�潯
                             endLocStr = db.Queryable<Location>().Where(a => a.S_AREA_CODE.Trim() == model.parameters.dst).OrderByDescending(a => a.N_ROW).ToList()[0].S_CODE;
@@ -999,7 +999,7 @@
                         break;
                     case "a2p":
                         startLoc = OutWorkTransport(model.parameters.src_area);
-                        if (startLoc==null)
+                        if (startLoc == null)
                         {
                             Message = $"{model.parameters.dst}搴撳尯娌℃湁鍙嚭璐т綅!";
                         }
@@ -1030,7 +1030,7 @@
                         break;
                 }
 
-                LogHelper.Info($"bigMaterial  鎺ユ敹鍙傛暟{JsonConvert.SerializeObject(model) }");
+                LogHelper.Info($"bigMaterial  鎺ユ敹鍙傛暟{JsonConvert.SerializeObject(model)}");
                 //鍒涘缓鎵樼洏璐т綅缁戝畾鍏崇郴
                 string trayCode = ContainerHelper.GenerateCntrNo();
                 //缁戝畾璧风偣璐т綅(浜х嚎)鍜岀墿鏂�@@ -1082,126 +1082,112 @@
 
         }
 
-        
-        //public static TaskResponse smallMaterial(smallMaterial model) {
-        //    var db = new SqlHelper<Location>().GetInstance();
+        //灏忎欢
+        public static TaskResponse smallMaterial(smallMaterial model)
+        {
+            var db = new SqlHelper<Location>().GetInstance();
+            try
+            {
+                string Message = null;
 
-        //    string Message = null;
+                //鎷嗗垎鎴愪袱鏉′换鍔★紝涓�潯鏄枡鏋跺埌鎸囧畾鐨勭紦瀛樺尯锛屼簩鏄枡鏋朵笂鐨勬墭鐩樺埌鎸囧畾鐨勫伐浣嶏紙灏忕背wcs浼狅級涓�澶�+                var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.taskList[0].parameters.src).First();
 
-        //    //鎷嗗垎鎴愪袱鏉′换鍔★紝涓�潯鏄枡鏋跺埌鎸囧畾鐨勭紦瀛樺尯锛屼簩鏄枡鏋朵笂鐨勬墭鐩樺埌鎸囧畾鐨勫伐浣嶏紙灏忕背wcs浼狅級涓�澶�-        //    var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.taskList[0].parameters[0].src).First();
+                var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First();
+                if (startLoc == null || startLoc.N_LOCK_STATE != 0)
+                {
+                    return new TaskResponse
+                    {
+                        header = new ResponseHead { code = 0, desc = $"{model.taskList[0].parameters.src}搴撲綅宸茶閿佸畾!" }
+                    };
+                }
+                var endLoc = TaskProcess.InWorkTransport(model.shippingRoute);
+                if (endLoc != null)
+                {
+                    //鍒涘缓鍒扮紦瀛樺尯浠诲姟
+                    var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
+                    //鍒涘缓浠诲姟
+                    LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLoc.S_CODE}", "鏂欐灦鍒扮紦瀛樺尯");
+                    var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, "鏂欐灦鍒扮紦瀛樺尯", locCntrRel.S_FRAME_CODE, 1, 1);
+                    if (!res)
+                    {
+                        return new TaskResponse
+                        {
+                            header = new ResponseHead { code = 0, desc = "鑷姩涓婄嚎浠诲姟鍒涘缓澶辫触" }
+                        };
+                    }
+                }
+                //鏂欐灦涓婄殑鎵樼洏鍒版寚瀹氱殑宸ヤ綅
+                foreach (var tasklist in model.taskList)
+                {
+                    if (tasklist.ts_name == "p2p")
+                    {
+                        var startloc = db.Queryable<Location>().Where(a => a.S_CODE == tasklist.rackPosition).First();
+                        if (startloc == null || startloc.N_LOCK_STATE != 0)
+                        {
+                            return new TaskResponse
+                            {
+                                header = new ResponseHead { code = 0, desc = $"{startloc.S_CODE}搴撲綅宸茶閿佸畾!" }
+                            };
+                        }
+                        var endlocstr = tasklist.parameters.dst;
 
-        //    var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First();
-        //    if (startLoc == null || startLoc.N_LOCK_STATE != 0)
-        //    {
-        //        return new TaskResponse
-        //        {
-        //            header = new ResponseHead { code = 0, desc = $"{model.taskList[0].parameters[0].src}搴撲綅宸茶閿佸畾!" }
-        //        };
-        //    }
-        //    var endLoc = TaskProcess.InWorkTransport(model.shippingRoute);
-        //    if (endLoc != null)
-        //    {
-        //        //鍒涘缓鍒扮紦瀛樺尯浠诲姟
-        //        var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
-        //        //鍒涘缓浠诲姟
-        //        LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLoc.S_CODE}", model.ts_name);
-        //        var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, model.ts_name, locCntrRel.S_FRAME_CODE, 1, 1);
-        //        if (!res)
-        //        {
-        //            return new TaskResponse
-        //            {
-        //                header = new ResponseHead { code = 0, desc = "鑷姩涓婄嚎浠诲姟鍒涘缓澶辫触" }
-        //            }; 
-        //        }
-        //    }
-        //    //鏂欐灦涓婄殑鎵樼洏鍒版寚瀹氱殑宸ヤ綅
-        //    foreach (var parameter in model.parameters)
-        //    {
-        //        var startLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.src).First();
-        //        if (startLocHj == null || startLocHj.N_LOCK_STATE != 0)
-        //        {
-        //             Message = Message==null? $"{model.parameters[0].src}搴撲綅宸茶閿佸畾!": Message+ $"{model.parameters[0].src}搴撲綅宸茶閿佸畾!";
-        //        }
-        //        else
-        //        {
-        //            //璐ф灦涓婄殑璐у垽鏂竴涓嬭揣鏋舵湁娌℃湁閿�-        //            var startFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.src).First();
-        //            if (startFrameParent != null)
-        //            {
-        //                var startLocParent = db.Queryable<Location>().Where(a => a.S_CODE == startFrameParent.S_FRAME_CODE).First();
-        //                if (startLocParent == null || startLocParent.N_LOCK_STATE != 0)
-        //                {
-        //                    return new TaskResponse
-        //                    {
-        //                        header = new ResponseHead { code = 0, desc = $"{startFrameParent.S_FRAME_CODE}璐ф灦宸茶閿佸畾!" }
-        //                    };
-        //                }
-        //            }
-        //            var endLocHj = db.Queryable<Location>().Where(a => a.S_CODE == parameter.dst).First();
-        //            if (endLocHj == null || endLocHj.N_LOCK_STATE != 0 || endLocHj.C_ENABLE != "Y")
-        //            {
-        //                //搴旇缁曡矾
+                        //鍒涘缓鎵樼洏璐т綅缁戝畾鍏崇郴
+                        string trayCode = ContainerHelper.GenerateCntrNo();
+                        //缁戝畾璧风偣璐т綅(浜х嚎)鍜岀墿鏂�+                        ContainerHelper.BindLocCntrsXm(startloc.S_CODE, trayCode, tasklist.parameters.sku, "", tasklist.parameters.BatchNo, tasklist.parameters.issueMode, tasklist.parameters.num);
 
-        //                Message = Message == null ? $"{parameter.dst}搴撲綅宸茶閿佸畾!" : Message + $"{parameter.dst}搴撲綅宸茶閿佸畾!";
-        //            }
-        //            else
-        //            {
-        //                //璐ф灦涓婄殑璐у垽鏂竴涓嬭揣鏋舵湁娌℃湁閿�-        //                var endFrameParent = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == parameter.dst).First();
-        //                if (endFrameParent != null)
-        //                {
-        //                    var endLocParent = db.Queryable<Location>().Where(a => a.S_CODE == endFrameParent.S_FRAME_CODE).First();
-        //                    if (endLocParent == null || endLocParent.N_LOCK_STATE != 0)
-        //                    {
-        //                        return new TaskResponse
-        //                        {
-        //                            header = new ResponseHead { code = 0, desc = $"{endFrameParent.S_FRAME_CODE}璐ф灦宸茶閿佸畾!" }
-        //                        };
-        //                    }
-        //                }
-        //                //鍒涘缓鍒扮紦瀛樺尯浠诲姟
-        //                var locCntrRel1 = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLocHj.S_CODE).First();
-        //                //鍒涘缓浠诲姟
-        //                LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLocHj.S_CODE}缁堢偣:{endLocHj.S_CODE}", model.ts_name);
-        //                var res = TaskProcess.CreateTransport(startLocHj.S_CODE, endLocHj.S_CODE, model.ts_name, locCntrRel1.S_CNTR_CODE, 1, 1);
-        //                if (!res)
-        //                {
-        //                    return new TaskResponse
-        //                    {
-        //                        header = new ResponseHead { code = 0, desc = "鑷姩涓婄嚎浠诲姟2鍒涘缓澶辫触" }
-        //                    };
-        //                }
+                        var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startloc.S_CODE).First();
+                        //鍒涘缓浠诲姟
+                        LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startloc.S_CODE}缁堢偣:{endlocstr}", tasklist.ts_name);
+                        var res = TaskProcess.CreateTransportDj(startloc.S_CODE, endlocstr, tasklist.ts_name, locCntrRel.S_CNTR_CODE, tasklist.order_name, 1, 1);
+                        if (!res)
+                        {
+                            return new TaskResponse
+                            {
+                                header = new ResponseHead { code = 1, desc = Message }
+                            };
 
-        //            }
-                    
-        //        }
-        //    }
-        //    var result = new TaskResponse();
-        //    if (Message != null)
-        //    {
-        //        result = new TaskResponse
-        //        {
-        //            header = new ResponseHead { code = 0, desc = Message }
-        //        };
-        //    }
-        //    else
-        //    {
-        //        result = new TaskResponse
-        //        {
-        //            header = new ResponseHead { code = 200, desc = "SUCCESS" },
-        //            body = new ResponseBody
-        //            {
-        //                msg = "success",
-        //                app_name = "Guozi client",
-        //                data = new List<ResponseData> { new ResponseData { in_order_id = model.taskID } },
-        //                version = ""
-        //            }
-        //        };
-        //    }
-        //    return result;
-        //}
-        
+                        }
+
+                    }
+
+                }
+                var result = new TaskResponse();
+                if (Message != null)
+                {
+                    result = new TaskResponse
+                    {
+                        header = new ResponseHead { code = 0, desc = Message }
+                    };
+                }
+                else
+                {
+                    result = new TaskResponse
+                    {
+                        header = new ResponseHead { code = 200, desc = "SUCCESS" },
+                        body = new ResponseBody
+                        {
+                            msg = "success",
+                            app_name = "Guozi client",
+                            data = new List<ResponseData> { new ResponseData { in_order_id = model.taskList[0].taskID } },
+                            version = ""
+                        }
+                    };
+                }
+                return result;
+
+
+
+            }
+            catch (Exception ex)
+            {
+                Console.WriteLine("smallMaterial:" + ex.Message + ex.StackTrace);
+                LogHelper.Error("smallMaterial:" + ex.Message, ex);
+                throw;
+            }
+        }
+
 
 
     }

--
Gitblit v1.9.1