From 081df17b8cc4a6e7e4f4e1e1887f24810e3ec2f9 Mon Sep 17 00:00:00 2001
From: zhao
Date: 星期五, 02 七月 2021 09:25:37 +0800
Subject: [PATCH] 成型机出入库

---
 HH.WMS.WebApi/Controllers/WmsApiController.cs |   18 
 HH.WMS.Entitys/Entitys/TN_WM_TASKEntity.cs    |    6 
 HH.WMS.BLL/Pda/ZCBLL.cs                       | 1470 +++++++++++++++++++++++++++++++++++++++------
 HH.WMS.BLL/Interface/OtherSysApi.cs           |    2 
 HH.WMS.BLL/External/WmsApiBaseBLL.cs          |  366 +++++++++--
 HH.WMS.Common/Constants.cs                    |    2 
 6 files changed, 1,560 insertions(+), 304 deletions(-)

diff --git a/HH.WMS.BLL/External/WmsApiBaseBLL.cs b/HH.WMS.BLL/External/WmsApiBaseBLL.cs
index 5b6db14..4158271 100644
--- a/HH.WMS.BLL/External/WmsApiBaseBLL.cs
+++ b/HH.WMS.BLL/External/WmsApiBaseBLL.cs
@@ -1512,16 +1512,29 @@
 
             #endregion
 
-            string tno = executeStatePara.transportTask.CN_S_TASK_NO.Trim();
-            if (tno.IndexOf('_') > 0)
-            {
-                tno = tno.Split('_')[0];
-            }
             // 鑾峰彇涓讳换鍔�-            var task = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetSingleEntity(new
+            var task = executeStatePara.transportTask;
+            if (!string.IsNullOrEmpty(task.CN_S_EXT1))
             {
-                CN_S_TASK_NO = tno
-            });
+                task = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetSingleEntity(new
+                {
+                    CN_S_TASK_NO = task.CN_S_EXT1
+                });
+            }
+            TN_WM_TASKEntity task_kthk = null;
+            // 鐗规畩涓氬姟
+            // 鎴愬瀷鏈烘弧鎵樺嚭搴撳畬鎴愭椂锛岃鎵ц绌烘墭鍥炲簱浠诲姟
+            if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_2)
+            {
+                // 鏌ユ壘缁堢偣璐т綅(绾胯竟璐т綅)鏄惁鏈夋湭鎵ц鐨勭┖鎵樺洖搴撲换鍔�+                task_kthk = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetSingleEntity(new
+                {
+                    CN_S_START_AREA = executeStatePara.transportTask.CN_S_END_AREA,
+                    CN_S_START_BIT = executeStatePara.transportTask.CN_S_END_BIT,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_EXT3 = TaskSectionConstants.CXJ_KTHK_RECORD
+                });
+            }
 
             return UseTransaction(trans =>
             {
@@ -1545,92 +1558,295 @@
 
                     #region 娴锋疆涓瓥
 
-                    // 鍗婃垚鍝佹弧鎵樺叆搴撴祦绋�-                    if (task.CN_S_EXT1 == BusinessTypeConstants.BCP_MTRK)
+                    #region 鍗婃垚鍝�+
+                    #region 绌烘墭鍑哄簱
+
+                    // 鍗婃垚鍝�绌烘墭鍑哄簱绗竴鏉″瓙浠诲姟
+                    if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_SUB_1)
                     {
-                        // 绌烘墭鍑哄簱绗竴鏉″瓙浠诲姟
-                        if (executeStatePara.transportTask.CN_S_EXT2 == "ktck_sub_1")
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
                         {
-                            // 鎺ラ┏浣嶇姸鎬佹敼涓�婊�-                            CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                            {
-                                CN_S_LOCATION_STATE = Constants.Location_State_Full
-                            }, new
-                            {
-                                CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
-                            }, trans);
-                            // 绔嬪簱璐т綅鐘舵�鏀逛负:绌�-                            CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                            {
-                                CN_S_LOCATION_STATE = Constants.Location_State_Empty
-                            }, new
-                            {
-                                CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
-                            }, trans);
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
+                        // 绔嬪簱璐т綅鐘舵�鏀逛负:绌�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Empty
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
+                        }, trans);
 
-                            Log.Detail(logPara, "瀛愪换鍔″畬鎴�浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full + "锛屾洿鏂扮珛搴撶姸鎬�璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Empty);
-                        }
-                        // 绌烘墭鍑哄簱绗簩鏉″瓙浠诲姟
-                        if (executeStatePara.transportTask.CN_S_EXT2 == "ktck_sub_2")
+                        Log.Detail(logPara, "鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′竴瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full
+                            + "锛屾洿鏂扮珛搴撶姸鎬�璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Empty);
+                    }
+                    // 鍗婃垚鍝�绌烘墭鍑哄簱绗簩鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_SUB_2)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+                        // 涓讳换鍔¢樁娈电疆涓哄崐鎴愬搧-婊℃墭鍏ュ簱
+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
                         {
-                            // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�-                            // 涓讳换鍔$殑瀛愪换鍔℃爣璇嗙疆绌�-                            // 涓讳换鍔¢樁娈电疆涓哄崐鎴愬搧-婊℃墭鍏ュ簱
+                            CN_S_STATE = Constants.TaskState_CompletePart,
+                            CN_S_EXT3 = TaskSectionConstants.BCP_MTRK
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�姝e父
+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Normal
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = task.CN_S_CONNECT_BIT
+                        }, trans);
+                        // 鍑嗗鐐硅揣浣嶇姸鎬佹敼涓�姝e父
+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Normal
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
+                        }, trans);
+                        // 绾胯竟璐т綅涓嶇鎺�+
+                        Log.Detail(logPara, "鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′簩瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + task.CN_S_CONNECT_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂板噯澶囩偣鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_CompletePart + "-闃舵涓猴細" + TaskSectionConstants.BCP_MTRK);
+                    }
+
+                    #endregion
+
+                    #region 婊℃墭鍏ュ簱
+
+                    // 鍗婃垚鍝�婊℃墭鍏ュ簱绗竴鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_1)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+                        // 涓讳换鍔¢樁娈电疆涓哄崐鎴愬搧-婊℃墭鍏ュ簱-绗簩闃舵
+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                        {
+                            CN_S_STATE = Constants.TaskState_CompletePart,
+                            CN_S_EXT3 = TaskSectionConstants.BCP_MTRK_SECOND
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                        // 绾胯竟璐т綅涓嶇鎺�+
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
+
+                        Log.Detail(logPara, "鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′竴瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_CompletePart + "-闃舵涓猴細" + TaskSectionConstants.BCP_MTRK_SECOND);
+                    }
+                    // 鍗婃垚鍝�婊℃墭鍏ュ簱绗簩鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_2)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴�+                        // 闃舵缃负浠诲姟瀹屾垚
+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                        {
+                            CN_S_STATE = Constants.TaskState_Complete,
+                            CN_S_EXT3 = TaskSectionConstants.COMPLETE
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�姝e父
+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Normal
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
+                        }, trans);
+                        // 绔嬪簱鐘舵�鏀逛负:婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
+
+                        Log.Detail(logPara, "鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′簩瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂扮珛搴撶姸鎬�璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_Complete + "-闃舵涓猴細" + TaskSectionConstants.COMPLETE);
+                    }
+
+                    #endregion
+
+                    #endregion
+
+                    #region 鎴愬瀷鏈�+
+                    #region 鍗婃垚鍝佸洖搴�+
+                    // 鎴愬瀷鏈�鍗婃垚鍝佸洖搴撶涓�潯瀛愪换鍔�+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_1)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+                        // 涓讳换鍔¢樁娈电疆涓烘垚鍨嬫満-鍗婃垚鍝佸洖搴�绗簩闃舵
+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                        {
+                            CN_S_STATE = Constants.TaskState_CompletePart,
+                            CN_S_EXT3 = TaskSectionConstants.CXJ_BCPHK_SECOND
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                        // 绾胯竟璐т綅涓嶇鎺�+
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
+
+                        Log.Detail(logPara, "鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟涓�畬鎴�浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_CompletePart + "-闃舵涓猴細" + TaskSectionConstants.CXJ_BCPHK_SECOND);
+                    }
+                    // 鎴愬瀷鏈�鍗婃垚鍝佸洖搴撶浜屾潯瀛愪换鍔�+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_2)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴�+                        // 涓讳换鍔¢樁娈电疆涓轰换鍔″畬鎴�+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                        {
+                            CN_S_STATE = Constants.TaskState_Complete,
+                            CN_S_EXT3 = TaskSectionConstants.COMPLETE
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�姝e父
+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Normal
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
+                        }, trans);
+                        // 绔嬪簱鐘舵�鏀逛负:婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
+
+                        Log.Detail(logPara, "鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟浜屽畬鎴�浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂扮珛搴撶姸鎬�璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_Complete + "-闃舵涓猴細" + TaskSectionConstants.COMPLETE);
+                    }
+
+                    #endregion
+
+                    #region 婊℃墭鍑哄簱
+
+                    // 鎴愬瀷鏈�婊℃墭鍑哄簱绗竴鏉″瓙浠诲姟
+                    if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_1)
+                    {
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
+                        // 绔嬪簱璐т綅鐘舵�鏀逛负:绌�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Empty
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
+                        }, trans);
+
+                        Log.Detail(logPara, "鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′竴瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full
+                            + "锛屾洿鏂扮珛搴撶姸鎬�璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Empty);
+                    }
+                    // 鎴愬瀷鏈�婊℃墭鍑哄簱绗簩鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_2)
+                    {
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�姝e父
+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Normal
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = task.CN_S_CONNECT_BIT
+                        }, trans);
+                        // 鍑嗗鐐硅揣浣嶇姸鎬佹敼涓�姝e父
+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                        {
+                            CN_S_LOCATION_STATE = Constants.Location_State_Normal
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
+                        }, trans);
+                        // 绾胯竟璐т綅涓嶇鎺�+
+                        if (task_kthk == null)
+                        {
+                            // 娌℃湁闇�鎵ц鐨勭┖鎵樺洖搴撲换鍔�+                            // 涓讳换鍔$姸鎬佺疆涓哄畬鎴�+                            // 涓讳换鍔¢樁娈电疆涓哄畬鎴�                             CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
                             {
-                                CN_S_STATE = Constants.TaskState_CompletePart,
-                                CN_S_EXT2 = "",
-                                CN_S_EXT3 = TaskSectionConstants.BCP_MTRK
+                                CN_S_STATE = Constants.TaskState_Complete,
+                                CN_S_EXT3 = TaskSectionConstants.COMPLETE
                             }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
-                            // 鎺ラ┏浣嶇姸鎬佹敼涓�姝e父
-                            CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                            {
-                                CN_S_LOCATION_STATE = Constants.Location_State_Normal
-                            }, new
-                            {
-                                CN_S_LOCATION_CODE = task.CN_S_CONNECT_BIT
-                            }, trans);
-                            // 鍑嗗鐐硅揣浣嶇姸鎬佹敼涓�姝e父
-                            CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                            {
-                                CN_S_LOCATION_STATE = Constants.Location_State_Normal
-                            }, new
-                            {
-                                CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_START_BIT
-                            }, trans);
-                            // 缁堢偣璐т綅鐘舵�鏀逛负:婊�-                            CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                            {
-                                CN_S_LOCATION_STATE = Constants.Location_State_Full
-                            }, new
-                            {
-                                CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
-                            }, trans);
 
