fuliqi
2024-07-31 f284c5ef6a1aa6e9ba5d4e94e4b2abe83b6ea18c
ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
@@ -1,8 +1,10 @@
package com.ycl.task;
import com.ycl.platform.domain.entity.ContractResult;
import com.ycl.platform.domain.entity.ContractResultRecord;
import com.ycl.platform.domain.entity.ContractScore;
import com.ycl.platform.domain.entity.TContract;
import com.ycl.platform.service.IContractResultService;
import com.ycl.platform.service.IContractScoreService;
import com.ycl.platform.service.ITContractService;
import com.ycl.utils.DateUtils;
@@ -28,7 +30,7 @@
    private final ITContractService contractService;
    private final IContractScoreService contractScoreService;
    private final ICheckResultService checkResultService;
    private final IContractResultService checkResultService;
    private String startTime;
    private String endTime;
@@ -47,10 +49,10 @@
            // 上个月扣分记录
            List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime);
            // 新增考核结果
            CheckResult checkResult = getCheckResult(tContract, contractScore);
            checkResultService.save(checkResult);
            ContractResult contractResult = getCheckResult(tContract, contractScore);
            checkResultService.save(contractResult);
            // 新增考核结果记录
            List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, checkResult);
            List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult);
            checkResultService.saveBatchRecord(contractResultRecord);
        }
    }
@@ -58,16 +60,16 @@
    /**
     * 保存考核记录
     *
     * @param contractScore 扣分
     * @param checkResult   考核结果
     * @param contractScore  扣分
     * @param contractResult 考核结果
     * @return 考核记录
     */
    private List<ContractResultRecord> getContractResultRecord(List<ContractScore> contractScore, CheckResult checkResult) {
    private List<ContractResultRecord> getContractResultRecord(List<ContractScore> contractScore, ContractResult contractResult) {
        return contractScore.stream().map(
                item -> {
                    ContractResultRecord record = new ContractResultRecord();
                    BeanUtils.copyProperties(item, record);
                    record.setResultId(checkResult.getId());
                    record.setResultId(contractResult.getId());
                    record.setCreateTime(DateUtils.getNowDate());
                    return record;
                }
@@ -81,15 +83,14 @@
     * @param contractScore 扣分
     * @return 考核结果
     */
    private CheckResult getCheckResult(TContract tContract, List<ContractScore> contractScore) {
        CheckResult checkResult = new CheckResult();
        checkResult.setUnitId(tContract.getUnitId());
        checkResult.setContractId(tContract.getId());
        checkResult.setPublish(0);
        checkResult.setDeleted("0");
        checkResult.setCheckTime(DateUtils.getNowDate());
        checkResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get()));
        return checkResult;
    private ContractResult getCheckResult(TContract tContract, List<ContractScore> contractScore) {
        ContractResult contractResult = new ContractResult();
        contractResult.setUnitId(tContract.getUnitId());
        contractResult.setContractId(tContract.getId());
        contractResult.setPublish(0);
        contractResult.setCheckTime(DateUtils.getNowDate());
        contractResult.setScore(contractScore.isEmpty() ? new BigDecimal("100") : new BigDecimal("100").subtract(contractScore.stream().map(ContractScore::getScore).reduce(BigDecimal::add).get()));
        return contractResult;
    }