Ver Fonte

Merge remote-tracking branch 'origin/dev' into dev

yangguanjin há 6 dias atrás
pai
commit
1aafe3cb5e
28 ficheiros alterados com 3713 adições e 340 exclusões
  1. 1 1
      tz-module-infra/tz-module-infra-biz/src/main/java/cn/start/tz/module/infra/framework/pay/config/PayConfig.java
  2. 16 18
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/synchronization/SynchronizationController.java
  3. 5 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/dataobject/boilertaskorder/BoilerTaskOrderDO.java
  4. 12 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilertaskorderuser/BoilerTaskOrderUserMapper.java
  5. 1700 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/SyncTaskBoilerEquipmentJob.java
  6. 1502 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/SyncTaskPipeEquipmentJob.java
  7. 1 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/mq/consumer/FsPayNoticeConsumer.java
  8. 6 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorder/BoilerTaskOrderServiceImpl.java
  9. 9 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitem/BoilerTaskOrderItemService.java
  10. 18 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitem/BoilerTaskOrderItemServiceImpl.java
  11. 26 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitemreport/BoilerTaskOrderItemReportServiceImpl.java
  12. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12016_202400ReportOFData.java
  13. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12016_202401JRecordOFData.java
  14. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12024_202400ReportOFData.java
  15. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12024_202403JRecordOFData.java
  16. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12116_202400RecordOFData.java
  17. 3 7
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12171_202401RecordOFData.java
  18. 10 3
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorder/PipeTaskOrderServiceImpl.java
  19. 28 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderitemreport/PipeTaskOrderItemReportServiceImpl.java
  20. 0 19
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/SynchronizationService.java
  21. 0 221
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/SynchronizationServiceImpl.java
  22. 193 52
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/dto/CheckTaskDto.java
  23. 27 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/dto/InformResponseVO.java
  24. 119 0
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/dto/TaskEquipmentDto.java
  25. 4 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/taskordernontaxrecord/TaskOrderNonTaxRecordServiceImpl.java
  26. 2 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/thirdparty/financialsystem/FinancialSystemServiceImpl.java
  27. 20 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equipboilerscheduling/EquipBoilerSchedulingMapper.xml
  28. 6 6
      tz-module-pressure2/tz-module-pressure2-biz/src/main/resources/mapper/equippipescheduling/EquipPipeSchedulingMapper.xml

+ 1 - 1
tz-module-infra/tz-module-infra-biz/src/main/java/cn/start/tz/module/infra/framework/pay/config/PayConfig.java

@@ -38,7 +38,7 @@ public class PayConfig {
 
     public String getPayHost() {
         if (StrUtil.isBlank(payHost)) {
-            payHost = "https://apiplat.gzsei.work";
+            payHost = "https://apiplat-uat.gzsei.work";
         }
         return payHost;
     }

+ 16 - 18
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/synchronization/SynchronizationController.java

@@ -1,6 +1,8 @@
 package cn.start.tz.module.pressure2.controller.admin.synchronization;
 
 import cn.start.tz.framework.common.pojo.CommonResult;
+import cn.start.tz.module.pressure2.framework.cron.SyncTaskBoilerEquipmentJob;
+//import cn.start.tz.module.pressure2.framework.cron.SyncTaskPipeEquipmentJob;
 import cn.start.tz.module.pressure2.service.synchronization.SynchronizationService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
@@ -30,28 +32,24 @@ public class SynchronizationController {
         return CommonResult.success(null);
     }
 
-    @GetMapping("/checkTask/boiler")
-    public CommonResult<Object> checkTaskBoiler() {
-        synchronizationService.checkTaskBoiler(null);
-        return CommonResult.success(null);
-    }
+    @Resource
+    private SyncTaskBoilerEquipmentJob syncTaskBoilerEquipmentJob;
 
-    @GetMapping("/checkTask/pipe")
-    public CommonResult<Object> checkTaskPipe() {
-        synchronizationService.checkTaskPipe(null);
-        return CommonResult.success(null);
-    }
+//    @Resource
+//    private SyncTaskPipeEquipmentJob syncTaskPipeEquipmentJob;
 
-    @GetMapping("/taskEquipment/boiler")
-    public CommonResult<Object> taskEquipmentBoiler() {
-        synchronizationService.taskEquipmentBoiler(null);
+    @GetMapping("/taskBoiler")
+    @PermitAll
+    public CommonResult<Object> taskBoiler() {
+        syncTaskBoilerEquipmentJob.execute();
         return CommonResult.success(null);
     }
 
-    @GetMapping("/taskEquipment/pipe")
-    public CommonResult<Object> taskEquipmentPipe() {
-        synchronizationService.taskEquipmentPipe(null);
-        return CommonResult.success(null);
-    }
+//    @GetMapping("/taskPipe")
+//    @PermitAll
+//    public CommonResult<Object> taskPipe() {
+//        syncTaskPipeEquipmentJob.execute();
+//        return CommonResult.success(null);
+//    }
 
 }

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

@@ -333,6 +333,11 @@ public class BoilerTaskOrderDO extends BaseDO {
      */
     private String enterpriseType;
 
+    /**
+     * 是否同步数据
+     */
+    private String isSync;
+
     /**
      * 非税缴费状态(0=待缴费,1=已缴费)
      */

+ 12 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/dal/mysql/boilertaskorderuser/BoilerTaskOrderUserMapper.java

@@ -27,4 +27,16 @@ public interface BoilerTaskOrderUserMapper extends BaseMapperX<BoilerTaskOrderUs
                 .orderByDesc(BoilerTaskOrderUserDO::getId));
     }
 
+    /**
+     * 检查任务单用户关系是否存在
+     * @param taskOrderId 任务单ID
+     * @param userId 用户ID
+     * @return 是否存在
+     */
+    default boolean existsByTaskOrderIdAndUserId(String taskOrderId, String userId) {
+        Long count = selectCount(new LambdaQueryWrapperX<BoilerTaskOrderUserDO>()
+                .eq(BoilerTaskOrderUserDO::getOrderId, taskOrderId)
+                .eq(BoilerTaskOrderUserDO::getUserId, userId));
+        return count > 0;
+    }
 }

