瀏覽代碼

0413合并

xuzhancheng 1 周之前
父節點
當前提交
48adf6d7d8
共有 44 個文件被更改,包括 1512 次插入304 次删除
  1. 2 0
      tz-module-pressure2/tz-module-pressure2-api/src/main/java/cn/start/tz/module/pressure2/enums/ErrorCodeConstants.java
  2. 17 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/EquipPipePlanSchedulingVO.java
  3. 11 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/EquipPipeSchedulingPipesRespVO.java
  4. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateDetailRespVO.java
  5. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateSaveReqVO.java
  6. 95 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandController.java
  7. 28 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/vo/InspectionNatureTemplateExpandPageReqVO.java
  8. 31 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/vo/InspectionNatureTemplateExpandRespVO.java
  9. 22 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/vo/InspectionNatureTemplateExpandSaveReqVO.java
  10. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/standardfile/StandardTemplateV2Controller.java
  11. 39 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandDO.java
  12. 28 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandMapper.java
  13. 6 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  14. 8 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitempart/BoilerTaskOrderItemPartService.java
  15. 57 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitempart/BoilerTaskOrderItemPartServiceImpl.java
  16. 22 21
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/README.md
  17. 8 8
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/instruction/README.md
  18. 78 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12017_202401ReportOFData.java
  19. 146 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12123_202402RecordOFData.java
  20. 9 33
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12124_202401RecordOFData.java
  21. 36 34
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12125_202400RecordOFData.java
  22. 16 25
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12128_202401RecordOFData.java
  23. 36 36
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12130_202400RecordOFData.java
  24. 14 25
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12133_202401RecordOFData.java
  25. 233 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12171_202401RecordOFData.java
  26. 90 74
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/README.md
  27. 31 16
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/AutoDataPipeService.java
  28. 44 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/DynamicService.java
  29. 5 7
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/JsonConvertUtil.java
  30. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbcol/DynamicTbColServiceImpl.java
  31. 4 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbins/DynamicTbInsServiceImpl.java
  32. 25 4
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbval/DynamicTbValServiceImpl.java
  33. 30 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java
  34. 2 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureService.java
  35. 37 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureServiceImpl.java
  36. 103 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandService.java
  37. 144 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandServiceImpl.java
  38. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemdetail/PipeTaskOrderItemDetailService.java
  39. 15 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemdetail/PipeTaskOrderItemDetailServiceImpl.java
  40. 6 6
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/application-hsd.yaml
  41. 5 5
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/application-hst.yaml
  42. 3 3
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equipboilerscheduling/EquipBoilerSchedulingMapper.xml
  43. 3 3
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equippipescheduling/EquipPipeSchedulingMapper.xml
  44. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandMapper.xml

+ 2 - 0
tz-module-pressure2/tz-module-pressure2-api/src/main/java/cn/start/tz/module/pressure2/enums/ErrorCodeConstants.java

@@ -143,4 +143,6 @@ public interface ErrorCodeConstants{
     ErrorCode DYNAMIC_TB_FILE_NOT_EXISTS = new ErrorCode(5013, "承压动态报表原件不存在");
 
     ErrorCode ORDER_REPORT_NOT_EXISTS = new ErrorCode(5014, "受理单任务单关联报告不存在");
+
+    ErrorCode INSPECTION_NATURE_TEMPLATE_EXPAND_NOT_EXISTS = new ErrorCode(5015, "承压检验性质关联报告模版不存在");
 }

+ 17 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/EquipPipePlanSchedulingVO.java

@@ -69,4 +69,21 @@ public class EquipPipePlanSchedulingVO {
     @Schema(description = "管线下次年度检查日期")
     private LocalDateTime nextYearCheckDateDetail;
 
+    @Schema(description = "管道级别")
+    private String pipeLevel;
+
+    @Schema(description = "管道类型")
+    private String pipeType;
+
+    @Schema(description = "管道材质")
+    private String pipeMaterial;
+
+    @Schema(description = "管道标准")
+    private String materialStandard;
+
+    @Schema(description = "定期安全状况等级")
+    private String legalSafetyStatusLevel;
+
+    @Schema(description = "年度安全状况等级")
+    private String yearSafetyStatusLevel;
 }

+ 11 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/EquipPipeSchedulingPipesRespVO.java

@@ -1,10 +1,14 @@
 package cn.start.tz.module.pressure2.controller.admin.equippipescheduling.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Schema(description = "管理后台 - 锅炉设备 Response VO")
 @Data
 @ExcelIgnoreUnannotated
@@ -73,4 +77,11 @@ public class EquipPipeSchedulingPipesRespVO {
     private String projectName;
 
     private String pipeCategory;
+
+    @Schema(description = "管道数量")
+    @ExcelProperty("管道数量")
+    private Integer pipeCount;
+
+    @ExcelIgnore
+    private List<EquipPipePlanSchedulingVO> pipes = new ArrayList<>();
 }

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateDetailRespVO.java

@@ -58,4 +58,5 @@ public class InspectionNatureTemplateDetailRespVO {
 
     private String isAutoAmount;
 
+    private String part;
 }

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateSaveReqVO.java

@@ -22,4 +22,7 @@ public class InspectionNatureTemplateSaveReqVO {
     @NotEmpty(message = "是否默认不能为空")
     private String isDefault;
 
+    @Schema(description = "部件")
+    private String part;
+
 }

+ 95 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandController.java

