opt:刻字输送线任务下发控制

This commit is contained in:
zhangzhiqiang
2023-08-25 16:01:17 +08:00
parent eeb28c7361
commit b10f1d806a
2 changed files with 41 additions and 37 deletions

View File

@@ -35,7 +35,7 @@ public class RedissonUtils {
if (isLock){ if (isLock){
process.process(); process.process();
} else { } else {
throw new BadRequestException("当前业务 key:"+key+"正在执行请稍后再试"); throw new BadRequestException("当前业务:"+key+"正在执行请稍后再试");
} }
}catch (Exception ex){ }catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();

View File

@@ -234,44 +234,48 @@ public class TmpKZController {
@Log("刻字任务重新下发") @Log("刻字任务重新下发")
@SaIgnore @SaIgnore
public ResponseEntity<Object> resend(@RequestBody JSONObject param){ public ResponseEntity<Object> resend(@RequestBody JSONObject param){
SchBaseTask baseTask = taskService.getById(param.getString("task_id")); RedissonUtils.lock(()->{
if (baseTask.getTask_status().equals(StatusEnum.TASK_FINISH.getCode())){ SchBaseTask baseTask = taskService.getById(param.getString("task_id"));
throw new BadRequestException("任务已经完成"); if (baseTask.getTask_status().equals(StatusEnum.TASK_FINISH.getCode())){
}; throw new BadRequestException("任务已经完成");
if (baseTask.getTask_type().equals(AcsTaskEnum.TASK_Engrave_CALL.getCode())){ };
//下发 if (baseTask.getTask_type().equals(AcsTaskEnum.TASK_Engrave_CALL.getCode())){
Map<String,String> qtyArr = JSONObject.parseObject(baseTask.getQtyArr(), Map.class); //下发
JSONObject jo = new JSONObject(); Map<String,String> qtyArr = JSONObject.parseObject(baseTask.getQtyArr(), Map.class);
jo.put("start_point_code", baseTask.getPoint_code1()); JSONObject jo = new JSONObject();
jo.put("task_code", baseTask.getTask_code()); jo.put("start_point_code", baseTask.getPoint_code1());
jo.put("all_weight", baseTask.getMaterial_qty().intValue()); jo.put("task_code", baseTask.getTask_code());
String[] to_sort_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; jo.put("all_weight", baseTask.getMaterial_qty().intValue());
String[] to_devices_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; String[] to_sort_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
String[] to_weight_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"}; String[] to_devices_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
List<String> sort = qtyArr.keySet().stream().sorted(Comparator.comparingInt(key -> Integer.valueOf(key.substring(key.lastIndexOf("_") + 1)))).collect(Collectors.toList()); String[] to_weight_array = {"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"};
for (int i1 = 0; i1 < sort.size(); i1++) { List<String> sort = qtyArr.keySet().stream().sorted(Comparator.comparingInt(key -> Integer.valueOf(key.substring(key.lastIndexOf("_") + 1)))).collect(Collectors.toList());
String key = sort.get(i1); for (int i1 = 0; i1 < sort.size(); i1++) {
to_sort_array[i1] = String.valueOf(i1+1); String key = sort.get(i1);
to_devices_array[i1] = String.valueOf(key); to_sort_array[i1] = String.valueOf(i1+1);
to_weight_array[i1] = String.valueOf(new BigDecimal(qtyArr.get(key))); to_devices_array[i1] = String.valueOf(key);
} to_weight_array[i1] = String.valueOf(new BigDecimal(qtyArr.get(key)));
jo.put("to_sort_array", Arrays.stream(to_sort_array).collect(Collectors.joining(","))); }
jo.put("to_devices_array",Arrays.stream(to_devices_array).collect(Collectors.joining(","))); jo.put("to_sort_array", Arrays.stream(to_sort_array).collect(Collectors.joining(",")));
jo.put("to_weight_array", Arrays.stream(to_weight_array).collect(Collectors.joining(","))); jo.put("to_devices_array",Arrays.stream(to_devices_array).collect(Collectors.joining(",")));
JSONObject result = wmsToAcsService.request(jo, "api/wms/engravingIn"); jo.put("to_weight_array", Arrays.stream(to_weight_array).collect(Collectors.joining(",")));
if (!result.getString("status").equals("200")){ JSONObject result = wmsToAcsService.request(jo, "api/wms/engravingIn");
log.error("刻字上料输送线任务下发异常:{}",result.getString("message")); if (!result.getString("status").equals("200")){
baseTask.setRemark(result.getString("message")); log.error("刻字上料输送线任务下发异常:{}",result.getString("message"));
baseTask.setTask_status(TaskStatusEnum.SURE_START_ERROR.getCode()); baseTask.setRemark(result.getString("message"));
taskService.updateById(baseTask); baseTask.setTask_status(TaskStatusEnum.SURE_START_ERROR.getCode());
throw new BadRequestException(result.getString("message")); taskService.updateById(baseTask);
throw new BadRequestException(result.getString("message"));
}else {
baseTask.setTask_status(TaskStatusEnum.ISSUE.getCode());
taskService.updateById(baseTask);
}
}else { }else {
baseTask.setTask_status(TaskStatusEnum.ISSUE.getCode()); throw new BadRequestException("搬运任务不允许直接下发");
taskService.updateById(baseTask); //taskService.operation(MapOf.of("method_name","immediateNotifyAcs","task_id",param.getString("task_id")));
} }
}else { },"刻字输送线下发",null);
taskService.operation(MapOf.of("method_name","immediateNotifyAcs","task_id",param.getString("task_id")));
}
return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
} }