-                            Log.Detail(logPara, "瀛愪换鍔″畬鎴�浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + task.CN_S_CONNECT_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal + "锛屾洿鏂板噯澶囩偣鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal + "锛屾洿鏂扮粓鐐圭姸鎬�璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full);
-                            // 鍦ㄤ富寰幆涓垱寤哄悗缁т换鍔�+                            Log.Detail(logPara, "鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′簩瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + task.CN_S_CONNECT_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂板噯澶囩偣鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_Complete + "-闃舵涓猴細" + TaskSectionConstants.COMPLETE
+                            + "锛屾湭鍖归厤鍒扮┖鎵樺洖搴撲换鍔�);
                         }
-                        // 婊℃墭鍏ュ簱绗竴鏉″瓙浠诲姟
-                        if (executeStatePara.transportTask.CN_S_EXT2 == "bcp_mtrk_sub_1")
+                        else
                         {
-                            // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�-                            // 涓讳换鍔$殑瀛愪换鍔℃爣璇嗙疆涓篵cp_mtrk_sub_1_completed
+                            // 鏈夐渶瑕佹墽琛岀殑绌烘墭鍥炲簱浠诲姟
+                            // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑锛堥槻姝㈠啀娆″惊鐜埌锛�+                            // 涓讳换鍔¢樁娈电疆涓烘垚鍨嬫満-绌烘墭鍏ュ簱
                             CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
                             {
-                                CN_S_STATE = Constants.TaskState_CompletePart,
-                                CN_S_EXT2 = "bcp_mtrk_sub_1_completed"
+                                CN_S_STATE = Constants.TaskState_Executing,
+                                CN_S_EXT3 = TaskSectionConstants.CXJ_KTRK
                             }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
-                            // 鍦ㄤ富寰幆涓垱寤哄悗缁т换鍔�-                        }
-                        // 婊℃墭鍏ュ簱绗簩鏉″瓙浠诲姟
-                        if (executeStatePara.transportTask.CN_S_EXT2 == "bcp_mtrk_sub_2")
-                        {
+                            // 绌烘墭鍥炲簱浠诲姟闃舵缃负鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵
+                            // 绌烘墭鍥炲簱浠诲姟涓讳换鍔$紪鍙风疆涓哄綋鍓嶄富浠诲姟
+                            CreateDAL<DapperDAL<TN_WM_TASKBLL>>().Update(new
+                            {
+                                CN_S_EXT3 = TaskSectionConstants.CXJ_KTHK_KTRK,
+                                CN_S_EXT1 = task.CN_S_TASK_NO
+                            }, new { CN_S_TASK_NO = task_kthk.CN_S_TASK_NO });
 
+                            Log.Detail(logPara, "鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′簩瀹屾垚-浠诲姟鍙凤細" + executeStatePara.transportTask.CN_S_TASK_NO
+                            + "锛屾洿鏂版帴椹充綅鐘舵�-璐т綅鍙凤細" + task.CN_S_CONNECT_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂板噯澶囩偣鐘舵�-璐т綅鍙凤細" + executeStatePara.transportTask.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal
+                            + "锛屾洿鏂颁富浠诲姟-浠诲姟鍙凤細" + task.CN_S_TASK_NO + "鐘舵�涓猴細" + Constants.TaskState_Executing + "-闃舵涓猴細" + TaskSectionConstants.CXJ_KTRK
+                            + "锛屽尮閰嶅埌绌烘墭鍥炲簱浠诲姟-浠诲姟鍙凤細" + task_kthk.CN_S_TASK_NO + "闃舵涓猴細" + TaskSectionConstants.CXJ_KTHK_KTRK + "-鍏宠仈涓讳换鍔★細" + task.CN_S_TASK_NO);
                         }
                     }
 
                     #endregion
 
+                    #endregion
+
+                    #endregion
 
                     //A鍒癇鐨凙GV鎼繍浠诲姟
                     if (hzNo == "1")
diff --git a/HH.WMS.BLL/Interface/OtherSysApi.cs b/HH.WMS.BLL/Interface/OtherSysApi.cs
index 4a402f0..2875ced 100644
--- a/HH.WMS.BLL/Interface/OtherSysApi.cs
+++ b/HH.WMS.BLL/Interface/OtherSysApi.cs
@@ -462,7 +462,7 @@
         /// </summary>
         /// <param name="model"></param>
         /// <returns></returns>
-        public OperateResult SendWcsCreateTask(TN_WM_TASKEntity model, ConnectBitDto bit)
+        public OperateResult SendWcsCreateTask(TN_WM_TASKEntity model)
         {
             List<JObject> sendParams = new List<JObject>();
             JObject sendParam = new JObject();
diff --git a/HH.WMS.BLL/Pda/ZCBLL.cs b/HH.WMS.BLL/Pda/ZCBLL.cs
index ae9cbb5..c24acb9 100644
--- a/HH.WMS.BLL/Pda/ZCBLL.cs
+++ b/HH.WMS.BLL/Pda/ZCBLL.cs
@@ -779,9 +779,6 @@
         }
         #endregion
 
