mitao
3 天以前 a93ad50197f1626a12ba5067639119400542f455
修改指定季度获取方式
1 文件已重命名
8个文件已修改
108 ■■■■ 已修改文件
finance-admin/src/main/java/com/finance/web/controller/api/CurrentQuarterController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-admin/src/main/java/com/finance/web/controller/service/ScreenService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-admin/src/main/resources/application-dev.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-admin/src/main/resources/application-prod-bak.yml 补丁 | 查看 | 原始文档 | blame | 历史
finance-system/src/main/java/com/finance/system/constants/QuarterConstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-system/src/main/java/com/finance/system/service/impl/AsyncServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-system/src/main/java/com/finance/system/service/impl/TbBasicDataServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-system/src/main/java/com/finance/system/service/impl/TbQuestionServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-system/src/main/java/com/finance/system/service/impl/TbScoreServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
finance-admin/src/main/java/com/finance/web/controller/api/CurrentQuarterController.java
@@ -5,7 +5,6 @@
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;
@@ -32,6 +31,7 @@
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
@@ -58,6 +58,9 @@
    private final TbScoreService tbScoreService;
    private final ISysUserService sysUserService;
    @Value("${fdb.quarter}")
    private String quarter;
    /**
     * 字段统计
     *
@@ -69,7 +72,7 @@
            @Validated @RequestBody CurrentFieldsQuery dto) {
        try {
            String previousQuarter = DateUtils.getPreviousQuarter();
            previousQuarter = QuarterConstant.CURRENT_QUARTER;
            previousQuarter = quarter;
            dto.setQuarter(previousQuarter);
            return tbBasicDataService.fieldsStatics(dto);
        } catch (Exception e) {
@@ -151,7 +154,7 @@
            @Validated @RequestBody ScoreCalculateQuery query) {
        try {
            String previousQuarter = DateUtils.getPreviousQuarter();
            previousQuarter = QuarterConstant.CURRENT_QUARTER;
            previousQuarter = 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,7 +15,6 @@
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;
@@ -61,6 +60,7 @@
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
@@ -80,6 +80,8 @@
    private final TbScoreService tbScoreService;
    private final TbBasicDataConfigService tbBasicDataConfigService;
    private final TbBasicDataCategoryService tbBasicDataCategoryService;
    @Value("${fdb.quarter}")
    private String quarter;
    public ProvinceStaticsVO provinceStatics() {
        ProvinceStaticsVO vo = new ProvinceStaticsVO();
@@ -122,7 +124,7 @@
        ScoreRankVO scoreRankVO = tbScoreService.queryRankAndScoreByAreaCode("510000");
        riskAndTransferVO.setScoreRankVO(scoreRankVO);
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        // 查询转移支付规模总额
        List<TbBasicData> list = tbBasicDataService.lambdaQuery()
                .select(TbBasicData::getTransferPaymentScale)
@@ -243,7 +245,7 @@
        DataScreenConfigVO riskLevel = tbDataScreenConfigService.getRiskLevel();
        List<RiskLevelVO> riskLevelVOList = formatRiskLevel(riskLevel);
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        List<RiskRankingVO> voList = tbScoreService.queryRiskRanking(
                previousQuarter);
        int rank = 1;
@@ -269,7 +271,7 @@
    public List<QuestionVO> queryQuestions() throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        List<TbQuestion> list = tbQuestionService.lambdaQuery()
                .eq(TbQuestion::getQuarter, previousQuarter).list();
        return BeanUtils.copyList(list, QuestionVO.class);
@@ -285,7 +287,7 @@
        dataAnalysisVO.setRank(scoreRankVO.getRank());
        dataAnalysisVO.setScore(scoreRankVO.getScore());
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        // 查询问题
        List<TbQuestion> list = tbQuestionService.lambdaQuery()
                .eq(TbQuestion::getQuarter, previousQuarter)
@@ -558,13 +560,13 @@
    public List<DeptCalculateDetailVO> deptCalculateDetail(DeptCalculateDetailQuery query)
            throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        return tbScoreService.deptCalculateDetail(query, previousQuarter);
    }
    public CurrentFieldsDetailVO viewRawData(String areaCode) throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        Optional<TbBasicData> basicDataOptional = tbBasicDataService.lambdaQuery()
                .eq(TbBasicData::getDeptAreaCode, areaCode)
                .eq(TbBasicData::getQuarter, previousQuarter).oneOpt();
finance-admin/src/main/resources/application-dev.yml
@@ -236,4 +236,7 @@
    accessKeySecret: 0SRb6XGkciQDPWn2rYqbJtq2qRMDY8
    signName: "四川金达通信工程"
    templateCode: "SMS_293985284"
fdb:
  #  quarter: "2024年三季度"
  quarter: "2025年二季度"
finance-admin/src/main/resources/application-prod-bak.yml
finance-system/src/main/java/com/finance/system/constants/QuarterConstant.java
@@ -6,7 +6,7 @@
 */
