diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index c6c33e6ce..db4dd7d88 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -17,6 +17,7 @@ import org.nl.b_lms.sch.tasks.slitter.TrussCallShaftCacheTask; import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant; import org.nl.b_lms.sch.tasks.slitter.constant.SlitterEnum; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; +import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; @@ -144,21 +145,7 @@ public class AutoCallAirShaftTask { param.put("product_area", SlitterConstant.SLITTER_TASK_AREA); param.put("qzz_size", needPlan.getQzz_size()); // 所需的纸管规格 - for (PdmBiSlittingproductionplan plan : needPlans) { - if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(plan.getLeft_or_right())) { - if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { - param.put("left", plan.getPaper_tube_model()); - } else { - param.put("left", plan.getFRP_model()); - } - } else { - if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { - param.put("right", plan.getPaper_tube_model()); - } else { - param.put("right", plan.getFRP_model()); - } - } - } + SlitterTaskUtil.putNeedPaperSpec(param, needPlans); // 当前纸管的规格信息 String oldQzzNo = ObjectUtil.isNotEmpty(startPoint.getQzz_no1()) ? startPoint.getQzz_no1() : startPoint.getQzz_no2(); @@ -167,21 +154,7 @@ public class AutoCallAirShaftTask { } // 最多两条 List oldPlans = slittingproductionplanService.getByQzzNo(oldQzzNo); - for (PdmBiSlittingproductionplan plan : oldPlans) { - if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(plan.getLeft_or_right())) { - if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { - param.put("currentLeft", plan.getPaper_tube_model()); - } else { - param.put("currentLeft", plan.getFRP_model()); - } - } else { - if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { - param.put("currentRight", plan.getPaper_tube_model()); - } else { - param.put("currentRight", plan.getFRP_model()); - } - } - } + SlitterTaskUtil.putCurrentPaperSpec(param, oldPlans); // 套管数量 param.put("casingCount", needPlans.size()); // 拔管数量 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java new file mode 100644 index 000000000..88478a8b1 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/util/SlitterTaskUtil.java @@ -0,0 +1,101 @@ +package org.nl.b_lms.sch.tasks.slitter.util; + +import com.alibaba.fastjson.JSONObject; +import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; +import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant; + +import java.util.List; + +/** + * @Author: lyd + * @Description: 分切部分的任务工具类 + * @Date: 2024/4/12 + */ +public class SlitterTaskUtil { + /** + * 组成纸管信息 + * @param plan 对应的分切计划数组 + * @return 组成的纸管信息 + */ + public static String getPaperTubeInformation(PdmBiSlittingproductionplan plan) { + StringBuilder sb = new StringBuilder(); + // 长*外径*内径*壁厚*重量*材质(1纸管,2FRP管) + // 长 + sb.append(plan.getPaper_tube_model().split("\\|")[3]); + sb.append("*"); + // 外径 + sb.append(0); + sb.append("*"); + // 内径 + sb.append(0); + sb.append("*"); + // 壁厚 + sb.append(0); + sb.append("*"); + // 重量 + sb.append(0); + sb.append("*"); + // 材质 + sb.append(plan.getPaper_tube_or_FRP()); + return sb.toString(); + } + + /** + * 设置所需的套管纸管信息 + * @param param 任务参数 + * @param needPlans 所需的分切计划 + */ + public static void putNeedPaperSpec(JSONObject param, List needPlans) { + for (PdmBiSlittingproductionplan plan : needPlans) { + if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(plan.getLeft_or_right())) { + if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { + param.put("left", plan.getPaper_tube_material()); + param.put("leftSize", plan.getPaper_tube_model().split("\\|")[2].charAt(0)); + } else { + param.put("left", plan.getFRP_material()); + param.put("leftSize", plan.getFRP_model().split("\\|")[2].charAt(0)); + } + param.put("leftSpec", SlitterTaskUtil.getPaperTubeInformation(plan)); + } else { + if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { + param.put("right", plan.getPaper_tube_material()); + param.put("rightSize", plan.getPaper_tube_model().split("\\|")[2].charAt(0)); + } else { + param.put("right", plan.getFRP_material()); + param.put("rightSize", plan.getFRP_model().split("\\|")[2].charAt(0)); + } + param.put("rightSpec", SlitterTaskUtil.getPaperTubeInformation(plan)); + } + } + } + + /** + * 设置当前的拔管纸管信息 + * @param param 任务参数 + * @param oldPlans 老的分切计划 + */ + public static void putCurrentPaperSpec(JSONObject param, List oldPlans) { + for (PdmBiSlittingproductionplan plan : oldPlans) { + if (SlitterConstant.SLITTER_SUB_VOLUME_LEFT.equals(plan.getLeft_or_right())) { + if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { + param.put("currentLeft", plan.getPaper_tube_material()); + param.put("currentLeftSize", plan.getPaper_tube_model().split("\\|")[2].charAt(0)); + } else { + param.put("currentLeft", plan.getFRP_material()); + param.put("currentLeftSize", plan.getFRP_model().split("\\|")[2].charAt(0)); + } + param.put("currentLeftSpec", SlitterTaskUtil.getPaperTubeInformation(plan)); + } else { + if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { + param.put("currentRight", plan.getPaper_tube_model()); + param.put("currentRightSize", plan.getPaper_tube_model().split("\\|")[2].charAt(0)); + } else { + param.put("currentRight", plan.getFRP_model()); + param.put("currentRightSize", plan.getFRP_model().split("\\|")[2].charAt(0)); + } + param.put("currentLeftSpec", SlitterTaskUtil.getPaperTubeInformation(plan)); + } + } + } + +}