feat(wms): 添加员工转正接口

- 在员工异动类型中新增转正选项(类型值为2)
- 更新数据库实体和业务对象中的异动类型定义
- 实现员工转正业务逻辑,包括状态验证和数据更新
- 添加转正API接口和相应的控制器方法
- 更新相关注释和文档以反映新的转正功能
- 修改Excel导出功能以支持转正类型的显示
This commit is contained in:
2026-03-18 10:53:14 +08:00
parent 9c11ce7c9d
commit f7fdc03b5b
6 changed files with 90 additions and 36 deletions

View File

@@ -23,7 +23,7 @@ import java.util.Map;
import java.util.Collection;
/**
* 员工异动(入职/离职Service业务层处理
* 员工异动(入职/离职/转正Service业务层处理
*
* @author klp
* @date 2026-03-14
@@ -36,7 +36,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
private final WmsEmployeeInfoMapper wmsEmployeeInfoMapper;
/**
* 查询员工异动(入职/离职)
* 查询员工异动(入职/离职/转正
*/
@Override
public WmsEmployeeChangeVo queryById(Long changeId){
@@ -49,7 +49,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
}
/**
* 查询员工异动(入职/离职)列表
* 查询员工异动(入职/离职/转正)列表
*/
@Override
public TableDataInfo<WmsEmployeeChangeVo> queryPageList(WmsEmployeeChangeBo bo, PageQuery pageQuery) {
@@ -63,7 +63,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
}
/**
* 查询员工异动(入职/离职)列表
* 查询员工异动(入职/离职/转正)列表
*/
@Override
public List<WmsEmployeeChangeVo> queryList(WmsEmployeeChangeBo bo) {
@@ -89,7 +89,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
}
/**
* 新增员工异动(入职/离职)
* 新增员工异动(入职/离职/转正
*/
@Override
public Boolean insertByBo(WmsEmployeeChangeBo bo) {
@@ -103,7 +103,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
}
/**
* 修改员工异动(入职/离职)
* 修改员工异动(入职/离职/转正
*/
@Override
public Boolean updateByBo(WmsEmployeeChangeBo bo) {
@@ -120,7 +120,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
}
/**
* 批量删除员工异动(入职/离职)
* 批量删除员工异动(入职/离职/转正
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
@@ -205,4 +205,43 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService {
change.setRemark(bo.getRemark());
return baseMapper.insert(change) > 0;
}
/**
* 员工转正
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean employeeRegular(WmsEmployeeChangeBo bo) {
if (bo.getInfoId() == null) {
throw new RuntimeException("员工ID不能为空");
}
WmsEmployeeInfo employee = wmsEmployeeInfoMapper.selectById(bo.getInfoId());
if (employee == null) {
throw new RuntimeException("员工不存在");
}
if (employee.getIsLeave() != null && employee.getIsLeave() == 1) {
throw new RuntimeException("员工已离职,无法转正");
}
if (employee.getIsRegular() != null && employee.getIsRegular() == 1) {
throw new RuntimeException("员工已转正");
}
employee.setIsRegular(1);
employee.setRegularTime(bo.getChangeTime());
boolean flag = wmsEmployeeInfoMapper.updateById(employee) > 0;
if (!flag) {
return false;
}
WmsEmployeeChange change = new WmsEmployeeChange();
change.setInfoId(bo.getInfoId());
change.setChangeType(2);
change.setChangeTime(bo.getChangeTime());
change.setChangeReason(bo.getChangeReason());
change.setChangeHandler(bo.getChangeHandler());
change.setAttachment(bo.getAttachment());
change.setCreateBy(bo.getCreateBy());
change.setRemark(bo.getRemark());
return baseMapper.insert(change) > 0;
}
}