febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java
@@ -24,6 +24,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -244,4 +245,54 @@
    public void autoStopContract(String operatorId) {
        empContractinfoMapper.autoStopContract(operatorId);
    }
    @Override
    public void updateContractRemindDay() {
        empContractinfoMapper.updateContractRemindDay();
    }
    @Override
    public IPage<EmpContractInfo> findRemindContractinfos(QueryRequest request, EmpContractInfo empContractinfo) {
        int diffDay = Integer.parseInt(redisService.get("contract_remind").toString());
        List<String> contractStatus = Lists.newArrayList("1","2");
        QueryWrapper<EmpContractInfo> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("a.DelFlag", empContractinfo.getDelFlag());
        queryWrapper.eq("a.remindFlag", 0);
        queryWrapper.in("a.contractStatus", contractStatus);
        queryWrapper.between("a.diffDay", 0, diffDay);
        queryWrapper.ge("a.endDate", DateUtil.formatDate(new Date()));
        queryWrapper.in("c.dept_Id", remoteDeptService.userRightDepts().split(StringConstant.COMMA));
        Page<EmpContractInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
        SortUtil.handlePageSort(request, page, "diffDay", FebsConstant.ORDER_ASC, true);
        IPage<EmpContractInfo> iPage = empContractinfoMapper.selectPageVo(page, queryWrapper);
        List<EmpContractInfo> list = iPage.getRecords();
        //设置字典数据
        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
        list.forEach(p -> {
            p.setContractStatusName(dicItems.stream()
                    .filter(k -> DicCode.CONTRACTSTATUS.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getContractStatus()))
                    .findFirst()
                    .map(DicItem::getDicItemName)
                    .orElse("新签"));
        });
        iPage.setRecords(list);
        return iPage;
    }
    @Override
    public void updateEmpContractRemind(EmpContractInfo empContractinfo) {
        empContractinfoMapper.updateEmpContractRemind(empContractinfo.getContractId());
    }
    @Override
    public void continueEmpContract(EmpContractInfo empContractinfo) {
        Long contractId = empContractinfo.getContractId();
        //创建一份新合同信息
        empContractinfo.setDelFlag(0);
        this.createEmpContractinfo(empContractinfo);
        //设置不再提醒
        empContractinfoMapper.updateEmpContractRemind(contractId);
    }
}