Parcourir la source

1、事件驱动报表 开始不创建子报表,等达到条件(数量达到了设置的条数)后创建

lhy il y a 11 mois
Parent
commit
f74151ab5b

+ 9 - 3
industry-system/industry-da/src/main/java/com/example/opc_da/policy/EventReportTableTask.java

@@ -77,13 +77,14 @@ public class EventReportTableTask implements DisposableBean {
      * @param policyItemList
      */
     public void add(List<ReportDataPolicyItem> policyItemList) {
-        if (this.cureentNum == 0 && Blank.isEmpty(this.currentReportTableId)) {
+        // 开始不创建子报表,等达到条件(数量达到了设置的条数)后创建
+        /*if (this.cureentNum == 0 && Blank.isEmpty(this.currentReportTableId)) {
             //生成一个新的子报表
             String id = IdUtil.createSnowflake(1, 1).nextId() + "";
             this.currentReportTableId = id;
             asyncTask.addHaveKeyChReport(reportTable.getId(), id,
                     ConstantStr.EVENT_GENERATE_REPORT, reportTable.getReportTableData(), false);
-        }
+        }*/
         this.cureentNum++;
         if (CollUtil.isNotEmpty(itemDataMap)) {
             for (Map.Entry<String, List<Item>> entry : itemDataMap.entrySet()) {
@@ -102,6 +103,11 @@ public class EventReportTableTask implements DisposableBean {
         }
         //如果数量达到了设置的条数
         if (this.cureentNum == this.flagNum) {
+            //生成一个新的子报表
+            String id = IdUtil.createSnowflake(1, 1).nextId() + "";
+            this.currentReportTableId = id;
+            asyncTask.addHaveKeyChReport(reportTable.getId(), id,
+                    ConstantStr.EVENT_GENERATE_REPORT, reportTable.getReportTableData(), false);
             generateReportTable();
             //是否打印报表
             if (this.reportTable.getIsRunPrint() == 1) {
@@ -122,7 +128,7 @@ public class EventReportTableTask implements DisposableBean {
      * 根据当前报表任务的数据,生成对应的事件驱动报表,并更新到数据库
      */
     public void generateReportTable() {
-        //将解析完的子报表,异步存入到数据库中
+        //将解析完的子报表,存入到数据库中
         asyncTask.updateReportTableDataById(this.reportTable.getId(),this.currentReportTableId
                 , this.currentReportTableData, new HashMap<>(this.itemDataMap));
     }