Bladeren bron

fix: 报告生成bug

32197351@qq.com 2 jaren geleden
bovenliggende
commit
451c893fae

+ 8 - 4
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/baogao/service/impl/ItdmBaogaoServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.constant.SymbolConstant;
 import org.jeecg.config.JeecgBaseConfig;
 import org.jeecg.modules.baogao.convert.BaogaoConvert;
@@ -202,7 +203,7 @@ public class ItdmBaogaoServiceImpl extends ServiceImpl<ItdmBaogaoMapper, ItdmBao
         map.put("wendu", dto.getWendu());
         map.put("shidu", dto.getShidu());
         map.put("daqiya", dto.getDaqiya());
-        map.putAll(PoiTiUtils.getBaogaoImage(getBaogaoImage(dto)));
+        map.putAll(PoiTiUtils.getBaogaoImage(getBaogaoImage(dto), jeecgBaseConfig));
 
         map.putAll(PoiTiUtils.getYSdata(getBaogaoShuju(dto), this.getYSZItdmMobanPath()));
 
@@ -247,10 +248,13 @@ public class ItdmBaogaoServiceImpl extends ServiceImpl<ItdmBaogaoMapper, ItdmBao
 
 
         for (String chuangant : chuangants) {
-            String[] chuangantArr = chuangant.split(",");
-            for (String ch : chuangantArr) {
-                chuanganqitIds.add(ch);
+            if (StringUtils.isNotBlank(chuangant)) {
+                String[] chuangantArr = chuangant.split(",");
+                for (String ch : chuangantArr) {
+                    chuanganqitIds.add(ch);
+                }
             }
+
         }
 
         if (chuangants == null || chuangants.size() == 0) {

+ 31 - 16
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/baogao/util/PoiTiUtils.java

@@ -10,6 +10,7 @@ import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
 import org.apache.commons.collections4.ListUtils;
 import org.apache.commons.lang3.time.DateUtils;
 
+import org.jeecg.config.JeecgBaseConfig;
 import org.jeecg.modules.baogao.common.BGType;
 import org.jeecg.modules.baogao.common.BGXsType;
 import org.jeecg.modules.baogao.dto.ItdmBaogaoCreateDTO;
@@ -19,6 +20,7 @@ import org.jeecg.modules.weituo.entity.ItdmWeituoInfo;
 import org.jeecg.modules.weituo.entity.ItdmWeituoYangpin;
 import org.jeecg.modules.weituo.entity.ItdmWeituoYangpinExtend;
 
+import java.io.File;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.text.ParseException;
@@ -107,17 +109,33 @@ public class PoiTiUtils {
     }
 
 
-    public static Map<String, Object> getBaogaoImage(List<String> list) {
+    public static Map<String, Object> getBaogaoImage(List<String> list, JeecgBaseConfig jeecgBaseConfig) {
 
-        List<Map<String, Object>> mapList = list.stream().map(
-                i -> {
-                    Map<String, Object> map1 = new HashMap<>();
-                    map1.put("path", i);
-                    map1.put("name", FileUtil.mainName(i));
-                    return map1;
-                }
+        List<Map<String, Object>> mapList = new ArrayList<>();
+
+
+        for (String i : list) {
+
+
+            StringBuilder filename = new StringBuilder();
+            String[] filenames = i.split("\\/" );
+
+            for (String s : filenames) {
+                filename.append(s).append(File.separator);
+            }
+            filename = new StringBuilder(filename.substring(0, filename.length() - File.separator.length()));
+            String filePath = jeecgBaseConfig.getPath().getUpload() + File.separator + filename;
 
-        ).collect(Collectors.toList());
+
+            if (FileUtil.exist(filePath)) {
+                Map<String, Object> map1 = new HashMap<>();
+                map1.put("path", filePath);
+                map1.put("name", FileUtil.mainName(i));
+                mapList.add(map1);
+            }
+
+
+        }
 
         Map<String, Object> map = new HashMap<>();
 
@@ -301,14 +319,11 @@ public class PoiTiUtils {
 
     public static void main(String[] args) throws ParseException, IOException {
 
-        List<Map<String, Object>> list = new ArrayList<>();
-        for (int i = 0; i < 72; i++) {
-            Map<String, Object> map = new HashMap<>();
-            map.put("key", "key" + i);
-            map.put("value", "value" + i);
-            list.add(map);
-        }
+        String i = "temp/a.jpg";
+
+        String filename = i.replaceAll("\\/", "_");
 
+        System.out.println(filename);
 
     }
 

+ 3 - 1
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/itdmGongDan/mapper/xml/ItdmTestPlanMapper.xml

@@ -17,7 +17,7 @@
                    #{item}
         </foreach>
 
-
+        and  c.chuanganqi is not null
 
     </select>
     <select id="geSBByShiyanid" resultType="java.lang.String">
@@ -35,6 +35,7 @@
         <foreach item="item" collection="list" separator="," open="(" close=")" index="">
             #{item}
         </foreach>
+        and  c.shiji_shebei_id is not null
 
 
     </select>
@@ -52,6 +53,7 @@
         <foreach item="item" collection="list" separator="," open="(" close=")" index="">
             #{item}
         </foreach>
+        and c.extra_pic is not null
 
     </select>
     <select id="getShujuByShiyanid" resultType="java.util.HashMap">