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

---
 HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs |  152 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 102 insertions(+), 50 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 ca10fbc..943814b 100644
--- a/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
+++ b/HH.WCS.Mobox3/HH.WCS.Mobox3.XiaoMi/process/TaskProcess.cs
@@ -48,32 +48,14 @@
             {
                 Console.WriteLine($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
                 LogHelper.Info($"浠诲姟{mst.S_CODE} 璐т綅{mst.S_START_LOC}鍙栬揣瀹屾垚锛岃捣鐐硅В缁戝鍣▄mst.S_CNTR_CODE}");
-                if (mst.S_FRAME_CODE != null)
-                {
-                    LocationHelper.UnBindingLocHj(mst.S_START_LOC, mst.S_FRAME_CODE);
+                LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList());
 
-                }
-                else
-                {
-                    LocationHelper.UnBindingLoc(mst.S_START_LOC, mst.S_CNTR_CODE.Split(',').ToList());
-
-                }
             }
             else
             {
                 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)
-                {
-                    LocationHelper.BindingLocHj(mst.S_END_LOC, mst.S_FRAME_CODE);
-
-                }
-                else
-                {
-                    LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
-
-                }
+                LocationHelper.BindingLoc(mst.S_END_LOC, mst.S_CNTR_CODE.Split(',').ToList());
             }
 
         }
