opt:修改update方式只修改条件
This commit is contained in:
@@ -5,6 +5,7 @@ import cn.hutool.core.map.MapUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -100,6 +101,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
@SneakyThrows
|
||||
public Map<String, Object> secondaryAllocationPoint(String taskCode, String actionType) {
|
||||
String pointCode = "";
|
||||
String action = "";
|
||||
JSONObject result = new JSONObject();
|
||||
RLock lock = redissonClient.getLock(taskCode);
|
||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||
@@ -110,18 +112,21 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
case "2":
|
||||
// 取货分配, 放货分配
|
||||
pointCode = getNewPoint(taskCode, actionType);
|
||||
result.put("data", pointCode);
|
||||
result.put("message", taskCode + "取放货分配成功,新点位为:" + pointCode);
|
||||
break;
|
||||
case "3":
|
||||
case "4":
|
||||
// 取货完成,放货完成
|
||||
updatePointStatus(taskCode, actionType);
|
||||
action = taskCode + "取放货完成!";
|
||||
result.put("data", action);
|
||||
result.put("message", taskCode + "取放货完成!");
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
result.put("status", HttpStatus.OK.value());
|
||||
result.put("message", "操作成功!");
|
||||
result.put("data", pointCode);
|
||||
} else {
|
||||
log.info("一楼装箱区点位二次分配接口异常,正在分配中!");
|
||||
result.put("status", HttpStatus.BAD_REQUEST.value());
|
||||
@@ -181,20 +186,22 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
}
|
||||
//分配的点位
|
||||
if (newPoint != null) {
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, baseTask.getTask_id());
|
||||
if (StringUtils.isNotBlank(newPoint.getPoint_code())) {
|
||||
//更新任务起点或终点
|
||||
if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货分配").equals(actionType)) {
|
||||
baseTask.setPoint_code1(newPoint.getPoint_code());
|
||||
updateWrapper.set(SchBaseTask::getPoint_code1, newPoint.getPoint_code());
|
||||
if (StringUtils.isNotBlank(newPoint.getContainer_name())) {
|
||||
//更新子卷号
|
||||
baseTask.setVehicle_code(newPoint.getContainer_name());
|
||||
updateWrapper.set(SchBaseTask::getVehicle_code,newPoint.getContainer_name());
|
||||
}
|
||||
} else if (PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货分配").equals(actionType)) {
|
||||
baseTask.setPoint_code2(newPoint.getPoint_code());
|
||||
updateWrapper.set(SchBaseTask::getPoint_code2,newPoint.getPoint_code());
|
||||
}
|
||||
//标记二次分配已分配过点位
|
||||
baseTask.setResponse_param(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
taskService.updateById(baseTask);
|
||||
updateWrapper.set(SchBaseTask::getResponse_param,IOSEnum.IS_NOTANDYES.code("是"));
|
||||
taskService.update(null, updateWrapper);
|
||||
log.info("一楼装箱区二次分配" + taskCode + ",接口返回最新点位:---------------------------------------------" + newPoint.getPoint_code());
|
||||
return newPoint.getPoint_code();
|
||||
} else {
|
||||
@@ -556,7 +563,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
UpdateWrapper<SchBaseTask> updateWrapper1 = new UpdateWrapper<>();
|
||||
updateWrapper1.eq("task_id", baseTask.getTask_id());
|
||||
updateWrapper1.set("car_no", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成"));
|
||||
taskService.update(updateWrapper1);
|
||||
taskService.update(null,updateWrapper1);
|
||||
log.info("一楼装箱区二次放货完成" + baseTask.getTask_code() + ",放货完成执行成功,放货信息:点位:" + baseTask.getPoint_code2() + "子卷号为:" + baseTask.getVehicle_code());
|
||||
} else {
|
||||
throw new BadRequestException("该点位已有库存!");
|
||||
@@ -580,7 +587,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
UpdateWrapper<SchBaseTask> updateWrapper1 = new UpdateWrapper<>();
|
||||
updateWrapper1.eq("task_id", baseTask.getTask_id());
|
||||
updateWrapper1.set("request_param", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"));
|
||||
taskService.update(updateWrapper1);
|
||||
taskService.update(null,updateWrapper1);
|
||||
log.info("一楼装箱区二次分配取货完成" + baseTask.getTask_code() + ",取货完成信号接收成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code());
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,8 @@ public class DjqTask extends AbstractAcsTask {
|
||||
private IschBaseTaskService taskService;
|
||||
@Resource
|
||||
private IbstIvtPackageinfoivtService packageinfoivtService;
|
||||
|
||||
|
||||
@Resource
|
||||
private TaskQueueManager taskQueueManager;
|
||||
|
||||
@@ -89,33 +91,45 @@ public class DjqTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
//1.改变起点点位状态,满轴->待检,二次分配取货完成信号发送就改起点库存
|
||||
//packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
//1.改变起点点位状态,满轴->待检,二次分配取货完成信号发送就改起点库存,检查起点库存是否清空
|
||||
BstIvtPackageinfoivt ivtPoint = packageinfoivtService.getOne(new LambdaUpdateWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getPoint_code, schBaseTask.getPoint_code1()));
|
||||
//如果起点库存未清空,则清空
|
||||
if (ivtPoint.getContainer_name().equals(schBaseTask.getVehicle_code())) {
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
}
|
||||
//2.更新终点库存记录
|
||||
String ivtStatus;
|
||||
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
||||
if (schBaseTask.getRequest_param().equals("99")) {
|
||||
if (schBaseTask.getRequest_param().equals("98")) {
|
||||
//管制区送空载具任务
|
||||
ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("空载具");
|
||||
}
|
||||
else if (schBaseTask.getRequest_param().equals("99")) {
|
||||
//管制品重新质检
|
||||
ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("合格品");
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
} else {
|
||||
ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("有子卷");
|
||||
}
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
} else {
|
||||
ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("有子卷");
|
||||
}
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", ivtStatus).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", ivtStatus).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//4.清除首次分配目标点位
|
||||
schBaseTask.setPoint_code3("");
|
||||
updateWrapper.set(SchBaseTask::getPoint_code3, "");
|
||||
//5.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定起点未下发
|
||||
@@ -141,11 +155,11 @@ public class DjqTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
@@ -158,9 +172,9 @@ public class DjqTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("业务类型不能为空");
|
||||
}
|
||||
String vehicleCode = form.getString("vehicle_code");
|
||||
if (StrUtil.isBlank(vehicleCode)) {
|
||||
throw new BadRequestException("载具号不能为空");
|
||||
}
|
||||
// if (StrUtil.isBlank(vehicleCode)) {
|
||||
// throw new BadRequestException("载具号不能为空");
|
||||
// }
|
||||
String pointCode1 = form.getString("point_code1");
|
||||
if (StrUtil.isBlank(pointCode1)) {
|
||||
throw new BadRequestException("起点不能为空");
|
||||
@@ -233,11 +247,16 @@ public class DjqTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("满轴缓存位 -> 待检区取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -86,21 +86,25 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
//1.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//4.清除首次分配目标点位
|
||||
schBaseTask.setPoint_code4("");
|
||||
updateWrapper.set(SchBaseTask::getPoint_code4, "");
|
||||
//3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定终点未下发
|
||||
@@ -123,11 +127,11 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -191,6 +195,7 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -198,13 +203,20 @@ public class DjqToKzjhcwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("待检区->空载具缓存位取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// /**
|
||||
// * 装箱区->空载具缓存位补空
|
||||
// */
|
||||
|
||||
@@ -84,20 +84,25 @@ public class GzqTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("管制品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
||||
|
||||
//1.改变起点点位状态
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("管制品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//3.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定起点未下发
|
||||
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
||||
@@ -120,11 +125,11 @@ public class GzqTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -188,6 +193,8 @@ public class GzqTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -195,10 +202,20 @@ public class GzqTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("满轴缓存位 -> 管制区取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -88,21 +88,25 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//清除首次分配目标点位
|
||||
schBaseTask.setPoint_code4("");
|
||||
//更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//1.改变起点点位状态
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//4.清除首次分配目标点位
|
||||
updateWrapper.set(SchBaseTask::getPoint_code4, "");
|
||||
//3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务
|
||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||
// //确定终点未下发
|
||||
@@ -125,11 +129,11 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -193,6 +197,7 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -200,12 +205,19 @@ public class GzqToKzjhcwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("管制区->空载具缓存位取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -112,25 +112,29 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
// 执行中
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
// 完成
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//2.更新库存记录
|
||||
// packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
// packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.任务一、待检区AGV搬运任务,查询子卷信息,去分切计划表查找定级数据,桁架任务完成根据子卷定级创建AGV任务将满轴搬运至质检区或管制区
|
||||
//createTaskToDjq(schBaseTask);
|
||||
//4.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务
|
||||
// if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) {
|
||||
//四个点任务,改变pointCode3点位状态
|
||||
// packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code3()));
|
||||
// packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code3()));
|
||||
//校验任务是否存在
|
||||
// List<String> taskTypes = new ArrayList<>(Collections.singletonList(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")));
|
||||
// List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
||||
@@ -158,13 +162,13 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
if (Integer.parseInt(schBaseTask.getTask_status()) > Integer.parseInt(TaskStatusEnum.ISSUE.getCode())) {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
// 更新任务表删除字段
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
private void sendVehicle(SchBaseTask schBaseTask) {
|
||||
@@ -352,6 +356,8 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -359,12 +365,22 @@ public class MzhcwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("输送线点位 -> 满轴缓存位取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -18,7 +18,6 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -82,20 +81,24 @@ public class SendDjqKzjTask extends AbstractAcsTask {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//3.更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
//1.改变起点点位状态
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
}
|
||||
// 取消
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
@@ -103,11 +106,11 @@ public class SendDjqKzjTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -178,11 +181,16 @@ public class SendDjqKzjTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("装箱区->待检区送空载具取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -83,19 +82,23 @@ public class SendGzqKzjTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//3.更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
//1.改变起点点位状态
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
}
|
||||
// 取消
|
||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||
@@ -103,11 +106,11 @@ public class SendGzqKzjTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -178,12 +181,22 @@ public class SendGzqKzjTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("装箱区->管制区送空载具取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -86,17 +86,21 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
//packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//packageinfoivtService.update(null,new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//3.空载具缓存位到输送线送空任务完成,去待检区或管制区补空载具
|
||||
// List<BstIvtPackageinfoivt> zxqPointList = packageinfoivtService
|
||||
// .list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||
@@ -120,11 +124,11 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -186,6 +190,9 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
updateTaskStatus(JSONObject.parseObject(JSON.toJSONString(schBaseTask)), TaskStatusEnum.FINISHED.getCode());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -193,10 +200,24 @@ public class SsxDjwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("空载具缓存位 -> 输送线取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark,"任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null,updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||
@@ -99,14 +98,18 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper<PdmBiSlittingproductionplan>()
|
||||
.eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code()));
|
||||
if (containerInfo == null) {
|
||||
@@ -114,11 +117,8 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
} else if (StrUtil.isEmpty(containerInfo.getContainer_name())) {
|
||||
throw new BadRequestException("子卷号不能为空!");
|
||||
}
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//3.判断是否最后一个子卷:相同木箱号的子卷包装关系如果生成状态:0,且个数等于1且子卷号等于当前载具号,就是最后一个子卷
|
||||
|
||||
//1.判断是否最后一个子卷:相同木箱号的子卷包装关系如果生成状态:0,且个数等于1且子卷号等于当前载具号,就是最后一个子卷
|
||||
List<PdmBiSubpackagerelation> packagerelationList = subpackageRelationService.list(new LambdaQueryWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getPackage_box_sn, schBaseTask.getVehicle_code2()).eq(PdmBiSubpackagerelation::getStatus, "0"));
|
||||
if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) {
|
||||
//4.更改木箱信息为已装箱:1
|
||||
@@ -129,13 +129,17 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
bstIvtBoxinfo.setIs_packing(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
bstIvtBoxinfoMapper.updateById(bstIvtBoxinfo);
|
||||
//5.最后一个子卷,清除装箱位木箱信息
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
}
|
||||
//6.改变子卷包装状态为已装箱:1
|
||||
PdmBiSubpackagerelation pdmBiSubpackagerelation = subpackageRelationService
|
||||
.getOne(new LambdaUpdateWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getContainer_name, schBaseTask.getVehicle_code()), false);
|
||||
pdmBiSubpackagerelation.setStatus(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
subpackageRelationService.updateById(pdmBiSubpackagerelation);
|
||||
//2.更改任务状态为完成
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//3.改变起点点位状态
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//创建装箱区->空载具缓存位补空任务
|
||||
//kzjhcwTask.toKzjHcw(schBaseTask.getPoint_code1());
|
||||
}
|
||||
@@ -145,11 +149,11 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
@@ -214,6 +218,7 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
updateTaskStatus(JSONObject.parseObject(JSON.toJSONString(schBaseTask)), TaskStatusEnum.FINISHED.getCode());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -221,10 +226,22 @@ public class ZxDjwTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("装箱区 -> 装箱对接位取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.system.service.param.ISysParamService;
|
||||
import org.nl.wms.sch.AcsTaskDto;
|
||||
@@ -111,10 +110,14 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
public void updateTaskStatus(JSONObject taskObj, String status) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false);
|
||||
if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return;
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskObj.getString("task_id"))
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
if (TaskStatusEnum.EXECUTING.getCode().equals(status)) {
|
||||
// 更新任务状态为执行中
|
||||
schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode());
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||
}
|
||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||
@@ -125,12 +128,12 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
// } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) {
|
||||
// throw new BadRequestException("子卷号不能为空!");
|
||||
// }
|
||||
//1.更改任务状态为完成
|
||||
schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
//2.改变起点点位状态
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//更新库存记录
|
||||
packageinfoivtService.update(new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("合格品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//1.改变起点点位状态
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||
//2.更新库存记录
|
||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("合格品")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2()));
|
||||
//3.更改任务状态为完成
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||
//3.查询子卷对应的包装关系表,判断装箱位的木箱号是否为子卷对应的木箱号,是,创建搬运任务到装箱对接位位桁架任务,否,什么都不做
|
||||
//zxqToZxw(schBaseTask);
|
||||
}
|
||||
@@ -140,11 +143,11 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
throw new BadRequestException("任务已执行不能取消");
|
||||
}
|
||||
//任务被标记为取消
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。");
|
||||
}
|
||||
taskService.update(schBaseTask);
|
||||
taskService.update(null, updateWrapper);
|
||||
|
||||
}
|
||||
|
||||
@@ -344,6 +347,7 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
updateTaskStatus(JSONObject.parseObject(JSON.toJSONString(schBaseTask)), TaskStatusEnum.FINISHED.getCode());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void cancel(String taskId) {
|
||||
SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper<SchBaseTask>()
|
||||
@@ -351,11 +355,17 @@ public class ZxqTask extends AbstractAcsTask {
|
||||
if (schBaseTask == null) {
|
||||
throw new BadRequestException("待检区 -> 装箱区取消接口任务号为空!");
|
||||
}
|
||||
TaskUtils.updateOptMessageByTask(schBaseTask);
|
||||
schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是"));
|
||||
schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode());
|
||||
schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(schBaseTask);
|
||||
LambdaUpdateWrapper<SchBaseTask> updateWrapper = new LambdaUpdateWrapper<SchBaseTask>()
|
||||
.eq(SchBaseTask::getTask_id, taskId)
|
||||
.set(SchBaseTask::getUpdate_optid, SecurityUtils.getCurrentUserId())
|
||||
.set(SchBaseTask::getUpdate_optname, SecurityUtils.getCurrentUsername())
|
||||
.set(SchBaseTask::getUpdate_time, DateUtil.now());
|
||||
//任务被标记为取消
|
||||
updateWrapper.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是"));
|
||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.CANCEL.getCode());
|
||||
updateWrapper.set(SchBaseTask::getRemark, "任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。");
|
||||
taskService.update(null, updateWrapper);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||
import org.redisson.api.RLock;
|
||||
import org.redisson.api.RedissonClient;
|
||||
@@ -50,7 +50,43 @@ public class AutoSendGzqToDjq {
|
||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
//管制区有合格品且过滤未完成任务
|
||||
//临时管制区135、136->待检区送空载具任务
|
||||
JSONObject task1 = new JSONObject();
|
||||
String pointCode3;
|
||||
String pointCode4;
|
||||
List<BstIvtPackageinfoivt> gzqIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("空载具"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), "");
|
||||
//todo 新增NG卷放置临时管制区107108,只取空不补空
|
||||
List<BstIvtPackageinfoivt> ivtLists =
|
||||
gzqIvtList.stream()
|
||||
.filter(r -> r.getPoint_code().equals("ZXQ_135") || r.getPoint_code().equals("ZXQ_136"))
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(ivtLists)) {
|
||||
pointCode3 = gzqIvtList.get(0).getPoint_code();
|
||||
if (StringUtils.isBlank(pointCode3)) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
List<BstIvtPackageinfoivt> packageList;
|
||||
packageList = packageinfoivtService.checkEndPointTask(
|
||||
PackageInfoIvtEnum.POINT_STATUS.code("待检区"),
|
||||
PackageInfoIvtEnum.IVT_STATUS.code("空"),
|
||||
PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"),
|
||||
PackageInfoIvtEnum.SORT_TYPE.code("升序"),
|
||||
""
|
||||
);
|
||||
|
||||
if (CollectionUtils.isNotEmpty(packageList)) {
|
||||
pointCode4 = packageList.get(0).getPoint_code();
|
||||
task1.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("管制区->待检区"));
|
||||
task1.put("vehicle_code2", PackageInfoIvtEnum.AGV_ACTION_TYPE.code("普通任务"));
|
||||
task1.put("point_code1", pointCode3);
|
||||
task1.put("point_code2", pointCode4);
|
||||
task1.put("request_param", "98");
|
||||
djqTask.createTask(task1);
|
||||
}
|
||||
//管制区->待检区送合格品任务
|
||||
List<BstIvtPackageinfoivt> gzqPackageinfoivtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("管制区"), PackageInfoIvtEnum.IVT_STATUS.code("合格品"), PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), "");
|
||||
if (CollectionUtils.isEmpty(gzqPackageinfoivtList)) {
|
||||
return;
|
||||
|
||||
@@ -5,6 +5,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt;
|
||||
import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper;
|
||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||
@@ -91,8 +92,9 @@ public class AutoSendVehicleToKzj {
|
||||
boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS);
|
||||
try {
|
||||
if (tryLock) {
|
||||
|
||||
JSONObject task = new JSONObject();
|
||||
String pointCode1 = null;
|
||||
String pointCode1;
|
||||
String pointCode2;
|
||||
//todo 只允许2个补空任务,后期需要根据区域动态获取任务数量
|
||||
List<String> taskTypes = new ArrayList<>(Arrays.asList(PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")));
|
||||
@@ -103,7 +105,7 @@ public class AutoSendVehicleToKzj {
|
||||
List<BstIvtPackageinfoivt> kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, PackageInfoIvtEnum.TASK_POINT_TYPE.code("空载具放货"), PackageInfoIvtEnum.SORT_TYPE.code("降序"), PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"));
|
||||
if (CollectionUtils.isNotEmpty(kzjIvtList)) {
|
||||
pointCode2 = kzjIvtList.get(0).getPoint_code();
|
||||
if (pointCode2 == null) {
|
||||
if (StringUtils.isBlank(pointCode2)) {
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user