public interface QuarterConstant {
    // public static final String CURRENT_QUARTER = "2024年三季度";
    public static final String CURRENT_QUARTER = "2024年四季度";
    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,7 +20,6 @@
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;
@@ -52,6 +51,7 @@
import java.util.function.Function;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
@@ -71,6 +71,8 @@
    private final TbBasicDataMapper tbBasicDataMapper;
    private final TbQuestionMapper tbQuestionMapper;
    private final ISysUserService sysUserService;
    @Value("${fdb.quarter}")
    private String quarter;
    @Async
    @Override
@@ -274,7 +276,7 @@
                            BasicDataFieldEnum.BASIC_DATA_FIELD17);
                    res1 = validateDivisorValue(deptDivisorValue);
                    if (!res1) {
                        score = getScore(deptDividendValue, deptDivisorValue, month,
                        score = getScore5(deptDividendValue, deptDivisorValue, month,
                                BigDecimal.valueOf(12D),
                                vo);
                    } else {
@@ -296,7 +298,7 @@
                    res2 = validateDivisorValue(provinceDivisorValue);
                    score = 0D;
                    if (!res1 && !res2) {
                        score = getScore(deptDividendValue, deptDivisorValue,
                        score = getScore5(deptDividendValue, deptDivisorValue,
                                provinceDividendValue, provinceDivisorValue, vo);
                    }
                    break;
@@ -622,7 +624,7 @@
    }
    /**
     * 通用计算公式获取得分
     * 通用计算公式获取得分(每低1个百分点扣1分)
     *
     * @param deptDividendValue     部门被除数
     * @param deptDivisorValue      部门除数
@@ -650,6 +652,44 @@
        if (deptDivided.compareTo(provinceDivided) < 0) {
            score = deptDivided.subtract(provinceDivided)
                    .multiply(BigDecimal.valueOf(100L))
                    .add(BigDecimal.valueOf(vo.getMaxScore()))
                    .setScale(1, RoundingMode.HALF_UP);
            score = score.compareTo(BigDecimal.ZERO) >= 0 ? score : BigDecimal.ZERO;
        } else {
            score = BigDecimal.valueOf(vo.getMaxScore());
        }
        return score.doubleValue();
    }
    /**
     * 通用计算公式获取得分(每低5个百分点扣一分)
     *
     * @param deptDividendValue     部门被除数
     * @param deptDivisorValue      部门除数
     * @param provinceDividendValue 省份被除数
     * @param provinceDivisorValue  省份除数
     * @param vo                    基础数据配置
     * @return 得分
     */
    private Double getScore5(BigDecimal deptDividendValue, BigDecimal deptDivisorValue,
            BigDecimal provinceDividendValue, BigDecimal provinceDivisorValue,
            BasicDataConfigVO vo) {
        BigDecimal score = BigDecimal.ZERO;
        // 开始计算
        BigDecimal deptDivided = BigDecimal.ZERO;
        if (deptDivisorValue.compareTo(BigDecimal.ZERO) > 0) {
            deptDivided = deptDividendValue.divide(deptDivisorValue, 4, RoundingMode.HALF_UP);
        }
        BigDecimal provinceDivided = BigDecimal.ZERO;
        if (provinceDivisorValue.compareTo(BigDecimal.ZERO) > 0) {
            provinceDivided = provinceDividendValue.divide(provinceDivisorValue, 4,
                    RoundingMode.HALF_UP);
        }
        if (deptDivided.compareTo(provinceDivided) < 0) {
            score = deptDivided.subtract(provinceDivided)
                    .multiply(BigDecimal.valueOf(20))
                    .add(BigDecimal.valueOf(vo.getMaxScore()))
                    .setScale(1, RoundingMode.HALF_UP);
            score = score.compareTo(BigDecimal.ZERO) >= 0 ? score : BigDecimal.ZERO;
@@ -794,7 +834,7 @@
    @Override
    public void subtractScoreWithFixedRules(String deptAreaCode) throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = 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,7 +29,6 @@
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;
@@ -93,6 +92,7 @@
import javax.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
@@ -121,6 +121,8 @@
    private final TbDataScreenConfigService tbDataScreenConfigService;
    private final AsyncService asyncService;
    private final TbBasicDataCategoryService tbBasicDataCategoryService;
    @Value("${fdb.quarter}")
    private String quarter;
    public static void setFieldValues(
            List<FieldsTreeVO> fields, Map<Long, TbBasicDataField> fieldMap) {
@@ -158,7 +160,7 @@
        LocalDate fifteenDaysLimit = quarterStartLocalDate.plusDays(14);
        LocalDate now = LocalDate.now();
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        DateUtils.getQuarterDate(previousQuarter);
        vo.setQuarter(previousQuarter);
        vo.setStatus(ReportingStatusEnum.UNFILLED);
@@ -233,7 +235,7 @@
            return;
        }
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        // 查询需要填写的动态字段
        List<TbField> fieldList =
                tbFieldService.lambdaQuery().eq(TbField::getStatus, ShowStatusEnum.SHOW).list();
@@ -498,7 +500,7 @@
        LoginUser loginUser = SecurityUtils.getLoginUser();
        String areaCode = loginUser.getUser().getAreaCode();
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        EasyExcel.read(
                        file.getInputStream(),
                        new BasicDataListener(
finance-system/src/main/java/com/finance/system/service/impl/TbQuestionServiceImpl.java
@@ -9,7 +9,6 @@
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;
@@ -24,6 +23,7 @@
import java.util.Set;
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -42,6 +42,8 @@
    private final ISysUserService sysUserService;
    private final AsyncService asyncService;
    @Value("${fdb.quarter}")
    private String quarter;
    @Override
    @Transactional(rollbackFor = Exception.class)
@@ -49,7 +51,7 @@
        TbQuestion tbQuestion = BeanUtils.copyBean(dto, TbQuestion.class);
        tbQuestion.setType(dto.getType());
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        tbQuestion.setQuarter(previousQuarter);
        this.save(tbQuestion);
        asyncService.subtractScoreWithFixedRules(dto.getDeptAreaCode());
finance-system/src/main/java/com/finance/system/service/impl/TbScoreServiceImpl.java
@@ -10,7 +10,6 @@
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;
@@ -37,6 +36,7 @@
import java.util.stream.Collectors;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
@@ -55,6 +55,8 @@
    private final TbBasicDataConfigService basicDataConfigService;
    private final ISysUserService sysUserService;
    @Value("${fdb.quarter}")
    private String quarter;
    @Override
    public Page<ScoreVO> pageScore(ScoreQuery query, Page<ScoreVO> page) {
@@ -82,7 +84,7 @@
        vo.setCalculateType(config.getCalculateType());
        Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize());
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        query.setPreviousQuarter(previousQuarter);
        Page<ScoreDetailVO> pageVO = baseMapper.scoreCalculateDetail(query, page);
        vo.setTotal(pageVO.getTotal());
@@ -118,7 +120,7 @@
    @Override
    public ScoreRankVO queryRankAndScoreByAreaCode(String areaCode) throws Exception {
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        List<ScoreRankVO> voList = baseMapper.queryRankAndScoreByAreaCode(areaCode,
                previousQuarter);
        if (CollUtils.isNotEmpty(voList)) {
@@ -156,7 +158,7 @@
        vo.setCalculateType(config.getCalculateType());
        Page<ScoreDetailVO> page = new Page<>(query.getPageNum(), query.getPageSize());
        String previousQuarter = DateUtils.getPreviousQuarter();
        previousQuarter = QuarterConstant.CURRENT_QUARTER;
        previousQuarter = quarter;
        query.setPreviousQuarter(previousQuarter);
        Page<ScoreDetailVO> pageVO = baseMapper.fieldsDetail(query, page, areaCodeList);
        vo.setTotal(pageVO.getTotal());