|
@@ -7,18 +7,20 @@ import com.ruoyi.common.core.domain.PageQuery;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.ruoyi.zdsz.domain.ZArea;
|
|
|
+import com.ruoyi.zdsz.domain.bo.ZAreaBo;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZBuildingBo;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.BulidingStatusVo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.roomStatusVo;
|
|
|
+import com.ruoyi.zdsz.domain.vo.*;
|
|
|
+import com.ruoyi.zdsz.mapper.ZAreaMapper;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
|
import com.ruoyi.zdsz.service.IZMaterialStatisticsService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.Value;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
|
|
|
-import com.ruoyi.zdsz.domain.vo.ZEngineeringCivilVo;
|
|
|
import com.ruoyi.zdsz.domain.ZEngineeringCivil;
|
|
|
import com.ruoyi.zdsz.mapper.ZEngineeringCivilMapper;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringCivilService;
|
|
@@ -40,6 +42,8 @@ import java.util.stream.Collectors;
|
|
|
public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
|
|
|
|
private final ZEngineeringCivilMapper baseMapper;
|
|
|
+ @Resource
|
|
|
+ private ZAreaMapper zAreaMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private IZEngineeringNodeService izEngineeringNodeService;
|
|
@@ -270,4 +274,35 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
|
});
|
|
|
return areaList ;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public TableDataInfo<areaStatusVo> getAreaCompletionInformationList(ZEngineeringCivilBo bo,PageQuery po) {
|
|
|
+ LambdaQueryWrapper<ZArea> lqw =Wrappers.lambdaQuery();
|
|
|
+ Page<ZBuildingBo> page = new Page<>(po.getPageNum(), po.getPageSize());
|
|
|
+ Page<ZAreaVo> result = zAreaMapper.selectVoPage(po.build(),lqw);
|
|
|
+ List<ZAreaVo> IdList= result.getRecords();
|
|
|
+ List Id=new ArrayList();
|
|
|
+ IdList.stream().forEach(item->{
|
|
|
+ Id.add(item.getId());
|
|
|
+ });
|
|
|
+ List<areaWillDoneVo> hourseList=baseMapper.getAreaCompletionInformationList(Id,bo.getEnginCycle());
|
|
|
+ Map<String,List<areaWillDoneVo>> stringListMap= hourseList.stream().collect(Collectors.groupingBy(item->item.getAreaId()));
|
|
|
+ List<areaStatusVo> areaList=new ArrayList<>();
|
|
|
+ stringListMap.forEach((key,value)->{
|
|
|
+ areaStatusVo areaStatusVo=new areaStatusVo();
|
|
|
+ List willDone = value.stream().filter(item->item.getRoomStatus().equals("未完工")).collect(Collectors.toList());
|
|
|
+ List notstart =value.stream().filter(item->item.getRoomStatus().equals("未开工")).collect(Collectors.toList());
|
|
|
+ List done =value.stream().filter(item->item.getRoomStatus().equals("完工")).collect(Collectors.toList());
|
|
|
+ areaStatusVo.setAreaId(key);
|
|
|
+ areaStatusVo.setAreaName(value.get(0).getName());
|
|
|
+ areaStatusVo.setWillDone(String.valueOf(willDone.size()));
|
|
|
+ areaStatusVo.setNotstart(String.valueOf(notstart.size()));
|
|
|
+ areaStatusVo.setDone(String.valueOf(done.size()));
|
|
|
+ areaList.add(areaStatusVo);
|
|
|
+ });
|
|
|
+ Page<areaStatusVo> page2=new Page<>();
|
|
|
+ BeanUtils.copyProperties(result,page2);
|
|
|
+ page2.setRecords(areaList);
|
|
|
+ return TableDataInfo.build(page2);
|
|
|
+ }
|
|
|
}
|