Bläddra i källkod

Merge branch 'refs/heads/feature-lihb-20251015-testCyInfo' into dev

LHB 1 dag sedan
förälder
incheckning
6d5eafcdf8
24 ändrade filer med 158 tillägg och 193 borttagningar
  1. 1 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TrialCyFinishTestReport.java
  2. 5 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TrialCyTestType.java
  3. 1 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TrialCyThirdReportQueryVo.java
  4. 2 2
      blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialCyController.java
  5. 13 54
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TrialCyAccessoriesClientImpl.java
  6. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyAccessoriesMapper.java
  7. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyAccessoriesMapper.xml
  8. 7 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyFinishTestReportMapper.java
  9. 32 14
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyFinishTestReportMapper.xml
  10. 2 1
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyTestTypeMapper.java
  11. 3 2
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyTestTypeMapper.xml
  12. 12 13
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyThirdReportMapper.xml
  13. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialSelfInspectionRecordMapper.xml
  14. 24 53
      blade-service/blade-business/src/main/java/org/springblade/business/scheduled/ChenYuTestScheduled.java
  15. 8 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/TrialCyFinishTestReportService.java
  16. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/TrialCyService.java
  17. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/TrialCyTestTypeService.java
  18. 3 19
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyAccessoriesServiceImpl.java
  19. 14 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyFinishTestReportServiceImpl.java
  20. 9 11
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyServiceImpl.java
  21. 2 2
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyTestTypeServiceImpl.java
  22. 3 15
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java
  23. 9 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TableFileController.java
  24. 3 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TrialCyFinishTestReport.java