Diff do ficheiro suprimidas por serem muito extensas
+ 1700 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/SyncTaskBoilerEquipmentJob.java


Diff do ficheiro suprimidas por serem muito extensas
+ 1502 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/SyncTaskPipeEquipmentJob.java


+ 1 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/mq/consumer/FsPayNoticeConsumer.java

@@ -28,6 +28,7 @@ public class FsPayNoticeConsumer implements RocketMQListener<FsPayNoticeMessage>
 //    @Resource
 //    private TaskOrderApi taskOrderApi;
 
+    @Resource
     private BoilerTaskOrderService boilerTaskOrderService;
 
     @Override

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

@@ -3908,8 +3908,12 @@ public class BoilerTaskOrderServiceImpl extends ServiceImpl<BoilerTaskOrderMappe
         log.info("发起oa审核");
         try {
             ExternalOACreateFlowRes externalOAFlow = createExternalOAFlow(taskOrderItemReportDO,updateObj);
-            updateObj.setSummaryId(externalOAFlow.getData().getSummaryId());
-            taskOrderItemReportMapper.updateById(updateObj);
+            if (externalOAFlow.getData() == null){
+                log.error(externalOAFlow.getMessage());
+            }else {
+                updateObj.setSummaryId(externalOAFlow.getData().getSummaryId());
+                taskOrderItemReportMapper.updateById(updateObj);
+            }
         } catch (Exception e) {
             log.error("发起oa审核异常", e);
         }

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

@@ -53,4 +53,13 @@ public interface BoilerTaskOrderItemService extends IService<BoilerTaskOrderItem
      */
     PageResult<BoilerTaskOrderItemDO> getBoilerTaskOrderItemPage(BoilerTaskOrderItemPageReqVO pageReqVO);
 
+    /**
+     * 根据任务单号和设备注册号查询任务单设备
+     *
+     * @param taskNo     任务单号
+     * @param registerNo 设备注册号
+     * @return 任务单设备信息
+     */
+    BoilerTaskOrderItemDO getTaskOrderItemByTaskNoAndRegisterNo(String taskNo, String registerNo);
+
 }

+ 18 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderitem/BoilerTaskOrderItemServiceImpl.java

@@ -12,6 +12,7 @@ import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitem.BoilerTas
 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.framework.mybatis.core.query.LambdaQueryWrapperX;
 
 import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderitem.BoilerTaskOrderItemMapper;
 
@@ -72,4 +73,21 @@ public class BoilerTaskOrderItemServiceImpl extends ServiceImpl<BoilerTaskOrderI
         return boilerTaskOrderItemMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public BoilerTaskOrderItemDO getTaskOrderItemByTaskNoAndRegisterNo(String taskNo, String registerNo) {
+        if (taskNo == null || registerNo == null) {
+            return null;
+        }
+        
+        // 先通过任务单号查询任务单ID
+        // 然后通过任务单ID和设备代码查询任务单设备
+        return boilerTaskOrderItemMapper.selectOne(
+                new LambdaQueryWrapperX<BoilerTaskOrderItemDO>()
+                        .eq(BoilerTaskOrderItemDO::getEquipCode, registerNo)
+                        .inSql(BoilerTaskOrderItemDO::getOrderId, 
+                                "SELECT id FROM pressure_task_order WHERE order_no = '" + taskNo + "'")
+                        .last("LIMIT 1")
+        );
+    }
+
 }

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

@@ -584,6 +584,32 @@ public class BoilerTaskOrderItemReportServiceImpl extends ServiceImpl<BoilerTask
                         needUpdateReport.set(true);
                     }
                 });
