From 23ee356c6f260ecc1a48bbb8bd60932b979e4698 Mon Sep 17 00:00:00 2001
From: zhao
Date: 星期五, 02 七月 2021 16:22:19 +0800
Subject: [PATCH] 成型机带束出入库

---
 HH.WMS.BLL/External/WmsApiBaseBLL.cs |  546 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 483 insertions(+), 63 deletions(-)

diff --git a/HH.WMS.BLL/External/WmsApiBaseBLL.cs b/HH.WMS.BLL/External/WmsApiBaseBLL.cs
index e40b0c7..adfa8c7 100644
--- a/HH.WMS.BLL/External/WmsApiBaseBLL.cs
+++ b/HH.WMS.BLL/External/WmsApiBaseBLL.cs
@@ -2,6 +2,7 @@
 using HH.WMS.BLL.Basic;
 using HH.WMS.BLL.InStock;
 using HH.WMS.BLL.Interface;
+using HH.WMS.BLL.Pda;
 using HH.WMS.BLL.SysMgr;
 using HH.WMS.Common;
 using HH.WMS.Common.Algorithm;
@@ -19,6 +20,7 @@
 using HH.WMS.Entitys.Common;
 using HH.WMS.Entitys.Dto;
 using HH.WMS.Entitys.Entitys;
+using HH.WMS.Entitys.Entitys.Mes;
 using HH.WMS.Entitys.External;
 using Newtonsoft.Json;
 using System;
@@ -1510,21 +1512,29 @@
 
             #endregion
 
-            string tno = executeStatePara.transportTask.CN_S_TASK_NO;
-            if (tno.IndexOf('_') > 0)
-            {
-                string TopNo = tno.Substring(0, tno.IndexOf("_"));
-                string navNo = tno.Substring(tno.IndexOf("_") + 1);
-                if (navNo == "2")
-                {
-                    tno = TopNo;
-                }
-            }
             // 鑾峰彇涓讳换鍔�-            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 =>
             {
@@ -1544,76 +1554,447 @@
                 if (taskNo.IndexOf('_') > 0)
                 {
                     string fatherNo = taskNo.Substring(0, taskNo.IndexOf("_"));
-                    string hzNo = taskNo.Substring(taskNo.IndexOf("_") + 1);
-                    //A鍒癇鐨凙GV鎼繍浠诲姟
-                    if (hzNo == "1")
+                    string childNo = taskNo.Substring(taskNo.IndexOf("_") + 1);
+
+                    #region 娴锋疆涓瓥
+
+                    #region 鍗婃垚鍝�+
+                    #region 绌烘墭鍑哄簱
+
+                    // 鍗婃垚鍝�绌烘墭鍑哄簱绗竴鏉″瓙浠诲姟
+                    if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.BCP_KTCK_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.BCP_KTCK_SUB_2)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+                        // 涓讳换鍔¢樁娈电疆涓哄崐鎴愬搧-婊℃墭鍏ュ簱
                         CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
                         {
-                            CN_S_MODIFY = "",
-                            CN_S_MODIFY_BY = "",
                             CN_T_END = DateTime.Now,
                             CN_T_MODIFY = DateTime.Now,
-                            CN_S_STATE = Constants.TaskState_CompleteHalf
-                        }, new { CN_S_TASK_NO = fatherNo }, trans);
-                        Log.Detail(logPara, "鏇存柊涓讳换鍔$姸鎬�浠诲姟鍙凤細" + fatherNo + "鐘舵�涓猴細" + Constants.TaskState_CompleteHalf);
+                            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);
                     }
 
-                    //B鍒癈鐨勭珛搴撴惉杩愪换鍔�-                    if (hzNo == "2")
+                    #endregion
+
+                    #region 婊℃墭鍏ュ簱
+
+                    // 鍗婃垚鍝�婊℃墭鍏ュ簱绗竴鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.BCP_MTRK_SUB_1)
                     {
-                        //涓讳换鍔$姸鎬佹洿鏀逛负:瀹屾垚
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+                        // 涓讳换鍔¢樁娈电疆涓哄崐鎴愬搧-婊℃墭鍏ュ簱-绗簩闃舵
                         CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
                         {
-                            CN_S_MODIFY = "",
-                            CN_S_MODIFY_BY = "",
                             CN_T_END = DateTime.Now,
                             CN_T_MODIFY = DateTime.Now,
-                            CN_S_STATE = Constants.TaskState_Complete
-                        }, new { CN_S_TASK_NO = fatherNo }, trans);
-                        Log.Detail(logPara, "鏇存柊涓讳换鍔$姸鎬�浠诲姟鍙凤細" + fatherNo + "鐘舵�涓猴細" + Constants.TaskState_Complete);
+                            CN_S_STATE = Constants.TaskState_CompletePart,
+                            CN_S_EXT3 = TaskSectionConstants.BCP_MTRK_SECOND
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                        // 绾胯竟璐т綅涓嶇鎺� 
-
-                        if (task != null)
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�婊�+                        CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
                         {
-                            // 鎺ラ┏浣嶇姸鎬佹敼涓�姝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);
+                            CN_S_LOCATION_STATE = Constants.Location_State_Full
+                        }, new
+                        {
+                            CN_S_LOCATION_CODE = executeStatePara.transportTask.CN_S_END_BIT
+                        }, trans);
 