-        // CN_S_EXT1:涓氬姟绫诲瀷
-        // CN_S_EXT2:瀛愪换鍔℃爣璇�-        // CN_S_EXT3:浠诲姟鎵ц闃舵
         public void SelfManageTask()
         {
             try
@@ -793,67 +790,187 @@
                     CN_S_STATE = new List<string>() { Constants.TaskState_NoExecuted, Constants.TaskState_CompleteHalf, Constants.TaskState_CompletePart }
                 });
 
+                // 鎺ラ┏浣嶉厤缃�+                var connectBitStr = JsonHelper.GetValue("connectBit");
+                if (string.IsNullOrEmpty(connectBitStr))
+                    throw new Exception("鏈壘鍒伴厤缃細connectBit");
+
                 List<OperateResult> ors = new List<OperateResult>();
                 foreach (var task in tasks)
                 {
                     try
                     {
-                        var connectBitStr = JsonHelper.GetValue("connectBit");
-                        if (string.IsNullOrEmpty(connectBitStr))
-                            throw new Exception("鏈壘鍒伴厤缃細connectBit");
                         var connectBits = JsonConvert.DeserializeObject<List<ConnectBitDto>>(connectBitStr);
+
                         OperateResult or = OperateResult.Error("鏈煡閿欒");
-                        if (task.CN_S_EXT1 == BusinessTypeConstants.BCP_MTRK)// 鍗婃垚鍝佹弧鎵樺叆搴撴祦绋�+
+                        #region 鍗婃垚鍝�+
+                        #region 绌烘墭鍑哄簱
+
+                        if (task.CN_S_EXT3 == TaskSectionConstants.BCP_KTCK)
                         {
-                            // -绌烘墭鍑哄簱闃舵
-                            if (task.CN_S_EXT3 == TaskSectionConstants.KTCK)
+                            // 绌烘墭鍑哄簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTCK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
                             {
-                                var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTCK);
                                 // 鍒涘缓涓ゆ潯骞惰瀛愪换鍔�-                                if (string.IsNullOrEmpty(task.CN_S_EXT2))
-                                {
-                                    or = ExecKTCK(task, connectBit);
-                                }
-                                // sub_1 -鐢ㄤ簬鍚慦CS鍙戦�绌烘墭->鎺ラ┏浣嶇殑鍑哄簱浠诲姟
-                                else if (task.CN_S_EXT2 == "ktck_sub_1")
-                                {
-                                    or = ExecKTCK_Sub1(task, connectBit);
-                                }
-                                // sub_2 - 鐢ㄤ簬鍚慉MS鍙戦�鍑嗗鐐�>缁堢偣鐨勭┖鎵樻惉杩愪换鍔�-                                else if (task.CN_S_EXT2 == "ktck_sub_2")
-                                {
-                                    or = ExecKTCK_Sub2(task, connectBit);
-                                }
+                                or = ExecBCP_KTCK_Add(task, connectBit);
                             }
-                            else if (task.CN_S_EXT3 == TaskSectionConstants.BCP_MTRK)
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_SUB_1)
                             {
-                                var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
-                                // 鍒涘缓绗竴鏉″瓙浠诲姟
-                                if (string.IsNullOrEmpty(task.CN_S_EXT2))
-                                {
-                                    or = ExecBCP_MTRK_AddSub1(task, connectBit);
-                                }
                                 // 鎵ц绗竴鏉″瓙浠诲姟
-                                else if (task.CN_S_EXT2 == "bcp_mtrk_sub_1")
-                                {
-                                    or = ExecBCP_MTRK_Sub1(task, connectBit);
-                                }
-                                // 鍒涘缓绗簩鏉″瓙浠诲姟
-                                else if (task.CN_S_EXT2 == "bcp_mtrk_sub_1_completed")
-                                {
-                                    or = ExecBCP_MTRK_AddSub2(task, connectBit);
-                                }
-                                // 鎵ц绗簩鏉″瓙浠诲姟
-                                else if (task.CN_S_EXT2 == "bcp_mtrk_sub_2")
-                                {
-                                    or = ExecBCP_MTRK_Sub2(task, connectBit);
-                                }
+                                or = ExecBCP_KTCK_Sub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_SUB_2)
+                            {
+                                // 鎵ц绗簩鏉′换鍔�+                                or = ExecBCP_KTCK_Sub2(task, connectBit);
                             }
                         }
-                        else
+
+                        #endregion
+
+                        #region 婊℃墭鍏ュ簱
+
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.BCP_MTRK)
                         {
-                            or = OperateResult.Error("鏈煡鐨勪笟鍔$被鍨嬶細task.CN_S_EXT1=" + task.CN_S_EXT1);
+                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓绗竴鏉″瓙浠诲姟
+                                or = ExecBCP_MTRK_AddSub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_1)
+                            {
+                                // 鎵ц绗竴鏉″瓙浠诲姟
+                                or = ExecBCP_MTRK_Sub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_2)
+                            {
+                                // 鎵ц绗簩鏉″瓙浠诲姟
+                                or = ExecBCP_MTRK_Sub2(task, connectBit);
+                            }
                         }
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.BCP_MTRK_SECOND)
+                        {
+                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓绗簩鏉″瓙浠诲姟
+                                or = ExecBCP_MTRK_AddSub2(task, connectBit);
+                            }
+                        }
+
+                        #endregion
+
+                        #endregion
+
+                        #region 鎴愬瀷鏈�+
+                        #region 鍗婃垚鍝佸洖搴�+
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_BCPHK)
+                        {
+                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓绗竴鏉″瓙浠诲姟
+                                ExecCXJ_BCPHK_AddSub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_1)
+                            {
+                                // 鎵ц绗竴鏉″瓙浠诲姟
+                                ExecCXJ_BCPHK_Sub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_2)
+                            {
+                                // 鎵ц绗簩鏉″瓙浠诲姟
+                                ExecCXJ_BCPHK_Sub2(task, connectBit);
+                            }
+                        }
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_BCPHK_SECOND)
+                        {
+                            // 婊℃墭鍏ュ簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTRK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓绗簩鏉″瓙浠诲姟
+                                ExecCXJ_BCPHK_AddSub2(task, connectBit);
+                            }
+                        }
+
+                        #endregion
+
+                        #region 绌烘墭鍥炲簱
+
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_KTHK_RECORD)
+                        {
+                            // 鍙敤浜庤褰�+                            // 鍦ㄥ悓涓�嚎杈硅揣浣嶇殑婊℃墭鍑哄簱浠诲姟瀹屾垚鍚庢墽琛�+                        }
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_KTHK_KTRK)
+                        {
+                            // 绌烘墭鍏ュ簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTRK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓绗竴鏉″瓙浠诲姟
+                                ExecCXJ_KTHK_KTRK_AddSub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_1)
+                            {
+                                // 鎵ц绗竴鏉″瓙浠诲姟
+                                ExecCXJ_KTHK_KTRK_Sub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_BCPHK_SUB_2)
+                            {
+                                // 鎵ц绗簩鏉″瓙浠诲姟
+                                ExecCXJ_KTHK_KTRK_Sub2(task, connectBit);
+                            }
+                        }
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_KTHK_KTRK_SECOND)
+                        {
+                            // 绌烘墭鍏ュ簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.KTRK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓绗簩鏉″瓙浠诲姟
+                                ExecCXJ_KTHK_KTRK_AddSub2(task, connectBit);
+                            }
+                        }
+
+                        #endregion
+
+                        #region 婊℃墭鍑哄簱
+
+                        else if (task.CN_S_EXT3 == TaskSectionConstants.CXJ_MTCK)
+                        {
+                            // 婊℃墭鍑哄簱鐨勬帴椹充綅
+                            var connectBit = connectBits.Find(f => f.tasktype == ConnectBitConstants.MTCK);
+                            if (task.CN_S_EXT2 == TaskFlagConstants.ROOT)
+                            {
+                                // 鍒涘缓涓ゆ潯骞惰瀛愪换鍔�+                                or = ExecCXJ_MTCK_Add(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_1)
+                            {
+                                // 鎵ц绗竴鏉″瓙浠诲姟
+                                or = ExecCXJ_MTCK_Sub1(task, connectBit);
+                            }
+                            else if (task.CN_S_EXT2 == TaskFlagConstants.CXJ_MTCK_SUB_2)
+                            {
+                                // 鎵ц绗簩鏉′换鍔�+                                or = ExecCXJ_MTCK_Sub2(task, connectBit);
+                            }
+                        }
+
+                        #endregion
+
+                        #endregion
 
                         continue;
 
@@ -1104,13 +1221,16 @@
                     switch (task.BUSI_TYPE)
                     {
                         case "1":
-                            section = TaskSectionConstants.KTCK;
+                            section = TaskSectionConstants.BCP_KTCK;
                             break;
                         case "2":
+                            section = TaskSectionConstants.CXJ_BCPHK;
                             break;
                         case "3":
+                            section = TaskSectionConstants.CXJ_KTHK_RECORD;
                             break;
                         case "4":
+                            section = TaskSectionConstants.CXJ_MTCK;
                             break;
                         case "5":
                             break;
@@ -1137,8 +1257,8 @@
                         CN_T_MODIFY = DateTime.Now,
                         CN_S_REMARK = "",
                         CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                        CN_S_EXT1 = task.BUSI_TYPE,
-                        CN_S_EXT2 = "",
+                        CN_S_EXT1 = "",
+                        CN_S_EXT2 = TaskFlagConstants.ROOT,
                         CN_S_EXT3 = section
                     };
                     UseTransaction(trans =>
@@ -1166,92 +1286,111 @@
             }
         }
 