+        // 找最新的"审批人员"节点的退回评论
+        comments.stream()
+                .filter(comment -> latestRecord == null || comment.getCreateDate().isAfter(latestRecord.getCreateTime()))
+                .filter(c -> c.getComment() != null
+                        && "common.toolbar.stepBack.label".equals(c.getExtAtt3())
+                        && c.getNodeName() != null && c.getNodeName().contains("审批"))
+                .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+                .ifPresent(ratify -> {
+                    reportUpdateWrapper.set(BoilerTaskOrderItemReportDO::getTaskStatus, TaskOrderStatusEnum.REPORT_APPROVAL.getStatus());
+                    reportUpdateWrapper.set(BoilerTaskOrderItemReportDO::getRatifyId, null);
+                    reportUpdateWrapper.set(BoilerTaskOrderItemReportDO::getRatifyTime, null);
+                    needUpdateReport.set(true);
+                });
+        // 找最新的"审核人员"节点的退回评论
+//        comments.stream()
+//                .filter(comment -> latestRecord == null || comment.getCreateDate().isAfter(latestRecord.getCreateTime()))
+//                .filter(c -> c.getComment() != null
+//                        && "common.toolbar.stepBack.label".equals(c.getExtAtt3())
+//                        && c.getNodeName() != null && c.getNodeName().contains("审核"))
+//                .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+//                .ifPresent(ratify -> {
+//                    reportUpdateWrapper.set(BoilerTaskOrderItemReportDO::getTaskStatus, TaskOrderStatusEnum.REPORT_PREPARE.getStatus());
+//                    reportUpdateWrapper.set(BoilerTaskOrderItemReportDO::getApprovalId, null);
+//                    reportUpdateWrapper.set(BoilerTaskOrderItemReportDO::getApprovalTime, null);
+//                    needUpdateReport.set(true);
+//                });
 
         if (needUpdateReport.get()) {
             taskOrderItemReportMapper.update(reportUpdateWrapper);

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

@@ -123,7 +123,7 @@ public class QC12016_202400ReportOFData implements IDynamicOFData {
                         result.put("securityManPhone",equipPipeDO.getSecurityManPhone());
                         result.put("projectName",equipPipeDO.getProjectName());
                         result.put("postalCode",equipPipeDO.getPostalCode());
-                        result.put("pipeUsePlace",equipPipeDO.getPipeUsePlace());
+                        result.put("pipeUsePlace",equipPipeDO.getPipeAddress());
 
                         result.put("installationStatusReg",equipPipeDO.getInstallationStatusReg());
 

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

@@ -110,7 +110,7 @@ public class QC12016_202401JRecordOFData implements IDynamicOFData {
                     result.put("unitAddress", equipPipeDO.getUnitName());
                     result.put("postalCode", equipPipeDO.getPostalCode());
                     result.put("certificateNo", equipPipeDO.getCertificateNo());
-                    result.put("pipeUsePlace", equipPipeDO.getPipeUsePlace());
+                    result.put("pipeUsePlace", equipPipeDO.getPipeAddress());
                 }
 
                 List<PipeTaskOrderItemDetailDO> allDetailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId());

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

@@ -203,7 +203,7 @@ public class QC12024_202400ReportOFData implements IDynamicOFData {
                         result.put("securityManPhone",equipPipeDO.getSecurityManPhone());
                         result.put("projectName",equipPipeDO.getProjectName());
                         result.put("postalCode",equipPipeDO.getPostalCode());
-                        result.put("pipeUsePlace",equipPipeDO.getPipeUsePlace());
+                        result.put("pipeUsePlace",equipPipeDO.getPipeAddress());
                         result.put("value2",equipPipeDO.getLayingMode());
 
                         DictDataRespDTO dictDataRespDTO = dictDataApi.getDictData("PIPE_TYPE",equipPipeDO.getPipeCategory()).getData();

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

@@ -122,7 +122,7 @@ public class QC12024_202403JRecordOFData implements IDynamicOFData {
                     result.put("unitAddress", equipPipeDO.getUnitName());
                     result.put("postalCode", equipPipeDO.getPostalCode());
                     result.put("certificateNo", equipPipeDO.getCertificateNo());
-                    result.put("pipeUsePlace", equipPipeDO.getPipeUsePlace());
+                    result.put("pipeUsePlace", equipPipeDO.getPipeAddress());
                 }
 
                 List<PipeTaskOrderItemDetailDO> allDetailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId());

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

@@ -99,7 +99,7 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                     result.put("pipeAddress",equipPipeDO.getPipeAddress());
                     result.put("securityMan",equipPipeDO.getSecurityMan());
                     result.put("relationDeptName",equipPipeDO.getRelationDeptName());
-                    result.put("securityDept",equipPipeDO.getSecurityDept());
+                    result.put("securityDept",equipPipeDO.getDepartment());
                     result.put("contact",equipPipeDO.getContact());
                     result.put("contactPhone",equipPipeDO.getContactPhone());
                     result.put("projectName",equipPipeDO.getProjectName());

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

@@ -173,13 +173,6 @@ public class QC12171_202401RecordOFData implements IDynamicOFData {
 
                     if (itemDOList.size() > 1) {
                         // 找出全部管道
-                        List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
-                                .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
-                        Map<String, List<EquipPipeDetailDO>> pipeDetailMap = equipPipeDetailMapper.selectList(
-                                        new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId,
-                                                pipeTaskOrderItemDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())))
-                                .stream().collect(Collectors.groupingBy(EquipPipeDetailDO::getEquipPipeId));
-
                         result.put("pipeLevel", "见一览表");
                         result.put("projectName", "见一览表");
                         result.put("equipName", "见一览表");
@@ -193,6 +186,9 @@ public class QC12171_202401RecordOFData implements IDynamicOFData {
                         if (equipPipeDetailDOS.size() == 1) {
                             result.put("equipName", equipPipeDetailDOS.get(0).getPipeName());
                             result.put("pipeLevel", equipPipeDetailDOS.get(0).getPipeLevel());
+                        }else{
+                            result.put("equipName", "见一览表");
+                            result.put("pipeLevel", "见一览表");
                         }
 
                     }

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

@@ -3119,10 +3119,17 @@ public class PipeTaskOrderServiceImpl extends ServiceImpl<PipeTaskOrderMapper, P
      */
     private void sendApproval(PipeTaskOrderItemReportDO taskOrderItemReportDO, PipeTaskOrderItemReportDO updateObj) throws Exception {
         log.info("发起oa审核");
-
+        try {
             ExternalOACreateFlowRes externalOAFlow = createExternalOAFlow(taskOrderItemReportDO, updateObj);
-            updateObj.setSummaryId(externalOAFlow.getData().getSummaryId());
-            taskOrderItemReportMapper.updateById(updateObj);
+            if (externalOAFlow.getData() == null) {
+                log.error(externalOAFlow.getMessage());
+            } else {
+                updateObj.setSummaryId(externalOAFlow.getData().getSummaryId());
+                taskOrderItemReportMapper.updateById(updateObj);
+            }
+        } catch (Exception e) {
+            log.error("发起oa审核异常", e);
+        }
     }
     /**
      * 创建外部OA流程

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

@@ -15,6 +15,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.controller.admin.pipetaskorder.vo.PipeTaskOrderSyncReportVO;
 import cn.start.tz.module.pressure2.controller.appapi.pipetaskorderitemreport.dto.PipeTaskOrderItemReportConclusionReq;
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderitemreport.BoilerTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipecheckhistory.EquipPipeCheckHistoryDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
@@ -287,7 +288,7 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
                     PipeTaskOrderItemReportRecordDO pipeTaskOrderItemReportRecordDO = new PipeTaskOrderItemReportRecordDO();
                     pipeTaskOrderItemReportRecordDO.setReportId(pipeTaskOrderItemReportDO.getId());
                     pipeTaskOrderItemReportRecordDO.setProcess(
-                            comment.getNodeName() != null && comment.getNodeName().contains("审核") ? 700 : 600);
+                            comment.getNodeName() != null && comment.getNodeName().contains("审核") ? 600 : 700);
                     pipeTaskOrderItemReportRecordDO.setRemark(comment.getComment());
                     pipeTaskOrderItemReportRecordDO.setCreateTime(comment.getCreateDate());
                     String userName = comment.getUserName();
@@ -370,6 +371,32 @@ public class PipeTaskOrderItemReportServiceImpl extends ServiceImpl<PipeTaskOrde
                         needUpdateReport.set(true);
                     }
                 });
+        // 找最新的"审批人员"节点的退回评论
+        comments.stream()
+                .filter(comment -> latestRecord == null || comment.getCreateDate().isAfter(latestRecord.getCreateTime()))
+                .filter(c -> c.getComment() != null
+                        && "common.toolbar.stepBack.label".equals(c.getExtAtt3())
+                        && c.getNodeName() != null && c.getNodeName().contains("审批"))
+                .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+                .ifPresent(ratify -> {
+                    reportUpdateWrapper.set(PipeTaskOrderItemReportDO::getTaskStatus, TaskOrderStatusEnum.REPORT_APPROVAL.getStatus());
+                    reportUpdateWrapper.set(PipeTaskOrderItemReportDO::getRatifyId, null);
+                    reportUpdateWrapper.set(PipeTaskOrderItemReportDO::getRatifyTime, null);
+                    needUpdateReport.set(true);
+                });
+        // 找最新的"审核人员"节点的退回评论
+//        comments.stream()
+//                .filter(comment -> latestRecord == null || comment.getCreateDate().isAfter(latestRecord.getCreateTime()))
+//                .filter(c -> c.getComment() != null
+//                        && "common.toolbar.stepBack.label".equals(c.getExtAtt3())
+//                        && c.getNodeName() != null && c.getNodeName().contains("审核"))
+//                .max(Comparator.comparing(ExternalOACommentInfoRes::getCreateDate))
+//                .ifPresent(ratify -> {
+//                    reportUpdateWrapper.set(PipeTaskOrderItemReportDO::getTaskStatus, TaskOrderStatusEnum.REPORT_PREPARE.getStatus());
+//                    reportUpdateWrapper.set(PipeTaskOrderItemReportDO::getApprovalId, null);
+//                    reportUpdateWrapper.set(PipeTaskOrderItemReportDO::getApprovalTime, null);
+//                    needUpdateReport.set(true);
+//                });
 
         if (needUpdateReport.get()) {
             taskOrderItemReportMapper.update(reportUpdateWrapper);

+ 0 - 19
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/SynchronizationService.java

@@ -24,23 +24,4 @@ public interface SynchronizationService {
      */
     boolean uploadReport(ReportDto reportDto);
 
-    /**
-     * 同步锅炉检验任务
-     */
-    void checkTaskBoiler(String updateDate);
-
-    /**
-     * 同步管道检验任务
-     */
-    void checkTaskPipe(String updateDate);
-
-    /**
-     * 同步锅炉任务设备
-     */
-    void taskEquipmentBoiler(String updateDate);
-
-    /**
-     * 同步管道任务设备
-     */
-    void taskEquipmentPipe(String updateDate);
 }

