|
|
@@ -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", "见一览表");
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
}
|