From 950264a579736c1c51f1efe4baf0ac1476d5748c Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 02 十二月 2024 11:06:46 +0800
Subject: [PATCH] bug修改

---
 finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java |   78 +++++++++++++++++++++++---------------
 1 files changed, 47 insertions(+), 31 deletions(-)

diff --git a/finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java b/finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java
index d48f5cd..2b63466 100644
--- a/finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java
+++ b/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());
+        String previousQuarter = DateUtils.getPreviousQuarter();
+        // previousQuarter = "2024年二季度";
         List<RiskRankingVO> voList = tbScoreService.queryRiskRanking(
-                "2024年一季度");
+                previousQuarter);
         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());
                 }
             }
@@ -365,6 +365,7 @@
                 scoreRateDataVO.setScore(0D);
                 scoreRateDataVO.setSubType(SubTypeEnum.getEnumByCode(i + 1));
                 scoreRateDataVO.setScoreRate(0D);
+                scoreRateDataVO.setMaxScore(0D);
             } else {
                 Double indicatorOne = getLevelThreeIndicators(voList, indicatorList.get(i)).stream()
                         .map(FieldAndScoreDataVO::getScore).reduce(Double::sum)
@@ -382,6 +383,9 @@
                         .divide(BigDecimal.valueOf(voList.get(i).getLevelOneIndicatorMaxScore()), 2,
                                 RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100L))
                         .doubleValue());
+                scoreRateDataVO.setMaxScore(
+                        getLevelThreeIndicators(voList, indicatorList.get(i)).get(0)
+                                .getLevelOneIndicatorMaxScore());
             }
             result.add(scoreRateDataVO);
         }
@@ -425,7 +429,8 @@
                         .orElse(BigDecimal.ZERO).setScale(2, RoundingMode.HALF_UP).doubleValue();
                 scoreDataVO.setLastScore(indicatorOneLastYear);
                 scoreDataVO.setScore(indicatorOne);
-                scoreDataVO.setMaxScore(voList.get(0).getLevelOneIndicatorMaxScore());
+                scoreDataVO.setMaxScore(getLevelThreeIndicators(voList, indicatorList.get(i)).get(0)
+                        .getLevelOneIndicatorMaxScore());
                 scoreDataVO.setSubType(SubTypeEnum.getEnumByCode(i + 1));
             }
             scoreDataVOList.add(scoreDataVO);
@@ -549,16 +554,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 +582,24 @@
 
     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")
+                .or(cityCode.equals("5106"))
+                .eq(cityCode.equals("5106"), SysUser::getAreaCode, "510049")
+                .or(cityCode.equals("5109"))
+                .eq(cityCode.equals("5109"), SysUser::getAreaCode, "510077")
+                .orderByAsc(!areaCode.equals("510100") && !areaCode.equals("510600")
+                                && !areaCode.equals("510900"),
+                        SysUser::getAreaCode)
+                .list();
         return list;
     }
 }

--
Gitblit v1.7.1