+ 0 - 221
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/SynchronizationServiceImpl.java

@@ -252,227 +252,6 @@ public class SynchronizationServiceImpl implements SynchronizationService {
         return false;
     }
 
-    /**
-     * 同步锅炉检验任务数据
-     *
-     * @param updateDate 更新时间,只同步此时间之后的数据
-     */
-    @Override
-    public void checkTaskBoiler(String updateDate) {
-        log.info("同步锅炉检验任务定时任务执行中...");
-        
-        Map<String, Object> form = new HashMap<>();
-        form.put("pageNum", 0);
-        form.put("pageSize", DEFAULT_PAGE_SIZE);
-        if (updateDate != null) {
-            form.put("UPDATEDATE_gt", updateDate);
-        }
-        // 添加锅炉类型过滤条件
-        form.put("CHECK_TASK_TYPE", "锅炉");
-        
-        String checkTaskData = getRequest("chcektask", form);
-        ResponseDto checkTaskResponseDto = JSONObject.parseObject(checkTaskData, ResponseDto.class);
-        log.info("同步数据中台返回锅炉检验任务数据:{}", checkTaskResponseDto);
-        
-        if (checkTaskResponseDto.getTotal() > 0 && !checkTaskResponseDto.getData().isEmpty()) {
-            List<CheckTaskDto> list = checkTaskResponseDto.getData().stream()
-                    .map(data -> ((JSONObject) data).toJavaObject(CheckTaskDto.class))
-                    .toList();
-            
-            log.info("同步锅炉检验任务数据共{}条", list.size());
-            
-            // 这里可以根据业务需求进行处理,例如:
-            // 1. 保存到本地数据库
-            // 2. 更新相关状态
-            // 3. 触发后续业务流程
-            
-            for (CheckTaskDto checkTaskDto : list) {
-                try {
-                    // 处理单个检验任务
-                    processCheckTask(checkTaskDto, "BOILER");
-                } catch (Exception e) {
-                    log.error("处理锅炉检验任务失败,任务号:{}", checkTaskDto.getTaskNo(), e);
-                }
-            }
-        }
-    }
-
-    /**
-     * 同步管道检验任务数据
-     *
-     * @param updateDate 更新时间,只同步此时间之后的数据
-     */
-    @Override
-    public void checkTaskPipe(String updateDate) {
-        log.info("同步管道检验任务定时任务执行中...");
-        
-        Map<String, Object> form = new HashMap<>();
-        form.put("pageNum", 0);
-        form.put("pageSize", DEFAULT_PAGE_SIZE);
-        if (updateDate != null) {
-            form.put("UPDATEDATE_gt", updateDate);
-        }
-        // 添加管道类型过滤条件
-        form.put("CHECK_TASK_TYPE", "管道");
-        
-        String checkTaskData = getRequest("chcektask", form);
-        ResponseDto checkTaskResponseDto = JSONObject.parseObject(checkTaskData, ResponseDto.class);
-        log.info("同步数据中台返回管道检验任务数据:{}", checkTaskResponseDto);
-        
-        if (checkTaskResponseDto.getTotal() > 0 && !checkTaskResponseDto.getData().isEmpty()) {
-            List<CheckTaskDto> list = checkTaskResponseDto.getData().stream()
-                    .map(data -> ((JSONObject) data).toJavaObject(CheckTaskDto.class))
-                    .toList();
-            
-            log.info("同步管道检验任务数据共{}条", list.size());
-            
-            // 这里可以根据业务需求进行处理,例如:
-            // 1. 保存到本地数据库
-            // 2. 更新相关状态
-            // 3. 触发后续业务流程
-            
-            for (CheckTaskDto checkTaskDto : list) {
-                try {
-                    // 处理单个检验任务
-                    processCheckTask(checkTaskDto, "PIPE");
-                } catch (Exception e) {
-                    log.error("处理管道检验任务失败,任务号:{}", checkTaskDto.getTaskNo(), e);
-                }
-            }
-        }
-    }
-
-    /**
-     * 处理单个检验任务
-     *
-     * @param checkTaskDto 检验任务DTO
-     * @param taskType     任务类型(BOILER/PIPE)
-     */
-    private void processCheckTask(CheckTaskDto checkTaskDto, String taskType) {
-        log.info("处理{}检验任务,任务号:{}", taskType, checkTaskDto.getTaskNo());
-        
-        // 这里可以实现具体的业务逻辑,例如:
-        // 1. 根据任务号查询本地是否存在该任务
-        // 2. 如果存在则更新,不存在则新增
-        // 3. 关联相关的设备信息
-        // 4. 更新单位信息等
-        
-        // 示例:记录日志
-        log.info("检验任务详情 - 任务号:{}, 单位:{}, 联系人:{}, 检验日期:{}",
-                checkTaskDto.getTaskNo(),
-                checkTaskDto.getUnitName(),
-                checkTaskDto.getLinkMan(),
-                checkTaskDto.getCheckDate());
-    }
-
-    /**
-     * 同步锅炉任务设备数据
-     *
-     * @param updateDate 更新时间,只同步此时间之后的数据
-     */
-    @Override
-    public void taskEquipmentBoiler(String updateDate) {
-        log.info("同步锅炉任务设备定时任务执行中...");
-        
-        Map<String, Object> form = new HashMap<>();
-        form.put("pageNum", 0);
-        form.put("pageSize", DEFAULT_PAGE_SIZE);
-        if (updateDate != null) {
-            form.put("UPDATEDATE_gt", updateDate);
-        }
-        // 添加设备类型过滤条件 - 锅炉
-        form.put("EQUIPMENT_TYPE", "锅炉");
-        
-        String taskEquipmentData = getRequest("task_equipment", form);
-        ResponseDto taskEquipmentResponseDto = JSONObject.parseObject(taskEquipmentData, ResponseDto.class);
-        log.info("同步数据中台返回锅炉任务设备数据:{}", taskEquipmentResponseDto);
-        
-        if (taskEquipmentResponseDto.getTotal() > 0 && !taskEquipmentResponseDto.getData().isEmpty()) {
-            List<TaskEquipmentDto> list = taskEquipmentResponseDto.getData().stream()
-                    .map(data -> ((JSONObject) data).toJavaObject(TaskEquipmentDto.class))
-                    .toList();
-            
-            log.info("同步锅炉任务设备数据共{}条", list.size());
-            
-            for (TaskEquipmentDto taskEquipmentDto : list) {
-                try {
-                    // 处理单个任务设备
-                    processTaskEquipment(taskEquipmentDto, "BOILER");
-                } catch (Exception e) {
-                    log.error("处理锅炉任务设备失败,任务号:{},设备注册号:{}", 
-                            taskEquipmentDto.getTaskNo(), taskEquipmentDto.getRegisterNo(), e);
-                }
-            }
-        }
-    }
-
-    /**
-     * 同步管道任务设备数据
-     *
-     * @param updateDate 更新时间,只同步此时间之后的数据
-     */
-    @Override
-    public void taskEquipmentPipe(String updateDate) {
-        log.info("同步管道任务设备定时任务执行中...");
-        
-        Map<String, Object> form = new HashMap<>();
-        form.put("pageNum", 0);
-        form.put("pageSize", DEFAULT_PAGE_SIZE);
-        if (updateDate != null) {
-            form.put("UPDATEDATE_gt", updateDate);
-        }
-        // 添加设备类型过滤条件 - 管道
-        form.put("EQUIPMENT_TYPE", "管道");
-        
-        String taskEquipmentData = getRequest("task_equipment", form);
-        ResponseDto taskEquipmentResponseDto = JSONObject.parseObject(taskEquipmentData, ResponseDto.class);
-        log.info("同步数据中台返回管道任务设备数据:{}", taskEquipmentResponseDto);
-        
-        if (taskEquipmentResponseDto.getTotal() > 0 && !taskEquipmentResponseDto.getData().isEmpty()) {
-            List<TaskEquipmentDto> list = taskEquipmentResponseDto.getData().stream()
-                    .map(data -> ((JSONObject) data).toJavaObject(TaskEquipmentDto.class))
-                    .toList();
-            
-            log.info("同步管道任务设备数据共{}条", list.size());
-            
-            for (TaskEquipmentDto taskEquipmentDto : list) {
-                try {
-                    // 处理单个任务设备
-                    processTaskEquipment(taskEquipmentDto, "PIPE");
-                } catch (Exception e) {
-                    log.error("处理管道任务设备失败,任务号:{},设备注册号:{}", 
-                            taskEquipmentDto.getTaskNo(), taskEquipmentDto.getRegisterNo(), e);
-                }
-            }
-        }
-    }
-
-    /**
-     * 处理单个任务设备
-     *
-     * @param taskEquipmentDto 任务设备DTO
-     * @param equipmentType    设备类型(BOILER/PIPE)
-     */
-    private void processTaskEquipment(TaskEquipmentDto taskEquipmentDto, String equipmentType) {
-        log.info("处理{}任务设备,任务号:{},设备注册号:{}", 
-                equipmentType, taskEquipmentDto.getTaskNo(), taskEquipmentDto.getRegisterNo());
-        
-        // 这里可以实现具体的业务逻辑,例如:
-        // 1. 根据任务号和设备注册号查询本地是否存在该任务设备
-        // 2. 如果存在则更新,不存在则新增
-        // 3. 关联相关的检验任务信息
-        // 4. 更新费用信息、检验项目等
-        
-        // 示例:记录日志
-        log.info("任务设备详情 - 任务号:{}, 设备注册号:{}, 主检员:{}, 法定费用:{}, 服务费用:{}, 检验项目:{}",
-                taskEquipmentDto.getTaskNo(),
-                taskEquipmentDto.getRegisterNo(),
-                taskEquipmentDto.getMasterChecker(),
-                taskEquipmentDto.getLegalTotalFee(),
-                taskEquipmentDto.getServiceTotalFee(),
-                taskEquipmentDto.getCheckItem());
-    }
-
 
     /**
      * 发起get请求到数据中台

+ 193 - 52
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/dto/CheckTaskDto.java

@@ -9,89 +9,230 @@ import java.math.BigDecimal;
  */
 @Data
 public class CheckTaskDto {
+    /**
+     * 系统流水号
+     */
     private Long id;
+
+    /**
+     * 任务单号
+     */
     private String taskNo;
+
+    /**
+     * 告知单id
+     */
     private Long apprizeId;
+
+    /**
+     * 告知单号(样品名称3)
+     */
     private String apprizeNo;
+
+    /**
+     * 合同号
+     */
     private String contractNo;
+
+    /**
+     * 监检登记号(样品规格3)
+     */
     private String superviseNo;
+
+    /**
+     * 单位代码
+     */
     private String unitCode;
+
+    /**
+     * 单位名称
+     */
     private String unitName;
+
+    /**
+     * 联系人
+     */
     private String linkMan;
+
+    /**
+     * 联系部门
+     */
     private String linkBranch;
+
+    /**
+     * 联系电话
+     */
     private String tel;
+
+    /**
+     * 手机号码
+     */
     private String mobile;
+
+    /**
+     * 地址
+     */
     private String address;
+
+    /**
+     * 邮政编码
+     */
     private String zipCode;
+
+    /**
+     * 有使用证(样品名称1)
+     */
     private String hasUseNo;
+
+    /**
+     * 未领证(样品规格1)
+     */
     private String withoutUseNo;
-    private String security; // 0否 1是
+
+    /**
+     * 安全附件 0 否 1 是
+     */
+    private String security;
+
+    /**
+     * 交通工具
+     */
     private String traffic;
+
+    /**
+     * 检验日期
+     */
     private String checkDate;
+
+    /**
+     * 收费类型
+     */
     private String feeType;
+
+    /**
+     * 受理方式
+     */
     private String acceptType;
+
+    /**
+     * 报告发送方式
+     */
     private String sendType;
+
+    /**
+     * 约检类型
+     */
     private String checkType;
+
+    /**
+     * 其他信息 如果是安装就把 appnizeInfo.installKind 信息带过来(检测项目3)
+     */
     private String others;
+
+    /**
+     * 备注(检测方法3)
+     */
     private String remark;
-    private String isWaterOil; // 0不是 1是
+
+    /**
+     * 是否是水质或油取样 0 不是 1 是
+     */
+    private String isWaterOil;
+
+    /**
+     * 水质或者油检测人(样品数量1)
+     */
     private String woChecker;
+
+    /**
+     * 经办人
+     */
     private String userId;
+
+    /**
+     * 输入日期
+     */
     private String inputDate;
+
+    /**
+     * 主检验员 可以有多个 中间是,分割
+     */
     private String masterChecker;
+
+    /**
+     * 检验员,可以有多个 中间是,分割
+     */
     private String checker;
+
+    /**
+     * 任务状态 通过,未通过
+     */
     private String status;
+
+    /**
+     * 审核人
+     */
     private String assessor;
+
+    /**
+     * 审核时间
+     */
     private String auditingDate;
+
+    /**
+     * 主检验人是否确认 确认 未确认 作废
+     */
     private String confirm;
-    private String affirmant;
-    private String confirmDate;
-    private String chargeNo;
-    private String isBalance;
-    private BigDecimal legalFee;
-    private BigDecimal serviceFee;
-    private String cancelUser;
-    private String cancelDate;
-    private String cancelReason;
-    private Integer safetyNums;
-    private String getDate;
-    private String reAuditingFlag;
-    private String reAssessor;
-    private String reAuditingDate;
-    private String isAdjust;
-    private String isTag;
-    private String isCheckMobileNow;
-    private String printStatus;
-    private String printDate;
-    private String sendNo;
-    private String isOver20Years;
-    private String isUpload;
-    private String isCurrentInstall;
-    private String installType;
-    private String isLiquidPressure;
-    private String isSubsidyStatistics;
-    private String planId;
-    private String checkTaskType;
-    private String eqRegisterNo;
-    private String safeReceive;
-    private String safeAppearanceCheck;
-    private String safeCheckOut;
-    private String safeSeal;
-    private String safeProofread;
-    private BigDecimal receivableFee;
-    private BigDecimal deratePercent;
-    private String azxkzbh;
-    private String checkDate2;
-    private String aqfsjfs;
-    private String azdw;
-    private String agent;
-    private String unitNameBill;
-    private String flag;
-    private String isLegalFree;
-    private BigDecimal legalFree;
-    private String feeNature;
-    private String apprVolNo;
-    private String orgName;
-    private String changeStatus;
-    private String oldTaskNo;
+
+    // 以下字段在提供的表格中未详细说明,补充通用注释
+    private String affirmant; // 确认人
+    private String confirmDate; // 确认日期
+    private String chargeNo; // 缴费单号
+    private String isBalance; // 是否结算
+    private BigDecimal legalFee; // 法定费用
+    private BigDecimal serviceFee; // 服务费用
+    private String cancelUser; // 取消人
+    private String cancelDate; // 取消日期
+    private String cancelReason; // 取消原因
+    private Integer safetyNums; // 安全附件数量
+    private String getDate; // 领取日期
+    private String reAuditingFlag; // 复审标志
+    private String reAssessor; // 复审人
+    private String reAuditingDate; // 复审时间
+    private String isAdjust; // 是否调整
+    private String isTag; // 是否标记
+    private String isCheckMobileNow; // 是否现在检验移动端
+    private String printStatus; // 打印状态
+    private String printDate; // 打印日期
+    private String sendNo; // 发送编号
+    private String isOver20Years; // 是否超过20年
+    private String isUpload; // 是否上传
+    private String isCurrentInstall; // 是否当前安装
+    private String installType; // 安装类型
+    private String isLiquidPressure; // 是否液压
+    private String isSubsidyStatistics; // 是否补贴统计
+    private String planId; // 计划ID
+    private String checkTaskType; // 检验任务类型
+    private String eqRegisterNo; // 设备注册号
+    private String safeReceive; // 安全接收
+    private String safeAppearanceCheck; // 安全外观检查
+    private String safeCheckOut; // 安全出库
+    private String safeSeal; // 安全封印
+    private String safeProofread; // 安全校对
+    private BigDecimal receivableFee; // 应收费用
+    private BigDecimal deratePercent; // 减免百分比
+    private String azxkzbh; // 安装许可证书编号
+    private String checkDate2; // 检验日期2
+    private String aqfsjfs; // 安全法及方式
+    private String azdw; // 安装单位
+    private String agent; // 代理人
+    private String unitNameBill; // 账单单位名称
+    private String flag; // 标志
+    private String isLegalFree; // 是否法定免费
+    private BigDecimal legalFree; // 法定免费金额
+    private String feeNature; // 费用性质
+    private String apprVolNo; // 告知单卷号
+    private String orgName; // 组织名称
+    private String changeStatus; // 变更状态
+    private String oldTaskNo; // 旧任务单号
 }

