瀏覽代碼

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

yangguanjin 4 天之前
父節點
當前提交
d7ade4012b
共有 16 個文件被更改,包括 1838 次插入1699 次删除
  1. 13 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/controller/admin/synchronization/SynchronizationController.java
  2. 1575 1502
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/SyncTaskPipeEquipmentJob.java
  3. 2 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/UpdateEquipJob.java
  4. 2 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderissuereport/BoilerTaskOrderIssueReportServiceImpl.java
  5. 9 6
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC47037_202400RecordOFData.java
  6. 33 29
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12016_202401JRecordOFData.java
  7. 37 31
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12024_202403JRecordOFData.java
  8. 25 10
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12116_202400RecordOFData.java
  9. 28 18
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12171_202401RecordOFData.java
  10. 8 31
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12184_202401JRecordOFData.java
  11. 44 33
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictb/DynamicTbServiceImpl.java
  12. 1 1
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pdf/PdfService.java
  13. 33 11
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pdf/PdfServiceImpl.java
  14. 2 2
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderissuereport/PipeTaskOrderIssueReportServiceImpl.java
  15. 12 8
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/SynchronizationService.java
  16. 14 11
      tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/synchronization/SynchronizationServiceImpl.java

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

@@ -20,15 +20,26 @@ public class SynchronizationController {
     @Resource
     private SynchronizationService synchronizationService;
 
+    @GetMapping("/boiler/{REGISTERNO}")
+    public CommonResult<Object> boiler(@PathVariable String REGISTERNO) {
+        synchronizationService.boiler(null, REGISTERNO);
+        return CommonResult.success(null);
+    }
+
+    @GetMapping("/pipe/{PROJECT_NO}")
+    public CommonResult<Object> pipe(@PathVariable String PROJECT_NO) {
+        synchronizationService.pipe(null, PROJECT_NO);
+        return CommonResult.success(null);
+    }
     @GetMapping("/boiler")
     public CommonResult<Object> boiler() {
-        synchronizationService.boiler(null);
+        synchronizationService.boiler(null, null);
         return CommonResult.success(null);
     }
 
     @GetMapping("/pipe")
     public CommonResult<Object> pipe() {
-        synchronizationService.pipe(null);
+        synchronizationService.pipe(null, null);
         return CommonResult.success(null);
     }
 

文件差異過大導致無法顯示
+ 1575 - 1502
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/SyncTaskPipeEquipmentJob.java


+ 2 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/framework/cron/UpdateEquipJob.java

@@ -35,7 +35,7 @@ public class UpdateEquipJob {
         log.info("更新设备定时任务执行中...");
         DateTime yesterday = DateUtil.yesterday();
         String date = DateUtil.formatDate(yesterday);
-        synchronizationService.boiler(date);
-        synchronizationService.pipe(date);
+        synchronizationService.boiler(date, null);
+        synchronizationService.pipe(date, null);
     }
 }

+ 2 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/boilertaskorderissuereport/BoilerTaskOrderIssueReportServiceImpl.java

@@ -977,8 +977,8 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
                 qrCodeValuesDTO.setPageno("1");
                 qrCodeValuesDTO.setWidth(71);
                 qrCodeValuesDTO.setHeight(71);
-                qrCodeValuesDTO.setX("360");
-                qrCodeValuesDTO.setY("590");
+                qrCodeValuesDTO.setX("370");
+                qrCodeValuesDTO.setY("600");
 
                 resultByte = this.sign(pdf, valuesDTOList, qrCodeValuesDTO);
                 log.info("签章成功");

+ 9 - 6
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/comm/QC47037_202400RecordOFData.java