-                            Log.Detail(logPara, "涓讳换鍔″畬鎴愶紝鏇存柊鎺ラ┏浣嶇姸鎬�璐т綅鍙凤細" + task.CN_S_CONNECT_BIT + "鐘舵�涓猴細" + Constants.Location_State_Normal);
+                        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_T_END = DateTime.Now,
+                            CN_T_MODIFY = DateTime.Now,
+                            CN_S_STATE = Constants.TaskState_Complete,
+                            CN_S_EXT3 = TaskSectionConstants.COMPLETE
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
 
-                            if (task.CN_S_TASK_TYPE == Constants.In)
+                        // 鎺ラ┏浣嶇姸鎬佹敼涓�姝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_T_END = DateTime.Now,
+                            CN_T_MODIFY = DateTime.Now,
+                            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_T_END = DateTime.Now,
+                            CN_T_MODIFY = DateTime.Now,
+                            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
                             {
-                                // 鍏ュ簱瀹屾垚缁堢偣璐т綅鐘舵�鏀逛负:婊�-                                CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                                {
-                                    CN_S_LOCATION_STATE = Constants.Location_State_Full
-                                }, new
-                                {
-                                    CN_S_LOCATION_CODE = task.CN_S_END_BIT
-                                }, trans);
-                                Log.Detail(logPara, "涓讳换鍔″畬鎴愶紝鏇存柊缁堢偣绔嬪簱璐т綅鐘舵�-璐т綅鍙凤細" + task.CN_S_END_BIT + "鐘舵�涓猴細" + Constants.Location_State_Full);
-                            }
-                            else if (task.CN_S_TASK_TYPE == Constants.Out)
+                                CN_S_STATE = Constants.TaskState_Complete,
+                                CN_S_EXT3 = TaskSectionConstants.COMPLETE
+                            }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, 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_Complete + "-闃舵涓猴細" + TaskSectionConstants.COMPLETE
+                            + "锛屾湭鍖归厤鍒扮┖鎵樺洖搴撲换鍔�);
+                        }
+                        else
+                        {
+                            // 鏈夐渶瑕佹墽琛岀殑绌烘墭鍥炲簱浠诲姟
+                            // 涓讳换鍔$姸鎬佺疆涓烘墽琛屼腑锛堥槻姝㈠啀娆″惊鐜埌锛�+                            // 涓讳换鍔¢樁娈电疆涓烘垚鍨嬫満-绌烘墭鍏ュ簱
+                            CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
                             {
-                                // 鍑哄簱瀹屾垚璧风偣璐т綅鐘舵�鏀逛负:绌�-                                CreateDapperDAL<TN_WM_LOCATION_EXTEntity>().Update(new
-                                {
-                                    CN_S_LOCATION_STATE = Constants.Location_State_Empty
-                                }, new
-                                {
-                                    CN_S_LOCATION_CODE = task.CN_S_START_BIT
-                                }, trans);
-                                Log.Detail(logPara, "涓讳换鍔″畬鎴愶紝鏇存柊璧风偣绔嬪簱璐т綅鐘舵�-璐т綅鍙凤細" + task.CN_S_START_BIT + "鐘舵�涓猴細" + Constants.Location_State_Empty);
-                            }
+                                CN_T_END = DateTime.Now,
+                                CN_T_MODIFY = DateTime.Now,
+                                CN_S_STATE = Constants.TaskState_Executing,
+                                CN_S_EXT3 = TaskSectionConstants.CXJ_KTRK
+                            }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans);
+                            // 绌烘墭鍥炲簱浠诲姟闃舵缃负鎴愬瀷鏈�绌烘墭鍥炲簱-鍏ュ簱闃舵
+                            // 绌烘墭鍥炲簱浠诲姟涓讳换鍔$紪鍙风疆涓哄綋鍓嶄富浠诲姟
+                            CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                            {
+                                CN_T_END = DateTime.Now,
+                                CN_T_MODIFY = DateTime.Now,
+                                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
+
+                    #region 鎴愬瀷鏈哄甫鏉�+
+                    #region 鍗婃垚鍝�绌烘墭鍥炲簱
+
+                    // 鎴愬瀷鏈哄甫鏉�鍗婃垚鍝�绌烘墭鍥炲簱绗竴鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.DS_BCPKTHK_SUB_1)
+                    {
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+                        // 涓讳换鍔¢樁娈电疆涓烘垚鍨嬫満甯︽潫-鍗婃垚鍝�绌烘墭鍥炲簱-绗簩闃舵
+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                        {
+                            CN_T_END = DateTime.Now,
+                            CN_T_MODIFY = DateTime.Now,
+                            CN_S_STATE = Constants.TaskState_CompletePart,
+                            CN_S_EXT3 = TaskSectionConstants.DS_BCPKTHK_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.DS_BCPKTHK_SECOND);
+                    }
+                    // 鎴愬瀷鏈哄甫鏉�鍗婃垚鍝�绌烘墭鍥炲簱绗簩鏉″瓙浠诲姟
+                    else if (executeStatePara.transportTask.CN_S_EXT2 == TaskFlagConstants.DS_BCPKTHK_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.DS_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.DS_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);
+                        // 绾胯竟璐т綅涓嶇鎺�+
+                        // 涓讳换鍔$姸鎬佺疆涓哄畬鎴�+                        // 涓讳换鍔¢樁娈电疆涓哄畬鎴�+                        CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new
+                        {
+                            CN_T_END = DateTime.Now,
+                            CN_T_MODIFY = DateTime.Now,
+                            CN_S_STATE = Constants.TaskState_Complete,
+                            CN_S_EXT3 = TaskSectionConstants.COMPLETE
+                        }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, 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_Complete + "-闃舵涓猴細" + TaskSectionConstants.COMPLETE);
+                    }
+
+                    #endregion
+
+                    #endregion
+
+                    #endregion
                 }
                 if (executeStatePara.transportTask.CN_S_TASK_TYPE == null)
                     executeStatePara.transportTask.CN_S_TASK_TYPE = "";
