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