|
|
@ -78,39 +78,45 @@ public class WmsToAcsServiceImpl implements WmsToAcsService { |
|
|
|
InstructionService instructionService = SpringContextHolder.getBean(InstructionService.class); |
|
|
|
CancelTaskResponse response = new CancelTaskResponse(); |
|
|
|
JSONArray errArr = new JSONArray(); |
|
|
|
log.info("cancelFromWms--------------:输入参数:{}",reqs); |
|
|
|
for (int i = 0; i < reqs.size(); i++) { |
|
|
|
CancelTaskRequest request = reqs.get(i); |
|
|
|
String task_code = request.getTask_code(); |
|
|
|
String vehicle_code = request.getVehicle_code(); |
|
|
|
Map<String, String> params = request.getParams(); |
|
|
|
if (StrUtil.isEmpty(task_code)) { |
|
|
|
throw new BadRequestException("任务号不能为空"); |
|
|
|
throw new BadRequestException(HttpStatus.OK,"任务号不能为空"); |
|
|
|
} |
|
|
|
TaskDto taskDto = taskService.findByCodeFromCache(task_code); |
|
|
|
String cancelTaskCheck = paramService.findByCode(AcsConfig.CANCELTASKCHECK).getValue(); |
|
|
|
if (ObjectUtil.isEmpty(taskDto)) { |
|
|
|
throw new BadRequestException(HttpStatus.OK,"没有找到该任务"); |
|
|
|
} |
|
|
|
//String cancelTaskCheck = paramService.findByCode(AcsConfig.CANCELTASKCHECK).getValue();
|
|
|
|
JSONObject json = new JSONObject(); |
|
|
|
//todo acs直接取消任务还是取消指令还是任务
|
|
|
|
if (StrUtil.equals(cancelTaskCheck, "1")) { |
|
|
|
taskService.cancelNoSendWms(taskDto.getTask_id()); |
|
|
|
} else if (StrUtil.equals(cancelTaskCheck, "0")) { |
|
|
|
// if (StrUtil.equals(cancelTaskCheck, "1")) {
|
|
|
|
// taskService.cancelNoSendWms(taskDto.getTask_id());
|
|
|
|
// } else if (StrUtil.equals(cancelTaskCheck, "0")) {
|
|
|
|
Instruction inst = instructionService.findByTaskcode(task_code); |
|
|
|
if (inst == null) { |
|
|
|
taskService.cancelNoSendWms(taskDto.getTask_id()); |
|
|
|
} else { |
|
|
|
throw new RuntimeException("指令正在执行中,操作失败!"); |
|
|
|
if (inst != null) { |
|
|
|
if (!StrUtil.isEmpty(inst.getExecute_status()) && Integer.parseInt(inst.getExecute_status())>=3){ |
|
|
|
throw new BadRequestException(HttpStatus.OK,"请求放货后无法取消任务"); |
|
|
|
} |
|
|
|
instructionService.cancel(inst.getInstruction_id()); |
|
|
|
} |
|
|
|
} |
|
|
|
taskService.cancelNoSendWms(taskDto.getTask_id()); |
|
|
|
// } else {
|
|
|
|
// throw new RuntimeException("指令正在执行中,操作失败!");
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
response.setStatus(200); |
|
|
|
if (ObjectUtil.isEmpty(errArr)) { |
|
|
|
response.setStatus(200); |
|
|
|
} else { |
|
|
|
response.setStatus(400); |
|
|
|
response.setMessage("success"); |
|
|
|
} |
|
|
|
response.setMessage("success"); |
|
|
|
response.setErrArr(errArr); |
|
|
|
log.info("cancelFromWms--------------:输出参数:" + response); |
|
|
|
|
|
|
|
return response; |
|
|
|
} |
|
|
|
|
|
|
|