From 02ca96debc6056275d58e55d97f7885a195542d0 Mon Sep 17 00:00:00 2001
From: zhao
Date: 星期四, 24 六月 2021 16:42:16 +0800
Subject: [PATCH] 半成品入库-空托出库和满托入库的基本流程

---
 HH.WMS.BLL/Pda/ZCBLL.cs |  551 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 543 insertions(+), 8 deletions(-)

diff --git a/HH.WMS.BLL/Pda/ZCBLL.cs b/HH.WMS.BLL/Pda/ZCBLL.cs
index 2fcedf5..ae9cbb5 100644
--- a/HH.WMS.BLL/Pda/ZCBLL.cs
+++ b/HH.WMS.BLL/Pda/ZCBLL.cs
@@ -779,28 +779,84 @@
         }
         #endregion
 
+        // CN_S_EXT1:涓氬姟绫诲瀷
+        // CN_S_EXT2:瀛愪换鍔℃爣璇�+        // CN_S_EXT3:浠诲姟鎵ц闃舵
         public void SelfManageTask()
         {
             try
             {
-                //鍙栨湭鎵ц鐨勮嚜绠′换鍔�+                //鍙栨湭鎵ц銆佸畬鎴愪竴鍗娿�瀹屾垚閮ㄥ垎鐨勮嚜绠′换鍔�                 var tasks = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetList(new
                 {
                     CN_S_TASK_FLAG = Constants.TaskFlag_ZG,
-                    CN_S_STATE = new List<string>() { Constants.TaskState_NoExecuted, Constants.TaskState_CompleteHalf }
+                    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");
-
-                var connectBits = JsonConvert.DeserializeObject<List<ConnectBitDto>>(connectBitStr);
 
                 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)// 鍗婃垚鍝佹弧鎵樺叆搴撴祦绋�+                        {
+                            // -绌烘墭鍑哄簱闃舵
+                            if (task.CN_S_EXT3 == TaskSectionConstants.KTCK)
+                            {
+                                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);
+                                }
+                            }
+                            else if (task.CN_S_EXT3 == TaskSectionConstants.BCP_MTRK)
+                            {
+                                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);
+                                }
+                            }
+                        }
+                        else
+                        {
+                            or = OperateResult.Error("鏈煡鐨勪笟鍔$被鍨嬶細task.CN_S_EXT1=" + task.CN_S_EXT1);
+                        }
+
+                        continue;
+
                         //鏈墽琛岃〃绀虹涓�釜浠诲姟
                         if (task.CN_S_STATE == Constants.TaskState_NoExecuted)
                         {
@@ -1043,6 +1099,24 @@
                     // 浠巑ongo涓幏鍙栬揣浣嶇浉鍏崇殑淇℃伅 - 缁堢偣璐т綅
                     AutoBomLocationEntity end_location = CreateDAL<TN_AB_STOCK_LOCATIONDAL>().GetModel(task.Location_To);
 
+                    // 涓讳换鍔℃墽琛屾祦绋嬩腑鐨勮捣濮嬮樁娈�+                    string section = "";
+                    switch (task.BUSI_TYPE)
+                    {
+                        case "1":
+                            section = TaskSectionConstants.KTCK;
+                            break;
+                        case "2":
+                            break;
+                        case "3":
+                            break;
+                        case "4":
+                            break;
+                        case "5":
+                            break;
+                        case "6":
+                            break;
+                    }
                     // 鍒涘缓WMS涓讳换鍔�                     TN_WM_TASKEntity taskEntity = new TN_WM_TASKEntity()
                     {
@@ -1063,6 +1137,9 @@
                         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_EXT3 = section
                     };
                     UseTransaction(trans =>
                     {
@@ -1088,5 +1165,463 @@
                 Log.DomainInfo("ExecTransferTask", JsonConvert.SerializeObject(ors));
             }
         }
+
+        #region 鍗婃垚鍝�婊℃墭鍏ュ簱
+
+        #region 绌烘墭鍑哄簱
+
+        /// <summary>
+        /// 鍒涘缓绌烘墭鍑哄簱骞惰瀛愪换鍔�+        /// </summary>
+        public OperateResult ExecKTCK(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
+            {
+                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 ExecKTCK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto connectBit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+            try
+            {
+                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);
+                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    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);
+                });
+            }
+            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 ExecKTCK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto connectBit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+            try
+            {
+                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);
+                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    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浠诲姟
+                    or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task2);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц绌烘墭鍑哄簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+
+        #endregion
+
+        #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
+            {
+                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 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
+            {
+                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 ExecBCP_MTRK_Sub1(TN_WM_TASKEntity task1, ConnectBitDto connectBit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+            try
+            {
+                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);
+                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    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浠诲姟
+                    or = BLLCreator.Create<OtherSysApi>().SendAmsTask(task1);
+                });
+            }
+            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 ExecBCP_MTRK_Sub2(TN_WM_TASKEntity task2, ConnectBitDto connectBit)
+        {
+            OperateResult or = OperateResult.Error("鏈煡閿欒");
+            try
+            {
+                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);
+                    // 瀛愪换鍔�鐘舵�缃负鎵ц涓�+                    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);
+                });
+            }
+            catch (Exception ex)
+            {
+                OperateResult.Error("鎵ц婊℃墭鍏ュ簱瀛愪换鍔�澶辫触锛屼换鍔$紪鍙�" + task2.CN_S_TASK_NO + "锛岄敊璇俊鎭細" + ex.Message);
+            }
+            return or;
+        }
+
+        #endregion
+
+        #endregion
+
+        #endregion
+    }
+
+    /// <summary>
+    /// 閰嶇疆鏂囦欢涓殑甯搁噺瀹氫箟
+    /// </summary>
+    public class ConnectBitConstants
+    {
+        /// <summary>
+        /// 甯︽潫鍏ュ簱
+        /// </summary>
+        public static string DSRK = "甯︽潫鍏ュ簱";
+        /// <summary>
+        /// 甯︽潫鍑哄簱
+        /// </summary>
+        public static string DSCK = "甯︽潫鍑哄簱";
+        /// <summary>
+        /// 婊℃墭鍏ュ簱
+        /// </summary>
+        public static string MTRK = "婊℃墭鍏ュ簱";
+        /// <summary>
+        /// 绌烘墭鍑哄簱
+        /// </summary>
+        public static string KTCK = "绌烘墭鍑哄簱";
+        /// <summary>
+        /// 婊℃墭鍑哄簱
+        /// </summary>
+        public static string MTCK = "婊℃墭鍑哄簱";
+        /// <summary>
+        /// 绌烘墭鍏ュ簱
+        /// </summary>
+        public static string KTRK = "绌烘墭鍏ュ簱";
+    }
+
+    /// <summary>
+    /// 鎺ュ彛鍚屾鐨勪笟鍔$被鍨嬪畾涔�+    /// </summary>
+    public class BusinessTypeConstants
+    {
+        /// <summary>
+        /// 鍗婃垚鍝佹弧鎵樺叆搴�+        /// </summary>
+        public static string BCP_MTRK = "1";
+        /// <summary>
+        /// 鎴愬瀷鏈哄崐鎴愬搧鍥炲簱
+        /// </summary>
+        public static string CXJ_BCPHK = "2";
+        /// <summary>
+        /// 鎴愬瀷鏈虹┖妗跺洖搴�+        /// </summary>
+        public static string CXJ_KTHK = "3";
+        /// <summary>
+        /// 鎴愬瀷鏈烘弧鎵樺嚭搴�+        /// </summary>
+        public static string CXJ_MTCK = "4";
+        /// <summary>
+        /// 鎴愬瀷鏈哄甫鏉熷洖搴�+        /// </summary>
+        public static string CXJ_DSHK = "5";
+        /// <summary>
+        /// 鎴愬瀷鏈哄甫鏉熸弧鎵樺嚭搴�+        /// </summary>
+        public static string CXJ_DSMTCK = "6";
+    }
+
+    public class TaskSectionConstants
+    {
+        /// <summary>
+        /// 绌烘墭鍑哄簱
+        /// </summary>
+        public static string KTCK = "绌烘墭鍑哄簱";
+        /// <summary>
+        /// 鍗婃垚鍝�婊℃墭鍏ュ簱
+        /// </summary>
+        public static string BCP_MTRK = "鍗婃垚鍝�婊℃墭鍏ュ簱";
     }
 }

--
Gitblit v1.9.1