fuliqi
2024-09-06 ed17071e1db9208dbda562655f7fb541db4f2ea4
考核积分bug,分保留一位小数
2个文件已修改
61 ■■■■■ 已修改文件
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckScoreServiceImpl.java
@@ -173,7 +173,9 @@
                checkScores = scoreMapper.selectCheckScoreMap(checkScore);
            }
        }
        return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
        //分数保留一位小数
        checkScores.stream().forEach(item ->item.setScore(item.getScore().setScale(1,RoundingMode.HALF_UP)));
        return  checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
    }
    private void getCheckScore(CheckScore checkScore, Calendar calendar) {
@@ -193,7 +195,7 @@
    }
    /**
     * 查询考核积分卡片列表
     * 查询考核积分卡片折线图
     *
     * @param checkScore 考核积分
     * @return 考核积分
@@ -217,6 +219,8 @@
            checkScore.setDate(date);
        }
        List<CheckScore> checkScores = scoreMapper.selectCheckScoreList(checkScore);
        //分数保留一位小数
        checkScores.stream().forEach(item ->item.setScore(item.getScore().setScale(1,RoundingMode.HALF_UP)));
        return checkScores.stream().collect(Collectors.groupingBy(CheckScore::getDeptId));
    }
@@ -231,7 +235,9 @@
    public List<CheckScore> page(CheckScore checkScore) {
        //区县只能看已发布
        roleControl(checkScore);
        return scoreMapper.selectCheckScoreList(checkScore);
        List<CheckScore> scoreList = scoreMapper.selectCheckScoreList(checkScore);
        scoreList.stream().forEach(item ->item.setScore(item.getScore().setScale(1,RoundingMode.HALF_UP)));
        return scoreList;
    }
    /**
@@ -291,24 +297,24 @@
     */
    @Override
    public void exportIndex(HttpServletResponse response, CheckResultExportDTO exportDTO) throws IOException {
        String date = exportDTO.getDate();
//        String date = exportDTO.getDate();
        //如果请求参数时间为空,查这条记录的时间
        if (StringUtils.isEmpty(exportDTO.getDate()) && CollectionUtils.isEmpty(exportDTO.getQuarter())) {
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
            if (exportDTO.getId() != null) {
                CheckScore checkScore = getById(exportDTO.getId());
                Date createTime = checkScore.getCreateTime();
                date = formatter.format(createTime);
            } else {
                //防止卡片页面导出不传scoreId,导致报错
                date = formatter.format(new Date());
            }
        }
//        if (StringUtils.isEmpty(exportDTO.getDate()) && CollectionUtils.isEmpty(exportDTO.getQuarter())) {
//            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
//            if (exportDTO.getId() != null) {
//                CheckScore checkScore = getById(exportDTO.getId());
//                Date createTime = checkScore.getCreateTime();
//                date = formatter.format(createTime);
//            } else {
//                //防止卡片页面导出不传scoreId,导致报错
//                date = formatter.format(new Date());
//            }
//        }
        /** 导三张sheet */
        //车辆
        CheckIndexCar checkIndexCar = new CheckIndexCar();
        checkIndexCar.setDate(date);
//        checkIndexCar.setDate(date);
        checkIndexCar.setQuarter(exportDTO.getQuarter());
        checkIndexCar.setDeptId(exportDTO.getDeptId());
        checkIndexCar.setDeptIds(exportDTO.getDeptIds());
@@ -350,7 +356,7 @@
        ExcelExp e1 = new ExcelExp("车辆考核指标数据", checkIndexCarVOS, CheckIndexCarVO.class);
        //人脸
        CheckIndexFace checkIndexFace = new CheckIndexFace();
        checkIndexFace.setDate(date);
//        checkIndexFace.setDate(date);
        checkIndexFace.setQuarter(exportDTO.getQuarter());
        checkIndexFace.setDeptId(exportDTO.getDeptId());
        checkIndexFace.setDeptIds(exportDTO.getDeptIds());
@@ -392,7 +398,7 @@
        ExcelExp e2 = new ExcelExp("人脸考核指标数据", checkIndexFaceVOS, CheckIndexFaceVO.class);
        //视频
        CheckIndexVideo checkIndexVideo = new CheckIndexVideo();
        checkIndexVideo.setDate(date);
//        checkIndexVideo.setDate(date);
        checkIndexVideo.setQuarter(exportDTO.getQuarter());
        checkIndexVideo.setDeptId(exportDTO.getDeptId());
        checkIndexVideo.setDeptIds(exportDTO.getDeptIds());
ycl-server/src/main/resources/mapper/zgyw/CheckScoreMapper.xml
@@ -144,24 +144,25 @@
    </insert>
    <select id="selectCheckScoreMap" resultType="com.ycl.platform.domain.entity.CheckScore">
        SELECT
        id,
        SELECT * FROM
        (SELECT
        tcs.id,
        tcs.dept_id,
        examine_category,
        ROUND(AVG(score) OVER(PARTITION BY tcs.dept_id, examine_category), 2) AS score,
        tcs.examine_category,
        tcs.publish,
        tcs.create_time AS createTime
        tcs.create_time,
        ROW_NUMBER() OVER(PARTITION BY tcs.dept_id, tcs.examine_category ORDER BY tcs.create_time DESC) AS rn,
        AVG(tcs.score) OVER(PARTITION BY tcs.dept_id, tcs.examine_category) AS score
        FROM
        t_check_score tcs
        LEFT JOIN sys_dept d ON tcs.dept_id = d.dept_id
        <where>
            examine_tag = #{examineTag}
            AND DATE_FORMAT(tcs.create_time, '%Y-%m') BETWEEN DATE_FORMAT(#{startDate}, '%Y-%m') AND
            DATE_FORMAT(#{endDate}, '%Y-%m')
            <if test="params.publish != null  and params.publish != ''">and publish = #{params.publish}</if>
            AND DATE(tcs.create_time) BETWEEN DATE(#{startDate}) AND DATE(#{endDate})
            <if test="params.publish != null  and params.publish != ''">AND tcs.publish = #{params.publish}</if>
            ${params.dataScope}
        </where>
        GROUP BY tcs.dept_id, tcs.examine_category, tcs.examine_tag
        ) t where rn =1
    </select>
    <select id="getLast" resultType="com.ycl.platform.domain.entity.CheckScore">