@@ -138,7 +138,7 @@ public class TrialCyFinishTestReport {
      * 试验树id
      */
     @ApiModelProperty("组装文件(报告+记录+委托单)")
-    @TableField("assemble_file")
+        @TableField("assemble_file")
     public String assembleFile;
     /**
      * 附件

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TrialCyTestType.java

@@ -23,6 +23,11 @@ public class TrialCyTestType {
      */
     @ApiModelProperty("项目id")
     private Long projectId;
+    /**
+     * 项目id
+     */
+    @ApiModelProperty("合同段id")
+    private Long contractId;
     /**
      * ID唯一标识
      */

+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TrialCyThirdReportQueryVo.java

@@ -19,7 +19,7 @@ public class TrialCyThirdReportQueryVo {
     private String endTime;
     @ApiModelProperty("树节点id")
     @NotNull(message = "树节点id不能为空")
-    private Long nodeId;
+    private String nodeId;
     @ApiModelProperty("合同段id")
     @NotNull(message = "合同段id不能为空")
     private Long contractId;

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/controller/TrialCyController.java

@@ -55,8 +55,8 @@ public class TrialCyController {
     @GetMapping("/getTree")
     @ApiOperationSupport(order = 1)
     @ApiOperation(value = "获取成渝那边的树", notes = "传入项目id")
-    public R<List<TrialCyTestType>> getTree(Long projectId, String parentId){
-        return R.data(trialCyService.getTree(projectId,parentId));
+    public R<List<TrialCyTestType>> getTree(Long projectId, String parentId, String contractId){
+        return R.data(trialCyService.getTree(projectId,parentId,contractId));
     }
 
     /**

+ 13 - 54
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TrialCyAccessoriesClientImpl.java

@@ -17,6 +17,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author LHB
@@ -40,70 +41,28 @@ public class TrialCyAccessoriesClientImpl implements TrialCyAccessoriesClient {
     @Override
     public List<JSONObject> getTrialFilePdfRecord(String primaryKeyId, List<Integer> list) {
         //获取id
-        List<Map<String, Object>> trialFilePdfRecord = trialSelfInspectionRecordMapper.getTrialFilePdfRecord(primaryKeyId, list);
+        List<Map<String,Object>> trialFilePdfRecord = trialSelfInspectionRecordMapper.getTrialFilePdfRecord(primaryKeyId, list);
+        //
+        List<String> recordIds = trialFilePdfRecord.stream().map(f -> f.get("record_id").toString()).collect(Collectors.toList());
+        Map<String,Integer> map = trialFilePdfRecord.stream().collect(Collectors.toMap(f -> f.get("record_id").toString(), f -> Integer.valueOf(f.get("sort").toString())));
 
         if (CollectionUtil.isNotEmpty(trialFilePdfRecord)) {
 
-            //试验报告ids
-            List<Long> listOne = new ArrayList<>();
-            //第三方外委ids
-            List<Long> listTwo = new ArrayList<>();
-
-            for (Map<String, Object> stringObjectMap : trialFilePdfRecord) {
-
-                Integer type = (Integer) stringObjectMap.get("type");
-                Long recordId = (Long) stringObjectMap.get("record_id");
-                //试验报告
-                if (type == 11) {
-                    listOne.add(recordId);
-                } else {
-                    //第三方、外委
-                    listTwo.add(recordId);
-                }
-            }
-
             List<JSONObject> result = new ArrayList<>();
-
-            if (CollectionUtil.isNotEmpty(listOne)) {
-                List<TrialCyFinishTestReport> list1 = trialCyFinishTestReportService.list(Wrappers.<TrialCyFinishTestReport>lambdaQuery()
-                        .isNotNull(TrialCyFinishTestReport::getAssembleFile)
-                        .in(TrialCyFinishTestReport::getTaskId, listOne)
-                );
-
-                if (CollectionUtil.isNotEmpty(list1)) {
-                    list1.forEach(f -> {
-                        String[] split = f.getAssembleFile().split("/");
-                        JSONObject jsonObject = new JSONObject();
-                        jsonObject.put("id", f.getTaskId());
-                        jsonObject.put("name", split[split.length - 1]);
-                        jsonObject.put("contractId", f.getContractId());
-                        jsonObject.put("domainUrl", f.getAssembleFile());
-                        jsonObject.put("domainPdfUrl", f.getAssembleFile());
-                        jsonObject.put("tabId", primaryKeyId);
-                        jsonObject.put("extension", "pdf");
-                        //是否为试验关联的附件
-                        jsonObject.put("isTrial", true);
-                        result.add(jsonObject);
-                    });
-                }
-            }
-            if (CollectionUtil.isNotEmpty(listTwo)) {
-                List<TrialCyThirdReport> list1 = trialCyThirdReportService.list(Wrappers.<TrialCyThirdReport>lambdaQuery()
-                        .isNotNull(TrialCyThirdReport::getAssembleFile)
-                        .in(TrialCyThirdReport::getId, listTwo)
-                );
-
+            if (CollectionUtil.isNotEmpty(trialFilePdfRecord)) {
+                List<Map<String,Object>> list1 = trialCyFinishTestReportService.selectViewList(recordIds);
                 if (CollectionUtil.isNotEmpty(list1)) {
                     list1.forEach(f -> {
-                        String[] split = f.getAssembleFile().split("/");
+                        String[] split = f.get("assembleFile").toString().split("/");
                         JSONObject jsonObject = new JSONObject();
-                        jsonObject.put("id", f.getId());
+                        jsonObject.put("id", f.get("id"));
                         jsonObject.put("name", split[split.length - 1]);
-                        jsonObject.put("contractId", f.getContractId());
-                        jsonObject.put("domainUrl", f.getAssembleFile());
-                        jsonObject.put("domainPdfUrl", f.getAssembleFile());
+                        jsonObject.put("contractId", f.get("contractId"));
+                        jsonObject.put("domainUrl", f.get("assembleFile"));
+                        jsonObject.put("domainPdfUrl", f.get("assembleFile"));
                         jsonObject.put("tabId", primaryKeyId);
                         jsonObject.put("extension", "pdf");
+                        jsonObject.put("sort", map.get(f.get("id").toString()) == null ? 9999 : map.get(f.get("id").toString()));
                         //是否为试验关联的附件
                         jsonObject.put("isTrial", true);
                         result.add(jsonObject);

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyAccessoriesMapper.java

@@ -18,7 +18,7 @@ public interface TrialCyAccessoriesMapper extends BaseMapper<TrialCyAccessories>
     Boolean clearTrialAssociation(@Param("nodeId") Long nodeId,
                                   @Param("recordId") Long recordId);
 
-    List<String> selectFilePdfList(@Param("nodeId") Long nodeId,
+    List<Long> selectFilePdfList(@Param("nodeId") Long nodeId,
                                    @Param("types") Integer... types);
 }
 

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyAccessoriesMapper.xml

@@ -19,7 +19,7 @@
     <delete id="clearTrialAssociation">
         delete from u_trial_file_pdf_record where node_id = #{nodeId} and record_id=#{recordId}
     </delete>
-    <select id="selectFilePdfList" resultType="java.lang.String">
+    <select id="selectFilePdfList" resultType="java.lang.Long">
         select record_id from u_trial_file_pdf_record where node_id = #{nodeId} and type in
           <foreach collection="types" item="type" open="(" close=")" separator=",">
               #{type}

+ 7 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyFinishTestReportMapper.java

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.springblade.business.vo.ThirdReportVo;
 import org.springblade.business.vo.TrialCyThirdReportQueryVo;
 
+import java.util.List;
+import java.util.Map;
+
 /**
 * @author LHB
 * @description 针对表【u_trial_cy_finish_test_report(成渝-获取标段已完成(已签章完成)的检测报告)】的数据库操作Mapper
@@ -16,6 +19,10 @@ import org.springblade.business.vo.TrialCyThirdReportQueryVo;
 public interface TrialCyFinishTestReportMapper extends BaseMapper<TrialCyFinishTestReport> {
 
     Page<ThirdReportVo> myPage(Page<ThirdReportVo> page, @Param("query") TrialCyThirdReportQueryVo queryVo);
+
+    List<String> selectViewPdfList(@Param("ids") List<Long> ids);
+
+    List<Map<String,Object>> selectViewList(@Param("ids") List<String> ids);
 }
 
 

+ 32 - 14
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyFinishTestReportMapper.xml

@@ -5,33 +5,51 @@
 <mapper namespace="org.springblade.business.mapper.TrialCyFinishTestReportMapper">
     <select id="myPage" resultType="org.springblade.business.vo.ThirdReportVo">
         select
-            task_id id,
-            contract_id contractId,
-            report_number reportNo,
-            report_date reportDate,
-            position projectPositionName,
-            case
-                when experiment_result = 1 then '合格'
-                else '不合格'
-            end detectionResultName,
+            id,
+            contractId,
+            reportNo,
+            reportDate,
+            projectPositionName,
+            detectionResultName,
         (select count(0) > 0 from u_trial_file_pdf_record where node_id = #{query.qualityTestPKeyId}  and type = 11 and record_id = t.id) isSelectedStatus
-        from u_trial_cy_finish_test_report t
+        from vw_u_trial_cy_decoment t
         <where>
+            and `type` in(1,2)
             <if test="query.contractId != null">
-                AND contract_id = #{query.contractId}
+                AND contractId = #{query.contractId}
             </if>
             <if test="query.nodeId != null">
-                AND exam_name_info_id = #{query.nodeId}
+                AND node_id = #{query.nodeId}
             </if>
             <if test="query.startTime != null">
-                AND report_date >= #{query.startTime}
+                AND reportDate >= #{query.startTime}
             </if>
             <if test="query.endTime != null">
-                AND report_date &lt;= #{query.endTime}
+                AND reportDate &lt;= #{query.endTime}
             </if>
             <if test="query.reportType != null">
                 AND cs = #{query.reportType}
             </if>
         </where>
     </select>
+    <select id="selectViewPdfList" resultType="java.lang.String">
+        select
+            assemble_file
+        from vw_u_trial_cy_decoment
+        where id in
+        <foreach item="item" collection="ids" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+    </select>
+    <select id="selectViewList" resultType="java.util.Map">
+        select
+            id,
+            contractId,
+            assemble_file as assembleFile
+        from vw_u_trial_cy_decoment
+        where assemble_file is not null and id in
+        <foreach item="item" collection="ids" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+    </select>
 </mapper>

+ 2 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyTestTypeMapper.java

@@ -15,7 +15,8 @@ import java.util.List;
 public interface TrialCyTestTypeMapper extends BaseMapper<TrialCyTestType> {
 
     List<TrialCyTestType> getTree(@Param("projectId") Long projectId,
-                                  @Param("parentId") String parentId);
+                                  @Param("parentId") String parentId,
+                                  @Param("contractId") String contractId);
 }
 
 

+ 3 - 2
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyTestTypeMapper.xml

@@ -15,9 +15,10 @@
     <select id="getTree" resultType="org.springblade.business.entity.TrialCyTestType">
         select
             <include refid="Base_sql"/>,
-            (select count(1) > 0 from u_trial_cy_test_type where father_id = t.id) has_children
-        from u_trial_cy_test_type t
+            (select count(1) > 0 from vw_u_trial_cy_tree where father_id = t.id and contract_id = #{contractId}) has_children
+        from vw_u_trial_cy_tree t
         where project_id = #{projectId}
+          and contract_id = #{contractId}
           and father_id = #{parentId}
         order by order_index
     </select>

+ 12 - 13
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialCyThirdReportMapper.xml

@@ -6,30 +6,29 @@
     <select id="myPage" resultType="org.springblade.business.vo.ThirdReportVo">
         select
             id,
-            contract_id contractId,
-            report_no reportNo,
-            report_date reportDate,
-            project_part projectPositionName,
-            case when is_qualified = 1 then '合格'
-                else '不合格'
-            end detectionResultName,
+            contractId,
+            reportNo,
+            reportDate,
+            projectPositionName,
+            detectionResultName,
         (select count(0) > 0 from u_trial_file_pdf_record where node_id = #{query.qualityTestPKeyId}  and type in(12,13) and record_id = t.id) isSelectedStatus
-        from u_trial_cy_third_report t
+        from vw_u_trial_cy_decoment t
         <where>
+            AND `type` in(3,4)
             <if test="query.contractId != null">
-                AND contract_id = #{query.contractId}
+                AND contractId = #{query.contractId}
             </if>
             <if test="query.type != null">
-                AND `third_type` = #{query.type}
+                AND `type` = #{query.type}
             </if>
             <if test="query.startTime != null">
-                AND report_date >= #{query.startTime}
+                AND reportDate >= #{query.startTime}
             </if>
             <if test="query.endTime != null">
-                AND report_date &lt;= #{query.endTime}
+                AND reportDate &lt;= #{query.endTime}
             </if>
             <if test="query.nodeId != null">
-                AND exam_name_info_id = #{query.nodeId}
+                AND node_id = #{query.nodeId}
             </if>
         </where>
     </select>

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/TrialSelfInspectionRecordMapper.xml

@@ -109,7 +109,7 @@
         </where>
     </select>
     <select id="getTrialFilePdfRecord" resultType="java.util.Map">
-        select record_id,type from u_trial_file_pdf_record where node_id = #{nodeId} and `type` in
+        select record_id,IFNULL(sort,9999) sort from u_trial_file_pdf_record where node_id = #{nodeId} and `type` in
        <foreach collection="types" item="type" open="(" close=")" separator=",">
            #{type}
        </foreach>

+ 24 - 53
blade-service/blade-business/src/main/java/org/springblade/business/scheduled/ChenYuTestScheduled.java

@@ -101,6 +101,7 @@ public class ChenYuTestScheduled {
     private CloseableHttpClient httpClient;
     private static final String TOKEN_REDIS_KEY = "blade:cqcy:token";
     private static final String PROJECT_CODE = "cqcyfx";
+    private static final String CONTRACT_CODE = "CYTJ03";
     private static Long PROJECT_ID = null;
     private static final String BASE_URL = "https://apicqcyfx.qdm123.com";
     private final Map<String, Long> contractCodeMap = new ConcurrentHashMap<>();
@@ -209,62 +210,20 @@ public class ChenYuTestScheduled {
         if (!SystemUtils.isLinux()) {
             return;
         }
-
-        contractCodeMap.clear();
-        String token = getToken();
-        ensureProjectIdInitialized();
-
-        if (token == null || PROJECT_ID == null) {
-            log.error("Invalid token or project ID");
-            return;
-        }
-
         try {
-            //获取合同段列表接口
-            Result result = getContractList();
-            if (result == null || result.getState() != 1) {
-                log.error("Failed to get contract sections: {}",
-                        result != null ? result.getMessage() : "No response");
-                return;
-            }
-
-            JSONArray data = (JSONArray) result.getData();
-            if (CollectionUtil.isEmpty(data)) {
-                log.warn("No contract sections found");
-                return;
-            }
-
-            List<String> codes = new ArrayList<>();
-            for (int i = 0; i < data.size(); i++) {
-                JSONObject obj = data.getJSONObject(i);
-                String name = obj.getString("Name");
-                if (StringUtil.isNotBlank(name)) {
-                    codes.add(name);
-                }
-            }
-
-            if (CollectionUtil.isEmpty(codes)) {
-                log.info("No valid contract codes found");
-                return;
-            }
-
             // 构建参数化查询
-            String placeholders = String.join(",", Collections.nCopies(codes.size(), "?"));
-            String sql = "SELECT * FROM m_contract_info WHERE contract_number IN (" + placeholders + ")";
-
+            String sql = "SELECT id FROM m_contract_info WHERE contract_number = '" + CONTRACT_CODE + "'";
             List<ContractInfo> contracts = jdbcTemplate.query(
                     sql,
-                    codes.toArray(),
                     new BeanPropertyRowMapper<>(ContractInfo.class)
             );
-
-            for (ContractInfo contract : contracts) {
-                contractCodeMap.put(contract.getContractNumber(), contract.getId());
+            if(CollectionUtil.isNotEmpty(contracts)){
+                ContractInfo contractInfo = contracts.get(0);
+                contractCodeMap.put(CONTRACT_CODE, contractInfo.getId());
             }
-
             log.info("Loaded {} contract mappings", contractCodeMap.size());
         } catch (Exception e) {
-            log.error("Error processing contract sections", e);
+            log.error(CONTRACT_CODE + " 合同段编码不存在", e);
         }
     }
 
@@ -294,6 +253,8 @@ public class ChenYuTestScheduled {
                     .eq(TrialCyFinishTestReport::getContractId, contractId));
             //等会准备删除的历史数据
             List<Long> ids = list.stream().map(TrialCyFinishTestReport::getId).collect(Collectors.toList());
+            //获取旧数据 task_id 与 id的映射关系
+            Map<Integer, Long> taskIdMap = list.stream().collect(Collectors.toMap(TrialCyFinishTestReport::getTaskId, TrialCyFinishTestReport::getId));
 
             int pageIndex = 0;
             final int pageSize = 100;
@@ -335,7 +296,10 @@ public class ChenYuTestScheduled {
                     for (TrialCyFinishTestReport report : reports) {
                         //数据太长且不需要
                         report.setTestParamInfo(null);
-                        Long id = SnowFlakeUtil.getId();
+                        Long id = taskIdMap.get(report.getTaskId());
+                        if(id == null){
+                            id = SnowFlakeUtil.getId();
+                        }
                         report.setId(id);
                         report.setContractId(contractId);
                         //处理boolean值
@@ -352,9 +316,10 @@ public class ChenYuTestScheduled {
                         //处理附件
                         List<TrialCyAccessories> accessories = report.getAccessories();
                         if (CollectionUtil.isNotEmpty(accessories)) {
+                            Long finalId = id;
                             accessories.forEach(f -> {
                                 f.setId(SnowFlakeUtil.getId());
-                                f.setReportId(id);
+                                f.setReportId(finalId);
                                 if (StringUtil.isNotBlank(f.getFilePath())) {
                                     urls.add(f.getFilePath());
                                 }
@@ -438,7 +403,8 @@ public class ChenYuTestScheduled {
                     .eq(TrialCyThirdReport::getContractId, contractId));
             //等会要删除的id
             List<Long> ids = list.stream().map(TrialCyThirdReport::getPKeyId).collect(Collectors.toList());
-
+            //获取旧数据 id 和 pKId的映射关系
+            Map<String, Long> linkMap = list.stream().collect(Collectors.toMap(TrialCyThirdReport::getId, TrialCyThirdReport::getPKeyId));
 
             int pageIndex = 0;
             final int pageSize = 100;
@@ -489,8 +455,11 @@ public class ChenYuTestScheduled {
                             if (StringUtil.isNotBlank(report.getRecordDocFilePath())) {
                                 urls.add(report.getRecordDocFilePath());
                             }
-
-                            Long id = SnowFlakeUtil.getId();
+                            //如果能通过id找到旧pkid 就使用旧pkid
+                            Long id = linkMap.get(report.getId());
+                            if(id == null){
+                                id = SnowFlakeUtil.getId();
+                            }
                             report.setPKeyId(id);
                             report.setContractId(contractId);
                             //报告类型
@@ -502,9 +471,10 @@ public class ChenYuTestScheduled {
                             //处理附件
                             List<TrialCyAccessories> accessories = report.getAccessories();
                             if (CollectionUtil.isNotEmpty(accessories)) {
+                                Long finalId = id;
                                 accessories.forEach(f -> {
                                     f.setId(SnowFlakeUtil.getId());
-                                    f.setReportId(id);
+                                    f.setReportId(finalId);
 
                                     if (StringUtil.isNotBlank(f.getFilePath())) {
                                         urls.add(f.getFilePath());
@@ -600,6 +570,7 @@ public class ChenYuTestScheduled {
             for (TrialCyTestType type : testTypes) {
                 type.setPKeyId(SnowFlakeUtil.getId());
                 type.setProjectId(PROJECT_ID);
+                type.setContractId(contractCodeMap.get(CONTRACT_CODE));
                 type.setFatherId(type.getFatherId() == null || type.getFatherId().isEmpty() ? "0" : type.getFatherId());
             }
             //先删除旧数据

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/TrialCyFinishTestReportService.java

@@ -7,6 +7,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.business.vo.ThirdReportVo;
 import org.springblade.business.vo.TrialCyThirdReportQueryVo;
 
+import java.util.List;
+import java.util.Map;
+
 /**
 * @author LHB
 * @description 针对表【u_trial_cy_finish_test_report(成渝-获取标段已完成(已签章完成)的检测报告)】的数据库操作Service
@@ -16,4 +19,9 @@ public interface TrialCyFinishTestReportService extends IService<TrialCyFinishTe
 
     Page<ThirdReportVo> myPage(Page<ThirdReportVo> objectPage,
                                TrialCyThirdReportQueryVo queryVo);
+
+    List<String> selectViewPdfList(List<Long> longList);
+
+    List<Map<String,Object>> selectViewList(List<String> trialFilePdfRecord);
+
 }

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/TrialCyService.java

@@ -15,7 +15,7 @@ import java.util.List;
 public interface TrialCyService {
     Boolean isCyAndTestModule(Long projectId, Long contractId);
 
-    List<TrialCyTestType> getTree(Long projectId, String parentId);
+    List<TrialCyTestType> getTree(Long projectId, String parentId, String contractId);
 
     Page<ThirdReportVo> getTrialDetectionReport(TrialCyThirdReportQueryVo queryVo);
 

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/TrialCyTestTypeService.java

@@ -12,5 +12,5 @@ import java.util.List;
 */
 public interface TrialCyTestTypeService extends IService<TrialCyTestType> {
 
-    List<TrialCyTestType> getTree(Long projectId, String parentId);
+    List<TrialCyTestType> getTree(Long projectId, String parentId, String contractId);
 }

+ 3 - 19
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyAccessoriesServiceImpl.java

@@ -54,8 +54,7 @@ public class TrialCyAccessoriesServiceImpl extends ServiceImpl<TrialCyAccessorie
 
         baseMapper.clearTrialAssociation(nodeId, recordId);
         //重新生成pdf
-        List<String> listOne = baseMapper.selectFilePdfList(nodeId, 11);
-        List<String> listTwo = baseMapper.selectFilePdfList(nodeId, 11, 12);
+        List<Long> listOne = baseMapper.selectFilePdfList(nodeId, 11,12,13);
 
         InformationQuery informationQuery = informationQueryService.getBaseMapper().selectList(Wrappers.<InformationQuery>lambdaQuery()
                 .eq(InformationQuery::getWbsId, nodeId)
@@ -66,25 +65,10 @@ public class TrialCyAccessoriesServiceImpl extends ServiceImpl<TrialCyAccessorie
         List<String> pdfList = new ArrayList<>();
         //成渝自检
         if (CollectionUtil.isNotEmpty(listOne)) {
-            List<TrialCyFinishTestReport> trialCyFinishTestReports = trialCyFinishTestReportService.getBaseMapper().selectList(Wrappers.<TrialCyFinishTestReport>lambdaQuery()
-                    .in(TrialCyFinishTestReport::getTaskId, listOne));
-            trialCyFinishTestReports.forEach(f -> {
-                if (StringUtils.isNotBlank(f.getAssembleFile())) {
-                    pdfList.add(f.getAssembleFile());
-                }
-            });
+            List<String> pdfFiles = trialCyFinishTestReportService.selectViewPdfList(listOne);
+            pdfList.addAll(pdfFiles);
         }
 
-        //外委-第三方
-        if (CollectionUtil.isNotEmpty(listOne)) {
-            List<TrialCyThirdReport> trialCyThirdReports = trialCyThirdReportService.getBaseMapper().selectList(Wrappers.<TrialCyThirdReport>lambdaQuery()
-                    .in(TrialCyThirdReport::getId, listTwo));
-            trialCyThirdReports.forEach(f -> {
-                if (StringUtils.isNotBlank(f.getAssembleFile())) {
-                    pdfList.add(f.getAssembleFile());
-                }
-            });
-        }
 
         String pdfTrialUrl = informationQuery.getPdfTrialUrl();
         //删除之前的文件

+ 14 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyFinishTestReportServiceImpl.java

@@ -9,6 +9,10 @@ import org.springblade.business.vo.ThirdReportVo;
 import org.springblade.business.vo.TrialCyThirdReportQueryVo;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
 /**
 * @author LHB
 * @description 针对表【u_trial_cy_finish_test_report(成渝-获取标段已完成(已签章完成)的检测报告)】的数据库操作Service实现
@@ -22,6 +26,16 @@ public class TrialCyFinishTestReportServiceImpl extends ServiceImpl<TrialCyFinis
     public Page<ThirdReportVo> myPage(Page<ThirdReportVo> page, TrialCyThirdReportQueryVo queryVo) {
         return baseMapper.myPage(page,queryVo);
     }
+
+    @Override
+    public List<String> selectViewPdfList(List<Long> ids) {
+        return baseMapper.selectViewPdfList(ids);
+    }
+
+    @Override
+    public List<Map<String,Object>> selectViewList(List<String> ids) {
+        return baseMapper.selectViewList(ids);
+    }
 }
 
 

+ 9 - 11
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyServiceImpl.java

@@ -52,29 +52,27 @@ public class TrialCyServiceImpl implements TrialCyService {
     }
 
     @Override
-    public List<TrialCyTestType> getTree(Long projectId, String parentId) {
-        List<TrialCyTestType> list = trialCyTestTypeService.getTree(projectId, parentId);
+    public List<TrialCyTestType> getTree(Long projectId, String parentId, String contractId) {
+        List<TrialCyTestType> list = trialCyTestTypeService.getTree(projectId, parentId, contractId);
         return list;
     }
 
     @Override
     public Page<ThirdReportVo> getTrialDetectionReport(TrialCyThirdReportQueryVo queryVo) {
-        TrialCyTestType byId = trialCyTestTypeService.getById(queryVo.getNodeId());
-        if(StringUtils.isBlank(byId.getId())){
-            return new Page<>();
-        }
-        queryVo.setNodeId(Long.valueOf(byId.getId()));
         Page<ThirdReportVo> page = trialCyFinishTestReportService.myPage(new Page<ThirdReportVo>(queryVo.getCurrent(), queryVo.getSize()),queryVo);
         return page;
     }
 
     @Override
     public Page<ThirdReportVo> getThirdReport(TrialCyThirdReportQueryVo queryVo) {
-        TrialCyTestType byId = trialCyTestTypeService.getById(queryVo.getNodeId());
-        if(StringUtils.isBlank(byId.getId())){
-            return new Page<>();
+        if(queryVo.getType() != null){
+            if(queryVo.getType() == 0){
+                queryVo.setType(3);
+            }
+            if(queryVo.getType() == 1){
+                queryVo.setType(4);
+            }
         }
-        queryVo.setNodeId(Long.valueOf(byId.getId()));
         Page<ThirdReportVo> page = trialCyThirdReportService.myPage(new Page<ThirdReportVo>(queryVo.getCurrent(), queryVo.getSize()), queryVo);
         return page;
     }

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialCyTestTypeServiceImpl.java

@@ -18,8 +18,8 @@ import java.util.List;
 public class TrialCyTestTypeServiceImpl extends ServiceImpl<TrialCyTestTypeMapper, TrialCyTestType>
     implements TrialCyTestTypeService {
     @Override
-    public List<TrialCyTestType> getTree(Long projectId, String parentId) {
-        return baseMapper.getTree(projectId, parentId);
+    public List<TrialCyTestType> getTree(Long projectId, String parentId, String contractId) {
+        return baseMapper.getTree(projectId, parentId,contractId);
     }
 }
 

+ 3 - 15
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TrialSelfInspectionRecordServiceImpl.java

@@ -2073,21 +2073,9 @@ public class TrialSelfInspectionRecordServiceImpl extends BaseServiceImpl<TrialS
                 }
 
                 //成渝自检
-                if (dto.getType().equals(11)) {
-                    List<TrialCyFinishTestReport> trialCyFinishTestReports = trialCyFinishTestReportService.getBaseMapper().selectList(Wrappers.<TrialCyFinishTestReport>lambdaQuery().in(TrialCyFinishTestReport::getTaskId, Func.toLongList(dto.getIds())));
-                    trialCyFinishTestReports.forEach(f -> {
-                        if (StringUtils.isNotBlank(f.getAssembleFile())) {
-                            pdfList.add(f.getAssembleFile());
-                        }
-
-                    });
-                } else if (dto.getType().equals(12) || dto.getType().equals(13)) {
-                    List<TrialCyThirdReport> trialCyThirdReports = trialCyThirdReportService.getBaseMapper().selectList(Wrappers.<TrialCyThirdReport>lambdaQuery().in(TrialCyThirdReport::getId, Func.toLongList(dto.getIds())));
-                    trialCyThirdReports.forEach(f -> {
-                        if (StringUtils.isNotBlank(f.getAssembleFile())) {
-                            pdfList.add(f.getAssembleFile());
-                        }
-                    });
+                if (dto.getType().equals(11) || dto.getType().equals(12) || dto.getType().equals(13)) {
+                    List<String> files = trialCyFinishTestReportService.selectViewPdfList(Func.toLongList(dto.getIds()));
+                    pdfList.addAll(files);
                 }
 
                 if (pdfList.size() > 0) {

+ 9 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/TableFileController.java

@@ -297,6 +297,15 @@ public class TableFileController extends BladeController {
                 for (TableFile file : list) {
                     file.setSort(i++);
                 }
+
+                //获取type为空的数据
+                List<TableFile> collect1 = list.stream().filter(f -> f.getType() == null).collect(Collectors.toList());
+                for (TableFile tableFile : collect1) {
+                    String sql = "update u_trial_file_pdf_record set sort = " + tableFile.getSort() + " where record_id = " + tableFile.getId()
+                            + " and node_id = " + vo.getPKeyId();
+                    jdbcTemplate.update(sql);
+                }
+                //修改
             }
             tableFileService.updateBatchById(list);
         }

+ 3 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -1494,6 +1494,9 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
                 voList.add(vo);
             }
         }
+        voList.stream().filter(f -> CollectionUtil.isNotEmpty(f.getFileList())).forEach(f -> {
+            f.setFileList(f.getFileList().stream().sorted(Comparator.comparing(TableFile::getSort)).collect(Collectors.toList()));
+        });
         return voList;
     }