@@ -0,0 +1,95 @@
+package cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.start.tz.framework.common.pojo.PageParam;
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.framework.common.util.object.BeanUtils;
+import static cn.start.tz.framework.common.pojo.CommonResult.success;
+
+import cn.start.tz.framework.excel.core.util.ExcelUtils;
+
+import cn.start.tz.framework.apilog.core.annotation.ApiAccessLog;
+import static cn.start.tz.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandDO;
+import cn.start.tz.module.pressure2.service.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandService;
+
+@Tag(name = "管理后台 - 承压检验性质关联报告模版")
+@RestController
+@RequestMapping("/pressure2/inspection-nature-template-expand")
+@Validated
+public class InspectionNatureTemplateExpandController {
+
+    @Resource
+    private InspectionNatureTemplateExpandService inspectionNatureTemplateExpandService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建承压检验性质关联报告模版")
+    @PreAuthorize("@ss.hasPermission('pressure2:inspection-nature-template-expand:create')")
+    public CommonResult<String> createInspectionNatureTemplateExpand(@Valid @RequestBody InspectionNatureTemplateExpandSaveReqVO createReqVO) {
+        return success(inspectionNatureTemplateExpandService.createInspectionNatureTemplateExpand(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新承压检验性质关联报告模版")
+    @PreAuthorize("@ss.hasPermission('pressure2:inspection-nature-template-expand:update')")
+    public CommonResult<Boolean> updateInspectionNatureTemplateExpand(@Valid @RequestBody InspectionNatureTemplateExpandSaveReqVO updateReqVO) {
+        inspectionNatureTemplateExpandService.updateInspectionNatureTemplateExpand(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除承压检验性质关联报告模版")
+    @Parameter(name = "id", description = "编号", required = true)
+    @PreAuthorize("@ss.hasPermission('pressure2:inspection-nature-template-expand:delete')")
+    public CommonResult<Boolean> deleteInspectionNatureTemplateExpand(@RequestParam("id") String id) {
+        inspectionNatureTemplateExpandService.deleteInspectionNatureTemplateExpand(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得承压检验性质关联报告模版")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('pressure2:inspection-nature-template-expand:query')")
+    public CommonResult<InspectionNatureTemplateExpandRespVO> getInspectionNatureTemplateExpand(@RequestParam("id") String id) {
+        InspectionNatureTemplateExpandDO inspectionNatureTemplateExpand = inspectionNatureTemplateExpandService.getInspectionNatureTemplateExpand(id);
+        return success(BeanUtils.toBean(inspectionNatureTemplateExpand, InspectionNatureTemplateExpandRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得承压检验性质关联报告模版分页")
+    @PreAuthorize("@ss.hasPermission('pressure2:inspection-nature-template-expand:query')")
+    public CommonResult<PageResult<InspectionNatureTemplateExpandRespVO>> getInspectionNatureTemplateExpandPage(@Valid InspectionNatureTemplateExpandPageReqVO pageReqVO) {
+        PageResult<InspectionNatureTemplateExpandDO> pageResult = inspectionNatureTemplateExpandService.getInspectionNatureTemplateExpandPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, InspectionNatureTemplateExpandRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出承压检验性质关联报告模版 Excel")
+    @PreAuthorize("@ss.hasPermission('pressure2:inspection-nature-template-expand:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportInspectionNatureTemplateExpandExcel(@Valid InspectionNatureTemplateExpandPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<InspectionNatureTemplateExpandDO> list = inspectionNatureTemplateExpandService.getInspectionNatureTemplateExpandPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "承压检验性质关联报告模版.xls", "数据", InspectionNatureTemplateExpandRespVO.class,
+                        BeanUtils.toBean(list, InspectionNatureTemplateExpandRespVO.class));
+    }
+
+}

+ 28 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/vo/InspectionNatureTemplateExpandPageReqVO.java

@@ -0,0 +1,28 @@
+package cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.start.tz.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.start.tz.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 承压检验性质关联报告模版分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class InspectionNatureTemplateExpandPageReqVO extends PageParam {
+
+    @Schema(description = "检验性质ID", example = "2730")
+    private String inspectionNatureTemplateId;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+    @Schema(description = "部件,按/划分")
+    private String part;
+
+}

+ 31 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/vo/InspectionNatureTemplateExpandRespVO.java

@@ -0,0 +1,31 @@
+package cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 承压检验性质关联报告模版 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class InspectionNatureTemplateExpandRespVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11091")
+    @ExcelProperty("主键")
+    private String id;
+
+    @Schema(description = "检验性质ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2730")
+    @ExcelProperty("检验性质ID")
+    private String inspectionNatureTemplateId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "部件,按/划分")
+    @ExcelProperty("部件,按/划分")
+    private String part;
+
+}

+ 22 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnaturetemplateexpand/vo/InspectionNatureTemplateExpandSaveReqVO.java

@@ -0,0 +1,22 @@
+package cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 承压检验性质关联报告模版新增/修改 Request VO")
+@Data
+public class InspectionNatureTemplateExpandSaveReqVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "11091")
+    private String id;
+
+    @Schema(description = "检验性质ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2730")
+    @NotEmpty(message = "检验性质ID不能为空")
+    private String inspectionNatureTemplateId;
+
+    @Schema(description = "部件,按/划分")
+    private String part;
+
+}

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/standardfile/StandardTemplateV2Controller.java

@@ -20,7 +20,7 @@ import static cn.start.tz.framework.common.pojo.CommonResult.success;
 
 @Tag(name = "管理后台 - 标准模版v2")
 @RestController
-@RequestMapping("/pressure2/standard-template/v2")
+@RequestMapping("/system/standard-template/v2")
 @Validated
 public class StandardTemplateV2Controller {
 

+ 39 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandDO.java

@@ -0,0 +1,39 @@
+package cn.start.tz.module.pressure2.dal.dataobject.inspectionnaturetemplateexpand;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.start.tz.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 承压检验性质关联报告模版 DO
+ *
+ * @author 特种管理员
+ */
+@TableName("pressure2_inspection_nature_template_expand")
+@KeySequence("pressure2_inspection_nature_template_expand_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class InspectionNatureTemplateExpandDO extends BaseDO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
+    private String id;
+    /**
+     * 检验性质ID
+     */
+    private String inspectionNatureTemplateId;
+    /**
+     * 部件,按/划分
+     */
+    private String part;
+
+}

+ 28 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandMapper.java

@@ -0,0 +1,28 @@
+package cn.start.tz.module.pressure2.dal.mysql.inspectionnaturetemplateexpand;
+
+import java.util.*;
+
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.framework.mybatis.core.mapper.BaseMapperX;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo.*;
+
+/**
+ * 承压检验性质关联报告模版 Mapper
+ *
+ * @author 特种管理员
+ */
+@Mapper
+public interface InspectionNatureTemplateExpandMapper extends BaseMapperX<InspectionNatureTemplateExpandDO> {
+
+    default PageResult<InspectionNatureTemplateExpandDO> selectPage(InspectionNatureTemplateExpandPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<InspectionNatureTemplateExpandDO>()
+                .eqIfPresent(InspectionNatureTemplateExpandDO::getInspectionNatureTemplateId, reqVO.getInspectionNatureTemplateId())
+                .betweenIfPresent(InspectionNatureTemplateExpandDO::getCreateTime, reqVO.getCreateTime())
+                .eqIfPresent(InspectionNatureTemplateExpandDO::getPart, reqVO.getPart())
+                .orderByDesc(InspectionNatureTemplateExpandDO::getId));
+    }
+
+}

+ 6 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java

@@ -181,6 +181,7 @@ import org.springframework.beans.BeanWrapper;
 import org.springframework.beans.BeanWrapperImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
 import org.springframework.transaction.annotation.Transactional;
@@ -382,6 +383,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
     private DynamicTbValService dynamicTbValService;
 
     @Resource
+    @Lazy
     private BoilerTaskOrderItemPartService boilerTaskOrderItemPartService;
 
     @Resource
@@ -704,7 +706,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             // 电站锅炉内检需带出所有部件信息
             if (taskOrderDO.getCheckType() == 100 && "1".equals(item.getBoilerType())) {
                 long count = boilerTaskOrderItemPartMapper.selectCount(BoilerTaskOrderItemPartDO::getOrderItemId, item.getId());
-                if (count == 0) {
+                if (count != 0) {
                     return;
                 }
                 boilerPartType.forEach(partType -> {
@@ -715,6 +717,9 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                     boilerTaskOrderItemPartSaveReqVO.setPartType(partType.getValue());
                     boilerTaskOrderItemPartService.createBoilerTaskOrderItemPart(boilerTaskOrderItemPartSaveReqVO);
                 });
+
+                // 部件自动带出检验项目
+                boilerTaskOrderItemPartService.addCheckReport(item);
             }
         });
     }

+ 8 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitempart/BoilerTaskOrderItemPartService.java

@@ -1,6 +1,8 @@
 package cn.start.tz.module.pressure2.service.boilertaskorderitempart;
 
 import java.util.*;
+
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
 import jakarta.validation.*;
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorderitempart.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitempart.BoilerTaskOrderItemPartDO;
@@ -54,4 +56,10 @@ public interface BoilerTaskOrderItemPartService extends IService<BoilerTaskOrder
     PageResult<BoilerTaskOrderItemPartDO> getBoilerTaskOrderItemPartPage(BoilerTaskOrderItemPartPageReqVO pageReqVO);
 
     void insertBoilerTaskOrderItemParts(List<BoilerTaskOrderItemPartDO> createList);
+
+    /**
+     * 添加检验项目
+     * @param item
+     */
+    void addCheckReport(BoilerTaskOrderItemDO item);
 }

+ 57 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitempart/BoilerTaskOrderItemPartServiceImpl.java

@@ -1,5 +1,18 @@
 package cn.start.tz.module.pressure2.service.boilertaskorderitempart;
 
+import cn.hutool.core.util.StrUtil;
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.BoilerOrderItemAddReportV2VO;
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.BoilerOrderItemAddReportVO;
+import cn.start.tz.module.pressure2.controller.admin.inspectionnature.vo.InspectionNatureDetailRespVO;
+import cn.start.tz.module.pressure2.controller.admin.inspectionnature.vo.InspectionNatureTemplateDetailRespVO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilerconnectrecordreport.BoilerConnectRecordReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnature.InspectionNatureDO;
+import cn.start.tz.module.pressure2.service.boilerconnectrecordreport.BoilerConnectRecordReportService;
+import cn.start.tz.module.pressure2.service.boilertaskorder.BoilerTaskOrderService;
+import cn.start.tz.module.pressure2.service.inspectionnature.InspectionNatureService;
+import cn.start.tz.module.pressure2.service.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -30,6 +43,15 @@ public class BoilerTaskOrderItemPartServiceImpl extends ServiceImpl<BoilerTaskOr
     @Resource
     private BoilerTaskOrderItemPartMapper boilerTaskOrderItemPartMapper;
 
+    @Resource
+    private BoilerTaskOrderService boilerTaskOrderService;
+
+    @Resource
+    private InspectionNatureService inspectionNatureService;
+
+    @Resource
+    private BoilerConnectRecordReportService boilerConnectRecordReportService;
+
     @Override
     public String createBoilerTaskOrderItemPart(BoilerTaskOrderItemPartSaveReqVO createReqVO) {
         // 插入
@@ -77,4 +99,39 @@ public class BoilerTaskOrderItemPartServiceImpl extends ServiceImpl<BoilerTaskOr
         boilerTaskOrderItemPartMapper.insertBatch(createList);
     }
 
+    @Override
+    public void addCheckReport(BoilerTaskOrderItemDO item) {
+        InspectionNatureDO inspectionNatureDO = inspectionNatureService.getOne(new LambdaQueryWrapper<InspectionNatureDO>()
+                .eq(InspectionNatureDO::getInspectionNature,"100")
+                .eq(InspectionNatureDO::getEquipmentCategory,"300")
+                .eq(InspectionNatureDO::getEquipmentType,"1")
+        );
+        InspectionNatureDetailRespVO inspectionNatureDetailResp = inspectionNatureService.getInspectionNatureDetailResp(inspectionNatureDO.getId());
+        List<InspectionNatureTemplateDetailRespVO> templateDetailRespVOList = inspectionNatureDetailResp.getTemplateDetailRespVOList();
+        templateDetailRespVOList.forEach(templateDetailRespVO -> {
+            if (StrUtil.isNotBlank(templateDetailRespVO.getPart())){
+                String[] parts = templateDetailRespVO.getPart().split("/");
+                for (String part : parts) {
+                    BoilerOrderItemAddReportV2VO boilerOrderItemAddReportV2VO = new BoilerOrderItemAddReportV2VO();
+                    boilerOrderItemAddReportV2VO.setPartType(part);
+                    boilerOrderItemAddReportV2VO.setType(200);
+                    BoilerOrderItemAddReportVO boilerOrderItemAddReportVO = new BoilerOrderItemAddReportVO();
+                    String templateId = templateDetailRespVO.getTemplateId();
+                    BoilerConnectRecordReportDO boilerConnectRecordReportDO = boilerConnectRecordReportService.getById(templateId);
+                    if (boilerConnectRecordReportDO.getRecordTemplateId() !=  null){
+                        boilerOrderItemAddReportVO.setTemplateId(boilerConnectRecordReportDO.getRecordTemplateId());
+                    }else if (boilerConnectRecordReportDO.getReportTemplateId() != null){
+                        boilerOrderItemAddReportVO.setTemplateId(boilerConnectRecordReportDO.getReportTemplateId());
+                    }else {
+                        continue;
+                    }
+                    boilerOrderItemAddReportVO.setOrderItemId(item.getId());
+                    boilerOrderItemAddReportVO.setConnectId(templateId);
+                    boilerOrderItemAddReportV2VO.setItemList(List.of(boilerOrderItemAddReportVO));
+                    boilerTaskOrderService.addReportPart(boilerOrderItemAddReportV2VO);
+                }
+            }
+        });
+    }
+
 }

+ 22 - 21
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/README.md

@@ -2,34 +2,35 @@
 
 ## 📊 文件分类汇总
 
-### 一、通用业务类 (QC 系列)
+### 一、通用业务类 (QC/EHSQ 系列)
 
-| 序号 | 文件名 | 类名 | 描述 | 链接 |
-|:---:|--------|------|------|------|
-| 1 | [EHSQGR009_202400RecordOFData.java](./EHSQGR009_202400RecordOFData.java) | `EHSQGR009_202400` | EHS 质量管理记录 | [查看](./EHSQGR009_202400RecordOFData.java) |
-| 2 | [QC01001_202400OFData.java](./QC01001_202400OFData.java) | `QC01001_202400` | 检验方案 | [查看](./QC01001_202400OFData.java) |
-| 3 | [QC01010_202402OFData.java](./QC01010_202402OFData.java) | `QC01010_202402` | 检验方案(版本 2) | [查看](./QC01010_202402OFData.java) |
+| 序号 | 文件名 | 类名 | 描述 | 版本号 | 链接 |
+|:---:|--------|------|------|:------:|------|
+| 1 | [EHSQGR009_202400RecordOFData.java](./EHSQGR009_202400RecordOFData.java) | `EHSQGR009_202400` | 进入现场(设备)前安全检查记录 | 2024/00 | [查看](./EHSQGR009_202400RecordOFData.java) |
+| 2 | [QC01001_202400OFData.java](./QC01001_202400OFData.java) | `QC01001_202400` | 检验方案 | 2024/00 | [查看](./QC01001_202400OFData.java) |
+| 3 | [QC01010_202402OFData.java](./QC01010_202402OFData.java) | `QC01010_202402` | 设备重大问题线索告知表 | 2024/02 | [查看](./QC01010_202402OFData.java) |
 
 ---
 
 ### 二、报告类 (QC47-QC52 系列)
 
-| 序号 | 文件名 | 类名 | 描述 | 链接 |
-|:---:|--------|------|------|------|
-| 1 | [QC47012_202400ReportOFData.java](./QC47012_202400ReportOFData.java) | `QC47012_202400` | 特种设备检验报告 | [查看](./QC47012_202400ReportOFData.java) |
-| 2 | [QC52017_202401ReportOFData.java](./QC52017_202401ReportOFData.java) | `QC52017_202401` | 检验检测报告 | [查看](./QC52017_202401ReportOFData.java) |
-| 3 | [QC52018_202400ReportOFData.java](./QC52018_202400ReportOFData.java) | `QC52018_202400` | 检验结论报告 | [查看](./QC52018_202400ReportOFData.java) |
-| 4 | [QC52019_202400ReportOFData.java](./QC52019_202400ReportOFData.java) | `QC52019_202400` | 检验结果报告 | [查看](./QC52019_202400ReportOFData.java) |
-| 5 | [QC52020_202400ReportOFData.java](./QC52020_202400ReportOFData.java) | `QC52020_202400` | 检验情况报告 | [查看](./QC52020_202400ReportOFData.java) |
+| 序号 | 文件名 | 类名 | 描述 | 版本号 | 链接 |
+|:---:|--------|------|------|:------:|------|
+| 1 | [QC47012_202400ReportOFData.java](./QC47012_202400ReportOFData.java) | `QC47012_202400` | 红外检测报告 | 2024/00 | [查看](./QC47012_202400ReportOFData.java) |
+| 2 | [QC52017_202401ReportOFData.java](./QC52017_202401ReportOFData.java) | `QC52017_202401` | 壁厚测定报告 | 2024/01 | [查看](./QC52017_202401ReportOFData.java) |
+| 3 | [QC52018_202400ReportOFData.java](./QC52018_202400ReportOFData.java) | `QC52018_202400` | 磁粉检测报告 | 2024/00 | [查看](./QC52018_202400ReportOFData.java) |
+| 4 | [QC52019_202400ReportOFData.java](./QC52019_202400ReportOFData.java) | `QC52019_202400` | 渗透检测报告 | 2024/00 | [查看](./QC52019_202400ReportOFData.java) |
+| 5 | [QC52020_202400ReportOFData.java](./QC52020_202400ReportOFData.java) | `QC52020_202400` | 射线检测报告 | 2024/00 | [查看](./QC52020_202400ReportOFData.java) |
 
 ---
 
-### 三、记录类 (QC52 系列)
+### 三、记录类 (QC47-QC52 系列)
+
+| 序号 | 文件名 | 类名 | 描述 | 版本号 | 链接 |
+|:---:|--------|------|------|:------:|------|
+| 1 | [QC47037_202400RecordOFData.java](./QC47037_202400RecordOFData.java) | `QC47037_202400` | 红外检测记录 | 2024/00 | [查看](./QC47037_202400RecordOFData.java) |
+| 2 | [QC52044_202401RecordOFData.java](./QC52044_202401RecordOFData.java) | `QC52044_202401` | 壁厚测定记录 | 2024/01 | [查看](./QC52044_202401RecordOFData.java) |
+| 3 | [QC52045_202401RecordOFData.java](./QC52045_202401RecordOFData.java) | `QC52045_202401` | 磁粉检测记录 | 2024/01 | [查看](./QC52045_202401RecordOFData.java) |
+| 4 | [QC52046_202400RecordOFData.java](./QC52046_202400RecordOFData.java) | `QC52046_202400` | 渗透检测记录 | 2024/00 | [查看](./QC52046_202400RecordOFData.java) |
+| 5 | [QC52047_202400RecordOFData.java](./QC52047_202400RecordOFData.java) | `QC52047_202400` | 射线检测记录 | 2024/00 | [查看](./QC52047_202400RecordOFData.java) |
 
-| 序号 | 文件名 | 类名 | 描述 | 链接 |
-|:---:|--------|------|------|------|
-| 1 | [QC47037_202400RecordOFData.java](./QC47037_202400RecordOFData.java) | `QC47037_202400` | 特种设备检验记录 | [查看](./QC47037_202400RecordOFData.java) |
-| 2 | [QC52044_202401RecordOFData.java](./QC52044_202401RecordOFData.java) | `QC52044_202401` | 检验检测记录 | [查看](./QC52044_202401RecordOFData.java) |
-| 3 | [QC52045_202401RecordOFData.java](./QC52045_202401RecordOFData.java) | `QC52045_202401` | 检验结论记录 | [查看](./QC52045_202401RecordOFData.java) |
-| 4 | [QC52046_202400RecordOFData.java](./QC52046_202400RecordOFData.java) | `QC52046_202400` | 检验结果记录 | [查看](./QC52046_202400RecordOFData.java) |
-| 5 | [QC52047_202400RecordOFData.java](./QC52047_202400RecordOFData.java) | `QC52047_202400` | 检验情况记录 | [查看](./QC52047_202400RecordOFData.java) |

+ 8 - 8
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/instruction/README.md

@@ -4,11 +4,11 @@
 
 ### 一、操作指导书类 (Instruction) - QC52 系列
 
-| 序号 | 文件名 | 类名 | 描述 | 链接 |
-|:---:|--------|------|------|------|
-| 1 | [QC52001_202401InstructionOFData.java](./QC52001_202401InstructionOFData.java) | `QC52001_202401` | 射线检测操作指导书 | [查看](./QC52001_202401InstructionOFData.java) |
-| 2 | [QC52002_202401InstructionOFData.java](./QC52002_202401InstructionOFData.java) | `QC52002_202401` | 超声波检测操作指导书 | [查看](./QC52002_202401InstructionOFData.java) |
-| 3 | [QC52003_202401InstructionOFData.java](./QC52003_202401InstructionOFData.java) | `QC52003_202401` | 磁粉检测操作指导书 | [查看](./QC52003_202401InstructionOFData.java) |
-| 4 | [QC52004_202400InstructionOFData.java](./QC52004_202400InstructionOFData.java) | `QC52004_202400` | 渗透检测操作指导书 | [查看](./QC52004_202400InstructionOFData.java) |
-| 5 | [QC52009_202400InstructionOFData.java](./QC52009_202400InstructionOFData.java) | `QC52009_202400` | 目视检测操作指导书 | [查看](./QC52009_202400InstructionOFData.java) |
-| 6 | [QC52011_202400InstructionOFData.java](./QC52011_202400InstructionOFData.java) | `QC52011_202400` | 其他检测操作指导书 | [查看](./QC52011_202400InstructionOFData.java) |
+| 序号 | 文件名 | 类名 | 描述 | 版本号 | 链接 |
+|:---:|--------|------|------|:------:|------|
+| 1 | [QC52001_202401InstructionOFData.java](./QC52001_202401InstructionOFData.java) | `QC52001_202401` | 射线检测操作指导书 | 2024/01 | [查看](./QC52001_202401InstructionOFData.java) |
+| 2 | [QC52002_202401InstructionOFData.java](./QC52002_202401InstructionOFData.java) | `QC52002_202401` | 超声波检测操作指导书 | 2024/01 | [查看](./QC52002_202401InstructionOFData.java) |
+| 3 | [QC52003_202401InstructionOFData.java](./QC52003_202401InstructionOFData.java) | `QC52003_202401` | 磁粉检测操作指导书 | 2024/01 | [查看](./QC52003_202401InstructionOFData.java) |
+| 4 | [QC52004_202400InstructionOFData.java](./QC52004_202400InstructionOFData.java) | `QC52004_202400` | 渗透检测操作指导书 | 2024/00 | [查看](./QC52004_202400InstructionOFData.java) |
+| 5 | [QC52009_202400InstructionOFData.java](./QC52009_202400InstructionOFData.java) | `QC52009_202400` | 漏磁检测操作指导书 | 2024/00 | [查看](./QC52009_202400InstructionOFData.java) |
+| 6 | [QC52011_202400InstructionOFData.java](./QC52011_202400InstructionOFData.java) | `QC52011_202400` | X射线数字成像检测操作指导书 | 2024/00 | [查看](./QC52011_202400InstructionOFData.java) |

+ 78 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12017_202401ReportOFData.java

@@ -0,0 +1,78 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
+
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
+import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
+import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
+import cn.start.tz.module.system.api.user.AdminUserApi;
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
+import com.alibaba.fastjson2.JSONObject;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.time.format.DateTimeFormatter;
+
+/**
+ * 压力管道资料审查报告
+ *
+ */
+@Service("QC12017_202401ReportOFData")
+public class QC12017_202401ReportOFData implements IDynamicOFData {
+
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+
+    @Resource
+    private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
+
+    @Resource
+    private DynamicTbColService dynamicTbColService;
+
+    @Resource
+    private DynamicTbValService dynamicTbValService;
+
+    @Resource
+    private GenerateReportJsonService generateReportJsonService;
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Override
+    public JSONObject getOFData(JSONObject params) {
+        return null;
+    }
+
+    @Override
+    public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
+        //日期格式
+        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+
+        //设备报表ID
+        String refId = ruleVO.getRefId();
+
+        JSONObject result = new JSONObject();
+        PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
+
+        if (itemReportDO != null) {
+
+            //根据记录字段动态生成报告字段
+            result = generateReportJsonService.generateReportFromRecord(ruleVO.getReportType(), ruleVO.getTemplateId(), refId);
+            result = autoDataPipeService.autoGeneratePipeReportData(result, refId);
+
+        }
+
+        return result;
+    }
+}

+ 146 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12123_202402RecordOFData.java

@@ -0,0 +1,146 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
+
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
+import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
+import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
+import cn.start.tz.module.system.api.user.AdminUserApi;
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 压力管道资料审查记录
+ *
+ */
+@Service("QC12123_202402RecordOFData")
+public class QC12123_202402RecordOFData implements IDynamicOFData {
+
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+
+    @Resource
+    private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
+
+    @Resource
+    private PipeTaskOrderItemDetailService pipeTaskOrderItemDetailService;
+
+    @Resource
+    private PipeTaskOrderMapper pipeTaskOrderMapper;
+
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Resource
+    private DynamicTbColService dynamicTbColService;
+
+    @Resource
+    private DynamicTbValService dynamicTbValService;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Override
+    public JSONObject getOFData(JSONObject params) {
+        return null;
+    }
+
+    @Override
+    public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
+        //日期格式
+        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+
+        //设备报表ID
+        String refId = ruleVO.getRefId();
+        //检验员ID
+        String checkUserId = ruleVO.getParams().getString("checkUserId");
+
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
+        PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
+
+        if (itemReportDO != null) {
+
+            List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
+                    .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
+            if (!itemDOList.isEmpty()) {
+                //设备信息
+                // 总长度(米)pipeLengthTotal
+                List<EquipPipeDetailDO> equipPipeDetailDOS = pipeTaskOrderItemDetailService.getPipeTaskOrderItemDetailList(itemDOList.get(0).getOrderId());
+                result.put("pipeLengthTotal", equipPipeDetailDOS.stream()
+                        .map(EquipPipeDetailDO::getPipeLength)
+                        .filter(Objects::nonNull)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add).doubleValue());
+
+                if (equipPipeDetailDOS.size() == 1) {
+                    EquipPipeDetailDO equipPipeDetailDO = equipPipeDetailDOS.get(0);
+                    result.put("undergroundLength", equipPipeDetailDO.getUndergroundLength());
+                    //设计使用年限designLifeYears
+                    result.put("designLifeYears", equipPipeDetailDO.getDesignLifeYears());
+                    //投入使用日期commissioningDate
+                    result.put("commissioningDate", equipPipeDetailDO.getCommissioningDate());
+                }
+                if (itemDOList.size() > 1) {
+                    result.put("projectNo", "见一览表");
+                    result.put("projectName", "见一览表");
+                    result.put("designUnit", "见一览表");
+                    result.put("constructionUnit", "见一览表");
+                    result.put("installCheckReportNo", "见一览表");
+                } else {
+                    EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
+                    if (equipPipeDO != null) {
+                        result.put("projectNo", equipPipeDO.getProjectNo());
+                        result.put("projectName", equipPipeDO.getProjectName());
+                        result.put("designUnit", equipPipeDO.getDesignUnit());
+                        result.put("constructionUnit", equipPipeDO.getConstructionUnit());
+                        result.put("installCheckReportNo", equipPipeDO.getInstallCheckReportNo());
+
+//                        result.put("pipeClass",equipPipeDO.getPipeClass());
+
+                        //管道敷设方式layingMode
+                        result.put("layingMode", equipPipeDO.getLayingMode());
+                        //埋地长度(米)undergroundLength
+
+                        if (equipPipeDO.getLastLegalPeriodicalInspectionReportNo() == null) {
+                            result.put("lastLegalPeriodicalInspectionReportNo", "-");
+                        } else {
+                            result.put("lastLegalPeriodicalInspectionReportNo", equipPipeDO.getLastLegalPeriodicalInspectionReportNo());
+                        }
+
+                        if (equipPipeDO.getLastYearReportNo() == null) {
+                            result.put("lastYearReportNo", "-");
+                        } else {
+                            result.put("lastYearReportNo", equipPipeDO.getLastYearReportNo());
+                        }
+                    }
+                }
+            }
+
+        }
+
+        return result;
+    }
+}

