package cn.iocoder.yudao.module.hrm.service.salary;
|
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.salary.HrmSocialSecurityConfigDO;
|
import cn.iocoder.yudao.module.hrm.dal.mysql.salary.HrmSocialSecurityConfigMapper;
|
import jakarta.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
|
import java.time.LocalDate;
|
import java.util.List;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.SOCIAL_SECURITY_CONFIG_NOT_EXISTS;
|
|
/**
|
* 社保公积金配置 Service 实现类
|
*
|
* @author 芋道源码
|
*/
|
@Service
|
@Validated
|
public class HrmSocialSecurityConfigServiceImpl implements HrmSocialSecurityConfigService {
|
|
@Resource
|
private HrmSocialSecurityConfigMapper socialSecurityConfigMapper;
|
|
@Override
|
public Long createSocialSecurityConfig(HrmSocialSecurityConfigDO config) {
|
socialSecurityConfigMapper.insert(config);
|
return config.getId();
|
}
|
|
@Override
|
public void updateSocialSecurityConfig(HrmSocialSecurityConfigDO config) {
|
validateSocialSecurityConfigExists(config.getId());
|
socialSecurityConfigMapper.updateById(config);
|
}
|
|
@Override
|
public void deleteSocialSecurityConfig(Long id) {
|
validateSocialSecurityConfigExists(id);
|
socialSecurityConfigMapper.deleteById(id);
|
}
|
|
@Override
|
public HrmSocialSecurityConfigDO getSocialSecurityConfig(Long id) {
|
return socialSecurityConfigMapper.selectById(id);
|
}
|
|
@Override
|
public List<HrmSocialSecurityConfigDO> getSocialSecurityConfigList() {
|
return socialSecurityConfigMapper.selectListByStatus(null);
|
}
|
|
@Override
|
public HrmSocialSecurityConfigDO getEffectiveSocialSecurityConfig(LocalDate effectiveDate) {
|
return socialSecurityConfigMapper.selectLatestByEffectiveDate(effectiveDate);
|
}
|
|
private void validateSocialSecurityConfigExists(Long id) {
|
if (socialSecurityConfigMapper.selectById(id) == null) {
|
throw exception(SOCIAL_SECURITY_CONFIG_NOT_EXISTS);
|
}
|
}
|
|
}
|