Forráskód Böngészése

计量重新计算失败

chenr 3 hónapja
szülő
commit
1c24cfb912

+ 13 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -3606,6 +3606,9 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             monthlyReport.setChangeMeterMoney(monthlyReport.getAfterCurrentMeterMoney().subtract(monthlyReport.getCurrentMeterMoney()));
             monthlyReport.setChapterSeq(vo.getChapterNumber());
             String key = vo.getChapterNumber();
+            if(StringUtils.isEmpty(key)){
+                key=vo.getFormNumber();
+            }
             if (list.size() > 0) {
                 OptionalInt index = IntStream.range(0, list.size())
                         .filter(i -> list.get(i).getId().equals(periodId))
@@ -4277,7 +4280,16 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
             Map<String, List<MeterInventoryVO1>> groupedMeter = new HashMap<>();
             List<String> listUrl = new ArrayList<>();
             for (MeterInventoryVO1 vo1 : list1) {
-                String firstChar = vo1.getImportNumber().substring(0, 3);
+                String firstChar;
+                if(StringUtils.isEmpty(vo1.getImportNumber())){
+                    firstChar=vo1.getFormNumber();
+                }else if(vo1.getImportNumber().length()<3){
+                    firstChar=vo1.getFormNumber();
+                }else if(!vo1.getImportNumber().matches("\\d{3}")){
+                    firstChar=vo1.getFormNumber();
+                }else {
+                    firstChar = vo1.getImportNumber().substring(0, 3);
+                }
                 groupedMeter.computeIfAbsent(firstChar, k -> new ArrayList<>()).add(vo1);
             }
             //根据编号的不同建立不同的excel