shenyijian
2024-11-02 b1d76ff75fef33e8b2307f3a8c2f4ec5e638f0cd
湖北水库:项目单位过滤
3 files modified
61 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java 45 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -85,9 +85,9 @@
                #{id}
            </foreach>)
        </if>
        <if test="dto.deptId != null and dto.deptId !=''">
        <!--<if test="dto.deptId != null and dto.deptId !=''">
            and (info.control_unit = #{dto.deptId} or info.construction_unit = #{dto.deptId})
        </if>
        </if>-->
        <if test="dto.adCode != null and dto.adCode !=''">
            and dria."county_cd" = #{dto.adCode}
        </if>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -726,13 +726,17 @@
        //判断是不是省厅建办  否的话就不设置部门
        if (!roleId.equals(1800820667082948610L)){
            //判断是不是县级建办  否的话就是监理单位下人员进行
            if(!roleId.equals(1811657352658042882L)){
            if(roleId.equals(1710904523971129345L)){
                searchDTO.setUserUnit(longList);
            }else if (roleId.equals(1800818489547112450L)){
                searchDTO.setSelfUnit(longList);
            }else {
            }
            if(roleId.equals(1811657352658042882L)) {
                searchDTO.setCountryUnit(longList);
            }
            if(roleId==1800818489547112450L){
                searchDTO.setSelfUnit(longList);
            }
        }
    }
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jetbrains.annotations.NotNull;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -58,6 +59,9 @@
        List<String> sgCodeS = getSgCodeByUser();
        searchDTO.setSgCodeS(sgCodeS);
        setAdCode(searchDTO);
        BladeUser user = AuthUtil.getUser();
        Long roleId = getRoleId();
        setUnit2(searchDTO,user,roleId);
        Boolean isPage = searchDTO.getIsPage();
        if (isPage==null) isPage = true;
        if (isPage ){
@@ -111,7 +115,42 @@
        }
    }
    private  void setUnit2(ProjectSearchDTO searchDTO, BladeUser user, Long roleId) {
        List<String> longList = Arrays.stream(user.getDeptId().split(","))
            .collect(Collectors.toList());
        //判断是不是省厅建办  否的话就不设置部门
        if (!roleId.equals(1800820667082948610L)){
            //判断是不是县级建办  否的话就是监理单位下人员进行
            if(roleId.equals(1710904523971129345L)){
                searchDTO.setUserUnit(longList);
            }
            if(roleId.equals(1811657352658042882L)) {
                searchDTO.setCountryUnit(longList);
            }
            if(roleId==1800818489547112450L){
                searchDTO.setSelfUnit(longList);
            }
        }
    }
    public Long getRoleId(){
        BladeUser user = AuthUtil.getUser();
        List<String> userRole = Arrays.asList(user.getRoleId().split(","));
        List<Long> roleList = sgProgressReportMapper.getSgEngineerRole();
        Long roleId = null;
        for (String s : userRole) {
            long l = Long.parseLong(s);
            if (roleList.contains(l)){
                roleId = l;
            }
        }
        if (Objects.isNull(roleId)){
            roleId = Long.parseLong(userRole.get(0));
        }
        return roleId;
    }
    /**
     * 设置百分号
     * @param s
@@ -341,6 +380,9 @@
        List<String> sgCodeS = getSgCodeByUser();
        searchDTO.setSgCodeS(sgCodeS);
        setDeptId(searchDTO);
        BladeUser user = AuthUtil.getUser();
        Long roleId = getRoleId();
        setUnit2(searchDTO,user,roleId);
        List<SgProjectInfoDO> list = sgProjectInfoMapper.queryPageList(null, searchDTO);
        return list;
    }
@@ -636,6 +678,9 @@
    public Map<String, Object> projectCount(ProjectSearchDTO searchDTO) {
        List<String> sgCodeS = getSgCodeByUser();
        searchDTO.setSgCodeS(sgCodeS);
        BladeUser user = AuthUtil.getUser();
        Long roleId = getRoleId();
        setUnit2(searchDTO,user,roleId);
        Map<String, Object> map  = new HashMap<>();
        List<SgProjectInfoVO> progressList = progressList(searchDTO);
        BigDecimal reduce = progressList.stream().filter(s->s.getProjectProgressNum()!=null).map(SgProjectInfoDO::getProjectProgressNum).reduce(BigDecimal.ZERO, BigDecimal::add);