+ 27 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/dto/InformResponseVO.java

@@ -0,0 +1,27 @@
+package cn.start.tz.module.pressure2.service.synchronization.dto;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 通用接口响应VO
+ */
+@Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class InformResponseVO<T> {
+
+    /**
+     * 总数量
+     */
+    @JsonProperty("total")
+    private Integer total;
+
+    /**
+     * 数据列表
+     */
+    @JsonProperty("data")
+    private List<T> data;
+}

+ 119 - 0
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/dto/TaskEquipmentDto.java

@@ -9,34 +9,153 @@ import java.math.BigDecimal;
  */
 @Data
 public class TaskEquipmentDto {
+    /**
+     * 主键ID
+     */
     private Long id;
+    
+    /**
+     * 任务单号
+     */
     private String taskNo;
+    
+    /**
+     * 记录编号
+     */
     private String recordNo;
+    
+    /**
+     * 设备注册代码
+     */
     private String registerNo;
+    
+    /**
+     * 设备分类 对应代码表的设备分类
+     */
     private String equipmentType;
+    
+    /**
+     * 设备所在的表
+     */
     private String tableName;
+    
+    /**
+     * 设备主检测人
+     */
     private String masterChecker;
+    
+    /**
+     * 约检类型
+     */
     private String typeCode;
+    
+    /**
+     * 约检项目 多个项目中间使用,分割
+     */
     private String itemCodes;
+    
+    /**
+     * 约检项目名称
+     */
     private String checkItem;
+    
+    /**
+     * 法定收费金额合计
+     */
     private BigDecimal legalTotalFee;
+    
+    /**
+     * 服务收费金额合计
+     */
     private BigDecimal serviceTotalFee;
+    
+    /**
+     * 是否是计划做的约检 0 不是做计划 1 是计划的
+     */
     private String isPlan;
+    
+    /**
+     * 数据是否上传 0 是没有上传 1 上传了
+     */
     private String isUpload;
+    
+    /**
+     * 是否是耐压测试,0 表示没有 1 表示有
+     */
     private String hasPressure;
+    
+    /**
+     * 本所 客户
+     */
     private String isClient;
+    
+    /**
+     * 耐压负责人
+     */
     private String pressureUser;
+    
+    /**
+     * 检验项目名称
+     */
     private String itemNames;
+    
+    /**
+     * 检验项目(含收费信息)
+     */
     private String feeItem;
+    
+    /**
+     * 预收费项目
+     */
     private String aheadFeeItem;
+    
+    /**
+     * 检验项目费用说明
+     */
     private String deviceId;
+    
+    /**
+     * 是否交换 0 为未交换,1 已交换
+     */
     private String isExchange;
+    
+    /**
+     * 是否提交液压试验
+     */
     private String isWaterSubmit;
+    
+    /**
+     * 试验结论及收费
+     */
     private String checkResultFee;
+    
+    /**
+     * 是否复检 0 否 1 是
+     */
     private String isCheck;
+    
+    /**
+     * 液压检验员
+     */
     private String waterPressChecker;
+    
+    /**
+     * 液压检验日期
+     */
     private String waterPressDate;
+    
+    /**
+     * 结论及收费
+     */
     private String resultAndFee;
+    
+    /**
+     * 告知 id/用于管道安装阶段完成判断
+     */
     private String apprizeInfoId;
+    
+    /**
+     * 本受检装置的责任部门
+     */
     private String relevantDept;
 }