-        #region 鍗婃垚鍝�婊℃墭鍏ュ簱
+        #region 璐т綅鐘舵�
+
+        // 鎺ラ┏浣嶉攣瀹氱姸鎬侊細棰勫叆搴撻攣瀹氥�棰勫嚭搴撻攣瀹�+        // 鎺ラ┏浣嶇┖闂茬姸鎬侊細姝e父
+        // 鍑嗗鐐圭姸鎬佸悓鎺ラ┏浣�+        // 绔嬪簱閿佸畾鐘舵�锛� 棰勫叆搴撻攣瀹氥�棰勫嚭搴撻攣瀹�+        // 绔嬪簱绌洪棽鐘舵�锛� 绌�鍏ュ簱鍓�銆佹弧(鍑哄簱鍓�
+
+        // 鍒涘缓浠诲姟鍓嶃�鎵ц浠诲姟鍓�     妫�煡璐т綅鐘舵�
+        // 瀹屾垚浠诲姟鍚�                 娓呴櫎璐т綅鐘舵�
+        // 鎵ц澶辫触鍚�                 濡備綍澶勭悊?
+
+        #endregion
+
+        #region 鍗婃垚鍝� 
         #region 绌烘墭鍑哄簱
 
         /// <summary>
         /// 鍒涘缓绌烘墭鍑哄簱骞惰瀛愪换鍔�         /// </summary>
-        public OperateResult ExecKTCK(TN_WM_TASKEntity task, ConnectBitDto bit)
+        public OperateResult ExecBCP_KTCK_Add(TN_WM_TASKEntity task, ConnectBitDto bit)
         {
-            // 绌烘墭鍑哄簱鍜屾弧鎵樺叆搴撴槸鍙嶅悜鐨�-            var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
-            {
-                CN_S_LOCATION_CODE = bit.bit
-            });
-            var readyBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
-            {
-                CN_S_LOCATION_CODE = bit.readybit
-            });
-            if (connectBit == null)
-                throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
-            if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
-                throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
-
-            if (readyBit == null)
-                throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.readybit);
-            if (readyBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
-                throw new Exception("鎺ラ┏浣嶏細" + bit.readybit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
-
-            // 绔嬪簱->鎺ラ┏浣�-            TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
-            {
-                CN_S_TASK_NO = task.CN_S_TASK_NO + "_1",
-                CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
-                CN_S_STATE = Constants.TaskState_NoExecuted,
-                CN_S_BF_TASK_NO = "",
-                CN_S_AF_TASK_NO = "",
-                CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
-                CN_S_START_AREA = task.CN_S_END_AREA,
-                CN_S_START_BIT = task.CN_S_END_BIT,
-                CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
-                CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
-                CN_N_PRIORITY = 1,
-                CN_S_CREATOR = "sys",
-                CN_S_CREATOR_BY = "sys",
-                CN_T_CREATE = DateTime.Now,
-                CN_T_MODIFY = DateTime.Now,
-                CN_S_REMARK = "",
-                CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                CN_S_EXT1 = task.CN_S_EXT1,
-                CN_S_EXT2 = "ktck_sub_1"
-            };
-            // 鍑嗗鐐�>宸ヤ綅
-            TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
-            {
-                CN_S_TASK_NO = task.CN_S_TASK_NO + "_2",
-                CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
-                CN_S_STATE = Constants.TaskState_NoExecuted,
-                CN_S_BF_TASK_NO = "",
-                CN_S_AF_TASK_NO = "",
-                CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
-                CN_S_START_AREA = readyBit.CN_S_AREA_CODE,
-                CN_S_START_BIT = readyBit.CN_S_LOCATION_CODE,
-                CN_S_END_AREA = task.CN_S_START_AREA,
-                CN_S_END_BIT = task.CN_S_START_BIT,
-                CN_N_PRIORITY = 1,
-                CN_S_CREATOR = "sys",
-                CN_S_CREATOR_BY = "sys",
-                CN_T_CREATE = DateTime.Now,
-                CN_T_MODIFY = DateTime.Now,
-                CN_S_REMARK = "",
-                CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                CN_S_EXT1 = task.CN_S_EXT1,
-                CN_S_EXT2 = "ktck_sub_2"
-            };
-
             OperateResult re = OperateResult.Error("鏈煡閿欒");
 
             try
             {
+                // 绌烘墭鍑哄簱鍜屾弧鎵樺叆搴撴槸鍙嶅悜鐨�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+                // 鍑嗗鐐�+                var readyBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.readybit
+                });
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                if (readyBit == null)
+                    throw new Exception("鏈壘鍒板噯澶囩偣璐т綅锛� + bit.readybit);
+                if (readyBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鍑嗗鐐硅揣浣嶏細" + bit.readybit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 绔嬪簱->鎺ラ┏浣�+                TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_1",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = task.CN_S_END_AREA,
+                    CN_S_START_BIT = task.CN_S_END_BIT,
+                    CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.BCP_KTCK_SUB_1,
+                    CN_S_EXT3 = ""
+                };
+                // 鍑嗗鐐�>绾胯竟
+                TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_2",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = readyBit.CN_S_AREA_CODE,
+                    CN_S_START_BIT = readyBit.CN_S_LOCATION_CODE,
+                    CN_S_END_AREA = task.CN_S_START_AREA,
+                    CN_S_END_BIT = task.CN_S_START_BIT,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.BCP_KTCK_SUB_2,
+                    CN_S_EXT3 = ""
+                };
+
                 UseTransaction(trans =>
                 {
-                    // 鍒涘缓绌烘墭鍑哄簱瀛愪换鍔�
+                    // 鍒涘缓鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′竴
                     re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity1);
                     if (!re.Success)
                         throw new Exception(re.Msg);
-                    // 鍒涘缓绌烘墭鍑哄簱瀛愪换鍔�
+
+                    // 鍒涘缓鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′簩
                     re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity2);
                     if (!re.Success)
                         throw new Exception(re.Msg);
@@ -1268,7 +1407,7 @@
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鍒涘缓绌烘墭鍑哄簱瀛愪换鍔″け璐ワ紝涓讳换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鍒涘缓鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔″け璐ワ紝涓讳换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
 
             return re;
@@ -1279,30 +1418,49 @@
         /// <param name="task"></param>
         /// <param name=""></param>
         /// <returns></returns>
-        public OperateResult ExecKTCK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto connectBit)
+        public OperateResult ExecBCP_KTCK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto bit)
         {
             OperateResult or = OperateResult.Error("鏈煡閿欒");
+
             try
             {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
                 UseTransaction(trans =>
                 {
+                    // 绔嬪簱 棰勫嚭搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                    }, new { CN_S_LOCATION_CODE = task1.CN_S_START_BIT }, trans);
                     // 鎺ラ┏浣�棰勫叆搴撻攣瀹�                     CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
                     {
                         CN_S_LOCATION_STATE = Constants.Location_State_InLock
-                    }, new { CN_S_LOCATION_CODE = connectBit.bit }, trans);
+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
                     // 瀛愪换鍔�鐘舵�缃负鎵ц涓�                     or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
                     {
                         CN_S_STATE = Constants.TaskState_Executing
                     }, new { CN_S_TASK_NO = task1.CN_S_TASK_NO }, trans);
                     // 鍙戦�Wcs浠诲姟
-                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task1, connectBit);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task1));
+                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task1);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
                 });
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鎵ц绌烘墭鍑哄簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鎵ц鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′竴澶辫触锛屼换鍔$紪鍙�" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
             return or;
         }
