fix: 防止分切下卷时卷号重复

This commit is contained in:
2025-03-06 13:14:46 +08:00
parent ee8992c047
commit 13c53cfaa4

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; 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;
@@ -96,6 +97,8 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) {
task.setTask_status(TaskStatusEnum.FINISHED.getCode()); task.setTask_status(TaskStatusEnum.FINISHED.getCode());
JSONObject requestParam = JSONObject.parseObject(task.getRequest_param());
JSONArray containers = requestParam.getJSONArray("containers");
String pointCode1 = task.getPoint_code1(); String pointCode1 = task.getPoint_code1();
String pointCode2 = task.getPoint_code2(); String pointCode2 = task.getPoint_code2();
StIvtCutpointivt point1 = cutpointivtService.getPintByUpOrDownCode(pointCode1, false); StIvtCutpointivt point1 = cutpointivtService.getPintByUpOrDownCode(pointCode1, false);
@@ -105,18 +108,15 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
point2 = bcutpointivtService.getPintByTrussCode(pointCode1, false); point2 = bcutpointivtService.getPintByTrussCode(pointCode1, false);
} }
// 点位数据更新 // 点位数据更新
String tmpUpQzzNo = point1.getUp_qzzno();
String tmpDownQzzNo = point1.getDown_qzzno();
point1.setUp_qzzno(point2.getQzz_no1()); point1.setUp_qzzno(point2.getQzz_no1());
point1.setDown_qzzno(point2.getQzz_no2()); point1.setDown_qzzno(point2.getQzz_no2());
log.info("起点数据:{}", point1); log.info("起点数据:{}", point1);
log.info("终点数据:{}", point2); log.info("终点数据:{}", point2);
// 更新分切计划 // 更新分切计划
// 下来的分切计划状态06 -> 09, 设置重量 // 下来的分切计划状态06 -> 09, 设置重量
List<String> downQzzNos = Stream.of(tmpUpQzzNo, tmpDownQzzNo) List<String> downCons = containers.toJavaList(String.class);
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList()); log.info("即将下卷的上下轴的子卷号数据:{}", downCons);
log.info("即将下卷的上下轴的气胀轴编码数据:{}", downQzzNos); List<PdmBiSlittingproductionplan> downPlans = slittingproductionplanService.getByContainerNames(downCons);
List<PdmBiSlittingproductionplan> downPlans = slittingproductionplanService.getByQzzNos(downQzzNos);
SlitterTaskUtil.setPaperWeightStr(point1.getRemark(), downPlans); SlitterTaskUtil.setPaperWeightStr(point1.getRemark(), downPlans);
downPlans.forEach(downPlan -> { downPlans.forEach(downPlan -> {
downPlan.setStatus("09"); downPlan.setStatus("09");
@@ -124,6 +124,12 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
TaskUtils.updateOptMessageBySlitterPlan(downPlan); TaskUtils.updateOptMessageBySlitterPlan(downPlan);
}); });
slittingproductionplanService.updateBatchById(downPlans); slittingproductionplanService.updateBatchById(downPlans);
// 获取气胀轴编码
// 筛选上下轴各一条
PdmBiSlittingproductionplan upPlan = downPlans.stream().filter(p -> "1".equals(p.getUp_or_down())).findFirst().orElse(null);
PdmBiSlittingproductionplan downPlan = downPlans.stream().filter(p -> "2".equals(p.getUp_or_down())).findFirst().orElse(null);
String tmpUpQzzNo = upPlan != null ? upPlan.getQzzno() : "";
String tmpDownQzzNo = downPlan != null ? downPlan.getQzzno() : "";
// 设置完了就清空 // 设置完了就清空
point1.setRemark(""); point1.setRemark("");
// 上去的分切计划状态04 -> 05 // 上去的分切计划状态04 -> 05