Merge remote-tracking branch 'origin/master_merge' into master_merge
This commit is contained in:
@@ -16,6 +16,7 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingprodu
|
||||
import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.mapper.PdmBiSlittingproductionplanMapper;
|
||||
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
|
||||
import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil;
|
||||
import org.nl.b_lms.storage_manage.ios.enums.IOSEnum;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.common.utils.TaskUtils;
|
||||
@@ -113,7 +114,7 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl<PdmBiSli
|
||||
@Override
|
||||
public PdmBiSlittingproductionplan getByContainerName(String containerName) {
|
||||
LambdaQueryWrapper<PdmBiSlittingproductionplan> lam = new QueryWrapper<PdmBiSlittingproductionplan>().lambda();
|
||||
lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName);
|
||||
lam.eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否"));
|
||||
return pdmBiSlittingproductionplanMapper.selectOne(lam);
|
||||
}
|
||||
|
||||
|
||||
@@ -84,6 +84,7 @@
|
||||
WHERE b.point_status = '3'
|
||||
AND b.ivt_status = '3'
|
||||
AND a.sale_order_name = #{sale_order_name}
|
||||
AND c.is_delete = '0'
|
||||
ORDER BY box_group
|
||||
</select>
|
||||
|
||||
|
||||
@@ -755,10 +755,11 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl<PdmBiSubpack
|
||||
}
|
||||
List<PdmBiSubpackagerelation> subList = this.list(new LambdaQueryWrapper<PdmBiSubpackagerelation>().eq(PdmBiSubpackagerelation::getContainer_name, jo.getString("container_name")));
|
||||
if (CollectionUtils.isEmpty(subList)) {
|
||||
PdmBiSlittingproductionplan plan = iPdmBiSlittingproductionplanService.getOne(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName));
|
||||
if (ObjectUtil.isEmpty(plan)) {
|
||||
List<PdmBiSlittingproductionplan> planList = iPdmBiSlittingproductionplanService.list(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
if (CollectionUtils.isEmpty(planList)) {
|
||||
throw new BadRequestException("未查询到可用的分切计划!");
|
||||
}
|
||||
PdmBiSlittingproductionplan plan = planList.get(0);
|
||||
PdmBiSubpackagerelation sub = new PdmBiSubpackagerelation();
|
||||
sub.setWorkorder_id(IdUtil.getSnowflake(1, 1).nextId() + "");
|
||||
sub.setContainer_name(plan.getContainer_name());
|
||||
|
||||
@@ -506,35 +506,39 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区")) ||
|
||||
baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ||
|
||||
baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) {
|
||||
String pointCode;
|
||||
if (StringUtils.isNotBlank(baseTask.getRequest_param())) {
|
||||
if (baseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||
throw new BadRequestException(baseTask.getTask_code() + "取货完成失败" + ",该任务已发送过取货完成信号请勿频繁发送!");
|
||||
}
|
||||
}
|
||||
//取满轴
|
||||
if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("满轴缓存位->待检区"))) {
|
||||
//过滤未二次分配的任务
|
||||
if (StringUtils.isBlank(baseTask.getResponse_param())) {
|
||||
throw new BadRequestException("取货完成失败" + baseTask.getTask_code() + ",起点未进行二次分配!");
|
||||
}
|
||||
List<BstIvtPackageinfoivt> ivtList = packageinfoivtService.list(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||
BstIvtPackageinfoivt ivtInfo = packageinfoivtService.getOne(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
.eq(BstIvtPackageinfoivt::getPoint_code, baseTask.getPoint_code1()));
|
||||
if (CollectionUtils.isEmpty(ivtList)) {
|
||||
throw new BadRequestException("取货完成失败" + baseTask.getTask_code() + "agv取货完成的目标点位不存在!");
|
||||
if (ivtInfo == null) {
|
||||
throw new BadRequestException(baseTask.getTask_code() + "取货完成或放货完成失败,目标点位:" + baseTask.getPoint_code1() + "不存在!");
|
||||
}
|
||||
//过滤未二次分配的任务
|
||||
if (StringUtils.isBlank(baseTask.getResponse_param())) {
|
||||
throw new BadRequestException(baseTask.getTask_code() + "取货完成失败" + ",起点未进行二次分配!");
|
||||
}
|
||||
//只有子卷号相同才能清除库存
|
||||
if (baseTask.getVehicle_code().equals(ivtList.get(0).getContainer_name())) {
|
||||
if (baseTask.getVehicle_code().equals(ivtInfo.getContainer_name())) {
|
||||
upDateIvtOrTask(baseTask, baseTask.getPoint_code1());
|
||||
}
|
||||
} else if (baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) || baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)"))) {
|
||||
pointCode = baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ? baseTask.getPoint_code3() : baseTask.getPoint_code1();
|
||||
if (StringUtils.isBlank(baseTask.getRequest_param())) {
|
||||
upDateIvtOrTask(baseTask, pointCode);
|
||||
} else if (StringUtils.isNotBlank(baseTask.getRequest_param())) {
|
||||
if (!baseTask.getRequest_param().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"))) {
|
||||
upDateIvtOrTask(baseTask, pointCode);
|
||||
}
|
||||
}
|
||||
String pointCode = baseTask.getTask_type().equals(PackageInfoIvtEnum.TASK_TYPE.code("输送线四个点任务")) ? baseTask.getPoint_code3() : baseTask.getPoint_code1();
|
||||
upDateIvtOrTask(baseTask, pointCode);
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (StringUtils.isNotBlank(baseTask.getCar_no())) {
|
||||
if (baseTask.getCar_no().equals(PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成"))) {
|
||||
throw new BadRequestException(baseTask.getTask_code() + "放货完成失败" + ",该任务已发送过放货完成信号请勿频繁发送!");
|
||||
}
|
||||
}
|
||||
//放货任务
|
||||
List<BstIvtPackageinfoivt> ivtList = packageinfoivtService.list(new LambdaQueryWrapper<BstIvtPackageinfoivt>()
|
||||
.eq(BstIvtPackageinfoivt::getIs_used, PackageInfoIvtEnum.IS_USED.code("启用"))
|
||||
@@ -548,7 +552,12 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
.set("container_name", baseTask.getVehicle_code())
|
||||
.set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷"))
|
||||
.eq("point_code", baseTask.getPoint_code2()));
|
||||
log.info("一楼装箱区二次放货分配" + baseTask.getTask_code() + ",放货完成执行成功,放货信息:点位:" + baseTask.getPoint_code2() + "子卷号为:" + baseTask.getVehicle_code());
|
||||
//标记任务放货完成
|
||||
UpdateWrapper<SchBaseTask> updateWrapper1 = new UpdateWrapper<>();
|
||||
updateWrapper1.eq("task_id", baseTask.getTask_id());
|
||||
updateWrapper1.set("car_no", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("放货完成"));
|
||||
taskService.update(updateWrapper1);
|
||||
log.info("一楼装箱区二次放货完成" + baseTask.getTask_code() + ",放货完成执行成功,放货信息:点位:" + baseTask.getPoint_code2() + "子卷号为:" + baseTask.getVehicle_code());
|
||||
} else {
|
||||
throw new BadRequestException("该点位已有库存!");
|
||||
}
|
||||
@@ -560,14 +569,14 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl<BstIvtPackagein
|
||||
* 取货完成更新点位或任务标识
|
||||
*/
|
||||
private void upDateIvtOrTask(SchBaseTask baseTask, String pointCode) {
|
||||
//清空起点库存状态
|
||||
UpdateWrapper<BstIvtPackageinfoivt> updateWrapper = new UpdateWrapper<>();
|
||||
updateWrapper.eq("point_code", pointCode);
|
||||
updateWrapper.set("ivt_status", "0");
|
||||
updateWrapper.set("container_name", null);
|
||||
//清空起点库存状态
|
||||
bstIvtPackageinfoivtMapper.update(null, updateWrapper);
|
||||
log.info("一楼装箱区二次分配清空起点库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code());
|
||||
//标记agv取满轴或四个点或两个点任务取空载具完成
|
||||
log.info("一楼装箱区二次分配清空库存" + baseTask.getTask_code() + ",执行成功,点位:" + pointCode + "子卷号:" + baseTask.getVehicle_code());
|
||||
//标记agv取满轴或四个点或两个点放满轴任务取空载具完成
|
||||
UpdateWrapper<SchBaseTask> updateWrapper1 = new UpdateWrapper<>();
|
||||
updateWrapper1.eq("task_id", baseTask.getTask_id());
|
||||
updateWrapper1.set("request_param", PackageInfoIvtEnum.TASK_ACTION_TYPE.code("取货完成"));
|
||||
|
||||
@@ -18,5 +18,6 @@
|
||||
LEFT JOIN pdm_bi_slittingproductionplan p ON p.qzzno = t.vehicle_code OR p.qzzno = t.vehicle_code2
|
||||
WHERE t.task_status <![CDATA[ <= ]]> '071' AND t.task_status <![CDATA[ <> ]]> '07' AND t.task_type = '010813'
|
||||
AND p.resource_name = #{resourceName}
|
||||
AND IFNULL(p.qzzno, '') <![CDATA[ <> ]]> ''
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -101,7 +101,7 @@ public class DjqTask extends AbstractAcsTask {
|
||||
//2.更新库存记录
|
||||
String ivtStatus;
|
||||
if (StringUtils.isNotBlank(schBaseTask.getRequest_param())) {
|
||||
if (schBaseTask.getRequest_param().equals(PackageInfoIvtEnum.IVT_STATUS.code("合格品"))) {
|
||||
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()));
|
||||
|
||||
@@ -63,7 +63,7 @@ public class AutoSendGzqToDjq {
|
||||
JSONObject task = new JSONObject();
|
||||
task.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("管制区->待检区"));
|
||||
//区分管制品重新检测为合格品
|
||||
task.put("request_param", PackageInfoIvtEnum.IVT_STATUS.code("合格品"));
|
||||
task.put("request_param", "99");
|
||||
task.put("vehicle_code", gzqPackageinfoivtList.get(0).getContainer_name());
|
||||
task.put("point_code1", gzqPackageinfoivtList.get(0).getPoint_code());
|
||||
task.put("point_code2", djqPackageinfoivtList.get(0).getPoint_code());
|
||||
|
||||
@@ -128,7 +128,7 @@ public class AutoSendZxToDjw {
|
||||
List<BstIvtPackageinfoivt> zxqPoint = zxqPackageinfoivtList.stream().filter(r -> r.getContainer_name().equals(containerName)).collect(Collectors.toList());
|
||||
//装箱区点位上有与该木箱号匹配的子卷
|
||||
if (CollectionUtils.isNotEmpty(zxqPoint)) {
|
||||
List<PdmBiSlittingproductionplan> productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName));
|
||||
List<PdmBiSlittingproductionplan> productionPlanList = pdmBiSlittingproductionplanMapper.selectList(new LambdaQueryWrapper<PdmBiSlittingproductionplan>().eq(PdmBiSlittingproductionplan::getContainer_name, containerName).eq(PdmBiSlittingproductionplan::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")));
|
||||
if (productionPlanList.isEmpty()) {
|
||||
log.info("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!");
|
||||
throw new BadRequestException("装箱区的子卷号为" + containerName + "无对应的分切计划信息,请检查!");
|
||||
|
||||
@@ -112,6 +112,7 @@ public class AutoCallAirShaftTask {
|
||||
makePullShaft(empty, specification);
|
||||
return;
|
||||
}
|
||||
log.info("获取过滤后的分切计划数据:{}", plans);
|
||||
// 查看套轴对接位是否满了
|
||||
// todo: 这里需要注意不要去校验071的任务,不然提前释放货位没意义。
|
||||
List<BstIvtCutpointivt> emptyShaftPoint = bcutpointivtService.getAreaNotTaskPointByStatus("1",
|
||||
|
||||
Reference in New Issue
Block a user