mitao
2024-08-30 6af08bad1986a72fa196afeb04c389c005fab673
finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java
@@ -116,9 +116,12 @@
    }
    public RiskAndTransferVO getRiskAndTransfer() throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        RiskAndTransferVO riskAndTransferVO = new RiskAndTransferVO();
        // 查询省本级得分排名
        ScoreRankVO scoreRankVO = tbScoreService.queryRankAndScoreByAreaCode("510000");
        riskAndTransferVO.setScoreRankVO(scoreRankVO);
        String previousQuarter = DateUtils.getPreviousQuarter();
        // previousQuarter = "2024年一季度";
        // 查询转移支付规模总额
        List<TbBasicData> list = tbBasicDataService.lambdaQuery()
                .select(TbBasicData::getTransferPaymentScale)
@@ -134,7 +137,10 @@
        List<RiskLevelVO> riskLevelVOList = formatRiskLevel(riskLevel);
        riskAndTransferVO.setRiskLevelVOList(riskLevelVOList);
        RiskCountVO riskCountVO = new RiskCountVO();
        List<RiskMapVO> riskMapVOList = tbScoreService.getCurrentScoreList(previousQuarter, null);
        // 地图市域得分
        List<RiskMapVO> riskMapVOList = tbScoreService.getCityScore(previousQuarter,
                riskLevel);
        // List<RiskMapVO> riskMapVOList = tbScoreService.getCurrentScoreList(previousQuarter, null);
        String[] noRiskArr = riskLevel.getNoRisk().split("_");
        String[] lowRiskArr = riskLevel.getLowRisk().split("_");
        String[] mediumRiskArr = riskLevel.getMediumRisk().split("_");
@@ -153,7 +159,7 @@
        long mediumRiskCount = cityRiskVO.stream()
                .filter(item -> item.getScore() >= Double.parseDouble(mediumRiskArr[0])
                        && item.getScore() <= Double.parseDouble(mediumRiskArr[1])).count();
        riskCountVO.setHighRiskCount((int) mediumRiskCount);
        riskCountVO.setMediumRiskCount((int) mediumRiskCount);
        long highRiskCount = cityRiskVO.stream()
                .filter(item -> item.getScore() >= Double.parseDouble(highRiskArr[0])
                        && item.getScore() <= Double.parseDouble(highRiskArr[1])).count();
@@ -184,6 +190,7 @@
        // 查询风险配置对应得分
        // List<RiskMapVO> riskMapVOList = tbDataScreenScoreService.queryScore4Map(nowQuarter,
        //         riskLevel.getId());
        riskAndTransferVO.setRiskMapVOList(riskMapVOList);
        return riskAndTransferVO;
    }
@@ -234,26 +241,26 @@
    public List<RiskRankingVO> riskRanking() throws Exception {
        DataScreenConfigVO riskLevel = tbDataScreenConfigService.getRiskLevel();
        List<RiskLevelVO> riskLevelVOList = formatRiskLevel(riskLevel);
        // List<RiskRankingVO> voList = tbScoreService.queryRiskRanking(
        //         DateUtils.getPreviousQuarter());
        List<RiskRankingVO> voList = tbScoreService.queryRiskRanking(
                "2024年一季度");
                DateUtils.getPreviousQuarter());
        // List<RiskRankingVO> voList = tbScoreService.queryRiskRanking(
        //         "2024年一季度");
        int rank = 1;
        for (RiskRankingVO riskRankingVO : voList) {
            riskRankingVO.setRank(rank++);
            for (RiskLevelVO vo : riskLevelVOList) {
                if (vo.getRiskLevel().equals(RiskLevelEnum.L1)
                        && riskRankingVO.getScore() <= vo.getMin()) {
                    riskRankingVO.setRiskLevel(vo.getRiskLevel().getCode());
                }
                // if (vo.getRiskLevel().equals(RiskLevelEnum.L1)
                //         && riskRankingVO.getScore() <= vo.getMin()) {
                //     riskRankingVO.setRiskLevel(vo.getRiskLevel().getCode());
                // }
                if (riskRankingVO.getScore() >= vo.getMin()
                        && riskRankingVO.getScore() <= vo.getMax()) {
                    riskRankingVO.setRiskLevel(vo.getRiskLevel().getCode());
                }
                if (vo.getRiskLevel().equals(RiskLevelEnum.L4)
                        && riskRankingVO.getScore() >= vo.getMax()) {
                    riskRankingVO.setRiskLevel(vo.getRiskLevel().getCode());
                }
                // if (vo.getRiskLevel().equals(RiskLevelEnum.L4)
                //         && riskRankingVO.getScore() >= vo.getMax()) {
                //     riskRankingVO.setRiskLevel(vo.getRiskLevel().getCode());
                // }
            }
        }
        return voList;
