From 4de1b4fcd9b116573dc5c9ac98747f14c90d1ba3 Mon Sep 17 00:00:00 2001
From: hudong <Administrator@PC-20250329JZUF>
Date: 星期一, 26 五月 2025 08:53:01 +0800
Subject: [PATCH] 更新wsdl文件名称

---
 process/TaskProcess.cs |  456 ++++++++++++++++++++++++++++++++------------------------
 1 files changed, 259 insertions(+), 197 deletions(-)

diff --git a/process/TaskProcess.cs b/process/TaskProcess.cs
index 2df9515..7a7e1ba 100644
--- a/process/TaskProcess.cs
+++ b/process/TaskProcess.cs
@@ -80,211 +80,273 @@
         /// <param name="forkliftNo">杞﹀彿</param>
         /// <param name="extData">閲嶉噺</param>
         /// <param name="Ext1">楂樺害</param>
-        internal static void OperateReq(WCSTask TN_Task, int state, string forkliftNo, string extData,string Ext1)
+        internal static void OperateReq(WCSTask TN_Task, int state, string forkliftNo, string extData)
         {
             if (state == 1002)//淇″彿
             {
-                LogHelper.Info($"绉伴噸鍒嗛厤鍏ュ簱缁堢偣璐т綅楂樺害閲嶉噺{extData}锛岄珮搴Ext1}");
-                var db = new SqlHelper<object>().GetInstance();
-                var WMStask= db.Queryable<WMSTask>().Where(s=>s.S_CODE==TN_Task.S_OP_CODE).First();
-                if (WMStask==null)
-                {
-                    LogHelper.Info($"鏈壘鍒版浠诲姟瀵瑰簲鐨勪綔涓�);
-                }
-                try
-                {
-                    Location result = null;
-                    //var TN_Task = WCSHelper.GetTask(no);
-                    //鍒ゆ柇褰撳墠瀹瑰櫒涓烘墭鐩樿繕鏄枡妗�-                    //鎵樼洏鍙兘鏀惧湪1-2灞�鏂欑3-9灞� 
-                    //鑾峰彇闆嗗悎
-                    var locklist = db.Queryable<Location>();
-
-                    
-                    if (TN_Task.S_CNTR_CODE.Substring(0, 2) == "TP")//鎵樼洏
-                    {
-                        var endlist = locklist
-                                   .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER < 3 && it.S_AREA_CODE == "HJQ")
-                                   .OrderBy(it => it.N_COL)
-                                   .PartitionBy(it => it.N_ROW)
-                                   .PartitionBy(it => it.N_LAYER)
-                                   .Take(1)
-                                   .ToList();
-                        foreach (var item in endlist)
-                        {
-                            LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
-                            //澶т簬800kg
-                            if (decimal.Parse(extData) > 800)
-                            {
-                                LogHelper.Info($"楂樺害{decimal.Parse(Ext1)}");
-                                //楂樺害澶т簬1050mm 鍙斁鍦ㄧ涓�眰
-                                if (decimal.Parse(Ext1) <= 1050)
-                                {
-                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
-                                                    && it.N_LAYER == 1).First();
-                                    if (lockinfo == null)
-                                    {
-                                        result = item;
-                                        break;
-                                    }
-                                    else {
-                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                    }
-                                }
-                                else
-                                {
-                                    LogHelper.Info($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                    throw new Exception($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                    
-                                }
-
-                            }
-                            else//涓嶈秴閲�鍗�涓嶈秴杩�00kg
-                            {
-                                //楂樺害<450mm 2-9灞�-                                if (decimal.Parse(Ext1) < 450)
-                                {
-                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
-                                                    && it.N_LAYER == 2).First();
-                                    if (lockinfo == null)
-                                    {
-                                        result = item;
-
-                                        break;
-                                    }
-                                    else {
-                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                    }
-                                }
-                                else if (decimal.Parse(Ext1) >= 450 && decimal.Parse(Ext1) < 1050)
-                                {
-                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
-                                                   && it.N_LAYER >= 1 && it.N_LAYER <= 2).First();
-                                    if (lockinfo == null)
-                                    {
-                                        result = item;
-
-
-                                        db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
-
-                                        break;
-                                    }
-                                    else
-                                    {
-                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                    }
-                                }
-                                else
-                                {
-                                    LogHelper.Info($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                    throw new Exception($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                   
-                                }
-                            }
-                        }
-                    }
-                    else
-                    { //瀹瑰櫒涓烘枡绠�鍒欐斁鍒�-9灞�-
-                        var endlist = locklist
-                                   .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER >=3&&it.S_AREA_CODE== "HJQ")
-                                   .OrderBy(it => it.N_COL)
-                                   .PartitionBy(it => it.N_ROW)
-                                   .PartitionBy(it => it.N_LAYER)
-                                   .Take(1)
-                                   .ToList();
-                        foreach (var item in endlist)
-                        {
-                            LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
-                            //澶т簬800kg
-                            if (decimal.Parse(extData) > 800)
-                            {
-                                LogHelper.Info($"鏂欑閲嶉噺瓒呰繃800kg");
-                                throw new Exception($"鏂欑閲嶉噺瓒呰繃800kg");
-                            }
-                            else
-                            {
-                                if (decimal.Parse(Ext1) < 1050)
-                                {
-                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.S_AREA_CODE == item.S_AREA_CODE && it.N_ROW == item.N_ROW
-                                                   && it.N_LAYER >= 3 && it.N_LAYER <= 9).First();
-                                    if (lockinfo == null)
-                                    {
-                                        result = item;
-                                        TN_Task.S_END_LOC = item.S_CODE;
-                                        db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC }).ExecuteCommand();
-
-                                        break;
-                                    }
-                                    else {
-                                        LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                        throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
-                                    }
-                                }
-                                else
-                                {
-                                    LogHelper.Info($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                    throw new Exception($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
-                                }
-                            }
-                        }
-                    }
-
-
-                    if (result==null)
-                    {
-                        LogHelper.Info($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
-                        throw new Exception($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
-                    }
-                    TN_Task.S_END_LOC = result.S_CODE;
-                    TN_Task.S_END_AREA = result.S_AREA_CODE;
-                    TN_Task.S_END_WH = result.S_WH_CODE;
-
-                    db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
-                    WMStask.S_END_LOC = result.S_CODE;
-                    WMStask.S_END_AREA = result.S_AREA_CODE;
-                    WMStask.S_END_WH = result.S_WH_CODE;
-
-                    db.Updateable<WMSTask>(WMStask).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
-
-                    //璇锋眰鍗歌揣锛�-                    var dic = new Dictionary<string, string>();
-                    dic.Add("No", TN_Task.S_CODE);
-                    dic.Add("ParamNo", "2");
-                    dic.Add("Param1", TN_Task.S_END_LOC);
-               
-
-                    var res = NDC.ChangeOrder(dic);
-                    LogHelper.Info($"淇敼缁堢偣璐т綅"+ JsonConvert.SerializeObject(res));
-                    if (res.Res.ErrCode != -1)
-                    {
-                        var dics = new Dictionary<string, string>();
-                        dics.Add("No", TN_Task.S_CODE);
-                        dics.Add("ParamNo", "6");
-                        dics.Add("Param1", "2");
-                      var ss=  NDC.ChangeOrder(dics);
-                        LogHelper.Info($"灏忚溅鍓嶅線鏂板簱浣� + JsonConvert.SerializeObject(ss));
-                        LocationHelper.BindingLoc(TN_Task.S_END_LOC, TN_Task.S_CNTR_CODE.Split(',').ToList());
-                    }
-                    db.CommitTran();
-                }
-                catch (Exception)
-                {
-                    db.RollbackTran();
-                    throw;
-                }
-
-             
             }
-            if (state == 1103)
+            else if (state == 2000)//淇″彿
+            {
+                var db = new SqlHelper<object>().GetInstance();
+                TN_Task.S_EQ_TASK_CODE = extData;//楂樺害
+                db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_EQ_TASK_CODE }).ExecuteCommand();
+                db.CommitTran();
+                if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
+                {
+                    weight(TN_Task);
+                }
+
+
+
+            }
+            else if (state == 2001)//淇″彿
+            {
+                var db = new SqlHelper<object>().GetInstance();
+                TN_Task.S_STATE_PRE = extData;//楂樺害
+                db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_STATE_PRE }).ExecuteCommand();
+                db.CommitTran();
+                if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
+                {
+                    weight(TN_Task);
+                }
+
+            }
+            
+                if (state == 1103)
             {
                 //澶ч搧妗嗗弶璧颁互鍚庨�鐭ワ紝鎴戜滑瑕侀�鐭ヨ緭閫佺嚎
             }
         }
