入职离职初步完成
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
import com.ruoyi.oa.domain.EmployeeOffboarding;
|
||||
import com.ruoyi.oa.domain.vo.EmployeeOffboardingVo;
|
||||
import com.ruoyi.oa.domain.bo.EmployeeOffboardingBo;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 离职管理Service接口
|
||||
*
|
||||
* @author hdka
|
||||
* @date 2025-02-16
|
||||
*/
|
||||
public interface IEmployeeOffboardingService {
|
||||
|
||||
/**
|
||||
* 查询离职管理
|
||||
*/
|
||||
EmployeeOffboardingVo queryById(Long offboardingId);
|
||||
|
||||
/**
|
||||
* 查询离职管理列表
|
||||
*/
|
||||
TableDataInfo<EmployeeOffboardingVo> queryPageList(EmployeeOffboardingBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询离职管理列表
|
||||
*/
|
||||
List<EmployeeOffboardingVo> queryList(EmployeeOffboardingBo bo);
|
||||
|
||||
/**
|
||||
* 新增离职管理
|
||||
*/
|
||||
Boolean insertByBo(EmployeeOffboardingBo bo);
|
||||
|
||||
/**
|
||||
* 修改离职管理
|
||||
*/
|
||||
Boolean updateByBo(EmployeeOffboardingBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除离职管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package com.ruoyi.oa.service;
|
||||
|
||||
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.oa.domain.bo.EmployeeOnboardingBo;
|
||||
import com.ruoyi.oa.domain.vo.EmployeeOnboardingVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 入职管理Service接口
|
||||
*
|
||||
* @author hdka
|
||||
* @date 2025-02-15
|
||||
*/
|
||||
public interface IEmployeeOnboardingService {
|
||||
|
||||
/**
|
||||
* 查询入职管理
|
||||
*/
|
||||
EmployeeOnboardingVo queryById(Long onboardingId);
|
||||
|
||||
/**
|
||||
* 查询入职管理列表
|
||||
*/
|
||||
TableDataInfo<EmployeeOnboardingVo> queryPageList(EmployeeOnboardingBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询入职管理列表
|
||||
*/
|
||||
List<EmployeeOnboardingVo> queryList(EmployeeOnboardingBo bo);
|
||||
|
||||
/**
|
||||
* 新增入职管理
|
||||
*/
|
||||
Boolean insertByBo(EmployeeOnboardingBo bo);
|
||||
|
||||
/**
|
||||
* 修改入职管理
|
||||
*/
|
||||
Boolean updateByBo(EmployeeOnboardingBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除入职管理信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@@ -0,0 +1,135 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import liquibase.pro.packaged.A;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ruoyi.oa.domain.bo.EmployeeOffboardingBo;
|
||||
import com.ruoyi.oa.domain.vo.EmployeeOffboardingVo;
|
||||
import com.ruoyi.oa.domain.EmployeeOffboarding;
|
||||
import com.ruoyi.oa.mapper.EmployeeOffboardingMapper;
|
||||
import com.ruoyi.oa.service.IEmployeeOffboardingService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 离职管理Service业务层处理
|
||||
*
|
||||
* @author hdka
|
||||
* @date 2025-02-16
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class EmployeeOffboardingServiceImpl implements IEmployeeOffboardingService {
|
||||
|
||||
private final EmployeeOffboardingMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
|
||||
/**
|
||||
* 查询离职管理
|
||||
*/
|
||||
@Override
|
||||
public EmployeeOffboardingVo queryById(Long offboardingId){
|
||||
EmployeeOffboardingVo employeeOffboardingVo = baseMapper.selectVoById(offboardingId);
|
||||
SysUser sysUser = userService.selectUserByIdAndNotDelFlag(employeeOffboardingVo.getUserId());
|
||||
employeeOffboardingVo.setNickName(sysUser.getUserName());
|
||||
return employeeOffboardingVo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询离职管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<EmployeeOffboardingVo> queryPageList(EmployeeOffboardingBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<EmployeeOffboarding> lqw = buildQueryWrapper(bo);
|
||||
Page<EmployeeOffboardingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(item -> {
|
||||
SysUser sysUser = userService.selectUserByIdAndNotDelFlag(item.getUserId());
|
||||
item.setNickName(sysUser.getUserName());
|
||||
});
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询离职管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<EmployeeOffboardingVo> queryList(EmployeeOffboardingBo bo) {
|
||||
LambdaQueryWrapper<EmployeeOffboarding> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<EmployeeOffboarding> buildQueryWrapper(EmployeeOffboardingBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<EmployeeOffboarding> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getUserId() != null, EmployeeOffboarding::getUserId, bo.getUserId());
|
||||
lqw.eq(bo.getResignationDate() != null, EmployeeOffboarding::getResignationDate, bo.getResignationDate());
|
||||
lqw.eq(bo.getExitInterview() != null, EmployeeOffboarding::getExitInterview, bo.getExitInterview());
|
||||
lqw.eq(bo.getHandoverCompleted() != null, EmployeeOffboarding::getHandoverCompleted, bo.getHandoverCompleted());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getExitReason()), EmployeeOffboarding::getExitReason, bo.getExitReason());
|
||||
lqw.eq(bo.getFinalSalary() != null, EmployeeOffboarding::getFinalSalary, bo.getFinalSalary());
|
||||
lqw.eq(bo.getResignationApplicationSubmitted() != null, EmployeeOffboarding::getResignationApplicationSubmitted, bo.getResignationApplicationSubmitted());
|
||||
lqw.eq(bo.getDataBackupCompleted() != null, EmployeeOffboarding::getDataBackupCompleted, bo.getDataBackupCompleted());
|
||||
lqw.eq(bo.getHandoverArranged() != null, EmployeeOffboarding::getHandoverArranged, bo.getHandoverArranged());
|
||||
lqw.eq(bo.getSalarySettled() != null, EmployeeOffboarding::getSalarySettled, bo.getSalarySettled());
|
||||
lqw.eq(bo.getBenefitsSettled() != null, EmployeeOffboarding::getBenefitsSettled, bo.getBenefitsSettled());
|
||||
lqw.eq(bo.getExitCertificateIssued() != null, EmployeeOffboarding::getExitCertificateIssued, bo.getExitCertificateIssued());
|
||||
lqw.eq(bo.getOffboardingConfirmed() != null, EmployeeOffboarding::getOffboardingConfirmed, bo.getOffboardingConfirmed());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增离职管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(EmployeeOffboardingBo bo) {
|
||||
EmployeeOffboarding add = BeanUtil.toBean(bo, EmployeeOffboarding.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setOffboardingId(add.getOffboardingId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改离职管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(EmployeeOffboardingBo bo) {
|
||||
EmployeeOffboarding update = BeanUtil.toBean(bo, EmployeeOffboarding.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(EmployeeOffboarding entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除离职管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
package com.ruoyi.oa.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.ruoyi.oa.domain.EmployeeOnboarding;
|
||||
import com.ruoyi.oa.domain.bo.EmployeeOnboardingBo;
|
||||
import com.ruoyi.oa.domain.vo.EmployeeOnboardingVo;
|
||||
import com.ruoyi.oa.mapper.EmployeeOnboardingMapper;
|
||||
import com.ruoyi.oa.service.IEmployeeOnboardingService;
|
||||
import com.ruoyi.system.service.ISysUserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 入职管理Service业务层处理
|
||||
*
|
||||
* @author hdka
|
||||
* @date 2025-02-15
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class EmployeeOnboardingServiceImpl implements IEmployeeOnboardingService {
|
||||
|
||||
private final EmployeeOnboardingMapper baseMapper;
|
||||
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
|
||||
/**
|
||||
* 查询入职管理
|
||||
*/
|
||||
@Override
|
||||
public EmployeeOnboardingVo queryById(Long onboardingId){
|
||||
EmployeeOnboardingVo employeeOnboardingVo = baseMapper.selectVoById(onboardingId);
|
||||
SysUser sysUser = userService.selectUserByIdAndNotDelFlag(employeeOnboardingVo.getUserId());
|
||||
employeeOnboardingVo.setUserName(sysUser.getUserName());
|
||||
employeeOnboardingVo.setNickName(sysUser.getNickName());
|
||||
employeeOnboardingVo.setEmail(sysUser.getEmail());
|
||||
employeeOnboardingVo.setPhonenumber(sysUser.getPhonenumber());
|
||||
employeeOnboardingVo.setBankCard(sysUser.getBankCard());
|
||||
employeeOnboardingVo.setIdCard(sysUser.getIdCard());
|
||||
employeeOnboardingVo.setDeptId(sysUser.getDeptId());
|
||||
return employeeOnboardingVo;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询入职管理列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<EmployeeOnboardingVo> queryPageList(EmployeeOnboardingBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<EmployeeOnboarding> lqw = buildQueryWrapper(bo);
|
||||
Page<EmployeeOnboardingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
result.getRecords().forEach(employeeOnboardingVo -> {
|
||||
SysUser sysUser = userService.selectUserByIdAndNotDelFlag(employeeOnboardingVo.getUserId());
|
||||
employeeOnboardingVo.setNickName(sysUser.getNickName());
|
||||
});
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询入职管理列表
|
||||
*/
|
||||
@Override
|
||||
public List<EmployeeOnboardingVo> queryList(EmployeeOnboardingBo bo) {
|
||||
LambdaQueryWrapper<EmployeeOnboarding> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<EmployeeOnboarding> buildQueryWrapper(EmployeeOnboardingBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<EmployeeOnboarding> lqw = Wrappers.lambdaQuery();
|
||||
lqw.eq(bo.getUserId() != null, EmployeeOnboarding::getUserId, bo.getUserId());
|
||||
lqw.eq(bo.getJoiningDate() != null, EmployeeOnboarding::getJoiningDate, bo.getJoiningDate());
|
||||
lqw.eq(bo.getProbationPeriodEnd() != null, EmployeeOnboarding::getProbationPeriodEnd, bo.getProbationPeriodEnd());
|
||||
lqw.eq(bo.getManagerId() != null, EmployeeOnboarding::getManagerId, bo.getManagerId());
|
||||
lqw.eq(bo.getDocumentsSubmitted() != null, EmployeeOnboarding::getDocumentsSubmitted, bo.getDocumentsSubmitted());
|
||||
lqw.eq(bo.getOrientationCompleted() != null, EmployeeOnboarding::getOrientationCompleted, bo.getOrientationCompleted());
|
||||
lqw.eq(bo.getJoiningStatus() != null, EmployeeOnboarding::getJoiningStatus, bo.getJoiningStatus());
|
||||
lqw.eq(bo.getRecruitmentCompleted() != null, EmployeeOnboarding::getRecruitmentCompleted, bo.getRecruitmentCompleted());
|
||||
lqw.eq(bo.getOfferIssued() != null, EmployeeOnboarding::getOfferIssued, bo.getOfferIssued());
|
||||
lqw.eq(bo.getContractSigned() != null, EmployeeOnboarding::getContractSigned, bo.getContractSigned());
|
||||
lqw.eq(bo.getMaterialsPrepared() != null, EmployeeOnboarding::getMaterialsPrepared, bo.getMaterialsPrepared());
|
||||
lqw.eq(bo.getTrainingCompleted() != null, EmployeeOnboarding::getTrainingCompleted, bo.getTrainingCompleted());
|
||||
lqw.eq(bo.getWorkConditionsPrepared() != null, EmployeeOnboarding::getWorkConditionsPrepared, bo.getWorkConditionsPrepared());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增入职管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(EmployeeOnboardingBo bo) {
|
||||
EmployeeOnboarding add = BeanUtil.toBean(bo, EmployeeOnboarding.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setOnboardingId(add.getOnboardingId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改入职管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(EmployeeOnboardingBo bo) {
|
||||
EmployeeOnboarding update = BeanUtil.toBean(bo, EmployeeOnboarding.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(EmployeeOnboarding entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除入职管理
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user