Browse Source

模型数据

yangyj 1 year ago
parent
commit
4042e6a69c

+ 7 - 6
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/DataModel.java

@@ -22,11 +22,12 @@ import java.util.stream.Collectors;
  * @description 数据模型接口
  */
 public  interface DataModel {
-    /*生产环境*/
-    Boolean once= SystemUtils.isLinux();
+    /*生产环境SystemUtils.isLinux()*/
+    Boolean once=SystemUtils.isLinux();
 
     List<Class<?>> classes=new ArrayList<>();
     LinkedHashMap<String,List<WbsFormElementVO>> tableElementMap = new LinkedHashMap<>();
+    LinkedHashMap<String,List<WbsFormElementVO>> tableElementMapTbn = new LinkedHashMap<>();
     Map<String,Class<?>> tbnClassMap = new HashMap<>();
     /*扫描路径*/
     String PATH="org.springblade.manager.vo";
@@ -79,14 +80,14 @@ public  interface DataModel {
     /*返回值{TBN,List<WbsFormElementVO>}*/
     static LinkedHashMap<String,List<WbsFormElementVO>> getTableElementsMapTbn(){
         /*初始化或者本地开发环境的时候每次都生成*/
-        if(tableElementMap.isEmpty()||!once){
-            tableElementMap.clear();
+        if(tableElementMapTbn.isEmpty()||!once){
+            tableElementMapTbn.clear();
             getClasses().forEach(c->{
-                tableElementMap.put(getStaticFieldValue(c,TBN_FN),toElementVos(c));
+                tableElementMapTbn.put(getStaticFieldValue(c,TBN_FN),toElementVos(c));
             });
 
         }
-        return tableElementMap;
+        return tableElementMapTbn;
     }
     /*返回值{TBN,List<WbsFormElementVO>}*/
     static Map<String,Class<?>> getTbnClassMap(){

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/ExecutorMeter.java

@@ -936,6 +936,7 @@ public class ExecutorMeter extends FormulaExecutor {
             LinkedHashMap<String,InterimPayCertificateItem> currentMap = interimPayCertificateItemGroup.getOrDefault(tec.periodInfo.getReportId(),new LinkedHashMap<>());
              List<InterimPayCertificateItem> itemList = tec.meterInfo.getInterimPayCertificateItems();
              itemList.clear();
+            InterimPaymentCertificate thblj=null;
              if(Func.isNotEmpty(midPayItemList)){
                  /*暂定金编号,纠正*/
                  chapters.stream().filter(e->e.getFormName().contains("暂")).findFirst().ifPresent(t->{
@@ -998,6 +999,8 @@ public class ExecutorMeter extends FormulaExecutor {
                      payItemZj.add(new InterimPaymentCertificate("材料设备垫付款"));
                      payItemZj.add(new InterimPaymentCertificate("扣回材料设备垫付款"));
                      payItemZj.add(new InterimPaymentCertificate("保留金"));
+                      thblj=new InterimPaymentCertificate("退还保证金",true);
+                     payItemZj.add(thblj);
                      InterimPaymentCertificate sjzf=new InterimPaymentCertificate("实际支付",true);
                      addGetSetConfig(sjzf,InterimPaymentCertificate::getCurrentPeriodEndPay,sjzf::setCurrentPeriodEndPay);
                      addGetSetConfig(sjzf,InterimPaymentCertificate::getPreviousPeriodEndPay,sjzf::setPreviousPeriodEndPay);
@@ -1093,6 +1096,10 @@ public class ExecutorMeter extends FormulaExecutor {
                              item.setCurrentPeriodEndPay(sc.getCurrentPeriodEndPay());
                          });
                      }
+                     InterimPaymentCertificate finalThblj = thblj;
+                     dataList.stream().filter(e->e.getFormName().equals("合计")).findFirst().ifPresent(t->{
+                         finalThblj.setCurrentPeriodPay(multiFc.apply(t.getCurrentPeriodPay(),"10"));
+                     });
 
                      /*排序*/
                      List<String> indexSort =dataList.stream().map(InterimPaymentCertificate::getChapterSeq).collect(Collectors.toList());

+ 8 - 0
blade-service/blade-meter/src/main/java/org/springblade/meter/controller/TaskController.java

@@ -3563,7 +3563,12 @@ public class TaskController extends BladeController {
                 /*把Excel缺失的移除*/
                 reportResults.removeIf(rs -> !fileUrlMapping.containsKey(rs.getExcelId().toString()));
                 /*准备*/
+                LinkedHashMap<String,Map> rawListMap = new LinkedHashMap<>();
                 reportResults.forEach(rs -> {
+                    Map<String,Object> rawDataMap = new HashMap<>();
+                    rawDataMap.put("C",rs.getCommonData());
+                    rawDataMap.put("D",rs.getData());
+                    rawListMap.put(rs.getInitTableName(),rawDataMap);
                     if (rs.getInitTableName().equals("m_20240325154016_1772166597482381312")||rs.getInitTableName().equals("m_20240710170847_1810964374177710080")) {
                         List<Map.Entry<String,Object>> entries=rs.getData().get(0).entrySet().stream().filter(e->Integer.parseInt(e.getKey().split("_")[1])==1).sorted(Comparator.comparingInt(e->Integer.parseInt(e.getKey().split("_")[0]))).collect(Collectors.toList());
                         List<String> list =entries.stream().map(e->e.getValue().toString()).collect(Collectors.toList());
@@ -3592,6 +3597,9 @@ public class TaskController extends BladeController {
                         throw new RuntimeException(e);
                     }
                 });
+                CompletableFuture.runAsync(() -> {
+                    jdbcTemplate.update("INSERT INTO s_reprot_raw(report_id,raw_json) VALUES (?,?)", new Object[]{report.getId(), JSON.toJSONString(rawListMap)});
+                });
                 /*写死合并*/
                 /*List<ReportMergeCellsConfig> configList = ReportMergeCellsConfig.bulider();*/
                 /*每种表生成一份pdf*/