gaoluyang
5 天以前 ce5f8a87bb5d411bae67c39b269d879677bb98da
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/dal/mysql/approval/HrmResignationApplicationMapper.java
@@ -5,15 +5,27 @@
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmResignationApplicationPageReqVO;
import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmResignationApplicationDO;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import org.apache.ibatis.annotations.Mapper;
import java.time.LocalDate;
import java.util.List;
/**
 * 离职申请 Mapper
 *
 * @author 芋道源码
 * @author 超级管理员
 */
@Mapper
public interface HrmResignationApplicationMapper extends BaseMapperX<HrmResignationApplicationDO> {
    default void startApproval(Long id, String processInstanceId, Integer status) {
        update(null, new LambdaUpdateWrapper<HrmResignationApplicationDO>()
                .eq(HrmResignationApplicationDO::getId, id)
                .set(HrmResignationApplicationDO::getProcessInstanceId, processInstanceId)
                .set(HrmResignationApplicationDO::getStatus, status)
                .set(HrmResignationApplicationDO::getApproveTime, null));
    }
    default PageResult<HrmResignationApplicationDO> selectPage(HrmResignationApplicationPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<HrmResignationApplicationDO>()
@@ -40,4 +52,15 @@
                .ne(HrmResignationApplicationDO::getStatus, status));
    }
    /**
     * 查询指定审批状态下,预计离职日期已到且尚未记录实际离职日期的申请
     */
    default List<HrmResignationApplicationDO> selectListByStatusAndExpectedDateLe(Integer status, LocalDate date) {
        return selectList(new LambdaQueryWrapperX<HrmResignationApplicationDO>()
                .eq(HrmResignationApplicationDO::getStatus, status)
                .le(HrmResignationApplicationDO::getExpectedDate, date)
                .isNull(HrmResignationApplicationDO::getActualDate)
                .orderByAsc(HrmResignationApplicationDO::getId));
    }
}