+
+
+
+        internal static void weight(WCSTask TN_Task)
+        {
+           
+       
+                if (!string.IsNullOrEmpty(TN_Task.S_STATE_PRE) && !string.IsNullOrEmpty(TN_Task.S_EQ_TASK_CODE))
+                {
+                string extData = TN_Task.S_STATE_PRE;
+                string Ext1 = TN_Task.S_EQ_TASK_CODE;
+                    LogHelper.Info($"绉伴噸鍒嗛厤鍏ュ簱缁堢偣璐т綅楂樺害閲嶉噺{extData}锛岄珮搴Ext1},瀹瑰櫒{TN_Task.S_CNTR_CODE}");
+                    var db = new SqlHelper<object>().GetInstance();
+                    var WMStask = db.Queryable<WMSTask>().Where(s => s.S_CODE == TN_Task.S_OP_CODE).First();
+                    if (WMStask == null)
+                    {
+                        LogHelper.Info($"鏈壘鍒版浠诲姟瀵瑰簲鐨勪綔涓�);
+                    }
+                    try
+                    {
+                        Location result = null;
+                        //var TN_Task = WCSHelper.GetTask(no);
+                        //鍒ゆ柇褰撳墠瀹瑰櫒涓烘墭鐩樿繕鏄枡妗�+                        //鎵樼洏鍙兘鏀惧湪1-2灞�鏂欑3-9灞�+
+                        //鑾峰彇闆嗗悎
+                        var locklist = db.Queryable<Location>();
+
+
+                        if (TN_Task.S_CNTR_CODE.Substring(0, 2) == "TP")//鎵樼洏
+                        {
+                            var endlist = locklist
+                                       .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER < 3 && it.N_LOCK_STATE ==0 && it.S_AREA_CODE == "HJQ")
+                                       .OrderBy(it => it.N_COL)
+                                       .PartitionBy(it => it.N_ROW)
+                                       .PartitionBy(it => it.N_LAYER)
+                                       .Take(1)
+                                       .ToList();
+                            foreach (var item in endlist)
+                            {
+                                LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
+                                //澶т簬800kg
+                                if (decimal.Parse(extData) > 1)
+                                {
+                                    LogHelper.Info($"楂樺害{Ext1}");
+                                    //楂樺害澶т簬1050mm 鍙斁鍦ㄧ涓�眰
+                                    if (decimal.Parse(Ext1) <=3)
+                                    {
+                                        var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
+                                                        && it.N_LAYER == 1).First();
+                                        if (lockinfo == null)
+                                        {
+                                            result = item;
+                                            break;
+                                        }
+                                        else
+                                        {
+                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                            //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        }
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                        throw new Exception($"楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
+
+                                    }
+
+                                }
+                                else//涓嶈秴閲�鍗�涓嶈秴杩�00kg
+                                {
+                                    //楂樺害<450mm 2-9灞�+                                    if (decimal.Parse(Ext1) < 2)
+                                {
+                                    LogHelper.Info($"楂樺害<450mm 2-9灞�);
+                                    var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
+                                                        && it.N_LAYER == 2).First();
+                                        if (lockinfo == null)
+                                        {
+                                            result = item;
+
+                                            break;
+                                        }
+                                        else
+                                        {
+                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                            //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        }
+                                    }
+                                    else if (decimal.Parse(Ext1) >= 2 && decimal.Parse(Ext1) < 4)
+                                    {
+                                        var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_ROW == item.N_ROW
+                                                       && it.N_LAYER >= 1 && it.N_LAYER <= 2).First();
+                                        if (lockinfo == null)
+                                        {
+                                            result = item;
+
+
+                                            db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+
+                                            break;
+                                        }
+                                        else
+                                        {
+                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                            //throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        }
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                        throw new Exception($"鎵樼洏楂樺害{decimal.Parse(Ext1)}杩囬珮 鑱旂郴浜哄伐澶勭悊");
+
+                                    }
+                                }
+                            }
+                        }
+                        else
+                        { //瀹瑰櫒涓烘枡绠�鍒欐斁鍒�-9灞�+
+                            var endlist = locklist
+                                       .Where(it => it.N_CURRENT_NUM < it.N_CAPACITY && it.N_LAYER >= 3 && it.N_LOCK_STATE == 0 && it.S_AREA_CODE == "HJQ")
+                                       .OrderBy(it => it.N_COL)
+                                       .PartitionBy(it => it.N_ROW)
+                                       .PartitionBy(it => it.N_LAYER)
+                                       .Take(1)
+                                       .ToList();
+                            foreach (var item in endlist)
+                            {
+                                LogHelper.Info($"閲嶉噺{decimal.Parse(extData)}");
+                                //澶т簬800kg
+                                if (decimal.Parse(extData) > 1)
+                                {
+                                    LogHelper.Info($"鏂欑閲嶉噺瓒呰繃800kg");
+                                    throw new Exception($"鏂欑閲嶉噺瓒呰繃800kg");
+                                }
+                                else
+                                {
+                                    if (decimal.Parse(Ext1) < 4)
+                                    {
+                                        var lockinfo = locklist.Where(it => it.N_LOCK_STATE != 0 && it.N_LOCK_STATE != 0 && it.S_AREA_CODE == item.S_AREA_CODE && it.N_ROW == item.N_ROW
+                                                       && it.N_LAYER >= 3 && it.N_LAYER <= 9).First();
+                                        if (lockinfo == null)
+                                        {
+                                            result = item;
+                                            TN_Task.S_END_LOC = item.S_CODE;
+                                            db.Updateable<WMSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC }).ExecuteCommand();
+
+                                            break;
+                                        }
+                                        else
+                                        {
+                                            LogHelper.Info($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                            throw new Exception($"璐т綅{lockinfo.S_CODE} 鏈夐攣 褰撴帓灞備笉鍙娇鐢�);
+                                        }
+                                    }
+                                    else
+                                    {
+                                        LogHelper.Info($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                        throw new Exception($"鏂欑楂樺害 {decimal.Parse(Ext1)} 杩囬珮 鑱旂郴浜哄伐澶勭悊");
+                                    }
+                                }
+                            }
+                        }
+
+
+                        if (result == null)
+                        {
+                            LogHelper.Info($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
+                            throw new Exception($"灏忚溅鍥炶皟鏈壘鍒板彲鐢ㄥ簱浣�);
+                        }
+                        TN_Task.S_END_LOC = result.S_CODE;
+                        TN_Task.S_END_AREA = result.S_AREA_CODE;
+                        TN_Task.S_END_WH = result.S_WH_CODE;
+
+                        db.Updateable<WCSTask>(TN_Task).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+                        WMStask.S_END_LOC = result.S_CODE;
+                        WMStask.S_END_AREA = result.S_AREA_CODE;
+                        WMStask.S_END_WH = result.S_WH_CODE;
+
+                        db.Updateable<WMSTask>(WMStask).UpdateColumns(a => new { a.S_END_LOC, a.S_END_AREA, a.S_END_WH }).ExecuteCommand();
+                    var S_AGV_SITE = "";
+                    if (TN_Task.N_ERR==1)//鍓嶇Щ杞�+                    {
+                        //鍓嶇Щ杞�+                         S_AGV_SITE = LocationHelper.GetAgvSite(TN_Task.S_END_LOC);
+                    }
+                    else //鍫嗗灈杞�+                    {
+
+                        //鍫嗗灈杞�+                         S_AGV_SITE = db.Queryable<TN_Location_Ext>().Where(a => a.S_LOC_CODE == TN_Task.S_END_LOC).First()?.S_AGV_SITE;
+                    }
+                        var dic = new Dictionary<string, string>();
+                        dic.Add("No", TN_Task.S_CODE);
+                        dic.Add("ParamNo", "3");
+                        dic.Add("Param1", S_AGV_SITE);
+                    //dic.Add("Pri", TN_Task.N_PRIORITY.ToString());
+                    //dic.Add("No", TN_Task.S_CODE.Trim());
+                    //dic.Add("From", TN_Task.S_START_LOC);
+                    //dic.Add("To", TN_Task.S_END_LOC);
+                    //dic.Add("Func", "0");
+                    //dic.Add("Data", "512");
+                    //dic.Add("FRow", "0");
+
+                    var res = NDC.ChangeOrder(dic);
+                        LogHelper.Info($"淇敼缁堢偣璐т綅" + JsonConvert.SerializeObject(res));
+                        if (res.Res.ErrCode != -1)
+                        {
+                            var dics = new Dictionary<string, string>();
+                            dics.Add("No", TN_Task.S_CODE);
+                            dics.Add("ParamNo", "6");
+                            dics.Add("Param1", "2");
+                            var ss = NDC.ChangeOrder(dics);
+                            LogHelper.Info($"灏忚溅鍓嶅線鏂板簱浣� + JsonConvert.SerializeObject(ss));
+                            LocationHelper.BindingLoc(TN_Task.S_END_LOC, TN_Task.S_CNTR_CODE.Split(',').ToList());
+                            LocationHelper.LockLoc(TN_Task.S_END_LOC,1);
+                        }
+                        db.CommitTran();
+                    }
+                    catch (Exception)
+                    {
+                        db.RollbackTran();
+                        throw;
+                    }
+                }
+
+        }
+
 
         internal static void UpdateAgvNo(WCSTask mst, string forkliftNo)
         {
@@ -555,7 +617,7 @@
                             dic1.Add("Func", "0");
                             if (mst.S_TYPE.Contains("鍏ュ簱"))
                             {
-                                dic1.Add("Data", "0x200");
+                                dic1.Add("Data", "512");
                             }
                             else
                             {

--
Gitblit v1.9.1