|
|
@@ -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());
|
|
|
}
|
|
|
}
|
|
|
}
|