@@ -171,18 +171,21 @@ public class QC47037_202400RecordOFData implements IDynamicOFData {
 
                 List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
                         .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
+
+                EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
+                if (equipPipeDO != null) {
+                    result.put("unitName", equipPipeDO.getUnitName());
+                }
+
                 if (!itemDOList.isEmpty()){
                     //设备信息
                     if (itemDOList.size() > 1){
                         result.put("equipCode","见一览表");
                         result.put("productCode","见一览表");
-                        result.put("unitName","见一览表");
                     }else{
-                        EquipPipeDO equipDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
-                        if (equipDO != null){
-                            result.put("equipCode",equipDO.getProjectNo());
-                            result.put("productCode",equipDO.getCertificateNo());
-                            result.put("unitName",equipDO.getUnitName());
+                        if (equipPipeDO != null){
+                            result.put("equipCode",equipPipeDO.getProjectNo());
+                            result.put("productCode",equipPipeDO.getCertificateNo());
                         }
                     }
                 }

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

@@ -107,7 +107,7 @@ public class QC12016_202401JRecordOFData implements IDynamicOFData {
                 if (equipPipeDO != null) {
                     result.put("unitCode", equipPipeDO.getUnitCode());
                     result.put("unitName", equipPipeDO.getUnitName());
-                    result.put("unitAddress", equipPipeDO.getUnitName());
+                    result.put("unitAddress", equipPipeDO.getUnitAddress());
                     result.put("postalCode", equipPipeDO.getPostalCode());
                     result.put("certificateNo", equipPipeDO.getCertificateNo());
                     result.put("pipeUsePlace", equipPipeDO.getPipeAddress());
@@ -119,42 +119,38 @@ public class QC12016_202401JRecordOFData implements IDynamicOFData {
                     double sum = equipPipeDetailDOList.stream().mapToDouble(equipPipeDetailDO -> equipPipeDetailDO.getPipeLength() != null ? equipPipeDetailDO.getPipeLength().doubleValue() : 0.0).sum();
                     result.put("pipeLengthTotal", String.valueOf(sum));
                 }
+                //获取约检管线
+                if (!allDetailDOS.isEmpty()){
+
+                    List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>()
+                            .in(EquipPipeDetailDO::getId, allDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
+                    if (equipPipeDetailDOList.size() > 1){
+                        result.put("pipeName","见一览表" );
+                    }else if (equipPipeDetailDOList.size() == 1){
+                        result.put("pipeName", equipPipeDetailDOList.get(0).getPipeName());
+                    }
+
+                    if (!equipPipeDetailDOList.isEmpty()) {
+                        // 判断pipeLevel是否相同
+                        String pipeLevelValue;
+                        Set<String> pipeLevels = equipPipeDetailDOList.stream()
+                                .map(EquipPipeDetailDO::getPipeLevel)
+                                .filter(Objects::nonNull)
+                                .collect(Collectors.toSet());
+                        // 如果只有一个唯一的pipeLevel值,则使用该值;否则设置为"见一览表"
+                        pipeLevelValue = pipeLevels.size() == 1 ? pipeLevels.iterator().next() : "见一览表";
+                        result.put("pipeLevel", pipeLevelValue);
+                    }
+
+                }
 
                 if (itemDOList.size() > 1){
-                    result.put("pipeLevel", "见一览表");
                     result.put("projectNo", "见一览表");
                     result.put("projectName", "见一览表");
-                    result.put("pipeName", "见一览表");
                 }else {
                     if (equipPipeDO != null){
                         result.put("projectNo", equipPipeDO.getProjectNo());
                         result.put("projectName", equipPipeDO.getProjectName());
-
-                        //获取约检管线
-                        List<PipeTaskOrderItemDetailDO> detailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId());
-                        if (!detailDOS.isEmpty()){
-
-                            List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>()
-                                    .in(EquipPipeDetailDO::getId, detailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
-                            if (equipPipeDetailDOList.size() > 1){
-                                result.put("pipeName","见一览表" );
-                            }else if (equipPipeDetailDOList.size() == 1){
-                                result.put("pipeName", equipPipeDetailDOList.get(0).getPipeName());
-                            }
-
-                            if (!equipPipeDetailDOList.isEmpty()) {
-                                // 判断pipeLevel是否相同
-                                String pipeLevelValue;
-                                Set<String> pipeLevels = equipPipeDetailDOList.stream()
-                                        .map(EquipPipeDetailDO::getPipeLevel)
-                                        .filter(Objects::nonNull)
-                                        .collect(Collectors.toSet());
-                                // 如果只有一个唯一的pipeLevel值,则使用该值;否则设置为"见一览表"
-                                pipeLevelValue = pipeLevels.size() == 1 ? pipeLevels.iterator().next() : "见一览表";
-                                result.put("pipeLevel", pipeLevelValue);
-                            }
-
-                        }
                     }
                 }
 
@@ -169,6 +165,14 @@ public class QC12016_202401JRecordOFData implements IDynamicOFData {
                     checkDateStr += " 至 " + orderInputDO.getEndCheckDate().format(dateFormat);
                 }
                 result.put("checkDateEnd",checkDateStr);
+
+                if (taskOrderDO.getManagerId() != null){
+                    AdminUserRespDTO userInfo = adminUserApi.getUser(taskOrderDO.getManagerId()).getData();
+                    if (userInfo != null) {
+                        result.put("checkName", userInfo.getSignUrl());
+                    }
+                }
+
             }
 
             //审核人员信息

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

@@ -134,51 +134,57 @@ public class QC12024_202403JRecordOFData implements IDynamicOFData {
                     result.put("undergroundLength", String.valueOf(sum1));
                 }
 
+                //获取约检管线
+                if (!allDetailDOS.isEmpty()){
+
+                    List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>()
+                            .in(EquipPipeDetailDO::getId, allDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
+                    if (equipPipeDetailDOList.size() > 1){
+                        result.put("pipeName","见一览表" );
+                        result.put("designLifeYears", "-");
+                    }else if (equipPipeDetailDOList.size() == 1){
+                        result.put("pipeName", equipPipeDetailDOList.get(0).getPipeName());
+                        result.put("designLifeYears", equipPipeDetailDOList.get(0).getDesignLifeYears());
+                    }
+
+                    if (!equipPipeDetailDOList.isEmpty()) {
+                        // 判断pipeLevel是否相同
+                        String pipeLevelValue;
+                        Set<String> pipeLevels = equipPipeDetailDOList.stream()
+                                .map(EquipPipeDetailDO::getPipeLevel)
+                                .filter(Objects::nonNull)
+                                .collect(Collectors.toSet());
+                        // 如果只有一个唯一的pipeLevel值,则使用该值;否则设置为"见一览表"
+                        pipeLevelValue = pipeLevels.size() == 1 ? pipeLevels.iterator().next() : "见一览表";
+                        result.put("pipeLevel", pipeLevelValue);
+                    }
+
+                }
+
                 //设备信息
                 if (itemDOList.size() > 1) {
-                    result.put("pipeLevel", "见一览表");
                     result.put("projectNo", "见一览表");
                     result.put("projectName", "见一览表");
-                    result.put("pipeName", "见一览表");
-                    result.put("layingMode", "见一览表");
-                    result.put("designLifeYears", "见一览表");
+                    result.put("layingMode", "-");
                 } else {
                     result.put("layingMode", equipPipeDO.getLayingMode());
                     result.put("projectNo", equipPipeDO.getProjectNo());
                     result.put("projectName", equipPipeDO.getProjectName());
-
-                    List<PipeTaskOrderItemDetailDO> detailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderItemId, itemDOList.get(0).getId());
-                    if (!detailDOS.isEmpty()){
-
-                        List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>()
-                                .in(EquipPipeDetailDO::getId, detailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
-                        if (equipPipeDetailDOList.size() > 1){
-                            result.put("pipeName","见一览表" );
-                        }else if (equipPipeDetailDOList.size() == 1){
-                            result.put("pipeName", equipPipeDetailDOList.get(0).getPipeName());
-                        }
-
-                        if (!equipPipeDetailDOList.isEmpty()) {
-                            if (equipPipeDetailDOList.get(0).getDesignLifeYears() != null){
-                                result.put("designLifeYears", String.valueOf(equipPipeDetailDOList.get(0).getDesignLifeYears()));
-                            }
-                            // 判断pipeLevel是否相同
-                            String pipeLevelValue;
-                            Set<String> pipeLevels = equipPipeDetailDOList.stream()
-                                    .map(EquipPipeDetailDO::getPipeLevel)
-                                    .filter(Objects::nonNull)
-                                    .collect(Collectors.toSet());
-                            // 如果只有一个唯一的pipeLevel值,则使用该值;否则设置为"见一览表"
-                            pipeLevelValue = pipeLevels.size() == 1 ? pipeLevels.iterator().next() : "见一览表";
-                            result.put("pipeLevel", pipeLevelValue);
-                        }
-                    }
                 }
 
             }
 
             result.put("reportNo", itemReportDO.getReportNo());
 
+            //检验员
+            PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
+            if (taskOrderDO!= null && taskOrderDO.getManagerId() != null){
+                AdminUserRespDTO userInfo = adminUserApi.getUser(taskOrderDO.getManagerId()).getData();
+                if (userInfo != null) {
+                    result.put("checkName", userInfo.getSignUrl());
+                }
+            }
+
             //审核人员信息
             AdminUserRespDTO userInfo = adminUserApi.getUser(itemReportDO.getApprovalId()).getData();
             if (userInfo != null) {

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

@@ -2,6 +2,7 @@ package cn.start.tz.module.pressure2.service.dynamicOFData.pipe;
 
 import cn.start.tz.module.pressure2.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
+import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
 import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
@@ -16,6 +17,7 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderIte
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
+import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.pressure2.service.pipetaskorderitemdetail.PipeTaskOrderItemDetailService;
 import cn.start.tz.module.system.api.user.AdminUserApi;
@@ -59,6 +61,9 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
     @Resource
     private DynamicTbValService dynamicTbValService;
 
+    @Resource
+    private DynamicTbInsService dynamicTbInsService;
+
     @Resource
     private AdminUserApi adminUserApi;
 
@@ -83,6 +88,7 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
 
         if (itemReportDO != null){
 
+            DynamicTbInsDO firstInsDO = dynamicTbInsService.getDynamicRefId(refId);
             PipeTaskOrderItemDO itemDO = pipeTaskOrderItemMapper.selectById(orderItemId);
             if (itemDO != null){
 
@@ -90,7 +96,7 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                 if (equipPipeDO != null){
 
                     //一览表生成时先删除所有值,防止设备不对
-                    dynamicTbValService.deleteDynamicTbValByRefId(refId);
+                    //dynamicTbValService.deleteDynamicTbValByRefId(refId);
 
                     //设备信息
                     result.put("projectNo",equipPipeDO.getProjectNo());
@@ -108,7 +114,14 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                     //管线信息
                     List<PipeTaskOrderItemDetailDO> details = pipeTaskOrderItemDetailService.lambdaQuery().eq(PipeTaskOrderItemDetailDO::getOrderItemId,orderItemId).list();
                     if (!details.isEmpty()){
-                        List<EquipPipeDetailDO> pipeDetails = equipPipeDetailMapper.selectByIds(details.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList());
+                        List<EquipPipeDetailDO> pipeDetails = equipPipeDetailMapper.selectByIds(details.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList())
+                                .stream()
+                                .sorted((a, b) -> {
+                                    String pipeRegCodeA = a.getPipeRegCode() != null ? a.getPipeRegCode() : "";
+                                    String pipeRegCodeB = b.getPipeRegCode() != null ? b.getPipeRegCode() : "";
+                                    return pipeRegCodeA.compareTo(pipeRegCodeB);
+                                })
+                                .toList();
                         if (!pipeDetails.isEmpty()){
                             for (int i = 0; i < pipeDetails.size(); i++){
                                 EquipPipeDetailDO pipeDetail = pipeDetails.get(i);
@@ -139,14 +152,16 @@ public class QC12116_202400RecordOFData implements IDynamicOFData {
                                 String endPoint = pipeDetail.getEndPoint() != null ? pipeDetail.getEndPoint() : "";
                                 result.put("startEndPoint_"+(i+1), startPoint + "-" + endPoint);
 
-                                //获取检验性质
-                                PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
-                                if (taskOrderDO.getCheckType().equals(100)){
-                                    //定检
-                                    result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getLegalSafetyStatusLevel());
-                                }else if (taskOrderDO.getCheckType().equals(200)){
-                                    //年检
-                                    result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getYearSafetyStatusLevel());
+                                if (firstInsDO == null) {
+                                    //获取检验性质
+                                    PipeTaskOrderDO taskOrderDO = pipeTaskOrderMapper.selectById(itemReportDO.getOrderId());
+                                    if (taskOrderDO.getCheckType().equals(100)){
+                                        //定检
+                                        result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getLegalSafetyStatusLevel());
+                                    }else if (taskOrderDO.getCheckType().equals(200)){
+                                        //年检
+                                        result.put("yearSafetyStatusLevel_"+(i+1),pipeDetail.getYearSafetyStatusLevel());
+                                    }
                                 }
                             }
                         }

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

@@ -35,6 +35,7 @@ import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -164,33 +165,42 @@ public class QC12171_202401RecordOFData implements IDynamicOFData {
                         result.put("pipeCategory", "见一览表");
                     }
 
-                    List<PipeTaskOrderItemDetailDO> detailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId());
-                    if (!detailDOS.isEmpty()){
-                        List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, detailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
+                    List<PipeTaskOrderItemDetailDO> allDetailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId());
+                    if (!allDetailDOS.isEmpty()){
+                        List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, allDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
                         double sum = equipPipeDetailDOList.stream().mapToDouble(equipPipeDetailDO -> equipPipeDetailDO.getPipeLength() != null ? equipPipeDetailDO.getPipeLength().doubleValue() : 0.0).sum();
                         result.put("pipeLengthTotal", String.valueOf(sum));
                     }
+                    //获取约检管线
+                    if (!allDetailDOS.isEmpty()){
+
+                        List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>()
+                                .in(EquipPipeDetailDO::getId, allDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
+                        if (equipPipeDetailDOList.size() > 1){
+                            result.put("equipName","见一览表" );
+                        }else if (equipPipeDetailDOList.size() == 1){
+                            result.put("equipName", equipPipeDetailDOList.get(0).getPipeName());
+                        }
+
+                        if (!equipPipeDetailDOList.isEmpty()) {
+                            // 判断pipeLevel是否相同
+                            String pipeLevelValue;
+                            Set<String> pipeLevels = equipPipeDetailDOList.stream()
+                                    .map(EquipPipeDetailDO::getPipeLevel)
+                                    .filter(Objects::nonNull)
+                                    .collect(Collectors.toSet());
+                            // 如果只有一个唯一的pipeLevel值,则使用该值;否则设置为"见一览表"
+                            pipeLevelValue = pipeLevels.size() == 1 ? pipeLevels.iterator().next() : "见一览表";
+                            result.put("pipeLevel", pipeLevelValue);
+                        }
+
+                    }
 
                     if (itemDOList.size() > 1) {
                         // 找出全部管道
-                        result.put("pipeLevel", "见一览表");
                         result.put("projectName", "见一览表");
-                        result.put("equipName", "见一览表");
-
                     } else {
                         result.put("projectName", equipPipeDO.getProjectName());
-                        List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
-                                .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
-
-                        List<EquipPipeDetailDO> equipPipeDetailDOS = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, pipeTaskOrderItemDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())));
-                        if (equipPipeDetailDOS.size() == 1) {
-                            result.put("equipName", equipPipeDetailDOS.get(0).getPipeName());
-                            result.put("pipeLevel", equipPipeDetailDOS.get(0).getPipeLevel());
-                        }else{
-                            result.put("equipName", "见一览表");
-                            result.put("pipeLevel", "见一览表");
-                        }
-
                     }
                 }
             }

+ 8 - 31
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamicOFData/pipe/QC12184_202401JRecordOFData.java

@@ -81,49 +81,26 @@ public class QC12184_202401JRecordOFData implements IDynamicOFData {
 
             List<PipeTaskOrderItemDO> itemDOList = pipeTaskOrderItemMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDO>()
                     .eq(PipeTaskOrderItemDO::getOrderId, itemReportDO.getOrderId()));
+
+            List<PipeTaskOrderItemDetailDO> allDetailDOS = pipeTaskOrderItemDetailMapper.selectList(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId());
+            if (!allDetailDOS.isEmpty()){
+                List<EquipPipeDetailDO> equipPipeDetailDOList = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, allDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).toList()));
+                double sum = equipPipeDetailDOList.stream().mapToDouble(equipPipeDetailDO -> equipPipeDetailDO.getPipeLength() != null ? equipPipeDetailDO.getPipeLength().doubleValue() : 0.0).sum();
+                result.put("pipeLengthTotal", String.valueOf(sum));
+            }
+
             if (!itemDOList.isEmpty()){
                 //设备信息
                 if (itemDOList.size() > 1){
                     result.put("projectNo","见一览表");
                     result.put("projectName","见一览表");
                     result.put("pipeClass","见一览表");
-//                    result.put("pipeLengthTotal","见一览表");
-
-                    // 找出全部管道
-                    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));
-                    // 管道总长度相加
-                    double pipeLengthTotal = pipeDetailMap.values().stream()
-                            .flatMap(List::stream)
-                            .map(EquipPipeDetailDO::getPipeLength)
-                            .filter(java.util.Objects::nonNull)
-                            .mapToDouble(BigDecimal::doubleValue)
-                            .sum();
-                    result.put("pipeLengthTotal", String.valueOf(pipeLengthTotal));
-
                 }else {
                     EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
                     if (equipPipeDO != null){
                         result.put("projectNo",equipPipeDO.getProjectNo());
                         result.put("projectName",equipPipeDO.getProjectName());
                         result.put("pipeClass",equipPipeDO.getPipeClass());
-
-                        List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
-                                .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
-
-                        List<EquipPipeDetailDO> equipPipeDetailDOS = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, pipeTaskOrderItemDetailDOS.stream()
-                                .map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())));
-                        double pipeLengthTotal = equipPipeDetailDOS.stream()
-                                .map(EquipPipeDetailDO::getPipeLength)
-                                .filter(java.util.Objects::nonNull)
-                                .mapToDouble(BigDecimal::doubleValue)
-                                .sum();
-                        result.put("pipeLengthTotal", String.valueOf(pipeLengthTotal));
-                        //result.put("pipeLengthTotal",equipPipeDO.getPipeLengthTotal().toString());
                     }
                 }
             }

