fuliqi
2025-01-06 7a93f4097430703dc60c4aee0240ed348a0ab1df
ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
@@ -1,14 +1,14 @@
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.domain.entity.*;
import com.ycl.platform.mapper.CalculateRecordMapper;
import com.ycl.platform.service.CalculateRecordService;
import com.ycl.platform.service.IContractResultService;
import com.ycl.platform.service.IContractScoreService;
import com.ycl.platform.service.ITContractService;
import com.ycl.utils.DateUtils;
import com.ycl.utils.bean.BeanUtils;
import enumeration.general.CalculateReportStatusEnum;
import lombok.Data;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -16,6 +16,8 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
@@ -30,7 +32,7 @@
    private final ITContractService contractService;
    private final IContractScoreService contractScoreService;
    private final IContractResultService checkResultService;
    private final CalculateRecordMapper calculateRecordMapper;
    private String startTime;
    private String endTime;
@@ -38,7 +40,6 @@
     * 每个月1号执行,统计考核结果
     */
    @Transactional
    // @PostConstruct //启动时执行一次
    public void contractResultTask() {
        // 查询有效期内的合同
        List<TContract> list = contractService.selectUsingContract();
@@ -52,6 +53,18 @@
            // 新增考核结果记录
            List<ContractResultRecord> contractResultRecord = getContractResultRecord(contractScore, contractResult);
            checkResultService.saveBatchRecord(contractResultRecord);
            // 新增核算明细记录
            CalculateRecord calculateRecord = new CalculateRecord();
            calculateRecord.setScore(contractResult.getScore());
            calculateRecord.setContractId(Integer.parseInt(tContract.getId()+""));
            calculateRecord.setCreateTime(new Date());
            calculateRecord.setUpdateTime(new Date());
            calculateRecord.setStatus(CalculateReportStatusEnum.NOT_PUBLISH.getValue());
            Calendar calendar = Calendar.getInstance();
            calculateRecord.setWhichYear(calendar.get(Calendar.YEAR));
            calculateRecord.setWhichMonth(calendar.get(Calendar.MONTH)+1);
            calculateRecordMapper.insert(calculateRecord);
        }
    }