finance-admin/src/main/java/com/finance/web/controller/api/CurrentQuarterController.java
@@ -5,6 +5,7 @@ import com.finance.common.exception.ServiceException; import com.finance.common.utils.BeanUtils; import com.finance.common.utils.DateUtils; import com.finance.system.constants.QuarterConstant; import com.finance.system.domain.TbQuestion; import com.finance.system.dto.QuestionDTO; import com.finance.system.dto.update.BasicDataUpdDTO; @@ -68,7 +69,7 @@ @Validated @RequestBody CurrentFieldsQuery dto) { try { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年一季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; dto.setQuarter(previousQuarter); return tbBasicDataService.fieldsStatics(dto); } catch (Exception e) { @@ -150,7 +151,7 @@ @Validated @RequestBody ScoreCalculateQuery query) { try { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年一季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; query.setQuarter(previousQuarter); return R.ok(tbBasicDataService.scoreCalculatePage(query)); } catch (Exception e) { finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java
@@ -15,6 +15,7 @@ import com.finance.common.utils.CollUtils; import com.finance.common.utils.DateUtils; import com.finance.common.utils.StringUtils; import com.finance.system.constants.QuarterConstant; import com.finance.system.domain.TbBasicData; import com.finance.system.domain.TbBasicDataCategory; import com.finance.system.domain.TbQuestion; @@ -121,7 +122,7 @@ ScoreRankVO scoreRankVO = tbScoreService.queryRankAndScoreByAreaCode("510000"); riskAndTransferVO.setScoreRankVO(scoreRankVO); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; // 查询转移支付规模总额 List<TbBasicData> list = tbBasicDataService.lambdaQuery() .select(TbBasicData::getTransferPaymentScale) @@ -242,7 +243,7 @@ DataScreenConfigVO riskLevel = tbDataScreenConfigService.getRiskLevel(); List<RiskLevelVO> riskLevelVOList = formatRiskLevel(riskLevel); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; List<RiskRankingVO> voList = tbScoreService.queryRiskRanking( previousQuarter); int rank = 1; @@ -268,7 +269,7 @@ public List<QuestionVO> queryQuestions() throws Exception { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; List<TbQuestion> list = tbQuestionService.lambdaQuery() .eq(TbQuestion::getQuarter, previousQuarter).list(); return BeanUtils.copyList(list, QuestionVO.class); @@ -284,7 +285,7 @@ dataAnalysisVO.setRank(scoreRankVO.getRank()); dataAnalysisVO.setScore(scoreRankVO.getScore()); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; // 查询问题 List<TbQuestion> list = tbQuestionService.lambdaQuery() .eq(TbQuestion::getQuarter, previousQuarter) @@ -367,7 +368,9 @@ scoreRateDataVO.setScoreRate(0D); scoreRateDataVO.setMaxScore(0D); } else { Double indicatorOne = getLevelThreeIndicators(voList, indicatorList.get(i)).stream() List<FieldAndScoreDataVO> levelThreeIndicators = getLevelThreeIndicators(voList, indicatorList.get(i)); Double indicatorOne = levelThreeIndicators.stream() .map(FieldAndScoreDataVO::getScore).reduce(Double::sum) .map(BigDecimal::valueOf) .orElse(BigDecimal.ZERO).setScale(2, RoundingMode.HALF_UP) @@ -380,11 +383,12 @@ scoreRateDataVO.setScore(indicatorOne); scoreRateDataVO.setSubType(SubTypeEnum.getEnumByCode(i + 1)); scoreRateDataVO.setScoreRate(BigDecimal.valueOf(indicatorOne) .divide(BigDecimal.valueOf(voList.get(i).getLevelOneIndicatorMaxScore()), 2, .divide(BigDecimal.valueOf( levelThreeIndicators.get(0).getLevelOneIndicatorMaxScore()), 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100L)) .doubleValue()); scoreRateDataVO.setMaxScore( getLevelThreeIndicators(voList, indicatorList.get(i)).get(0) levelThreeIndicators.get(0) .getLevelOneIndicatorMaxScore()); } result.add(scoreRateDataVO); @@ -554,13 +558,13 @@ public List<DeptCalculateDetailVO> deptCalculateDetail(DeptCalculateDetailQuery query) throws Exception { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; return tbScoreService.deptCalculateDetail(query, previousQuarter); } public CurrentFieldsDetailVO viewRawData(String areaCode) throws Exception { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; Optional<TbBasicData> basicDataOptional = tbBasicDataService.lambdaQuery() .eq(TbBasicData::getDeptAreaCode, areaCode) .eq(TbBasicData::getQuarter, previousQuarter).oneOpt(); finance-common/src/main/java/com/finance/common/utils/DateUtils.java
@@ -477,13 +477,13 @@ String month = DateUtil.format(getQuarterDateEnd("2024年一季度"), "MM"); System.out.println(Double.parseDouble(month)); System.out.println(simpleDateFormat.format(getQuarterDate("2024年二季度"))); System.out.println(simpleDateFormat.format(getQuarterDate("2024年三季度"))); System.out.println(simpleDateFormat.format(getQuarterDate("2024年四季度"))); System.out.println(simpleDateFormat.format(getQuarterDate("2024年四季度"))); System.out.println( DateUtil.format(getQuarterDateEnd(getPreviousQuarter()), "yyyy-MM-dd HH:mm:ss")); System.out.println( DateUtil.format(getQuarterDate(getPreviousQuarter()), "yyyy-MM-dd HH:mm:ss")); System.out.println(getLastYearQuarter("2024年一季度")); System.out.println(getLastYearQuarter("2024年四季度")); } public static String getLastYearQuarter(String previousQuarter) { finance-system/src/main/java/com/finance/system/constants/QuarterConstant.java
New file @@ -0,0 +1,12 @@ package com.finance.system.constants; /** * @author mitao * @date 2025/4/7 */ public interface QuarterConstant { // public static final String CURRENT_QUARTER = "2024年三季度"; public static final String CURRENT_QUARTER = "2024年四季度"; } finance-system/src/main/java/com/finance/system/service/impl/AsyncServiceImpl.java
@@ -20,6 +20,7 @@ import com.finance.common.utils.CollUtils; import com.finance.common.utils.DateUtils; import com.finance.common.utils.StringUtils; import com.finance.system.constants.QuarterConstant; import com.finance.system.domain.TbBasicData; import com.finance.system.domain.TbBasicDataConfig; import com.finance.system.domain.TbBasicDataConfigDetail; @@ -793,7 +794,7 @@ @Override public void subtractScoreWithFixedRules(String deptAreaCode) throws Exception { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; TbBasicData tbBasicData = tbBasicDataMapper.selectOne( Wrappers.lambdaQuery(TbBasicData.class).eq(TbBasicData::getQuarter, previousQuarter) .eq(TbBasicData::getDeptAreaCode, deptAreaCode)); finance-system/src/main/java/com/finance/system/service/impl/TbBasicDataServiceImpl.java
@@ -29,6 +29,7 @@ import com.finance.common.utils.EasyExcelUtil; import com.finance.common.utils.SecurityUtils; import com.finance.common.utils.StringUtils; import com.finance.system.constants.QuarterConstant; import com.finance.system.domain.TbBasicData; import com.finance.system.domain.TbBasicDataConfig; import com.finance.system.domain.TbBasicDataConfigDetail; @@ -157,7 +158,7 @@ LocalDate fifteenDaysLimit = quarterStartLocalDate.plusDays(14); LocalDate now = LocalDate.now(); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年一季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; DateUtils.getQuarterDate(previousQuarter); vo.setQuarter(previousQuarter); vo.setStatus(ReportingStatusEnum.UNFILLED); @@ -232,7 +233,7 @@ return; } String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年一季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; // 查询需要填写的动态字段 List<TbField> fieldList = tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list(); @@ -497,7 +498,7 @@ LoginUser loginUser = SecurityUtils.getLoginUser(); String areaCode = loginUser.getUser().getAreaCode(); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年一季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; EasyExcel.read( file.getInputStream(), new BasicDataListener( finance-system/src/main/java/com/finance/system/service/impl/TbQuestionServiceImpl.java
@@ -9,6 +9,7 @@ import com.finance.common.utils.CollUtils; import com.finance.common.utils.DateUtils; import com.finance.common.utils.StringUtils; import com.finance.system.constants.QuarterConstant; import com.finance.system.domain.TbQuestion; import com.finance.system.dto.QuestionDTO; import com.finance.system.dto.update.QuestionUpdDTO; @@ -48,7 +49,7 @@ TbQuestion tbQuestion = BeanUtils.copyBean(dto, TbQuestion.class); tbQuestion.setType(dto.getType()); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; tbQuestion.setQuarter(previousQuarter); this.save(tbQuestion); asyncService.subtractScoreWithFixedRules(dto.getDeptAreaCode()); finance-system/src/main/java/com/finance/system/service/impl/TbScoreServiceImpl.java
@@ -10,6 +10,7 @@ import com.finance.common.utils.BeanUtils; import com.finance.common.utils.CollUtils; import com.finance.common.utils.DateUtils; import com.finance.system.constants.QuarterConstant; import com.finance.system.domain.TbBasicDataConfig; import com.finance.system.domain.TbScore; import com.finance.system.mapper.TbScoreMapper; @@ -81,7 +82,7 @@ vo.setCalculateType(config.getCalculateType()); Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize()); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年一季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; query.setPreviousQuarter(previousQuarter); Page<ScoreDetailVO> pageVO = baseMapper.scoreCalculateDetail(query, page); vo.setTotal(pageVO.getTotal()); @@ -117,7 +118,7 @@ @Override public ScoreRankVO queryRankAndScoreByAreaCode(String areaCode) throws Exception { String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; List<ScoreRankVO> voList = baseMapper.queryRankAndScoreByAreaCode(areaCode, previousQuarter); if (CollUtils.isNotEmpty(voList)) { @@ -155,7 +156,7 @@ vo.setCalculateType(config.getCalculateType()); Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize()); String previousQuarter = DateUtils.getPreviousQuarter(); // previousQuarter = "2024年二季度"; previousQuarter = QuarterConstant.CURRENT_QUARTER; query.setPreviousQuarter(previousQuarter); Page<ScoreDetailVO> pageVO = baseMapper.fieldsDetail(query, page, areaCodeList); vo.setTotal(pageVO.getTotal()); finance-system/src/main/resources/mapper/system/TbBasicDataMapper.xml
@@ -116,12 +116,6 @@ <if test="isAll!=null and isAll == 2"> AND tbd.dept_area_code = #{areaCode} </if> <if test="yearType==1"> AND YEAR(tbd.reporting_time) = YEAR(CURDATE()) </if> <if test="yearType==2"> AND YEAR(tbd.reporting_time) = YEAR(CURDATE())-1 </if> </where> </select> <select id="getKuKuanBaoZhangShuiPingByAreaCode" resultType="java.lang.String"> finance-system/src/main/resources/mapper/system/TbDataScreenScoreMapper.xml
@@ -62,10 +62,10 @@ AND tbd.dept_area_code = #{areaCode} AND tbsc.id = #{dataScreenConfigId} <if test="yearType==1"> AND YEAR(tbd.reporting_time) = YEAR(CURDATE()) AND YEAR(tbd.reporting_time) = SUBSTRING(tbd.quarter, 1, 4) </if> <if test="yearType==2"> AND YEAR(tbd.reporting_time) = YEAR(CURDATE())-1 AND YEAR(tbd.reporting_time) = SUBSTRING(tbd.quarter, 1, 4)-1 </if> </select> <select id="selectIndicators" @@ -78,10 +78,10 @@ AND tbd.dept_area_code = #{areaCode} AND tbsc.type = #{dataScreenConfigEnum} <if test="yearType!=null and yearType==1"> AND YEAR(tbd.reporting_time) = YEAR(CURDATE()) AND YEAR(tbd.reporting_time) = SUBSTRING(#{nowQuarter}, 1, 4) </if> <if test="yearType!=null and yearType==2"> AND YEAR(tbd.reporting_time) = YEAR(CURDATE())-1 AND YEAR(tbd.reporting_time) = SUBSTRING(#{nowQuarter}, 1, 4) -1 </if> <if test="nowQuarter!=null and nowQuarter != ''"> AND tbd.quarter = #{nowQuarter} finance-system/src/main/resources/mapper/system/TbScoreMapper.xml
@@ -68,8 +68,6 @@ LEFT JOIN sys_user su ON tbc.dept_area_code = su.area_code <where> tbc.quarter = #{previousQuarter} AND YEAR(tbc.reporting_time) = YEAR( CURDATE()) AND su.user_id in (SELECT user_id FROM sys_user WHERE user_type = 2