Преглед на файлове

核心检验指标Word导出加说明和图片

DLC преди 4 месеца
родител
ревизия
601652b552

+ 7 - 8
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxCommissionCheckDetailTreeDao.java

@@ -1,20 +1,16 @@
 package com.rongwei.bscommon.sys.dao;
 
-import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailTreeDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailTreeDo;
 import com.rongwei.bsentity.dto.commission.CopyDetailDto;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Insert;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.*;
 
 import java.util.List;
 import java.util.Map;
-import org.apache.ibatis.annotations.Update;
 
 /**
  * <p>
- *  Mapper 接口
+ * Mapper 接口
  * </p>
  *
  * @author dlc
@@ -37,7 +33,7 @@ public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommiss
             "  zcc.ID = d.BASEINFOID " +
             "  AND zcc.PROJECTID = #{projectId} AND (dn.STATUS IS NULL OR dn.STATUS = '' OR dn.STATUS = '在制' OR dn.STATUS = '已交机'))")
     void delByPrjId(@Param("projectId") String projectId);
-    
+
     @Insert("INSERT " +
             " INTO " +
             " ZHCX_COMMISSION_CHECK_DETAIL_TREE(ID, " +
@@ -85,6 +81,7 @@ public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommiss
 
     /**
      * 查询检查内容树表
+     *
      * @param map
      * @return
      */
@@ -106,6 +103,8 @@ public interface ZhcxCommissionCheckDetailTreeDao extends BaseMapper<ZhcxCommiss
             "\tBASEINFOID,\n" +
             "\tPRODUCTTYPE,\n" +
             "\tFULLPID,\n" +
+            "\tANNEX,\n" +
+            "\tSUMMARY,\n" +
             "\t\"LEVEL\",\n" +
             "\tIF(SORT IS NOT NULL\n" +
             "\tOR SORT != '',\n" +

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

@@ -880,6 +880,8 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
                 ZhcxCommissionCheckDetailWordVO checkDetailWordVO = new ZhcxCommissionCheckDetailWordVO();
                 checkDetailWordVO.setTitleContent(item.getName());
                 checkDetailWordVO.setLevel(item.getLevel());
+                checkDetailWordVO.setSummary(item.getSummary());
+                checkDetailWordVO.setAnnex(item.getAnnex());
                 checkDetailWordVO.setDetailList(new LinkedList<>());
                 if (!"-1".equals(item.getPid())) {
                     //目前标题最多到三级
@@ -1011,6 +1013,25 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
                         buildTitleContent(builder, DEFAULT_FONT_NAME, StyleIdentifier.HEADING_3, 15, true, res.getChapterno() + "." + res.getTitleContent(), null);
                     }
                 }
+                //摘要及图片
+                if (StringUtils.isNotBlank(res.getSummary())) {
+                    buildTitleContent(builder, DEFAULT_FONT_NAME, StyleIdentifier.HEADING_5, 10, false, res.getSummary(), null);
+                }
+                if (StringUtils.isNotBlank(res.getAnnex())) {
+                    // 文件存储路径目录
+                    String filePath = sysConfigService.getContentByConfigCode(Constants.CONFIG_FILE_ROOT_PATH);
+                    String outputDir = filePath + "\\by_files\\driveinspection_files\\"; // 写死
+                    String[] annexArr = res.getAnnex().split("\\^\\_\\^");
+                    for (String imginfo : annexArr) {
+                        String[] imgArr = imginfo.split("-;-");
+                        String imgFullName = imgArr[1] + "." + imgArr[0].split("\\.")[1];
+                        String imgPath = outputDir + imgFullName;
+                        Shape shape = builder.insertImage(imgPath);
+                        shape.setWidth(80); // 宽度 200 磅
+                        shape.setHeight(80); // 高度 150 磅
+                    }
+                }
+
                 if (ObjectUtil.isNotEmpty(res.getDetailList())) {
                     // 插入表头
                     builder.insertCell();
@@ -1113,18 +1134,22 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
                 // 将第一页页眉的内容克隆到当前页眉
                 for (Node node : firstPageHeader.getChildNodes(NodeType.ANY, true).toArray()) {
                     Node clonedNode = node.deepClone(true);
-//                    if (StringUtils.isNotBlank(clonedNode.getText())) {
-                    currentHeader.appendChild(clonedNode);
-//                    }
-//                    if (node.getNodeType() == NodeType.TABLE) {
-                    break;
-//                    }
+                    if (node.getNodeType() == NodeType.PARAGRAPH || node.getNodeType() == NodeType.TABLE) {
+                        currentHeader.appendChild(clonedNode);
+                    }
+                    if (node.getNodeType() == NodeType.TABLE) {
+                        break;
+                    }
                 }
                 // 复制第一页页脚的内容到当前页脚
                 for (Node node : firstPageFooter.getChildNodes(NodeType.ANY, true).toArray()) {
                     Node clonedNode = node.deepClone(true);
-                    footer.appendChild(clonedNode);
-                    break;
+                    if (node.getNodeType() == NodeType.PARAGRAPH || node.getNodeType() == NodeType.TABLE) {
+                        footer.appendChild(clonedNode);
+                    }
+                    if (node.getNodeType() == NodeType.TABLE) {
+                        break;
+                    }
                 }
             }
             //刷新目录
@@ -1686,7 +1711,7 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
                         //buildTableTextContent(builder, 60, 9, DEFAULT_FONT_NAME, false, detailWordVO.getTestmethod());
                         // 标准测试时间
                         buildTableTextContent(builder, 50, 9, DEFAULT_FONT_NAME, false,
-                                String.valueOf(detailWordVO.getTesttime() != null ? detailWordVO.getTesttime() : "").replace(".0",""));
+                                String.valueOf(detailWordVO.getTesttime() != null ? detailWordVO.getTesttime() : "").replace(".0", ""));
                         // 接收标准
                         builder.insertCell();
                         buildTableTextContent(builder, 50, 9, DEFAULT_FONT_NAME, false, detailWordVO.getAcceptancecriteria());
@@ -1941,11 +1966,11 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
                     stringBuilder.append("模式2必填");
                 }
                 // 标准测试时间新增必填校验
-                if ("否".equals(isTitle) && testTime == null ) {
+                if ("否".equals(isTitle) && testTime == null) {
                     stringBuilder.append("标准测试时间必填");
                 }
                 // 接收标准必填校验
-                if("否".equals(isTitle) && StringUtils.isBlank(acceptancecriteria)){
+                if ("否".equals(isTitle) && StringUtils.isBlank(acceptancecriteria)) {
                     stringBuilder.append("接收标准必填");
                 }
                 if (StringUtil.isNotBlank(stringBuilder)) {

+ 11 - 2
business-entity/src/main/java/com/rongwei/bsentity/vo/ZhcxCommissionCheckDetailWordVO.java

@@ -3,7 +3,6 @@ package com.rongwei.bsentity.vo;
 import com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo;
 import lombok.Data;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -15,7 +14,7 @@ import java.util.List;
  * @since 2024-09-24
  */
 @Data
-public class ZhcxCommissionCheckDetailWordVO{
+public class ZhcxCommissionCheckDetailWordVO {
 
     /**
      * 序号
@@ -50,6 +49,16 @@ public class ZhcxCommissionCheckDetailWordVO{
      */
     private Integer level;
 
+    /**
+     * 附件
+     */
+    private String annex;
+
+    /**
+     * 概要说明
+     */
+    private String summary;
+
     //子表数据
     private List<ZhcxCommissionCheckDetailDo> detailList;
 }

BIN
business-server/src/main/resources/template/检查内容明细模版.doc