| | |
| | | isFu = "1"; |
| | | } |
| | | } |
| | | var workFlow = TaskHelper.selectWorkFlowByType(mst.N_TYPE.ToString(), mst.TOOLSTYPE); |
| | | |
| | | |
| | | |
| | | if (workFlow != null) |
| | | { |
| | | if (workFlow.INOROUT.Contains("入库")) |
| | | |
| | | |
| | | if (mst.S_TYPE.Contains("入库")|| mst.S_TYPE.Contains("回库")) |
| | | { |
| | | Type = "1"; |
| | | } |
| | | |
| | | if (workFlow.INOROUT.Contains("出库")) |
| | | if (mst.S_TYPE.Contains("出库")) |
| | | { |
| | | Type = "2"; |
| | | var count = TaskHelper.GetConnectionTask(mst.S_END_LOC); |
| | |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | if (mst.S_CNTR_CODE.Contains("KJZ")) |
| | | { |
| | |
| | | } |
| | | } |
| | | |
| | | if (model.code == "2") { |
| | | |
| | | if (model.code == "2") { |
| | | |
| | | var work = TaskHelper.GetWmsWork(transportTask.S_OP_CODE); |
| | | if (work==null) |
| | | { |
| | | LogHelper.Info($"未查询到{transportTask.S_OP_CODE}对应的作业", "Wcs任务执行通知"); |
| | | throw new Exception("未查询到对应的作业"); |
| | | } |
| | | |
| | | var workFlow = TaskHelper.selectWorkFlowByType(work.N_TYPE.ToString(), work.TOOLSTYPE); |
| | | |
| | | if (workFlow == null) |
| | | { |
| | | LogHelper.Info($"外形检测失败,没找到对应作业流程", "Wcs任务执行通知"); |
| | | throw new Exception($"外形检测失败,没找到对应作业流程"); |
| | | } |
| | | //查找终点 |
| | | var endList = LocationHelper.GetAllLocList1(workFlow.ERRORAREA); |
| | | |
| | | //var end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ERRORAREA,workFlow.ROADWAY); |
| | | var end = LocationHelper.FindEndcolByLoc(endList, workFlow.ERRORAREA); |
| | | LogHelper.Info($"外形检测失败失败下发异常终点信息" + JsonConvert.SerializeObject(end), "Wcs任务执行通知"); |
| | | |
| | | |
| | | if (end == null) |
| | | { |
| | | LogHelper.Info($"外形检测失败失败下发任务失败,终点库区{workFlow.ERRORAREA},没找到终点", "Wcs任务执行通知"); |
| | | throw new Exception($"外形检测失败失败终点库区{workFlow.ERRORAREA},没找到终点"); |
| | | } |
| | | |
| | | LocationHelper.LockLoc(end.S_CODE, "入库锁", 1); |
| | | |
| | | |
| | | var connectionLoc = LocationHelper.GetLoc(work.CONNECTION.Replace("R", "C")); |
| | | |
| | | if (connectionLoc==null) |
| | | { |
| | | LogHelper.Info($"未查询到{work.CONNECTION.Replace("R", "C")}对应的接驳位", "Wcs任务执行通知"); |
| | | throw new Exception("未查询到对应的出库接驳位"); |
| | | } |
| | | |
| | | var connection = connectionLoc.S_CODE; |
| | | |
| | | var operation = new WmsWork |
| | | { |
| | | // 作业号 |
| | | S_CODE = TaskHelper.GenerateTaskNo(), |
| | | // 作业类型 |
| | | N_TYPE = 99, |
| | | // 作业类型 |
| | | S_TYPE = work.S_TYPE.Replace("入","出"), |
| | | // 起点货位 |
| | | S_START_LOC = work.CONNECTION, |
| | | // 起点库区编码 |
| | | S_START_AREA = work.CONNECTION_AREA, |
| | | //起点库区名称 |
| | | S_START_AREA_NAME = work.CONNECTION_AREA, |
| | | //接驳位 |
| | | CONNECTION = connection, |
| | | //接驳库区名称 |
| | | CONNECTION_AREA = connectionLoc.S_AREA_Name, |
| | | // 终点货位 |
| | | S_END_LOC = end.S_CODE, |
| | | // 终点库区编码 |
| | | S_END_AREA = end.S_AREA_CODE, |
| | | //终点库区名称 |
| | | S_END_AREA_NAME = end.S_AREA_Name, |
| | | // 容器编码 |
| | | S_CNTR_CODE = work.S_CNTR_CODE, |
| | | // 作业定义名称 |
| | | S_OP_DEF_NAME = workFlow.FLOWNAME, |
| | | //优先级 |
| | | N_PRIORITY = work.N_PRIORITY, |
| | | //工装类型 |
| | | TOOLSTYPE = work.TOOLSTYPE |
| | | }; |
| | | |
| | | //创建作业 |
| | | if (WMSHelper.CreateWmsWork(operation)) |
| | | { |
| | | if (connection != "") |
| | | { |
| | | LocationHelper.LockLoc(operation.S_START_LOC, "出库锁", 2); |
| | | LocationHelper.LockLoc(operation.S_END_LOC, "入库锁", 1); |
| | | LocationHelper.LockLoc(operation.CONNECTION, "入库锁", 1); |
| | | } |
| | | |
| | | LogHelper.Info($"异常出库作业创建成功{operation.S_CODE}", "Mes任务下发"); |
| | | } |
| | | else |
| | | { |
| | | LogHelper.Info($"异常出库任务下发创建作业失败", "Mes任务下发"); |
| | | throw new Exception($"异常出库任务下发创建作业失败"); |
| | | } |
| | | } |
| | | |
| | | |