@@ -1312,30 +1470,46 @@
         /// <param name="task"></param>
         /// <param name="connectBit"></param>
         /// <returns></returns>
-        public OperateResult ExecKTCK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto connectBit)
+        public OperateResult ExecBCP_KTCK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto bit)
         {
             OperateResult or = OperateResult.Error("鏈煡閿欒");
+
             try
             {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣嶇殑鍑嗗鐐硅揣浣�+                var readyBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.readybit
+                });
+                if (readyBit == null)
+                    throw new Exception("鏈壘鍒板噯澶囩偣璐т綅锛� + bit.readybit);
+                if (readyBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鍑嗗鐐硅揣浣嶏細" + bit.readybit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
                 UseTransaction(trans =>
                 {
                     // 鍑嗗鐐�棰勫嚭搴撻攣瀹�                     CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
                     {
                         CN_S_LOCATION_STATE = Constants.Location_State_OutLock
-                    }, new { CN_S_LOCATION_CODE = connectBit.readybit }, trans);
+                    }, new { CN_S_LOCATION_CODE = bit.readybit }, trans);
+                    // 绾胯竟璐т綅涓嶇鎺�+
                     // 瀛愪换鍔�鐘舵�缃负鎵ц涓�                     or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
                     {
                         CN_S_STATE = Constants.TaskState_Executing
                     }, new { CN_S_TASK_NO = task2.CN_S_TASK_NO }, trans);
                     // 鍙戦�Ams浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task2));
                     or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task2);
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
                 });
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鎵ц绌烘墭鍑哄簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鎵ц鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′簩澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
             return or;
         }
@@ -1344,53 +1518,53 @@
 
         #region 婊℃墭鍏ュ簱
 
-        #region 涓讳换鍔�-
         /// <summary>
-        /// 鍒涘缓 鍗婃垚鍝�婊℃墭鍏ュ簱 瀛愪换鍔�
+        /// 鍒涘缓 鍗婃垚鍝�婊℃墭鍏ュ簱 瀛愪换鍔′竴
         /// </summary>
         public OperateResult ExecBCP_MTRK_AddSub1(TN_WM_TASKEntity task, ConnectBitDto bit)
         {
-            var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
-            {
-                CN_S_LOCATION_CODE = bit.bit
-            });
-
-            if (connectBit == null)
-                throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
-            if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
-                throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
-
-            // 宸ヤ綅->鎺ラ┏浣�-            TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
-            {
-                CN_S_TASK_NO = task.CN_S_TASK_NO + "_3",
-                CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
-                CN_S_STATE = Constants.TaskState_NoExecuted,
-                CN_S_BF_TASK_NO = "",
-                CN_S_AF_TASK_NO = "",
-                CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
-                CN_S_START_AREA = task.CN_S_START_AREA,
-                CN_S_START_BIT = task.CN_S_START_BIT,
-                CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
-                CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
-                CN_N_PRIORITY = 1,
-                CN_S_CREATOR = "sys",
-                CN_S_CREATOR_BY = "sys",
-                CN_T_CREATE = DateTime.Now,
-                CN_T_MODIFY = DateTime.Now,
-                CN_S_REMARK = "",
-                CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                CN_S_EXT1 = task.CN_S_EXT1,
-                CN_S_EXT2 = "bcp_mtrk_sub_1"
-            };
             OperateResult re = OperateResult.Error("鏈煡閿欒");
 
             try
             {
+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 绾胯竟->鎺ラ┏浣�+                TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_3",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = task.CN_S_START_AREA,
+                    CN_S_START_BIT = task.CN_S_START_BIT,
+                    CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.BCP_MTRK_SUB_1,
+                    CN_S_EXT3 = ""
+                };
+
                 UseTransaction(trans =>
                 {
-                    // 鍒涘缓婊℃墭鍏ュ簱瀛愪换鍔�
+                    // 鍒涘缓鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′竴
                     re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity1);
                     if (!re.Success)
                         throw new Exception(re.Msg);
@@ -1406,56 +1580,58 @@
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鍒涘缓婊℃墭鍏ュ簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鍒涘缓鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′竴澶辫触锛屼换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
 
             return re;
         }
         /// <summary>
-        /// 鍒涘缓 鍗婃垚鍝�婊℃墭鍏ュ簱 瀛愪换鍔�
+        /// 鍒涘缓 鍗婃垚鍝�婊℃墭鍏ュ簱 瀛愪换鍔′簩
         /// </summary>
         public OperateResult ExecBCP_MTRK_AddSub2(TN_WM_TASKEntity task, ConnectBitDto bit)
         {
-            var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
-            {
-                CN_S_LOCATION_CODE = bit.bit
-            });
-
-            if (connectBit == null)
-                throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
-            if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
-                throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
-
-            // 鎺ラ┏浣�>绔嬪簱
-            TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
-            {
-                CN_S_TASK_NO = task.CN_S_TASK_NO + "_4",
-                CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
-                CN_S_STATE = Constants.TaskState_NoExecuted,
-                CN_S_BF_TASK_NO = "",
-                CN_S_AF_TASK_NO = "",
-                CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
-                CN_S_START_AREA = connectBit.CN_S_AREA_CODE,
-                CN_S_START_BIT = connectBit.CN_S_LOCATION_CODE,
-                CN_S_END_AREA = task.CN_S_END_AREA,
-                CN_S_END_BIT = task.CN_S_END_BIT,
-                CN_N_PRIORITY = 1,
-                CN_S_CREATOR = "sys",
-                CN_S_CREATOR_BY = "sys",
-                CN_T_CREATE = DateTime.Now,
-                CN_T_MODIFY = DateTime.Now,
-                CN_S_REMARK = "",
-                CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                CN_S_EXT1 = task.CN_S_EXT1,
-                CN_S_EXT2 = "bcp_mtrk_sub_2"
-            };
             OperateResult re = OperateResult.Error("鏈煡閿欒");
 
             try
             {
+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 鎺ラ┏浣�>绔嬪簱
+                TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_4",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_START_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_S_END_AREA = task.CN_S_END_AREA,
+                    CN_S_END_BIT = task.CN_S_END_BIT,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.BCP_MTRK_SUB_2,
+                    CN_S_EXT3 = ""
+                };
+
                 UseTransaction(trans =>
                 {
-                    // 鍒涘缓婊℃墭鍏ュ簱瀛愪换鍔�
+                    // 鍒涘缓婊℃墭鍏ュ簱瀛愪换鍔′簩
                     re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity2);
                     if (!re.Success)
                         throw new Exception(re.Msg);
@@ -1471,7 +1647,7 @@
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鍒涘缓婊℃墭鍏ュ簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鍒涘缓鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′簩澶辫触锛屼换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
 
             return re;
@@ -1483,30 +1659,47 @@
         /// <param name="task"></param>
         /// <param name=""></param>
         /// <returns></returns>
-        public OperateResult ExecBCP_MTRK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto connectBit)
+        public OperateResult ExecBCP_MTRK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto bit)
         {
             OperateResult or = OperateResult.Error("鏈煡閿欒");
+
             try
             {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
                 UseTransaction(trans =>
                 {
+                    // 绾胯竟璐т綅涓嶇鎺�+
                     // 鎺ラ┏浣�棰勫叆搴撻攣瀹�                     CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
                     {
                         CN_S_LOCATION_STATE = Constants.Location_State_InLock
-                    }, new { CN_S_LOCATION_CODE = connectBit.bit }, trans);
-                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 瀛愪换鍔′竴鐘舵�缃负鎵ц涓�                     or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
                     {
                         CN_S_STATE = Constants.TaskState_Executing
                     }, new { CN_S_TASK_NO = task1.CN_S_TASK_NO }, trans);
                     // 鍙戦�Ams浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task1));
                     or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task1);
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
                 });
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鎵ц婊℃墭鍏ュ簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鎵ц鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′竴澶辫触锛屼换鍔$紪鍙�" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
             return or;
         }
