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 index 88478a8b1..73984237f 100644 --- 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 @@ -1,10 +1,12 @@ package org.nl.b_lms.sch.tasks.slitter.util; +import cn.hutool.core.util.NumberUtil; 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; +import java.util.StringJoiner; /** * @Author: lyd @@ -16,21 +18,46 @@ public class SlitterTaskUtil { * 组成纸管信息 * @param plan 对应的分切计划数组 * @return 组成的纸管信息 + *
纸制筒管|纸管|6英寸|1300 or 纸制筒管|纸管|3英寸|12|650 + * 长度:1300mm + * 外径:6*25.4mm+15*2mm=182.4mm + * 内径:6英寸(25.4mm/英寸) + * 壁厚:15mm(常规)、特殊12mm + * 材质:纸管
*/ public static String getPaperTubeInformation(PdmBiSlittingproductionplan plan) { + // 纸管描述 + String tubeDescription; + if (SlitterConstant.SLITTER_TYPE_PAPER.equals(plan.getPaper_tube_or_FRP())) { + tubeDescription = plan.getPaper_tube_description(); + } else { + tubeDescription = plan.getFRP_description(); + } + // 解析描述数组 + String[] tubeArray = tubeDescription.split("\\|"); + // 定义尺寸与长度 + double dia = Double.parseDouble(Character.toString(tubeArray[2].charAt(0))); + + // 假设壁厚默认值为15,如果描述数组长度为4,则重新赋值 + String th = tubeArray.length == 5 ? tubeArray[3] : "15"; + + // 计算外径和内径 + double externalDiameter = dia * 25.4 + Double.parseDouble(th) * 2; + double internalDiameter = dia * 25.4; + StringBuilder sb = new StringBuilder(); // 长*外径*内径*壁厚*重量*材质(1纸管,2FRP管) // 长 - sb.append(plan.getPaper_tube_model().split("\\|")[3]); + sb.append(tubeArray[tubeArray.length - 1]); sb.append("*"); // 外径 - sb.append(0); + sb.append(NumberUtil.round(externalDiameter, 1).doubleValue()); sb.append("*"); // 内径 - sb.append(0); + sb.append(NumberUtil.round(internalDiameter, 1).doubleValue()); sb.append("*"); // 壁厚 - sb.append(0); + sb.append(th); sb.append("*"); // 重量 sb.append(0);