| | |
| | | |
| | | try |
| | | { |
| | | |
| | | var taskNo = ""; |
| | | |
| | | if (string.IsNullOrEmpty(model.requestPk)) |
| | |
| | | throw new Exception("未查询到对应的任务"); |
| | | } |
| | | |
| | | if (transportTask.S_B_STATE == "完成" || transportTask.S_B_STATE == "取消") |
| | | { |
| | | throw new Exception($"{transportTask}任务已{transportTask.S_B_STATE},不允许操作"); |
| | | } |
| | | |
| | | |
| | | |
| | | TaskHelper.WcsAddActionRecord(model.requestPk, model.noticeType, "WCS"); |
| | | |
| | | switch (model.noticeType) |
| | |
| | | if (agvTask == null) |
| | | { |
| | | LogHelper.Info($"RFID校验失败,没找到对应{transportTask.S_OP_CODE}的agv任务", "Wcs任务执行通知"); |
| | | throw new Exception($"RFID校验失败,没找到对应{transportTask.S_OP_CODE }的agv任务"); |
| | | throw new Exception($"RFID校验失败,没找到对应{transportTask.S_OP_CODE}的agv任务"); |
| | | } |
| | | var workFlow = TaskHelper.selectWorkFlowByType(agvTask.N_TYPE.ToString(), agvTask.TOOLSTYPE); |
| | | |
| | | if (workFlow == null) |
| | | { |
| | | LogHelper.Info($"RFID校验失败,没找到对应作业流程", "Wcs任务执行通知"); |
| | | throw new Exception($"RFID校验失败,没找到对应作业流程"); |
| | | } |
| | | |
| | | if (workFlow == null) |
| | | { |
| | | LogHelper.Info($"RFID校验失败,没找到对应作业流程", "Wcs任务执行通知"); |
| | | throw new Exception($"RFID校验失败,没找到对应作业流程"); |
| | | } |
| | | //查找终点 |
| | | var endList = LocationHelper.GetAllLocList1(workFlow.ERRORAREA); |
| | | |
| | | //var end = LocationHelper.FindBalanceEndcolByLocList(endList, workFlow.ERRORAREA,workFlow.ROADWAY); |
| | | var end = LocationHelper.FindEndcolByLoc(endList, workFlow.ERRORAREA); |
| | | var end = LocationHelper.FindEndcolByLoc(endList, workFlow.ERRORAREA); |
| | | LogHelper.Info($"RFID校验失败下发异常终点信息" + JsonConvert.SerializeObject(end), "Wcs任务执行通知"); |
| | | |
| | | |
| | |
| | | agvTask.S_TYPE = workFlow.FLOWNAME; |
| | | |
| | | newDb.BeginTran(); |
| | | var I = newDb.Updateable(agvTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA,it.S_END_LOC,it.S_END_AREA,it.S_TYPE,it.S_B_STATE, it.S_START_AREA_NAME, it.S_END_AREA_NAME }).ExecuteCommand(); |
| | | var I = newDb.Updateable(agvTask).UpdateColumns(it => new { it.S_START_LOC, it.S_START_AREA, it.S_END_LOC, it.S_END_AREA, it.S_TYPE, it.S_B_STATE, it.S_START_AREA_NAME, it.S_END_AREA_NAME }).ExecuteCommand(); |
| | | if (I == 0) |
| | | { |
| | | throw new Exception("修改任务表失败"); |
| | | } |
| | | newDb.CommitTran(); |
| | | } |
| | | else { |
| | | LogHelper.Info($"RFID校验失败,通知Wcs取消任务失败", "Wcs任务执行通知"); |
| | | throw new Exception($"RFID校验失败,通知Wcs取消任务失败"); |
| | | } |
| | | } |
| | | newDb.BeginTran(); |
| | |
| | | |
| | | //7取消 |
| | | case "7": |
| | | if (transportTask.S_B_STATE=="完成") |
| | | { |
| | | throw new Exception($"{transportTask}任务已完成,不允许取消"); |
| | | } |
| | | |
| | | LogHelper.Info($"任务号{transportTask.S_CODE},取消任务成功", "Wcs任务执行通知"); |
| | | TaskHelper.Fail(transportTask); |
| | | TaskProcess.OperateStatus(transportTask, 7); |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | newDb.RollbackTran(); |
| | | |
| | | |
| | | LogHelper.Info("Wcs任务执行通知异常" + ex.Message, "Wcs任务执行通知"); |
| | | result.msg = "Wcs任务执行通知异常"; |
| | | result.code = "1"; |
| | | result.requestPk = model.requestPk; |
| | | LogHelper.Info("Wcs任务执行通知异常" + ex.Message, "Wcs任务执行通知"); |
| | | newDb.RollbackTran(); |
| | | return result; |
| | | } |
| | | return result; |
| | |
| | | else { |
| | | bit = mst.S_END_LOC; |
| | | } |
| | | |
| | | |
| | | //退库取消发agv起点 |
| | | if (LocationHelper.GetErroArea(mst.S_END_AREA)) |
| | | { |
| | | bit = mst.S_START_LOC; |
| | | } |
| | | |
| | | |
| | | Meshod = "AgvRequestCancel"; |
| | | break; |
| | | } |
| | |
| | | var agvTask = TaskHelper.GetTaskByWorkNo(task.S_OP_CODE, "agv"); |
| | | if (agvTask != null) |
| | | { |
| | | if (agvTask.S_B_STATE!="未执行") |
| | | { |
| | | NDCApi.CancelOrder(agvTask.S_CODE.Trim()); |
| | | } |
| | | TaskHelper.Fail(agvTask); |
| | | NDCApi.CancelOrder(agvTask.S_CODE.Trim()); |
| | | TaskProcess.CacheBitCancelUpdate(agvTask); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | result.msg = "Wcs放货有货/取货无货处理成功"; |
| | | result.code = "0"; |
| | | result.requestPk = model.requestPk; |
| | | return result; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | public static WcsWarningReurn agvResponse(agvResponseParme model) { |
| | | var result = new WcsWarningReurn(); |
| | | var newDb = new SqlHelper<object>().GetInstance(); |
| | | |
| | | try |
| | | { |
| | | newDb.BeginTran(); |
| | |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | |