|
@@ -2,10 +2,14 @@ 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.controller.admin.dynamictbins.vo.CreateInstantiateWithRuleVO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.equippipe.EquipPipeDO;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.equippipedetail.EquipPipeDetailDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitem.PipeTaskOrderItemDO;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemdetail.PipeTaskOrderItemDetailDO;
|
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
|
|
import cn.start.tz.module.pressure2.dal.dataobject.pipetaskorderitemreport.PipeTaskOrderItemReportDO;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.equippipe.EquipPipeMapper;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.equippipedetail.EquipPipeDetailMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitem.PipeTaskOrderItemMapper;
|
|
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemdetail.PipeTaskOrderItemDetailMapper;
|
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
|
|
import cn.start.tz.module.pressure2.dal.mysql.pipetaskorderitemreport.PipeTaskOrderItemReportMapper;
|
|
|
import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
|
|
import cn.start.tz.module.pressure2.service.dynamicOFData.IDynamicOFData;
|
|
|
import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
|
|
import cn.start.tz.module.pressure2.service.dynamicOFData.util.AutoDataPipeService;
|
|
@@ -17,8 +21,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import jakarta.annotation.Resource;
|
|
import jakarta.annotation.Resource;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 压动管道定期检验项目表报告 - 记录
|
|
* 压动管道定期检验项目表报告 - 记录
|
|
@@ -38,6 +45,12 @@ public class QC12184_202401JRecordOFData implements IDynamicOFData {
|
|
|
@Resource
|
|
@Resource
|
|
|
private AutoDataPipeService autoDataPipeService;
|
|
private AutoDataPipeService autoDataPipeService;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private EquipPipeDetailMapper equipPipeDetailMapper;
|
|
|
|
|
+
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private PipeTaskOrderItemDetailMapper pipeTaskOrderItemDetailMapper;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private DynamicTbValService dynamicTbValService;
|
|
private DynamicTbValService dynamicTbValService;
|
|
|
|
|
|
|
@@ -74,14 +87,43 @@ public class QC12184_202401JRecordOFData implements IDynamicOFData {
|
|
|
result.put("projectNo","见一览表");
|
|
result.put("projectNo","见一览表");
|
|
|
result.put("projectName","见一览表");
|
|
result.put("projectName","见一览表");
|
|
|
result.put("pipeClass","见一览表");
|
|
result.put("pipeClass","见一览表");
|
|
|
- result.put("pipeLengthTotal","见一览表");
|
|
|
|
|
|
|
+// 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 {
|
|
}else {
|
|
|
EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
|
|
EquipPipeDO equipPipeDO = equipPipeMapper.selectById(itemDOList.get(0).getEquipId());
|
|
|
if (equipPipeDO != null){
|
|
if (equipPipeDO != null){
|
|
|
result.put("projectNo",equipPipeDO.getProjectNo());
|
|
result.put("projectNo",equipPipeDO.getProjectNo());
|
|
|
result.put("projectName",equipPipeDO.getProjectName());
|
|
result.put("projectName",equipPipeDO.getProjectName());
|
|
|
result.put("pipeClass",equipPipeDO.getPipeClass());
|
|
result.put("pipeClass",equipPipeDO.getPipeClass());
|
|
|
- result.put("pipeLengthTotal",equipPipeDO.getPipeLengthTotal().toString());
|
|
|
|
|
|
|
+
|
|
|
|
|
+ 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());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|