+ 44 - 33
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/dynamictb/DynamicTbServiceImpl.java

@@ -113,7 +113,7 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
         // 校验tbCode唯一性(排除自身)
         validateTbCodeUnique(updateReqVO.getTbCode(), updateReqVO.getId());
         // 对象类型转字符串
-        if (updateReqVO.getCopyConfig() instanceof com.alibaba.fastjson2.JSONObject){
+        if (updateReqVO.getCopyConfig() instanceof com.alibaba.fastjson2.JSONObject) {
             updateReqVO.setCopyConfig(JSON.toJSONString(updateReqVO.getCopyConfig()));
         }
 
@@ -130,10 +130,11 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
             }).toList());
         }
     }
-    public void updateFile(String id, List<String> filePaths){
+
+    public void updateFile(String id, List<String> filePaths) {
         // 报告原件
         // 原有的文件
-        List<DynamicTbFileDO> dynamicTbFileDOS = dynamicTbFileMapper.selectList(DynamicTbFileDO::getId,id);
+        List<DynamicTbFileDO> dynamicTbFileDOS = dynamicTbFileMapper.selectList(DynamicTbFileDO::getId, id);
         if (!CollUtil.isEmpty(dynamicTbFileDOS)) {
             // 需要新增的文件
             List<String> newFilePaths = filePaths.stream().filter(filePath -> dynamicTbFileDOS.stream().noneMatch(dynamicTbFileDO -> dynamicTbFileDO.getFilePath().equals(filePath))).toList();
@@ -157,7 +158,7 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
                     }
                 }
             }
