|
@@ -68,10 +68,43 @@ public class StorageBillPrintServiceImpl extends ServiceImpl<StorageBillPrintMap
|
|
|
// 修改:复制属性到已存在对象
|
|
|
storageBillPrint = existing;
|
|
|
BeanUtils.copyProperties(addDTO, storageBillPrint, "id", "heatNo", "createTime", "updateTime");
|
|
|
+ // 处理 size 字段:如果以 , 分隔后某项小于 20,则乘以 1000
|
|
|
+ if (StringUtils.isNotBlank(addDTO.getSize())) {
|
|
|
+ String processedSize = Arrays.stream(addDTO.getSize().split(","))
|
|
|
+ .map(String::trim)
|
|
|
+ .map(s -> {
|
|
|
+ try {
|
|
|
+ double val = Double.parseDouble(s);
|
|
|
+ double result = val < 20 ? val * 1000 : val;
|
|
|
+ return String.valueOf((int) result); // 转成整数后输出
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ return s; // 非数字保留原样
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ storageBillPrint.setSize(processedSize);
|
|
|
+ }
|
|
|
} else {
|
|
|
// 新增:创建新对象
|
|
|
storageBillPrint = new StorageBillPrint();
|
|
|
BeanUtils.copyProperties(addDTO, storageBillPrint, "heatNo");
|
|
|
+ // 处理 size 字段:如果以 , 分隔后某项小于 20,则乘以 1000
|
|
|
+ if (StringUtils.isNotBlank(addDTO.getSize())) {
|
|
|
+ String processedSize = Arrays.stream(addDTO.getSize().split(","))
|
|
|
+ .map(String::trim)
|
|
|
+ .map(s -> {
|
|
|
+ try {
|
|
|
+ double val = Double.parseDouble(s);
|
|
|
+ double result = val < 20 ? val * 1000 : val;
|
|
|
+ return String.valueOf((int) result); // 转成整数后输出
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ return s; // 非数字保留原样
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ storageBillPrint.setSize(processedSize);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// heatNo Map 转 JSON
|