+ 9 - 33
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12124_202401RecordOFData.java

@@ -12,6 +12,7 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
@@ -49,6 +50,9 @@ public class QC12124_202401RecordOFData implements IDynamicOFData {
     @Resource
     private PipeTaskOrderMapper pipeTaskOrderMapper;
 
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
     @Resource
     private DynamicTbColService dynamicTbColService;
 
@@ -74,7 +78,7 @@ public class QC12124_202401RecordOFData implements IDynamicOFData {
         //检验员ID
         String checkUserId = ruleVO.getParams().getString("checkUserId");
 
-        JSONObject result = new JSONObject();
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
         PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
 
         if (itemReportDO != null) {
@@ -95,39 +99,11 @@ public class QC12124_202401RecordOFData implements IDynamicOFData {
                 }
                 result.put("certificateNo", "见一览表");
                 int index = 1;
-                for (PipeTaskOrderItemDO pipeTaskOrderItemDO : itemDOList) {
-                    EquipPipeDO equipPipeDO = equipPipeMapper.selectById(pipeTaskOrderItemDO.getEquipId());
-                    if (equipPipeDO != null) {
-                        List<EquipPipeDetailDO> equipPipeDetailDOS = equipPipeDetailMapper.selectList(EquipPipeDetailDO::getEquipPipeId, equipPipeDO.getId());
-                        for (EquipPipeDetailDO equipPipeDetailDO : equipPipeDetailDOS) {
-                            result.put("pipeNo_" + index++, equipPipeDetailDO.getPipeNo());
-                        }
-                    }
-                }
-            }
+                List<EquipPipeDetailDO> equipPipeDetailDOS = pipeTaskOrderItemDetailService.getPipeTaskOrderItemDetailList(itemReportDO.getOrderId());
 
-            result.put("reportNo", itemReportDO.getReportNo());
-
-            //检验员信息
-            String orderId = itemReportDO.getOrderId();
-            PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(orderId);
-            if (taskOrderDO != null) {
-                result.put("checkDate", taskOrderDO.getCheckDate().format(dateFormat));
-            }
-            AdminUserRespDTO userInfo = adminUserApi.getUser(checkUserId).getData();
-            if (userInfo != null) {
-                result.put("checkName", userInfo.getSignUrl());
-            }
-
-            //校验人员信息
-            userInfo = adminUserApi.getUser(itemReportDO.getRecheckId()).getData();
-            if (userInfo != null) {
-                result.put("recheckName", userInfo.getSignUrl());
-            } else {
-                result.put("recheckName", itemReportDO.getRecheckName());
-            }
-            if (itemReportDO.getRecheckDate() != null) {
-                result.put("recheckDate", itemReportDO.getRecheckDate().format(dateFormat));
+                for (EquipPipeDetailDO equipPipeDetailDO : equipPipeDetailDOS) {
+                    result.put("pipeNo_" + index++, equipPipeDetailDO.getPipeNo());
+                }
             }
 
         }

+ 36 - 34
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12125_202400RecordOFData.java

@@ -2,14 +2,19 @@ package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
 
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import com.alibaba.fastjson2.JSONObject;
@@ -22,7 +27,8 @@ import java.util.List;
 
 /**
  * 压力管道壁厚测定记录
- * */
+ *
+ */
 @Service("QC12125_202400RecordOFData")
 public class QC12125_202400RecordOFData implements IDynamicOFData {
 
@@ -38,6 +44,14 @@ public class QC12125_202400RecordOFData implements IDynamicOFData {
     @Resource
     private AdminUserApi adminUserApi;
 
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Resource
+    private PipeTaskOrderItemDetailService pipeTaskOrderItemDetailService;
+    @Resource
+    private EquipPipeDetailMapper equipPipeDetailMapper;
+
     @Resource
     private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
 
@@ -57,49 +71,37 @@ public class QC12125_202400RecordOFData implements IDynamicOFData {
         //检验员ID
         String checkUserId = ruleVO.getParams().getString("checkUserId");
 
-        JSONObject result = new JSONObject();
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
         PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
 
-        if (itemReportDO != null){
+        if (itemReportDO != null) {
 
             List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
                     .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
-            if (!itemDOList.isEmpty()){
+            if (!itemDOList.isEmpty()) {
                 //设备信息
-                if (itemDOList.size() > 1){
-                    result.put("projectNo","见一览表");
-                }else {
+                if (itemDOList.size() > 1) {
+                    result.put("projectNo", "见一览表");
+                } else {
                     EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
-                    if (equipPipeDO != null){
-                        result.put("projectNo",equipPipeDO.getProjectNo());
+                    if (equipPipeDO != null) {
+                        result.put("projectNo", equipPipeDO.getProjectNo());
+
+                        List<PipeTaskOrderItemDetailDO> list = pipeTaskOrderItemDetailService.list(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
+                                .eq(PipeTaskOrderItemDetailDO::getOrderId, itemDOList.get(0).getOrderId()));
+                        if (list.size() == 1) {
+                            EquipPipeDetailDO pipeDetailDO = equipPipeDetailMapper.selectById(list.get(0).getEquipDetailId());
+                            result.put("pipeNo1", pipeDetailDO.getPipeNo());
+                            result.put("pipeMaterial1", pipeDetailDO.getPipeMaterial());
+                            result.put("pipeLeval", pipeDetailDO.getPipeLevel());
+                        } else {
+                            result.put("pipeNo1", "见一览表");
+                            result.put("pipeMaterial1", "见一览表");
+                            result.put("pipeLeval", "见一览表");
+                        }
                     }
                 }
             }
-
-            result.put("reportNo",itemReportDO.getReportNo());
-
-            //检验员信息
-            String orderId = itemReportDO.getOrderId();
-            PipeTaskOrderDO taskOrderDO =  pipeTaskOrderMapper.selectById(orderId);
-            if (taskOrderDO != null){
-                result.put("checkDate",taskOrderDO.getCheckDate().format(dateFormat));
-            }
-            AdminUserRespDTO userInfo = adminUserApi.getUser(checkUserId).getData();
-            if (userInfo != null){
-                result.put("checkName",userInfo.getSignUrl());
-            }
-
-            //校验人员信息
-            userInfo = adminUserApi.getUser(itemReportDO.getRecheckId()).getData();
-            if (userInfo != null){
-                result.put("recheckName",userInfo.getSignUrl());
-            }else{
-                result.put("recheckName",itemReportDO.getRecheckName());
-            }
-            if (itemReportDO.getRecheckDate() != null){
-                result.put("recheckDate",itemReportDO.getRecheckDate().format(dateFormat));
-            }
-
         }
 
         return result;

+ 16 - 25
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12128_202401RecordOFData.java

@@ -5,6 +5,7 @@ import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
@@ -12,6 +13,7 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
@@ -46,6 +48,10 @@ public class QC12128_202401RecordOFData implements IDynamicOFData {
     @Resource
     private EquipPipeDetailMapper equipPipeDetailMapper;
 
+
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
     @Resource
     private PipeTaskOrderMapper pipeTaskOrderMapper;
 
@@ -74,7 +80,7 @@ public class QC12128_202401RecordOFData implements IDynamicOFData {
         //检验员ID
         String checkUserId = ruleVO.getParams().getString("checkUserId");
 
-        JSONObject result = new JSONObject();
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
         PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
 
         if (itemReportDO != null) {
@@ -86,40 +92,25 @@ public class QC12128_202401RecordOFData implements IDynamicOFData {
                 if (itemDOList.size() > 1) {
                     result.put("projectNo", "见一览表");
                     result.put("projectName", "见一览表");
+                    result.put("value2", "见一览表");
+                    result.put("value3", "见一览表");
                 } else {
                     EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
                     if (equipPipeDO != null) {
                         result.put("projectNo", equipPipeDO.getProjectNo());
                         result.put("projectName", equipPipeDO.getProjectName());
+                        List<PipeTaskOrderItemDetailDO> list = pipeTaskOrderItemDetailService.list(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
+                                .eq(PipeTaskOrderItemDetailDO::getOrderId, itemDOList.get(0).getId()));
+                        if (list.size() == 1){
+                            EquipPipeDetailDO pipeDetailDO = equipPipeDetailMapper.selectById(list.get(0).getEquipDetailId());
+                            result.put("value2", pipeDetailDO.getPipeMaterial());
+                            result.put("value3", pipeDetailDO.getPipeLevel());
+                        }
                     }
                 }
                 result.put("certificateNo", "见一览表");
             }
 
-            result.put("reportNo", itemReportDO.getReportNo());
-
-            //检验员信息
-            String orderId = itemReportDO.getOrderId();
-            PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(orderId);
-            if (taskOrderDO != null) {
-                result.put("checkDate", taskOrderDO.getCheckDate().format(dateFormat));
-            }
-            AdminUserRespDTO userInfo = adminUserApi.getUser(checkUserId).getData();
-            if (userInfo != null) {
-                result.put("checkName", userInfo.getSignUrl());
-            }
-
-            //校验人员信息
-            userInfo = adminUserApi.getUser(itemReportDO.getRecheckId()).getData();
-            if (userInfo != null) {
-                result.put("recheckName", userInfo.getSignUrl());
-            } else {
-                result.put("recheckName", itemReportDO.getRecheckName());
-            }
-            if (itemReportDO.getRecheckDate() != null) {
-                result.put("recheckDate", itemReportDO.getRecheckDate().format(dateFormat));
-            }
-
         }
 
         return result;

+ 36 - 36
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12130_202400RecordOFData.java

@@ -1,6 +1,9 @@
 package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
 
+import cn.hutool.core.util.StrUtil;
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
@@ -12,7 +15,10 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.DynamicService;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
@@ -26,7 +32,8 @@ import java.util.List;
 
 /**
  * 压力管道耐压强度校核记录
- * */
+ *
+ */
 @Service("QC12130_202400RecordOFData")
 public class QC12130_202400RecordOFData implements IDynamicOFData {
 
@@ -51,6 +58,12 @@ public class QC12130_202400RecordOFData implements IDynamicOFData {
     @Resource
     private DynamicTbValService dynamicTbValService;
 
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Resource
+    private DynamicService dynamicService;
+
     @Resource
     private AdminUserApi adminUserApi;
 
@@ -70,58 +83,45 @@ public class QC12130_202400RecordOFData implements IDynamicOFData {
         //检验员ID
         String checkUserId = ruleVO.getParams().getString("checkUserId");
 
-        JSONObject result = new JSONObject();
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
         PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
 
-        if (itemReportDO != null){
+        if (itemReportDO != null) {
 
             List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
                     .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
-            if (!itemDOList.isEmpty()){
+            if (!itemDOList.isEmpty()) {
                 //设备信息
-                if (itemDOList.size() > 1){
-                    result.put("projectNo","见一览表");
-                }else {
+                if (itemDOList.size() > 1) {
+                    result.put("projectNo", "见一览表");
+                } else {
                     EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
-                    if (equipPipeDO != null){
-                        result.put("projectNo",equipPipeDO.getProjectNo());
+                    if (equipPipeDO != null) {
+                        result.put("projectNo", equipPipeDO.getProjectNo());
                     }
                 }
             }
 
             //管线信息
-            if (itemReportDO.getPipeDetailId() != null){
+            if (itemReportDO.getPipeDetailId() != null) {
                 EquipPipeDetailDO detailDO = equipPipeDetailMapper.selectById(itemReportDO.getPipeDetailId());
-                if (detailDO != null){
-                    result.put("pipeMaterial",detailDO.getPipeMaterial());
-                    result.put("designTemperature",detailDO.getDesignTemperature());
+                if (detailDO != null) {
+                    result.put("pipeMaterial", detailDO.getPipeMaterial());
+                    result.put("designTemperature", detailDO.getDesignTemperature());
                 }
             }
 
-            result.put("reportNo",itemReportDO.getReportNo());
-
-            //检验员信息
-            String orderId = itemReportDO.getOrderId();
-            PipeTaskOrderDO taskOrderDO =  pipeTaskOrderMapper.selectById(orderId);
-            if (taskOrderDO != null){
-                result.put("checkDate",taskOrderDO.getCheckDate().format(dateFormat));
-            }
-            AdminUserRespDTO userInfo = adminUserApi.getUser(checkUserId).getData();
-            if (userInfo != null){
-                result.put("checkName",userInfo.getSignUrl());
-            }
-
-            //校验人员信息
-            userInfo = adminUserApi.getUser(itemReportDO.getRecheckId()).getData();
-            if (userInfo != null){
-                result.put("recheckName",userInfo.getSignUrl());
-            }else{
-                result.put("recheckName",itemReportDO.getRecheckName());
-            }
-            if (itemReportDO.getRecheckDate() != null){
-                result.put("recheckDate",itemReportDO.getRecheckDate().format(dateFormat));
+            // 带出校核结果
+            List<DynamicTbValDO> dynamicTbValByRefId = dynamicTbValService.getDynamicTbValByRefId(refId);
+            for (int i = 1; i < 8; i++) {
+                String yes = dynamicService.getValueByCode(dynamicTbValByRefId, "value26_" + i);
+                String no = dynamicService.getValueByCode(dynamicTbValByRefId, "value27_" + i);
+                if ("true".equals(yes)) {
+                    result.put("value28_" + i, "合格");
+                } else if ("true".equals(no)) {
+                    result.put("value28_" + i, "不合格");
+                }
             }
-
         }
 
         return result;

+ 14 - 25
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12133_202401RecordOFData.java

@@ -5,13 +5,16 @@ import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
@@ -24,6 +27,7 @@ import org.springframework.stereotype.Service;
 
 import java.time.format.DateTimeFormatter;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 压力管道安全状况等级评定记录
@@ -58,6 +62,9 @@ public class QC12133_202401RecordOFData implements IDynamicOFData {
     @Resource
     private AdminUserApi adminUserApi;
 
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
     @Override
     public JSONObject getOFData(JSONObject params) {
         return null;
@@ -74,7 +81,7 @@ public class QC12133_202401RecordOFData implements IDynamicOFData {
         //检验员ID
         String checkUserId = ruleVO.getParams().getString("checkUserId");
 
-        JSONObject result = new JSONObject();
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
         PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
 
         if (itemReportDO != null) {
@@ -95,7 +102,7 @@ public class QC12133_202401RecordOFData implements IDynamicOFData {
                 }
                 result.put("certificateNo", "见一览表");
                 int index = 1;
-                for (PipeTaskOrderItemDO pipeTaskOrderItemDO : itemDOList) {
+                /*for (PipeTaskOrderItemDO pipeTaskOrderItemDO : itemDOList) {
                     EquipPipeDO equipPipeDO = equipPipeMapper.selectById(pipeTaskOrderItemDO.getEquipId());
                     if (equipPipeDO != null) {
                         List<EquipPipeDetailDO> equipPipeDetailDOS = equipPipeDetailMapper.selectList(EquipPipeDetailDO::getEquipPipeId, equipPipeDO.getId());
@@ -103,31 +110,13 @@ public class QC12133_202401RecordOFData implements IDynamicOFData {
                             result.put("pipeNo_" + index++, equipPipeDetailDO.getPipeNo());
                         }
                     }
-                }
-            }
-
-            result.put("reportNo", itemReportDO.getReportNo());
+                }*/
+                List<EquipPipeDetailDO> equipPipeDetailDOS = pipeTaskOrderItemDetailService.getPipeTaskOrderItemDetailList(itemReportDO.getOrderId());
 
-            //检验员信息
-            String orderId = itemReportDO.getOrderId();
-            PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(orderId);
-            if (taskOrderDO != null) {
-                result.put("checkDate", taskOrderDO.getCheckDate().format(dateFormat));
-            }
-            AdminUserRespDTO userInfo = adminUserApi.getUser(checkUserId).getData();
-            if (userInfo != null) {
-                result.put("checkName", userInfo.getSignUrl());
-            }
+                for (EquipPipeDetailDO equipPipeDetailDO : equipPipeDetailDOS) {
+                    result.put("pipeNo_" + index++, equipPipeDetailDO.getPipeNo());
+                }
 
-            //校验人员信息
-            userInfo = adminUserApi.getUser(itemReportDO.getRecheckId()).getData();
-            if (userInfo != null) {
-                result.put("recheckName", userInfo.getSignUrl());
-            } else {
-                result.put("recheckName", itemReportDO.getRecheckName());
-            }
-            if (itemReportDO.getRecheckDate() != null) {
-                result.put("recheckDate", itemReportDO.getRecheckDate().format(dateFormat));
             }
 
         }

+ 233 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12171_202401RecordOFData.java

@@ -0,0 +1,233 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
+
+import cn.hutool.core.util.StrUtil;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
+import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
+import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
+import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.JsonConvertUtil;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
+import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
+import cn.start.tz.module.system.api.dict.DictDataApi;
+import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
+import cn.start.tz.module.system.api.user.AdminUserApi;
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
+import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * 压力管道年度检查记录
+ *
+ */
+@Service("QC12171_202401RecordOFData")
+public class QC12171_202401RecordOFData implements IDynamicOFData {
+
+    @Resource
+    private EquipPipeMapper equipPipeMapper;
+    @Resource
+    private EquipPipeDetailMapper equipPipeDetailMapper;
+
+    @Resource
+    private PipeTaskOrderItemReportMapper pipeTaskOrderItemReportMapper;
+
+    @Resource
+    private PipeTaskOrderMapper pipeTaskOrderMapper;
+
+    @Resource
+    private AdminUserApi adminUserApi;
+
+    @Resource
+    private DictDataApi dictDataApi;
+
+    @Resource
+    private PipeTaskOrderItemMapper pipeTaskOrderItemMapper;
+
+    @Resource
+    private PipeTaskOrderItemDetailMapper pipeTaskOrderItemDetailMapper;
+
+    @Resource
+    private DynamicTbValService dynamicTbValService;
+
+    @Resource
+    private DynamicTbInsService dynamicTbInsService;
+
+    @Resource
+    private AutoDataPipeService autoDataPipeService;
+
+    @Override
+    public JSONObject getOFData(JSONObject params) {
+        return null;
+    }
+
+    @Override
+    public JSONObject getOfDataByVO(CreateInstantiateWithRuleVO ruleVO) {
+
+        //日期格式
+        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
+
+        //设备报表ID
+        String refId = ruleVO.getRefId();
+        //检验员ID
+        String checkUserId = ruleVO.getParams().getString("checkUserId");
+
+        JSONObject result = autoDataPipeService.autoGeneratePipeRecordData(new JSONObject(), refId);
+        PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(refId);
+
+        if (itemReportDO != null) {
+
+            //第一次生成压力管道年度检查记录由上次记录生成
+            DynamicTbInsDO firstInsDO = dynamicTbInsService.getDynamicRefId(refId);
+            //是否第一次生成
+            if (firstInsDO == null) {
+
+                PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
+                PipeTaskOrderDO lastTaskOrderDO = pipeTaskOrderMapper.selectOne(new LambdaQueryWrapper<PipeTaskOrderDO>()
+                        .eq(PipeTaskOrderDO::getUnitCode, taskOrderDO.getUnitCode())
+                        .orderByDesc(PipeTaskOrderDO::getCreateTime)
+                        .ne(PipeTaskOrderDO::getId, refId)
+                        .last("LIMIT 1"));
+
+                if (lastTaskOrderDO != null) {
+
+                    //获取上次年度检查记录
+                    PipeTaskOrderItemReportDO lastItemReportDO = pipeTaskOrderItemReportMapper.selectOne(new LambdaQueryWrapper<PipeTaskOrderItemReportDO>()
+                            .eq(PipeTaskOrderItemReportDO::getOrderId, lastTaskOrderDO.getId())
+                            .eq(PipeTaskOrderItemReportDO::getTemplateId, ruleVO.getTemplateId())
+                            //获取报告编制之后的报表数据
+                            .in(PipeTaskOrderItemReportDO::getTaskStatus, 520, 600, 700, 710, 800)
+                            .last("LIMIT 1"));
+
+                    if (lastItemReportDO != null) {
+
+                        DynamicTbInsDO insResultDO = dynamicTbInsService.getDynamicRefId(lastItemReportDO.getId());
+                        List<DynamicTbValDO> list = dynamicTbValService.lambdaQuery().eq(DynamicTbValDO::getInsId, insResultDO.getId()).list();
+
+                        if (!list.isEmpty()) {
+
+                            list.forEach(val -> {
+                                //报告编号、检验员、校验员不带出
+                                if (val.getColCode().equals("reportNo") || val.getColCode().equals("checkUser") || val.getColCode().equals("recheckUser")
+                                        || val.getColCode().equals("checkDate") || val.getColCode().equals("recheckDate")) {
+
+                                } else {
+                                    result.put(val.getColCode(), val.getValValue());
+                                }
+                            });
+
+                        }
+                    }
+                }
+            }
+
+            List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
+                    .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
+            if (!itemDOList.isEmpty()) {
+                //设备信息
+                List<EquipPipeDO> equipPipeDOS = equipPipeMapper.selectByIds(itemDOList.stream().map(PipeTaskOrderItemDO::getEquipId).toList());
+                EquipPipeDO equipPipeDO = equipPipeDOS.get(0);
+                result.put("unitName", equipPipeDO.getUnitName());
+                result.put("socialCreditCode", equipPipeDO.getUnitCode());
+                result.put("unitAddress", equipPipeDO.getUnitAddress());
+                result.put("zipCode", equipPipeDO.getPostalCode());
+                result.put("pipeAddress", equipPipeDO.getPipeAddress());
+                result.put("useNo", equipPipeDO.getCertificateNo());
+//                List<String> pipeCategory = equipPipeDOS.stream().map(EquipPipeDO::getPipeCategory).distinct().toList();
+//                List<DictDataRespDTO> pipeType = dictDataApi.getDictDataList("PIPE_TYPE").getCheckedData();
+                // 按/拼接
+//                String pipeCategoryStr = pipeType.stream().filter(dict -> pipeCategory.contains(dict.getValue())).map(DictDataRespDTO::getLabel).distinct().collect(Collectors.joining("/"));
+//                result.put("pipeCategory", pipeCategoryStr);
+
+
+                result.put("securityMan", equipPipeDO.getSecurityMan());
+                result.put("contactPhone", equipPipeDO.getContactPhone());
+
+                result.put("projectName", "见一览表");
+                result.put("equipName", "见一览表");
+                if (itemDOList.size() > 1) {
+                    // 找出全部管道
+                    List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
+                            .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
+                    Map<String, List<EquipPipeDetailDO>> pipeDetailMap = equipPipeDetailMapper.selectList(
+                                    new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId,
+                                            pipeTaskOrderItemDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())))
+                            .stream().collect(Collectors.groupingBy(EquipPipeDetailDO::getEquipPipeId));
+//                    // 全部级别按/拼接
+//                    String collect = pipeDetailMap.values().stream()
+//                            .flatMap(List::stream)
+//                            .map(EquipPipeDetailDO::getPipeLevel)
+//                            .filter(Objects::nonNull)
+//                            .distinct()
+//                            .collect(Collectors.joining("/"));
+//                    result.put("pipeLevel", collect);
+                    result.put("pipeLevel", "见一览表");
+
+                    // 管道总长度相加
+                    double pipeLengthTotal = pipeDetailMap.values().stream()
+                            .flatMap(List::stream)
+                            .map(EquipPipeDetailDO::getPipeLength)
+                            .filter(java.util.Objects::nonNull)
+                            .mapToDouble(BigDecimal::doubleValue)
+                            .sum();
+                    result.put("pipeLengthTotal", String.valueOf(pipeLengthTotal));
+
+                } else {
+                    result.put("projectName", equipPipeDO.getProjectName());
+                    List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
+                            .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
+
+                    List<EquipPipeDetailDO> equipPipeDetailDOS = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, pipeTaskOrderItemDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())));
+                    if (equipPipeDetailDOS.size() == 1) {
+                        result.put("pipeName", equipPipeDetailDOS.get(0).getPipeName());
+                    }
+//                    String collect = equipPipeDetailDOS.stream().map(EquipPipeDetailDO::getPipeLevel).filter(Objects::nonNull).distinct().collect(Collectors.joining("/"));
+                    result.put("pipeLevel", equipPipeDO.getPipeClass());
+
+                    double pipeLengthTotal = equipPipeDetailDOS.stream()
+                            .map(EquipPipeDetailDO::getPipeLength)
+                            .filter(java.util.Objects::nonNull)
+                            .mapToDouble(BigDecimal::doubleValue)
+                            .sum();
+                    result.put("pipeLengthTotal", String.valueOf(pipeLengthTotal));
+
+                    String pipeCategory = equipPipeDO.getPipeCategory();
+                    if (StrUtil.isNotBlank(pipeCategory)) {
+                        if ("industry_pipe".equals(pipeCategory)) {
+                            result.put("pipeCategory_1", "true");
+                            result.put("pipeCategory_2", "false");
+                        }
+                        if ("public_pipe".equals(pipeCategory)) {
+                            result.put("pipeCategory_2", "true");
+                            result.put("pipeCategory_1", "false");
+                        }
+                    }
+                }
+            }
+
+        }
+
+        return result;
+
+    }
+}

+ 90 - 74
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/README.md

@@ -2,84 +2,100 @@
 
 ## 📊 文件分类汇总
 
-### 一、报告类 (Report) - QC 系列
+### 一、记录类 (Record) - QC 系列
 
-#### QC12002-QC12107 系列
+#### QC12113-QC12192 系列
 
-| 序号 | 文件名 | 类名 | 描述 | 链接 |
-|:---:|--------|------|------|------|
-| 1 | [QC12002_202401ReportOFData.java](./QC12002_202401ReportOFData.java) | `QC12002_202401` | 压力管道施工质量监督检验结论报告 | [查看](./QC12002_202401ReportOFData.java) |
-| 2 | [QC12003_202400ReportOFData.java](./QC12003_202400ReportOFData.java) | `QC12003_202400` | 压力管道定期检验报告 | [查看](./QC12003_202400ReportOFData.java) |
-| 3 | [QC12005_202400ReportOFData.java](./QC12005_202400ReportOFData.java) | `QC12005_202400` | 压力管道全面检验报告 | [查看](./QC12005_202400ReportOFData.java) |
-| 4 | [QC12006_202401ReportOFData.java](./QC12006_202401ReportOFData.java) | `QC12006_202401` | 压力管道在线检验报告 | [查看](./QC12006_202401ReportOFData.java) |
-| 5 | [QC12016_202400ReportOFData.java](./QC12016_202400ReportOFData.java) | `QC12016_202400` | 压力管道合于使用评价报告 | [查看](./QC12016_202400ReportOFData.java) |
-| 6 | [QC12017_202400ReportOFData.java](./QC12017_202400ReportOFData.java) | `QC12017_202400` | 压力管道剩余寿命评估报告 | [查看](./QC12017_202400ReportOFData.java) |
-| 7 | [QC12018_202400ReportOFData.java](./QC12018_202400ReportOFData.java) | `QC12018_202400` | 压力管道风险评估报告 | [查看](./QC12018_202400ReportOFData.java) |
-| 8 | [QC12018_202401ReportOFData.java](./QC12018_202401ReportOFData.java) | `QC12018_202401` | 压力管道风险评估报告(版本 2) | [查看](./QC12018_202401ReportOFData.java) |
-| 9 | [QC12019_202400ReportOFData.java](./QC12019_202400ReportOFData.java) | `QC12019_202400` | 压力管道损坏部位确认报告 | [查看](./QC12019_202400ReportOFData.java) |
-| 10 | [QC12021_202400ReportOFData.java](./QC12021_202400ReportOFData.java) | `QC12021_202400` | 压力管道重大维修改造确认报告 | [查看](./QC12021_202400ReportOFData.java) |
-| 11 | [QC12024_202400ReportOFData.java](./QC12024_202400ReportOFData.java) | `QC12024_202400` | 压力管道报废注销确认报告 | [查看](./QC12024_202400ReportOFData.java) |
-| 12 | [QC12024_202403ReportOFData.java](./QC12024_202403ReportOFData.java) | `QC12024_202403` | 压力管道报废注销确认报告(版本 3) | [查看](./QC12024_202403ReportOFData.java) |
-| 13 | [QC12025_202400ReportOFData.java](./QC12025_202400ReportOFData.java) | `QC12025_202400` | 压力管道使用登记核查报告 | [查看](./QC12025_202400ReportOFData.java) |
-| 14 | [QC12026_202400ReportOFData.java](./QC12026_202400ReportOFData.java) | `QC12026_202400` | 压力管道安全管理状况检查报告 | [查看](./QC12026_202400ReportOFData.java) |
-| 15 | [QC12027_202400ReportOFData.java](./QC12027_202400ReportOFData.java) | `QC12027_202400` | 压力管道事故专项评估报告 | [查看](./QC12027_202400ReportOFData.java) |
-| 16 | [QC12028_202400ReportOFData.java](./QC12028_202400ReportOFData.java) | `QC12028_202400` | 压力管道符合性验证报告 | [查看](./QC12028_202400ReportOFData.java) |
-| 17 | [QC12029_202400ReportOFData.java](./QC12029_202400ReportOFData.java) | `QC12029_202400` | 压力管道技术档案核查报告 | [查看](./QC12029_202400ReportOFData.java) |
-| 18 | [QC12029_202401ReportOFData.java](./QC12029_202401ReportOFData.java) | `QC12029_202401` | 压力管道技术档案核查报告(版本 2) | [查看](./QC12029_202401ReportOFData.java) |
-| 19 | [QC12030_202400ReportOFData.java](./QC12030_202400ReportOFData.java) | `QC12030_202400` | 压力管道其他专项报告 | [查看](./QC12030_202400ReportOFData.java) |
-| 20 | [QC12031_202400ReportOFData.java](./QC12031_202400ReportOFData.java) | `QC12031_202400` | 压力管道年度检查报告 | [查看](./QC12031_202400ReportOFData.java) |
-| 21 | [QC12032_202400ReportOFData.java](./QC12032_202400ReportOFData.java) | `QC12032_202400` | 压力管道日常检查报告 | [查看](./QC12032_202400ReportOFData.java) |
-| 22 | [QC12033_202400ReportOFData.java](./QC12033_202400ReportOFData.java) | `QC12033_202400` | 压力管道维护保养报告 | [查看](./QC12033_202400ReportOFData.java) |
-| 23 | [QC12033_202401ReportOFData.java](./QC12033_202401ReportOFData.java) | `QC12033_202401` | 压力管道维护保养报告(版本 2) | [查看](./QC12033_202401ReportOFData.java) |
-| 24 | [QC12034_202400ReportOFData.java](./QC12034_202400ReportOFData.java) | `QC12034_202400` | 压力管道运行报告 | [查看](./QC12034_202400ReportOFData.java) |
-| 25 | [QC12035_202400ReportOFData.java](./QC12035_202400ReportOFData.java) | `QC12035_202400` | 压力管道修理报告 | [查看](./QC12035_202400ReportOFData.java) |
-| 26 | [QC12036_202400ReportOFData.java](./QC12036_202400ReportOFData.java) | `QC12036_202400` | 压力管道改造报告 | [查看](./QC12036_202400ReportOFData.java) |
-| 27 | [QC12037_202400ReportOFData.java](./QC12037_202400ReportOFData.java) | `QC12037_202400` | 压力管道重大维修报告 | [查看](./QC12037_202400ReportOFData.java) |
-| 28 | [QC12040_202400ReportOFData.java](./QC12040_202400ReportOFData.java) | `QC12040_202400` | 压力管道耐压试验报告 | [查看](./QC12040_202400ReportOFData.java) |
-| 29 | [QC12041_202400ReportOFData.java](./QC12041_202400ReportOFData.java) | `QC12041_202400` | 压力管道泄漏试验报告 | [查看](./QC12041_202400ReportOFData.java) |
-| 30 | [QC12099_202400ReportOFData.java](./QC12099_202400ReportOFData.java) | `QC12099_202400` | 压力管道其他报告 1 | [查看](./QC12099_202400ReportOFData.java) |
-| 31 | [QC12100_202400ReportOFData.java](./QC12100_202400ReportOFData.java) | `QC12100_202400` | 压力管道其他报告 2 | [查看](./QC12100_202400ReportOFData.java) |
-| 32 | [QC12101_202400ReportOFData.java](./QC12101_202400ReportOFData.java) | `QC12101_202400` | 压力管道其他报告 3 | [查看](./QC12101_202400ReportOFData.java) |
-| 33 | [QC12107_202400ReportOFData.java](./QC12107_202400ReportOFData.java) | `QC12107_202400` | 压力管道其他报告 4 | [查看](./QC12107_202400ReportOFData.java) |
+| 序号 | 文件名                                                                  | 类名               | 描述                                 |   版本号   | 链接                                      |
+|:--:|----------------------------------------------------------------------|------------------|------------------------------------|:-------:|-----------------------------------------|
+| 1  | [QC12113_202401RecordOFData.java](./QC12113_202401RecordOFData.java) | `QC12113_202401` | 压力管道施工质量监督检验项目表记录                  | 2024/01 | [查看](./QC12113_202401RecordOFData.java) |
+| 2  | [QC12115_202400RecordOFData.java](./QC12115_202400RecordOFData.java) | `QC12115_202400` | 受检单位现场作业检测人员明细表记录                  | 2024/00 | [查看](./QC12115_202400RecordOFData.java) |
+| 3  | [QC12116_202400RecordOFData.java](./QC12116_202400RecordOFData.java) | `QC12116_202400` | 压力管道一览表记录                          | 2024/00 | [查看](./QC12116_202400RecordOFData.java) |
+| 4  | [QC12123_202400RecordOFData.java](./QC12123_202400RecordOFData.java) | `QC12123_202400` | 资料审查记录                             | 2024/00 | [查看](./QC12123_202400RecordOFData.java) |
+| 5  | [QC12123_202402RecordOFData.java](./QC12123_202402RecordOFData.java) | `QC12123_202402` | 资料审查记录(版本 2)                       | 2024/02 | [查看](./QC12123_202402RecordOFData.java) |
+| 6  | [QC12124_202400RecordOFData.java](./QC12124_202400RecordOFData.java) | `QC12124_202400` | 宏观检验及安全附件仪表检验记录                    | 2024/00 | [查看](./QC12124_202400RecordOFData.java) |
+| 7  | [QC12124_202401RecordOFData.java](./QC12124_202401RecordOFData.java) | `QC12124_202401` | 压力管道宏观检验记录                         | 2024/01 | [查看](./QC12124_202401RecordOFData.java) |
+| 8  | [QC12125_202400RecordOFData.java](./QC12125_202400RecordOFData.java) | `QC12125_202400` | 压力管道壁厚测定记录                         | 2024/00 | [查看](./QC12125_202400RecordOFData.java) |
+| 9  | [QC12126_202400RecordOFData.java](./QC12126_202400RecordOFData.java) | `QC12126_202400` | 压力管道缺陷处理确认记录                       | 2024/00 | [查看](./QC12126_202400RecordOFData.java) |
+| 10 | [QC12127_202400RecordOFData.java](./QC12127_202400RecordOFData.java) | `QC12127_202400` | 压力管道弯管不圆度检测记录                      | 2024/00 | [查看](./QC12127_202400RecordOFData.java) |
+| 11 | [QC12128_202400RecordOFData.java](./QC12128_202400RecordOFData.java) | `QC12128_202400` | 压力管道超标缺陷安全状况等级评定记录                 | 2024/00 | [查看](./QC12128_202400RecordOFData.java) |
+| 12 | [QC12128_202401RecordOFData.java](./QC12128_202401RecordOFData.java) | `QC12128_202401` | 压力管道超标缺陷安全状况等级评定记录(版本 2)           | 2024/01 | [查看](./QC12128_202401RecordOFData.java) |
+| 13 | [QC12129_202400RecordOFData.java](./QC12129_202400RecordOFData.java) | `QC12129_202400` | 压力管道有限元应力分析记录                      | 2024/00 | [查看](./QC12129_202400RecordOFData.java) |
+| 14 | [QC12130_202400RecordOFData.java](./QC12130_202400RecordOFData.java) | `QC12130_202400` | 压力管道耐压强度校核记录                       | 2024/00 | [查看](./QC12130_202400RecordOFData.java) |
+| 15 | [QC12131_202400RecordOFData.java](./QC12131_202400RecordOFData.java) | `QC12131_202400` | 耐压试验记录                             | 2024/00 | [查看](./QC12131_202400RecordOFData.java) |
+| 16 | [QC12132_202400RecordOFData.java](./QC12132_202400RecordOFData.java) | `QC12132_202400` | 压力管道泄漏试验记录                         | 2024/00 | [查看](./QC12132_202400RecordOFData.java) |
+| 17 | [QC12133_202400RecordOFData.java](./QC12133_202400RecordOFData.java) | `QC12133_202400` | 压力管道安全状况等级评定记录                     | 2024/00 | [查看](./QC12133_202400RecordOFData.java) |
+| 18 | [QC12133_202401RecordOFData.java](./QC12133_202401RecordOFData.java) | `QC12133_202401` | 压力管道安全状况等级评定记录(版本 2)               | 2024/01 | [查看](./QC12133_202401RecordOFData.java) |
+| 19 | [QC12134_202400RecordOFData.java](./QC12134_202400RecordOFData.java) | `QC12134_202400` | 在用管道涡流测厚记录                         | 2024/00 | [查看](./QC12134_202400RecordOFData.java) |
+| 20 | [QC12135_202400RecordOFData.java](./QC12135_202400RecordOFData.java) | `QC12135_202400` | 管道元件几何尺寸与壁厚测定记录                    | 2024/00 | [查看](./QC12135_202400RecordOFData.java) |
+| 21 | [QC12136_202400RecordOFData.java](./QC12136_202400RecordOFData.java) | `QC12136_202400` | 管道安全保护装置检验记录                       | 2024/00 | [查看](./QC12136_202400RecordOFData.java) |
+| 22 | [QC12137_202400RecordOFData.java](./QC12137_202400RecordOFData.java) | `QC12137_202400` | 单线图记录                              | 2024/00 | [查看](./QC12137_202400RecordOFData.java) |
+| 23 | [QC12139_202400RecordOFData.java](./QC12139_202400RecordOFData.java) | `QC12139_202400` | 磁致伸缩超声导波检测记录                       | 2024/00 | [查看](./QC12139_202400RecordOFData.java) |
+| 24 | [QC12141_202400RecordOFData.java](./QC12141_202400RecordOFData.java) | `QC12141_202400` | 在用工业管道阴极保护系统测试-CIPS检测记录            | 2024/00 | [查看](./QC12141_202400RecordOFData.java) |
+| 25 | [QC12142_202400RecordOFData.java](./QC12142_202400RecordOFData.java) | `QC12142_202400` | 在用工业管道阴极保护系统检测记录                   | 2024/00 | [查看](./QC12142_202400RecordOFData.java) |
+| 26 | [QC12170_202400RecordOFData.java](./QC12170_202400RecordOFData.java) | `QC12170_202400` | 压力管道检验检测照片记录                       | 2024/00 | [查看](./QC12170_202400RecordOFData.java) |
+| 27 | [QC12171_202400RecordOFData.java](./QC12171_202400RecordOFData.java) | `QC12171_202400` | 压力管道年度检查记录                         | 2024/00 | [查看](./QC12171_202400RecordOFData.java) |
+| 28 | [QC12171_202401RecordOFData.java](./QC12171_202401RecordOFData.java) | `QC12171_202401` | 压力管道年度检查记录(版本 2)                   | 2024/01 | [查看](./QC12171_202401RecordOFData.java) |
+| 29 | [QC12176_202400RecordOFData.java](./QC12176_202400RecordOFData.java) | `QC12176_202400` | 工业管道航拍数据采集记录                       | 2024/00 | [查看](./QC12176_202400RecordOFData.java) |
+| 30 | [QC12177_202400RecordOFData.java](./QC12177_202400RecordOFData.java) | `QC12177_202400` | 压力管道检验检测附表记录                       | 2024/00 | [查看](./QC12177_202400RecordOFData.java) |
+| 31 | [QC12186_202400RecordOFData.java](./QC12186_202400RecordOFData.java) | `QC12186_202400` | 压力管道定期检验纪要记录                       | 2024/00 | [查看](./QC12186_202400RecordOFData.java) |
+| 32 | [QC12192_202500RecordOFData.java](./QC12192_202500RecordOFData.java) | `QC12192_202500` | 压力管道安全附件阻火器机械安全联锁装置及仪表检验记录(2025 版) | 2025/00 | [查看](./QC12192_202500RecordOFData.java) |
 
 ---
 
-### 二、记录类 (Record) - QC 系列
+### 二、报告类 (Report) - QC 系列
 
-#### QC12113-QC12193 系列
+#### QC12001-QC12193 系列
 
-| 序号 | 文件名 | 类名 | 描述 | 链接 |
-|:---:|--------|------|------|------|
-| 1 | [QC12113_202401RecordOFData.java](./QC12113_202401RecordOFData.java) | `QC12113_202401` | 压力管道定期检验记录 | [查看](./QC12113_202401RecordOFData.java) |
-| 2 | [QC12115_202400RecordOFData.java](./QC12115_202400RecordOFData.java) | `QC12115_202400` | 压力管道全面检验记录 | [查看](./QC12115_202400RecordOFData.java) |
-| 3 | [QC12116_202400RecordOFData.java](./QC12116_202400RecordOFData.java) | `QC12116_202400` | 压力管道在线检验记录 | [查看](./QC12116_202400RecordOFData.java) |
-| 4 | [QC12123_202400RecordOFData.java](./QC12123_202400RecordOFData.java) | `QC12123_202400` | 压力管道合于使用评价记录 | [查看](./QC12123_202400RecordOFData.java) |
-| 5 | [QC12124_202400RecordOFData.java](./QC12124_202400RecordOFData.java) | `QC12124_202400` | 压力管道剩余寿命评估记录 | [查看](./QC12124_202400RecordOFData.java) |
-| 6 | [QC12124_202401RecordOFData.java](./QC12124_202401RecordOFData.java) | `QC12124_202401` | 压力管道剩余寿命评估记录(版本 2) | [查看](./QC12124_202401RecordOFData.java) |
-| 7 | [QC12125_202400RecordOFData.java](./QC12125_202400RecordOFData.java) | `QC12125_202400` | 压力管道风险评估记录 | [查看](./QC12125_202400RecordOFData.java) |
-| 8 | [QC12126_202400RecordOFData.java](./QC12126_202400RecordOFData.java) | `QC12126_202400` | 压力管道损坏部位确认记录 | [查看](./QC12126_202400RecordOFData.java) |
-| 9 | [QC12127_202400RecordOFData.java](./QC12127_202400RecordOFData.java) | `QC12127_202400` | 压力管道重大维修改造确认记录 | [查看](./QC12127_202400RecordOFData.java) |
-| 10 | [QC12128_202400RecordOFData.java](./QC12128_202400RecordOFData.java) | `QC12128_202400` | 压力管道报废注销确认记录 | [查看](./QC12128_202400RecordOFData.java) |
-| 11 | [QC12128_202401RecordOFData.java](./QC12128_202401RecordOFData.java) | `QC12128_202401` | 压力管道报废注销确认记录(版本 2) | [查看](./QC12128_202401RecordOFData.java) |
-| 12 | [QC12129_202400RecordOFData.java](./QC12129_202400RecordOFData.java) | `QC12129_202400` | 压力管道使用登记核查记录 | [查看](./QC12129_202400RecordOFData.java) |
-| 13 | [QC12130_202400RecordOFData.java](./QC12130_202400RecordOFData.java) | `QC12130_202400` | 压力管道安全管理状况检查记录 | [查看](./QC12130_202400RecordOFData.java) |
-| 14 | [QC12131_202400RecordOFData.java](./QC12131_202400RecordOFData.java) | `QC12131_202400` | 压力管道事故专项评估记录 | [查看](./QC12131_202400RecordOFData.java) |
-| 15 | [QC12132_202400RecordOFData.java](./QC12132_202400RecordOFData.java) | `QC12132_202400` | 压力管道符合性验证记录 | [查看](./QC12132_202400RecordOFData.java) |
-| 16 | [QC12133_202400RecordOFData.java](./QC12133_202400RecordOFData.java) | `QC12133_202400` | 压力管道技术档案核查记录 | [查看](./QC12133_202400RecordOFData.java) |
-| 17 | [QC12133_202401RecordOFData.java](./QC12133_202401RecordOFData.java) | `QC12133_202401` | 压力管道技术档案核查记录(版本 2) | [查看](./QC12133_202401RecordOFData.java) |
-| 18 | [QC12134_202400RecordOFData.java](./QC12134_202400RecordOFData.java) | `QC12134_202400` | 压力管道其他专项记录 | [查看](./QC12134_202400RecordOFData.java) |
-| 19 | [QC12135_202400RecordOFData.java](./QC12135_202400RecordOFData.java) | `QC12135_202400` | 压力管道年度检查记录 | [查看](./QC12135_202400RecordOFData.java) |
-| 20 | [QC12136_202400RecordOFData.java](./QC12136_202400RecordOFData.java) | `QC12136_202400` | 压力管道日常检查记录 | [查看](./QC12136_202400RecordOFData.java) |
-| 21 | [QC12137_202400RecordOFData.java](./QC12137_202400RecordOFData.java) | `QC12137_202400` | 压力管道维护保养记录 | [查看](./QC12137_202400RecordOFData.java) |
-| 22 | [QC12139_202400RecordOFData.java](./QC12139_202400RecordOFData.java) | `QC12139_202400` | 压力管道运行记录 | [查看](./QC12139_202400RecordOFData.java) |
-| 23 | [QC12141_202400RecordOFData.java](./QC12141_202400RecordOFData.java) | `QC12141_202400` | 压力管道修理记录 | [查看](./QC12141_202400RecordOFData.java) |
-| 24 | [QC12142_202400RecordOFData.java](./QC12142_202400RecordOFData.java) | `QC12142_202400` | 压力管道改造记录 | [查看](./QC12142_202400RecordOFData.java) |
-| 25 | [QC12170_202400RecordOFData.java](./QC12170_202400RecordOFData.java) | `QC12170_202400` | 压力管道重大维修记录 | [查看](./QC12170_202400RecordOFData.java) |
-| 26 | [QC12171_202400RecordOFData.java](./QC12171_202400RecordOFData.java) | `QC12171_202400` | 压力管道耐压试验记录 | [查看](./QC12171_202400RecordOFData.java) |
-| 27 | [QC12176_202400RecordOFData.java](./QC12176_202400RecordOFData.java) | `QC12176_202400` | 压力管道泄漏试验记录 | [查看](./QC12176_202400RecordOFData.java) |
-| 28 | [QC12177_202400RecordOFData.java](./QC12177_202400RecordOFData.java) | `QC12177_202400` | 压力管道交接班记录 | [查看](./QC12177_202400RecordOFData.java) |
-| 29 | [QC12184_202400ReportOFData.java](./QC12184_202400ReportOFData.java) | `QC12184_202400` | 压力管道其他报告 5 | [查看](./QC12184_202400ReportOFData.java) |
-| 30 | [QC12185_202400ReportOFData.java](./QC12185_202400ReportOFData.java) | `QC12185_202400` | 压力管道其他报告 6 | [查看](./QC12185_202400ReportOFData.java) |
-| 31 | [QC12186_202400RecordOFData.java](./QC12186_202400RecordOFData.java) | `QC12186_202400` | 压力管道其他记录 1 | [查看](./QC12186_202400RecordOFData.java) |
-| 32 | [QC12192_202500RecordOFData.java](./QC12192_202500RecordOFData.java) | `QC12192_202500` | 压力管道其他记录 2(2025 版) | [查看](./QC12192_202500RecordOFData.java) |
-| 33 | [QC12193_202500ReportOFData.java](./QC12193_202500ReportOFData.java) | `QC12193_202500` | 压力管道其他报告 7(2025 版) | [查看](./QC12193_202500ReportOFData.java) |
+| 序号 | 文件名                                                                  | 类名               | 描述                                 |   版本号   | 链接                                      |
+|:--:|----------------------------------------------------------------------|------------------|------------------------------------|:-------:|-----------------------------------------|
+| 1  | [QC12001_202401ReportOFData.java](./QC12001_202401ReportOFData.java) | `QC12001_202401` | 压力管道施工质量监督检验报告封面 注意事项              | 2024/01 | [查看](./QC12001_202401ReportOFData.java) |
+| 2  | [QC12002_202401ReportOFData.java](./QC12002_202401ReportOFData.java) | `QC12002_202401` | 压力管道施工质量监督检验结论报告                   | 2024/01 | [查看](./QC12002_202401ReportOFData.java) |
+| 3  | [QC12003_202400ReportOFData.java](./QC12003_202400ReportOFData.java) | `QC12003_202400` | 压力管道一览表报告                          | 2024/00 | [查看](./QC12003_202400ReportOFData.java) |
+| 4  | [QC12005_202400ReportOFData.java](./QC12005_202400ReportOFData.java) | `QC12005_202400` | 受检单位现场作业检测人员明细表报告                  | 2024/00 | [查看](./QC12005_202400ReportOFData.java) |
+| 5  | [QC12006_202401ReportOFData.java](./QC12006_202401ReportOFData.java) | `QC12006_202401` | 压力管道施工质量监督检验项目表报告                  | 2024/01 | [查看](./QC12006_202401ReportOFData.java) |
+| 6  | [QC12016_202400ReportOFData.java](./QC12016_202400ReportOFData.java) | `QC12016_202400` | 压力管道年度检查结论报告                       | 2024/00 | [查看](./QC12016_202400ReportOFData.java) |
+| 7  | [QC12016_202401ReportOFData.java](./QC12016_202401ReportOFData.java) | `QC12016_202401` | 压力管道年度检查结论报告(版本 2)                 | 2024/01 | [查看](./QC12016_202401ReportOFData.java) |
+| 8  | [QC12017_202400ReportOFData.java](./QC12017_202400ReportOFData.java) | `QC12017_202400` | 压力管道资料审查报告                         | 2024/00 | [查看](./QC12017_202400ReportOFData.java) |
+| 9  | [QC12017_202401ReportOFData.java](./QC12017_202401ReportOFData.java) | `QC12017_202401` | 压力管道资料审查报告(版本 2)                   | 2024/01 | [查看](./QC12017_202401ReportOFData.java) |
+| 10 | [QC12018_202400ReportOFData.java](./QC12018_202400ReportOFData.java) | `QC12018_202400` | 宏观检验及安全附件仪表检验报告                    | 2024/00 | [查看](./QC12018_202400ReportOFData.java) |
+| 11 | [QC12018_202401ReportOFData.java](./QC12018_202401ReportOFData.java) | `QC12018_202401` | 压力管道宏观检验报告                         | 2024/01 | [查看](./QC12018_202401ReportOFData.java) |
+| 12 | [QC12019_202400ReportOFData.java](./QC12019_202400ReportOFData.java) | `QC12019_202400` | 压力管道壁厚测定报告                         | 2024/00 | [查看](./QC12019_202400ReportOFData.java) |
+| 13 | [QC12021_202400ReportOFData.java](./QC12021_202400ReportOFData.java) | `QC12021_202400` | 压力管道缺陷处理确认报告                       | 2024/00 | [查看](./QC12021_202400ReportOFData.java) |
+| 14 | [QC12022_202402ReportOFData.java](./QC12022_202402ReportOFData.java) | `QC12022_202402` | 压力管道定期检验报告封面 注意事项                  | 2024/02 | [查看](./QC12022_202402ReportOFData.java) |
+| 15 | [QC12024_202400ReportOFData.java](./QC12024_202400ReportOFData.java) | `QC12024_202400` | 压力管道定期检验结论报告                       | 2024/00 | [查看](./QC12024_202400ReportOFData.java) |
+| 16 | [QC12024_202403ReportOFData.java](./QC12024_202403ReportOFData.java) | `QC12024_202403` | 压力管道定期检验结论报告(版本 3)                 | 2024/03 | [查看](./QC12024_202403ReportOFData.java) |
+| 17 | [QC12025_202400ReportOFData.java](./QC12025_202400ReportOFData.java) | `QC12025_202400` | 压力管道元件几何尺寸与壁厚测定报告                  | 2024/00 | [查看](./QC12025_202400ReportOFData.java) |
+| 18 | [QC12026_202400ReportOFData.java](./QC12026_202400ReportOFData.java) | `QC12026_202400` | 管道安全保护装置检验报告                       | 2024/00 | [查看](./QC12026_202400ReportOFData.java) |
+| 19 | [QC12027_202400ReportOFData.java](./QC12027_202400ReportOFData.java) | `QC12027_202400` | 在用管道涡流测厚报告                         | 2024/00 | [查看](./QC12027_202400ReportOFData.java) |
+| 20 | [QC12028_202400ReportOFData.java](./QC12028_202400ReportOFData.java) | `QC12028_202400` | 管道超标缺陷安全评估报告                       | 2024/00 | [查看](./QC12028_202400ReportOFData.java) |
+| 21 | [QC12029_202400ReportOFData.java](./QC12029_202400ReportOFData.java) | `QC12029_202400` | 压力管道超标缺陷安全状况等级评定报告                 | 2024/00 | [查看](./QC12029_202400ReportOFData.java) |
+| 22 | [QC12029_202401ReportOFData.java](./QC12029_202401ReportOFData.java) | `QC12029_202401` | 压力管道超标缺陷安全状况等级评定报告(版本 2)           | 2024/01 | [查看](./QC12029_202401ReportOFData.java) |
+| 23 | [QC12030_202400ReportOFData.java](./QC12030_202400ReportOFData.java) | `QC12030_202400` | 压力管道耐压强度校核报告                       | 2024/00 | [查看](./QC12030_202400ReportOFData.java) |
+| 24 | [QC12031_202400ReportOFData.java](./QC12031_202400ReportOFData.java) | `QC12031_202400` | 耐压试验报告                             | 2024/00 | [查看](./QC12031_202400ReportOFData.java) |
+| 25 | [QC12032_202400ReportOFData.java](./QC12032_202400ReportOFData.java) | `QC12032_202400` | 压力管道泄漏试验报告                         | 2024/00 | [查看](./QC12032_202400ReportOFData.java) |
+| 26 | [QC12033_202400ReportOFData.java](./QC12033_202400ReportOFData.java) | `QC12033_202400` | 压力管道安全状况等级评定报告                     | 2024/00 | [查看](./QC12033_202400ReportOFData.java) |
+| 27 | [QC12033_202401ReportOFData.java](./QC12033_202401ReportOFData.java) | `QC12033_202401` | 压力管道安全状况等级评定报告(版本 2)               | 2024/01 | [查看](./QC12033_202401ReportOFData.java) |
+| 28 | [QC12034_202400ReportOFData.java](./QC12034_202400ReportOFData.java) | `QC12034_202400` | 压力管道弯管不圆度检测报告                      | 2024/00 | [查看](./QC12034_202400ReportOFData.java) |
+| 29 | [QC12035_202400ReportOFData.java](./QC12035_202400ReportOFData.java) | `QC12035_202400` | 压力管道有限元应力分析报告                      | 2024/00 | [查看](./QC12035_202400ReportOFData.java) |
+| 30 | [QC12036_202400ReportOFData.java](./QC12036_202400ReportOFData.java) | `QC12036_202400` | 压力管道单线图报告                          | 2024/00 | [查看](./QC12036_202400ReportOFData.java) |
+| 31 | [QC12037_202400ReportOFData.java](./QC12037_202400ReportOFData.java) | `QC12037_202400` | 磁致伸缩超声导波检测报告                       | 2024/00 | [查看](./QC12037_202400ReportOFData.java) |
+| 32 | [QC12040_202400ReportOFData.java](./QC12040_202400ReportOFData.java) | `QC12040_202400` | 在用工业管道阴极保护系统测试-CIPS检测报告            | 2024/00 | [查看](./QC12040_202400ReportOFData.java) |
+| 33 | [QC12041_202400ReportOFData.java](./QC12041_202400ReportOFData.java) | `QC12041_202400` | 在用工业管道阴极保护系统检测报告                   | 2024/00 | [查看](./QC12041_202400ReportOFData.java) |
+| 34 | [QC12099_202400ReportOFData.java](./QC12099_202400ReportOFData.java) | `QC12099_202400` | 压力管道定期检验结论报告附页                     | 2024/00 | [查看](./QC12099_202400ReportOFData.java) |
+| 35 | [QC12099_202401ReportOFData.java](./QC12099_202401ReportOFData.java) | `QC12099_202401` | 压力管道定期检验结论报告附页(版本 2)               | 2024/01 | [查看](./QC12099_202401ReportOFData.java) |
+| 36 | [QC12100_202400ReportOFData.java](./QC12100_202400ReportOFData.java) | `QC12100_202400` | 压力管道年度检查报告                         | 2024/00 | [查看](./QC12100_202400ReportOFData.java) |
+| 37 | [QC12100_202401ReportOFData.java](./QC12100_202401ReportOFData.java) | `QC12100_202401` | 压力管道年度检查报告(版本 2)                   | 2024/01 | [查看](./QC12100_202401ReportOFData.java) |
+| 38 | [QC12101_202400ReportOFData.java](./QC12101_202400ReportOFData.java) | `QC12101_202400` | 压力管道年度检查结论报告附页                     | 2024/00 | [查看](./QC12101_202400ReportOFData.java) |
+| 39 | [QC12107_202400ReportOFData.java](./QC12107_202400ReportOFData.java) | `QC12107_202400` | 压力管道检验检测附表报告                       | 2024/00 | [查看](./QC12107_202400ReportOFData.java) |
+| 40 | [QC12184_202400ReportOFData.java](./QC12184_202400ReportOFData.java) | `QC12184_202400` | 压动管道定期检验项目表报告                      | 2024/00 | [查看](./QC12184_202400ReportOFData.java) |
+| 41 | [QC12185_202400ReportOFData.java](./QC12185_202400ReportOFData.java) | `QC12185_202400` | 压力管道定期检验纪要报告                       | 2024/00 | [查看](./QC12185_202400ReportOFData.java) |
+| 42 | [QC12193_202500ReportOFData.java](./QC12193_202500ReportOFData.java) | `QC12193_202500` | 压力管道安全附件阻火器机械安全联锁装置及仪表检验报告(2025 版) | 2025/00 | [查看](./QC12193_202500ReportOFData.java) |
+
+---
+
+### 三、特殊表单类 (Form) - QR 系列
+
+| 序号 | 文件名                                                                | 类名              | 描述              |   版本号   | 链接                                     |
+|:--:|--------------------------------------------------------------------|-----------------|-----------------|:-------:|----------------------------------------|
+| 1  | [QR0413_202400ReportOFData.java](./QR0413_202400ReportOFData.java) | `QR0413_202400` | 在用管道定期检验申请(受理)单 | 2024/00 | [查看](./QR0413_202400ReportOFData.java) |

+ 31 - 16
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/AutoDataPipeService.java

@@ -73,29 +73,44 @@ public class AutoDataPipeService {
 
     public JSONObject autoGeneratePipeReportData(JSONObject jsonObject, String pipeTaskOrderItemReportDOId) {
         PipeTaskOrderItemReportDO itemReportDO = pipeTaskOrderItemReportMapper.selectById(pipeTaskOrderItemReportDOId);
-        PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
         jsonObject.put("reportNo", itemReportDO.getReportNo());
-
-        List<PipeTaskOrderItemReportUserDO> itemReportUserDOS = pipeTaskOrderItemReportUserMapper.selectList(PipeTaskOrderItemReportUserDO::getReportId, pipeTaskOrderItemReportDOId);
-        if (taskOrderDO != null) {
-            jsonObject.put("checkDate", taskOrderDO.getCheckDate().format(dateFormat));
+        //编制人员信息
+        AdminUserRespDTO userInfo = adminUserApi.getUser(itemReportDO.getPrepareId()).getData();
+        if (userInfo != null) {
+            if (userInfo.getSignUrl() != null) {
+                jsonObject.put("prepareName", userInfo.getSignUrl());
+            } else {
+                jsonObject.put("prepareName", itemReportDO.getPrepareName());
+            }
         }
-        if (!itemReportUserDOS.isEmpty()) {
-            AdminUserRespDTO userInfo = adminUserApi.getUser(itemReportUserDOS.get(0).getUserId()).getData();
-            if (userInfo != null) {
-                jsonObject.put("checkName", userInfo.getSignUrl());
+        if (itemReportDO.getPrepareTime() != null) {
+            jsonObject.put("prepareTime", itemReportDO.getPrepareTime().format(dateFormat));
+        }
+
+        //审核人员信息
+        userInfo = adminUserApi.getUser(itemReportDO.getApprovalId()).getData();
+        if (userInfo != null) {
+            if (userInfo.getSignUrl() != null) {
+                jsonObject.put("approvalName", userInfo.getSignUrl());
+            } else {
+                jsonObject.put("approvalName", itemReportDO.getApprovalName());
             }
         }
+        if (itemReportDO.getApprovalTime() != null) {
+            jsonObject.put("approvalTime", itemReportDO.getApprovalTime().format(dateFormat));
+        }
 
-        //校验人员信息
-        AdminUserRespDTO userInfo = adminUserApi.getUser(itemReportDO.getRecheckId()).getData();
+        //批准人员信息
+        userInfo = adminUserApi.getUser(itemReportDO.getRatifyId()).getData();
         if (userInfo != null) {
-            jsonObject.put("recheckName", userInfo.getSignUrl());
-        } else {
-            jsonObject.put("recheckName", itemReportDO.getRecheckName());
+            if (userInfo.getSignUrl() != null) {
+                jsonObject.put("ratifyName", userInfo.getSignUrl());
+            } else {
+                jsonObject.put("ratifyName", itemReportDO.getRatifyName());
+            }
         }
-        if (itemReportDO.getRecheckDate() != null) {
-            jsonObject.put("recheckDate", itemReportDO.getRecheckDate().format(dateFormat));
+        if (itemReportDO.getRatifyTime() != null) {
+            jsonObject.put("ratifyTime", itemReportDO.getRatifyTime().format(dateFormat));
         }
         return jsonObject;
     }

+ 44 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/DynamicService.java

@@ -0,0 +1,44 @@
+package cn.start.tz.module.pressure2.service.dynamicOFData.util;
+
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+/**
+ * 报表工具类
+ */
+@Service
+public class DynamicService {
+
+    /**
+     * 根据代码从列表中查找对应的动态表值对象
+     *
+     * @param list 动态表值对象列表
+     * @param code 要查找的代码
+     * @return 匹配的DynamicTbValDO对象,如果未找到则返回null
+     */
+    public DynamicTbValDO getByCode(List<DynamicTbValDO> list, String code){
+        for (DynamicTbValDO dynamicTbValDO : list) {
+            if (dynamicTbValDO.getColCode().equals(code)){
+                return dynamicTbValDO;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 根据代码从列表中查找对应的动态表值
+     *
+     * @param list 动态表值对象列表
+     * @param code 要查找的代码
+     * @return 匹配的DynamicTbValDO对象,如果未找到则返回null
+     */
+    public String getValueByCode(List<DynamicTbValDO> list, String code){
+        for (DynamicTbValDO dynamicTbValDO : list) {
+            if (dynamicTbValDO.getColCode().equals(code)){
+                return dynamicTbValDO.getValValue();
+            }
+        }
+        return null;
+    }
+}

+ 5 - 7
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/util/JsonConvertUtil.java

@@ -45,7 +45,7 @@ public class JsonConvertUtil {
         // 遍历 JSONObject 的所有字段
         for (Map.Entry<String, Object> entry : jsonObject.entrySet()) {
             Object value = entry.getValue();
-            String formattedValue = convertValueToString(value, DEFAULT_DATE_FORMATTER, DEFAULT_DATETIME_FORMATTER);
+            String formattedValue = convertValueToString(value);
 
             // 如果转换成功(非 null),则更新字段值
             if (formattedValue != null) {
@@ -59,23 +59,21 @@ public class JsonConvertUtil {
     /**
      * 将单个值转换为字符串
      *
-     * @param value             原始值
-     * @param dateFormatter     日期格式转换器
-     * @param dateTimeFormatter 日期时间格式转换器
+     * @param value 原始值
      * @return 转换后的字符串
      */
-    private static String convertValueToString(Object value, DateTimeFormatter dateFormatter, DateTimeFormatter dateTimeFormatter) {
+    private static String convertValueToString(Object value) {
         if (value == null) {
             return null;
         }
 
         // LocalDate 类型
         if (value instanceof LocalDate) {
-            return ((LocalDate) value).format(dateFormatter);
+            return ((LocalDate) value).format(JsonConvertUtil.DEFAULT_DATE_FORMATTER);
         }
         // LocalDateTime 类型
         else if (value instanceof LocalDateTime) {
-            return ((LocalDateTime) value).format(dateTimeFormatter);
+            return ((LocalDateTime) value).format(JsonConvertUtil.DEFAULT_DATE_FORMATTER);
         }
         // 数字类型
         else if (value instanceof Integer || value instanceof Long ||

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbcol/DynamicTbColServiceImpl.java

@@ -189,6 +189,9 @@ public class DynamicTbColServiceImpl extends ServiceImpl<DynamicTbColMapper, Dyn
     @Transactional(rollbackFor = Exception.class)
     public String createDynamicTbColByCodes(List<String> colCode, String tbId) {
         // 1. 提取所有序号(后缀数字)
+        if (colCode == null || colCode.isEmpty()) {
+            return "";
+        }
         Set<Integer> indices = new HashSet<>();
         for (String code : colCode) {
             // 提取字段标识中的数字序号,如 no_29 -> 29

+ 4 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbins/DynamicTbInsServiceImpl.java

@@ -14,6 +14,7 @@ import cn.start.tz.module.pressure2.dal.mysql.dynamictbins.DynamicTbInsMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataBoilerService;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
+import cn.start.tz.module.pressure2.service.dynamicOFData.util.JsonConvertUtil;
 import cn.start.tz.module.pressure2.service.dynamictb.DynamicTbService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.util.OFDataUtils;
@@ -139,6 +140,9 @@ public class DynamicTbInsServiceImpl extends ServiceImpl<DynamicTbInsMapper, Dyn
             ofData = findOFService.getOfDataByVO(ruleVO);
         }
 
+        // 将json的value非String转成字符串
+        ofData = JsonConvertUtil.convertAllFieldsToString(ofData);
+
         Integer isReport = ruleVO.getReportType();
         //报表
         if (isReport == 2) {

+ 25 - 4
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbval/DynamicTbValServiceImpl.java

@@ -16,6 +16,7 @@ import cn.start.tz.module.pressure2.util.OFDataUtils;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -46,6 +47,7 @@ import static cn.start.tz.module.pressure2.enums.ErrorCodeConstants.*;
  */
 @Service
 @Validated
+@Slf4j
 public class DynamicTbValServiceImpl extends ServiceImpl<DynamicTbValMapper, DynamicTbValDO> implements DynamicTbValService {
 
     @Resource
@@ -126,7 +128,7 @@ public class DynamicTbValServiceImpl extends ServiceImpl<DynamicTbValMapper, Dyn
                 // 存在记录,更新值
                 DynamicTbValDO existingRecord = existingMap.get(colCode);
                 // 值相同不需要更新
-                if (!StrUtil.equals(valValue, existingRecord.getValValue())){
+                if (!StrUtil.equals(valValue, existingRecord.getValValue())) {
                     existingRecord.setValValue(valValue);
                     // 如果之前被逻辑删除了,现在要恢复
                     existingRecord.setDeleted(Boolean.FALSE);
@@ -174,7 +176,7 @@ public class DynamicTbValServiceImpl extends ServiceImpl<DynamicTbValMapper, Dyn
                 .orElse(Collections.emptyList());
     }
 
-    @Override
+    /*@Override
     public DynamicTBAndColVO getDynamicTbInsAndValByRefId(DynamicTBViewOrAddVO tbViewOrAddVO) {
         DynamicTBAndColVO result = new DynamicTBAndColVO();
         DynamicTbInsDO dynamicTBInsDO=dynamicTbInsService.lambdaQuery().eq(DynamicTbInsDO::getRefId, tbViewOrAddVO.getRefId()).one();
@@ -183,9 +185,9 @@ public class DynamicTbValServiceImpl extends ServiceImpl<DynamicTbValMapper, Dyn
         if(dynamicTBInsDO==null){
             //创建部分
             dynamicTBInsDO=new DynamicTbInsDO();
-            /*
+            *//*
             LambdaQueryWrapper<DynamicTbDO> queryWrapper = Wrappers.lambdaQuery();
-            queryWrapper.eq(DynamicTbDO::getId,);*/
+            queryWrapper.eq(DynamicTbDO::getId,);*//*
 
             var tbTemplate=dynamicTbMapper.selectById(tbViewOrAddVO.getTemplateId());
             if(tbTemplate!=null){
@@ -241,6 +243,25 @@ public class DynamicTbValServiceImpl extends ServiceImpl<DynamicTbValMapper, Dyn
 
         result.setDynamicTbInsRespVO(BeanUtils.toBean(dynamicTBInsDO, DynamicTbInsRespVO.class));
 
+        result.setErrorCode(0);
+        result.setErrorMessage("成功!");
+        return result;
+    }*/
+    @Override
+    public DynamicTBAndColVO getDynamicTbInsAndValByRefId(DynamicTBViewOrAddVO tbViewOrAddVO) {
+        DynamicTBAndColVO result = new DynamicTBAndColVO();
+        DynamicTbInsDO dynamicTBInsDO = dynamicTbInsService.lambdaQuery().eq(DynamicTbInsDO::getRefId, tbViewOrAddVO.getRefId()).one();
+
+        List<DynamicTbColDO> dynamicTbColDOS = dynamicTbColMapper.selectList(DynamicTbColDO::getTbId, dynamicTBInsDO.getTbId());
+        dynamicTbColDOS.addAll(dynamicTbColMapper.selectList(DynamicTbColDO::getColRound, 3));
+
+        var listTbVal = this.lambdaQuery().eq(DynamicTbValDO::getInsId, dynamicTBInsDO.getId()).list();
+        listTbVal = listTbVal.stream().filter(val -> StrUtil.isNotBlank(val.getValValue())).toList();
+
+
+        result.setDynamicTbValRespVOList(BeanUtils.toBean(listTbVal, DynamicTbValRespVO.class));
+        result.setDynamicTbColRespVOList(BeanUtils.toBean(dynamicTbColDOS, DynamicTbColRespVO.class));
+        result.setDynamicTbInsRespVO(BeanUtils.toBean(dynamicTBInsDO, DynamicTbInsRespVO.class));
         result.setErrorCode(0);
         result.setErrorMessage("成功!");
         return result;

+ 30 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java

@@ -44,6 +44,7 @@ import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import com.alibaba.cloud.commons.lang.StringUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
@@ -834,6 +835,35 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                     item.setEquipDistrictName(area.getName());
                 }
             });
+
+            // 查询管道明细
+            List<String> ids = list.stream().map(EquipPipeSchedulingPipesRespVO::getId).toList();
+
+            EquipPipePlanProjectReqVO equipPipePlanProjectReqVO = new EquipPipePlanProjectReqVO();
+            equipPipePlanProjectReqVO.setIds(ids);
+            List<EquipPipePlanSchedulingVO> equipPipePlanSchedulingVOS = equipPipeSchedulingMapper.selectPlanPageGroupProject(equipPipePlanProjectReqVO);
+
+            if (equipPipePlanSchedulingVOS != null && !equipPipePlanSchedulingVOS.isEmpty()) {
+                Map<String, EquipPipeSchedulingPipesRespVO> idToPageVOMap = list.stream()
+                        .filter(item -> item != null && item.getId() != null)
+                        .collect(Collectors.toMap(
+                                EquipPipeSchedulingPipesRespVO::getId,
+                                item -> item,
+                                (existing, replacement) -> existing
+                        ));
+
+                for (EquipPipePlanSchedulingVO equipPipePlanSchedulingVO : equipPipePlanSchedulingVOS) {
+                    if (equipPipePlanSchedulingVO == null || equipPipePlanSchedulingVO.getEquipPipeId() == null) {
+                        continue;
+                    }
+
+                    EquipPipeSchedulingPipesRespVO pipesRespVO = idToPageVOMap.get(equipPipePlanSchedulingVO.getEquipPipeId());
+                    if (pipesRespVO != null) {
+                        pipesRespVO.getPipes().add(equipPipePlanSchedulingVO);
+                        pipesRespVO.setPipeCount(pipesRespVO.getPipes().size());
+                    }
+                }
+            }
         }
 
         pageResult.setList(list);

+ 2 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureService.java

@@ -3,6 +3,7 @@ package cn.start.tz.module.pressure2.service.inspectionnature;
 import cn.start.tz.framework.common.pojo.PageResult;
 import cn.start.tz.module.pressure2.controller.admin.inspectionnature.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.inspectionnature.InspectionNatureDO;
+import com.baomidou.mybatisplus.extension.service.IService;
 import jakarta.validation.Valid;
 
 import java.util.List;
@@ -12,7 +13,7 @@ import java.util.List;
  *
  * @author 特种管理员
  */
-public interface InspectionNatureService {
+public interface InspectionNatureService  extends IService<InspectionNatureDO> {
 
     /**
      * 创建承压检验性质

+ 37 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureServiceImpl.java

@@ -7,17 +7,24 @@ import cn.start.tz.framework.common.util.object.BeanUtils;
 import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.start.tz.framework.security.core.util.SecurityFrameworkUtils;
 import cn.start.tz.module.pressure2.controller.admin.inspectionnature.vo.*;
+import cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo.InspectionNatureTemplateExpandSaveReqVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilerconnectrecordreport.BoilerConnectRecordReportDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitempart.BoilerTaskOrderItemPartDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
 import cn.start.tz.module.pressure2.dal.dataobject.inspectionnature.InspectionNatureDO;
 import cn.start.tz.module.pressure2.dal.dataobject.inspectionnature.InspectionNatureTemplateDO;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandDO;
 import cn.start.tz.module.pressure2.dal.dataobject.reporttemplate.ReportTemplateDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilerconnectrecordreport.BoilerConnectRecordReportMapper;
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitempart.BoilerTaskOrderItemPartMapper;
 import cn.start.tz.module.pressure2.dal.mysql.dynamictb.DynamicTbMapper;
 import cn.start.tz.module.pressure2.dal.mysql.inspectionnature.InspectionNatureMapper;
 import cn.start.tz.module.pressure2.dal.mysql.reporttemplate.ReportTemplateMapper;
+import cn.start.tz.module.pressure2.service.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandService;
 import cn.start.tz.module.system.enums.common.IsYesOrNoEnum;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.validation.annotation.Validated;
@@ -34,9 +41,10 @@ import static cn.start.tz.module.pressure.enums.ErrorCodeConstants.INSPECTION_NA
  *
  * @author 特种管理员
  */
+@Slf4j
 @Service
 @Validated
-public class InspectionNatureServiceImpl implements InspectionNatureService {
+public class InspectionNatureServiceImpl extends ServiceImpl<InspectionNatureMapper, InspectionNatureDO> implements InspectionNatureService {
 
     @Resource
     private InspectionNatureMapper inspectionNatureMapper;
@@ -53,6 +61,9 @@ public class InspectionNatureServiceImpl implements InspectionNatureService {
     @Resource
     private BoilerConnectRecordReportMapper boilerConnectRecordReportMapper;
 
+    @Resource
+    private InspectionNatureTemplateExpandService inspectionNatureTemplateExpandService;
+
     @Override
     @Transactional
     public String createInspectionNature(InspectionNatureSaveReqVO createReqVO) {
@@ -63,6 +74,12 @@ public class InspectionNatureServiceImpl implements InspectionNatureService {
         for (InspectionNatureTemplateSaveReqVO templateSaveReqVO : createReqVO.getTemplateSaveReqVOList()) {
             templateSaveReqVO.setInspectionNatureId(inspectionNature.getId());
             inspectionNatureTemplateService.createInspectionNatureTemplate(templateSaveReqVO);
+
+            InspectionNatureTemplateExpandSaveReqVO inspectionNatureTemplateExpandSaveReqVO = new InspectionNatureTemplateExpandSaveReqVO();
+            inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateSaveReqVO.getId());
+            inspectionNatureTemplateExpandSaveReqVO.setPart(templateSaveReqVO.getPart());
+            inspectionNatureTemplateExpandService.createInspectionNatureTemplateExpand(inspectionNatureTemplateExpandSaveReqVO);
+
         }
         // 返回
         return inspectionNature.getId();
@@ -93,6 +110,7 @@ public class InspectionNatureServiceImpl implements InspectionNatureService {
         // 批量删除
         if (!idsToDelete.isEmpty()) {
             inspectionNatureTemplateService.deleteAllByIdInBatch(idsToDelete);
+            inspectionNatureTemplateExpandService.deleteAllByIdInBatch(idsToDelete);
         }
 
         // 处理新增项/更新项
@@ -100,8 +118,20 @@ public class InspectionNatureServiceImpl implements InspectionNatureService {
             if (StrUtil.isEmpty(templateSaveReqVO.getId())) {
                 templateSaveReqVO.setInspectionNatureId(updateReqVO.getId());
                 inspectionNatureTemplateService.createInspectionNatureTemplate(templateSaveReqVO);
+                // 添加拓展表
+                InspectionNatureTemplateExpandSaveReqVO inspectionNatureTemplateExpandSaveReqVO = new InspectionNatureTemplateExpandSaveReqVO();
+                inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateSaveReqVO.getId());
+                inspectionNatureTemplateExpandSaveReqVO.setPart(templateSaveReqVO.getPart());
+                inspectionNatureTemplateExpandService.createInspectionNatureTemplateExpand(inspectionNatureTemplateExpandSaveReqVO);
+
             } else {
                 inspectionNatureTemplateService.updateInspectionNatureTemplate(templateSaveReqVO);
+                // 添加拓展表
+                InspectionNatureTemplateExpandSaveReqVO inspectionNatureTemplateExpandSaveReqVO = new InspectionNatureTemplateExpandSaveReqVO();
+                inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateSaveReqVO.getId());
+                inspectionNatureTemplateExpandSaveReqVO.setPart(templateSaveReqVO.getPart());
+                inspectionNatureTemplateExpandService.updateByInspectionNatureTemplateId(templateSaveReqVO.getId(), inspectionNatureTemplateExpandSaveReqVO);
+
             }
         }
 
@@ -140,6 +170,12 @@ public class InspectionNatureServiceImpl implements InspectionNatureService {
         List<InspectionNatureTemplateDO> natureTemplateDOList = inspectionNatureTemplateService.listByNatureId(id);
         List<InspectionNatureTemplateDetailRespVO> templateDetailRespVOList = BeanUtils
                 .toBean(natureTemplateDOList, InspectionNatureTemplateDetailRespVO.class);
+        templateDetailRespVOList.forEach(templateDetailRespVO -> {
+            InspectionNatureTemplateExpandDO byInspectionNatureTemplateId = inspectionNatureTemplateExpandService.getByInspectionNatureTemplateId(templateDetailRespVO.getId());
+            if (byInspectionNatureTemplateId != null){
+                templateDetailRespVO.setPart(byInspectionNatureTemplateId.getPart());
+            }
+        });
 //        Set<String> templateIds = natureTemplateDOList.stream()
 //                .map(InspectionNatureTemplateDO::getTemplateId).collect(Collectors.toSet());
 //        List<ReportTemplateDO> templateDOS = reportTemplateMapper.listByTemplateIds(templateIds);

+ 103 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandService.java

@@ -0,0 +1,103 @@
+package cn.start.tz.module.pressure2.service.inspectionnaturetemplateexpand;
+
+import java.util.*;
+import jakarta.validation.*;
+import cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandDO;
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.common.pojo.PageParam;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 承压检验性质关联报告模版 Service 接口
+ *
+ * @author 特种管理员
+ */
+public interface InspectionNatureTemplateExpandService extends IService<InspectionNatureTemplateExpandDO>  {
+
+    /**
+     * 创建承压检验性质关联报告模版
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    String createInspectionNatureTemplateExpand(@Valid InspectionNatureTemplateExpandSaveReqVO createReqVO);
+
+    /**
+     * 更新承压检验性质关联报告模版
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateInspectionNatureTemplateExpand(@Valid InspectionNatureTemplateExpandSaveReqVO updateReqVO);
+
+    /**
+     * 删除承压检验性质关联报告模版
+     *
+     * @param id 编号
+     */
+    void deleteInspectionNatureTemplateExpand(String id);
+
+    /**
+     * 获得承压检验性质关联报告模版
+     *
+     * @param id 编号
+     * @return 承压检验性质关联报告模版
+     */
+    InspectionNatureTemplateExpandDO getInspectionNatureTemplateExpand(String id);
+
+    /**
+     * 获得承压检验性质关联报告模版分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 承压检验性质关联报告模版分页
+     */
+    PageResult<InspectionNatureTemplateExpandDO> getInspectionNatureTemplateExpandPage(InspectionNatureTemplateExpandPageReqVO pageReqVO);
+
+    /**
+     * 根据检验性质ID创建承压检验性质关联报告模版
+     *
+     * @param inspectionNatureTemplateId 检验性质ID
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    String createByInspectionNatureTemplateId(String inspectionNatureTemplateId, @Valid InspectionNatureTemplateExpandSaveReqVO createReqVO);
+
+    /**
+     * 根据检验性质ID更新承压检验性质关联报告模版
+     *
+     * @param inspectionNatureTemplateId 检验性质ID
+     * @param updateReqVO 更新信息
+     */
+    void updateByInspectionNatureTemplateId(String inspectionNatureTemplateId, @Valid InspectionNatureTemplateExpandSaveReqVO updateReqVO);
+
+    /**
+     * 根据检验性质ID删除承压检验性质关联报告模版
+     *
+     * @param inspectionNatureTemplateId 检验性质ID
+     */
+    void deleteByInspectionNatureTemplateId(String inspectionNatureTemplateId);
+
+    /**
+     * 根据检验性质ID获得承压检验性质关联报告模版
+     *
+     * @param inspectionNatureTemplateId 检验性质ID
+     * @return 承压检验性质关联报告模版
+     */
+    InspectionNatureTemplateExpandDO getByInspectionNatureTemplateId(String inspectionNatureTemplateId);
+
+    /**
+     * 根据检验性质ID列表获得承压检验性质关联报告模版列表
+     *
+     * @param inspectionNatureTemplateIds 检验性质ID列表
+     * @return 承压检验性质关联报告模版列表
+     */
+    List<InspectionNatureTemplateExpandDO> listByInspectionNatureTemplateIds(Collection<String> inspectionNatureTemplateIds);
+
+    /**
+     * 根据检验性质模版ID列表批量删除承压检验性质关联报告模版
+     *
+     * @param inspectionNatureTemplateIds 检验性质模版ID列表
+     */
+    void deleteAllByIdInBatch(Collection<String> inspectionNatureTemplateIds);
+
+}

+ 144 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandServiceImpl.java

@@ -0,0 +1,144 @@
+package cn.start.tz.module.pressure2.service.inspectionnaturetemplateexpand;
+
+import org.springframework.stereotype.Service;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import java.util.*;
+import java.util.stream.Collectors;
+import cn.hutool.core.collection.CollUtil;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.module.pressure2.controller.admin.inspectionnaturetemplateexpand.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandDO;
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.common.pojo.PageParam;
+import cn.start.tz.framework.common.util.object.BeanUtils;
+
+import cn.start.tz.module.pressure2.dal.mysql.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandMapper;
+
+import static cn.start.tz.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.start.tz.module.pressure2.enums.ErrorCodeConstants.*;
+
+/**
+ * 承压检验性质关联报告模版 Service 实现类
+ *
+ * @author 特种管理员
+ */
+@Service
+@Validated
+public class InspectionNatureTemplateExpandServiceImpl extends ServiceImpl<InspectionNatureTemplateExpandMapper, InspectionNatureTemplateExpandDO> implements InspectionNatureTemplateExpandService {
+
+    @Resource
+    private InspectionNatureTemplateExpandMapper inspectionNatureTemplateExpandMapper;
+
+    @Override
+    public String createInspectionNatureTemplateExpand(InspectionNatureTemplateExpandSaveReqVO createReqVO) {
+        // 插入
+        InspectionNatureTemplateExpandDO inspectionNatureTemplateExpand = BeanUtils.toBean(createReqVO, InspectionNatureTemplateExpandDO.class);
+        inspectionNatureTemplateExpandMapper.insert(inspectionNatureTemplateExpand);
+        // 返回
+        return inspectionNatureTemplateExpand.getId();
+    }
+
+    @Override
+    public void updateInspectionNatureTemplateExpand(InspectionNatureTemplateExpandSaveReqVO updateReqVO) {
+        // 校验存在
+        validateInspectionNatureTemplateExpandExists(updateReqVO.getId());
+        // 更新
+        InspectionNatureTemplateExpandDO updateObj = BeanUtils.toBean(updateReqVO, InspectionNatureTemplateExpandDO.class);
+        inspectionNatureTemplateExpandMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteInspectionNatureTemplateExpand(String id) {
+        // 校验存在
+        validateInspectionNatureTemplateExpandExists(id);
+        // 删除
+        inspectionNatureTemplateExpandMapper.deleteById(id);
+    }
+
+    private void validateInspectionNatureTemplateExpandExists(String id) {
+        if (inspectionNatureTemplateExpandMapper.selectById(id) == null) {
+            throw exception(INSPECTION_NATURE_TEMPLATE_EXPAND_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public InspectionNatureTemplateExpandDO getInspectionNatureTemplateExpand(String id) {
+        return inspectionNatureTemplateExpandMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<InspectionNatureTemplateExpandDO> getInspectionNatureTemplateExpandPage(InspectionNatureTemplateExpandPageReqVO pageReqVO) {
+        return inspectionNatureTemplateExpandMapper.selectPage(pageReqVO);
+    }
+
+    @Override
+    public String createByInspectionNatureTemplateId(String inspectionNatureTemplateId, InspectionNatureTemplateExpandSaveReqVO createReqVO) {
+        // 设置检验性质ID
+        createReqVO.setInspectionNatureTemplateId(inspectionNatureTemplateId);
+        // 插入
+        InspectionNatureTemplateExpandDO inspectionNatureTemplateExpand = BeanUtils.toBean(createReqVO, InspectionNatureTemplateExpandDO.class);
+        inspectionNatureTemplateExpandMapper.insert(inspectionNatureTemplateExpand);
+        // 返回
+        return inspectionNatureTemplateExpand.getId();
+    }
+
+    @Override
+    public void updateByInspectionNatureTemplateId(String inspectionNatureTemplateId, InspectionNatureTemplateExpandSaveReqVO updateReqVO) {
+        // 校验存在
+        InspectionNatureTemplateExpandDO existing = getByInspectionNatureTemplateId(inspectionNatureTemplateId);
+        if (existing == null) {
+            // 创建
+            createByInspectionNatureTemplateId(inspectionNatureTemplateId, updateReqVO);
+            return;
+        }
+        // 设置ID和检验性质ID
+        updateReqVO.setId(existing.getId());
+        updateReqVO.setInspectionNatureTemplateId(inspectionNatureTemplateId);
+        // 更新
+        InspectionNatureTemplateExpandDO updateObj = BeanUtils.toBean(updateReqVO, InspectionNatureTemplateExpandDO.class);
+        inspectionNatureTemplateExpandMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteByInspectionNatureTemplateId(String inspectionNatureTemplateId) {
+        // 查询记录
+        InspectionNatureTemplateExpandDO existing = getByInspectionNatureTemplateId(inspectionNatureTemplateId);
+        if (existing != null) {
+            // 删除
+            inspectionNatureTemplateExpandMapper.deleteById(existing.getId());
+        }
+    }
+
+    @Override
+    public InspectionNatureTemplateExpandDO getByInspectionNatureTemplateId(String inspectionNatureTemplateId) {
+        return inspectionNatureTemplateExpandMapper.selectOne(
+            InspectionNatureTemplateExpandDO::getInspectionNatureTemplateId, inspectionNatureTemplateId
+        );
+    }
+
+    @Override
+    public List<InspectionNatureTemplateExpandDO> listByInspectionNatureTemplateIds(Collection<String> inspectionNatureTemplateIds) {
+        if (inspectionNatureTemplateIds == null || inspectionNatureTemplateIds.isEmpty()) {
+            return Collections.emptyList();
+        }
+        return inspectionNatureTemplateExpandMapper.selectList(
+            InspectionNatureTemplateExpandDO::getInspectionNatureTemplateId, inspectionNatureTemplateIds
+        );
+    }
+
+    @Override
+    public void deleteAllByIdInBatch(Collection<String> inspectionNatureTemplateIds) {
+        if (CollUtil.isEmpty(inspectionNatureTemplateIds)) {
+            return;
+        }
+        // 根据检验性质模版ID列表批量删除
+        LambdaQueryWrapperX<InspectionNatureTemplateExpandDO> queryWrapper = new LambdaQueryWrapperX<>();
+        queryWrapper.in(InspectionNatureTemplateExpandDO::getInspectionNatureTemplateId, inspectionNatureTemplateIds);
+        inspectionNatureTemplateExpandMapper.delete(queryWrapper);
+    }
+
+}

+ 3 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemdetail/PipeTaskOrderItemDetailService.java

@@ -1,6 +1,8 @@
 package cn.start.tz.module.pressure2.service.pipetaskorderitemdetail;
 
 import java.util.*;
+
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
 import jakarta.validation.*;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderitemdetail.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
@@ -53,4 +55,5 @@ public interface PipeTaskOrderItemDetailService extends IService<PipeTaskOrderIt
      */
     PageResult<PipeTaskOrderItemDetailDO> getPipeTaskOrderItemDetailPage(PipeTaskOrderItemDetailPageReqVO pageReqVO);
 
+    List<EquipPipeDetailDO> getPipeTaskOrderItemDetailList(String orderId);
 }

+ 15 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemdetail/PipeTaskOrderItemDetailServiceImpl.java

@@ -1,5 +1,8 @@
 package cn.start.tz.module.pressure2.service.pipetaskorderitemdetail;
 
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
+import cn.start.tz.module.pressure2.service.equippipedetail.EquipPipeDetailService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -7,6 +10,8 @@ import org.springframework.transaction.annotation.Transactional;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import java.util.*;
+import java.util.stream.Collectors;
+
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderitemdetail.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
 import cn.start.tz.framework.common.pojo.PageResult;
@@ -30,6 +35,9 @@ public class PipeTaskOrderItemDetailServiceImpl extends ServiceImpl<PipeTaskOrde
     @Resource
     private PipeTaskOrderItemDetailMapper pipeTaskOrderItemDetailMapper;
 
+    @Resource
+    private EquipPipeDetailService equipPipeDetailService;
+
     @Override
     public String createPipeTaskOrderItemDetail(PipeTaskOrderItemDetailSaveReqVO createReqVO) {
         // 插入
@@ -72,4 +80,11 @@ public class PipeTaskOrderItemDetailServiceImpl extends ServiceImpl<PipeTaskOrde
         return pipeTaskOrderItemDetailMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public List<EquipPipeDetailDO> getPipeTaskOrderItemDetailList(String orderId) {
+        List<PipeTaskOrderItemDetailDO> list = list(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
+                .eq(PipeTaskOrderItemDetailDO::getOrderId, orderId));
+        return equipPipeDetailService.list(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, list.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())));
+    }
+
 }

+ 6 - 6
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/application-hsd.yaml

@@ -37,8 +37,8 @@ spring:
         enabled: true
         allow: # 设置白名单,不填则允许所有访问
         url-pattern: /druid/*
-        login-username: # 控制台管理用户名和密码
-        login-password:
+        login-username: admin # 控制台管理用户名和密码
+        login-password: 123456
       filter:
         stat:
           enabled: true
@@ -64,11 +64,11 @@ spring:
       primary: master
       datasource:
         master:
-          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_YIQUN
+          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_DEV
           username: SYSDBA
           password: Bowin123
         slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
-          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_YIQUN
+          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_DEV
           username: SYSDBA
           password: Bowin123
 
@@ -181,5 +181,5 @@ synchronization:
   host: http://192.168.20.70:28081
   apiKey: cecb02cf8d1c7be3a05987d6acc6d913666d9cb72cc061039ffb19ecaead1bb9
   cron: 0 0 0 * * ?
-grapecity:
-  url: http://127.0.0.1:48010
+#grapecity:
+#  url: http://127.0.0.1:48010

+ 5 - 5
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/application-hst.yaml

@@ -64,11 +64,11 @@ spring:
       primary: master
       datasource:
         master:
-          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_YIQUN
+          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_DEV
           username: SYSDBA
           password: Bowin123
         slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改
-          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_YIQUN
+          url: jdbc:dm://192.168.0.53:5236?schema=TZ_CLOUD_DEV
           username: SYSDBA
           password: Bowin123
 
@@ -116,7 +116,7 @@ management:
 # 日志文件配置
 logging:
   level:
-    # 配置自己写的 MyBatis Mapper 打印日志
+      # 配置自己写的 MyBatis Mapper 打印日志
     cn.start.tz.module.pressure2.dal.mysql: debug
     cn.start.tz.module.pressure2.dal.mysql.logger.ApiErrorLogMapper: INFO # 配置 ApiErrorLogMapper 的日志级别为 info,避免和 GlobalExceptionHandler 重复打印
     cn.start.tz.module.pressure2.dal.mysql.file.FileConfigMapper: INFO # 配置 FileConfigMapper 的日志级别为 info
@@ -135,7 +135,7 @@ tz:
   captcha:
     enable: false
   minio:
-    host: https://yudao-admin.hofo.co/dexdev/
+     host: https://yudao-admin.hofo.co/dexdev/
   office:
     docservice:
       url: 'http://192.168.0.53:6180/'
@@ -165,4 +165,4 @@ synchronization:
   apiKey: cecb02cf8d1c7be3a05987d6acc6d913666d9cb72cc061039ffb19ecaead1bb9
   cron: 0 0 0 * * ?
 grapecity:
-  url: http://127.0.0.1:48010
+  url: http://192.168.0.53:48010

+ 3 - 3
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equipboilerscheduling/EquipBoilerSchedulingMapper.xml

@@ -33,14 +33,14 @@
             AND eb.NEXT_IN_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
         </if>
         THEN 1 ELSE 0 END) AS count_in
-        ,SUM(CASE WHEN eb.NEXT_OUT_CHECK_DATE IS NOT NULL AND eb.HAS_INTERNAL = 0
+        ,SUM(CASE WHEN eb.NEXT_OUT_CHECK_DATE IS NOT NULL AND eb.HAS_EXTERNAL = 0
         <if test="nextDate != null and nextDate.size()>= 2">
             AND eb.NEXT_OUT_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
         </if>
         THEN 1 ELSE 0 END) AS count_out
-        ,SUM(CASE WHEN eb.NEXT_PRESSURE_CHECK_DATE IS NOT NULL AND eb.HAS_INTERNAL = 0
+        ,SUM(CASE WHEN eb.NEXT_PRESSURE_CHECK_DATE IS NOT NULL AND eb.HAS_PRESSURE = 0
         <if test="nextDate != null and nextDate.size()>= 2">
-            AND eb.NEXT_PRESSURE_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]} AND eb.HAS_INTERNAL = 0
+            AND eb.NEXT_PRESSURE_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
         </if>
         THEN 1 ELSE 0 END) AS count_pre
         ,MIN(CASE WHEN eb.NEXT_IN_CHECK_DATE IS NOT NULL

+ 3 - 3
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equippipescheduling/EquipPipeSchedulingMapper.xml

@@ -491,7 +491,7 @@
         pe.NEXT_LEGAL_CHECK_DATE,pe.NEXT_YEAR_CHECK_DATE,
         ped.NEXT_LEGAL_CHECK_DATE as NEXT_LEGAL_CHECK_DATE_DETAIL,
         ped.NEXT_YEAR_CHECK_DATE as NEXT_YEAR_CHECK_DATE_DETAIL,
-        pe.UNIT_ID
+        pe.UNIT_ID,ped.PIPE_LEVEL,ped.PIPE_TYPE,ped.PIPE_MATERIAL,ped.MATERIAL_STANDARD,ped.LEGAL_SAFETY_STATUS_LEVEL,ped.YEAR_SAFETY_STATUS_LEVEL
         ,(select a.PLAN_DATE from PRESSURE2_EQUIP_PIPE_SCHEDULING a
         left join PRESSURE2_EQUIP_PIPE_SCHEDULING_ITEM_DETAIL b on a.ID = b.SCHEDULING_ID
         where b.equip_detail_id = ped.id and a.DELETED = 0 and b.DELETED = 0 and a.type = 100  limit 1) plan_legal_check_date
@@ -515,7 +515,7 @@
         from PRESSURE2_EQUIP_PIPE_SCHEDULING a
         inner join PRESSURE2_EQUIP_PIPE_SCHEDULING_ITEM c on c.SCHEDULING_ID = a.ID and c.DELETED = 0
         inner join PRESSURE2_EQUIP_PIPE b on b.ID = c.equip_id and b.DELETED = 0
-        inner join PRESSURE2_EQUIP_PIPE_SCHEDULING_USER d on d.SCHEDULING_ID = a.ID and d.DELETED = 0
+        --inner join PRESSURE2_EQUIP_PIPE_SCHEDULING_USER d on d.SCHEDULING_ID = a.ID and d.DELETED = 0
         left join PRESSURE_APPOINTMENT_CONFIRM_ORDER e on e.SCHEDULING_ID = a.ID
         left join PRESSURE_ACCEPT_ORDER f on f.APPOINTMENT_ID = e.ID
         left join PRESSURE_Task_ORDER g on g.ACCEPT_ORDER_ID = f.ID
@@ -544,7 +544,7 @@
         from PRESSURE2_EQUIP_PIPE_SCHEDULING a
         inner join PRESSURE2_EQUIP_PIPE_SCHEDULING_ITEM c on c.SCHEDULING_ID = a.ID and c.DELETED = 0
         inner join PRESSURE2_EQUIP_PIPE b on b.ID = c.equip_id and b.DELETED = 0
-        inner join PRESSURE2_EQUIP_PIPE_SCHEDULING_USER d on d.SCHEDULING_ID = a.ID and d.DELETED = 0
+        --inner join PRESSURE2_EQUIP_PIPE_SCHEDULING_USER d on d.SCHEDULING_ID = a.ID and d.DELETED = 0
         left join PRESSURE_APPOINTMENT_CONFIRM_ORDER e on e.SCHEDULING_ID = a.ID
         left join PRESSURE_ACCEPT_ORDER f on f.APPOINTMENT_ID = e.ID
         left join PRESSURE_Task_ORDER g on g.ACCEPT_ORDER_ID = f.ID

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/inspectionnaturetemplateexpand/InspectionNatureTemplateExpandMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.start.tz.module.pressure2.dal.mysql.inspectionnaturetemplateexpand.InspectionNatureTemplateExpandMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>