package cn.iocoder.yudao.module.hrm.service.employee;
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.hrm.controller.admin.employee.vo.HrmEmployeeWorkHistorySaveReqVO;
|
import cn.iocoder.yudao.module.hrm.dal.dataobject.employee.HrmEmployeeWorkHistoryDO;
|
import cn.iocoder.yudao.module.hrm.dal.mysql.employee.HrmEmployeeWorkHistoryMapper;
|
import jakarta.annotation.Resource;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
|
import java.util.List;
|
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.module.hrm.enums.ErrorCodeConstants.EMPLOYEE_WORK_HISTORY_NOT_EXISTS;
|
|
/**
|
* 员工工作经历 Service 实现类
|
*
|
* @author 芋道源码
|
*/
|
@Service
|
@Validated
|
public class HrmEmployeeWorkHistoryServiceImpl implements HrmEmployeeWorkHistoryService {
|
|
@Resource
|
private HrmEmployeeWorkHistoryMapper workHistoryMapper;
|
|
@Override
|
public Long createWorkHistory(HrmEmployeeWorkHistorySaveReqVO createReqVO) {
|
HrmEmployeeWorkHistoryDO workHistory = BeanUtils.toBean(createReqVO, HrmEmployeeWorkHistoryDO.class);
|
workHistoryMapper.insert(workHistory);
|
return workHistory.getId();
|
}
|
|
@Override
|
public void updateWorkHistory(HrmEmployeeWorkHistorySaveReqVO updateReqVO) {
|
validateWorkHistoryExists(updateReqVO.getId());
|
HrmEmployeeWorkHistoryDO updateObj = BeanUtils.toBean(updateReqVO, HrmEmployeeWorkHistoryDO.class);
|
workHistoryMapper.updateById(updateObj);
|
}
|
|
@Override
|
public void deleteWorkHistory(Long id) {
|
validateWorkHistoryExists(id);
|
workHistoryMapper.deleteById(id);
|
}
|
|
private void validateWorkHistoryExists(Long id) {
|
if (workHistoryMapper.selectById(id) == null) {
|
throw exception(EMPLOYEE_WORK_HISTORY_NOT_EXISTS);
|
}
|
}
|
|
@Override
|
public List<HrmEmployeeWorkHistoryDO> getWorkHistoryListByEmployeeId(Long employeeId) {
|
return workHistoryMapper.selectByEmployeeId(employeeId);
|
}
|
|
}
|