package jnpf.personnels.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import jnpf.model.personnels.po.FtbPersonnelsStaffRegistrationFormData;
import jnpf.model.personnels.po.FtbPersonnelsStaffRoster;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface FtbPersonnelsStaffRegistrationFormDataMapper extends BaseMapper<FtbPersonnelsStaffRegistrationFormData> {
    /**
     * 查询健康证是否到期
     */
    List<FtbPersonnelsStaffRegistrationFormData> queryHasHealthExpire();

    /**
     * 查询用户转正日期
     */
    Date queryTheUserSRegularizationDate(@Param("userId") String userId);

    /**
     * 查询用户调岗日期
     */
    Date queryUserTransferDate(@Param("userId") String userId);

    /**
     * 查询用户晋升日期
     */
    Date queryUserPromotionDate(@Param("userId") String userId);

    /**
     * 校验某个数据是否存在
     */
    default Integer verifyWhetherTheDataExists(String phone, String formFieldId,  String value){
        if("idCardNum".equals(formFieldId)){
            return queryStaffRosterCount(phone,value);
        }else {
            return verifyWhetherTheDataExistsWithStaff(phone,formFieldId,value);
        }
    }
    Integer verifyWhetherTheDataExistsWithStaff(@Param("phone") String phone,  @Param("formFieldId") String formFieldId, @Param("value") String value);
    /**
     * 校验身份证问题
     */
    Integer verifyWhetherTheDataExistsWithIdCard(@Param("phone") String phone, @Param("value") String value);

    /**
     * 根据手机号查询花名册数据
     */
    Integer queryStaffRoster( @Param("phone") String phone, @Param("value") String value);
    default Integer queryStaffRosterCount(@Param("phone") String phone, @Param("value") String value) {
        Integer integer = queryStaffRoster(phone,value);
        Integer integer1 = verifyWhetherTheDataExistsWithIdCard(phone, value);
        if (integer1 > 0 || integer > 0 ){
            return 1;
        }
        return 0;
    }
    List<FtbPersonnelsStaffRoster> queryStaffRosterList(@Param("formFieldId") String formFieldId);

}