Bladeren bron

版本合并0416

xy 4 dagen geleden
bovenliggende
commit
bb0b6b9e74
89 gewijzigde bestanden met toevoegingen van 2750 en 182 verwijderingen
  1. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentConfirmOrderRespVO.java
  2. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentConfirmOrderSaveReqVO.java
  3. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/appointmentconfirmorder/vo/PipeAppointmentSubmitVO.java
  4. 24 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilerconnectrecordreport/vo/BoilerConnectRecordReportPageReqVO.java
  5. 32 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilerconnectrecordreport/vo/BoilerConnectRecordReportRespVO.java
  6. 24 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilerconnectrecordreport/vo/BoilerConnectRecordReportSaveReqVO.java
  7. 11 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/BoilerTaskOrderController.java
  8. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerItemPartDeleteVO.java
  9. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/vo/BoilerOrderItemCostInfoRepsVO.java
  10. 7 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorderitemreport/BoilerTaskOrderItemReportController.java
  11. 4 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorderoperation/vo/BoilerTaskOrderOperationRespVO.java
  12. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorderoperation/vo/BoilerTaskOrderOperationSaveReqVO.java
  13. 106 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/DeptGroupTeamController.java
  14. 33 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupPageReqVO.java
  15. 17 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupTeamMembersRespVO.java
  16. 39 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupTeamPageReqVO.java
  17. 64 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupTeamRespVO.java
  18. 31 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupTeamSaveReqVO.java
  19. 84 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteammember/DeptGroupTeamMemberController.java
  20. 30 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteammember/vo/DeptGroupTeamMemberPageReqVO.java
  21. 31 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteammember/vo/DeptGroupTeamMemberRespVO.java
  22. 22 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteammember/vo/DeptGroupTeamMemberSaveReqVO.java
  23. 16 15
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictb/DynamicTbController.java
  24. 108 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/DynamicTbFeeColController.java
  25. 40 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/vo/DynamicTbFeeColPageReqVO.java
  26. 47 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/vo/DynamicTbFeeColRespVO.java
  27. 33 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/vo/DynamicTbFeeColSaveReqVO.java
  28. 2 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerscheduling/vo/BoilerPlanSchedulingCheckItemVO.java
  29. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerschedulingcheck/vo/EquipBoilerSchedulingCheckPageReqVO.java
  30. 6 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerschedulingcheck/vo/EquipBoilerSchedulingCheckRespVO.java
  31. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerschedulingcheck/vo/EquipBoilerSchedulingCheckSaveReqVO.java
  32. 4 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/PipePlanSchedulingAssignTaskVO.java
  33. 4 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/PipeShiftScheduleRespVO.java
  34. 4 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equippipescheduling/vo/PipeTaskDetailsVO.java
  35. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/externalOA/ExternalOAController.java
  36. 2 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/inspectionnature/vo/InspectionNatureTemplateDetailRespVO.java
  37. 9 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/PipeTaskOrderController.java
  38. 6 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorderitemreport/PipeTaskOrderItemReportController.java
  39. 4 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorderoperation/vo/PipeTaskOrderOperationRespVO.java
  40. 13 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/standardfile/StandardFileController.java
  41. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/standardfile/StandardTemplateV2Controller.java
  42. 124 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/dynamictbval/AppApiDynamicTbValController.java
  43. 1 4
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/equipboilercheckhistory/AppApiEquipBoilerCheckHistoryController.java
  44. 1 4
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/equippipecheckhistory/AppApiEquipPipeCheckHistoryController.java
  45. 58 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/standardfile/AppApiStandardTemplateV2Controller.java
  46. 32 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilerconnectrecordreport/BoilerConnectRecordReportDO.java
  47. 43 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/deptgroup/DeptGroupDO.java
  48. 47 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/deptgroupteam/DeptGroupTeamDO.java
  49. 39 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/deptgroupteammember/DeptGroupTeamMemberDO.java
  50. 55 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/dynamictbfeecol/DynamicTbFeeColDO.java
  51. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equipboilerschedulingitem/EquipBoilerSchedulingCheckDO.java
  52. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equippipeschedulingitem/EquipPipeSchedulingCheckDO.java
  53. 15 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilerconnectrecordreport/BoilerConnectRecordReportMapper.java
  54. 27 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/deptgroup/DeptGroupMapper.java
  55. 74 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/deptgroupteam/DeptGroupTeamMapper.java
  56. 26 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/deptgroupteammember/DeptGroupTeamMemberMapper.java
  57. 32 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/dynamictbfeecol/DynamicTbFeeColMapper.java
  58. 90 21
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/PipeAppointmentConfirmOrderServiceImpl.java
  59. 27 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilerconnectrecordreport/BoilerConnectRecordReportServiceImpl.java
  60. 82 10
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  61. 6 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemreport/BoilerTaskOrderItemReportService.java
  62. 7 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemreport/BoilerTaskOrderItemReportServiceImpl.java
  63. 3 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderoperation/BoilerTaskOrderOperationService.java
  64. 22 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderoperation/BoilerTaskOrderOperationServiceImpl.java
  65. 58 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/deptgroupteam/DeptGroupTeamService.java
  66. 285 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/deptgroupteam/DeptGroupTeamServiceImpl.java
  67. 76 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbfeecol/DynamicTbFeeColService.java
  68. 116 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbfeecol/DynamicTbFeeColServiceImpl.java
  69. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java
  70. 108 36
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equippipescheduling/EquipPipeSchedulingServiceImpl.java
  71. 8 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/externalOA/ExternalOAService.java
  72. 10 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/externalOA/ExternalOAServiceImpl.java
  73. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/externalOA/vo/ExternalOACreateFlowReq.java
  74. 7 4
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/inspectionnature/InspectionNatureServiceImpl.java
  75. 101 49
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/orderreport/OrderReportServiceImpl.java
  76. 107 9
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java
  77. 6 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemreport/PipeTaskOrderItemReportService.java
  78. 8 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemreport/PipeTaskOrderItemReportServiceImpl.java
  79. 2 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderoperation/PipeTaskOrderOperationService.java
  80. 20 5
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderoperation/PipeTaskOrderOperationServiceImpl.java
  81. 2 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/standardfile/StandardClassService.java
  82. 9 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/standardfile/StandardClassServiceImpl.java
  83. 24 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/util/ConversionUtil.java
  84. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/deptgroup/DeptGroupMapper.xml
  85. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/deptgroupteam/DeptGroupTeamMapper.xml
  86. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/deptgroupteammember/DeptGroupTeamMemberMapper.xml
  87. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/dynamictbfeecol/DynamicTbFeeColMapper.xml
  88. 2 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equipboilerscheduling/EquipBoilerSchedulingMapper.xml
  89. 35 18
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equippipescheduling/EquipPipeSchedulingMapper.xml

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

@@ -253,4 +253,7 @@ public class PipeAppointmentConfirmOrderRespVO {
 
     @Schema(description ="约检确认单异常信息")
     private PipeOrderExceptionRespVO orderExceptionRespVO;
+
+    @Schema(description = "小组信息")
+    private List<TeamItemVO> teamList;
 }

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

@@ -161,4 +161,7 @@ public class PipeAppointmentConfirmOrderSaveReqVO {
 
     @Schema(description ="缴费人邮箱")
     private String payerMail;
+
+    @Schema(description ="检验员信息")
+    private List<SubmitTeamItemVO> teamList;
 }

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

@@ -181,4 +181,7 @@ public class PipeAppointmentSubmitVO {
 
     @Schema(description = "设备主类型", example = "1")
     private Integer equipMainType;
+
+    @Schema(description = "人员")
+    private List<SubmitTeamItemVO> teamList ;
 }

+ 24 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilerconnectrecordreport/vo/BoilerConnectRecordReportPageReqVO.java

@@ -49,4 +49,28 @@ public class BoilerConnectRecordReportPageReqVO extends PageParam {
     @Schema(description = "检验项目名称")
     private String projectName;
 
+    @Schema(description = "项目代码")
+    private String projectCode;
+
+    @Schema(description = "受理单模板")
+    private String acceptOrderTemplateId;
+
+    @Schema(description = "费用类型")
+    private String feeTypes;
+
+    @Schema(description = "费用计算类型")
+    private String feeCalcType;
+
+    @Schema(description = "费用")
+    private String fee;
+
+    @Schema(description = "状态")
+    private String status;
+
+    @Schema(description = "是否主项目")
+    private String isMainProject;
+
+    @Schema(description = "费用文件URL")
+    private String feeFileUrl;
+
 }

+ 32 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilerconnectrecordreport/vo/BoilerConnectRecordReportRespVO.java

@@ -50,4 +50,36 @@ public class BoilerConnectRecordReportRespVO {
     @Schema(description = "检验项目名称")
     private String projectName;
 
+    @Schema(description = "项目代码")
+    @ExcelProperty("项目代码")
+    private String projectCode;
+
+    @Schema(description = "受理单模板")
+    @ExcelProperty("受理单模板")
+    private String acceptOrderTemplateId;
+
+    @Schema(description = "费用类型")
+    @ExcelProperty("费用类型")
+    private String feeTypes;
+
+    @Schema(description = "费用计算类型")
+    @ExcelProperty("费用计算类型")
+    private String feeCalcType;
+
+    @Schema(description = "费用")
+    @ExcelProperty("费用")
+    private String fee;
+
+    @Schema(description = "状态")
+    @ExcelProperty("状态")
+    private String status;
+
+    @Schema(description = "是否主项目")
+    @ExcelProperty("是否主项目")
+    private String isMainProject;
+
+    @Schema(description = "费用文件URL")
+    @ExcelProperty("费用文件URL")
+    private String feeFileUrl;
+
 }

+ 24 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilerconnectrecordreport/vo/BoilerConnectRecordReportSaveReqVO.java

@@ -33,4 +33,28 @@ public class BoilerConnectRecordReportSaveReqVO {
     @Schema(description = "检验项目名称")
     private String projectName;
 
+    @Schema(description = "项目代码")
+    private String projectCode;
+
+    @Schema(description = "受理单模板")
+    private String acceptOrderTemplateId;
+
+    @Schema(description = "费用类型")
+    private String feeTypes;
+
+    @Schema(description = "费用计算类型")
+    private String feeCalcType;
+
+    @Schema(description = "费用")
+    private String fee;
+
+    @Schema(description = "状态")
+    private String status;
+
+    @Schema(description = "是否主项目")
+    private String isMainProject;
+
+    @Schema(description = "费用文件URL")
+    private String feeFileUrl;
+
 }

+ 11 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorder/BoilerTaskOrderController.java

@@ -1,12 +1,16 @@
 package cn.start.tz.module.pressure2.controller.admin.boilertaskorder;
 
 import cn.start.tz.framework.common.exception.ErrorCode;
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderoperation.vo.BoilerTaskOrderOperationPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.boilertaskorderoperation.vo.BoilerTaskOrderOperationRespVO;
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorderoperation.vo.BoilerTaskOrderOperationSaveReqVO;
 import cn.start.tz.module.pressure2.controller.admin.bpmtaskinfo.vo.BpmTaskRespVO;
 import cn.start.tz.module.pressure2.controller.admin.costfield.vo.CostFieldRespVO;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeOrderItemPageRespVO;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeRecheckUserPageReqVO;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeTaskOrderSyncReportVO;
+import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationRespVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.service.boilertaskorderitemreport.BoilerTaskOrderItemReportService;
 import cn.start.tz.module.pressure2.service.boilertaskorderoperation.BoilerTaskOrderOperationService;
@@ -160,6 +164,13 @@ public class BoilerTaskOrderController {
         return success(boilerTaskOrderOperationService.createBoilerTaskOrderOperation(createReqVO));
     }
 