-        }else {
+        } else {
             for (String filePath : filePaths) {
                 int update = dynamicTbFileMapper.updateByIdAndFilePathIgnoreLogicDelete(id, filePath);
                 if (update == 0) {
@@ -206,7 +207,7 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
         String copyConfig = dynamicTbDO.getCopyConfig();
         dynamicTbDO.setCopyConfig(null);
         DynamicTbRespVO bean = BeanUtils.toBean(dynamicTbDO, DynamicTbRespVO.class);
-        
+
         // 安全地解析 copyConfig JSON 字符串
         if (StrUtil.isNotEmpty(copyConfig)) {
             try {
@@ -219,7 +220,7 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
         } else {
             bean.setCopyConfig(new JSONObject());
         }
-        
+
         // 报告原件
         List<DynamicTbFileDO> dynamicTbFileDOS = dynamicTbFileMapper.selectList(DynamicTbFileDO::getId, id);
         bean.setFilePaths(dynamicTbFileDOS.stream().map(dynamicTbFileDO -> {
@@ -351,21 +352,21 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
                 .eqIfPresent(DynamicTbDO::getTbName, pageReqVO.getTbName())
                 .eqIfPresent(DynamicTbDO::getTbType, pageReqVO.getTbType())
                 .eqIfPresent(DynamicTbDO::getPjType, pageReqVO.getPjType()));
-        
+
         List<DynamicTbDO> list = pageResult.getList();
         if (CollUtil.isEmpty(list)) {
             return PageResult.empty();
         }
-        
+
         // 获取流程任务信息
         Map<String, BpmTaskDTO> data = bpmTaskApi.getLastTaskMap(list.stream().map(DynamicTbDO::getProcessInstanceId).toList()).getData();
         List<DynamicTbAuditRespVO> collect = list.stream().map(dynamicTbDO -> {
             DynamicTbAuditRespVO dynamicTbAuditRespVO = new DynamicTbAuditRespVO();
 
             CommonResult<List<BpmTaskRespDTO>> taskListByProcessInstanceId = bpmTaskApi.getTaskListByProcessInstanceId(dynamicTbDO.getProcessInstanceId());
-            if (taskListByProcessInstanceId.isSuccess()){
+            if (taskListByProcessInstanceId.isSuccess()) {
                 List<BpmTaskRespDTO> taskListByProcessInstanceIdData = taskListByProcessInstanceId.getData();
-                if (!taskListByProcessInstanceIdData.isEmpty()){
+                if (!taskListByProcessInstanceIdData.isEmpty()) {
                     BpmTaskRespDTO bpmTaskRespDTO = taskListByProcessInstanceIdData.get(0);
                     UserSimpleBaseDTO assigneeUser = bpmTaskRespDTO.getAssigneeUser();
                     dynamicTbAuditRespVO.setSubmitUser(assigneeUser);
@@ -376,7 +377,7 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
 
             dynamicTbAuditRespVO.setProcessInstanceId(dynamicTbDO.getProcessInstanceId());
             BpmTaskDTO bpmTaskDTO = data.get(dynamicTbDO.getProcessInstanceId());
-            if (bpmTaskDTO != null){
+            if (bpmTaskDTO != null) {
                 dynamicTbAuditRespVO.setCurrentNode(bpmTaskDTO.getName());
                 dynamicTbAuditRespVO.setCurrentAuditorId(bpmTaskDTO.getAssignee());
             }
@@ -561,43 +562,53 @@ public class DynamicTbServiceImpl extends ServiceImpl<DynamicTbMapper, DynamicTb
             // 通过 tbCode 查找是否已存在
             DynamicTbDO existing = dynamicTbMapper.selectOne(
                     new LambdaQueryWrapperX<DynamicTbDO>().eq(DynamicTbDO::getTbCode, tbDO.getTbCode()));
+            String id = tbDO.getId();
+            String oldId = tbDO.getId();
             if (existing != null) {
                 // 更新:保留原有ID
                 tbDO.setId(existing.getId());
                 dynamicTbMapper.updateById(tbDO);
             } else {
                 // 新增:使用导出的ID
+                tbDO.setId(null);
                 dynamicTbMapper.insert(tbDO);
+                id = tbDO.getId();
             }
-        }
 
-        // 3. 导入 DynamicTbColDO(先删后插)
-        for (DynamicTbDO tbDO : tbList) {
+
+            // 3. 导入 DynamicTbColDO(先删后插)
             // 删除原有的列定义
             dynamicTbColMapper.delete(new LambdaQueryWrapperX<DynamicTbColDO>()
                     .eq(DynamicTbColDO::getTbId, tbDO.getId()));
-        }
-        // 批量插入列定义
-        for (DynamicTbColDO colDO : colList) {
-            if (colDO.getTbId() != null) {
-                dynamicTbColMapper.insert(colDO);
-            }
-        }
 
-        // 4. 导入 StandardTemplateDO
-        for (StandardTemplateDO templateDO : templateList) {
-            // 上传文件获取新的 fileUrl
-            byte[] fileBytes = fileMap.get(templateDO.getId());
-            if (fileBytes != null && fileBytes.length > 0) {
-                String newFileUrl = fileApi.createFile(fileBytes);
-                templateDO.setFileUrl(newFileUrl);
+            // 批量插入列定义
+            for (DynamicTbColDO colDO : colList) {
+                if (colDO.getTbId() != null && colDO.getTbId().equals(oldId)) {
+                    colDO.setId(null);
+                    colDO.setTbId(id);
+                    dynamicTbColMapper.insert(colDO);
+                }
             }
 
-            StandardTemplateDO existingTemplate = standardTemplateMapper.selectById(templateDO.getId());
-            if (existingTemplate != null) {
-                standardTemplateMapper.updateById(templateDO);
-            } else {
-                standardTemplateMapper.insert(templateDO);
+            // 4. 导入 StandardTemplateDO
+            for (StandardTemplateDO templateDO : templateList) {
+                // 上传文件获取新的 fileUrl
+                if (!templateDO.getId().equals(oldId)) {
+                    continue;
+                }
+                templateDO.setId(id);
+                byte[] fileBytes = fileMap.get(templateDO.getId());
+                if (fileBytes != null && fileBytes.length > 0) {
+                    String newFileUrl = fileApi.createFile(fileBytes);
+                    templateDO.setFileUrl(newFileUrl);
+                }
+
+                StandardTemplateDO existingTemplate = standardTemplateMapper.selectById(oldId);
+                if (existingTemplate != null) {
+                    standardTemplateMapper.updateById(templateDO);
+                } else {
+                    standardTemplateMapper.insert(templateDO);
+                }
             }
         }
     }

+ 1 - 1
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pdf/PdfService.java

@@ -8,5 +8,5 @@ import java.util.Map;
 public interface PdfService {
     byte[] addPageNumbersToPdf(byte[] pdfBytes) throws IOException;
     byte[] pdf(String templateId, String instanceId) throws Exception;
-    byte[] fullPdf(byte[] templateBytes, Map<String, Object> data, List<String> imgIns) throws Exception;
+    byte[] fullPdf(byte[] templateBytes, Map<String, Object> data, List<String> imgIns, String templateId, String instanceId) throws Exception;
 }

+ 33 - 11
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pdf/PdfServiceImpl.java

@@ -2,17 +2,15 @@ package cn.start.tz.module.pressure2.service.pdf;
 
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
-import cn.start.tz.framework.common.exception.ServiceException;
-import cn.start.tz.framework.common.pojo.CommonResult;
-import cn.start.tz.module.grape.city.api.GrapeCityApi;
 import cn.start.tz.module.grape.city.api.vo.GrapeCityReqDTO;
 import cn.start.tz.module.infra.api.file.FileApi;
+import cn.start.tz.module.pressure2.controller.admin.dynamictb.vo.DynamicTbRespVO;
 import cn.start.tz.module.pressure2.controller.admin.dynamictbcol.vo.DynamicTbColRespVO;
-import cn.start.tz.module.pressure2.controller.admin.dynamictbcol.vo.DynamicTbImgColRespVO;
-import cn.start.tz.module.pressure2.dal.dataobject.dynamictbcol.DynamicTbColDO;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbval.vo.DynamicTBAndColVO;
+import cn.start.tz.module.pressure2.controller.admin.dynamictbval.vo.DynamicTBViewOrAddVO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbins.DynamicTbInsDO;
 import cn.start.tz.module.pressure2.dal.dataobject.dynamictbval.DynamicTbValDO;
-import cn.start.tz.module.pressure2.dal.dataobject.standardfile.StandardTemplateDO;
+import cn.start.tz.module.pressure2.service.dynamictb.DynamicTbService;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
 import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
@@ -20,11 +18,9 @@ import cn.start.tz.module.pressure2.service.standardfile.StandardTemplateService
 import cn.start.tz.module.pressure2.util.ImageUtil;
 import cn.start.tz.module.pressure2.util.WordToPdfUtils;
 import cn.start.tz.module.system.api.standard.StandardTemplateApi;
-import cn.start.tz.module.system.api.standard.dto.StandardTemplateRespDTO;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.grapecity.documents.excel.*;
 import com.grapecity.documents.excel.drawing.ImageType;
 import com.grapecity.documents.excel.template.DataSource.JsonDataSource;
@@ -36,10 +32,10 @@ import org.apache.pdfbox.pdmodel.PDPageContentStream;
 import org.apache.pdfbox.pdmodel.font.PDType0Font;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
 
 import java.io.*;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 @Slf4j
@@ -59,6 +55,9 @@ public class PdfServiceImpl implements PdfService {
     @Resource
     private DynamicTbInsService dynamicTbInsService;
 
+    @Resource
+    private DynamicTbService dynamicTbService;
+
     @Resource
     private FileApi fileApi;
 
@@ -125,11 +124,11 @@ public class PdfServiceImpl implements PdfService {
             for (DynamicTbValDO dynamicTbValDO : list) {
                 map.put(dynamicTbValDO.getColCode(), dynamicTbValDO.getValValue());
             }
-            return this.fullPdf(bytes, map, imgIns);
+            return this.fullPdf(bytes, map, imgIns,templateId, instanceId);
     }
 
     @Override
-    public byte[] fullPdf(byte[] templateBytes, Map<String, Object> data, List<String> imgIns) throws Exception {
+    public byte[] fullPdf(byte[] templateBytes, Map<String, Object> data, List<String> imgIns, String templateId, String instanceId) throws Exception {
         // 将 data 中的 JSON 字符串值解析为实际对象/数组,确保 GcExcel 模板引擎能正确处理表格绑定
         normalizeDataForTemplate(data);
         if (grapecityUrl != null && !"null".equals(grapecityUrl)) {
@@ -165,6 +164,29 @@ public class PdfServiceImpl implements PdfService {
             fullPdfRequest.put("data", data);
             fullPdfRequest.put("fileBytes", fileBytes);
 
+
+            DynamicTbRespVO templateInfo = dynamicTbService.getDynamicTb(templateId);
+            com.alibaba.fastjson.JSONObject copyConfig = templateInfo.getCopyConfig();
+            if (copyConfig != null) {
+                // {"copyRange":{"topLeft":"0,7","topRight":"19,7","bottomLeft":"0,22","bottomRight":"19,22"},"sheetName":"续页","hidden":true,"isContinuePage":true}
+                String isContinuePage = copyConfig.getString("isContinuePage");
+                if (isContinuePage != null && isContinuePage.equals("true")){
+                    List<String> existingColCodes = null;
+                    DynamicTBViewOrAddVO queryVO = new DynamicTBViewOrAddVO();
+                    queryVO.setTemplateId(templateId);
+                    DynamicTbInsDO dynamicTBInsDO = dynamicTbInsService.getById(instanceId);
+                    queryVO.setRefId(dynamicTBInsDO.getRefId());
+                    DynamicTBAndColVO tbData = dynamicTbValService.getDynamicTbInsAndValByRefId(queryVO);
+                    existingColCodes = tbData.getDynamicTbColRespVOList().stream()
+                            .map(DynamicTbColRespVO::getColCode)
+                            .collect(Collectors.toList());
+                    fullPdfRequest.put("continuePage", isContinuePage);
+                    fullPdfRequest.put("copyConfig", copyConfig.toJSONString());
+                    fullPdfRequest.put("existingColCodes", existingColCodes);
+                }
+            }
+
+
             // 调用 fullPdf 接口生成 PDF
             String jsonString = JSON.toJSONString(fullPdfRequest);
             HttpResponse response = HttpUtil.createPost(grapecityUrl+"/grapecity/pdf")

+ 2 - 2
tz-module-pressure2/tz-module-pressure2-biz/src/main/java/cn/start/tz/module/pressure2/service/pipetaskorderissuereport/PipeTaskOrderIssueReportServiceImpl.java

@@ -934,8 +934,8 @@ public class PipeTaskOrderIssueReportServiceImpl extends ServiceImpl<PipeTaskOrd
                 qrCodeValuesDTO.setPageno("1");
                 qrCodeValuesDTO.setWidth(71);
                 qrCodeValuesDTO.setHeight(71);
-                qrCodeValuesDTO.setX("360");
-                qrCodeValuesDTO.setY("590");
+                qrCodeValuesDTO.setX("370");
+                qrCodeValuesDTO.setY("600");
 
                 resultByte = this.sign(pdf, valuesDTOList, qrCodeValuesDTO);
                 log.info("签章成功");

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

@@ -4,15 +4,19 @@ import cn.start.tz.module.pressure2.service.synchronization.dto.CheckDto;
 import cn.start.tz.module.pressure2.service.synchronization.dto.ReportDto;
 
 public interface SynchronizationService {
-    /**
-     * 同步锅炉
-     */
-    void boiler(String updateDate);
+//    /**
+//     * 同步锅炉
+//     */
+//    void boiler(String updateDate);
+//
+//    /**
+//     * 同步管道
+//     */
+//    void pipe(String updateDate);
 
-    /**
-     * 同步管道
-     */
-    void pipe(String updateDate);
+    void boiler(String updateDate, String REGISTERNO);
+
+    void pipe(String updateDate, String PROJECT_NO);
 
     /**
      * 上传约检数据

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

@@ -2,7 +2,6 @@ package cn.start.tz.module.pressure2.service.synchronization;
 
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.thread.ThreadUtil;
 import cn.hutool.http.HttpResponse;
 import cn.hutool.http.HttpUtil;
 
@@ -22,12 +21,10 @@ import cn.start.tz.module.system.api.dept.dto.DeptRespDTO;
 import cn.start.tz.module.system.api.dict.DictDataApi;
 import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
 import com.alibaba.fastjson2.JSONObject;
-import com.fasterxml.jackson.core.JsonProcessingException;
 import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
@@ -36,8 +33,6 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 
@@ -91,14 +86,16 @@ public class SynchronizationServiceImpl implements SynchronizationService {
      * @param updateDate 更新时间,只同步此时间之后的数据
      */
     @Override
-    public void boiler(String updateDate) {
+    public void boiler(String updateDate, String REGISTERNO) {
         log.info("同步锅炉设备定时任务执行中...");
         initDict();
 
         Map<String, Object> form = new HashMap<>();
         form.put("pageNum", 0);
         form.put("pageSize", DEFAULT_PAGE_SIZE);
-//        form.put("REGISTERNO", "11204401152024120003");
+        if (REGISTERNO != null) {
+            form.put("REGISTERNO", REGISTERNO);
+        }
         if (updateDate != null) {
             form.put("UPDATEDATE_gt", updateDate);
         }
@@ -131,7 +128,7 @@ public class SynchronizationServiceImpl implements SynchronizationService {
                 log.info("同步,添加锅炉:{},更新锅炉:{}", addList.size(), updateList.size());
                 equipBoilerService.saveBatch(addList);
 
-                updateList.parallelStream().forEach(equipBoilerDO -> {
+                updateList.forEach(equipBoilerDO -> {
                             try {
                                 equipBoilerService.updateEquipBoiler(equipBoilerDO);
                             } catch (Exception e) {
@@ -149,7 +146,7 @@ public class SynchronizationServiceImpl implements SynchronizationService {
      * @param updateDate 更新时间,只同步此时间之后的数据
      */
     @Override
-    public void pipe(String updateDate) {
+    public void pipe(String updateDate, String PROJECT_NO) {
         log.info("同步管道设备定时任务执行中...");
 
         initDict();
@@ -158,6 +155,9 @@ public class SynchronizationServiceImpl implements SynchronizationService {
         Map<String, Object> form = new HashMap<>();
         form.put("pageNum", 0);
         form.put("pageSize", DEFAULT_PAGE_SIZE);
+        if (PROJECT_NO != null) {
+            form.put("PROJECT_NO", PROJECT_NO);
+        }
         if (updateDate != null) {
             form.put("UPDATEDATE_gt", updateDate);
         }
@@ -165,7 +165,7 @@ public class SynchronizationServiceImpl implements SynchronizationService {
         ResponseDto pipeDtoResponseDto = JSONObject.parseObject(pipeequipment, ResponseDto.class);
         log.info("同步数据中台返回管道数据:{}", pipeDtoResponseDto);
         // 获取所有管道详情数据
-        List<PipeDetailDto> pipeDetailDtoS = fetchAllPipeDetailData(updateDate);
+        List<PipeDetailDto> pipeDetailDtoS = fetchAllPipeDetailData(updateDate, PROJECT_NO);
         if (pipeDtoResponseDto.getTotal() > 0) {
             List<PipeDto> list = pipeDtoResponseDto.getData().stream()
                     .map(data -> ((JSONObject) data).toJavaObject(PipeDto.class))
@@ -197,11 +197,14 @@ public class SynchronizationServiceImpl implements SynchronizationService {
     /**
      * 分页获取所有管道详情数据
      */
-    private List<PipeDetailDto> fetchAllPipeDetailData(String updateDate) {
+    private List<PipeDetailDto> fetchAllPipeDetailData(String updateDate, String PROJECT_NO) {
 
         Map<String, Object> detailForm = new HashMap<>();
         detailForm.put("pageNum", 0);
         detailForm.put("pageSize", DEFAULT_DETAIL_PAGE_SIZE);
+        if (PROJECT_NO != null) {
+            detailForm.put("PROJECT_NO", PROJECT_NO);
+        }
         if (updateDate != null) {
             detailForm.put("UPDATEDATE_gt", updateDate);
         }