@@ -1516,35 +1709,771 @@
         /// <param name="task"></param>
         /// <param name="connectBit"></param>
         /// <returns></returns>
-        public OperateResult ExecBCP_MTRK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto connectBit)
+        public OperateResult ExecBCP_MTRK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto bit)
         {
             OperateResult or = OperateResult.Error("鏈煡閿欒");
+
             try
             {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
                 UseTransaction(trans =>
                 {
                     // 鎺ラ┏浣�棰勫嚭搴撻攣瀹�                     CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
                     {
                         CN_S_LOCATION_STATE = Constants.Location_State_OutLock
-                    }, new { CN_S_LOCATION_CODE = connectBit.bit }, trans);
-                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 绔嬪簱棰勫叆搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                    }, new { CN_S_LOCATION_CODE = task2.CN_S_END_BIT }, trans);
+
+                    // 瀛愪换鍔′簩鐘舵�缃负鎵ц涓�                     or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
                     {
                         CN_S_STATE = Constants.TaskState_Executing
                     }, new { CN_S_TASK_NO = task2.CN_S_TASK_NO }, trans);
                     // 鍙戦�Wcs浠诲姟
-                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task2, connectBit);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task2));
+                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task2);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
                 });
             }
             catch (Exception ex)
             {
-                OperateResult.Error("鎵ц婊℃墭鍏ュ簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+                OperateResult.Error("鎵ц鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′簩澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
             }
             return or;
         }
 
         #endregion
