From 02ca96debc6056275d58e55d97f7885a195542d0 Mon Sep 17 00:00:00 2001 From: zhao Date: 星期四, 24 六月 2021 16:42:16 +0800 Subject: [PATCH] 半成品入库-空托出库和满托入库的基本流程 --- HH.WMS.BLL/External/WmsApiBaseBLL.cs | 142 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 134 insertions(+), 8 deletions(-) diff --git a/HH.WMS.BLL/External/WmsApiBaseBLL.cs b/HH.WMS.BLL/External/WmsApiBaseBLL.cs index e40b0c7..5b6db14 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,15 +1512,10 @@ #endregion - string tno = executeStatePara.transportTask.CN_S_TASK_NO; + string tno = executeStatePara.transportTask.CN_S_TASK_NO.Trim(); if (tno.IndexOf('_') > 0) { - string TopNo = tno.Substring(0, tno.IndexOf("_")); - string navNo = tno.Substring(tno.IndexOf("_") + 1); - if (navNo == "2") - { - tno = TopNo; - } + tno = tno.Split('_')[0]; } // 鑾峰彇涓讳换鍔� var task = BLLCreator.CreateDapper<TN_WM_TASKEntity>().GetSingleEntity(new @@ -1544,7 +1541,97 @@ if (taskNo.IndexOf('_') > 0) { string fatherNo = taskNo.Substring(0, taskNo.IndexOf("_")); - string hzNo = taskNo.Substring(taskNo.IndexOf("_") + 1); + string childNo = taskNo.Substring(taskNo.IndexOf("_") + 1); + + #region 娴锋疆涓瓥 + + // 鍗婃垚鍝佹弧鎵樺叆搴撴祦绋�+ if (task.CN_S_EXT1 == BusinessTypeConstants.BCP_MTRK) + { + // 绌烘墭鍑哄簱绗竴鏉″瓙浠诲姟 + if (executeStatePara.transportTask.CN_S_EXT2 == "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); + } + // 绌烘墭鍑哄簱绗簩鏉″瓙浠诲姟 + if (executeStatePara.transportTask.CN_S_EXT2 == "ktck_sub_2") + { + // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+ // 涓讳换鍔$殑瀛愪换鍔℃爣璇嗙疆绌�+ // 涓讳换鍔¢樁娈电疆涓哄崐鎴愬搧-婊℃墭鍏ュ簱 + CreateDAL<DapperDAL<TN_WM_TASKEntity>>().Update(new + { + CN_S_STATE = Constants.TaskState_CompletePart, + CN_S_EXT2 = "", + 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); + // 缁堢偣璐т綅鐘舵�鏀逛负:婊�+ 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); + // 鍦ㄤ富寰幆涓垱寤哄悗缁т换鍔�+ } + // 婊℃墭鍏ュ簱绗竴鏉″瓙浠诲姟 + if (executeStatePara.transportTask.CN_S_EXT2 == "bcp_mtrk_sub_1") + { + // 涓讳换鍔$姸鎬佺疆涓哄畬鎴愰儴鍒�+ // 涓讳换鍔$殑瀛愪换鍔℃爣璇嗙疆涓篵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" + }, new { CN_S_TASK_NO = task.CN_S_TASK_NO }, trans); + // 鍦ㄤ富寰幆涓垱寤哄悗缁т换鍔�+ } + // 婊℃墭鍏ュ簱绗簩鏉″瓙浠诲姟 + if (executeStatePara.transportTask.CN_S_EXT2 == "bcp_mtrk_sub_2") + { + + } + } + + #endregion + + //A鍒癇鐨凙GV鎼繍浠诲姟 if (hzNo == "1") { @@ -2754,5 +2841,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