@@ -261,7 +268,7 @@
    public List<QuestionVO> queryQuestions() throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        // previousQuarter = "2024年一季度";
        List<TbQuestion> list = tbQuestionService.lambdaQuery()
                .eq(TbQuestion::getQuarter, previousQuarter).list();
        return BeanUtils.copyList(list, QuestionVO.class);
@@ -277,7 +284,7 @@
        dataAnalysisVO.setRank(scoreRankVO.getRank());
        dataAnalysisVO.setScore(scoreRankVO.getScore());
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        // previousQuarter = "2024年一季度";
        // 查询问题
        List<TbQuestion> list = tbQuestionService.lambdaQuery()
                .eq(TbQuestion::getQuarter, previousQuarter)
@@ -302,18 +309,11 @@
        // 查询风险等级
        List<RiskMapVO> currentScoreList = tbScoreService.getCurrentScoreList(previousQuarter,
                areaCode);
        for (RiskMapVO tbDataScreenScore : currentScoreList) {
            for (RiskLevelVO vo : riskLevelVOList) {
                if (vo.getRiskLevel().equals(RiskLevelEnum.L1)
                        && tbDataScreenScore.getScore() <= vo.getMin()) {
                    dataAnalysisVO.setRiskLevel(vo.getRiskLevel().getCode());
                }
                if (tbDataScreenScore.getScore() >= vo.getMin()
                        && tbDataScreenScore.getScore() <= vo.getMax()) {
                    dataAnalysisVO.setRiskLevel(vo.getRiskLevel().getCode());
                }
                if (vo.getRiskLevel().equals(RiskLevelEnum.L4)
                        && tbDataScreenScore.getScore() >= vo.getMax()) {
                    dataAnalysisVO.setRiskLevel(vo.getRiskLevel().getCode());
                }
            }
@@ -549,16 +549,15 @@
    public List<DeptCalculateDetailVO> deptCalculateDetail(DeptCalculateDetailQuery query)
            throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        // previousQuarter = "2024年一季度";
        return tbScoreService.deptCalculateDetail(query, previousQuarter);
    }
    public CurrentFieldsDetailVO viewRawData(String areaCode) throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = "2024年一季度";
        // previousQuarter = "2024年一季度";
        Optional<TbBasicData> basicDataOptional = tbBasicDataService.lambdaQuery()
                .eq(TbBasicData::getDeptAreaCode, areaCode)
                .eq(TbBasicData::getStatus, ReportingStatusEnum.FILLED)
                .eq(TbBasicData::getQuarter, previousQuarter).oneOpt();
        if (basicDataOptional.isPresent()) {
            return tbBasicDataService.fieldsDetails(basicDataOptional.get().getId()).getData();
@@ -578,12 +577,18 @@
    public List<SysUser> getCountyList(String areaCode) {
        String cityCode = areaCode.substring(0, 4);
        if (areaCode.equals("510000")) {
            cityCode = areaCode.substring(0, 3);
        }
        List<SysUser> list = sysUserService.lambdaQuery()
                .select(SysUser::getAreaCode, SysUser::getAreaName, SysUser::getAreaAlias,
                        SysUser::getUserId).eq(SysUser::getUserType,
                        UserTypeEnum.DEPARTMENT)
                .ne(SysUser::getAreaLevel, AreaLevelEnum.CITY)
                .likeRight(SysUser::getAreaCode, cityCode).list();
                .likeRight(SysUser::getAreaCode, cityCode).or(cityCode.equals("5101"))
                .in(cityCode.equals("5101"), SysUser::getAreaCode, "510008", "510015", "510017",
                        "510025")
                .orderByAsc(!areaCode.equals("510100"), SysUser::getAreaCode)
                .list();
        return list;
    }
}