+    @GetMapping("/operation-record/page")
+    @Operation(summary = "获得任务单操作审核记录分页")
+    public CommonResult<PageResult<BoilerTaskOrderOperationRespVO>> getTaskOrderOperationPage(@Valid BoilerTaskOrderOperationPageReqVO pageReqVO) {
+        PageResult<BoilerTaskOrderOperationRespVO> pageResult = boilerTaskOrderOperationService.getTaskOrderOperationPage(pageReqVO);
+        return success(pageResult);
+    }
+
     @PostMapping("/cost/itemInfoList")
     @Operation(summary = "费用项目选择列表")
     public CommonResult<List<BoilerOrderItemCostInfoRepsVO>> itemInfoList(@Valid @RequestBody BoilerOrderItemCostInfoReqVO reqVO) {

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

@@ -6,6 +6,9 @@ import lombok.Data;
 @Data
 public class BoilerItemPartDeleteVO {
 
+    @Schema(description = "部件ID")
+    private String id;
+
     @Schema(description = "部件类型")
     private String partType;
 

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

@@ -60,4 +60,7 @@ public class BoilerOrderItemCostInfoRepsVO {
     private String  recordTemplateUrl;
     @Schema(description = "报告模版路径", example = "6822")
     private String reportTemplateUrl ;
+
+    @Schema(description = "是否主项目", example = "1")
+    private String isMainProject;
 }

+ 7 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorderitemreport/BoilerTaskOrderItemReportController.java

@@ -3,12 +3,10 @@ package cn.start.tz.module.pressure2.controller.admin.boilertaskorderitemreport;
 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.*;
@@ -108,4 +106,11 @@ public class BoilerTaskOrderItemReportController {
         return success(BeanUtils.toBean(boilerTaskOrderItemReport, BoilerTaskOrderItemReportRespVO.class));
     }
 
+    @PostMapping("/handleCompletion/{id}")
+    @Operation(summary = "报告办结")
+    public CommonResult<Boolean> handleCompletion(@PathVariable String id) {
+        boilerTaskOrderItemReportService.handleCompletion(id);
+        return success(true);
+    }
+
 }

+ 4 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/boilertaskorderoperation/vo/BoilerTaskOrderOperationRespVO.java

@@ -1,5 +1,6 @@
 package cn.start.tz.module.pressure2.controller.admin.boilertaskorderoperation.vo;
 
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -62,4 +63,7 @@ public class BoilerTaskOrderOperationRespVO {
     @ExcelProperty("审核人")
     private String auditorId;
 
+    @Schema(description = "当前审核人")
+    private AdminUserRespDTO auditor;
+
 }

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

@@ -1,5 +1,6 @@
 package cn.start.tz.module.pressure2.controller.admin.boilertaskorderoperation.vo;
 
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -45,4 +46,6 @@ public class BoilerTaskOrderOperationSaveReqVO {
     @Schema(description = "审核人", example = "22746")
     private String auditorId;
 
+    @Schema(description = "当前审核人")
+    private AdminUserRespDTO auditor;
 }

+ 106 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/DeptGroupTeamController.java

@@ -0,0 +1,106 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteam;
+
+import cn.start.tz.framework.apilog.core.annotation.ApiAccessLog;
+import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.framework.common.pojo.PageParam;
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.common.util.object.BeanUtils;
+import cn.start.tz.framework.excel.core.util.ExcelUtils;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamMembersRespVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamRespVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamSaveReqVO;
+import cn.start.tz.module.pressure2.service.deptgroupteam.DeptGroupTeamService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+import static cn.start.tz.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static cn.start.tz.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 部门分组-小组")
+@RestController
+@RequestMapping("/pressure2/dept-group-team")
+@Validated
+public class DeptGroupTeamController {
+
+    @Resource
+    private DeptGroupTeamService deptGroupTeamService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建部门分组-小组")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:create')")
+    public CommonResult<String> createDeptGroupTeam(@Valid @RequestBody DeptGroupTeamSaveReqVO createReqVO) {
+        return success(deptGroupTeamService.createDeptGroupTeam(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新部门分组-小组")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:update')")
+    public CommonResult<Boolean> updateDeptGroupTeam(@Valid @RequestBody DeptGroupTeamSaveReqVO updateReqVO) {
+        deptGroupTeamService.updateDeptGroupTeam(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除部门分组-小组")
+    @Parameter(name = "id", description = "编号", required = true)
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:delete')")
+    public CommonResult<Boolean> deleteDeptGroupTeam(@RequestParam("id") String id) {
+        deptGroupTeamService.deleteDeptGroupTeam(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得部门分组-小组")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:query')")
+    public CommonResult<DeptGroupTeamRespVO> getDeptGroupTeam(@RequestParam("id") String id) {
+        DeptGroupTeamRespVO deptGroupTeam = deptGroupTeamService.getDeptGroupTeam(id);
+        return success(deptGroupTeam);
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得部门分组-小组分页")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:query')")
+    public CommonResult<PageResult<DeptGroupTeamRespVO>> getDeptGroupTeamPage(@Valid DeptGroupTeamPageReqVO pageReqVO) {
+        PageResult<DeptGroupTeamRespVO> pageResult = deptGroupTeamService.getDeptGroupTeamPage(pageReqVO);
+        return success(pageResult);
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出部门分组-小组 Excel")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportDeptGroupTeamExcel(@Valid DeptGroupTeamPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<DeptGroupTeamRespVO> list = deptGroupTeamService.getDeptGroupTeamPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "部门分组-小组.xls", "数据", DeptGroupTeamRespVO.class,
+                        BeanUtils.toBean(list, DeptGroupTeamRespVO.class));
+    }
+
+
+    /**
+     *    根据部门查询
+     * */
+    @GetMapping("/member-by-dept")
+    @Operation(summary = "根据部门查询-查询检验员")
+    @Parameter(name = "deptId", description = "部门id", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:query')")
+    public CommonResult<List<DeptGroupTeamMembersRespVO>> getByDept(@RequestParam("deptIds") String[] deptIds) {
+        List<DeptGroupTeamMembersRespVO> list = deptGroupTeamService.getMemberByDept(deptIds);
+        return success(list);
+    }
+
+}

+ 33 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupPageReqVO.java

@@ -0,0 +1,33 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo;
+
+import cn.start.tz.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+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 DeptGroupPageReqVO extends PageParam {
+
+    @Schema(description = "名字", example = "张三")
+    private String name;
+
+    @Schema(description = "部门id", example = "3028")
+    private String deptId;
+
+    @Schema(description = "排序")
+    private Integer sort;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

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

@@ -0,0 +1,17 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo;
+
+import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "管理后台 - 部门分组-小组成员")
+@Data
+public class DeptGroupTeamMembersRespVO {
+
+    private DeptRespDTO dept;
+
+
+    private List<DeptGroupTeamRespVO> teamList;
+}

+ 39 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupTeamPageReqVO.java

@@ -0,0 +1,39 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo;
+
+import cn.start.tz.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+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 DeptGroupTeamPageReqVO extends PageParam {
+
+    private String id;
+
+    @Schema(description = "名字", example = "张三")
+    private String name;
+
+    @Schema(description = "部门分组id", example = "11876")
+    private String deptGroupId;
+
+    @Schema(description = "组长id", example = "25854")
+    private String leaderId;
+
+    @Schema(description = "计划制定人id", example = "2352")
+    private String planSetterId;
+
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 64 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteam/vo/DeptGroupTeamRespVO.java

@@ -0,0 +1,64 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo;
+
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
+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.time.LocalDateTime;
+import java.util.List;
+
+@Schema(description = "管理后台 - 部门分组-小组 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class DeptGroupTeamRespVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "21396")
+    @ExcelProperty("主键")
+    private String id;
+
+    @Schema(description = "名字", example = "张三")
+    @ExcelProperty("名字")
+    private String name;
+
+    @Schema(description = "部门分组id", example = "11876")
+    @ExcelProperty("部门分组id")
+    private String deptGroupId;
+
+    @Schema(description = "部门分组名称", example = "11876")
+    private String deptGroupName;
+
+    @Schema(description = "组长id", example = "25854")
+    @ExcelProperty("组长id")
+    private String leaderId;
+
+    @Schema(description = "组长", example = "25854")
+    private AdminUserRespDTO leader;
+
+    @Schema(description = "计划制定人id", example = "2352")
+    @ExcelProperty("计划制定人id")
+    private String planSetterId;
+
+    @Schema(description = "计划制定人", example = "2352")
+    private AdminUserRespDTO planSetter;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "组员人数")
+    private Integer memberCount;
+
+    private String memberId;
+
+    private AdminUserRespDTO member;
+
+    private String deptId;
+
+    @Schema(description = "组员")
+    private List<AdminUserRespDTO> members;
+
+    private List<DeptGroupTeamRespVO> memberList;
+
+}

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

@@ -0,0 +1,31 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo;
+
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroupteammember.DeptGroupTeamMemberDO;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.util.List;
+
+@Schema(description = "管理后台 - 部门分组-小组新增/修改 Request VO")
+@Data
+public class DeptGroupTeamSaveReqVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "21396")
+    private String id;
+
+    @Schema(description = "名字", example = "张三")
+    private String name;
+
+    @Schema(description = "部门分组id", example = "11876")
+    private String deptGroupId;
+
+    @Schema(description = "组长id", example = "25854")
+    private String leaderId;
+
+    @Schema(description = "计划制定人id", example = "2352")
+    private String planSetterId;
+
+    @Schema(description = "小组成员id列表")
+    private List<DeptGroupTeamMemberDO> memberList;
+
+}

+ 84 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteammember/DeptGroupTeamMemberController.java

@@ -0,0 +1,84 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteammember;
+
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Tag(name = "管理后台 - 部门分组-小组成员")
+@RestController
+@RequestMapping("/pressure2/dept-group-team-member")
+@Validated
+public class DeptGroupTeamMemberController {
+
+//    @Resource
+//    private DeptGroupTeamMemberService deptGroupTeamMemberService;
+
+//    @PostMapping("/create")
+//    @Operation(summary = "创建部门分组-小组成员")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team-member:create')")
+//    public CommonResult<String> createDeptGroupTeamMember(@Valid @RequestBody DeptGroupTeamMemberSaveReqVO createReqVO) {
+//        return success(deptGroupTeamMemberService.createDeptGroupTeamMember(createReqVO));
+//    }
+//
+//    @PutMapping("/update")
+//    @Operation(summary = "更新部门分组-小组成员")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team-member:update')")
+//    public CommonResult<Boolean> updateDeptGroupTeamMember(@Valid @RequestBody DeptGroupTeamMemberSaveReqVO updateReqVO) {
+//        deptGroupTeamMemberService.updateDeptGroupTeamMember(updateReqVO);
+//        return success(true);
+//    }
+//
+//    @DeleteMapping("/delete")
+//    @Operation(summary = "删除部门分组-小组成员")
+//    @Parameter(name = "id", description = "编号", required = true)
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team-member:delete')")
+//    public CommonResult<Boolean> deleteDeptGroupTeamMember(@RequestParam("id") String id) {
+//        deptGroupTeamMemberService.deleteDeptGroupTeamMember(id);
+//        return success(true);
+//    }
+//
+//    @GetMapping("/get")
+//    @Operation(summary = "获得部门分组-小组成员")
+//    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team-member:query')")
+//    public CommonResult<DeptGroupTeamMemberRespVO> getDeptGroupTeamMember(@RequestParam("id") String id) {
+//        DeptGroupTeamMemberDO deptGroupTeamMember = deptGroupTeamMemberService.getDeptGroupTeamMember(id);
+//        return success(BeanUtils.toBean(deptGroupTeamMember, DeptGroupTeamMemberRespVO.class));
+//    }
+
+//    @GetMapping("/page")
+//    @Operation(summary = "获得部门分组-小组成员分页")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team-member:query')")
+//    public CommonResult<PageResult<DeptGroupTeamMemberRespVO>> getDeptGroupTeamMemberPage(@Valid DeptGroupTeamMemberPageReqVO pageReqVO) {
+//        PageResult<DeptGroupTeamMemberDO> pageResult = deptGroupTeamMemberService.getDeptGroupTeamMemberPage(pageReqVO);
+//        return success(BeanUtils.toBean(pageResult, DeptGroupTeamMemberRespVO.class));
+//    }
+
+//    @GetMapping("/export-excel")
+//    @Operation(summary = "导出部门分组-小组成员 Excel")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team-member:export')")
+//    @ApiAccessLog(operateType = EXPORT)
+//    public void exportDeptGroupTeamMemberExcel(@Valid DeptGroupTeamMemberPageReqVO pageReqVO,
+//              HttpServletResponse response) throws IOException {
+//        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+//        List<DeptGroupTeamMemberDO> list = deptGroupTeamMemberService.getDeptGroupTeamMemberPage(pageReqVO).getList();
+//        // 导出 Excel
+//        ExcelUtils.write(response, "部门分组-小组成员.xls", "数据", DeptGroupTeamMemberRespVO.class,
+//                        BeanUtils.toBean(list, DeptGroupTeamMemberRespVO.class));
+//    }
+
+//    /**
+//     *    根据部门查询
+//     * */
+//    @GetMapping("/member-by-dept")
+//    @Operation(summary = "根据部门查询部门分组-小组")
+//    @Parameter(name = "deptId", description = "部门id", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('pressure:dept-group-team:query')")
+//    public CommonResult<List<DeptGroupTeamRespVO>> getByDept(@RequestParam("deptIds") String[] deptIds) {
+//        deptGroupTeamMemberService.getMemberByDept(deptIds);
+//        return success(new ArrayList<DeptGroupTeamRespVO>());
+//    }
+
+}

+ 30 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/deptgroupteammember/vo/DeptGroupTeamMemberPageReqVO.java

@@ -0,0 +1,30 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteammember.vo;
+
+import cn.start.tz.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+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 DeptGroupTeamMemberPageReqVO extends PageParam {
+
+    @Schema(description = "小组id", example = "7293")
+    private String teamId;
+
+    @Schema(description = "member id", example = "8904")
+    private String memberId;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

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

@@ -0,0 +1,31 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteammember.vo;
+
+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.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 部门分组-小组成员 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class DeptGroupTeamMemberRespVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25791")
+    @ExcelProperty("主键")
+    private String id;
+
+    @Schema(description = "小组id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7293")
+    @ExcelProperty("小组id")
+    private String teamId;
+
+    @Schema(description = "member id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8904")
+    @ExcelProperty("member id")
+    private String memberId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

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

@@ -0,0 +1,22 @@
+package cn.start.tz.module.pressure2.controller.admin.deptgroupteammember.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+
+@Schema(description = "管理后台 - 部门分组-小组成员新增/修改 Request VO")
+@Data
+public class DeptGroupTeamMemberSaveReqVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "25791")
+    private String id;
+
+    @Schema(description = "小组id", requiredMode = Schema.RequiredMode.REQUIRED, example = "7293")
+    @NotEmpty(message = "小组id不能为空")
+    private String teamId;
+
+    @Schema(description = "member id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8904")
+    @NotEmpty(message = "member id不能为空")
+    private String memberId;
+
+}

+ 16 - 15
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictb/DynamicTbController.java

@@ -145,7 +145,7 @@ public class DynamicTbController {
     @GetMapping("/page/inspectionNature")
     @Operation(summary = "获得承压动态报表表单分页")
 //    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb:query')")
-    public CommonResult<PageResult<ReportTemplateRespVO>> getDynamicTbPageInspection(@Valid DynamicTbPageReqVO pageReqVO) {
+    public CommonResult<PageResult<BoilerConnectRecordReportDO>> getDynamicTbPageInspection(@Valid DynamicTbPageReqVO pageReqVO) {
 
         //PageResult<DynamicTbDO> pageResult = dynamicTbService.getDynamicTbPage(pageReqVO);
         //使用项目模板
@@ -153,22 +153,23 @@ public class DynamicTbController {
         pageReqVO1.setPageSize(pageReqVO.getPageSize());
         pageReqVO1.setPageNo(pageReqVO.getPageNo());
         pageReqVO1.setProjectName(pageReqVO.getName());
+        pageReqVO1.setStatus("1");
         PageResult<BoilerConnectRecordReportDO> pageResult = boilerConnectRecordReportService.getBoilerConnectRecordReportPage(pageReqVO1);
 
-        PageResult<ReportTemplateRespVO> pageResult1 = new PageResult<>();
-        List<ReportTemplateRespVO> list = new ArrayList<>();
-        pageResult.getList().forEach(item -> {
-            ReportTemplateRespVO reportTemplateRespVO = new ReportTemplateRespVO();
-            reportTemplateRespVO.setId(item.getId());
-            reportTemplateRespVO.setName(item.getProjectName());
-            reportTemplateRespVO.setType("0");
-            list.add(reportTemplateRespVO);
-        });
-
-        pageResult1.setList(list);
-        pageResult1.setTotal(pageResult.getTotal());
-
-        return success(pageResult1);
+//        PageResult<ReportTemplateRespVO> pageResult1 = new PageResult<>();
+//        List<ReportTemplateRespVO> list = new ArrayList<>();
+//        pageResult.getList().forEach(item -> {
+//            ReportTemplateRespVO reportTemplateRespVO = new ReportTemplateRespVO();
+//            reportTemplateRespVO.setId(item.getId());
+//            reportTemplateRespVO.setName(item.getProjectName());
+//            reportTemplateRespVO.setType("0");
+//            list.add(reportTemplateRespVO);
+//        });
+//
+//        pageResult1.setList(list);
+//        pageResult1.setTotal(pageResult.getTotal());
+
+        return success(pageResult);
     }
 
     @GetMapping("/getTbCols")

+ 108 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/DynamicTbFeeColController.java

@@ -0,0 +1,108 @@
+package cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol;
+
+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.dynamictbfeecol.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbfeecol.DynamicTbFeeColDO;
+import cn.start.tz.module.pressure2.service.dynamictbfeecol.DynamicTbFeeColService;
+
+@Tag(name = "管理后台 - 承压动态报表字段")
+@RestController
+@RequestMapping("/pressure2/dynamic-tb-fee-col")
+@Validated
+public class DynamicTbFeeColController {
+
+    @Resource
+    private DynamicTbFeeColService dynamicTbFeeColService;
+
+    @PostMapping("/create")
+    @Operation(summary = "创建承压动态报表字段")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-fee-col:create')")
+    public CommonResult<String> createDynamicTbFeeCol(@Valid @RequestBody DynamicTbFeeColSaveReqVO createReqVO) {
+        return success(dynamicTbFeeColService.createDynamicTbFeeCol(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新承压动态报表字段")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-fee-col:update')")
+    public CommonResult<Boolean> updateDynamicTbFeeCol(@Valid @RequestBody DynamicTbFeeColSaveReqVO updateReqVO) {
+        dynamicTbFeeColService.updateDynamicTbFeeCol(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除承压动态报表字段")
+    @Parameter(name = "id", description = "编号", required = true)
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-fee-col:delete')")
+    public CommonResult<Boolean> deleteDynamicTbFeeCol(@RequestParam("id") String id) {
+        dynamicTbFeeColService.deleteDynamicTbFeeCol(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得承压动态报表字段")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-fee-col:query')")
+    public CommonResult<DynamicTbFeeColRespVO> getDynamicTbFeeCol(@RequestParam("id") String id) {
+        DynamicTbFeeColDO dynamicTbFeeCol = dynamicTbFeeColService.getDynamicTbFeeCol(id);
+        return success(BeanUtils.toBean(dynamicTbFeeCol, DynamicTbFeeColRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得承压动态报表字段分页")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-fee-col:query')")
+    public CommonResult<PageResult<DynamicTbFeeColRespVO>> getDynamicTbFeeColPage(@Valid DynamicTbFeeColPageReqVO pageReqVO) {
+        PageResult<DynamicTbFeeColDO> pageResult = dynamicTbFeeColService.getDynamicTbFeeColPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, DynamicTbFeeColRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出承压动态报表字段 Excel")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-fee-col:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportDynamicTbFeeColExcel(@Valid DynamicTbFeeColPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<DynamicTbFeeColDO> list = dynamicTbFeeColService.getDynamicTbFeeColPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "承压动态报表字段.xls", "数据", DynamicTbFeeColRespVO.class,
+                        BeanUtils.toBean(list, DynamicTbFeeColRespVO.class));
+    }
+
+    @GetMapping("/getAllField/{type}/{projectId}")
+    @Operation(summary = "获取所有字段")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    public CommonResult<List<DynamicTbFeeColRespVO>> getAllField(@PathVariable String projectId, @PathVariable String type) {
+        List<DynamicTbFeeColDO> dynamicTbFeeCol =
+                switch (type) {
+                    case "project" -> dynamicTbFeeColService.getAllField(projectId);
+                    case "record" -> dynamicTbFeeColService.getAllFieldByRecordId(projectId);
+                    case "report" -> dynamicTbFeeColService.getAllFieldByReportId(projectId);
+                    default -> throw new IllegalStateException("Unexpected value: " + type);
+                };
+        return success(BeanUtils.toBean(dynamicTbFeeCol, DynamicTbFeeColRespVO.class));
+    }
+}

+ 40 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/vo/DynamicTbFeeColPageReqVO.java

@@ -0,0 +1,40 @@
+package cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol.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 DynamicTbFeeColPageReqVO extends PageParam {
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+    @Schema(description = "字段标识")
+    private String code;
+
+    @Schema(description = "字段名称", example = "芋艿")
+    private String name;
+
+    @Schema(description = "字段类型", example = "2")
+    private String colType;
+
+    @Schema(description = "值类型", example = "1")
+    private String valType;
+
+    @Schema(description = "说明", example = "你猜")
+    private String description;
+
+    @Schema(description = "关联项目", example = "31787")
+    private String projectId;
+
+}

+ 47 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/vo/DynamicTbFeeColRespVO.java

@@ -0,0 +1,47 @@
+package cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol.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 DynamicTbFeeColRespVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "12367")
+    @ExcelProperty("主键")
+    private String id;
+
+    @Schema(description = "创建时间")
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+    @Schema(description = "字段标识")
+    @ExcelProperty("字段标识")
+    private String code;
+
+    @Schema(description = "字段名称", example = "芋艿")
+    @ExcelProperty("字段名称")
+    private String name;
+
+    @Schema(description = "字段类型", example = "2")
+    @ExcelProperty("字段类型")
+    private String colType;
+
+    @Schema(description = "值类型", example = "1")
+    @ExcelProperty("值类型")
+    private String valType;
+
+    @Schema(description = "说明", example = "你猜")
+    @ExcelProperty("说明")
+    private String description;
+
+    @Schema(description = "关联项目", example = "31787")
+    @ExcelProperty("关联项目")
+    private String projectId;
+
+}

+ 33 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/dynamictbfeecol/vo/DynamicTbFeeColSaveReqVO.java

@@ -0,0 +1,33 @@
+package cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol.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 DynamicTbFeeColSaveReqVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "12367")
+    private String id;
+
+    @Schema(description = "字段标识")
+    private String code;
+
+    @Schema(description = "字段名称", example = "芋艿")
+    private String name;
+
+    @Schema(description = "字段类型", example = "2")
+    private String colType;
+
+    @Schema(description = "值类型", example = "1")
+    private String valType;
+
+    @Schema(description = "说明", example = "你猜")
+    private String description;
+
+    @Schema(description = "关联项目", example = "31787")
+    private String projectId;
+
+}

+ 2 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerscheduling/vo/BoilerPlanSchedulingCheckItemVO.java

@@ -18,4 +18,6 @@ public class BoilerPlanSchedulingCheckItemVO {
     @Schema(description = "金额-新")
     private Integer newAmount;
 
+    @Schema(description = "费用计算json")
+    private String feeCalculateJson;
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerschedulingcheck/vo/EquipBoilerSchedulingCheckPageReqVO.java

@@ -56,4 +56,11 @@ public class EquipBoilerSchedulingCheckPageReqVO extends PageParam {
      */
     @Schema(description = "费用", example = "17683")
     private BigDecimal fee;
+
+
+    /**
+     * 费用计算json
+     */
+    @Schema(description = "费用计算json")
+    private String feeCalculateJson;
 }

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerschedulingcheck/vo/EquipBoilerSchedulingCheckRespVO.java

@@ -59,4 +59,10 @@ public class EquipBoilerSchedulingCheckRespVO {
      */
     @Schema(description = "费用", example = "17683")
     private BigDecimal fee;
+
+    /**
+     * 费用计算json
+     */
+    @Schema(description = "费用计算json")
+    private String feeCalculateJson;
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/equipboilerschedulingcheck/vo/EquipBoilerSchedulingCheckSaveReqVO.java

@@ -49,4 +49,11 @@ public class EquipBoilerSchedulingCheckSaveReqVO {
      */
     @Schema(description = "费用", example = "17683")
     private BigDecimal fee;
+
+
+    /**
+     * 费用计算json
+     */
+    @Schema(description = "费用计算json")
+    private String feeCalculateJson;
 }

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

@@ -33,6 +33,10 @@ public class PipePlanSchedulingAssignTaskVO {
     @NotNull
     private List<String> userList ;
 
+    @Schema(description = "小队信息")
+    @NotNull
+    private List<BoilerPlanSchedulingAssignTeamItemVO> teamList ;
+
     @Schema(description = "约检联系人")
     private String unitContact;
 

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

@@ -1,6 +1,7 @@
 package cn.start.tz.module.pressure2.controller.admin.equippipescheduling.vo;
 
 import cn.start.tz.module.pressure2.controller.admin.equipboilerscheduling.vo.BoilerCalendarItemRespVO;
+import cn.start.tz.module.pressure2.controller.admin.equipboilerscheduling.vo.BoilerTaskDetailsItemVO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipeschedulinguser.EquipPipeSchedulingUserDO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -18,6 +19,9 @@ public class PipeShiftScheduleRespVO {
     @Schema(description = "检验员")
     private List<String> checkers;
 
+    @Schema(description = "小组信息")
+    private List<BoilerTaskDetailsItemVO> teamList;
+
     @Schema(description = "状态, 100 已排期 200 待约检 300 已受理 400 检测中")
     private Integer status;
 

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

@@ -26,4 +26,8 @@ public class PipeTaskDetailsVO {
 
     @Schema(description = "检验员信息")
     private List<AdminUserRespDTO> userList;
+
+    @Schema(description = "小组信息")
+    private List<BoilerTaskDetailsItemVO> teamList;
+
 }

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/externalOA/ExternalOAController.java

@@ -134,4 +134,9 @@ public class ExternalOAController {
         return success(null);
     }
 
+
+    @PostMapping("/cancleflow/{summaryId}")
+    public CommonResult<Boolean> cancleflow(@PathVariable String summaryId) {
+        return externalOAService.cancleflow(summaryId);
+    }
 }

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

@@ -59,4 +59,6 @@ public class InspectionNatureTemplateDetailRespVO {
     private String isAutoAmount;
 
     private String part;
+
+    private String isMainProject;
 }

+ 9 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorder/PipeTaskOrderController.java

@@ -14,6 +14,8 @@ import cn.start.tz.module.pressure2.controller.admin.equippipescheduling.vo.Equi
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.*;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorder.vo.PipeTaskOrderUserVO;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderitemreport.vo.OrderItemReportUpdateVO;
+import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationRespVO;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationSaveReqVO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
@@ -146,6 +148,13 @@ public class PipeTaskOrderController {
         return success(pipeTaskOrderOperationService.createPipeTaskOrderOperation(createReqVO));
     }
 
+    @GetMapping("/operation-record/page")
+    @Operation(summary = "获得任务单操作审核记录分页")
+    public CommonResult<PageResult<PipeTaskOrderOperationRespVO>> getTaskOrderOperationPage(@Valid PipeTaskOrderOperationPageReqVO pageReqVO) {
+        PageResult<PipeTaskOrderOperationRespVO> pageResult = pipeTaskOrderOperationService.getTaskOrderOperationPage(pageReqVO);
+        return success(pageResult);
+    }
+
     @PostMapping("/cost/itemInfoList")
     @Operation(summary = "费用项目选择列表")
     public CommonResult<List<BoilerOrderItemCostInfoRepsVO>> itemInfoList(@Valid @RequestBody BoilerOrderItemCostInfoReqVO reqVO) {

+ 6 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorderitemreport/PipeTaskOrderItemReportController.java

@@ -99,5 +99,10 @@ public class PipeTaskOrderItemReportController {
         pipeTaskOrderItemReportService.reportOperationInstruction(taskOrderItemReportSaveReqVO);
         return success(true);
     }
-
+    @PostMapping("/handleCompletion/{id}")
+    @Operation(summary = "报告办结")
+    public CommonResult<Boolean> handleCompletion(@PathVariable String id) {
+        pipeTaskOrderItemReportService.handleCompletion(id);
+        return success(true);
+    }
 }

+ 4 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/pipetaskorderoperation/vo/PipeTaskOrderOperationRespVO.java

@@ -1,5 +1,6 @@
 package cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo;
 
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 
@@ -62,4 +63,7 @@ public class PipeTaskOrderOperationRespVO {
     @ExcelProperty("审核人")
     private String auditorId;
 
+    @Schema(description = "当前审核人")
+    private AdminUserRespDTO auditor;
+
 }

+ 13 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/standardfile/StandardFileController.java

@@ -2,6 +2,7 @@ package cn.start.tz.module.pressure2.controller.admin.standardfile;
 
 import cn.hutool.http.HttpUtil;
 import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.module.pressure2.service.standardfile.StandardClassService;
 import com.alibaba.fastjson2.JSONObject;
 import com.grapecity.documents.excel.*;
 import org.springframework.beans.factory.annotation.Value;
@@ -51,6 +52,10 @@ public class StandardFileController {
     @Resource
     private StandardFileService standardFileService;
 
+    @Resource
+    private StandardClassService standardClassService;
+
+
     @PostMapping("/create")
     @Operation(summary = "创建承压标准文件")
     //@PreAuthorize("@ss.hasPermission('pressure:standard-file:create')")
@@ -114,4 +119,12 @@ public class StandardFileController {
                 .body(JSONObject.toJSONString(pdfBytesList)).execute().bodyBytes();
         response.getOutputStream().write(bytes);
     }
+
+
+    @GetMapping("/list")
+    @Operation(summary = "获得标准分类列表")
+    public CommonResult<List<StandardClassRespVO>> getStandardClassList() {
+        return success(standardClassService.getStandardClassList());
+    }
+
 }

+ 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("/system/standard-template/v2")
+@RequestMapping("/pressure2/standard-template/v2")
 @Validated
 public class StandardTemplateV2Controller {
 

+ 124 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/dynamictbval/AppApiDynamicTbValController.java

@@ -0,0 +1,124 @@
+package cn.start.tz.module.pressure2.controller.appapi.dynamictbval;
+
+import cn.start.tz.framework.apilog.core.annotation.ApiAccessLog;
+import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.framework.common.pojo.PageParam;
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.common.util.object.BeanUtils;
+import cn.start.tz.framework.excel.core.util.ExcelUtils;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbval.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
+import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+import static cn.start.tz.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static cn.start.tz.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 承压动态报表实例值")
+@RestController
+@RequestMapping("/pressure2/dynamic-tb-val")
+@Validated
+public class AppApiDynamicTbValController {
+
+    @Resource
+    private DynamicTbValService dynamicTbValService;
+
+
+
+    @PostMapping("/create")
+    @Operation(summary = "创建承压动态报表实例值")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-val:create')")
+    public CommonResult<String> createDynamicTbVal(@Valid @RequestBody DynamicTbValSaveReqVO createReqVO) {
+        return success(dynamicTbValService.createDynamicTbVal(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新承压动态报表实例值")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-val:update')")
+    public CommonResult<Boolean> updateDynamicTbVal(@Valid @RequestBody DynamicTbValSaveReqVO updateReqVO) {
+        dynamicTbValService.updateDynamicTbVal(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/delete")
+    @Operation(summary = "删除承压动态报表实例值")
+    @Parameter(name = "id", description = "编号", required = true)
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-val:delete')")
+    public CommonResult<Boolean> deleteDynamicTbVal(@RequestParam("id") String id) {
+        dynamicTbValService.deleteDynamicTbVal(id);
+        return success(true);
+    }
+
+    @GetMapping("/get")
+    @Operation(summary = "获得承压动态报表实例值")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-val:query')")
+    public CommonResult<DynamicTbValRespVO> getDynamicTbVal(@RequestParam("id") String id) {
+        DynamicTbValDO dynamicTbVal = dynamicTbValService.getDynamicTbVal(id);
+        return success(BeanUtils.toBean(dynamicTbVal, DynamicTbValRespVO.class));
+    }
+
+    @GetMapping("/page")
+    @Operation(summary = "获得承压动态报表实例值分页")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-val:query')")
+    public CommonResult<PageResult<DynamicTbValRespVO>> getDynamicTbValPage(@Valid DynamicTbValPageReqVO pageReqVO) {
+        PageResult<DynamicTbValDO> pageResult = dynamicTbValService.getDynamicTbValPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, DynamicTbValRespVO.class));
+    }
+
+    @GetMapping("/export-excel")
+    @Operation(summary = "导出承压动态报表实例值 Excel")
+//    @PreAuthorize("@ss.hasPermission('pressure2:dynamic-tb-val:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportDynamicTbValExcel(@Valid DynamicTbValPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<DynamicTbValDO> list = dynamicTbValService.getDynamicTbValPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "承压动态报表实例值.xls", "数据", DynamicTbValRespVO.class,
+                        BeanUtils.toBean(list, DynamicTbValRespVO.class));
+    }
+
+    @GetMapping("/get/ins/{insId}")
+    @Operation(summary = "根据insId获取值")
+    public CommonResult<List<DynamicTbValRespVO>> getDynamicTbValByIns(@PathVariable String insId) {
+        return success(BeanUtils.toBean(dynamicTbValService.lambdaQuery().eq(DynamicTbValDO::getInsId, insId).list(), DynamicTbValRespVO.class));
+    }
+
+    @GetMapping("/get/ref/{refId}")
+    @Operation(summary = "根据refId获取值")
+    public CommonResult<List<DynamicTbValRespVO>> getDynamicTbValByRefId(@PathVariable String refId) {
+        return success(BeanUtils.toBean(dynamicTbValService.getDynamicTbValByRefId(refId), DynamicTbValRespVO.class));
+    }
+
+    @PostMapping("/find/ref")
+    @Operation(summary = "根据ref实体获取或创建实例")
+    public CommonResult<DynamicTBAndColVO> getDynamicTbInsAndValByRefId(@RequestBody DynamicTBViewOrAddVO tbViewVO) {
+        var result = dynamicTbValService.getDynamicTbInsAndValByRefId(tbViewVO);
+        return success(result);
+    }
+
+    @PostMapping("/save/ins/{insId}/allColValue")
+    @Operation(summary = "获得承压动态报表实例值分页")
+    public CommonResult<Boolean> saveAllColValue(@PathVariable String insId, @RequestBody Map<String, String> allColValue) {
+        return success(dynamicTbValService.saveAllColValue(insId, allColValue));
+    }
+
+    @PostMapping("/save/ins/{refId}/allColValueRef")
+    @Operation(summary = "获得承压动态报表实例值分页")
+    public CommonResult<Boolean> saveAllColValuebyRef(@PathVariable String refId, @RequestBody Map<String, String> allColValue) {
+        //方法未改
+        return success(dynamicTbValService.saveAllColValue(refId, allColValue));
+    }
+}

+ 1 - 4
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/equipboilercheckhistory/AppApiEquipBoilerCheckHistoryController.java

@@ -13,10 +13,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import static cn.start.tz.framework.common.pojo.CommonResult.success;
 

+ 1 - 4
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/equippipecheckhistory/AppApiEquipPipeCheckHistoryController.java

@@ -13,10 +13,7 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
 import jakarta.validation.Valid;
 import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import static cn.start.tz.framework.common.pojo.CommonResult.success;
 

+ 58 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/appapi/standardfile/AppApiStandardTemplateV2Controller.java

@@ -0,0 +1,58 @@
+package cn.start.tz.module.pressure2.controller.appapi.standardfile;
+
+import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.module.grape.city.api.GrapeCityApi;
+import cn.start.tz.module.infra.api.file.FileApi;
+import cn.start.tz.module.pressure2.controller.admin.standardfile.vo.StandardTemplateRespVO;
+import cn.start.tz.module.pressure2.controller.admin.standardfile.vo.StandardTemplateSaveReqVO;
+import cn.start.tz.module.pressure2.service.standardfile.StandardTemplateService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+
+import static cn.start.tz.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 标准模版v2")
+@RestController
+@RequestMapping("/pressure2/standard-template/v2")
+@Validated
+public class AppApiStandardTemplateV2Controller {
+
+    @Resource
+    private StandardTemplateService standardTemplateService;
+
+    @Resource
+    private FileApi fileApi;
+
+    @Resource
+    private GrapeCityApi grapeCityApi;
+
+    @GetMapping("/get")
+    @Operation(summary = "获得标准模版")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    public CommonResult<StandardTemplateRespVO> getStandardTemplate(@RequestParam("id") String id) {
+        StandardTemplateRespVO vo = standardTemplateService.getStandardTemplateVOV2(id);
+        return success(vo);
+    }
+
+    @PostMapping("/create")
+    @Operation(summary = "创建标准模版")
+//    //  @PreAuthorize("@ss.hasPermission('system:standard-template:create')")
+    public CommonResult<String> createStandardTemplate(@Valid StandardTemplateSaveReqVO createReqVO) throws IOException {
+        return success(standardTemplateService.createStandardTemplate(createReqVO));
+    }
+
+    @PutMapping("/update")
+    @Operation(summary = "更新标准模版")
+//    //  @PreAuthorize("@ss.hasPermission('system:standard-template:update')")
+    public CommonResult<Boolean> updateStandardTemplate(@Valid StandardTemplateSaveReqVO updateReqVO) throws Exception {
+        standardTemplateService.updateStandardTemplate(updateReqVO);
+        return success(true);
+    }
+}

+ 32 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilerconnectrecordreport/BoilerConnectRecordReportDO.java

@@ -44,5 +44,37 @@ public class BoilerConnectRecordReportDO extends BaseDO {
      * 项目名称
      */
     private String projectName;
+    /**
+     * 项目代码
+     */
+    private String projectCode;
+    /**
+     * 受理单模板
+     */
+    private String acceptOrderTemplateId;
+    /**
+     * 费用类型
+     */
+    private String feeTypes;
+    /**
+     * 费用计算类型
+     */
+    private String feeCalcType;
+    /**
+     * 费用
+     */
+    private String fee;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 是否主项目
+     */
+    private String isMainProject;
+    /**
+     * 费用文件URL
+     */
+    private String feeFileUrl;
 
 }

+ 43 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/deptgroup/DeptGroupDO.java

@@ -0,0 +1,43 @@
+package cn.start.tz.module.pressure2.dal.dataobject.deptgroup;
+
+import cn.start.tz.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 部门分组 DO
+ *
+ * @author 特种管理员
+ */
+@TableName("pressure_dept_group")
+@KeySequence("pressure_dept_group_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DeptGroupDO extends BaseDO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
+    private String id;
+    /**
+     * 名字
+     */
+    private String name;
+    /**
+     * 部门id
+     */
+    private String deptId;
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+}

+ 47 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/deptgroupteam/DeptGroupTeamDO.java

@@ -0,0 +1,47 @@
+package cn.start.tz.module.pressure2.dal.dataobject.deptgroupteam;
+
+import cn.start.tz.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 部门分组-小组 DO
+ *
+ * @author 特种管理员
+ */
+@TableName("pressure_dept_group_team")
+@KeySequence("pressure_dept_group_team_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DeptGroupTeamDO extends BaseDO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
+    private String id;
+    /**
+     * 名字
+     */
+    private String name;
+    /**
+     * 部门分组id
+     */
+    private String deptGroupId;
+    /**
+     * 组长id
+     */
+    private String leaderId;
+    /**
+     * 计划制定人id
+     */
+    private String planSetterId;
+
+}

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

@@ -0,0 +1,39 @@
+package cn.start.tz.module.pressure2.dal.dataobject.deptgroupteammember;
+
+import cn.start.tz.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 部门分组-小组成员 DO
+ *
+ * @author 特种管理员
+ */
+@TableName("pressure_dept_group_team_member")
+@KeySequence("pressure_dept_group_team_member_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DeptGroupTeamMemberDO extends BaseDO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
+    private String id;
+    /**
+     * 小组id
+     */
+    private String teamId;
+    /**
+     * member id
+     */
+    private String memberId;
+
+}

+ 55 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/dynamictbfeecol/DynamicTbFeeColDO.java

@@ -0,0 +1,55 @@
+package cn.start.tz.module.pressure2.dal.dataobject.dynamictbfeecol;
+
+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_dynamic_tb_fee_col")
+@KeySequence("pressure2_dynamic_tb_fee_col_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class DynamicTbFeeColDO extends BaseDO {
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_UUID)
+    private String id;
+    /**
+     * 字段标识
+     */
+    private String code;
+    /**
+     * 字段名称
+     */
+    private String name;
+    /**
+     * 字段类型
+     */
+    private String colType;
+    /**
+     * 值类型
+     */
+    private String valType;
+    /**
+     * 说明
+     */
+    private String description;
+    /**
+     * 关联项目
+     */
+    private String projectId;
+
+}

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equipboilerschedulingitem/EquipBoilerSchedulingCheckDO.java

@@ -62,4 +62,9 @@ public class EquipBoilerSchedulingCheckDO extends BaseDO {
      * 费用
      */
     private BigDecimal fee;
+
+    /**
+     * 费用计算json
+     */
+    private String feeCalculateJson;
 }

+ 5 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/equippipeschedulingitem/EquipPipeSchedulingCheckDO.java

@@ -62,4 +62,9 @@ public class EquipPipeSchedulingCheckDO extends BaseDO {
      * 费用
      */
     private BigDecimal fee;
+
+    /**
+     * 费用计算json
+     */
+    private String feeCalculateJson;
 }

+ 15 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilerconnectrecordreport/BoilerConnectRecordReportMapper.java

@@ -26,6 +26,9 @@ public interface BoilerConnectRecordReportMapper extends BaseMapperX<BoilerConne
         return selectPage(reqVO, new LambdaQueryWrapperX<BoilerConnectRecordReportDO>()
                 .betweenIfPresent(BoilerConnectRecordReportDO::getCreateTime, reqVO.getCreateTime())
                 .likeIfPresent(BoilerConnectRecordReportDO::getProjectName, reqVO.getProjectName())
+                .likeIfPresent(BoilerConnectRecordReportDO::getProjectCode, reqVO.getProjectCode())
+                .eqIfPresent(BoilerConnectRecordReportDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(BoilerConnectRecordReportDO::getIsMainProject, reqVO.getIsMainProject())
                 .orderByDesc(BoilerConnectRecordReportDO::getCreateTime));
     }
 
@@ -49,6 +52,18 @@ public interface BoilerConnectRecordReportMapper extends BaseMapperX<BoilerConne
             recordDOMPJLambdaWrapper.like(BoilerConnectRecordReportDO::getProjectName, reqVO.getProjectName());
         }
 
+        if (StrUtil.isNotEmpty(reqVO.getProjectCode())) {
+            recordDOMPJLambdaWrapper.like(BoilerConnectRecordReportDO::getProjectCode, reqVO.getProjectCode());
+        }
+
+        if (StrUtil.isNotEmpty(reqVO.getStatus())) {
+            recordDOMPJLambdaWrapper.eq(BoilerConnectRecordReportDO::getStatus, reqVO.getStatus());
+        }
+
+        if (StrUtil.isNotEmpty(reqVO.getIsMainProject())) {
+            recordDOMPJLambdaWrapper.eq(BoilerConnectRecordReportDO::getIsMainProject, reqVO.getIsMainProject());
+        }
+
         if (StrUtil.isNotEmpty(reqVO.getRecordTemplateCode())) {
             recordDOMPJLambdaWrapper.like("DynamicTb1",DynamicTbDO::getTbCode, reqVO.getRecordTemplateCode());
         }

+ 27 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/deptgroup/DeptGroupMapper.java

@@ -0,0 +1,27 @@
+package cn.start.tz.module.pressure2.dal.mysql.deptgroup;
+
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.mybatis.core.mapper.BaseMapperX;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupPageReqVO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroup.DeptGroupDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 部门分组 Mapper
+ *
+ * @author 特种管理员
+ */
+@Mapper
+public interface DeptGroupMapper extends BaseMapperX<DeptGroupDO> {
+
+    default PageResult<DeptGroupDO> selectPage(DeptGroupPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<DeptGroupDO>()
+                .likeIfPresent(DeptGroupDO::getName, reqVO.getName())
+                .eqIfPresent(DeptGroupDO::getDeptId, reqVO.getDeptId())
+                .eqIfPresent(DeptGroupDO::getSort, reqVO.getSort())
+                .betweenIfPresent(DeptGroupDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(DeptGroupDO::getId));
+    }
+
+}

+ 74 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/deptgroupteam/DeptGroupTeamMapper.java

@@ -0,0 +1,74 @@
+package cn.start.tz.module.pressure2.dal.mysql.deptgroupteam;
+
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.mybatis.core.mapper.BaseMapperX;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.framework.mybatis.core.query.MPJLambdaWrapperX;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamRespVO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroup.DeptGroupDO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroupteam.DeptGroupTeamDO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroupteammember.DeptGroupTeamMemberDO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamPageReqVO;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+/**
+ * 部门分组-小组 Mapper
+ *
+ * @author 特种管理员
+ */
+@Mapper
+public interface DeptGroupTeamMapper extends BaseMapperX<DeptGroupTeamDO> {
+
+    default PageResult<DeptGroupTeamDO> selectPage(DeptGroupTeamPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<DeptGroupTeamDO>()
+                .likeIfPresent(DeptGroupTeamDO::getName, reqVO.getName())
+                .eqIfPresent(DeptGroupTeamDO::getDeptGroupId, reqVO.getDeptGroupId())
+                .eqIfPresent(DeptGroupTeamDO::getLeaderId, reqVO.getLeaderId())
+                .eqIfPresent(DeptGroupTeamDO::getPlanSetterId, reqVO.getPlanSetterId())
+                .betweenIfPresent(DeptGroupTeamDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(DeptGroupTeamDO::getId));
+    }
+
+    default PageResult<DeptGroupTeamRespVO> selectPageJoin(DeptGroupTeamPageReqVO reqVO){
+        MPJLambdaWrapperX<DeptGroupTeamDO> recordDOMPJLambdaWrapper = new MPJLambdaWrapperX<>();
+
+        recordDOMPJLambdaWrapper = (MPJLambdaWrapperX<DeptGroupTeamDO>)recordDOMPJLambdaWrapper.
+                selectAll(DeptGroupTeamDO.class).
+                selectAs(DeptGroupDO::getName, DeptGroupTeamRespVO::getDeptGroupName).
+                selectCount(DeptGroupTeamMemberDO::getId,DeptGroupTeamRespVO::getMemberCount).
+                leftJoin(DeptGroupDO.class, DeptGroupDO::getId, DeptGroupTeamDO::getDeptGroupId).
+                leftJoin(DeptGroupTeamMemberDO.class, DeptGroupTeamMemberDO::getTeamId, DeptGroupTeamDO::getId).
+                groupBy(DeptGroupTeamDO::getId);
+
+        recordDOMPJLambdaWrapper.likeIfPresent(DeptGroupTeamDO::getName, reqVO.getName())
+                .eqIfPresent(DeptGroupTeamDO::getId, reqVO.getId())
+                .eqIfPresent(DeptGroupTeamDO::getDeptGroupId, reqVO.getDeptGroupId())
+                .eqIfPresent(DeptGroupTeamDO::getLeaderId, reqVO.getLeaderId())
+                .eqIfPresent(DeptGroupTeamDO::getPlanSetterId, reqVO.getPlanSetterId())
+                .betweenIfPresent(DeptGroupTeamDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(DeptGroupTeamDO::getId);
+
+        return  selectJoinPage(reqVO,DeptGroupTeamRespVO.class, recordDOMPJLambdaWrapper);
+    }
+
+
+    default List<DeptGroupTeamRespVO> selectPageMemberJoin(List<String> deptIds){
+        MPJLambdaWrapperX<DeptGroupTeamDO> recordDOMPJLambdaWrapper = new MPJLambdaWrapperX<>();
+
+        recordDOMPJLambdaWrapper = (MPJLambdaWrapperX<DeptGroupTeamDO>)recordDOMPJLambdaWrapper.
+                selectAll(DeptGroupTeamDO.class).
+                selectAs(DeptGroupDO::getName, DeptGroupTeamRespVO::getDeptGroupName).
+                selectAs(DeptGroupTeamMemberDO::getMemberId, DeptGroupTeamRespVO::getMemberId).
+                selectAs(DeptGroupDO::getDeptId, DeptGroupTeamRespVO::getDeptId).
+                leftJoin(DeptGroupDO.class, DeptGroupDO::getId, DeptGroupTeamDO::getDeptGroupId).
+                leftJoin(DeptGroupTeamMemberDO.class, DeptGroupTeamMemberDO::getTeamId, DeptGroupTeamDO::getId);
+
+        recordDOMPJLambdaWrapper.in(DeptGroupDO::getDeptId, deptIds);
+
+        return selectJoinList(DeptGroupTeamRespVO.class, recordDOMPJLambdaWrapper);
+    }
+
+
+}

+ 26 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/deptgroupteammember/DeptGroupTeamMemberMapper.java

@@ -0,0 +1,26 @@
+package cn.start.tz.module.pressure2.dal.mysql.deptgroupteammember;
+
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.mybatis.core.mapper.BaseMapperX;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteammember.vo.DeptGroupTeamMemberPageReqVO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroupteammember.DeptGroupTeamMemberDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 部门分组-小组成员 Mapper
+ *
+ * @author 特种管理员
+ */
+@Mapper
+public interface DeptGroupTeamMemberMapper extends BaseMapperX<DeptGroupTeamMemberDO> {
+
+    default PageResult<DeptGroupTeamMemberDO> selectPage(DeptGroupTeamMemberPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<DeptGroupTeamMemberDO>()
+                .eqIfPresent(DeptGroupTeamMemberDO::getTeamId, reqVO.getTeamId())
+                .eqIfPresent(DeptGroupTeamMemberDO::getMemberId, reqVO.getMemberId())
+                .betweenIfPresent(DeptGroupTeamMemberDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(DeptGroupTeamMemberDO::getId));
+    }
+
+}

+ 32 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/dynamictbfeecol/DynamicTbFeeColMapper.java

@@ -0,0 +1,32 @@
+package cn.start.tz.module.pressure2.dal.mysql.dynamictbfeecol;
+
+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.dynamictbfeecol.DynamicTbFeeColDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol.vo.*;
+
+/**
+ * 承压动态报表字段 Mapper
+ *
+ * @author 特种管理员
+ */
+@Mapper
+public interface DynamicTbFeeColMapper extends BaseMapperX<DynamicTbFeeColDO> {
+
+    default PageResult<DynamicTbFeeColDO> selectPage(DynamicTbFeeColPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<DynamicTbFeeColDO>()
+                .betweenIfPresent(DynamicTbFeeColDO::getCreateTime, reqVO.getCreateTime())
+                .eqIfPresent(DynamicTbFeeColDO::getCode, reqVO.getCode())
+                .likeIfPresent(DynamicTbFeeColDO::getName, reqVO.getName())
+                .eqIfPresent(DynamicTbFeeColDO::getColType, reqVO.getColType())
+                .eqIfPresent(DynamicTbFeeColDO::getValType, reqVO.getValType())
+                .eqIfPresent(DynamicTbFeeColDO::getDescription, reqVO.getDescription())
+                .eqIfPresent(DynamicTbFeeColDO::getProjectId, reqVO.getProjectId())
+                .orderByDesc(DynamicTbFeeColDO::getId));
+    }
+
+}

+ 90 - 21
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/appointmentconfirmorder/PipeAppointmentConfirmOrderServiceImpl.java

@@ -14,6 +14,7 @@ import cn.start.tz.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.start.tz.module.bpm.enums.BpmModelConstants;
 import cn.start.tz.module.bpm.enums.task.BpmTaskStatusEnum;
 import cn.start.tz.module.member.api.templatesendlog.TemplateSendLogApi;
+import cn.start.tz.module.pressure2.dal.dataobject.boileracceptorderuser.BoilerAcceptOrderUserDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilerappointmentconfirmorderuser.BoilerAppointmentConfirmOrderUserDO;
 import cn.start.tz.module.pressure2.enums.RedisKeyEnums;
 import cn.start.tz.module.pressure2.controller.admin.appointmentconfirmorder.vo.*;
@@ -193,16 +194,44 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
         // 校验存在
         validateAppointmentConfirmOrderExists(updateReqVO.getId());
 
+        // 删除现有组员
+//        pipeAppointmentConfirmOrderUserMapper.delete(PipeAppointmentConfirmOrderUserDO::getOrderId, updateReqVO.getId());
+//        List<PipeAppointmentConfirmOrderUserDO> acceptOrderUserList = new ArrayList<>();
+//        if (CollUtil.isNotEmpty(updateReqVO.getUserList())) {
+//            updateReqVO.getUserList().forEach(team -> {
+//                PipeAppointmentConfirmOrderUserDO userDO = new PipeAppointmentConfirmOrderUserDO();
+//                userDO.setOrderId(updateReqVO.getId());
+//                userDO.setType(100);
+//                userDO.setUserId(team);
+//                acceptOrderUserList.add(userDO);
+//            });
+//            pipeAppointmentConfirmOrderUserMapper.insertBatch(acceptOrderUserList);
+//        }
+
         // 删除现有组员
         pipeAppointmentConfirmOrderUserMapper.delete(PipeAppointmentConfirmOrderUserDO::getOrderId, updateReqVO.getId());
         List<PipeAppointmentConfirmOrderUserDO> acceptOrderUserList = new ArrayList<>();
-        if (CollUtil.isNotEmpty(updateReqVO.getUserList())) {
-            updateReqVO.getUserList().forEach(team -> {
-                PipeAppointmentConfirmOrderUserDO userDO = new PipeAppointmentConfirmOrderUserDO();
-                userDO.setOrderId(updateReqVO.getId());
-                userDO.setType(100);
-                userDO.setUserId(team);
-                acceptOrderUserList.add(userDO);
+        if (CollUtil.isNotEmpty(updateReqVO.getTeamList())) {
+            updateReqVO.getTeamList().forEach(team -> {
+                PipeAppointmentConfirmOrderUserDO leader = new PipeAppointmentConfirmOrderUserDO();
+                leader.setOrderId(updateReqVO.getId());
+                leader.setType(100);
+                leader.setGroupTeamId(team.getGroupTeamId());
+                leader.setUserId(team.getLeaderId());
+
+                List<PipeAppointmentConfirmOrderUserDO> memberList = team.getUserIds().stream().map(memberId -> {
+                    PipeAppointmentConfirmOrderUserDO member = new PipeAppointmentConfirmOrderUserDO();
+                    member.setOrderId(updateReqVO.getId());
+                    member.setType(200);
+                    member.setUserId(memberId);
+                    member.setGroupTeamId(team.getGroupTeamId());
+                    return member;
+                }).toList();
+
+                if (StringUtils.isNotBlank(team.getLeaderId())) {
+                    acceptOrderUserList.add(leader);
+                }
+                acceptOrderUserList.addAll(memberList);
             });
             pipeAppointmentConfirmOrderUserMapper.insertBatch(acceptOrderUserList);
         }
@@ -228,7 +257,7 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
         List<String> userIds = equipContainerSchedulingMemberDOS.stream().map(item -> item.getUserId()).toList();
         Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
 
-        /*Set<String> set = equipContainerSchedulingMemberDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
+        Set<String> set = equipContainerSchedulingMemberDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
         set.stream().sorted();
 
         List<TeamItemVO> list = set.stream().map(groupTeamId ->
@@ -253,11 +282,12 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
                     }
                     return taskDetailsItemVO;
                 }
-        ).toList();*/
-        List<AdminUserRespDTO> list = userIds.stream().map(userMap::get).toList();
+        ).toList();
+        //List<AdminUserRespDTO> list = userIds.stream().map(userMap::get).toList();
 
         PipeAppointmentConfirmOrderRespVO appointmentConfirmOrderRespVO = BeanUtils.toBean(appointmentConfirmOrderDO, PipeAppointmentConfirmOrderRespVO.class);
-        appointmentConfirmOrderRespVO.setUserList(list);
+        //appointmentConfirmOrderRespVO.setUserList(list);
+        appointmentConfirmOrderRespVO.setTeamList(list);
 
         Area area = AreaUtils.getArea(appointmentConfirmOrderRespVO.getEquipStreet());
         if (area != null) {
@@ -270,10 +300,10 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
         }
         //获取部门电话
         if (StringUtils.isNotEmpty(appointmentConfirmOrderDO.getDeptId()) && StringUtils.isEmpty(appointmentConfirmOrderDO.getDeptPhone())) {
-//            OrgContactDTO orgContactDTO = orgContactApi.selectOne(appointmentConfirmOrderDO.getDeptId()).getCheckedData();
-//            if (Objects.nonNull(orgContactDTO)) {
-//                appointmentConfirmOrderRespVO.setDeptPhone(orgContactDTO.getContact());
-//            }
+            OrgContactDTO orgContactDTO = orgContactApi.selectOne(appointmentConfirmOrderDO.getDeptId()).getCheckedData();
+            if (Objects.nonNull(orgContactDTO)) {
+                appointmentConfirmOrderRespVO.setDeptPhone(orgContactDTO.getContact());
+            }
         }
 
         //获取约检确认单异常信息
@@ -822,18 +852,57 @@ public class PipeAppointmentConfirmOrderServiceImpl implements PipeAppointmentCo
         List<PipeAcceptOrderUserDO> acceptOrderList = new ArrayList<>();
 
         // 遍历团队列表,构建受理单人员信息
-        submitVO.getUserList().forEach(team -> {
+//        submitVO.getUserList().forEach(team -> {
+//            // 创建组长信息对象
+//            PipeAcceptOrderUserDO userDO = new PipeAcceptOrderUserDO();
+//            // 设置订单ID
+//            userDO.setOrderId(submitVO.getId());
+//            // 设置人员类型为组长(100)
+//            userDO.setType(100);
+//            // 设置用户ID
+//            userDO.setUserId(team);
+//
+//            // 将组员列表添加到受理单人员列表
+//            acceptOrderList.add(userDO);
+//
+//        });
+
+        // 遍历团队列表,构建受理单人员信息
+        submitVO.getTeamList().forEach(team -> {
             // 创建组长信息对象
-            PipeAcceptOrderUserDO userDO = new PipeAcceptOrderUserDO();
+            PipeAcceptOrderUserDO leader = new PipeAcceptOrderUserDO();
             // 设置订单ID
-            userDO.setOrderId(submitVO.getId());
+            leader.setOrderId(submitVO.getId());
             // 设置人员类型为组长(100)
-            userDO.setType(100);
+            leader.setType(100);
+            // 设置组队ID
+            leader.setGroupTeamId(team.getGroupTeamId());
             // 设置用户ID
-            userDO.setUserId(team);
+            leader.setUserId(team.getLeaderId());
+
+            // 构建组员列表
+            List<PipeAcceptOrderUserDO> memberList = team.getUserIds().stream().map(memberId -> {
+                // 创建组员信息对象
+                PipeAcceptOrderUserDO member = new PipeAcceptOrderUserDO();
+                // 设置订单ID
+                member.setOrderId(submitVO.getId());
+                // 设置人员类型为组员(200)
+                member.setType(200);
+                // 设置用户ID
+                member.setUserId(memberId);
+                // 设置组队ID
+                member.setGroupTeamId(team.getGroupTeamId());
+                // 返回组员对象
+                return member;
+            }).toList();
+
+            // 如果组长ID不为空,则添加到受理单人员列表
+            if (StringUtils.isNotBlank(team.getLeaderId())) {
+                acceptOrderList.add(leader);
+            }
 
             // 将组员列表添加到受理单人员列表
-            acceptOrderList.add(userDO);
+            acceptOrderList.addAll(memberList);
 
         });
 

+ 27 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilerconnectrecordreport/BoilerConnectRecordReportServiceImpl.java

@@ -1,6 +1,12 @@
 package cn.start.tz.module.pressure2.service.boilerconnectrecordreport;
 
 import cn.start.tz.framework.common.exception.ErrorCode;
+import cn.start.tz.module.pressure2.dal.dataobject.inspectionnature.InspectionNatureTemplateDO;
+import cn.start.tz.module.pressure2.dal.mysql.inspectionnature.InspectionNatureTemplateMapper;
+import cn.start.tz.module.pressure2.service.inspectionnature.InspectionNatureService;
+import cn.start.tz.module.pressure2.service.inspectionnature.InspectionNatureTemplateService;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
 import org.springframework.validation.annotation.Validated;
@@ -33,6 +39,9 @@ public class BoilerConnectRecordReportServiceImpl extends ServiceImpl<BoilerConn
     @Resource
     private BoilerConnectRecordReportMapper boilerConnectRecordReportMapper;
 
+    @Resource
+    private InspectionNatureTemplateMapper inspectionNatureTemplateMapper;
+
     @Resource
     private DynamicTbMapper dynamicTbMapper;
 
@@ -60,7 +69,24 @@ public class BoilerConnectRecordReportServiceImpl extends ServiceImpl<BoilerConn
         validateBoilerConnectRecordReportExists(updateReqVO.getId());
         // 更新
         BoilerConnectRecordReportDO updateObj = BeanUtils.toBean(updateReqVO, BoilerConnectRecordReportDO.class);
+        if ("0".equals(updateObj.getStatus())){
+            // 禁止,删除检验性质关联
+            inspectionNatureTemplateMapper.delete(InspectionNatureTemplateDO::getTemplateId,updateObj.getId());
+        }
         boilerConnectRecordReportMapper.updateById(updateObj);
+
+        boilerConnectRecordReportMapper.update(
+                new LambdaUpdateWrapper<BoilerConnectRecordReportDO>()
+                .set(BoilerConnectRecordReportDO::getRecordTemplateId, updateObj.getRecordTemplateId())
+                .set(BoilerConnectRecordReportDO::getReportTemplateId, updateObj.getReportTemplateId())
+                .set(BoilerConnectRecordReportDO::getProjectName, updateObj.getProjectName())
+                .set(BoilerConnectRecordReportDO::getProjectCode, updateObj.getProjectCode())
+                .set(BoilerConnectRecordReportDO::getAcceptOrderTemplateId, updateObj.getAcceptOrderTemplateId())
+                .set(BoilerConnectRecordReportDO::getFeeTypes, updateObj.getFeeTypes())
+                .set(BoilerConnectRecordReportDO::getStatus, updateObj.getStatus())
+                        .eq(BoilerConnectRecordReportDO::getId, updateObj.getId()
+        )
+        );
     }
 
     @Override
@@ -69,6 +95,7 @@ public class BoilerConnectRecordReportServiceImpl extends ServiceImpl<BoilerConn
         validateBoilerConnectRecordReportExists(id);
         // 删除
         boilerConnectRecordReportMapper.deleteById(id);
+        inspectionNatureTemplateMapper.delete(InspectionNatureTemplateDO::getTemplateId, id);
     }
 
     private void validateBoilerConnectRecordReportExists(String id) {

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

@@ -839,13 +839,15 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                     //checkId是记录和报告关联的主键ID
                     BoilerConnectRecordReportDO recordReportDO = boilerConnectRecordReportMapper.selectById(item.getCheckId());
                     if (recordReportDO != null){
+                        if (recordReportDO.getRecordTemplateId()!=null){
 
                         DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(recordReportDO.getRecordTemplateId());
 
                         BoilerTaskOrderItemReportDO addReport1 = new BoilerTaskOrderItemReportDO();
                         addReport1.setOrderItemId(id);
                         addReport1.setTemplateId(dynamicTbDO.getId());
-                        addReport1.setFee(item.getFee());
+                        // 将 String 类型的 fee 转换为 BigDecimal
+                        addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
                         addReport1.setOrderId(taskOrderDO.getId());
                         addReport1.setTaskStatus(500);
                         addReport1.setReportNo(reportNo);
@@ -857,6 +859,28 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                         addReport1.setReportName(recordReportDO.getProjectName());
 
                         insertList.add(addReport1);
+                        }else  if (recordReportDO.getReportTemplateId()!=null){
+
+                            DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(recordReportDO.getReportTemplateId());
+
+                            BoilerTaskOrderItemReportDO addReport1 = new BoilerTaskOrderItemReportDO();
+                            addReport1.setOrderItemId(id);
+//                            addReport1.setTemplateId(dynamicTbDO.getId());
+                            addReport1.setReportTemplateId(dynamicTbDO.getId());
+                            // 将 String 类型的 fee 转换为 BigDecimal
+                            addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
+                            addReport1.setOrderId(taskOrderDO.getId());
+                            addReport1.setTaskStatus(520);
+                            addReport1.setReportNo(reportNo);
+                            //addReport1.setSort(index.getAndSet(index.get() + 1));
+                            addReport1.setReportType(dynamicTbDO.getTbType());
+                            addReport1.setReportUrl(id);
+                            //使用配置的项目名称
+                            //addReport1.setReportName(dynamicTbDO.getTbName());
+                            addReport1.setReportName(recordReportDO.getProjectName());
+
+                            insertList.add(addReport1);
+                        }
 
                     }
                 }
@@ -885,7 +909,11 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                     //生成 报表数据
                     BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
                     syncReportVO.setRefId(item.getId());
-                    syncReportVO.setReportType("record");
+                    if (item.getTemplateId()!=null){
+                        syncReportVO.setReportType("record");
+                    }else{
+                        syncReportVO.setReportType("report");
+                    }
                     com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
                     params.put("checkUserId",getLoginUserId());
                     syncReportVO.setParams(params);
@@ -1154,6 +1182,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                     BoilerConnectRecordReportDO connectRecordReportDO = boilerConnectRecordReportMapper.selectById(natureTemplateDO.getTemplateId());
                     if (connectRecordReportDO != null){
 
+                        if (connectRecordReportDO.getRecordTemplateId() != null){
                         DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(connectRecordReportDO.getRecordTemplateId());
                         if (dynamicTbDO != null) {
 
@@ -1162,15 +1191,35 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                             //repsVO.setName(dynamicTbDO.getTbName());
                             repsVO.setConnectId(connectRecordReportDO.getId());
                             repsVO.setName(connectRecordReportDO.getProjectName());
+                            repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
                             repsVO.setTemplateId(dynamicTbDO.getId());
                             repsVO.setIsAutoAmount("0");
                             repsVO.setReportType(dynamicTbDO.getTbType());
                             repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
-
+                            repsVO.setIsMainProject(connectRecordReportDO.getIsMainProject());
                             return repsVO;
                         }else {
                             return null;
+                        }}else if (connectRecordReportDO.getReportTemplateId() != null){
+                            DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(connectRecordReportDO.getReportTemplateId());
+                            if (dynamicTbDO != null) {
+                                BoilerOrderItemCostInfoRepsVO repsVO = new BoilerOrderItemCostInfoRepsVO();
+                                repsVO.setOrderId(reqVO.getOrderId());
+                                //repsVO.setName(dynamicTbDO.getTbName());
+                                repsVO.setConnectId(connectRecordReportDO.getId());
+                                repsVO.setName(connectRecordReportDO.getProjectName());
+                                repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
+                                repsVO.setTemplateId(dynamicTbDO.getId());
+                                repsVO.setIsAutoAmount("0");
+                                repsVO.setReportType(dynamicTbDO.getTbType());
+                                repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
+                                repsVO.setIsMainProject(connectRecordReportDO.getIsMainProject());
+                                return repsVO;
+                            }else {
+                                return null;
+                            }
                         }
+                        return null;
 
                     }else{
                         return null;
@@ -1218,12 +1267,12 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
     @Override
     public void orderItemPartDelete(BoilerItemPartDeleteVO deleteVO) {
 
-        if (deleteVO.getItemOrderIds() != null) {
+        if (deleteVO.getId() != null) {
 
             String itemOrderId = deleteVO.getItemOrderIds()[0];
             //删除部件
             List<BoilerTaskOrderItemPartDO> itemPartDOList = boilerTaskOrderItemPartService.lambdaQuery()
-                    .eq(BoilerTaskOrderItemPartDO::getPartType, deleteVO.getPartType())
+                    .eq(BoilerTaskOrderItemPartDO::getId, deleteVO.getId())
                     .eq(BoilerTaskOrderItemPartDO::getOrderItemId, itemOrderId)
                     .list();
             if (!itemPartDOList.isEmpty()){
@@ -1231,7 +1280,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             }
             //删除部件报表
             List<BoilerTaskOrderItemReportDO> itemReportDOList = boilerTaskOrderItemReportService.lambdaQuery()
-                    .eq(BoilerTaskOrderItemReportDO::getItemPartId, deleteVO.getPartType())
+                    .eq(BoilerTaskOrderItemReportDO::getItemPartId, deleteVO.getId())
                     .eq(BoilerTaskOrderItemReportDO::getOrderItemId, itemOrderId)
                     .list();
             if (!itemReportDOList.isEmpty()){
@@ -2073,7 +2122,7 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             BoilerTaskOrderItemReportDO addReport = new BoilerTaskOrderItemReportDO();
             addReport.setOrderItemId(vo.getOrderItemId());
             addReport.setTemplateId(vo.getTemplateId());
-            addReport.setFee(vo.getFee());
+//            addReport.setFee(vo.getFee());
             addReport.setOrderId(orderItemDOS.get(0).getOrderId());
             addReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
             addReport.setSort(count + 1);
@@ -2086,8 +2135,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                 BoilerConnectRecordReportDO connectDO = boilerConnectRecordReportMapper.selectById(vo.getConnectId());
                 if (connectDO !=  null){
                     addReport.setReportName(connectDO.getProjectName());
+                    addReport.setFee(ConversionUtil.convert(connectDO.getFee()));
                 }
-
                 addReport.setReportType(reportTemplateDO.getTbType());
 //                addReport.setIsApproval(reportTemplateDO.getIsApproval());
 //                addReport.setIsRatify(reportTemplateDO.getIsRatify());
@@ -2096,6 +2145,13 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
                     addReport.setIsApproval(true);
                     addReport.setReportName(reportTemplateDO.getTbName());
                 }
+
+                // 只有报告
+                if (connectDO.getRecordTemplateId() == null){
+                    addReport.setTaskStatus(TaskOrderStatusEnum.REPORT_PREPARE.getStatus());
+                    addReport.setReportTemplateId(connectDO.getReportTemplateId());
+                    addReport.setTemplateId(null);
+                }
             } else {
                 if (vo.getReportType() == null) {
                     throw new ServiceException(900, "模板类型缺失");
@@ -2164,7 +2220,11 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
             //生成 报表数据
             BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
             syncReportVO.setRefId(addReport.getId());
-            syncReportVO.setReportType("record");
+            if (addReport.getReportTemplateId()!=null){
+                syncReportVO.setReportType("report");
+            }else{
+                syncReportVO.setReportType("record");
+            }
             com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
             if (StringUtils.isBlank(orderItemEnterVO.getCheckId())) {
                 params.put("checkUserId",taskOrderItemDO.getMainChecker());
@@ -2866,8 +2926,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         BoilerOrderItemCostInfoRepsVO vo = new BoilerOrderItemCostInfoRepsVO();
 
         //获取记录模板
+        if (templateDO.getRecordTemplateId() != null){
         DynamicTbDO recordDO = dynamicTbMapper.selectById(templateDO.getRecordTemplateId());
-
         vo.setOrderId(reqVO.getOrderId());
         vo.setConnectId(templateDO.getId());
         vo.setName(templateDO.getProjectName());
@@ -2878,6 +2938,16 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         vo.setUse(Boolean.FALSE); // 默认值
         //vo.setRecordTemplateUrl(templateDO.getRecordTemplateUrl());
         //vo.setReportTemplateUrl(templateDO.getReportTemplateUrl());
+        }else if (templateDO.getReportTemplateId() != null){
+            DynamicTbDO recordDO = dynamicTbMapper.selectById(templateDO.getReportTemplateId());
+            vo.setOrderId(reqVO.getOrderId());
+            vo.setConnectId(templateDO.getId());
+            vo.setName(templateDO.getProjectName());
+            vo.setTemplateId(recordDO.getId());
+            vo.setIsAutoAmount("0");
+            vo.setReportType(recordDO.getTbType());
+            vo.setUse(Boolean.FALSE); // 默认值
+        }
         return vo;
     }
 
@@ -3530,6 +3600,8 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         formmain_0042.setBeginDate(boilerTaskOrderDO.getRemark());
         ExternalOACreateFlowBodyDataReq externalOACreateFlowBodyDataReq = new ExternalOACreateFlowBodyDataReq();
 
+        // 重新发送
+        externalOACreateFlowReq.setSummaryId(taskOrderItemReportDO.getSummaryId());
 
         String id = taskOrderItemReportDO.getId();
         // 记录模板

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemreport/BoilerTaskOrderItemReportService.java

@@ -80,4 +80,10 @@ public interface BoilerTaskOrderItemReportService extends IService<BoilerTaskOrd
 
 
     void updateReport();
+
+    /**
+     * 报告办结
+     * @param id
+     */
+    void handleCompletion(String id);
 }

+ 7 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemreport/BoilerTaskOrderItemReportServiceImpl.java

@@ -326,6 +326,13 @@ public class BoilerTaskOrderItemReportServiceImpl extends ServiceImpl<BoilerTask
         );
     }
 
+    @Override
+    public void handleCompletion(String id) {
+        BoilerTaskOrderItemReportDO taskOrderItemReport = taskOrderItemReportMapper.selectById(id);
+        taskOrderItemReport.setTaskStatus(cn.start.tz.module.pressure2.enums.TaskOrderStatusEnum.REPORT_FINISH.getStatus());
+        taskOrderItemReportMapper.updateById(taskOrderItemReport);
+    }
+
 
     /**
      * 增加流转记录

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

@@ -60,4 +60,7 @@ public interface BoilerTaskOrderOperationService extends IService<BoilerTaskOrde
      * @return 锅炉任务单操作审核记录
      */
     BoilerTaskOrderOperationDO getBoilerTaskOrderOperationByObj(String id);
+
+    PageResult<BoilerTaskOrderOperationRespVO> getTaskOrderOperationPage(BoilerTaskOrderOperationPageReqVO pageReqVO);
+
 }

+ 22 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderoperation/BoilerTaskOrderOperationServiceImpl.java

@@ -5,9 +5,14 @@ import cn.start.tz.module.bpm.api.task.BpmProcessInstanceApi;
 import cn.start.tz.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.start.tz.module.bpm.enums.BpmModelConstants;
 import cn.start.tz.module.bpm.enums.task.BpmTaskStatusEnum;
+import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.PipeTaskOrderOperationRespVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderoperation.PipeTaskOrderOperationDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
 import cn.start.tz.module.pressure2.enums.TaskOrderStatusEnum;
+import cn.start.tz.module.system.api.user.AdminUserApi;
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
@@ -42,6 +47,8 @@ public class BoilerTaskOrderOperationServiceImpl extends ServiceImpl<BoilerTaskO
     private BoilerTaskOrderMapper boilerTaskOrderMapper;
     @Resource
     private BpmProcessInstanceApi bpmProcessInstanceApi;
+    @Resource
+    private AdminUserApi adminUserApi;
     @Override
     public String createBoilerTaskOrderOperation(BoilerTaskOrderOperationSaveReqVO createReqVO) {
 
@@ -130,4 +137,19 @@ public class BoilerTaskOrderOperationServiceImpl extends ServiceImpl<BoilerTaskO
         return list.get(0);
     }
 
+    @Override
+    public PageResult<BoilerTaskOrderOperationRespVO> getTaskOrderOperationPage(BoilerTaskOrderOperationPageReqVO pageReqVO) {
+        PageResult<BoilerTaskOrderOperationDO> taskOrderOperationDOPageResult = boilerTaskOrderOperationMapper.selectPage(pageReqVO);
+        if(taskOrderOperationDOPageResult.getList() == null || taskOrderOperationDOPageResult.getList().isEmpty()){
+            return PageResult.empty();
+        }
+        PageResult<BoilerTaskOrderOperationRespVO> pageResult = BeanUtils.toBean(taskOrderOperationDOPageResult, BoilerTaskOrderOperationRespVO.class);
+        List<String> userIds = pageResult.getList().stream().map(BoilerTaskOrderOperationRespVO::getAuditorId).toList();
+
+        Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+
+        pageResult.getList().forEach(item -> item.setAuditor(userMap.get(item.getAuditorId())));
+        return pageResult;
+    }
+
 }

+ 58 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/deptgroupteam/DeptGroupTeamService.java

@@ -0,0 +1,58 @@
+package cn.start.tz.module.pressure2.service.deptgroupteam;
+
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamMembersRespVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamRespVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamSaveReqVO;
+import jakarta.validation.Valid;
+
+import java.util.List;
+
+/**
+ * 部门分组-小组 Service 接口
+ *
+ * @author 特种管理员
+ */
+public interface DeptGroupTeamService {
+
+    /**
+     * 创建部门分组-小组
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    String createDeptGroupTeam(@Valid DeptGroupTeamSaveReqVO createReqVO);
+
+    /**
+     * 更新部门分组-小组
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateDeptGroupTeam(@Valid DeptGroupTeamSaveReqVO updateReqVO);
+
+    /**
+     * 删除部门分组-小组
+     *
+     * @param id 编号
+     */
+    void deleteDeptGroupTeam(String id);
+
+    /**
+     * 获得部门分组-小组
+     *
+     * @param id 编号
+     * @return 部门分组-小组
+     */
+    DeptGroupTeamRespVO getDeptGroupTeam(String id);
+
+    /**
+     * 获得部门分组-小组分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 部门分组-小组分页
+     */
+    PageResult<DeptGroupTeamRespVO> getDeptGroupTeamPage(DeptGroupTeamPageReqVO pageReqVO);
+
+    List<DeptGroupTeamMembersRespVO> getMemberByDept(String[] deptIds);
+}

+ 285 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/deptgroupteam/DeptGroupTeamServiceImpl.java

@@ -0,0 +1,285 @@
+package cn.start.tz.module.pressure2.service.deptgroupteam;
+
+import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.framework.common.pojo.PageResult;
+import cn.start.tz.framework.common.util.object.BeanUtils;
+import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamMembersRespVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamPageReqVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamRespVO;
+import cn.start.tz.module.pressure2.controller.admin.deptgroupteam.vo.DeptGroupTeamSaveReqVO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroupteam.DeptGroupTeamDO;
+import cn.start.tz.module.pressure2.dal.dataobject.deptgroupteammember.DeptGroupTeamMemberDO;
+import cn.start.tz.module.pressure2.dal.mysql.deptgroupteam.DeptGroupTeamMapper;
+import cn.start.tz.module.pressure2.dal.mysql.deptgroupteammember.DeptGroupTeamMemberMapper;
+import cn.start.tz.module.system.api.dept.DeptApi;
+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 jakarta.annotation.Resource;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
+import static cn.start.tz.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.start.tz.module.pressure.enums.ErrorCodeConstants.DEPT_GROUP_TEAM_NOT_EXISTS;
+
+/**
+ * 部门分组-小组 Service 实现类
+ *
+ * @author 特种管理员
+ */
+@Service
+@Validated
+public class DeptGroupTeamServiceImpl implements DeptGroupTeamService {
+
+    @Resource
+    private DeptGroupTeamMapper deptGroupTeamMapper;
+
+    @Resource
+    private DeptGroupTeamMemberMapper deptGroupTeamMemberMapper;
+
+    @Resource
+    private AdminUserApi userApi;
+
+    @Resource
+    private DeptApi deptApi;
+
+
+    @Override
+    public String createDeptGroupTeam(DeptGroupTeamSaveReqVO createReqVO) {
+        // 插入
+        DeptGroupTeamDO deptGroupTeam = BeanUtils.toBean(createReqVO, DeptGroupTeamDO.class);
+        deptGroupTeamMapper.insert(deptGroupTeam);
+        // 返回
+        
+        if(createReqVO.getMemberList() != null){
+            List<DeptGroupTeamMemberDO> memberList = createReqVO.getMemberList().stream().
+                    map(item -> DeptGroupTeamMemberDO.builder().teamId(deptGroupTeam.getId()).memberId(item.getMemberId()).build()).
+                    toList();
+
+            deptGroupTeamMemberMapper.insertBatch(memberList);
+        }
+        
+        return deptGroupTeam.getId();
+    }
+
+    @Override
+    @Transactional
+    public void updateDeptGroupTeam(DeptGroupTeamSaveReqVO updateReqVO) {
+        // 校验存在
+        validateDeptGroupTeamExists(updateReqVO.getId());
+        // 更新
+        DeptGroupTeamDO updateObj = BeanUtils.toBean(updateReqVO, DeptGroupTeamDO.class);
+        deptGroupTeamMapper.updateById(updateObj);
+
+        List<DeptGroupTeamMemberDO> insertList = updateReqVO.getMemberList().stream().
+                filter(item -> !StringUtils.isNoneBlank(item.getId())).
+                map(item -> {
+                    DeptGroupTeamMemberDO entryRecordDocDO = new DeptGroupTeamMemberDO();
+
+                    BeanUtils.copyProperties(item, entryRecordDocDO);
+                    entryRecordDocDO.setTeamId(updateReqVO.getId());
+                    return entryRecordDocDO;
+                }).toList();
+
+        List<DeptGroupTeamMemberDO> updatelist = updateReqVO.getMemberList().stream().
+                filter(item -> StringUtils.isNoneBlank(item.getId())).
+                map(item -> {
+                    DeptGroupTeamMemberDO entryRecordDocDO = new DeptGroupTeamMemberDO();
+
+                    BeanUtils.copyProperties(item, entryRecordDocDO);
+                    entryRecordDocDO.setTeamId(updateReqVO.getId());
+                    return entryRecordDocDO;
+                }).toList();
+
+        LambdaQueryWrapperX<DeptGroupTeamMemberDO> deleteWhere = new LambdaQueryWrapperX<>();
+        deleteWhere.eq(DeptGroupTeamMemberDO::getTeamId,updateReqVO.getId());
+        if(!updatelist.isEmpty()){
+            List<String> ids = updatelist.stream().
+                    map(DeptGroupTeamMemberDO::getId).
+                    toList();
+            deleteWhere.notIn(DeptGroupTeamMemberDO::getId,ids);
+        }
+        // 删除记录
+        deptGroupTeamMemberMapper.delete( deleteWhere);
+
+        // 新增
+        if(!insertList.isEmpty()){
+            deptGroupTeamMemberMapper.insertBatch(insertList);
+        }
+
+    }
+
+    @Override
+    public void deleteDeptGroupTeam(String id) {
+        // 校验存在
+        validateDeptGroupTeamExists(id);
+        // 删除
+        deptGroupTeamMapper.deleteById(id);
+    }
+
+    private void validateDeptGroupTeamExists(String id) {
+        if (deptGroupTeamMapper.selectById(id) == null) {
+            throw exception(DEPT_GROUP_TEAM_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public DeptGroupTeamRespVO getDeptGroupTeam(String id) {
+
+        DeptGroupTeamPageReqVO reqVO = new DeptGroupTeamPageReqVO();
+        reqVO.setId(id);
+        PageResult<DeptGroupTeamRespVO> respVOPageResult = deptGroupTeamMapper.selectPageJoin(reqVO);
+        if(respVOPageResult.getList() == null || respVOPageResult.getList().isEmpty()){
+            return null;
+        }
+        DeptGroupTeamRespVO deptGroupTeamRespVO = respVOPageResult.getList().get(0);
+
+        List<String> userIds = new ArrayList<>();
+        userIds.add(deptGroupTeamRespVO.getPlanSetterId());
+        if(deptGroupTeamRespVO.getLeaderId() != null){
+            userIds.add(deptGroupTeamRespVO.getLeaderId());
+        }
+        if(deptGroupTeamRespVO.getPlanSetterId() != null){
+            userIds.add(deptGroupTeamRespVO.getPlanSetterId());
+        }
+
+        List<DeptGroupTeamMemberDO> deptGroupTeamMemberDOS = deptGroupTeamMemberMapper.selectList(DeptGroupTeamMemberDO::getTeamId, deptGroupTeamRespVO.getId());
+        if(deptGroupTeamMemberDOS != null){
+            deptGroupTeamMemberDOS.forEach(item->{
+                if(item.getMemberId() != null){
+                    userIds.add(item.getMemberId());
+                }
+            });
+        }
+
+        if(!userIds.isEmpty()){
+            CommonResult<List<AdminUserRespDTO>> userListResult = userApi.getUserList(userIds);
+            List<AdminUserRespDTO> userList = userListResult.getData();
+            if(userList != null){
+                Map<String, AdminUserRespDTO> userMap = userList.stream().collect(Collectors.toMap(AdminUserRespDTO::getId,Function.identity()));
+                deptGroupTeamRespVO.setLeader(userMap.get(deptGroupTeamRespVO.getLeaderId()));
+                deptGroupTeamRespVO.setPlanSetter(userMap.get(deptGroupTeamRespVO.getPlanSetterId()));
+
+
+                if(deptGroupTeamMemberDOS != null){
+                    List<AdminUserRespDTO> list = deptGroupTeamMemberDOS.stream().map(item -> userMap.get(item.getMemberId())).filter(Objects::nonNull).toList();
+
+                    deptGroupTeamRespVO.setMembers(list);
+                }
+            }
+        }
+
+        return deptGroupTeamRespVO;
+    }
+
+    @Override
+    public PageResult<DeptGroupTeamRespVO> getDeptGroupTeamPage(DeptGroupTeamPageReqVO pageReqVO) {
+        PageResult<DeptGroupTeamRespVO>  respVOPageResult = deptGroupTeamMapper.selectPageJoin(pageReqVO);
+
+        List<DeptGroupTeamRespVO> respVOS = respVOPageResult.getList();
+        if(respVOS == null || respVOS.isEmpty()){
+            return respVOPageResult;
+        }
+
+        // 用户加载
+        List<String> userIds = new ArrayList<>(respVOS.stream().map(DeptGroupTeamRespVO::getLeaderId).filter(Objects::nonNull).toList());
+        List<String> userIds2 = new ArrayList<>(respVOS.stream().map(DeptGroupTeamRespVO::getPlanSetterId).filter(Objects::nonNull).toList());
+        if(userIds2 != null && !userIds2.isEmpty()){
+            userIds.addAll(userIds2);
+        }
+
+        CommonResult<List<AdminUserRespDTO>> userListResult = new CommonResult<>();
+        if(!userIds.isEmpty()){
+            userListResult = userApi.getUserList(userIds);
+        }
+
+        List<AdminUserRespDTO> userList = userListResult.getData();
+        if(userList != null){
+            Map<String, AdminUserRespDTO> userMap = userList.stream().collect(Collectors.toMap(AdminUserRespDTO::getId,Function.identity()));
+            respVOS.forEach(item->{
+                item.setLeader(userMap.get(item.getLeaderId()));
+                item.setPlanSetter(userMap.get(item.getPlanSetterId()));
+            });
+        }
+        return respVOPageResult;
+    }
+
+    @Override
+    public List<DeptGroupTeamMembersRespVO> getMemberByDept(String[] deptArray) {
+        List<String> deptIds = new ArrayList<>(List.of(deptArray));
+
+        Map<String, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIds);
+        if(deptMap == null){
+            deptMap = new HashMap<String, DeptRespDTO>();
+        }
+
+        if(deptIds.isEmpty()){
+            for (String key :deptMap.keySet()){
+                DeptRespDTO deptRespDTO = deptMap.get(key);
+                deptIds.add(deptRespDTO.getId());
+            }
+        }
+
+        CommonResult<List<AdminUserRespDTO>> usersDTO = userApi.getUserListByDeptIds(deptIds);
+        List<AdminUserRespDTO> userData = usersDTO.getData();
+        Map<String, AdminUserRespDTO> userRespDTOMap = userData.stream().collect(Collectors.toMap(AdminUserRespDTO::getId, Function.identity()));
+
+        List<DeptGroupTeamRespVO>  list= deptGroupTeamMapper.selectPageMemberJoin(deptIds);
+        Map<String, List<DeptGroupTeamRespVO>> collect;
+        if(list != null){
+             collect = list.stream()
+                    .collect(Collectors.groupingBy(DeptGroupTeamRespVO::getDeptId));
+        } else {
+            collect = new HashMap<>();
+        }
+
+        Map<String, DeptRespDTO> finalDeptMap = deptMap;
+        List<DeptGroupTeamMembersRespVO> resultList = deptIds.stream().map(id -> {
+            DeptGroupTeamMembersRespVO respVO = new DeptGroupTeamMembersRespVO();
+            respVO.setDept(finalDeptMap.get(id));
+
+            List<DeptGroupTeamRespVO> deptGroupTeamRespVOS = collect.get(id);
+            Map<String, List<DeptGroupTeamRespVO>> collect1 = new HashMap<>();
+            Map<String, String > teamNameMap = new HashMap<>();
+            if(deptGroupTeamRespVOS != null){
+                respVO.setTeamList(deptGroupTeamRespVOS);
+                collect1 = deptGroupTeamRespVOS.stream().collect(Collectors.groupingBy(DeptGroupTeamRespVO::getDeptGroupId));
+                deptGroupTeamRespVOS.forEach(item->{
+                    teamNameMap.put(item.getDeptGroupId(),item.getDeptGroupName());
+                });
+            }
+
+            List<DeptGroupTeamRespVO> tmpList = new ArrayList<>();
+            if(collect1 != null){
+                collect1.forEach((key,val)->{
+                    DeptGroupTeamRespVO tmp = new DeptGroupTeamRespVO();
+                    tmp.setDeptGroupId(key);
+                    tmp.setDeptGroupName(teamNameMap.get(key));
+                    tmp.setLeader(userRespDTOMap.get(tmp.getLeaderId()));
+
+                    // 用户
+                    val.forEach(item->{
+                        item.setMember(userRespDTOMap.get(item.getMemberId()));
+                    });
+
+                    tmp.setMemberList(val);
+                    tmpList.add(tmp);
+                });
+            }
+
+            respVO.setTeamList(tmpList);
+            return respVO;
+        }).toList();
+
+
+        return resultList;
+    }
+
+}

+ 76 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbfeecol/DynamicTbFeeColService.java

@@ -0,0 +1,76 @@
+package cn.start.tz.module.pressure2.service.dynamictbfeecol;
+
+import java.util.*;
+import jakarta.validation.*;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbfeecol.DynamicTbFeeColDO;
+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 DynamicTbFeeColService extends IService<DynamicTbFeeColDO>  {
+
+    /**
+     * 创建承压动态报表字段
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    String createDynamicTbFeeCol(@Valid DynamicTbFeeColSaveReqVO createReqVO);
+
+    /**
+     * 更新承压动态报表字段
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateDynamicTbFeeCol(@Valid DynamicTbFeeColSaveReqVO updateReqVO);
+
+    /**
+     * 删除承压动态报表字段
+     *
+     * @param id 编号
+     */
+    void deleteDynamicTbFeeCol(String id);
+
+    /**
+     * 获得承压动态报表字段
+     *
+     * @param id 编号
+     * @return 承压动态报表字段
+     */
+    DynamicTbFeeColDO getDynamicTbFeeCol(String id);
+
+    /**
+     * 获得承压动态报表字段分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 承压动态报表字段分页
+     */
+    PageResult<DynamicTbFeeColDO> getDynamicTbFeeColPage(DynamicTbFeeColPageReqVO pageReqVO);
+
+    /**
+     * 获取所有字段
+     * @param projectId
+     * @return
+     */
+    List<DynamicTbFeeColDO> getAllField(String projectId);
+
+    /**
+     * 获取所有字段
+     * @param recordId
+     * @return
+     */
+    List<DynamicTbFeeColDO> getAllFieldByRecordId(String recordId);
+
+    /**
+     * 获取所有字段
+     * @param reportId
+     * @return
+     */
+    List<DynamicTbFeeColDO> getAllFieldByReportId(String reportId);
+}

+ 116 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictbfeecol/DynamicTbFeeColServiceImpl.java

@@ -0,0 +1,116 @@
+package cn.start.tz.module.pressure2.service.dynamictbfeecol;
+
+import cn.start.tz.module.pressure2.dal.dataobject.boilerconnectrecordreport.BoilerConnectRecordReportDO;
+import cn.start.tz.module.pressure2.service.boilerconnectrecordreport.BoilerConnectRecordReportService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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 cn.start.tz.module.pressure2.controller.admin.dynamictbfeecol.vo.*;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbfeecol.DynamicTbFeeColDO;
+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.dynamictbfeecol.DynamicTbFeeColMapper;
+
+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 DynamicTbFeeColServiceImpl extends ServiceImpl<DynamicTbFeeColMapper, DynamicTbFeeColDO> implements DynamicTbFeeColService {
+
+    @Resource
+    private DynamicTbFeeColMapper dynamicTbFeeColMapper;
+
+    @Resource
+    private BoilerConnectRecordReportService boilerConnectRecordReportService;
+
+    @Override
+    public String createDynamicTbFeeCol(DynamicTbFeeColSaveReqVO createReqVO) {
+        // 插入
+        DynamicTbFeeColDO dynamicTbFeeCol = BeanUtils.toBean(createReqVO, DynamicTbFeeColDO.class);
+        // 校验code 唯一
+        validateDynamicTbFeeColCodeExists(createReqVO.getCode());
+        dynamicTbFeeColMapper.insert(dynamicTbFeeCol);
+        // 返回
+        return dynamicTbFeeCol.getId();
+    }
+
+    @Override
+    public void updateDynamicTbFeeCol(DynamicTbFeeColSaveReqVO updateReqVO) {
+        // 校验存在
+        validateDynamicTbFeeColExists(updateReqVO.getId());
+        // 校验code 唯一
+        validateDynamicTbFeeColExists(updateReqVO.getCode());
+        // 更新
+        DynamicTbFeeColDO updateObj = BeanUtils.toBean(updateReqVO, DynamicTbFeeColDO.class);
+        dynamicTbFeeColMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteDynamicTbFeeCol(String id) {
+        // 校验存在
+        validateDynamicTbFeeColExists(id);
+        // 删除
+        dynamicTbFeeColMapper.deleteById(id);
+    }
+
+    private void validateDynamicTbFeeColExists(String id) {
+        if (dynamicTbFeeColMapper.selectById(id) == null) {
+            throw exception(DYNAMIC_TB_FEE_COL_NOT_EXISTS);
+        }
+    }
+
+    private void validateDynamicTbFeeColCodeExists(String code) {
+        if (dynamicTbFeeColMapper.selectOne(new LambdaQueryWrapper<DynamicTbFeeColDO>().eq(DynamicTbFeeColDO::getCode, code)) != null) {
+            throw exception(DYNAMIC_TB_FEE_COL_CODE_EXISTS);
+        }
+    }
+
+    @Override
+    public DynamicTbFeeColDO getDynamicTbFeeCol(String id) {
+        return dynamicTbFeeColMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<DynamicTbFeeColDO> getDynamicTbFeeColPage(DynamicTbFeeColPageReqVO pageReqVO) {
+        return dynamicTbFeeColMapper.selectPage(pageReqVO);
+    }
+
+    @Override
+    public List<DynamicTbFeeColDO> getAllField(String projectId) {
+        return lambdaQuery().like(DynamicTbFeeColDO::getProjectId, projectId).list();
+    }
+
+    @Override
+    public List<DynamicTbFeeColDO> getAllFieldByRecordId(String recordId) {
+        List<BoilerConnectRecordReportDO> list = boilerConnectRecordReportService.list(new LambdaQueryWrapper<BoilerConnectRecordReportDO>().eq(BoilerConnectRecordReportDO::getRecordTemplateId, recordId));
+        if (list.size() != 1){
+            throw new RuntimeException("模板配置有误");
+        }
+        BoilerConnectRecordReportDO boilerConnectRecordReportDO = list.get(0);
+        return getAllField(boilerConnectRecordReportDO.getId());
+    }
+
+    @Override
+    public List<DynamicTbFeeColDO> getAllFieldByReportId(String reportId) {
+        List<BoilerConnectRecordReportDO> list = boilerConnectRecordReportService.list(new LambdaQueryWrapper<BoilerConnectRecordReportDO>().eq(BoilerConnectRecordReportDO::getReportTemplateId, reportId));
+        if (list.size() != 1){
+            throw new RuntimeException("模板配置有误");
+        }
+        BoilerConnectRecordReportDO boilerConnectRecordReportDO = list.get(0);
+        return getAllField(boilerConnectRecordReportDO.getId());
+    }
+
+}

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/equipboilerscheduling/EquipBoilerSchedulingServiceImpl.java

@@ -303,7 +303,7 @@ public class EquipBoilerSchedulingServiceImpl extends ServiceImpl<EquipBoilerSch
             });
         });
         if(schedulingMemberList.isEmpty()){
-            return;
+            //return;
         }else{
             equipBoilerSchedulingUserMapper.insert(schedulingMemberList);
         }

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

@@ -11,6 +11,7 @@ import cn.start.tz.module.pressure2.controller.admin.appointmentconfirmorder.vo.
 import cn.start.tz.module.pressure2.controller.admin.appointmentconfirmorder.vo.SubmitTeamItemVO;
 import cn.start.tz.module.pressure2.controller.admin.equipboilerscheduling.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.appointmentconfirmorder.AppointmentConfirmOrderDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulinguser.EquipBoilerSchedulingUserDO;
 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.equippipeschedulingitem.EquipPipeSchedulingCheckDO;
@@ -267,7 +268,11 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                 taskVO.setDate(schedulingDO.getPlanDate());
             }
 
-            if(!taskVO.getUserList().isEmpty()){
+//            if(!taskVO.getUserList().isEmpty()){
+//                equipPipeSchedulingUserMapper.delete(EquipPipeSchedulingUserDO::getSchedulingId,taskVO.getTaskId());
+//            }
+
+            if(!taskVO.getTeamList().isEmpty()){
                 equipPipeSchedulingUserMapper.delete(EquipPipeSchedulingUserDO::getSchedulingId,taskVO.getTaskId());
             }
 
@@ -364,16 +369,32 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
         //检查员
         List<EquipPipeSchedulingUserDO> schedulingMemberList = new ArrayList<>();
         allList.forEach(item->{
-            taskVO.getUserList().forEach(team -> {
-                EquipPipeSchedulingUserDO userDO = new EquipPipeSchedulingUserDO();
-                userDO.setSchedulingId(item.getId());
-                userDO.setType(100);
-                userDO.setUserId(team);
-                schedulingMemberList.add(userDO);
+            taskVO.getTeamList().forEach(team -> {
+                EquipPipeSchedulingUserDO leader = new EquipPipeSchedulingUserDO();
+                leader.setSchedulingId(item.getId());
+                leader.setType(100);
+                leader.setGroupTeamId(team.getGroupTeamId());
+                leader.setUserId(team.getLeaderId());
+
+                List<EquipPipeSchedulingUserDO> memberList = team.getMemberIdList().stream().map(memberId -> {
+                    EquipPipeSchedulingUserDO member = new EquipPipeSchedulingUserDO();
+                    member.setSchedulingId(item.getId());
+                    member.setType(200);
+                    member.setUserId(memberId);
+                    member.setGroupTeamId(team.getGroupTeamId());
+                    return member;
+                }).toList();
+
+                if(StringUtils.isNotBlank(team.getLeaderId())){
+                    schedulingMemberList.add(leader);
+                }
+
+                schedulingMemberList.addAll(memberList);
             });
         });
+
         if(schedulingMemberList.isEmpty()){
-            return;
+
         }else{
             equipPipeSchedulingUserMapper.insert(schedulingMemberList);
         }
@@ -769,7 +790,27 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
                 submitVO.setAppointmentDate(appointmentConfirmOrderDO.getAppointmentDate());
 
                 // 构建受理单人员列表
-                submitVO.setUserList(equipBoilerSchedulingUserDOS.stream().map(EquipPipeSchedulingUserDO::getUserId).toList());
+//              submitVO.setUserList(equipBoilerSchedulingUserDOS.stream().map(EquipPipeSchedulingUserDO::getUserId).toList());
+                Map<String, SubmitTeamItemVO> teamMap = new HashMap<>();
+
+                equipBoilerSchedulingUserDOS.forEach(user -> {
+                    String groupTeamId = user.getGroupTeamId();
+                    SubmitTeamItemVO teamItem = teamMap.computeIfAbsent(groupTeamId, k -> {
+                        SubmitTeamItemVO item = new SubmitTeamItemVO();
+                        item.setGroupTeamId(groupTeamId);
+                        item.setUserIds(new ArrayList<>());
+                        return item;
+                    });
+
+                    if (user.getType() == 100) {
+                        teamItem.setLeaderId(user.getUserId());
+                    } else if (user.getType() == 200) {
+                        teamItem.getUserIds().add(user.getUserId());
+                    }
+                });
+
+                submitVO.setTeamList(new ArrayList<SubmitTeamItemVO>(teamMap.values()));
+
                 submitVO.setUnitName(appointmentConfirmOrderDO.getUnitName());
                 submitVO.setEquipDistrict(appointmentConfirmOrderDO.getEquipDistrict());
                 submitVO.setEquipStreet(appointmentConfirmOrderDO.getEquipStreet());
@@ -1112,6 +1153,36 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
             List<EquipPipeSchedulingUserDO> equipPipeSchedulingUserDOS = equipPipeSchedulingUserMapper.selectList(EquipPipeSchedulingUserDO::getSchedulingId, taskId);
             pipeShiftScheduleRespVO.setCheckers(equipPipeSchedulingUserDOS.stream().map(EquipPipeSchedulingUserDO::getUserId).toList());
 
+            //List<EquipPipeSchedulingUserDO> equipPipeSchedulingUserDOS = equipPipeSchedulingUserMapper.selectList(EquipPipeSchedulingUserDO::getSchedulingId, taskId);
+            List<String> userIds = equipPipeSchedulingUserDOS.stream().map(item -> item.getUserId()).toList();
+            Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+
+            Set<String> set = equipPipeSchedulingUserDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
+            set.stream().sorted();
+
+            List<BoilerTaskDetailsItemVO> userList = set.stream().map(groupTeamId ->
+                    {
+                        BoilerTaskDetailsItemVO taskDetailsItemVO = new BoilerTaskDetailsItemVO();
+                        List<AdminUserRespDTO> leaderList = new ArrayList<>();
+                        List<AdminUserRespDTO> membetList = new ArrayList<>();
+
+                        equipPipeSchedulingUserDOS.forEach(item2->{
+                            if(groupTeamId != null && groupTeamId.equals(item2.getGroupTeamId())){
+                                if(item2.getType() == 100){
+                                    leaderList.add(userMap.get(item2.getUserId()));
+                                } else if (item2.getType() == 200) {
+                                    membetList.add(userMap.get(item2.getUserId()));
+                                }
+                            }
+                        });
+                        taskDetailsItemVO.setGroupTeamId(groupTeamId);
+                        taskDetailsItemVO.setLeaders(leaderList);
+                        taskDetailsItemVO.setMembers(membetList);
+                        return taskDetailsItemVO;
+                    }
+            ).toList();
+            pipeShiftScheduleRespVO.setTeamList(userList);
+
             scheduleItemRespVOS.forEach((item)-> {
                 Area area = AreaUtils.getArea(item.getEquipStreet());
                 if (area != null) {
@@ -1231,33 +1302,34 @@ public class EquipPipeSchedulingServiceImpl extends ServiceImpl<EquipPipeSchedul
         List<EquipPipeSchedulingUserDO> equipPipeSchedulingUserDOS = equipPipeSchedulingUserMapper.selectList(EquipPipeSchedulingUserDO::getSchedulingId, id);
         List<String> userIds = equipPipeSchedulingUserDOS.stream().map(item -> item.getUserId()).toList();
         Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
-//
-//        Set<String> set = equipPipeSchedulingUserDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
-//        set.stream().sorted();
-//
-//        List<BoilerTaskDetailsItemVO> list = set.stream().map(groupTeamId ->
-//                {
-//                    BoilerTaskDetailsItemVO taskDetailsItemVO = new BoilerTaskDetailsItemVO();
-//                    List<AdminUserRespDTO> leaderList = new ArrayList<>();
-//                    List<AdminUserRespDTO> membetList = new ArrayList<>();
-//
-//                    equipPipeSchedulingUserDOS.forEach(item2->{
-//                        if(groupTeamId.equals(item2.getGroupTeamId())){
-//                            if(item2.getType() == 100){
-//                                leaderList.add(userMap.get(item2.getUserId()));
-//                            } else if (item2.getType() == 200) {
-//                                membetList.add(userMap.get(item2.getUserId()));
-//                            }
-//                        }
-//                    });
-//                    taskDetailsItemVO.setGroupTeamId(groupTeamId);
-//                    taskDetailsItemVO.setLeaders(leaderList);
-//                    taskDetailsItemVO.setMembers(membetList);
-//                    return taskDetailsItemVO;
-//                }
-//        ).toList();
-
-        taskDetailsVO.setUserList(userIds.stream().map(userMap::get).toList());
+
+        Set<String> set = equipPipeSchedulingUserDOS.stream().map(item -> item.getGroupTeamId()).collect(Collectors.toSet());
+        set.stream().sorted();
+
+        List<BoilerTaskDetailsItemVO> list = set.stream().map(groupTeamId ->
+                {
+                    BoilerTaskDetailsItemVO taskDetailsItemVO = new BoilerTaskDetailsItemVO();
+                    List<AdminUserRespDTO> leaderList = new ArrayList<>();
+                    List<AdminUserRespDTO> membetList = new ArrayList<>();
+
+                    equipPipeSchedulingUserDOS.forEach(item2->{
+                        if(groupTeamId.equals(item2.getGroupTeamId())){
+                            if(item2.getType() == 100){
+                                leaderList.add(userMap.get(item2.getUserId()));
+                            } else if (item2.getType() == 200) {
+                                membetList.add(userMap.get(item2.getUserId()));
+                            }
+                        }
+                    });
+                    taskDetailsItemVO.setGroupTeamId(groupTeamId);
+                    taskDetailsItemVO.setLeaders(leaderList);
+                    taskDetailsItemVO.setMembers(membetList);
+                    return taskDetailsItemVO;
+                }
+        ).toList();
+        taskDetailsVO.setTeamList(list);
+
+        //taskDetailsVO.setUserList(userIds.stream().map(userMap::get).toList());
         return taskDetailsVO;
     }
 

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

@@ -1,5 +1,6 @@
 package cn.start.tz.module.pressure2.service.externalOA;
 
+import cn.start.tz.framework.common.pojo.CommonResult;
 import cn.start.tz.module.pressure2.service.externalOA.vo.*;
 
 import java.io.InputStream;
@@ -47,4 +48,11 @@ public interface ExternalOAService {
      * @throws Exception
      */
     byte[] pdf(String templateId, String instanceId) throws Exception;
+
+    /**
+     * 取消流程
+     * @param summaryId
+     * @return
+     */
+    CommonResult<Boolean> cancleflow(String summaryId);
 }

+ 10 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/externalOA/ExternalOAServiceImpl.java

@@ -185,6 +185,16 @@ public class ExternalOAServiceImpl implements ExternalOAService {
         }
     }
 
+
+    @Override
+    public CommonResult<Boolean> cancleflow(String summaryId) {
+        String url = this.oaHost + "/seeyon/rest/myflow/cancleflow?token=" + this.getExternalOAToken(null).getId() + "&summaryId=" + summaryId;
+        String result = HttpUtil.createGet(url)
+                .execute().body();
+        log.info("撤销OA流程结果:{}", result);
+        return CommonResult.success(true);
+    }
+
     @Override
     public byte[] pdf(String templateId, String instanceId) throws Exception {
         CommonResult<StandardTemplateRespDTO> standardTemplate = standardTemplateApi.getStandardTemplate(templateId);

+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/externalOA/vo/ExternalOACreateFlowReq.java

@@ -10,6 +10,7 @@ public class ExternalOACreateFlowReq {
     private String templateCode;
     private String senderLoginName;
     private String draft;
+    private String summaryId;
     private ExternalOACreateFlowBodyDataReq data;
     private List<ExternalOACreateFlowBodyAttReq> thirdAttachments;
 }

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

@@ -73,10 +73,11 @@ public class InspectionNatureServiceImpl extends ServiceImpl<InspectionNatureMap
         inspectionNatureMapper.insert(inspectionNature);
         for (InspectionNatureTemplateSaveReqVO templateSaveReqVO : createReqVO.getTemplateSaveReqVOList()) {
             templateSaveReqVO.setInspectionNatureId(inspectionNature.getId());
-            inspectionNatureTemplateService.createInspectionNatureTemplate(templateSaveReqVO);
+            String templateId = inspectionNatureTemplateService.createInspectionNatureTemplate(templateSaveReqVO);
+            templateSaveReqVO.setId(templateId);
 
             InspectionNatureTemplateExpandSaveReqVO inspectionNatureTemplateExpandSaveReqVO = new InspectionNatureTemplateExpandSaveReqVO();
-            inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateSaveReqVO.getId());
+            inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateId);
             inspectionNatureTemplateExpandSaveReqVO.setPart(templateSaveReqVO.getPart());
             inspectionNatureTemplateExpandService.createInspectionNatureTemplateExpand(inspectionNatureTemplateExpandSaveReqVO);
 
@@ -117,10 +118,11 @@ public class InspectionNatureServiceImpl extends ServiceImpl<InspectionNatureMap
         for (InspectionNatureTemplateSaveReqVO templateSaveReqVO : updateReqVO.getTemplateSaveReqVOList()) {
             if (StrUtil.isEmpty(templateSaveReqVO.getId())) {
                 templateSaveReqVO.setInspectionNatureId(updateReqVO.getId());
-                inspectionNatureTemplateService.createInspectionNatureTemplate(templateSaveReqVO);
+                String templateId = inspectionNatureTemplateService.createInspectionNatureTemplate(templateSaveReqVO);
+                templateSaveReqVO.setId(templateId);
                 // 添加拓展表
                 InspectionNatureTemplateExpandSaveReqVO inspectionNatureTemplateExpandSaveReqVO = new InspectionNatureTemplateExpandSaveReqVO();
-                inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateSaveReqVO.getId());
+                inspectionNatureTemplateExpandSaveReqVO.setInspectionNatureTemplateId(templateId);
                 inspectionNatureTemplateExpandSaveReqVO.setPart(templateSaveReqVO.getPart());
                 inspectionNatureTemplateExpandService.createInspectionNatureTemplateExpand(inspectionNatureTemplateExpandSaveReqVO);
 
@@ -205,6 +207,7 @@ public class InspectionNatureServiceImpl extends ServiceImpl<InspectionNatureMap
         templateDetailRespVOList.forEach(respVO -> Optional.ofNullable(templateTbMap.get(respVO.getTemplateId()))
                 .ifPresent(template -> {
                     respVO.setTemplateName(template.getProjectName());
+                    respVO.setIsMainProject(template.getIsMainProject());
         }));
 
         detailRespVO.setTemplateDetailRespVOList(templateDetailRespVOList);

+ 101 - 49
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/orderreport/OrderReportServiceImpl.java

@@ -1,15 +1,23 @@
 package cn.start.tz.module.pressure2.service.orderreport;
 
 import cn.hutool.core.collection.CollUtil;
+import cn.start.tz.framework.common.exception.ServiceException;
 import cn.start.tz.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilerconnectrecordreport.BoilerConnectRecordReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilerconnecttbservice.BoilerConnectTbServiceDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictb.DynamicTbDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equipboilerschedulingitem.EquipBoilerSchedulingCheckDO;
+import cn.start.tz.module.pressure2.dal.dataobject.equippipeschedulingitem.EquipPipeSchedulingCheckDO;
 import cn.start.tz.module.pressure2.dal.mysql.boilerconnecttbservice.BoilerConnectTbServiceMapper;
+import cn.start.tz.module.pressure2.service.boilerconnectrecordreport.BoilerConnectRecordReportService;
 import cn.start.tz.module.pressure2.service.dynamictb.DynamicTbService;
 import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
+import cn.start.tz.module.pressure2.service.equipboilerschedulingcheck.EquipBoilerSchedulingCheckService;
+import cn.start.tz.module.pressure2.service.equippipeschedulingcheck.EquipPipeSchedulingCheckService;
 import com.alibaba.fastjson2.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import jakarta.annotation.Resource;
@@ -49,6 +57,15 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
     @Resource
     private DynamicTbInsService dynamicTbInsService;
 
+    @Resource
+    private EquipBoilerSchedulingCheckService equipBoilerSchedulingCheckService;
+
+    @Resource
+    private EquipPipeSchedulingCheckService equipPipeSchedulingCheckService;
+
+    @Resource
+    private BoilerConnectRecordReportService boilerConnectRecordReportService;
+
     @Resource
     private DynamicTbService dynamicTbService;
 
@@ -104,7 +121,7 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
         orderReportDO.setAcceptOrderId(acceptOrderId);
         orderReportDO.setOrderType(ACCEPT);
 
-        List<DynamicTbDO> list = dynamicTbService.list(new LambdaQueryWrapperX<DynamicTbDO>()
+        /*List<DynamicTbDO> list = dynamicTbService.list(new LambdaQueryWrapperX<DynamicTbDO>()
                 .eq(DynamicTbDO::getPjType, 3)
                 .eq(DynamicTbDO::getReportType, 300)
         );
@@ -112,31 +129,48 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
             return;
         }
         // 目前拿第一个
-        DynamicTbDO reportTemplateDO = list.get(0);
-        orderReportDO.setTemplateId(reportTemplateDO.getId());
-        // 找到模板
-        //生成报表数据
-        CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
-        ruleVO.setTemplateId(reportTemplateDO.getId());
-        ruleVO.setRefId(acceptOrderId);
-        ruleVO.setRefName(reportTemplateDO.getTbName());
-        ruleVO.setReportType(1);
-        JSONObject params = new JSONObject();
-
-        params.put("equipMainType","boiler");
-        ruleVO.setParams(params);
-        //获取tbCode的服务方法名
-        BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId,reportTemplateDO.getId());
-        if (tbServiceDO != null){
-            ruleVO.setServiceName(tbServiceDO.getInitServiceName());
-            DynamicTbInsDO instantiateWithRule = dynamicTbInsService.createInstantiateWithRule(ruleVO);
-            orderReportDO.setInsId(instantiateWithRule.getId());
-        }else{
-            //throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
-        }
+        DynamicTbDO reportTemplateDO = list.get(0);*/
+        // 找到主项目
+        List<EquipBoilerSchedulingCheckDO> list = equipBoilerSchedulingCheckService.list(
+                new LambdaQueryWrapper<EquipBoilerSchedulingCheckDO>()
+                        .eq(EquipBoilerSchedulingCheckDO::getAcceptOrderId, acceptOrderId)
+        );
+        List<String> checkIds = list.stream().map(EquipBoilerSchedulingCheckDO::getCheckId).toList();
+        List<BoilerConnectRecordReportDO> boilerConnectRecordReportDOS = boilerConnectRecordReportService.list(
+                new LambdaQueryWrapper<BoilerConnectRecordReportDO>()
+                        .in(BoilerConnectRecordReportDO::getId, checkIds)
+                        .eq(BoilerConnectRecordReportDO::getIsMainProject, "1")
+        );
+        if (!boilerConnectRecordReportDOS.isEmpty()) {
+            BoilerConnectRecordReportDO boilerConnectRecordReportDO = boilerConnectRecordReportDOS.get(0);
+            DynamicTbDO reportTemplateDO = dynamicTbService.getById(boilerConnectRecordReportDO.getAcceptOrderTemplateId());
+            orderReportDO.setTemplateId(reportTemplateDO.getId());
+            // 找到模板
+            //生成报表数据
+            CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
+            ruleVO.setTemplateId(reportTemplateDO.getId());
+            ruleVO.setRefId(acceptOrderId);
+            ruleVO.setRefName(reportTemplateDO.getTbName());
+            ruleVO.setReportType(1);
+            JSONObject params = new JSONObject();
 
+            params.put("equipMainType", "boiler");
+            ruleVO.setParams(params);
+            //获取tbCode的服务方法名
+            BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId, reportTemplateDO.getId());
+            if (tbServiceDO != null) {
+                ruleVO.setServiceName(tbServiceDO.getInitServiceName());
+                DynamicTbInsDO instantiateWithRule = dynamicTbInsService.createInstantiateWithRule(ruleVO);
+                orderReportDO.setInsId(instantiateWithRule.getId());
+            } else {
+                //throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
+            }
 
-        orderReportMapper.insertOrUpdate(orderReportDO);
+
+            orderReportMapper.insertOrUpdate(orderReportDO);
+        }else {
+            throw new ServiceException(500, "生成报表数据失败,未找到主项目受理单配置");
+        }
     }
 
     @Override
@@ -146,7 +180,7 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
         orderReportDO.setAcceptOrderId(acceptOrderId);
         orderReportDO.setOrderType(ACCEPT);
 
-        List<DynamicTbDO> list = dynamicTbService.list(new LambdaQueryWrapperX<DynamicTbDO>()
+        /*List<DynamicTbDO> list = dynamicTbService.list(new LambdaQueryWrapperX<DynamicTbDO>()
                 .eq(DynamicTbDO::getPjType, 4)
                 .eq(DynamicTbDO::getReportType, 300)
         );
@@ -154,31 +188,49 @@ public class OrderReportServiceImpl extends ServiceImpl<OrderReportMapper, Order
             return;
         }
         // 目前拿第一个
-        DynamicTbDO reportTemplateDO = list.get(0);
-        orderReportDO.setTemplateId(reportTemplateDO.getId());
-
-        // 找到模板
-        //生成报表数据
-        CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
-        ruleVO.setTemplateId(reportTemplateDO.getId());
-        ruleVO.setRefId(acceptOrderId);
-        ruleVO.setRefName(reportTemplateDO.getTbName());
-        ruleVO.setReportType(1);
-        JSONObject params = new JSONObject();
-
-        params.put("equipMainType","pipe");
-        ruleVO.setParams(params);
-        //获取tbCode的服务方法名
-        BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId,reportTemplateDO.getId());
-        if (tbServiceDO != null){
-            ruleVO.setServiceName(tbServiceDO.getInitServiceName());
-            DynamicTbInsDO instantiateWithRule = dynamicTbInsService.createInstantiateWithRule(ruleVO);
-            orderReportDO.setInsId(instantiateWithRule.getId());
-        }else{
-            //throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
-        }
+        DynamicTbDO reportTemplateDO = list.get(0);*/
 
-        orderReportMapper.insertOrUpdate(orderReportDO);
+        // 找到主项目
+        List<EquipPipeSchedulingCheckDO> list = equipPipeSchedulingCheckService.list(
+                new LambdaQueryWrapper<EquipPipeSchedulingCheckDO>()
+                        .eq(EquipPipeSchedulingCheckDO::getAcceptOrderId, acceptOrderId)
+        );
+        List<String> checkIds = list.stream().map(EquipPipeSchedulingCheckDO::getCheckId).toList();
+        List<BoilerConnectRecordReportDO> boilerConnectRecordReportDOS = boilerConnectRecordReportService.list(
+                new LambdaQueryWrapper<BoilerConnectRecordReportDO>()
+                        .in(BoilerConnectRecordReportDO::getId, checkIds)
+                        .eq(BoilerConnectRecordReportDO::getIsMainProject, "1")
+        );
+        if (!boilerConnectRecordReportDOS.isEmpty()) {
+            BoilerConnectRecordReportDO boilerConnectRecordReportDO = boilerConnectRecordReportDOS.get(0);
+            DynamicTbDO reportTemplateDO = dynamicTbService.getById(boilerConnectRecordReportDO.getAcceptOrderTemplateId());
+            orderReportDO.setTemplateId(reportTemplateDO.getId());
+
+            // 找到模板
+            //生成报表数据
+            CreateInstantiateWithRuleVO ruleVO = new CreateInstantiateWithRuleVO();
+            ruleVO.setTemplateId(reportTemplateDO.getId());
+            ruleVO.setRefId(acceptOrderId);
+            ruleVO.setRefName(reportTemplateDO.getTbName());
+            ruleVO.setReportType(1);
+            JSONObject params = new JSONObject();
+
+            params.put("equipMainType","pipe");
+            ruleVO.setParams(params);
+            //获取tbCode的服务方法名
+            BoilerConnectTbServiceDO tbServiceDO = boilerConnectTbServiceMapper.selectOne(BoilerConnectTbServiceDO::getTbId,reportTemplateDO.getId());
+            if (tbServiceDO != null){
+                ruleVO.setServiceName(tbServiceDO.getInitServiceName());
+                DynamicTbInsDO instantiateWithRule = dynamicTbInsService.createInstantiateWithRule(ruleVO);
+                orderReportDO.setInsId(instantiateWithRule.getId());
+            }else{
+                //throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
+            }
+
+            orderReportMapper.insertOrUpdate(orderReportDO);
+        }else {
+            throw new ServiceException(500, "生成报表数据失败,未找到主项目受理单配置");
+        }
     }
 
     @Override

+ 107 - 9
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java

@@ -130,6 +130,7 @@ import cn.start.tz.module.pressure2.service.pipetaskorderinput.PipeTaskOrderInpu
 import cn.start.tz.module.pressure2.service.pipetaskorderitemreportversion.PipeTaskOrderItemReportVersionService;
 import cn.start.tz.module.pressure2.service.pipetaskorderoperation.PipeTaskOrderOperationService;
 import cn.start.tz.module.pressure2.service.pipetaskordersecuritycheck.PipeTaskOrderSecurityCheckService;
+import cn.start.tz.module.pressure2.util.ConversionUtil;
 import cn.start.tz.module.pressure2.util.DeptDataPermissionUtil;
 import cn.start.tz.module.pressure2.util.JsonDiffTool;
 import cn.start.tz.module.system.api.clientunit.ClientUnitApi;
@@ -630,7 +631,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 //刷新报表数据
                 BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
                 syncReportVO.setRefId(report.getId());
-                syncReportVO.setReportType("record");
+                if (report.getTemplateId() != null){
+                    syncReportVO.setReportType("record");
+                }else{
+                    syncReportVO.setReportType("report");
+                }
                 com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
                 params.put("checkUserId",managerId);
                 syncReportVO.setParams(params);
@@ -798,6 +803,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                     //checkId是记录和报告关联的主键ID
                     BoilerConnectRecordReportDO recordReportDO = boilerConnectRecordReportMapper.selectById(item.getCheckId());
                     if (recordReportDO != null){
+                        if (recordReportDO.getRecordTemplateId() != null){
                         DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(recordReportDO.getRecordTemplateId());
                         if (dynamicTbDO != null && dynamicTbDO.getTbCode().contains("QC12116")) {
                             // 压力管道一览表根据设备数量生成多条记录
@@ -805,7 +811,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                             for (PipeTaskOrderItemDO itemDO : orderItems) {
                                 PipeTaskOrderItemReportDO addReport1 = new PipeTaskOrderItemReportDO();
                                 addReport1.setTemplateId(dynamicTbDO.getId());
-                                addReport1.setFee(item.getFee());
+                                addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
                                 addReport1.setOrderId(taskOrderDO.getId());
                                 addReport1.setTaskStatus(500);
                                 addReport1.setReportNo(reportNo);
@@ -831,7 +837,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                         }else {
                             PipeTaskOrderItemReportDO addReport1 = new PipeTaskOrderItemReportDO();
                             addReport1.setTemplateId(dynamicTbDO.getId());
-                            addReport1.setFee(item.getFee());
+                            addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
                             addReport1.setOrderId(taskOrderDO.getId());
                             addReport1.setTaskStatus(500);
                             addReport1.setReportNo(reportNo);
@@ -844,6 +850,26 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 
                             insertList.add(addReport1);
                         }
+                        }else if (recordReportDO.getReportTemplateId() != null){
+                            DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(recordReportDO.getReportTemplateId());
+                                PipeTaskOrderItemReportDO addReport1 = new PipeTaskOrderItemReportDO();
+//                                addReport1.setTemplateId(dynamicTbDO.getId());
+                                addReport1.setReportTemplateId(dynamicTbDO.getId());
+                                addReport1.setFee(ConversionUtil.convert(recordReportDO.getFee()));
+                                addReport1.setOrderId(taskOrderDO.getId());
+                                addReport1.setTaskStatus(520);
+                                addReport1.setReportNo(reportNo);
+                                //addReport1.setSort(index.getAndSet(index.get() + 1));
+                                String isMainProject = recordReportDO.getIsMainProject();
+                                addReport1.setReportType("1".equals(isMainProject) ? 100 : 200);
+
+                                //使用配置的项目名称
+                                //addReport1.setReportName(dynamicTbDO.getTbName());
+                                addReport1.setReportName(recordReportDO.getProjectName());
+
+                                insertList.add(addReport1);
+
+                        }
                     }
 
                 }
@@ -871,7 +897,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                     //生成 报表数据
                     BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
                     syncReportVO.setRefId(item.getId());
-                    syncReportVO.setReportType("record");
+                    if (item.getTemplateId() != null){
+                        syncReportVO.setReportType("record");
+                    }else {
+                        syncReportVO.setReportType("report");
+                    }
                     com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
                     params.put("checkUserId",getLoginUserId());
                     params.put("orderItemId",item.getOrderItemId());
@@ -1099,6 +1129,15 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                         if (matchedReport != null) {
                             applyReportData(repsVO, matchedReport);
                         }
+                        natureTemplateDOList.stream()
+                                .filter(natureTemplateDO -> natureTemplateDO.getTemplateId().equals(templateDO.getId()))
+                                .findFirst()
+                                .ifPresent(natureTemplateDO -> {
+                                    // 找到匹配的检验性质模版
+                                    repsVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
+                                });
+                        repsVO.setUse(repsVO.getUse() || "1".equals(templateDO.getIsMainProject()));
+
                         return repsVO;
                     })
                     .collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
@@ -1110,7 +1149,17 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             List<BoilerOrderItemCostInfoRepsVO> resultList = templateDOList.stream()
                     .map(templateDO -> {
                         // 3. 使用构建器模式创建对象(避免重复set调用)
-                        return createBaseVO(reqVO, templateDO);
+                        // 找到模板配置
+                        BoilerOrderItemCostInfoRepsVO baseVO = createBaseVO(reqVO, templateDO);
+                        natureTemplateDOList.stream()
+                                .filter(natureTemplateDO -> natureTemplateDO.getTemplateId().equals(templateDO.getId()))
+                                .findFirst()
+                                .ifPresent(natureTemplateDO -> {
+                                    // 找到匹配的检验性质模版
+                                    baseVO.setUse("1".equals(natureTemplateDO.getIsDefault()));
+                                });
+                        baseVO.setUse(baseVO.getUse() || "1".equals(templateDO.getIsMainProject()));
+                        return baseVO;
                     })
                     .collect(Collectors.toCollection(ArrayList::new)); // 预分配空间
             // 外部结果集引用
@@ -1140,6 +1189,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
 
                     BoilerConnectRecordReportDO connectRecordReportDO = boilerConnectRecordReportMapper.selectById(natureTemplateDO.getTemplateId());
                     if (connectRecordReportDO != null){
+                            if (connectRecordReportDO.getRecordTemplateId() != null){
                         DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(connectRecordReportDO.getRecordTemplateId());
                         if (dynamicTbDO != null) {
 
@@ -1150,13 +1200,33 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                             repsVO.setName(connectRecordReportDO.getProjectName());
                             repsVO.setTemplateId(dynamicTbDO.getId());
                             repsVO.setIsAutoAmount("0");
+                            repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
                             repsVO.setReportType(dynamicTbDO.getTbType());
                             repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
-
+                            repsVO.setIsMainProject(connectRecordReportDO.getIsMainProject());
                             return repsVO;
                         }else {
                             return null;
+                            }}else if (connectRecordReportDO.getReportTemplateId() != null){
+                            DynamicTbDO dynamicTbDO = dynamicTbMapper.selectById(connectRecordReportDO.getReportTemplateId());
+                            if (dynamicTbDO != null) {
+                                BoilerOrderItemCostInfoRepsVO repsVO = new BoilerOrderItemCostInfoRepsVO();
+                                repsVO.setOrderId(reqVO.getOrderId());
+                                //repsVO.setName(dynamicTbDO.getTbName());
+                                repsVO.setConnectId(connectRecordReportDO.getId());
+                                repsVO.setName(connectRecordReportDO.getProjectName());
+                                repsVO.setFee(ConversionUtil.convert(connectRecordReportDO.getFee()));
+                                repsVO.setTemplateId(dynamicTbDO.getId());
+                                repsVO.setIsAutoAmount("0");
+                                repsVO.setReportType(dynamicTbDO.getTbType());
+                                repsVO.setUse("1".equals(natureTemplateDO.getIsDefault())); // 默认值
+                                repsVO.setIsMainProject(connectRecordReportDO.getIsMainProject());
+                                return repsVO;
+                            }else {
+                                return null;
+                            }
                         }
+                        return null;
                     }else{
                         return null;
                     }
@@ -1172,6 +1242,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         BoilerOrderItemCostInfoRepsVO vo = new BoilerOrderItemCostInfoRepsVO();
 
         //获取记录模板
+        if (templateDO.getRecordTemplateId() != null){
         DynamicTbDO recordDO = dynamicTbMapper.selectById(templateDO.getRecordTemplateId());
 
         vo.setOrderId(reqVO.getOrderId());
@@ -1181,9 +1252,19 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         vo.setIsAutoAmount("0");
         //vo.setFormulaTemplateUrl(templateDO.getFormulaTemplateUrl());
         vo.setReportType(recordDO.getTbType());
-        vo.setUse(Boolean.FALSE); // 默认值
         //vo.setRecordTemplateUrl(templateDO.getRecordTemplateUrl());
         //vo.setReportTemplateUrl(templateDO.getReportTemplateUrl());
+            vo.setIsMainProject(templateDO.getIsMainProject());
+        }else if (templateDO.getReportTemplateId() != null){
+            DynamicTbDO recordDO = dynamicTbMapper.selectById(templateDO.getReportTemplateId());
+            vo.setOrderId(reqVO.getOrderId());
+            vo.setConnectId(templateDO.getId());
+            vo.setName(templateDO.getProjectName());
+            vo.setTemplateId(recordDO.getId());
+            vo.setIsAutoAmount("0");
+            vo.setReportType(recordDO.getTbType());
+            vo.setIsMainProject(templateDO.getIsMainProject());
+        }
         return vo;
     }
 
@@ -1250,7 +1331,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
             for (int i = 0; i < quantity; i++) {
                 PipeTaskOrderItemReportDO addReport = new PipeTaskOrderItemReportDO();
                 addReport.setTemplateId(vo.getTemplateId());
-                addReport.setFee(vo.getFee());
+//                addReport.setFee(vo.getFee());
                 addReport.setOrderId(orderId);
                 addReport.setTaskStatus(TaskOrderStatusEnum.ENTER.getStatus());
                 addReport.setSort(count + 1 + i);
@@ -1267,6 +1348,7 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                     String baseReportName = "";
                     if (connectDO !=  null){
                         baseReportName = connectDO.getProjectName();
+                        addReport.setFee(ConversionUtil.convert(connectDO.getFee()));
                     }
                     
                     // 添加数量后缀(当数量大于 1 时)
@@ -1283,6 +1365,13 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                     if (reportTemplateDO.getTbType() == 400){
                         addReport.setIsApproval(true);
                     }
+
+                    // 只有报告
+                    if (connectDO.getRecordTemplateId() == null){
+                        addReport.setTaskStatus(TaskOrderStatusEnum.REPORT_PREPARE.getStatus());
+                        addReport.setReportTemplateId(connectDO.getReportTemplateId());
+                        addReport.setTemplateId(null);
+                    }
                 } else {
                     if (vo.getReportType() == null) {
                         throw new ServiceException(900, "模板类型缺失");
@@ -1352,7 +1441,11 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 //生成 报表数据
                 BoilerTaskOrderSyncReportVO syncReportVO = new BoilerTaskOrderSyncReportVO();
                 syncReportVO.setRefId(addReport.getId());
-                syncReportVO.setReportType("record");
+                if (addReport.getReportTemplateId()!=null){
+                    syncReportVO.setReportType("report");
+                }else{
+                    syncReportVO.setReportType("record");
+                }
                 com.alibaba.fastjson2.JSONObject params = new com.alibaba.fastjson2.JSONObject();
                 if (taskOrderDO != null && StringUtils.isBlank(orderItemEnterVO.getCheckId())) {
                     params.put("checkUserId",taskOrderDO.getManagerId());
@@ -2745,6 +2838,8 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
         formmain_0042.setBeginDate(pipeTaskOrderDO.getRemark());
         ExternalOACreateFlowBodyDataReq externalOACreateFlowBodyDataReq = new ExternalOACreateFlowBodyDataReq();
 
+        // 重新发送
+        externalOACreateFlowReq.setSummaryId(taskOrderItemReportDO.getSummaryId());
 
         // 记录模板
         DynamicTbInsDO dynamicTbInsDO1 = dynamicTbInsService.getDynamicRefId(taskOrderItemReportDO.getId());
@@ -4606,6 +4701,9 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
                 return true;
             }else{
                 //throw new ServiceException(500, "生成报表数据失败,初始化服务方法未配置");
+                ruleVO.setServiceName("");
+                dynamicTbInsService.createInstantiateWithRule(ruleVO);
+                return true;
             }
 
         }

+ 6 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemreport/PipeTaskOrderItemReportService.java

@@ -75,4 +75,10 @@ public interface PipeTaskOrderItemReportService extends IService<PipeTaskOrderIt
      * 更新报告状态
      */
     void updateReport();
+
+    /**
+     * 报告办结
+     * @param id
+     */
+    void handleCompletion(String id);
 }

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

@@ -10,6 +10,7 @@ import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.Inspecti
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.ReportUploadVO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
 import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTaskOrderItemDO;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 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.pipetaskorderitemreportrecord.PipeTaskOrderItemReportRecordDO;
@@ -250,6 +251,13 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
         pipeTaskOrderItemReportRecordMapper.insertBatch(newComments);
     }
 
+    @Override
+    public void handleCompletion(String id) {
+        PipeTaskOrderItemReportDO taskOrderItemReport = taskOrderItemReportMapper.selectById(id);
+        taskOrderItemReport.setTaskStatus(cn.start.tz.module.pressure2.enums.TaskOrderStatusEnum.REPORT_FINISH.getStatus());
+        taskOrderItemReportMapper.updateById(taskOrderItemReport);
+    }
+
     /**
      * 修改报告状态
      *

+ 2 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderoperation/PipeTaskOrderOperationService.java

@@ -64,4 +64,6 @@ public interface PipeTaskOrderOperationService extends IService<PipeTaskOrderOpe
      */
     PipeTaskOrderOperationDO getPipeTaskOrderOperationByObj(String id);
 
+    PageResult<PipeTaskOrderOperationRespVO> getTaskOrderOperationPage(PipeTaskOrderOperationPageReqVO pageReqVO);
+
 }

+ 20 - 5
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderoperation/PipeTaskOrderOperationServiceImpl.java

@@ -6,17 +6,15 @@ import cn.start.tz.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
 import cn.start.tz.module.bpm.enums.BpmModelConstants;
 import cn.start.tz.module.bpm.enums.task.BpmTaskStatusEnum;
 import cn.start.tz.module.pressure2.controller.admin.boilertaskorderoperation.vo.BoilerTaskOrderOperationSaveReqVO;
-import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorder.BoilerTaskOrderDO;
-import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderoperation.BoilerTaskOrderOperationDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorder.PipeTaskOrderDO;
-import cn.start.tz.module.pressure2.dal.mysql.boilertaskorder.BoilerTaskOrderMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorder.PipeTaskOrderMapper;
 import cn.start.tz.module.pressure2.enums.TaskOrderStatusEnum;
+import cn.start.tz.module.system.api.user.AdminUserApi;
+import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import org.apache.commons.lang3.StringUtils;
 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.time.LocalDateTime;
@@ -24,7 +22,6 @@ import java.util.*;
 import cn.start.tz.module.pressure2.controller.admin.pipetaskorderoperation.vo.*;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderoperation.PipeTaskOrderOperationDO;
 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.pipetaskorderoperation.PipeTaskOrderOperationMapper;
@@ -51,6 +48,9 @@ public class PipeTaskOrderOperationServiceImpl extends ServiceImpl<PipeTaskOrder
     @Resource
     private PipeTaskOrderMapper pipeTaskOrderMapper;
 
+    @Resource
+    private AdminUserApi adminUserApi;
+
     @Override
     public String createPipeTaskOrderOperation(BoilerTaskOrderOperationSaveReqVO createReqVO) {
 
@@ -141,4 +141,19 @@ public class PipeTaskOrderOperationServiceImpl extends ServiceImpl<PipeTaskOrder
         return list.get(0);
     }
 
+    @Override
+    public PageResult<PipeTaskOrderOperationRespVO> getTaskOrderOperationPage(PipeTaskOrderOperationPageReqVO pageReqVO) {
+        PageResult<PipeTaskOrderOperationDO> taskOrderOperationDOPageResult = pipeTaskOrderOperationMapper.selectPage(pageReqVO);
+        if(taskOrderOperationDOPageResult.getList() == null || taskOrderOperationDOPageResult.getList().isEmpty()){
+            return PageResult.empty();
+        }
+        PageResult<PipeTaskOrderOperationRespVO> pageResult = BeanUtils.toBean(taskOrderOperationDOPageResult, PipeTaskOrderOperationRespVO.class);
+        List<String> userIds = pageResult.getList().stream().map(PipeTaskOrderOperationRespVO::getAuditorId).toList();
+
+        Map<String, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+
+        pageResult.getList().forEach(item -> item.setAuditor(userMap.get(item.getAuditorId())));
+        return pageResult;
+    }
+
 }

+ 2 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/standardfile/StandardClassService.java

@@ -1,6 +1,7 @@
 package cn.start.tz.module.pressure2.service.standardfile;
 
 
+import cn.start.tz.module.pressure2.controller.admin.standardfile.vo.StandardClassRespVO;
 import cn.start.tz.module.pressure2.dal.dataobject.standardfile.StandardClassDO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import jakarta.validation.Valid;
@@ -15,4 +16,5 @@ import java.util.Set;
  */
 public interface StandardClassService extends IService<StandardClassDO> {
 
+    List<StandardClassRespVO> getStandardClassList();
 }

+ 9 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/standardfile/StandardClassServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
 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.standardfile.vo.StandardClassRespVO;
 import cn.start.tz.module.pressure2.dal.dataobject.standardfile.StandardClassDO;
 import cn.start.tz.module.pressure2.dal.mysql.standardfile.StandardClassMapper;
 import cn.start.tz.module.system.enums.common.CommonConstants;
@@ -33,4 +34,12 @@ import static cn.start.tz.module.system.enums.ErrorCodeConstants.*;
 @Validated
 public class StandardClassServiceImpl extends ServiceImpl<StandardClassMapper, StandardClassDO> implements StandardClassService {
 
+    @Override
+    public List<StandardClassRespVO> getStandardClassList() {
+
+        List<StandardClassDO> list = list(new LambdaQueryWrapperX<StandardClassDO>()
+                .eqIfPresent(StandardClassDO::getDeleted, false)
+                .orderByAsc(StandardClassDO::getSort));
+        return BeanUtils.toBean(list, StandardClassRespVO.class);
+    }
 }

+ 24 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/util/ConversionUtil.java

@@ -0,0 +1,24 @@
+package cn.start.tz.module.pressure2.util;
+
+import java.math.BigDecimal;
+
+public class ConversionUtil {
+    /**
+     * 将 String 转换为 BigDecimal
+     *
+     * @param str 字符串
+     * @return BigDecimal 值,默认0
+     */
+    public static BigDecimal convert(String str) {
+        // 将 String 类型的 fee 转换为 BigDecimal
+        if (str != null && !str.isEmpty()) {
+            try {
+                return new java.math.BigDecimal(str);
+            } catch (NumberFormatException e) {
+                return java.math.BigDecimal.ZERO;
+            }
+        } else {
+            return java.math.BigDecimal.ZERO;
+        }
+    }
+}

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/deptgroup/DeptGroupMapper.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.deptgroup.DeptGroupMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/deptgroupteam/DeptGroupTeamMapper.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.deptgroupteam.DeptGroupTeamMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/deptgroupteammember/DeptGroupTeamMemberMapper.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.deptgroupteammember.DeptGroupTeamMemberMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/dynamictbfeecol/DynamicTbFeeColMapper.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.dynamictbfeecol.DynamicTbFeeColMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

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

@@ -18,12 +18,12 @@
             AND eb.NEXT_IN_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
         </if>
         THEN eb.id ELSE NULL END, ',' ON OVERFLOW TRUNCATE) AS in_equip_ids
-        ,LISTAGG(CASE WHEN eb.NEXT_OUT_CHECK_DATE IS NOT NULL AND eb.HAS_INTERNAL = 0
+        ,LISTAGG(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 eb.id ELSE NULL END, ',' ON OVERFLOW TRUNCATE) AS out_equip_ids
-        ,LISTAGG(CASE WHEN eb.NEXT_PRESSURE_CHECK_DATE IS NOT NULL AND eb.HAS_INTERNAL = 0
+        ,LISTAGG(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]}
         </if>

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

@@ -353,7 +353,14 @@
         GROUP BY b.equip_id
         ) scheduling_info ON eb.ID = scheduling_info.equip_id
         <where>
-            eb.deleted = 0
+            eb.deleted = 0 and (select count(*) num_pipe from (
+            select ped.ID
+            from PRESSURE2_EQUIP_PIPE_DETAIL ped
+            left join PRESSURE2_EQUIP_PIPE pe on ped.EQUIP_PIPE_ID = pe.ID
+            where pe.DELETED = 0 and ped.DELETED = 0
+            and (ped.HAS_LEGAL_SCHEDULING = 0 or ped.HAS_YEAR_SCHEDULING = 0)
+            and ped.EQUIP_PIPE_ID = eb.id
+            )  a) > 0
             <if test="unitName != null and unitName != ''">
                 AND eb.UNIT_NAME LIKE CONCAT('%',#{unitName},'%')
             </if>
@@ -403,26 +410,29 @@
         group by eb.id
         ) a
         --WHERE a.count_in > 0 OR a.count_out > 0 OR a.count_pre > 0
-        <if test="sort != null and sort != ''">
+        order by
+        <choose>
+            <when test="sort != null and sort == 'nextLegalCheckDate'">
+                NVL(a.NEXT_LEGAL_CHECK_DATE, '1000-12-31')
+            </when>
+            <when test="sort != null and sort == 'nextYearCheckDate'">
+                NVL(a.NEXT_YEAR_CHECK_DATE, '1000-12-31')
+            </when>
+            <otherwise>
+                NVL(a.NEXT_LEGAL_CHECK_DATE, '1000-12-31')
+            </otherwise>
+        </choose>
+        <if test="order != null and order != ''">
             <choose>
-                <when test="sort == 'nextLegalCheckDate'">
-                    order by NVL(a.NEXT_LEGAL_CHECK_DATE,'1000-12-31')
-                </when>
-                <when test="sort == 'nextYearCheckDate'">
-                    order by NVL(a.NEXT_YEAR_CHECK_DATE,'1000-12-31')
+                <when test="order == 'descending'">
+                    desc
                 </when>
+                <otherwise>
+                    asc
+                </otherwise>
             </choose>
-            <if test="order != null and order != ''">
-                <choose>
-                    <when test="order == 'descending'">
-                        desc
-                    </when>
-                    <otherwise>
-                        asc
-                    </otherwise>
-                </choose>
-            </if>
         </if>
+        , a.UNIT_NAME
         <if test="pageSize != -1">
             OFFSET ${(pageNo - 1) * pageSize} ROWS FETCH NEXT #{pageSize} ROWS ONLY
         </if>
@@ -433,7 +443,14 @@
         select eb.id
         from PRESSURE2_EQUIP_PIPE eb
         <where>
-            eb.deleted = 0
+            eb.deleted = 0 and (select count(*) num_pipe from (
+            select ped.ID
+            from PRESSURE2_EQUIP_PIPE_DETAIL ped
+            left join PRESSURE2_EQUIP_PIPE pe on ped.EQUIP_PIPE_ID = pe.ID
+            where pe.DELETED = 0 and ped.DELETED = 0
+            and (ped.HAS_LEGAL_SCHEDULING = 0 or ped.HAS_YEAR_SCHEDULING = 0)
+            and ped.EQUIP_PIPE_ID = eb.id
+            )  a) > 0
             <if test="unitName != null and unitName != ''">
                 AND eb.UNIT_NAME LIKE CONCAT('%',#{unitName},'%')
             </if>