shenyijian
2024-06-27 92b2c64d622d76466730d2543d2b0a8357332e86
湖北水库:施工:项目列表添加片区、审批详情添加机构名
8 files modified
60 ■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java 2 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgReportUserDO.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ApprovalDTO.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProgressReportController.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml 6 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java 10 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
@@ -188,4 +188,6 @@
    private String townNm; //乡
    @TableField(exist = false)
    private String engScal; //工程规模
    @TableField(exist = false)
    private String basGuid; //片区
}
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgReportUserDO.java
@@ -65,4 +65,8 @@
    private Integer isHis;
    @TableField(exist = false)
    private String userName;
    @TableField(exist = false)
    private String deptName;
}
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DTO/ApprovalDTO.java
@@ -19,4 +19,9 @@
     * 审核人
     */
    private Long userId;
    /**
     * 0普通审批   1管理员一键驳回
     */
    private Integer isReject;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/controller/SgProgressReportController.java
@@ -105,7 +105,7 @@
    }
    /**
     * 待办列表统计(APP、web共用)
     * 待办列表统计(超级管理员)
     */
    @GetMapping(value = "/approval_count_all")
    public R countListAll(ProjectSearchDTO searchDTO) {
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProgressReportMapper.xml
@@ -140,7 +140,7 @@
                LEFT JOIN ywxt.sg_device de ON gx.gx_type = de.device_type
                LEFT JOIN ywxt.sg_progress_report re ON re.gx_step_id = step.id and re.gx_device_id = de.id
        WHERE
            1 =1 and de.id = #{deviceId}
            1 =1 and re."STATUS" != 4 and de.id = #{deviceId}
    </select>
    <select id="statusCount" resultType="cn.gistack.sm.sg.VO.SgProgressReportVO">
        SELECT
@@ -164,9 +164,9 @@
        </if>
    </select>
    <select id="getUserByIds" resultType="java.util.Map">
        select id ,real_name from ywxt.blade_user  where 1 = 1
        select u.id ,u.real_name ,d.full_name as deptName from ywxt.blade_user u inner join ywxt.blade_dept d on u.dept_id = d.id where 1 = 1
        <if test="ids != null and ids.size>0">
            AND id in
            AND u.id in
            <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">
                #{item}
            </foreach>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -8,7 +8,8 @@
        dria."city_nm",
        dria."county_nm",
        dria."town_nm",
        dria."eng_scal"
        dria."eng_scal",
        dria."bas_guid"
        FROM
        YWXT.SG_PROJECT_INFO info
        LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = info.sk_id
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -17,6 +17,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.support.Kv;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -159,6 +160,7 @@
            for (SgReportUserDO sgReportUserDO : list) {
                if (user.get("ID").equals(sgReportUserDO.getUserId())){
                    sgReportUserDO.setUserName(user.get("REAL_NAME").toString());
                    sgReportUserDO.setDeptName(user.get("DEPTNAME").toString());
                }
            }
        }
