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.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@@ -96,6 +97,8 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
if (StrUtil.equals(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 pointCode2 = task.getPoint_code2();
StIvtCutpointivt point1 = cutpointivtService.getPintByUpOrDownCode(pointCode1, false);
@@ -105,18 +108,15 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
point2 = bcutpointivtService.getPintByTrussCode(pointCode1, false);
}
// 点位数据更新
String tmpUpQzzNo = point1.getUp_qzzno();
String tmpDownQzzNo = point1.getDown_qzzno();
point1.setUp_qzzno(point2.getQzz_no1());
point1.setDown_qzzno(point2.getQzz_no2());
log.info("起点数据:{}", point1);
log.info("终点数据:{}", point2);
// 更新分切计划
// 下来的分切计划状态06 -> 09, 设置重量
List<String> downQzzNos = Stream.of(tmpUpQzzNo, tmpDownQzzNo)
.filter(value -> value != null && !value.isEmpty()).collect(Collectors.toList());
log.info("即将下卷的上下轴的气胀轴编码数据:{}", downQzzNos);
List<PdmBiSlittingproductionplan> downPlans = slittingproductionplanService.getByQzzNos(downQzzNos);
List<String> downCons = containers.toJavaList(String.class);
log.info("即将下卷的上下轴的子卷号数据:{}", downCons);
List<PdmBiSlittingproductionplan> downPlans = slittingproductionplanService.getByContainerNames(downCons);
SlitterTaskUtil.setPaperWeightStr(point1.getRemark(), downPlans);
downPlans.forEach(downPlan -> {
downPlan.setStatus("09");
@@ -124,6 +124,12 @@ public class SlitterDownTrussTask extends AbstractAcsTask {
TaskUtils.updateOptMessageBySlitterPlan(downPlan);
});
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("");
// 上去的分切计划状态04 -> 05