龚焕茏
2024-04-28 528583047b08f74df27ac538705627741363602e
合同积分详情,合同考核结果展示
12个文件已修改
6个文件已添加
507 ■■■■■ 已修改文件
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java 123 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResultRecord.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultRecordMapper.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/java/com/ycl/task/ContractResultTask.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/CheckResultMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-server/src/main/resources/mapper/zgyw/TContractResultRecordMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CheckResult.java
@@ -1,140 +1,49 @@
package com.ycl.platform.domain.entity;
import annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.system.entity.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
 * 考核结果对象 t_check_result
 *
 *
 * @author ruoyi
 * @date 2024-04-01
 */
public class CheckResult extends BaseEntity
{
@TableName("t_contract_result")
@Data
public class CheckResult {
    private static final long serialVersionUID = 1L;
    /**  */
    private Long id;
    /** 考核对象 */
    @Excel(name = "考核对象")
    private Long deptId;
    private Long unitId;
    /** 考核发布 */
    @Excel(name = "运维合同")
    private Long contractId;
    @Excel(name = "考核发布")
    private Long publishId;
    /** 考核类型 */
    @Excel(name = "考核类型")
    private Long examineCategory;
    /** 考核分数 */
    @Excel(name = "考核分数")
    private BigDecimal checkScore;
    private BigDecimal score;
    /** 是否发布 */
    @Excel(name = "是否发布")
    private Long publish;
    private Integer publish;
    /** 考核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkTime;
    /** 逻辑删除 */
    @TableLogic
    private String deleted;
    public void setId(Long id)
    {
        this.id = id;
    }
    public Long getId()
    {
        return id;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }
    public Long getDeptId()
    {
        return deptId;
    }
    public void setPublishId(Long publishId)
    {
        this.publishId = publishId;
    }
    public Long getPublishId()
    {
        return publishId;
    }
    public void setExamineCategory(Long examineCategory)
    {
        this.examineCategory = examineCategory;
    }
    public Long getExamineCategory()
    {
        return examineCategory;
    }
    public void setCheckScore(BigDecimal checkScore)
    {
        this.checkScore = checkScore;
    }
    public BigDecimal getCheckScore()
    {
        return checkScore;
    }
    public void setPublish(Long publish)
    {
        this.publish = publish;
    }
    public Long getPublish()
    {
        return publish;
    }
    public void setCheckTime(Date checkTime)
    {
        this.checkTime = checkTime;
    }
    public Date getCheckTime()
    {
        return checkTime;
    }
    public void setDeleted(String deleted)
    {
        this.deleted = deleted;
    }
    public String getDeleted()
    {
        return deleted;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deptId", getDeptId())
            .append("publishId", getPublishId())
            .append("examineCategory", getExamineCategory())
            .append("checkScore", getCheckScore())
            .append("publish", getPublish())
            .append("checkTime", getCheckTime())
            .append("updateTime", getUpdateTime())
            .append("deleted", getDeleted())
            .toString();
    }
    private Date updateTime;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractResultRecord.java
New file
@@ -0,0 +1,31 @@
package com.ycl.platform.domain.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * @author ghl
 * @since 2024/4/28 下午 5:45
 */
@Data
@TableName("t_contract_result_record")
public class ContractResultRecord {
    @TableId
    private Integer id;
    private Integer resultId;
    private String ruleIds;
    private String ruleName;
    private String num;
    private Double score;
    private Date createTime;
    private Date auditTime;
    @TableLogic
    private String deleted;
}
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/ContractScore.java
@@ -43,7 +43,6 @@
    private Long[] ruleIdsArray;
    @Excel(name = "规则")
    @TableField(exist = false)
    private String ruleName;
    @Excel(name = "指标")
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TContract.java
@@ -49,7 +49,7 @@
     * 单位id
     */
    @NotBlank
    private Integer unitId;
    private Long unitId;
    @TableField(exist = false)
    private String unitName;
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CheckResultVO.java
New file
@@ -0,0 +1,50 @@
package com.ycl.platform.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.platform.domain.entity.CheckResult;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;
import org.springframework.lang.NonNull;
import java.math.BigDecimal;
import java.util.Date;
/**
 * @author gonghl
 */
@Data
@Accessors(chain = true)
public class CheckResultVO {
    private Long id;
    private Long unitId;
    private String unitName;
    private Long contractId;
    private String contractName;
    private Long publishId;
    private BigDecimal score;
    private Integer publish;
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date checkTime;
    private String deleted;
    private Date updateTime;
    public static CheckResultVO getVoByEntity(@NonNull CheckResult entity, CheckResultVO vo) {
        if (vo == null) {
            vo = new CheckResultVO();
        }
        BeanUtils.copyProperties(entity, vo);
        return vo;
    }
}
ycl-server/src/main/java/com/ycl/platform/controller/CheckResultController.java
@@ -2,6 +2,7 @@
import annotation.Log;
import com.ycl.platform.domain.entity.CheckResult;
import com.ycl.platform.domain.vo.CheckResultVO;
import com.ycl.platform.service.ICheckResultService;
import com.ycl.system.AjaxResult;
import com.ycl.system.controller.BaseController;
@@ -36,7 +37,7 @@
    public TableDataInfo list(CheckResult checkResult)
    {
        startPage();
        List<CheckResult> list = checkResultService.selectCheckResultList(checkResult);
        List<CheckResultVO> list = checkResultService.selectCheckResultList(checkResult);
        return getDataTable(list);
    }
@@ -48,8 +49,8 @@
    @PostMapping("/export")
    public void export(HttpServletResponse response, CheckResult checkResult)
    {
        List<CheckResult> list = checkResultService.selectCheckResultList(checkResult);
        ExcelUtil<CheckResult> util = new ExcelUtil<CheckResult>(CheckResult.class);
        List<CheckResult> list = checkResultService.selectCheckResult(checkResult);
        ExcelUtil<CheckResult> util = new ExcelUtil<>(CheckResult.class);
        util.exportExcel(response, list, "考核结果数据");
    }
ycl-server/src/main/java/com/ycl/platform/mapper/CheckResultMapper.java
@@ -3,61 +3,11 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.entity.CheckResult;
import java.util.List;
/**
 * 考核结果Mapper接口
 *
 *
 * @author ruoyi
 * @date 2024-04-01
 */
public interface CheckResultMapper extends BaseMapper<CheckResult>
{
    /**
     * 查询考核结果
     *
     * @param id 考核结果主键
     * @return 考核结果
     */
    public CheckResult selectCheckResultById(Long id);
    /**
     * 查询考核结果列表
     *
     * @param checkResult 考核结果
     * @return 考核结果集合
     */
    public List<CheckResult> selectCheckResultList(CheckResult checkResult);
    /**
     * 新增考核结果
     *
     * @param checkResult 考核结果
     * @return 结果
     */
    public int insertCheckResult(CheckResult checkResult);
    /**
     * 修改考核结果
     *
     * @param checkResult 考核结果
     * @return 结果
     */
    public int updateCheckResult(CheckResult checkResult);
    /**
     * 删除考核结果
     *
     * @param id 考核结果主键
     * @return 结果
     */
    public int deleteCheckResultById(Long id);
    /**
     * 批量删除考核结果
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCheckResultByIds(Long[] ids);
public interface CheckResultMapper extends BaseMapper<CheckResult> {
}
ycl-server/src/main/java/com/ycl/platform/mapper/ContractResultRecordMapper.java
New file
@@ -0,0 +1,15 @@
package com.ycl.platform.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ycl.platform.domain.entity.ContractResultRecord;
/**
 * @author gonghl
 */
public interface ContractResultRecordMapper extends BaseMapper<ContractResultRecord> {
}
ycl-server/src/main/java/com/ycl/platform/service/ICheckResultService.java
@@ -1,6 +1,9 @@
package com.ycl.platform.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.platform.domain.entity.CheckResult;
import com.ycl.platform.domain.entity.ContractResultRecord;
import com.ycl.platform.domain.vo.CheckResultVO;
import java.util.List;
@@ -10,7 +13,7 @@
 * @author ruoyi
 * @date 2024-04-01
 */
public interface ICheckResultService
public interface ICheckResultService extends IService<CheckResult>
{
    /**
     * 查询考核结果
@@ -26,7 +29,8 @@
     * @param checkResult 考核结果
     * @return 考核结果集合
     */
    public List<CheckResult> selectCheckResultList(CheckResult checkResult);
    public List<CheckResultVO> selectCheckResultList(CheckResult checkResult);
    public List<CheckResult> selectCheckResult(CheckResult checkResult);
    /**
     * 新增考核结果
@@ -59,4 +63,10 @@
     * @return 结果
     */
    public int deleteCheckResultById(Long id);
    /**
     * 批量保存考核结果
     * @param contractResultRecord 集合
     */
    void saveBatchRecord(List<ContractResultRecord> contractResultRecord);
}
ycl-server/src/main/java/com/ycl/platform/service/IContractScoreService.java
@@ -39,4 +39,11 @@
     * @return 结果
     */
    boolean audit(ContractScore contractScore);
    /**
     * 根据合同id查询本月合同打分
     * @param id id
     * @return 数据
     */
    List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime);
}
ycl-server/src/main/java/com/ycl/platform/service/ITContractService.java
@@ -39,4 +39,10 @@
     * @return 规则
     */
    List<CalculateMoneyRule> selectMoneyRules(Integer contractId);
    /**
     * 查询所有正在使用的合同
     * @return 数据
     */
    List<TContract> selectUsingContract();
}
ycl-server/src/main/java/com/ycl/platform/service/impl/CheckResultServiceImpl.java
@@ -2,96 +2,119 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.domain.entity.CheckResult;
import com.ycl.platform.domain.entity.ContractResultRecord;
import com.ycl.platform.domain.vo.CheckResultVO;
import com.ycl.platform.mapper.CheckResultMapper;
import com.ycl.platform.mapper.ContractResultRecordMapper;
import com.ycl.platform.service.ICheckResultService;
import com.ycl.platform.service.ITContractService;
import com.ycl.platform.service.YwUnitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import utils.DateUtils;
import java.util.Arrays;
import java.util.List;
/**
 * 考核结果Service业务层处理
 *
 *
 * @author ruoyi
 * @date 2024-04-01
 */