@@ -175,10 +177,19 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void approval(ApprovalDTO approvalDTO) {
        Integer isReject = approvalDTO.getIsReject();
        Long userId = approvalDTO.getUserId();
        Long id = approvalDTO.getId();
        List<SgReportUserDO> list = new LambdaQueryChainWrapper<>(sgReportUserMapper).eq(SgReportUserDO::getReportId, id).eq(SgReportUserDO::getIsHis,0)
            .eq(SgReportUserDO::getApprovalStatus, 0).orderByDesc(SgReportUserDO::getApprovalOrder).list();
        SgReportUserDO sgReportUserDO = list.stream().filter(s -> s.getUserId().equals(approvalDTO.getUserId())).findFirst().get();
        //审批者
        SgReportUserDO sgReportUserDO = new SgReportUserDO();
        if (isReject==0){
            list.stream().filter(s -> s.getUserId().equals(userId)).findFirst().get();
        }
        if (isReject==1){
            sgReportUserDO.setUserId(userId);
        }
        Date date = new Date();
        LambdaUpdateChainWrapper<SgProgressReportDO> updateChainWrapper = new LambdaUpdateChainWrapper<>(sgProgressReportMapper).eq(SgProgressReportDO::getId, id);
        LambdaUpdateChainWrapper<SgReportUserDO> userUpdate = new LambdaUpdateChainWrapper<>(sgReportUserMapper)
@@ -211,7 +222,7 @@
//                .stream().distinct()
//                .stream().filter(s->s.getApprovalOrder()!=0 && s.getApprovalOrder()<= sgReportUserDO.getApprovalOrder()).collect(Collectors.toList())
                ;
            userUpdate.set(SgReportUserDO::getApprovalStatus,2).update();
                userUpdate.set(SgReportUserDO::getApprovalStatus,2).update();
            for (SgReportUserDO reportUserDO : sgReportUserDOS) {
                if (reportUserDO.getApprovalOrder()<=sgReportUserDO.getApprovalOrder()&&reportUserDO.getApprovalOrder()!=0){
                    //更新为历史数据
@@ -327,13 +338,8 @@
    @Override
    public Map<String, Long> countListAll(ProjectSearchDTO searchDTO) {
        List<SgProgressReportVO> list = sgProgressReportMapper.queryPageListAll(null, searchDTO);
        List<SgProgressReportVO> pending = list.stream().filter(s -> s.getStatus() == 0).collect(Collectors.toList());
        List<SgProgressReportVO> over = list.stream().filter(s -> s.getStatus() == 1||s.getStatus()==2).collect(Collectors.toList());
        List<SgProgressReportVO> reject = list.stream().filter(s -> s.getStatus() == 3).collect(Collectors.toList());
        Map<String, Long> map = new HashMap<>();
        map.put("pending", (long) pending.size());
        map.put("over", (long) over.size());
        map.put("reject", (long) reject.size());
        getStatusCountByList(list, map);
        return map;
    }
@@ -341,6 +347,11 @@
    public Map<String, Long> statusCount(ProjectSearchDTO searchDTO) {
        List<SgProgressReportVO> list = sgProgressReportMapper.statusCount(searchDTO);
        Map<String, Long> map  = new HashMap<>();
        getStatusCountByList(list, map);
        return map;
    }
    private  void getStatusCountByList(List<SgProgressReportVO> list, Map<String, Long> map) {
        List<SgProgressReportVO> pending = list.stream().filter(s -> s.getStatus() == 0).collect(Collectors.toList());
        List<SgProgressReportVO> progress = list.stream().filter(s -> s.getStatus() == 1).collect(Collectors.toList());
        List<SgProgressReportVO> over = list.stream().filter(s -> s.getStatus() == 2).collect(Collectors.toList());
@@ -352,7 +363,6 @@
        map.put("over", (long) over.size());
        map.put("reject", (long) reject.size());
        map.put("draft", (long) draft.size());
        return map;
    }
    @Override
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -44,10 +44,12 @@
    public IPage<SgProjectInfoDO> queryPageList(IPage<SgProjectInfoDO> page, ProjectSearchDTO searchDTO) {
        List<SgProjectInfoDO> sgProjectInfoDOS = baseMapper.queryPageList(page,searchDTO);
        List<SgProjectInfoDO> projectProgress = getProjectProgress(sgProjectInfoMapper.queryStepByProject(searchDTO));
        Map<Long, String> progressMap = projectProgress.stream().collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
        sgProjectInfoDOS.forEach(s->{
            s.setProjectProgress(progressMap.get(s.getId()));
        });
        if (CollectionUtils.isNotEmpty(projectProgress)){
            Map<Long, String> progressMap = projectProgress.stream().filter(s->s.getProjectProgress()!=null).collect(Collectors.toMap(SgProjectInfoDO::getId, SgProjectInfoDO::getProjectProgress));
            sgProjectInfoDOS.forEach(s->{
                s.setProjectProgress(progressMap.get(s.getId()));
            });
        }
        return page.setRecords(sgProjectInfoDOS);
    }