+ 4 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/taskordernontaxrecord/TaskOrderNonTaxRecordServiceImpl.java

@@ -475,7 +475,10 @@ public class TaskOrderNonTaxRecordServiceImpl extends ServiceImpl<TaskOrderNonTa
         // 查询关联的申请记录,判断是否已拆单
         LambdaQueryWrapperX<TaskOrderNonTaxApplyRecordDO> recordWrapper = new LambdaQueryWrapperX<>();
         recordWrapper.eq(TaskOrderNonTaxApplyRecordDO::getRecordId, id);
-        TaskOrderNonTaxApplyRecordDO applyRecord = taskOrderNonTaxApplyRecordMapper.selectOne(recordWrapper);
+        List<TaskOrderNonTaxApplyRecordDO> applyRecords = taskOrderNonTaxApplyRecordMapper.selectList(recordWrapper);
+        
+        // 取第一条记录进行判断(如果存在多条记录)
+        TaskOrderNonTaxApplyRecordDO applyRecord = applyRecords != null && !applyRecords.isEmpty() ? applyRecords.get(0) : null;
 
         boolean isOrderSplit = applyRecord != null && IsYesOrNoEnum.YES.getKey().equals(applyRecord.getIsOrderSplit());
 

+ 2 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/thirdparty/financialsystem/FinancialSystemServiceImpl.java

