Pārlūkot izejas kodu

根据模板生成PDF,excel更轻请求方式

huangpeng 3 nedēļas atpakaļ
vecāks
revīzija
eaedeaeb0f

+ 2 - 2
qhse-common/src/main/java/com/rongwei/bscommon/sys/service/QhseDangerRewardManagementService.java

@@ -13,9 +13,9 @@ import java.util.HashMap;
  */
 public interface QhseDangerRewardManagementService extends IService<QhseDangerRewardManagementDo> {
 
-    void CreatPdfFromWordTemp(String id, String url);
+    void CreatPdfFromWordTemp(HashMap<String,String> map);
 
 
-    void CreatFromExcelTemp(String id, String url);
+    void CreatFromExcelTemp(HashMap<String,String> map);
 }
 

+ 22 - 8
qhse-common/src/main/java/com/rongwei/bscommon/sys/service/impl/QhseDangerRewardManagementServiceImpl.java

@@ -110,7 +110,10 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
     private static final SimpleDateFormat formatYmd= new SimpleDateFormat("yyyy-MM-dd");
 
     @Override
-    public void CreatPdfFromWordTemp(String id, String tempUrl) {
+    public void CreatPdfFromWordTemp(HashMap<String,String> map) {
+
+        String id =map.get("id");
+        String tempUrl=map.get("url");
 
         String uuid = SecurityUtil.getUUID();
         String outputFile ="/upload_files/rewardPunishment//"+uuid+".pdf";
@@ -130,6 +133,14 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
             Document doc = new Document(templateStream);
             // 设置邮件合并回调
             doc.getMailMerge().setFieldMergingCallback(new WordMergeHandler());
+            //判空
+            if (rewardHzData.isEmpty()){
+                rewardHzData.add(new HashMap<>());
+            }
+
+            if (rewardMxData.isEmpty()){
+                rewardMxData.add(new HashMap<>());
+            }
 
             DataTable dataTable1 = WordUtils.fillListData(rewardHzData, "list1");
             DataTable dataTable2 = WordUtils.fillListData(rewardMxData, "list2");
@@ -161,7 +172,11 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
     }
 
     @Override
-    public void CreatFromExcelTemp(String id, String tempUrl) {
+    public void CreatFromExcelTemp(HashMap<String,String> map) {
+
+        String id =map.get("id");
+        String tempUrl=map.get("url");
+
 
         String uuid = SecurityUtil.getUUID();
         String outputFile ="/upload_files/rewardPunishment//"+uuid+".xlsx";
@@ -230,7 +245,6 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
      * @param idsSet
      * @param map
      * @param key
-     * @param builder
      */
     private void setPHotoCommon(  Set<String> idsSet ,Map<String, String> map ,String key){
         if(StringUtils.isNotBlank(map.get(key))){
@@ -309,10 +323,10 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
         }
         for (String imageField : IMAGE_FIELDS) {
             if (field.equals(imageField)){
-              return;
+                return;
             }
         }
-      cell.setCellValue(String.valueOf(value));
+        cell.setCellValue(String.valueOf(value));
 
 
     }
@@ -333,10 +347,10 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
         objectObjectHashMap.put("HIDDENDANGERSTOTALNUMBER",mainData.getHiddendangerstotalnumber()+"");
         objectObjectHashMap.put("HIDDENDANGERSMAJORNUMBER",mainData.getHiddendangersmajornumber()+"");
         objectObjectHashMap.put("HIDDENDANGERSGENERALNUMBER",mainData.getHiddendangerstotalnumber()+"");
-        objectObjectHashMap.put("REWARDSTOTALAMOUNT",mainData.getRewardstotalamount().toPlainString());
+        objectObjectHashMap.put("REWARDSTOTALAMOUNT",mainData.getRewardstotalamount()==null?null:mainData.getRewardstotalamount().toPlainString());
         objectObjectHashMap.put("RETURNEDNUMBER",mainData.getReturnednumber()+"");
         objectObjectHashMap.put("COMPLETEDRECTIFICATIONSNUMBER",mainData.getCompletedrectificationsnumber()+"");
-        objectObjectHashMap.put("RECTIFICATIONCOMPLETIONRATE",mainData.getRectificationcompletionrate().toPlainString()+"%");
+        objectObjectHashMap.put("RECTIFICATIONCOMPLETIONRATE",mainData.getRectificationcompletionrate()==null?"":mainData.getRectificationcompletionrate().toPlainString()+"%");
         objectObjectHashMap.put("SUBMISSIONTIME",YearMonth);
     }
 
@@ -364,7 +378,7 @@ public class QhseDangerRewardManagementServiceImpl extends ServiceImpl<QhseDange
         Picture picture = drawing.createPicture(anchor, pictureIndex);
         picture.getImageDimension().setSize(DEFAULT_PICTURE_WIDTH, DEFAULT_PICTURE_HEIGHT); // 宽200px,高150px
         // 6. 可选:调整图片大小
-       // picture.resize(); // 自动调整大小(POI 4.1.2+)
+        // picture.resize(); // 自动调整大小(POI 4.1.2+)
     }
 
 

+ 10 - 10
qhse-server/src/main/java/com/rongwei/controller/QhseDangerRewardManagementController.java

@@ -1,10 +1,12 @@
 package com.rongwei.controller;
 import com.rongwei.bscommon.sys.service.QhseDangerRewardManagementService;
+import com.rongwei.bsentity.domain.MaterialOutboundDo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.bind.annotation.*;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import java.util.HashMap;
 
 
 /**
@@ -30,19 +32,17 @@ public class QhseDangerRewardManagementController  {
      * @param id
      * @param fileName
      */
-    @GetMapping("/CreatPdfFromWordTemp")
-    public void CreatPdfFromWordTemp(@RequestParam("id") String id,
-                                     @RequestParam("url") String url) {
-        logger.info("根据模板生成PDF 附件 到奖励附件中:id:{},url:{}", id,url);
-        qhseDangerRewardManagementService.CreatPdfFromWordTemp(id,url);
+    @PostMapping("/CreatPdfFromWordTemp")
+    public void CreatPdfFromWordTemp(@RequestBody HashMap<String,String> map) {
+        logger.info("根据模板生成PDF 附件 到奖励附件中:map:{},", map.toString());
+        qhseDangerRewardManagementService.CreatPdfFromWordTemp(map);
     }
 
-    @GetMapping("/CreatFromExcelTemp")
-    public void CreatPdfFromExcelTemp( @RequestParam("id") String id,
-                                       @RequestParam("url") String url
+    @PostMapping("/CreatFromExcelTemp")
+    public void CreatPdfFromExcelTemp( @RequestBody HashMap<String,String> map
     ) {
-        logger.info("根据模板生成EXCEL 附件 到奖励附件中:id:{},url:{}", id,url);
-        qhseDangerRewardManagementService.CreatFromExcelTemp(id,url);
+        logger.info("根据模板生成EXCEL 附件 到奖励附件中:map:{},", map.toString());
+        qhseDangerRewardManagementService.CreatFromExcelTemp(map);
     }