فهرست منبع

5、6号机-轧钢外运维护定尺

lingpeng.li 1 ماه پیش
والد
کامیت
e85f253ae6

+ 23 - 4
zgzt-sys-java/jeecg-module-conn/src/main/java/org/jeecg/modules/billetActual/service/impl/BilletHotsendBaseServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.util.DateUtils;
 import org.jeecg.common.util.oConvertUtils;
@@ -1041,10 +1042,28 @@ public class BilletHotsendBaseServiceImpl extends ServiceImpl<BilletHotsendBaseM
 			storageBillInfo.setSpec(rollClubCommon.getSpec());//规格
 			storageBillInfo.setHeatNo(rollClubCommon.getHeatNo());// 炉号
 		}
-		List<Integer> sizeList = rollClubCommonList.stream().map(RollClubCommon::getLength).distinct().collect(Collectors.toList());
-		List<String> sizeLists = sizeList.stream().map(String::valueOf).collect(Collectors.toList());
-		String sizeString = String.join(",", sizeLists);
-		storageBillInfo.setSize(sizeString);// 定尺
+		// 获取 rollClubCommonList 中的长度并转成字符串集合
+		List<String> sizeFromList = rollClubCommonList.stream()
+				.map(RollClubCommon::getLength)
+				.distinct()
+				.map(String::valueOf)
+				.collect(Collectors.toList());
+
+		// 使用 LinkedHashSet 保持顺序(已有的在前)
+		Set<String> mergedSizeSet = new LinkedHashSet<>();
+		if (StringUtils.isNotBlank(storageBillInfo.getSize())) {
+			mergedSizeSet.addAll(Arrays.asList(storageBillInfo.getSize().split(",")));
+		}
+
+		// 添加新的长度(自动去重)
+		mergedSizeSet.addAll(sizeFromList);
+
+		// 设置回 storageBillInfo
+		String finalSizeString = String.join(",", mergedSizeSet);
+		if (StringUtils.isNotBlank(finalSizeString)) {
+			storageBillInfo.setSize(finalSizeString);
+		}
+
 		List<String> stringList = billetBasicInfoList.stream().map(BilletBasicInfo::getAssemblyNumber).filter(assemblyNumber -> oConvertUtils.isNotEmpty(assemblyNumber)).collect(Collectors.toList());
 		if(oConvertUtils.listIsNotEmpty(stringList)) {
 			String distinctAssemblyNumber = billetBasicInfoList.stream()