@@ -2754,5 +3135,44 @@
             }
 
         }
+
+        /// <summary>
+        /// 鎺ユ敹浠诲姟
+        /// </summary>
+        /// <param name="receuveTask"></param>
+        /// <returns></returns>
+        public OperateResult ReceiveTask(ZCReceiveTaskEntity receuveTask)
+        {
+            TN_MES_TASK req = new TN_MES_TASK()
+            {
+                task_no = receuveTask.task_no,
+                Task_type = receuveTask.Task_type,
+                TurnCardNum = receuveTask.TurnCardNum,
+                PROD_NO = receuveTask.PROD_NO,
+                PROD_TECH = receuveTask.PROD_TECH,
+                PROD_SPEC = receuveTask.PROD_SPEC,
+                PROD_BOM = receuveTask.PROD_BOM,
+                PROD_Feature = receuveTask.PROD_Feature,
+                TOOLS_NO = receuveTask.TOOLS_NO,
+                ST_AMOUNT = receuveTask.ST_AMOUNT,
+                CURRENT_AMOUNT = receuveTask.CURRENT_AMOUNT,
+                Location_From = receuveTask.Location_From,
+                Location_To = receuveTask.Location_To,
+                PRODUCE_TIME = receuveTask.PRODUCE_TIME,
+                SHELF_LIFE_TIME = receuveTask.SHELF_LIFE_TIME,
+                EXPIRED_TIME = receuveTask.EXPIRED_TIME,
+                SHELF_REP = receuveTask.SHELF_REP,
+                EXPIRED_REP = receuveTask.EXPIRED_REP,
+                CHECK_CODE = receuveTask.CHECK_CODE,
+                CHECK_INFO = receuveTask.CHECK_INFO,
+                Priority = receuveTask.Priority,
+                Data_status = receuveTask.Data_status,
+                NeedTrig = "Y",
+                CreateDate = DateTime.Now,
+                BUSI_TYPE = receuveTask.BUSI_TYPE
+            };
+
+            return BLLCreator.Create<ZCBLL>().SaveTask(req);
+        }
     }
 }

--
Gitblit v1.9.1