|
@@ -1,23 +1,20 @@
|
|
|
package com.ruoyi.zdsz.service.impl;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.ruoyi.common.annotation.Translation;
|
|
|
-import com.ruoyi.common.helper.LoginHelper;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
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.ZBuilding;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZBuildingBo;
|
|
|
-import com.ruoyi.zdsz.domain.bo.ZEngineeringInfoBo;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
|
|
|
-import com.ruoyi.zdsz.service.IZEngineeringInfoService;
|
|
|
+import com.ruoyi.zdsz.domain.vo.BulidingStatusVo;
|
|
|
+import com.ruoyi.zdsz.domain.vo.roomStatusVo;
|
|
|
import com.ruoyi.zdsz.service.IZEngineeringNodeService;
|
|
|
import com.ruoyi.zdsz.service.IZMaterialStatisticsService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.Value;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.ruoyi.zdsz.domain.bo.ZEngineeringCivilBo;
|
|
@@ -29,10 +26,8 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Collection;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 民用工程Service业务层处理
|
|
@@ -144,7 +139,7 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getEnginCycle()), ZEngineeringCivil::getEnginCycle, bo.getEnginCycle());
|
|
|
lqw.eq(StringUtils.isNotBlank(bo.getEnginClassification()), ZEngineeringCivil::getEnginClassification, bo.getEnginClassification());
|
|
|
ZEngineeringCivilVo zEngineeringCivilVo = baseMapper.selectVoOne(lqw);
|
|
|
- if (bo.getEnginType().equals("室内工程")) {
|
|
|
+ if ("indoor_engin".equals(bo.getEnginClassification())) {
|
|
|
izMaterialStatisticsService.insert(bo);
|
|
|
}
|
|
|
if (ObjectUtils.isEmpty(zEngineeringCivilVo)) {
|
|
@@ -247,4 +242,32 @@ public class ZEngineeringCivilServiceImpl implements IZEngineeringCivilService {
|
|
|
lqw.in(!ids.isEmpty(), ZEngineeringCivil::getHouseId, ids);
|
|
|
return baseMapper.selectVoList(lqw).size();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List getObtainRoomcCompletionInformationList(ZEngineeringCivilBo bo) {
|
|
|
+ List<roomStatusVo> roomStatusList= baseMapper.getObtainRoomcCompletionInformationList(bo);
|
|
|
+ Map<String ,List<roomStatusVo>> map=new HashMap<>();
|
|
|
+ map= roomStatusList.stream().collect(Collectors.groupingBy(item->item.getUnitName()));
|
|
|
+ List areaList=new ArrayList();
|
|
|
+ map.forEach((key,value)->{
|
|
|
+ BulidingStatusVo bulidingStatusVo=new BulidingStatusVo();
|
|
|
+ bulidingStatusVo.setUnitName(key);
|
|
|
+ bulidingStatusVo.setUnitId(value.get(0).getUnitId());
|
|
|
+ //bulidingStatusVo.setRoomStatusVoList(value);
|
|
|
+ Map<String ,List<roomStatusVo>> roomMap= value.stream().collect(Collectors.groupingBy(item-> String.valueOf(item.getRoomName().length()>3?item.getRoomName().charAt(1):item.getRoomName().charAt(0))));;
|
|
|
+ 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());
|
|
|
+ List<List<roomStatusVo>> roomStatusVoList=new ArrayList<>();
|
|
|
+ roomMap.forEach((key1,value1)->{
|
|
|
+ roomStatusVoList.add(value1);
|
|
|
+ });
|
|
|
+ bulidingStatusVo.setRoomStatusVoList(roomStatusVoList);
|
|
|
+ bulidingStatusVo.setDone(String.valueOf(done.size()));
|
|
|
+ bulidingStatusVo.setWillDone(String.valueOf(willDone.size()));
|
|
|
+ bulidingStatusVo.setNotstart(String.valueOf(notstart.size()));
|
|
|
+ areaList.add(bulidingStatusVo);
|
|
|
+ });
|
|
|
+ return areaList ;
|
|
|
+ }
|
|
|
}
|