+
+        #endregion
+
+        #region 鎴愬瀷鏈�+
+        #region 鍗婃垚鍝佸洖搴�+
+        /// <summary>
+        /// 鍒涘缓 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�瀛愪换鍔′竴
+        /// </summary>
+        public OperateResult ExecCXJ_BCPHK_AddSub1(TN_WM_TASKEntity task, ConnectBitDto bit)
+        {
+            OperateResult re = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 绾胯竟->鎺ラ┏浣�+                TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_1",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = task.CN_S_START_AREA,
+                    CN_S_START_BIT = task.CN_S_START_BIT,
+                    CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.CXJ_BCPHK_SUB_1,
+                    CN_S_EXT3 = ""
+                };
+
+                UseTransaction(trans =>
+                {
+                    // 鍒涘缓鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟涓�+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity1);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+
+                    // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鍒涘缓鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟涓�け璐ワ紝浠诲姟缂栧彿=" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+
+            return re;
+        }
+        /// <summary>
+        /// 鍒涘缓 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�瀛愪换鍔′簩
+        /// </summary>
+        public OperateResult ExecCXJ_BCPHK_AddSub2(TN_WM_TASKEntity task, ConnectBitDto bit)
+        {
+            OperateResult re = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 鎺ラ┏浣�>绔嬪簱
+                TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_2",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_START_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_S_END_AREA = task.CN_S_END_AREA,
+                    CN_S_END_BIT = task.CN_S_END_BIT,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.CXJ_BCPHK_SUB_2,
+                    CN_S_EXT3 = ""
+                };
+
+                UseTransaction(trans =>
+                {
+                    // 鍒涘缓鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟浜�+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity2);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+
+                    // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鍒涘缓鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟浜屽け璐ワ紝浠诲姟缂栧彿=" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+
+            return re;
+        }
+
+        /// <summary>
+        /// 鎵ц鎴愬瀷鏈�鍗婃垚鍝佸洖搴撶殑绗竴鏉″瓙浠诲姟
+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name=""></param>
+        /// <returns></returns>
+        public OperateResult ExecCXJ_BCPHK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto bit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                UseTransaction(trans =>
+                {
+                    // 绾胯竟璐т綅涓嶇鎺�+
+                    // 鎺ラ┏浣�棰勫叆搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 瀛愪换鍔′竴鐘舵�缃负鎵ц涓�+                    or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task1.CN_S_TASK_NO }, trans);
+                    // 鍙戦�Ams浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task1));
+                    or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task1);
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟涓�け璐ワ紝浠诲姟缂栧彿=" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+        /// <summary>
+        /// 鎵ц鎴愬瀷鏈�鍗婃垚鍝佸洖搴撶殑绗竴鏉″瓙浠诲姟
+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name="connectBit"></param>
+        /// <returns></returns>
+        public OperateResult ExecCXJ_BCPHK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto bit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                UseTransaction(trans =>
+                {
+                    // 鎺ラ┏浣�棰勫嚭搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 绔嬪簱棰勫叆搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                    }, new { CN_S_LOCATION_CODE = task2.CN_S_END_BIT }, trans);
+
+                    // 瀛愪换鍔′簩鐘舵�缃负鎵ц涓�+                    or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task2.CN_S_TASK_NO }, trans);
+                    // 鍙戦�Wcs浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task2));
+                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task2);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц鎴愬瀷鏈�鍗婃垚鍝佸洖搴撳瓙浠诲姟浜屽け璐ワ紝浠诲姟缂栧彿=" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+
+        #endregion
+
+        #region 婊℃墭鍑哄簱
+
+        /// <summary>
+        /// 鍒涘缓婊℃墭鍑哄簱骞惰瀛愪换鍔�+        /// </summary>
+        public OperateResult ExecCXJ_MTCK_Add(TN_WM_TASKEntity task, ConnectBitDto bit)
+        {
+            OperateResult re = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+                // 鍑嗗鐐�+                var readyBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.readybit
+                });
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                if (readyBit == null)
+                    throw new Exception("鏈壘鍒板噯澶囩偣璐т綅锛� + bit.readybit);
+                if (readyBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鍑嗗鐐硅揣浣嶏細" + bit.readybit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 绔嬪簱->鎺ラ┏浣�+                TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_1",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = task.CN_S_START_AREA,
+                    CN_S_START_BIT = task.CN_S_START_BIT,
+                    CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.CXJ_MTCK_SUB_1,
+                    CN_S_EXT3 = ""
+                };
+                // 鍑嗗鐐�>绾胯竟
+                TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_2",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = readyBit.CN_S_AREA_CODE,
+                    CN_S_START_BIT = readyBit.CN_S_LOCATION_CODE,
+                    CN_S_END_AREA = task.CN_S_END_AREA,
+                    CN_S_END_BIT = task.CN_S_END_BIT,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.CXJ_MTCK_SUB_2,
+                    CN_S_EXT3 = ""
+                };
+
+                UseTransaction(trans =>
+                {
+                    // 鍒涘缓鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′竴
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity1);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+
+                    // 鍒涘缓鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′簩
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity2);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+
+                    // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑 璁板綍鎺ラ┏浣�+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing,
+                        CN_S_CONNECT_BIT = bit.bit
+                    }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鍒涘缓鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔″け璐ワ紝涓讳换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+
+            return re;
+        }
+        /// <summary>
+        /// 鎵ц婊℃墭鍑哄簱鐨勭涓�潯瀛愪换鍔�+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name=""></param>
+        /// <returns></returns>
+        public OperateResult ExecCXJ_MTCK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto bit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                UseTransaction(trans =>
+                {
+                    // 绔嬪簱 棰勫嚭搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                    }, new { CN_S_LOCATION_CODE = task1.CN_S_START_BIT }, trans);
+                    // 鎺ラ┏浣�棰勫叆搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task1.CN_S_TASK_NO }, trans);
+                    // 鍙戦�Wcs浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task1));
+                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task1);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′竴澶辫触锛屼换鍔$紪鍙�" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+        /// <summary>
+        /// 鎵ц婊℃墭鍑哄簱鐨勭浜屾潯瀛愪换鍔�+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name="connectBit"></param>
+        /// <returns></returns>
+        public OperateResult ExecCXJ_MTCK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto bit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣嶇殑鍑嗗鐐硅揣浣�+                var readyBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.readybit
+                });
+                if (readyBit == null)
+                    throw new Exception("鏈壘鍒板噯澶囩偣璐т綅锛� + bit.readybit);
+                if (readyBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鍑嗗鐐硅揣浣嶏細" + bit.readybit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                UseTransaction(trans =>
+                {
+                    // 鍑嗗鐐�棰勫嚭搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                    }, new { CN_S_LOCATION_CODE = bit.readybit }, trans);
+                    // 绾胯竟璐т綅涓嶇鎺�+
+                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task2.CN_S_TASK_NO }, trans);
+                    // 鍙戦�Ams浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task2));
+                    or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task2);
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц鎴愬瀷鏈�婊℃墭鍑哄簱瀛愪换鍔′簩澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+
+        #endregion
+
+        #region 鍥炴墭鍥炲簱-绌烘墭鍏ュ簱
+
+        /// <summary>
+        /// 鍒涘缓 鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱 瀛愪换鍔′竴
+        /// </summary>
+        public OperateResult ExecCXJ_KTHK_KTRK_AddSub1(TN_WM_TASKEntity task, ConnectBitDto bit)
+        {
+            OperateResult re = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 绾胯竟->鎺ラ┏浣�+                TN_WM_TASKEntity taskEntity1 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_1",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = task.CN_S_START_AREA,
+                    CN_S_START_BIT = task.CN_S_START_BIT,
+                    CN_S_END_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_END_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.CXJ_KTHK_KTRK_SUB_1,
+                    CN_S_EXT3 = ""
+                };
+
+                UseTransaction(trans =>
+                {
+                    // 鍒涘缓鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱瀛愪换鍔′竴
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity1);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+
+                    // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鍒涘缓鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱瀛愪换鍔′竴澶辫触锛屼换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+
+            return re;
+        }
+        /// <summary>
+        /// 鍒涘缓 鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱 瀛愪换鍔′簩
+        /// </summary>
+        public OperateResult ExecCXJ_KTHK_KTRK_AddSub2(TN_WM_TASKEntity task, ConnectBitDto bit)
+        {
+            OperateResult re = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                // 鎺ラ┏浣�>绔嬪簱
+                TN_WM_TASKEntity taskEntity2 = new TN_WM_TASKEntity()
+                {
+                    CN_S_TASK_NO = task.CN_S_TASK_NO + "_2",
+                    CN_S_TRAY_CODE = task.CN_S_TRAY_CODE,
+                    CN_S_STATE = Constants.TaskState_NoExecuted,
+                    CN_S_BF_TASK_NO = "",
+                    CN_S_AF_TASK_NO = "",
+                    CN_S_STOCK_CODE = task.CN_S_STOCK_CODE,
+                    CN_S_START_AREA = connectBit.CN_S_AREA_CODE,
+                    CN_S_START_BIT = connectBit.CN_S_LOCATION_CODE,
+                    CN_S_END_AREA = task.CN_S_END_AREA,
+                    CN_S_END_BIT = task.CN_S_END_BIT,
+                    CN_N_PRIORITY = 1,
+                    CN_S_CREATOR = "sys",
+                    CN_S_CREATOR_BY = "sys",
+                    CN_T_CREATE = DateTime.Now,
+                    CN_T_MODIFY = DateTime.Now,
+                    CN_S_REMARK = "",
+                    CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
+                    CN_S_EXT1 = task.CN_S_TASK_NO,
+                    CN_S_EXT2 = TaskFlagConstants.CXJ_KTHK_KTRK_SUB_2,
+                    CN_S_EXT3 = ""
+                };
+
+                UseTransaction(trans =>
+                {
+                    // 鍒涘缓鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱瀛愪换鍔′簩
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Add(taskEntity2);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+
+                    // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑
+                    re = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                    if (!re.Success)
+                        throw new Exception(re.Msg);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鍒涘缓鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱瀛愪换鍔′簩澶辫触锛屼换鍔$紪鍙�" + task.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+
+            return re;
+        }
+
+        /// <summary>
+        /// 鎵ц鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱鐨勭涓�潯瀛愪换鍔�+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name=""></param>
+        /// <returns></returns>
+        public OperateResult ExecCXJ_KTHK_KTRK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto bit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                UseTransaction(trans =>
+                {
+                    // 绾胯竟璐т綅涓嶇鎺�+
+                    // 鎺ラ┏浣�棰勫叆搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 瀛愪换鍔′竴鐘舵�缃负鎵ц涓�+                    or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task1.CN_S_TASK_NO }, trans);
+                    // 鍙戦�Ams浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task1));
+                    or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task1);
+                    Log.Detail(LogType.LogPara("璋冪敤AMS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱瀛愪换鍔′竴澶辫触锛屼换鍔$紪鍙�" + task1.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+        /// <summary>
+        /// 鎵ц鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱鐨勭浜屾潯瀛愪换鍔�+        /// </summary>
+        /// <param name="task"></param>
+        /// <param name="connectBit"></param>
+        /// <returns></returns>
+        public OperateResult ExecCXJ_KTHK_KTRK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto bit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+
+            try
+            {
+                // 鎵ц鍓嶆鏌ヨ揣浣嶇姸鎬�+                // 鎺ラ┏浣�+                var connectBit = BLLCreator.CreateDapper<TN_WM_LOCATION_EXTEntity>().GetSingleEntity(new
+                {
+                    CN_S_LOCATION_CODE = bit.bit
+                });
+
+                if (connectBit == null)
+                    throw new Exception("鏈壘鍒版帴椹充綅璐т綅锛� + bit.bit);
+                if (connectBit.CN_S_LOCATION_STATE != Constants.Location_State_Normal)
+                    throw new Exception("鎺ラ┏浣嶏細" + bit.bit + "瀛樺湪鏈墽琛屽畬鐨勪换鍔�);
+
+                UseTransaction(trans =>
+                {
+                    // 鎺ラ┏浣�棰勫嚭搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_OutLock
+                    }, new { CN_S_LOCATION_CODE = bit.bit }, trans);
+                    // 绔嬪簱棰勫叆搴撻攣瀹�+                    CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
+                    {
+                        CN_S_LOCATION_STATE = Constants.Location_State_InLock
+                    }, new { CN_S_LOCATION_CODE = task2.CN_S_END_BIT }, trans);
+
+                    // 瀛愪换鍔′簩鐘舵�缃负鎵ц涓�+                    or = CreateDapperDAL<TN_WM_TASKEntity>().Update(new
+                    {
+                        CN_S_STATE = Constants.TaskState_Executing
+                    }, new { CN_S_TASK_NO = task2.CN_S_TASK_NO }, trans);
+                    // 鍙戦�Wcs浠诲姟
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "浠诲姟淇℃伅锛� + JsonConvert.SerializeObject(task2));
+                    or = BLLCreator.Create<OtherSysApi>().SendWcsCreateTask(task2);
+                    Log.Detail(LogType.LogPara("璋冪敤WCS鎺ュ彛鎵ц浠诲姟"), "鎵ц缁撴灉锛� + JsonConvert.SerializeObject(or));
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц鎴愬瀷鏈�绌烘墭鍥炲簱-绌烘墭鍏ュ簱瀛愪换鍔′簩澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+
+        #endregion
+
+        #endregion
+
+        #region 甯︽潫
+
+        #region 鍗婃垚鍝佸強绌烘墭鍥炲簱
+
+        #endregion
+
+        #region 婊℃墭鍑哄簱
 
         #endregion
 
@@ -1613,15 +2542,130 @@
         public static string CXJ_DSMTCK = "6";
     }
 
+    /// <summary>
+    /// 浠诲姟闃舵甯搁噺
+    /// </summary>
     public class TaskSectionConstants
     {
         /// <summary>
-        /// 绌烘墭鍑哄簱
+        /// 浠诲姟瀹屾垚
         /// </summary>
-        public static string KTCK = "绌烘墭鍑哄簱";
+        public static string COMPLETE = "浠诲姟瀹屾垚";
+
+        #region 鍗婃垚鍝�+
+        /// <summary>
+        /// 鍗婃垚鍝�绌烘墭鍑哄簱
+        /// </summary>
+        public static string BCP_KTCK = "绌烘墭鍑哄簱";
         /// <summary>
         /// 鍗婃垚鍝�婊℃墭鍏ュ簱
         /// </summary>
         public static string BCP_MTRK = "鍗婃垚鍝�婊℃墭鍏ュ簱";
+        /// <summary>
+        /// 鍗婃垚鍝�婊℃墭鍏ュ簱-绗簩闃舵
+        /// </summary>
+        public static string BCP_MTRK_SECOND = "鍗婃垚鍝�婊℃墭鍏ュ簱-绗簩闃舵";
+
+        #endregion
+
+        #region 鎴愬瀷鏈�+
+        /// <summary>
+        /// 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�+        /// </summary>
+        public static string CXJ_BCPHK = "鎴愬瀷鏈�鍗婃垚鍝佸洖搴�;
+
+        /// <summary>
+        /// 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�绗簩闃舵
+        /// </summary>
+        public static string CXJ_BCPHK_SECOND = "鎴愬瀷鏈�鍗婃垚鍝佸洖搴�绗簩闃舵";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-璁板綍闃舵
+        /// </summary>
+        public static string CXJ_KTHK_RECORD = "鎴愬瀷鏈�绌烘墭鍥炲簱-璁板綍闃舵";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵
+        /// </summary>
+        public static string CXJ_KTHK_KTRK = "鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-绗簩闃舵
+        /// </summary>
+        public static string CXJ_KTHK_KTRK_SECOND = "鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-绗簩闃舵";
+        /// <summary>
+        /// 鎴愬瀷鏈�婊℃墭鍑哄簱
+        /// </summary>
+        public static string CXJ_MTCK = "鎴愬瀷鏈�婊℃墭鍑哄簱";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍏ュ簱
+        /// </summary>
+        public static string CXJ_KTRK = "鎴愬瀷鏈�绌烘墭鍏ュ簱";
+
+        #endregion
+    }
+
+    /// <summary>
+    /// 浠诲姟鏍囪瘑甯搁噺
+    /// </summary>
+    public class TaskFlagConstants
+    {
+        /// <summary>
+        /// 涓讳换鍔�+        /// </summary>
+        public static string ROOT = "涓讳换鍔�;
+
+        #region 鍗婃垚鍝�+
+        /// <summary>
+        /// 鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′竴
+        /// </summary>
+        public static string BCP_KTCK_SUB_1 = "鍗婃垚鍝�绌烘墭鍑哄簱-瀛愪换鍔′竴";
+        /// <summary>
+        /// 鍗婃垚鍝�绌烘墭鍑哄簱瀛愪换鍔′簩
+        /// </summary>
+        public static string BCP_KTCK_SUB_2 = "鍗婃垚鍝�绌烘墭鍑哄簱-瀛愪换鍔′簩";
+        /// <summary>
+        /// 鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′竴
+        /// </summary>
+        public static string BCP_MTRK_SUB_1 = "鍗婃垚鍝�婊℃墭鍏ュ簱-瀛愪换鍔′竴";
+        /// <summary>
+        /// 鍗婃垚鍝�婊℃墭鍏ュ簱瀛愪换鍔′簩
+        /// </summary>
+        public static string BCP_MTRK_SUB_2 = "鍗婃垚鍝�婊℃墭鍏ュ簱-瀛愪换鍔′簩";
+
+        #endregion
+
+        #region 鎴愬瀷鏈�+
+        /// <summary>
+        /// 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�瀛愪换鍔′竴
+        /// </summary>
+        public static string CXJ_BCPHK_SUB_1 = "鎴愬瀷鏈�鍗婃垚鍝佸洖搴�瀛愪换鍔′竴";
+        /// <summary>
+        /// 鎴愬瀷鏈�鍗婃垚鍝佸洖搴�瀛愪换鍔′簩
+        /// </summary>
+        public static string CXJ_BCPHK_SUB_2 = "鎴愬瀷鏈�鍗婃垚鍝佸洖搴�瀛愪换鍔′竴";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-璁板綍浠诲姟
+        /// </summary>
+        public static string CXJ_KTHK_RECORD = "鎴愬瀷鏈�绌烘墭鍥炲簱-璁板綍浠诲姟";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-瀛愪换鍔′竴
+        /// </summary>
+        public static string CXJ_KTHK_KTRK_SUB_1 = "鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-瀛愪换鍔′竴";
+        /// <summary>
+        /// 鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-瀛愪换鍔′簩
+        /// </summary>
+        public static string CXJ_KTHK_KTRK_SUB_2 = "鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵-瀛愪换鍔′簩";
+        /// <summary>
+        /// 鎴愬瀷鏈�婊℃墭鍑哄簱-瀛愪换鍔′竴
+        /// </summary>
+        public static string CXJ_MTCK_SUB_1 = "鎴愬瀷鏈�婊℃墭鍑哄簱-瀛愪换鍔′竴";
+        /// <summary>
+        /// 鎴愬瀷鏈�婊℃墭鍑哄簱-瀛愪换鍔′簩
+        /// </summary>
+        public static string CXJ_MTCK_SUB_2 = "鎴愬瀷鏈�婊℃墭鍑哄簱-瀛愪换鍔′簩";
+
+        #endregion
     }
 }
diff --git a/HH.WMS.Common/Constants.cs b/HH.WMS.Common/Constants.cs
index 7de0e6e..778911e 100644
--- a/HH.WMS.Common/Constants.cs
+++ b/HH.WMS.Common/Constants.cs
@@ -498,7 +498,7 @@
         /// <summary>
         /// 浠诲姟鐘舵�-瀹屾垚閮ㄥ垎
         /// </summary>
-        public static readonly string TaskState_CompletePart = "瀹屾垚閮ㄥ垎";
+        public static readonly string TaskState_CompletePart = "閮ㄥ垎瀹屾垚";
         #endregion
         #region 浠诲姟鎵ц鍙嶉缁撴灉
         /// <summary>
diff --git a/HH.WMS.Entitys/Entitys/TN_WM_TASKEntity.cs b/HH.WMS.Entitys/Entitys/TN_WM_TASKEntity.cs
index d06f7d0..983e698 100644
--- a/HH.WMS.Entitys/Entitys/TN_WM_TASKEntity.cs
+++ b/HH.WMS.Entitys/Entitys/TN_WM_TASKEntity.cs
@@ -115,18 +115,18 @@
         [Column("CN_S_END_AREA_TYPE")]
         public string CN_S_END_AREA_TYPE { get; set; }
         /// <summary>
-        /// 鎵╁睍瀛楁1
+        /// 鎵╁睍瀛楁1 涓讳换鍔$紪鍙�         /// </summary>
         [Column("CN_S_EXT1")]
         public string CN_S_EXT1 { get; set; }
         /// <summary>
-        /// 鎵╁睍瀛楁2
+        /// 鎵╁睍瀛楁2 浠诲姟鏍囪瘑
         /// </summary>
         [Column("CN_S_EXT2")]
         public string CN_S_EXT2 { get; set; }
 
         /// <summary>
-        /// 鎵╁睍瀛楁3
+        /// 鎵╁睍瀛楁3 浠诲姟鎵ц闃舵
         /// </summary>
         [Column("CN_S_EXT3")]
         public string CN_S_EXT3 { get; set; }
diff --git a/HH.WMS.WebApi/Controllers/WmsApiController.cs b/HH.WMS.WebApi/Controllers/WmsApiController.cs
index 9f33b68..924f931 100644
--- a/HH.WMS.WebApi/Controllers/WmsApiController.cs
+++ b/HH.WMS.WebApi/Controllers/WmsApiController.cs
@@ -48,12 +48,12 @@
         /// </summary>
         /// <returns></returns>
         /// <history>[HanHe(zh)] CREATED 2018/5/3</history>
-        [HttpPost]
-        public string InWorkArea(List<InWorkAreaEntity> inWorkAreaEntitys)
-        {
-            var result =  WmsApiBLLRoute.InWorkArea(inWorkAreaEntitys);
-            return result;
-        }
+        //[HttpPost]
+        //public string InWorkArea(List<InWorkAreaEntity> inWorkAreaEntitys)
+        //{
+        //    var result =  WmsApiBLLRoute.InWorkArea(inWorkAreaEntitys);
+        //    return result;
+        //}
 
         [HttpPost]
         public string ReturnWorkArea(List<InWorkAreaEntity> inWorkAreaEntitys)
@@ -1084,7 +1084,7 @@
         /// <param name="jsonData"></param>
         /// <returns></returns>
         [HttpPost]
-        public object ReceiveTask(dynamic jsonData)
+        public object InWorkArea(dynamic jsonData)
         {
             var logPara = LogType.LogPara("浠诲姟涓嬪彂");
             Log.Detail(logPara, "HCZCSendTask:浠诲姟涓嬪彂浼犻�鍙傛暟锛� + jsonData.ToString());
@@ -1103,9 +1103,5 @@
         }
 
         #endregion
-
-
-
-
     }
 }

--
Gitblit v1.9.1