package jnpf.model.personnels.dto.resignation;

import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jnpf.base.entity.SuperBaseEntity;
import jnpf.model.personnels.po.FtbPersonnelsResignationConfiguration;
import lombok.Data;

@Data
public class FtbResignationConfigurationDTO {

    /**
     * 离职配置id
     */
    private String configId;

    /**
     * 是否选中，0选中,1未选中
     */
    private Integer checked;

    /**
     * 是否对员工可见
     * 0否，1是
     */
    private Integer isVisible;

    /**
     *离职原因名称
     */
    private String resignationName;
    /**
     * 离职类别Id
     */
    private String resignationTypeId;

    /**
     * 类型(1 系统默认 2 自定义)
     */
    private Integer systemType;

    public static LambdaUpdateWrapper<FtbPersonnelsResignationConfiguration> convertUpdate(FtbResignationConfigurationDTO resignationConfigurationDTO) {
        LambdaUpdateWrapper<FtbPersonnelsResignationConfiguration> updateWrapper = Wrappers.lambdaUpdate();
        updateWrapper.eq(SuperBaseEntity.SuperIBaseEntity::getId, resignationConfigurationDTO.getConfigId());
        updateWrapper.set(ObjectUtil.isNotEmpty(resignationConfigurationDTO.getChecked()),FtbPersonnelsResignationConfiguration::getChecked, resignationConfigurationDTO.getChecked());
        updateWrapper.set(StringUtils.isNotEmpty(resignationConfigurationDTO.getResignationName()), FtbPersonnelsResignationConfiguration::getResignationName, resignationConfigurationDTO.getResignationName());
        updateWrapper.set(StringUtils.isNotEmpty(resignationConfigurationDTO.getResignationTypeId()), FtbPersonnelsResignationConfiguration::getResignationTypeId, resignationConfigurationDTO.getResignationTypeId());
        updateWrapper.set(resignationConfigurationDTO.getIsVisible() != null, FtbPersonnelsResignationConfiguration::getIsVisible, resignationConfigurationDTO.getIsVisible());
        return updateWrapper;
    }

}
