fix: 组成的纸管信息

This commit is contained in:
2024-04-22 15:06:38 +08:00
parent 7443ad209d
commit 0877a0dc3a

View File

@@ -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 组成的纸管信息
* <p>纸制筒管|纸管|6英寸|1300 or 纸制筒管|纸管|3英寸|12|650
* 长度:1300mm
* 外径:6*25.4mm+15*2mm=182.4mm
* 内径:6英寸(25.4mm/英寸)
* 壁厚:15mm(常规)、特殊12mm
* 材质:纸管</p>
*/
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);