@@ -389,26 +371,92 @@
                 //var endLoc = LocationHelper.GetLoc(mst.S_END_LOC);
                 if (mst.S_START_LOC != null && mst.S_END_LOC != null)
                 {
-                    string src = $"\"src\":\"{mst.S_START_LOC}\",";
-                    string dst = $"\"dst\":\"{mst.S_END_LOC}\",";
-                    string carrier_type_id = $"\"carrier_type_id\":\"1\"";
-                    string parmeS = "{";
-                    string parmeD = "}";
-                    string parme = parmeS + src + dst + carrier_type_id + parmeD;
+                    bool res = false;
+                    if (mst.S_TYPE == "澶т欢")
+                    {
+                        string src = $"\"src\":\"{mst.S_START_LOC}\",";
+                        string dst = $"\"dst\":\"{mst.S_END_LOC}\",";
+                        string carrier_type_id = $"\"carrier_type_id\":\"1\"";
+                        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;
-                    model.priority = 1;
-                    model.dead_line = DateTime.Now.ToString();
-                    model.ts_name = mst.S_TYPE;
-                    model.parameters = parme;
-                    //model.parameters = new AntsParasModel { 
-                    //    src = mst.S_START_LOC,
-                    //    dst = mst.S_END_LOC,
-                    //    carrier_type_id="-99"
-                    //};
-                    var res = RcsHelper.CreateAntsOrder(model);
+                        LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+                        AntsTaskModel model = new AntsTaskModel();
+                        model.order_name = mst.S_CODE;
+                        model.priority = 1;
+                        model.dead_line = DateTime.Now.ToString();
+                        model.ts_name = mst.S_TYPE;
+                        model.parameters = parme;
+                        //model.parameters = new AntsParasModel { 
+                        //    src = mst.S_START_LOC,
+                        //    dst = mst.S_END_LOC,
+                        //    carrier_type_id="-99"
+                        //};
+                        res = RcsHelper.CreateAntsOrder(model);
+                    }
+                    else if (mst.S_TYPE == "灏忎欢閫氱敤杞﹀瀷")
+                    {
+                        string src = $"\"src\":\"{mst.S_START_LOC}\",";
+                        string dst = $"\"dst\":\"{mst.S_END_LOC}\",";
+                        string car_type = $"\"car_type\":\"1\",";
+                        string src_ort = $"\"src_ort\":\"-1\",";
+                        string dst_ort = $"\"dst_ort\":\"-1\"";
+                        string parmeS = "{";
+                        string parmeD = "}";
+                        string parme = parmeS + src + dst + car_type + src_ort + dst_ort + parmeD;
+
+                        LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+
+                        PickingTaskModel model = new PickingTaskModel();
+                        model.order_name = mst.S_CODE;
+                        model.priority = 1;
+                        model.dead_line = DateTime.Now.ToString();
+                        model.ts_name = "p2p";
+                        model.parameters = parme;
+                        //model.parameters = new AntsParasModel { 
+                        //    src = mst.S_START_LOC,
+                        //    dst = mst.S_END_LOC,
+                        //    carrier_type_id="-99"
+                        //};
+                        res = RcsHelper.CreatePickingOrder(model);
+                    }
+                    else if (mst.S_TYPE == "inbound")
+                    {
+                        //鏌ュ嚭璐ф灦缂栫爜
+                        var db = new SqlHelper<Object>().GetInstance();
+                        var locFrameRel = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == mst.S_START_LOC).First();
+                        string tote_id = $"\"tote_id\":\"{locFrameRel.S_FRAME_CODE}\",";
+                        string task_type = $"\"task_type\":\"{mst.S_TYPE}\",";
+                        string src = $"\"src\":\"{mst.S_START_LOC}\",";
+                        string dst = $"\"dst\":\"{mst.S_END_LOC}\",";
+
+                        string extra_info = $"\"extra_info\":";
+                        string layer = $"\"layer\":[1,2,3,4],";
+                        string put = $"\"put\":true";
+                        string parmeS = "{";
+                        string parmeD = "}";
+                        string parmezS = "[";
+                        string parmezD = "]";
+                        string parme = parmeS + tote_id + task_type + src + dst + extra_info + parmezS+ parmeS  + layer + put + parmeD + parmezD + parmeD;
+
+                        LogHelper.Info($"鎺ㄩ�浠诲姟鍙傛暟{parme}", "浠诲姟");
+
+                        PickingTaskModel model = new PickingTaskModel();
+                        model.order_name = mst.S_CODE;
+                        model.priority = 1;
+                        model.dead_line = DateTime.Now.ToString();
+                        model.ts_name = "picking_ts";
+                        model.parameters = parme;
+                        //model.parameters = new AntsParasModel { 
+                        //    src = mst.S_START_LOC,
+                        //    dst = mst.S_END_LOC,
+                        //    carrier_type_id="-99"
+                        //};
+                        res = RcsHelper.CreatePickingOrder(model);
+                    }
+
+
                     if (res)
                     {
                         //鏇存柊浠诲姟鐘舵�
@@ -1038,8 +1086,8 @@
 
                 var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
                 //鍒涘缓浠诲姟
-                LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLocStr}", model.ts_name);
-                var res = TaskProcess.CreateTransportDj(startLoc.S_CODE, endLocStr, model.ts_name, locCntrRel.S_CNTR_CODE, model.order_name, 1, 1);
+                LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLocStr}", "澶т欢");
+                var res = TaskProcess.CreateTransportDj(startLoc.S_CODE, endLocStr, "澶т欢", locCntrRel.S_CNTR_CODE, model.order_name, 1, 1);
                 if (!res)
                 {
                     return new TaskResponse
@@ -1091,9 +1139,7 @@
                 string Message = null;
 
                 //鎷嗗垎鎴愪袱鏉′换鍔★紝涓�潯鏄枡鏋跺埌鎸囧畾鐨勭紦瀛樺尯锛屼簩鏄枡鏋朵笂鐨勬墭鐩樺埌鎸囧畾鐨勫伐浣嶏紙灏忕背wcs浼狅級涓�澶�-                var startFrame = db.Queryable<LocFrameRel>().Where(a => a.S_LOC_CODE == model.taskList[0].parameters.src).First();
-
-                var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == startFrame.S_FRAME_CODE).First();
+                var startLoc = db.Queryable<Location>().Where(a => a.S_CODE == model.taskList[0].parameters.src).First();
                 if (startLoc == null || startLoc.N_LOCK_STATE != 0)
                 {
                     return new TaskResponse
@@ -1104,11 +1150,14 @@
                 var endLoc = TaskProcess.InWorkTransport(model.shippingRoute);
                 if (endLoc != null)
                 {
-                    //鍒涘缓鍒扮紦瀛樺尯浠诲姟
-                    var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
+                    ////鍒涘缓鍒扮紦瀛樺尯浠诲姟
+                    //var locCntrRel = db.Queryable<LocCntrRel>().Where(a => a.S_LOC_CODE == startLoc.S_CODE).First();
+                    
+                    //鎵緋2a鐨勪换鍔$紪鐮�+                    var order_name = model.taskList.Find(s=>s.ts_name=="p2a").order_name;
                     //鍒涘缓浠诲姟
-                    LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLoc.S_CODE}", "鏂欐灦鍒扮紦瀛樺尯");
-                    var res = TaskProcess.CreateTransportHj(startLoc.S_CODE, endLoc.S_CODE, "鏂欐灦鍒扮紦瀛樺尯", locCntrRel.S_FRAME_CODE, 1, 1);
+                    LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startLoc.S_CODE}缁堢偣:{endLoc.S_CODE}", "灏忎欢閫氱敤杞﹀瀷");
+                    var res = TaskProcess.CreateTransportDj(startLoc.S_CODE, endLoc.S_CODE, "灏忎欢閫氱敤杞﹀瀷", model.rackNumber, order_name, 1, 1);
                     if (!res)
                     {
                         return new TaskResponse
@@ -1122,6 +1171,9 @@
                 {
                     if (tasklist.ts_name == "p2p")
                     {
+                        //鍏堢粦瀹氭枡鏋跺拰鏂欑浣�+                        ContainerHelper.BindLocCntrsXmLj(tasklist.rackPosition, model.rackNumber);
+
                         var startloc = db.Queryable<Location>().Where(a => a.S_CODE == tasklist.rackPosition).First();
                         if (startloc == null || startloc.N_LOCK_STATE != 0)
                         {
@@ -1139,8 +1191,8 @@
 
                         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);
+                        LogHelper.Info($"鍒涘缓浠诲姟 璧风偣:{startloc.S_CODE}缁堢偣:{endlocstr}", "inbound");
+                        var res = TaskProcess.CreateTransportDj(startloc.S_CODE, endlocstr, "inbound", locCntrRel.S_CNTR_CODE, tasklist.order_name, 1, 1);
                         if (!res)
                         {
                             return new TaskResponse

--
Gitblit v1.9.1