Browse Source

报表调整

xy 4 ngày trước cách đây
mục cha
commit
d34d3b8917

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

@@ -1,11 +1,6 @@
 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.pipetaskorderitem.PipeTaskOrderItemDO;
 import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
 import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
 import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
@@ -13,10 +8,8 @@ import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOr
 import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
 import cn.start.tz.module.pressure2.service.dynamicOFData.util.GenerateReportJsonService;
 import cn.start.tz.module.pressure2.service.dynamictbcol.DynamicTbColService;
-import cn.start.tz.module.pressure2.service.dynamictbins.DynamicTbInsService;
 import cn.start.tz.module.pressure2.service.dynamictbval.DynamicTbValService;
 import cn.start.tz.module.system.api.dict.DictDataApi;
-import cn.start.tz.module.system.api.dict.dto.DictDataRespDTO;
 import cn.start.tz.module.system.api.user.AdminUserApi;
 import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
 import com.alibaba.fastjson2.JSONObject;
@@ -24,13 +17,12 @@ import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
 import java.time.format.DateTimeFormatter;
-import java.util.List;
 
 /**
  * 压力管道年度检查报告
  * */
-@Service("QC12100_202400ReportOFData")
-public class QC12100_202400ReportOFData implements IDynamicOFData {
+@Service("QC12100_202401ReportOFData")
+public class QC12100_202401ReportOFData implements IDynamicOFData {
 
     @Resource
     private EquipPipeMapper equipPipeMapper;

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

@@ -146,86 +146,56 @@ public class QC12171_202401RecordOFData implements IDynamicOFData {
             if (!itemDOList.isEmpty()) {
                 //设备信息
                 List<EquipPipeDO> equipPipeDOS = equipPipeMapper.selectByIds(itemDOList.stream().map(PipeTaskOrderItemDO::getEquipId).toList());
-                EquipPipeDO equipPipeDO = equipPipeDOS.get(0);
-                result.put("unitName", equipPipeDO.getUnitName());
-                result.put("socialCreditCode", equipPipeDO.getUnitCode());
-                result.put("unitAddress", equipPipeDO.getUnitAddress());
-                result.put("zipCode", equipPipeDO.getPostalCode());
-                result.put("pipeAddress", equipPipeDO.getPipeAddress());
-                result.put("useNo", equipPipeDO.getCertificateNo());
-                List<String> pipeCategoryList = equipPipeDOS.stream().map(EquipPipeDO::getPipeCategory).distinct().toList();
-
-                if (pipeCategoryList.size() == 1){
-                    DictDataRespDTO pipeType = dictDataApi.getDictData("PIPE_TYPE", pipeCategoryList.get(0)).getCheckedData();
-                    if (pipeType != null){
-                        result.put("pipeCategory", pipeType.getLabel());
+                if (!equipPipeDOS.isEmpty()) {
+                    EquipPipeDO equipPipeDO = equipPipeDOS.get(0);
+                    result.put("unitName", equipPipeDO.getUnitName());
+                    result.put("socialCreditCode", equipPipeDO.getUnitCode());
+                    result.put("unitAddress", equipPipeDO.getUnitAddress());
+                    result.put("zipCode", equipPipeDO.getPostalCode());
+                    result.put("pipeAddress", equipPipeDO.getPipeAddress());
+                    result.put("useNo", equipPipeDO.getCertificateNo());
+                    List<String> pipeCategoryList = equipPipeDOS.stream().map(EquipPipeDO::getPipeCategory).distinct().toList();
+                    if (pipeCategoryList.size() == 1){
+                        DictDataRespDTO pipeType = dictDataApi.getDictData("PIPE_TYPE", pipeCategoryList.get(0)).getCheckedData();
+                        if (pipeType != null){
+                            result.put("pipeCategory", pipeType.getLabel());
+                        }
+                    }else{
+                        result.put("pipeCategory", "见一览表");
                     }
-                }else{
-                    result.put("pipeCategory", "见一览表");
-                }
 
-                result.put("securityMan", equipPipeDO.getSecurityMan());
-                result.put("contactPhone", equipPipeDO.getContactPhone());
-
-                result.put("projectName", "见一览表");
-                result.put("equipName", "见一览表");
-                if (itemDOList.size() > 1) {
-                    // 找出全部管道
-                    List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
-                            .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
-                    Map<String, List<EquipPipeDetailDO>> pipeDetailMap = equipPipeDetailMapper.selectList(
-                                    new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId,
-                                            pipeTaskOrderItemDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())))
-                            .stream().collect(Collectors.groupingBy(EquipPipeDetailDO::getEquipPipeId));
-//                    // 全部级别按/拼接
-//                    String collect = pipeDetailMap.values().stream()
-//                            .flatMap(List::stream)
-//                            .map(EquipPipeDetailDO::getPipeLevel)
-//                            .filter(Objects::nonNull)
-//                            .distinct()
-//                            .collect(Collectors.joining("/"));
-//                    result.put("pipeLevel", collect);
-                    result.put("pipeLevel", "见一览表");
-
-                    // 管道总长度相加
-                    double pipeLengthTotal = pipeDetailMap.values().stream()
-                            .flatMap(List::stream)
-                            .map(EquipPipeDetailDO::getPipeLength)
-                            .filter(java.util.Objects::nonNull)
-                            .mapToDouble(BigDecimal::doubleValue)
-                            .sum();
-                    result.put("pipeLengthTotal", String.valueOf(pipeLengthTotal));
-
-                } else {
-                    result.put("projectName", equipPipeDO.getProjectName());
-                    List<PipeTaskOrderItemDetailDO> pipeTaskOrderItemDetailDOS = pipeTaskOrderItemDetailMapper.selectList(new LambdaQueryWrapper<PipeTaskOrderItemDetailDO>()
-                            .eq(PipeTaskOrderItemDetailDO::getOrderId, itemReportDO.getOrderId()));
-
-                    List<EquipPipeDetailDO> equipPipeDetailDOS = equipPipeDetailMapper.selectList(new LambdaQueryWrapper<EquipPipeDetailDO>().in(EquipPipeDetailDO::getId, pipeTaskOrderItemDetailDOS.stream().map(PipeTaskOrderItemDetailDO::getEquipDetailId).collect(Collectors.toList())));
-                    if (equipPipeDetailDOS.size() == 1) {
-                        result.put("pipeName", equipPipeDetailDOS.get(0).getPipeName());
+                    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()));
+                        double sum = equipPipeDetailDOList.stream().mapToDouble(equipPipeDetailDO -> equipPipeDetailDO.getPipeLength() != null ? equipPipeDetailDO.getPipeLength().doubleValue() : 0.0).sum();
+                        result.put("pipeLengthTotal", String.valueOf(sum));
+                    }
+
+                    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", "见一览表");
+
+                    } 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());
+                        }
+
                     }
-//                    String collect = equipPipeDetailDOS.stream().map(EquipPipeDetailDO::getPipeLevel).filter(Objects::nonNull).distinct().collect(Collectors.joining("/"));
-                    result.put("pipeLevel", equipPipeDO.getPipeClass());
-
-                    double pipeLengthTotal = equipPipeDetailDOS.stream()
-                            .map(EquipPipeDetailDO::getPipeLength)
-                            .filter(java.util.Objects::nonNull)
-                            .mapToDouble(BigDecimal::doubleValue)
-                            .sum();
-                    result.put("pipeLengthTotal", String.valueOf(pipeLengthTotal));
-
-//                    String pipeCategory = equipPipeDO.getPipeCategory();
-//                    if (StrUtil.isNotBlank(pipeCategory)) {
-//                        if ("industry_pipe".equals(pipeCategory)) {
-//                            result.put("pipeCategory_1", "true");
-//                            result.put("pipeCategory_2", "false");
-//                        }
-//                        if ("public_pipe".equals(pipeCategory)) {
-//                            result.put("pipeCategory_2", "true");
-//                            result.put("pipeCategory_1", "false");
-//                        }
-//                    }
                 }
             }