Ver Fonte

顽症报告导出

zhuang há 1 ano atrás
pai
commit
413bbc2d61

+ 10 - 1
business-common/pom.xml

@@ -55,6 +55,15 @@
             <artifactId>DmJdbcDriver18</artifactId>
             <version>8.1.1.193</version>
         </dependency>
-
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext</artifactId>
+            <version>2.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>com.lowagie</groupId>
+            <artifactId>itext-rtf</artifactId>
+            <version>2.1.7</version>
+        </dependency>
     </dependencies>
 </project>

+ 36 - 28
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxPersistentManageServiceImpl.java

@@ -229,37 +229,18 @@ public class ZhcxPersistentManageServiceImpl extends ServiceImpl<ZhcxPersistentM
                     }
                     Map<String, List<ZhcxPersistentManageDo>> typeList = v.stream()
                             .collect(Collectors.groupingBy(ZhcxPersistentManageDo::getType));
+                    List<ZhcxPersistentManageDo> rewardListData = new ArrayList<>();
+                    List<ZhcxPersistentManageDo> punishListData = new ArrayList<>();
                     typeList.forEach((k1, v1) -> {
-                        Map<String, List<ZhcxPersistentManageDo>> collect = v1.stream()
-                                .collect(Collectors.groupingBy(ZhcxPersistentManageDo::getFirstorgname));
-                        try {
-                            Document docDetail = null;
-
-                            if (k1.contains("处罚")) {
-                                SysFileItemDo fileTemp = sysFileItemService.getById("fc9d0bd3d7354037afa6092d6a64ed5a");
-                                docDetail = WordHelpUtils.getDoc(fileTemp.getFullpath());
-                            }else{
-                                SysFileItemDo fileTemp = sysFileItemService.getById("73ae110bb9e84aeab985c14d4678670b");
-                                docDetail = WordHelpUtils.getDoc(fileTemp.getFullpath());
-                            }
-                            //如果要以动态形式创建一个文档,最常用的方式是使用DocumentBuilder来增加内容。
-                            DocumentBuilder builder = new DocumentBuilder(docDetail);
-                            //将光标移动到该处
-                            builder.moveToDocumentEnd();
-
-                            //循环动态添加表格
-                            createTable(builder,docDetail,collect,"table1",0);
-
-                            DocumentBuilder builder3 = new DocumentBuilder(doc[0]);
-                            builder3.moveToDocumentEnd();
-                            // 插入换行符,确保第二个文档内容在新行开始
-                            builder3.writeln();
-                            builder3.insertDocument(docDetail, ImportFormatMode.KEEP_DIFFERENT_STYLES);
-                        } catch (Exception e) {
-                            e.printStackTrace();
+                        if (k1.contains("处罚")) {
+                            rewardListData.addAll(v1);
+                        }else{
+                            punishListData.addAll(v1);
                         }
-
                     });
+                    initWeekWord(doc, punishListData,"fc9d0bd3d7354037afa6092d6a64ed5a");
+                    initWeekWord(doc, rewardListData,"73ae110bb9e84aeab985c14d4678670b");
+
                 }
                 i.getAndIncrement();
                 if(i.get() < groupList.size() - 1) {
@@ -281,6 +262,33 @@ public class ZhcxPersistentManageServiceImpl extends ServiceImpl<ZhcxPersistentM
         return 1;
     }
 
+    private void initWeekWord(Document[] doc, List<ZhcxPersistentManageDo> rewardListData, String tempId) {
+        if(rewardListData.size()>0){
+            Map<String, List<ZhcxPersistentManageDo>> collect = rewardListData.stream()
+                    .collect(Collectors.groupingBy(ZhcxPersistentManageDo::getFirstorgname));
+            try {
+                Document docDetail = null;
+                SysFileItemDo fileTemp = sysFileItemService.getById(tempId);
+                docDetail = WordHelpUtils.getDoc(fileTemp.getFullpath());
+                //如果要以动态形式创建一个文档,最常用的方式是使用DocumentBuilder来增加内容。
+                DocumentBuilder builder = new DocumentBuilder(docDetail);
+                //将光标移动到该处
+                builder.moveToDocumentEnd();
+
+                //循环动态添加表格
+                createTable(builder,docDetail,collect,"table1",0);
+
+                DocumentBuilder builder3 = new DocumentBuilder(doc[0]);
+                builder3.moveToDocumentEnd();
+                // 插入换行符,确保第二个文档内容在新行开始
+                builder3.writeln();
+                builder3.insertDocument(docDetail, ImportFormatMode.KEEP_DIFFERENT_STYLES);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
 
     /**
      * 填充 word 模板(map数据格式)