Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -102,15 +102,25 @@ public class DjqTask extends AbstractAcsTask {
|
|||||||
}
|
}
|
||||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||||
//1.改变起点点位状态,满轴->待检,二次分配取货完成信号发送就改起点库存,检查起点库存是否清空
|
//1.校验agv任务取货完成信号
|
||||||
|
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
||||||
|
//agv取货完成信号未发送
|
||||||
|
if (!schBaseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->满轴位-待检区,agv取货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//agv取货完成信号未发送
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->满轴位-待检区,agv取货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
//2.改变起点点位状态,满轴位->待检区,二次分配取货完成信号发送就改起点库存,检查起点库存是否清空
|
||||||
BstIvtPackageinfoivt ivtPoint = packageinfoivtService.getOne(new LambdaUpdateWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getPoint_code, schBaseTask.getPoint_code1()));
|
BstIvtPackageinfoivt ivtPoint = packageinfoivtService.getOne(new LambdaUpdateWrapper<BstIvtPackageinfoivt>().eq(BstIvtPackageinfoivt::getPoint_code, schBaseTask.getPoint_code1()));
|
||||||
//如果起点库存未清空,则清空
|
//如果起点库存未清空,则清空
|
||||||
if (ivtPoint.getContainer_name() != null && schBaseTask.getVehicle_code() != null) {
|
if (ivtPoint.getContainer_name() != null && schBaseTask.getVehicle_code() != null) {
|
||||||
if (ivtPoint.getContainer_name().equals(schBaseTask.getVehicle_code())) {
|
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()));
|
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//2.更新终点库存记录
|
//3.更新终点库存记录
|
||||||
String ivtStatus;
|
String ivtStatus;
|
||||||
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
||||||
if (schBaseTask.getRequest_param().equals("98")) {
|
if (schBaseTask.getRequest_param().equals("98")) {
|
||||||
@@ -127,11 +137,11 @@ public class DjqTask extends AbstractAcsTask {
|
|||||||
ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("有子卷");
|
ivtStatus = PackageInfoIvtEnum.IVT_STATUS.code("有子卷");
|
||||||
}
|
}
|
||||||
packageinfoivtService.update(null,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.更改任务状态为完成
|
//4.更改任务状态为完成
|
||||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||||
//4.清除首次分配目标点位
|
//5.清除首次分配目标点位
|
||||||
updateWrapper.set(SchBaseTask::getPoint_code3, "");
|
updateWrapper.set(SchBaseTask::getPoint_code3, "");
|
||||||
//5.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
//6.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务
|
||||||
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
// List<SchBaseTask> taskList = taskService.list(new LambdaQueryWrapper<SchBaseTask>()
|
||||||
// //确定起点未下发
|
// //确定起点未下发
|
||||||
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
// .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode())
|
||||||
|
|||||||
@@ -126,35 +126,56 @@ public class MzhcwTask extends AbstractAcsTask {
|
|||||||
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||||
//1.更改任务状态为完成
|
//1.更改任务状态为完成
|
||||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||||
//2.更新库存记录
|
//2.校验桁架任务取放货完成信号
|
||||||
|
if (StringUtils.isNotBlank(schBaseTask.getCar_no())) {
|
||||||
|
//桁架取货完成信号未发送
|
||||||
|
if (!schBaseTask.getCar_no().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成"))) {
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->输送线点位-满轴缓存位,桁架放货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//桁架取货完成信号未发送
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->输送线点位-满轴缓存位,桁架放货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) {
|
||||||
|
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
||||||
|
//桁架取货完成信号未发送
|
||||||
|
if (!schBaseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->四个点任务,桁架取货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//桁架取货完成信号未发送
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->四个点任务,桁架取货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//3.更新库存记录
|
||||||
// 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()));
|
// 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任务将满轴搬运至质检区或管制区
|
//4.任务一、待检区AGV搬运任务,查询子卷信息,去分切计划表查找定级数据,桁架任务完成根据子卷定级创建AGV任务将满轴搬运至质检区或管制区
|
||||||
//createTaskToDjq(schBaseTask);
|
//createTaskToDjq(schBaseTask);
|
||||||
//4.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务
|
//5.创建空载具到输送线任务,完成后需要创建空载具缓存位->输送线任务
|
||||||
// if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) {
|
// if (schBaseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务"))) {
|
||||||
//四个点任务,改变pointCode3点位状态
|
//四个点任务,改变pointCode3点位状态
|
||||||
// packageinfoivtService.update(null,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<String> taskTypes = new ArrayList<>(Collections.singletonList(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")));
|
||||||
// List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
// List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
||||||
// if (CollectionUtils.isEmpty(existTask)) {
|
// if (CollectionUtils.isEmpty(existTask)) {
|
||||||
// List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
// List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
||||||
// .list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
// .list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||||
// .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
// .eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||||
// .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
// .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||||
// .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
// .eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
||||||
// .orderByDesc(BstIvtPackageinfoivt::getSort_seq));
|
// .orderByDesc(BstIvtPackageinfoivt::getSort_seq));
|
||||||
// JSONObject toSsxTask = new JSONObject();
|
// JSONObject toSsxTask = new JSONObject();
|
||||||
// toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
// toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务"));
|
||||||
// toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
// toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"));
|
||||||
// toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code());
|
// toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code());
|
||||||
// //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具
|
// //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具
|
||||||
// toSsxTask.put("task_status", TaskStatusEnum.SURE_END.getCode());
|
// toSsxTask.put("task_status", TaskStatusEnum.SURE_END.getCode());
|
||||||
// //终点为输送线点位
|
// //终点为输送线点位
|
||||||
// toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
// toSsxTask.put("point_code2", schBaseTask.getPoint_code1());
|
||||||
// ssxDjwTask.createTask(toSsxTask);
|
// ssxDjwTask.createTask(toSsxTask);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
// 取消
|
// 取消
|
||||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService;
|
||||||
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
import org.nl.b_lms.sch.task.dao.SchBaseTask;
|
||||||
import org.nl.b_lms.sch.task.dto.SchBaseTaskVO;
|
import org.nl.b_lms.sch.task.dto.SchBaseTaskVO;
|
||||||
@@ -94,12 +95,22 @@ public class SsxDjwTask extends AbstractAcsTask {
|
|||||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode());
|
||||||
}
|
}
|
||||||
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
|
||||||
log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------");
|
log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------");
|
||||||
//1.更改任务状态为完成
|
//1.更改任务状态为完成
|
||||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||||
//2.改变起点点位状态
|
//2.校验桁架任务取货完成信号
|
||||||
|
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
||||||
|
//桁架取货完成信号未发送
|
||||||
|
if (!schBaseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->空载具缓存位-输送线,桁架取货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//桁架取货完成信号未发送
|
||||||
|
log.info(schBaseTask.getTask_code() + "检查检查->空载具缓存位-输送线,桁架取货完成信号未发送!!!");
|
||||||
|
}
|
||||||
|
//3.改变起点点位状态
|
||||||
//packageinfoivtService.update(null,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.空载具缓存位到输送线送空任务完成,去待检区或管制区补空载具
|
//4.空载具缓存位到输送线送空任务完成,去待检区或管制区补空载具
|
||||||
// List<BstIvtPackageinfoivt> zxqPointList = packageinfoivtService
|
// List<BstIvtPackageinfoivt> zxqPointList = packageinfoivtService
|
||||||
// .list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
// .list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||||
// .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("装箱区"))
|
// .eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("装箱区"))
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService;
|
||||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan;
|
||||||
@@ -27,17 +26,22 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
|||||||
import org.nl.common.enums.PackageInfoIvtEnum;
|
import org.nl.common.enums.PackageInfoIvtEnum;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.modules.common.exception.BadRequestException;
|
import org.nl.modules.common.exception.BadRequestException;
|
||||||
|
import org.nl.modules.common.utils.RedisUtils;
|
||||||
import org.nl.wms.sch.AcsTaskDto;
|
import org.nl.wms.sch.AcsTaskDto;
|
||||||
import org.nl.wms.sch.manage.AbstractAcsTask;
|
import org.nl.wms.sch.manage.AbstractAcsTask;
|
||||||
import org.nl.wms.sch.manage.TaskStatusEnum;
|
import org.nl.wms.sch.manage.TaskStatusEnum;
|
||||||
import org.nl.wms.util.TaskUtil;
|
import org.nl.wms.util.TaskUtil;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ThreadPoolExecutor;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 6 目标装箱对接位, 装箱区 -> 装箱对接位,桁架任务
|
* 6 目标装箱对接位, 装箱区 -> 装箱对接位,桁架任务
|
||||||
@@ -46,10 +50,14 @@ import java.util.List;
|
|||||||
* @since 2024-02-01
|
* @since 2024-02-01
|
||||||
*/
|
*/
|
||||||
@Service()
|
@Service()
|
||||||
@RequiredArgsConstructor
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ZxDjwTask extends AbstractAcsTask {
|
public class ZxDjwTask extends AbstractAcsTask {
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
@Qualifier("threadPoolExecutor")
|
||||||
|
private ThreadPoolExecutor pool;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private AutoSendVehicleToDjq autoSendVehicleToDjq;
|
private AutoSendVehicleToDjq autoSendVehicleToDjq;
|
||||||
@Resource
|
@Resource
|
||||||
@@ -63,6 +71,9 @@ public class ZxDjwTask extends AbstractAcsTask {
|
|||||||
@Resource
|
@Resource
|
||||||
private IPdmBiSlittingproductionplanService productionPlanService;
|
private IPdmBiSlittingproductionplanService productionPlanService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private RedisUtils redisUtils;
|
||||||
|
private static final String NUM_KEY = "AutoSendZxToDjw:NUM";
|
||||||
private final String THIS_CLASS = ZxDjwTask.class.getName();
|
private final String THIS_CLASS = ZxDjwTask.class.getName();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -120,31 +131,32 @@ public class ZxDjwTask extends AbstractAcsTask {
|
|||||||
} else if (StrUtil.isEmpty(containerInfo.getContainer_name())) {
|
} else if (StrUtil.isEmpty(containerInfo.getContainer_name())) {
|
||||||
throw new BadRequestException("子卷号不能为空!");
|
throw new BadRequestException("子卷号不能为空!");
|
||||||
}
|
}
|
||||||
//1.判断是否最后一个子卷:相同木箱号的子卷包装关系如果生成状态:0,且个数等于1且子卷号等于当前载具号,就是最后一个子卷
|
//1.更改任务状态为完成
|
||||||
|
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
||||||
|
//2.改变起点点位状态
|
||||||
|
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
||||||
|
//3.判断是否最后一个子卷:相同木箱号的子卷包装关系如果生成状态:0,且个数等于1且子卷号等于当前载具号,就是最后一个子卷
|
||||||
List<PdmBiSubpackagerelation> packagerelationList = subpackageRelationService.list(new LambdaQueryWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getPackage_box_sn, schBaseTask.getVehicle_code2()).eq(PdmBiSubpackagerelation::getStatus, "0"));
|
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())) {
|
if (packagerelationList.size() == 1 && packagerelationList.get(0).getContainer_name().equals(schBaseTask.getVehicle_code())) {
|
||||||
//2.更改木箱信息为已装箱:1
|
//4.更改木箱信息为已装箱:1
|
||||||
BstIvtBoxinfo bstIvtBoxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper<BstIvtBoxinfo>().eq(BstIvtBoxinfo::getBox_no, schBaseTask.getVehicle_code2()).ne(BstIvtBoxinfo::getIs_packing, "1"));
|
BstIvtBoxinfo bstIvtBoxinfo = bstIvtBoxinfoMapper.selectOne(new LambdaQueryWrapper<BstIvtBoxinfo>().eq(BstIvtBoxinfo::getBox_no, schBaseTask.getVehicle_code2()).ne(BstIvtBoxinfo::getIs_packing, "1"));
|
||||||
if (bstIvtBoxinfo == null) {
|
if (bstIvtBoxinfo == null) {
|
||||||
throw new BadRequestException("子卷包装关系为已装箱或找该任务的木箱号不存在!");
|
throw new BadRequestException("子卷包装关系为已装箱或找该任务的木箱号不存在!");
|
||||||
}
|
}
|
||||||
bstIvtBoxinfo.setIs_packing(IOSEnum.IS_NOTANDYES.code("是"));
|
bstIvtBoxinfo.setIs_packing(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
bstIvtBoxinfoMapper.updateById(bstIvtBoxinfo);
|
bstIvtBoxinfoMapper.updateById(bstIvtBoxinfo);
|
||||||
//3.最后一个子卷,清除装箱位木箱信息
|
//5.最后一个子卷,清除装箱位木箱信息
|
||||||
packageinfoivtService.update(null, 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()));
|
||||||
//4.创建装箱区->待检区或管制区补空任务
|
//清除最后一个子卷计数
|
||||||
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
redisUtils.set(NUM_KEY, 0);
|
||||||
|
//6.创建装箱区->待检区或管制区补空任务
|
||||||
|
callingVehicleToDjqOrGzq(packagerelationList);
|
||||||
}
|
}
|
||||||
//5.改变子卷包装状态为已装箱:1
|
//7.改变子卷包装状态为已装箱:1
|
||||||
PdmBiSubpackagerelation pdmBiSubpackagerelation = subpackageRelationService
|
PdmBiSubpackagerelation pdmBiSubpackagerelation = subpackageRelationService
|
||||||
.getOne(new LambdaUpdateWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getContainer_name, schBaseTask.getVehicle_code()), false);
|
.getOne(new LambdaUpdateWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getContainer_name, schBaseTask.getVehicle_code()), false);
|
||||||
pdmBiSubpackagerelation.setStatus(IOSEnum.IS_NOTANDYES.code("是"));
|
pdmBiSubpackagerelation.setStatus(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
subpackageRelationService.updateById(pdmBiSubpackagerelation);
|
subpackageRelationService.updateById(pdmBiSubpackagerelation);
|
||||||
//6.更改任务状态为完成
|
|
||||||
updateWrapper.set(SchBaseTask::getTask_status, TaskStatusEnum.FINISHED.getCode());
|
|
||||||
//7.改变起点点位状态
|
|
||||||
packageinfoivtService.update(null, new UpdateWrapper<BstIvtPackageinfoivt>().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).set("container_name", null).eq("point_code", schBaseTask.getPoint_code1()));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// 取消
|
// 取消
|
||||||
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) {
|
||||||
@@ -159,6 +171,34 @@ public class ZxDjwTask extends AbstractAcsTask {
|
|||||||
taskService.update(null, updateWrapper);
|
taskService.update(null, updateWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Async("pool")
|
||||||
|
public void callingVehicleToDjqOrGzq(List<PdmBiSubpackagerelation> packagerelationList) {
|
||||||
|
callingVehicleToDjqOrGzq(Integer.parseInt(packagerelationList.get(0).getQuanlity_in_box().toString()));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 装箱任务完成,异步调用装箱区->待检区补空任务
|
||||||
|
*/
|
||||||
|
private void callingVehicleToDjqOrGzq(Integer callingNum) {
|
||||||
|
if (callingNum == 1) {
|
||||||
|
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
|
} else if (callingNum > 1) {
|
||||||
|
for (int i = 0; i < callingNum; i++) {
|
||||||
|
pool.execute(() -> {
|
||||||
|
try {
|
||||||
|
//5秒执行一次
|
||||||
|
TimeUnit.SECONDS.sleep(5L);
|
||||||
|
autoSendVehicleToDjq.sendVehicleToDjqOrGzq1(IOSEnum.IS_NOTANDYES.code("是"));
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String createTask(JSONObject form) {
|
public String createTask(JSONObject form) {
|
||||||
|
|||||||
@@ -74,32 +74,7 @@ public class AutoExecuteWaitTask {
|
|||||||
for (SchBaseTask task : taskList) {
|
for (SchBaseTask task : taskList) {
|
||||||
if (task != null) {
|
if (task != null) {
|
||||||
String taskType = task.getTask_type();
|
String taskType = task.getTask_type();
|
||||||
if (PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)").equals(taskType)) {
|
if (PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位").equals(taskType)) {
|
||||||
//校验任务是否存在
|
|
||||||
List<String> taskTypes = new ArrayList<>(Arrays.asList(taskType, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"),PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)")));
|
|
||||||
List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
|
||||||
//过滤未分配的补空载具任务
|
|
||||||
existTask = existTask.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
|
||||||
if (existTask.size() > 0) {
|
|
||||||
//已二次分配过的任务未完成
|
|
||||||
if (existTask.stream().anyMatch(r -> r.getResponse_param().equals(IOSEnum.IS_NOTANDYES.code("是")))) {
|
|
||||||
throw new BadRequestException("存在已二次分配过点位的补空载具任务未完成!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
|
||||||
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
|
||||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")
|
|
||||||
).eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
|
||||||
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
|
||||||
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
|
||||||
if (CollectionUtils.isEmpty(kzjPointList)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
task.setPoint_code1(kzjPointList.get(0).getPoint_code());
|
|
||||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
|
||||||
taskService.updateById(task);
|
|
||||||
ssxDjwTask.immediateNotifyAcs(null);
|
|
||||||
} else if (PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位").equals(taskType)) {
|
|
||||||
//校验任务是否存在
|
//校验任务是否存在
|
||||||
List<String> taskTypes = new ArrayList<>(Collections.singletonList(taskType));
|
List<String> taskTypes = new ArrayList<>(Collections.singletonList(taskType));
|
||||||
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
List<SchBaseTask> existTaskList = taskService.getExistTasks(taskTypes);
|
||||||
@@ -120,6 +95,36 @@ public class AutoExecuteWaitTask {
|
|||||||
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||||
taskService.updateById(task);
|
taskService.updateById(task);
|
||||||
mzhcwTask.immediateNotifyAcs(null);
|
mzhcwTask.immediateNotifyAcs(null);
|
||||||
|
} else if (PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)").equals(taskType)) {
|
||||||
|
//校验任务是否存在
|
||||||
|
List<String> taskTypes = new ArrayList<>(Arrays.asList(taskType, PackageInfoIvtEnum.TASK_TYPE.code("补空(待检区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("补空(管制区->空载具缓存位)"), PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")));
|
||||||
|
List<SchBaseTask> existTask = taskService.getExistTasks(taskTypes);
|
||||||
|
//先发输送线->满轴位任务,如果有输送线->满轴位任务未完成任务,暂不下发放空(空载具缓存位->输送线)任务
|
||||||
|
List<SchBaseTask> existTask1 = existTask.stream().filter(r -> r.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位"))).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(existTask1)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//过滤未分配的补空载具任务
|
||||||
|
List<SchBaseTask> existTask2 = existTask.stream().filter(r -> StringUtils.isNotBlank(r.getResponse_param())).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(existTask2)) {
|
||||||
|
//已二次分配过的任务未完成
|
||||||
|
if (existTask.stream().anyMatch(r -> r.getResponse_param().equals(IOSEnum.IS_NOTANDYES.code("是")))) {
|
||||||
|
throw new BadRequestException("存在已二次分配过点位的补空载具任务未完成!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<BstIvtPackageinfoivt> kzjPointList = packageinfoivtService
|
||||||
|
.list(new LambdaUpdateWrapper<BstIvtPackageinfoivt>()
|
||||||
|
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用")
|
||||||
|
).eq(BstIvtPackageinfoivt::getPoint_status, PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"))
|
||||||
|
.eq(BstIvtPackageinfoivt::getIvt_status, PackageInfoIvtEnum.IVT_STATUS.code("空载具"))
|
||||||
|
.orderByAsc(BstIvtPackageinfoivt::getSort_seq));
|
||||||
|
if (CollectionUtils.isEmpty(kzjPointList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
task.setPoint_code1(kzjPointList.get(0).getPoint_code());
|
||||||
|
task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode());
|
||||||
|
taskService.updateById(task);
|
||||||
|
ssxDjwTask.immediateNotifyAcs(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ public class AutoSendVehicleToDjq {
|
|||||||
@Resource
|
@Resource
|
||||||
private IschBaseTaskService taskService;
|
private IschBaseTaskService taskService;
|
||||||
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private RedissonClient redissonClient;
|
private RedissonClient redissonClient;
|
||||||
@Resource
|
@Resource
|
||||||
@@ -109,6 +108,7 @@ public class AutoSendVehicleToDjq {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String getPointCode(JSONObject task, String taskType) {
|
private String getPointCode(JSONObject task, String taskType) {
|
||||||
String pointCode2 = null;
|
String pointCode2 = null;
|
||||||
List<BstIvtPackageinfoivt> packageList;
|
List<BstIvtPackageinfoivt> packageList;
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ import static org.nl.wms.util.TaskUtil.getMaxNum;
|
|||||||
public class AutoSendZxToDjw {
|
public class AutoSendZxToDjw {
|
||||||
private final String THIS_CLASS = AutoSendZxToDjw.class.getName();
|
private final String THIS_CLASS = AutoSendZxToDjw.class.getName();
|
||||||
|
|
||||||
private final Integer NUM = 0;
|
|
||||||
private static final String NUM_KEY = "AutoSendZxToDjw:NUM";
|
private static final String NUM_KEY = "AutoSendZxToDjw:NUM";
|
||||||
|
|
||||||
private final RedissonClient redissonClient;
|
private final RedissonClient redissonClient;
|
||||||
|
|||||||
@@ -63,6 +63,12 @@ public class StructattrServiceImpl implements StructattrService {
|
|||||||
map.put("is_used", (String) whereJson.get("is_used"));
|
map.put("is_used", (String) whereJson.get("is_used"));
|
||||||
map.put("is_have", (String) whereJson.get("is_have"));
|
map.put("is_have", (String) whereJson.get("is_have"));
|
||||||
|
|
||||||
|
// 如果是二期仓库则将层数删除
|
||||||
|
if (ObjectUtil.isNotEmpty(whereJson.get("stor_id"))) {
|
||||||
|
if ( whereJson.get("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) {
|
||||||
|
map.put("layer_num", "");
|
||||||
|
}
|
||||||
|
}
|
||||||
//获取人员对应的仓库
|
//获取人员对应的仓库
|
||||||
UserStorServiceImpl userStorService = new UserStorServiceImpl();
|
UserStorServiceImpl userStorService = new UserStorServiceImpl();
|
||||||
String in_stor_id = userStorService.getInStor();
|
String in_stor_id = userStorService.getInStor();
|
||||||
|
|||||||
@@ -78,8 +78,16 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteAll(Long[] ids) {
|
public void deleteAll(Long[] ids) {
|
||||||
|
WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv");
|
||||||
|
|
||||||
for (Long moveinv_id : ids) {
|
for (Long moveinv_id : ids) {
|
||||||
this.deleteById(moveinv_id + "");
|
JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0);
|
||||||
|
|
||||||
|
if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) {
|
||||||
|
this.deleteByIdTwo(moveinv_id + "");
|
||||||
|
} else {
|
||||||
|
this.deleteById(moveinv_id + "");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -158,6 +166,77 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
jsonAttr.put("storagevehicle_code", "");
|
jsonAttr.put("storagevehicle_code", "");
|
||||||
wo_Attr.update(jsonAttr);
|
wo_Attr.update(jsonAttr);
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 通过moveinv_id删除明细,还原库存等操作(二期)
|
||||||
|
*
|
||||||
|
* @param moveinv_id
|
||||||
|
*/
|
||||||
|
public void deleteByIdTwo(String moveinv_id) {
|
||||||
|
//明细表
|
||||||
|
WQLObject wo_dtl = WQLObject.getWQLObject("ST_IVT_MoveInvDtl");
|
||||||
|
//主表
|
||||||
|
WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv");
|
||||||
|
//任务表
|
||||||
|
WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||||
|
//仓位表
|
||||||
|
WQLObject wo_Attr = WQLObject.getWQLObject("st_ivt_structattr");
|
||||||
|
|
||||||
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
|
String now = DateUtil.now();
|
||||||
|
HashMap<String, String> map = new HashMap<>();
|
||||||
|
map.put("is_delete", "1");
|
||||||
|
map.put("update_optid", currentUserId + "");
|
||||||
|
map.put("update_optname", nickName);
|
||||||
|
map.put("update_time", now);
|
||||||
|
JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0);
|
||||||
|
JSONArray ja = wo_dtl.query("moveinv_id='" + moveinv_id + "'").getResultJSONArray(0);
|
||||||
|
String point_code2 = "";
|
||||||
|
for (int i = 0; i < ja.size(); i++) {
|
||||||
|
JSONObject jo = ja.getJSONObject(i);
|
||||||
|
//删除任务
|
||||||
|
HashMap<String, String> task_map = new HashMap<>();
|
||||||
|
task_map.put("is_delete", "1");
|
||||||
|
point_code2 = wo_Task.query("task_id = '" + jo.getString("task_id") + "'").uniqueResult(0).getString("point_code2");
|
||||||
|
wo_Task.update(task_map, "task_id='" + jo.getString("task_id") + "'");
|
||||||
|
//解锁起点点位、仓位
|
||||||
|
JSONObject from_start = new JSONObject();
|
||||||
|
from_start.put("lock_type", "1");
|
||||||
|
from_start.put("is_free", "0");
|
||||||
|
from_start.put("struct_id", jo.getString("turnout_struct_id"));
|
||||||
|
from_start.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
||||||
|
storPublicService.updateStructAndPointTwo(from_start);
|
||||||
|
//解锁终点点位、仓位
|
||||||
|
from_start.put("struct_id", jo.getString("turnin_struct_id"));
|
||||||
|
storPublicService.updateStructAndPointTwo(from_start);
|
||||||
|
|
||||||
|
//更新移出库存
|
||||||
|
jo.put("struct_id", jo.getString("turnout_struct_id"));
|
||||||
|
jo.put("change_qty", jo.getDoubleValue("qty"));
|
||||||
|
jo.put("bill_type_scode", jo_mst.getString("bill_type"));
|
||||||
|
jo.put("inv_id", jo.getString("moveinvdtl_id"));
|
||||||
|
jo.put("bill_code", jo_mst.getString("bill_code"));
|
||||||
|
jo.put("bill_table", "ST_IVT_MoveInv");
|
||||||
|
storPublicService.IOStor(jo, "12");
|
||||||
|
//更新移入库存
|
||||||
|
jo.put("struct_id", jo.getString("turnin_struct_id"));
|
||||||
|
jo.put("bill_type_scode", jo_mst.getString("bill_type"));
|
||||||
|
jo.put("inv_id", jo.getString("moveinvdtl_id"));
|
||||||
|
jo.put("bill_code", jo_mst.getString("bill_code"));
|
||||||
|
jo.put("bill_table", "ST_IVT_MoveInv");
|
||||||
|
storPublicService.IOStor(jo, "32");
|
||||||
|
//删除明细
|
||||||
|
wo_dtl.delete("moveinvdtl_id='" + jo.getString("moveinvdtl_id") + "'");
|
||||||
|
}
|
||||||
|
//更新主表
|
||||||
|
wo_mst.update(map, "moveinv_id='" + moveinv_id + "'");
|
||||||
|
// 更新移入仓位
|
||||||
|
|
||||||
|
JSONObject jsonAttr = wo_Attr.query("struct_code = '" + point_code2 + "'").uniqueResult(0);
|
||||||
|
jsonAttr.put("storagevehicle_code", "");
|
||||||
|
wo_Attr.update(jsonAttr);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -174,6 +253,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
//主表
|
//主表
|
||||||
WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv");
|
WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv");
|
||||||
ArrayList<Map> rows = (ArrayList<Map>) map.get("tableData");
|
ArrayList<Map> rows = (ArrayList<Map>) map.get("tableData");
|
||||||
|
JSONArray arrayTwo = MapUtil.get(map, "tableData", JSONArray.class);
|
||||||
map.remove("tableData");
|
map.remove("tableData");
|
||||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||||
String nickName = SecurityUtils.getCurrentNickName();
|
String nickName = SecurityUtils.getCurrentNickName();
|
||||||
@@ -199,8 +279,15 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
map.put("sysdeptid", deptId);
|
map.put("sysdeptid", deptId);
|
||||||
map.put("syscompanyid", deptId);
|
map.put("syscompanyid", deptId);
|
||||||
JSONObject jo_mst = JSONObject.parseObject(JSON.toJSONString(map));
|
JSONObject jo_mst = JSONObject.parseObject(JSON.toJSONString(map));
|
||||||
//调用明细处理方法
|
|
||||||
JSONObject ret = this.insertDtlByRows(jo_mst, rows);
|
//调用明细处理方法 -- 如果是二期移库则调用 insertDtlByRows2
|
||||||
|
JSONObject ret = new JSONObject();
|
||||||
|
if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) {
|
||||||
|
ret = this.insertDtlByRows2(jo_mst, arrayTwo);
|
||||||
|
} else {
|
||||||
|
ret = this.insertDtlByRows(jo_mst, rows);
|
||||||
|
}
|
||||||
|
|
||||||
map.put("detail_count", ret.getString("detail_count"));
|
map.put("detail_count", ret.getString("detail_count"));
|
||||||
map.put("total_qty", ret.getString("total_qty"));
|
map.put("total_qty", ret.getString("total_qty"));
|
||||||
wo_mst.insert(map);
|
wo_mst.insert(map);
|
||||||
@@ -554,6 +641,8 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task");
|
WQLObject wo_Task = WQLObject.getWQLObject("SCH_BASE_Task");
|
||||||
//点位表
|
//点位表
|
||||||
WQLObject wo_Point = WQLObject.getWQLObject("SCH_BASE_Point");
|
WQLObject wo_Point = WQLObject.getWQLObject("SCH_BASE_Point");
|
||||||
|
//载具扩展属性
|
||||||
|
WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext");
|
||||||
//定义返回数据
|
//定义返回数据
|
||||||
JSONObject ret = new JSONObject();
|
JSONObject ret = new JSONObject();
|
||||||
|
|
||||||
@@ -640,6 +729,12 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
task.put("point_code2", row.getString("turnin_struct_code"));
|
task.put("point_code2", row.getString("turnin_struct_code"));
|
||||||
}
|
}
|
||||||
task.put("vehicle_code", jo.getString("storagevehicle_code"));
|
task.put("vehicle_code", jo.getString("storagevehicle_code"));
|
||||||
|
// 查询木箱对应载具
|
||||||
|
JSONObject jsonExt = extTab.query("pcsn = '" + jo.getString("storagevehicle_code") + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isEmpty(jsonExt)) {
|
||||||
|
throw new BadRequestException("此木箱对应载具不存在!"+jo.getString("storagevehicle_code"));
|
||||||
|
}
|
||||||
|
task.put("vehicle_code2", jsonExt.getString("storagevehicle_code"));
|
||||||
task.put("handle_class", HandMoveStorAcsTask.class.getName());
|
task.put("handle_class", HandMoveStorAcsTask.class.getName());
|
||||||
task.put("finished_type", "");
|
task.put("finished_type", "");
|
||||||
task.put("is_delete", "0");
|
task.put("is_delete", "0");
|
||||||
@@ -724,12 +819,25 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
String moveinv_id = (String) whereJson.get("moveinv_id");
|
String moveinv_id = (String) whereJson.get("moveinv_id");
|
||||||
//查询主表
|
//查询主表
|
||||||
JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0);
|
JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0);
|
||||||
|
|
||||||
//调用删除明细,还原库存方法
|
//调用删除明细,还原库存方法
|
||||||
this.deleteById(moveinv_id + "");
|
if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) {
|
||||||
|
this.deleteByIdTwo(moveinv_id + "");
|
||||||
|
} else {
|
||||||
|
this.deleteById(moveinv_id + "");
|
||||||
|
}
|
||||||
|
|
||||||
//获取明细
|
//获取明细
|
||||||
ArrayList<Map> rows = (ArrayList<Map>) whereJson.get("tableData");
|
ArrayList<Map> rows = (ArrayList<Map>) whereJson.get("tableData");
|
||||||
|
JSONArray arrayTwo = MapUtil.get(whereJson, "tableData", JSONArray.class);
|
||||||
|
|
||||||
//调用明细处理方法
|
//调用明细处理方法
|
||||||
JSONObject ret = this.insertDtlByRows(jo_mst, rows);
|
JSONObject ret ;
|
||||||
|
if (jo_mst.getString("stor_id").equals(IOSEnum.STOR_ID.code("二期"))) {
|
||||||
|
ret = this.insertDtlByRows2(jo_mst, arrayTwo);
|
||||||
|
} else {
|
||||||
|
ret = this.insertDtlByRows(jo_mst, rows);
|
||||||
|
}
|
||||||
jo_mst.put("remark", whereJson.get("remark"));
|
jo_mst.put("remark", whereJson.get("remark"));
|
||||||
jo_mst.put("biz_date", whereJson.get("biz_date"));
|
jo_mst.put("biz_date", whereJson.get("biz_date"));
|
||||||
jo_mst.put("detail_count", ret.getString("detail_count"));
|
jo_mst.put("detail_count", ret.getString("detail_count"));
|
||||||
@@ -993,7 +1101,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
from_start.put("lock_type", "1");
|
from_start.put("lock_type", "1");
|
||||||
from_start.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
from_start.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
||||||
from_start.put("struct_id", jo.getString("turnout_struct_id"));
|
from_start.put("struct_id", jo.getString("turnout_struct_id"));
|
||||||
if (form.getString("turnout_sect_code").equals("BZC01")) {
|
if (jo.getString("turnout_sect_code").equals("BZC01")) {
|
||||||
storPublicService.updateStructAndPointTwo(from_start);
|
storPublicService.updateStructAndPointTwo(from_start);
|
||||||
} else {
|
} else {
|
||||||
storPublicService.updateStructAndPoint(from_start);
|
storPublicService.updateStructAndPoint(from_start);
|
||||||
@@ -1004,7 +1112,7 @@ public class HandMoveStorServiceImpl implements HandMoveStorService {
|
|||||||
from_end.put("struct_id", jo.getString("turnin_struct_id"));
|
from_end.put("struct_id", jo.getString("turnin_struct_id"));
|
||||||
from_end.put("is_free", "0");
|
from_end.put("is_free", "0");
|
||||||
from_end.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
from_end.put("storagevehicle_code", jo.getString("storagevehicle_code"));
|
||||||
if (form.getString("turnout_sect_code").equals("BZC01")) {
|
if (jo.getString("turnout_sect_code").equals("BZC01")) {
|
||||||
storPublicService.updateStructAndPointTwo(from_end);
|
storPublicService.updateStructAndPointTwo(from_end);
|
||||||
} else {
|
} else {
|
||||||
storPublicService.updateStructAndPoint(from_end);
|
storPublicService.updateStructAndPoint(from_end);
|
||||||
|
|||||||
Reference in New Issue
Block a user