@@ -593,8 +593,8 @@ public class FinancialSystemServiceImpl implements FinancialSystemService {
             String year = fullYear.substring(2, 4);
             String seriNumber = redisService.generateSerialNum("FINANCIAL_NOTICE_NO", 7);
             // 6+2+3+8
-            // 机电0+7自增; 容器1+7位自增
-            noticeNo = districtNO + year + unitNumber + "1" + seriNumber;
+            // 机电0+7自增; 容器1+7位自增;锅炉管道暂定2+7位自增,待确认
+            noticeNo = districtNO + year + unitNumber + "2" + seriNumber;
             String jym = getBillNumVerifyCode(noticeNo);//校验码
             noticeNo = noticeNo + jym;
             if (noticeNo.length() > 20) {

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

@@ -114,13 +114,22 @@
                     #{listItem}
                 </foreach>
             </if>
-            <if test="nextDate != null and nextDate.size() >= 2">
+            <if test="nextDate != null and nextDate.size() >= 2 and (order == null or order == '' or (sort != 'nextInCheckDate' and sort != 'nextOutCheckDate' and sort != 'nextPressureCheckDate'))">
                 AND (
                 (eb.NEXT_IN_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 OR (eb.NEXT_OUT_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 OR (eb.NEXT_PRESSURE_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 )
             </if>
+            <if test="nextDate != null and nextDate.size() >= 2 and sort == 'nextInCheckDate' and order != null or order != ''">
+                AND eb.NEXT_IN_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
+            </if>
+            <if test="nextDate != null and nextDate.size() >= 2 and sort == 'nextOutCheckDate' and order != null or order != ''">
+                AND eb.NEXT_OUT_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
+            </if>
+            <if test="nextDate != null and nextDate.size() >= 2 and sort == 'nextPressureCheckDate' and order != null or order != ''">
+                AND eb.NEXT_PRESSURE_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
+            </if>
             <if test="typeList != null and typeList.size() > 0">
                 AND eb.type IN
                 <foreach close=")" collection="typeList" item="listItem" open="(" separator=",">
@@ -234,13 +243,22 @@
                     #{listItem}
                 </foreach>
             </if>
-            <if test="nextDate != null and nextDate.size() >= 2">
+            <if test="nextDate != null and nextDate.size() >= 2 and (order == null or order == '' or (sort != 'nextInCheckDate' and sort != 'nextOutCheckDate' and sort != 'nextPressureCheckDate'))">
                 AND (
                 (eb.NEXT_IN_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 OR (eb.NEXT_OUT_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 OR (eb.NEXT_PRESSURE_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 )
             </if>
+            <if test="nextDate != null and nextDate.size() >= 2 and sort == 'nextInCheckDate' and order != null or order != ''">
+                AND eb.NEXT_IN_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
+            </if>
+            <if test="nextDate != null and nextDate.size() >= 2 and sort == 'nextOutCheckDate' and order != null or order != ''">
+                AND eb.NEXT_OUT_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
+            </if>
+            <if test="nextDate != null and nextDate.size() >= 2 and sort == 'nextPressureCheckDate' and order != null or order != ''">
+                AND eb.NEXT_PRESSURE_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
+            </if>
             <if test="typeList != null and typeList.size() > 0">
                 AND eb.type IN
                 <foreach close=")" collection="typeList" item="listItem" open="(" separator=",">

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

@@ -385,16 +385,16 @@
                     #{listItem}
                 </foreach>
             </if>
-            <if test="nextDate != null and nextDate.size() >= 2 and (order == null or order == '')">
+            <if test="nextDate != null and nextDate.size() >= 2 and ((sort != 'nextLegalCheckDate' and sort != 'nextYearCheckDate') or order == null or order == '')">
                 AND (
                 (eb.NEXT_LEGAL_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 OR (eb.NEXT_YEAR_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 )
             </if>
-            <if test="nextDate != null and nextDate.size() >=2 and sort != null and sort == 'nextLegalCheckDate' and order != null and order != ''">
+            <if test="nextDate != null and nextDate.size() >=2 and sort == 'nextLegalCheckDate' and order != null and order != ''">
                 AND eb.NEXT_LEGAL_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
             </if>
-            <if test="nextDate != null and nextDate.size() >=2 and sort != null and sort == 'nextYearCheckDate' and order != null and order != ''">
+            <if test="nextDate != null and nextDate.size() >=2 and sort == 'nextYearCheckDate' and order != null and order != ''">
                 AND eb.NEXT_YEAR_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
             </if>
             <if test="typeList != null and typeList.size() > 0">
@@ -490,16 +490,16 @@
                     #{listItem}
                 </foreach>
             </if>
-            <if test="nextDate != null and nextDate.size() >= 2 and (order == null or order == '')">
+            <if test="nextDate != null and nextDate.size() >= 2 and ((sort != 'nextLegalCheckDate' and sort != 'nextYearCheckDate') or order == null or order == '')">
                 AND (
                 (eb.NEXT_LEGAL_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 OR (eb.NEXT_YEAR_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]})
                 )
             </if>
-            <if test="nextDate != null and nextDate.size() >=2 and sort != null and sort == 'nextLegalCheckDate' and order != null and order != ''">
+            <if test="nextDate != null and nextDate.size() >=2 and sort == 'nextLegalCheckDate' and order != null and order != ''">
                 AND eb.NEXT_LEGAL_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
             </if>
-            <if test="nextDate != null and nextDate.size() >=2 and sort != null and sort == 'nextYearCheckDate' and order != null and order != ''">
+            <if test="nextDate != null and nextDate.size() >=2 and sort == 'nextYearCheckDate' and order != null and order != ''">
                 AND eb.NEXT_YEAR_CHECK_DATE BETWEEN #{nextDate[0]} AND #{nextDate[1]}
             </if>
             <if test="typeList != null and typeList.size() > 0">