Browse Source

储运票据导出完善牌号显示,处理装运打印单定尺小于20的数据乘以1000

lingpeng.li 1 month ago
parent
commit
763979fa81

+ 8 - 1
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/controller/StorageBillPrintController.java

@@ -93,6 +93,9 @@ public class StorageBillPrintController extends JeecgController<StorageBillPrint
 
     @Autowired
     BilletRulerConfigMapper billetRulerConfigMapper;
+    @Autowired
+    private ISysDictService sysDictService;
+
     /**
      * 分页列表查询
      *
@@ -367,7 +370,6 @@ public class StorageBillPrintController extends JeecgController<StorageBillPrint
             finalList.forEach(x -> {
                 StorageCenterExportRow exportRow = new StorageCenterExportRow();
                 exportRow.setAmount(x.getAmountTotal());
-                exportRow.setBrand(x.getBrandNum());
                 exportRow.setCcmNo(Integer.valueOf(x.getCcmNo()));
                 exportRow.setEndPoint(x.getDestination());
                 exportRow.setFactoryDate(DateUtils.date2Str(x.getArrivalTime(), DateUtils.datetimeFormat.get()));
@@ -381,6 +383,11 @@ public class StorageBillPrintController extends JeecgController<StorageBillPrint
                 exportRow.setTransportUnit(getTransportUnitNameByCarNumber(x.getLicensePlate()));
                 exportRow.setTotalWeight(x.getWeight());
 
+                String brandNum = Optional.ofNullable(x.getBrandNum())
+                        .map(bn -> sysDictService.queryDictTextByKey("billet_spec", bn))
+                        .orElseGet(() -> sysDictService.queryDictTextByKey("billet_spec", "5"));
+                exportRow.setBrand(brandNum);
+
                 // 查询定尺规则
                 LambdaQueryWrapper<BilletRulerConfig> queryWrapperbilletRulerConfig = new LambdaQueryWrapper<BilletRulerConfig>().eq(BilletRulerConfig::getLength, Integer.valueOf(x.getSize()));
                 BilletRulerConfig billetRulerConfig = billetRulerConfigMapper.selectOne(queryWrapperbilletRulerConfig);

+ 33 - 0
zgztBus/jeecg-module-sbm/src/main/java/org/jeecg/modules/billet/storageBill/service/impl/StorageBillPrintServiceImpl.java

@@ -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