@Service
public class CheckResultServiceImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements ICheckResultService
{
public class CheckResultServiceImpl extends ServiceImpl<CheckResultMapper, CheckResult> implements ICheckResultService {
    @Autowired
    private CheckResultMapper checkResultMapper;
    @Autowired
    private ContractResultRecordMapper contractResultRecordMapper;
    @Autowired
    private YwUnitService unitService;
    @Autowired
    private ITContractService contractService;
    /**
     * 查询考核结果
     *
     *
     * @param id 考核结果主键
     * @return 考核结果
     */
    @Override
    public CheckResult selectCheckResultById(Long id)
    {
        return checkResultMapper.selectCheckResultById(id);
    public CheckResult selectCheckResultById(Long id) {
        return checkResultMapper.selectById(id);
    }
    /**
     * 查询考核结果列表
     *
     *
     * @param checkResult 考核结果
     * @return 考核结果
     */
    @Override
    public List<CheckResult> selectCheckResultList(CheckResult checkResult)
    {
        return checkResultMapper.selectCheckResultList(checkResult);
    public List<CheckResultVO> selectCheckResultList(CheckResult checkResult) {
        return checkResultMapper.selectList(null).stream().map(
                item -> {
                    CheckResultVO checkResultVO = CheckResultVO.getVoByEntity(item, null);
                    checkResultVO.setUnitName(unitService.getById(item.getUnitId()).getUnitName());
                    checkResultVO.setContractName(contractService.getById(item.getContractId()).getName());
                    return checkResultVO;
                }
        ).toList();
    }
    @Override
    public List<CheckResult> selectCheckResult(CheckResult checkResult) {
        return checkResultMapper.selectList(null);
    }
    /**
     * 新增考核结果
     *
     *
     * @param checkResult 考核结果
     * @return 结果
     */
    @Override
    public int insertCheckResult(CheckResult checkResult)
    {
        return checkResultMapper.insertCheckResult(checkResult);
    public int insertCheckResult(CheckResult checkResult) {
        return checkResultMapper.insert(checkResult);
    }
    /**
     * 修改考核结果
     *
     *
     * @param checkResult 考核结果
     * @return 结果
     */
    @Override
    public int updateCheckResult(CheckResult checkResult)
    {
    public int updateCheckResult(CheckResult checkResult) {
        checkResult.setUpdateTime(DateUtils.getNowDate());
        return checkResultMapper.updateCheckResult(checkResult);
        return checkResultMapper.updateById(checkResult);
    }
    /**
     * 批量删除考核结果
     *
     *
     * @param ids 需要删除的考核结果主键
     * @return 结果
     */
    @Override
    public int deleteCheckResultByIds(Long[] ids)
    {
        return checkResultMapper.deleteCheckResultByIds(ids);
    public int deleteCheckResultByIds(Long[] ids) {
        return checkResultMapper.deleteBatchIds(Arrays.asList(ids));
    }
    /**
     * 删除考核结果信息
     *
     *
     * @param id 考核结果主键
     * @return 结果
     */
    @Override
    public int deleteCheckResultById(Long id)
    {
        return checkResultMapper.deleteCheckResultById(id);
    public int deleteCheckResultById(Long id) {
        return checkResultMapper.deleteById(id);
    }
    @Override
    public void saveBatchRecord(List<ContractResultRecord> contractResultRecord) {
        // contractResultRecordMapper
    }
}
ycl-server/src/main/java/com/ycl/platform/service/impl/ContractScoreServiceImpl.java
@@ -10,6 +10,7 @@
import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.IContractScoreService;
import com.ycl.system.entity.SysUser;
import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
import enumeration.general.AuditingStatus;
import org.apache.commons.lang3.ObjectUtils;
@@ -57,9 +58,6 @@
                        item -> {
                            item.setUnitName(ywunitMapper.selectById(item.getUnitId()).getUnitName());
                            item.setContractName(contractMapper.selectById(item.getContractId()).getName());
                            item.setRuleIdsArray(Arrays.stream(item.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
                            List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper).in(CalculateRule::getId, item.getRuleIdsArray()).list();
                            item.setRuleName(String.join(" / ", new String[]{list.get(0).getRuleName(), list.get(1).getRuleDesc(), list.get(2).getRuleCondition()}));
                        }
                ).toList();
    }
@@ -79,6 +77,9 @@
        contractScore.setAuditingStatus(AuditingStatus.WAIT);
        contractScore.setDeleted("0");
        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
        contractScore.setRuleIdsArray(Arrays.stream(contractScore.getRuleIds().split(",")).map(Long::parseLong).toArray(Long[]::new));
        List<CalculateRule> list = new LambdaQueryChainWrapper<>(calculateRuleMapper).in(CalculateRule::getId, contractScore.getRuleIdsArray()).list();
        contractScore.setRuleName(String.join(" / ", new String[]{list.get(0).getRuleName(), list.get(1).getRuleDesc(), list.get(2).getRuleCondition()}));
        return super.save(contractScore);
    }
@@ -91,10 +92,19 @@
    @Override
    public boolean audit(ContractScore contractScore) {
        SysUser user = SecurityUtils.getLoginUser().getUser();
        contractScore.setRuleIds(Arrays.stream(contractScore.getRuleIdsArray()).map(String::valueOf).collect(Collectors.joining(",")));
        contractScore.setAuditingTime(com.ycl.utils.DateUtils.getNowDate());
        contractScore.setAuditingUser(user.getNickName());
        contractScore.setAuditingUserId(user.getUserId());
        return super.updateById(contractScore);
    }
    @Override
    public List<ContractScore> getDateRangeScoreByContractId(Long id, String startTime, String endTime) {
        return new LambdaQueryChainWrapper<>(contractScoreMapper)
                .eq(ContractScore::getContractId, id)
                .between(ContractScore::getCreateTime, startTime, endTime)
                .eq(ContractScore::getAuditingStatus, AuditingStatus.PASS)
                .list();
    }
}
ycl-server/src/main/java/com/ycl/platform/service/impl/TContractServiceImpl.java
@@ -209,4 +209,12 @@
    public List<CalculateMoneyRule> selectMoneyRules(Integer contractId) {
        return calculateMoneyRuleService.selectMoneyRules(contractId);
    }
    @Override
    public List<TContract> selectUsingContract() {
        return new LambdaQueryChainWrapper<>(baseMapper)
                .gt(TContract::getStartTime, DateUtils.getNowDate())
                .lt(TContract::getEndTime, DateUtils.getNowDate())
                .list();
    }
}
ycl-server/src/main/java/com/ycl/task/ContractResultTask.java
New file
@@ -0,0 +1,79 @@
package com.ycl.task;
import com.ycl.platform.domain.entity.CheckResult;
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.ICheckResultService;
import com.ycl.platform.service.IContractScoreService;
import com.ycl.platform.service.ITContractService;
import com.ycl.utils.DateUtils;
import com.ycl.utils.bean.BeanUtils;
import jakarta.annotation.PostConstruct;
import lombok.Data;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
 * @author ghl
 * @since 2024/4/28 下午 4:14
 */
@Component
@Data
public class ContractResultTask {
    private final ITContractService contractService;
    private final IContractScoreService contractScoreService;
    private final ICheckResultService checkResultService;
    private String startTime;
    private String endTime;
    /**
     * 每个月1号执行
     */
    @Scheduled(cron = "0 0 0 1 * ?")
    // @PostConstruct
    // 多表
    public void contractResultTask() {
        // 查询有效期内的合同
        List<TContract> list = contractService.selectUsingContract();
        getLastMonth();
        for (TContract tContract : list) {
            // 上个月扣分记录
            List<ContractScore> contractScore = contractScoreService.getDateRangeScoreByContractId(tContract.getId(), startTime, endTime);
            // 新增考核结果
            CheckResult checkResult = new CheckResult();
            checkResult.setUnitId(tContract.getUnitId());
            checkResult.setContractId(tContract.getId());
            checkResult.setPublish(0);
            checkResult.setCheckTime(DateUtils.getNowDate());
            checkResultService.save(checkResult);
            // 新增考核结果记录
            List<ContractResultRecord> contractResultRecord = new ArrayList<>();
            BeanUtils.copyBeanProp(contractResultRecord, contractScore);
            checkResultService.saveBatchRecord(contractResultRecord);
        }
    }
    /**
     * 获取上个月的第一天和最后一天
     */
    public void getLastMonth() {
        LocalDate currentDate = LocalDate.now().minusMonths(1);
        LocalDate firstDayOfMonth = currentDate.withDayOfMonth(1);
        String firstDay = firstDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        LocalDate lastDayOfMonth = currentDate.withDayOfMonth(currentDate.lengthOfMonth());
        String lastDay = lastDayOfMonth.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
        this.startTime = firstDay;
        this.endTime = lastDay;
    }
}
ycl-server/src/main/resources/mapper/zgyw/CalculateRuleMapper.xml
@@ -47,7 +47,7 @@
        from t_calculate_rule
        where deleted = 0
          and contract_id
            in (select id from t_contract where unit_id = #{unitId})
            in (select id from t_contract where unit_id = #{unitId} and deleted = 0 and start_time <![CDATA[ <=  ]]> now() and end_time >= now() )
    </select>
    <insert id="insertDefaultRule" useGeneratedKeys="true" keyProperty="id">
ycl-server/src/main/resources/mapper/zgyw/CheckResultMapper.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.platform.mapper.CheckResultMapper">
</mapper>
ycl-server/src/main/resources/mapper/zgyw/TContractResultRecordMapper.xml
New file
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ycl.platform.mapper.ContractResultRecordMapper">
</mapper>