diff --git a/klp-wms/src/main/java/com/klp/controller/WmsEmployeeChangeController.java b/klp-wms/src/main/java/com/klp/controller/WmsEmployeeChangeController.java index a60c876d..10fe242f 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsEmployeeChangeController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsEmployeeChangeController.java @@ -23,7 +23,7 @@ import com.klp.service.IWmsEmployeeChangeService; import com.klp.common.core.page.TableDataInfo; /** - * 员工异动(入职/离职) + * 员工异动(入职/离职/转正) * * @author klp * @date 2026-03-14 @@ -37,7 +37,7 @@ public class WmsEmployeeChangeController extends BaseController { private final IWmsEmployeeChangeService iWmsEmployeeChangeService; /** - * 查询员工异动(入职/离职)列表 + * 查询员工异动(入职/离职/转正)列表 */ @GetMapping("/list") public TableDataInfo list(WmsEmployeeChangeBo bo, PageQuery pageQuery) { @@ -45,17 +45,17 @@ public class WmsEmployeeChangeController extends BaseController { } /** - * 导出员工异动(入职/离职)列表 + * 导出员工异动(入职/离职/转正)列表 */ - @Log(title = "员工异动(入职/离职)", businessType = BusinessType.EXPORT) + @Log(title = "员工异动(入职/离职/转正)", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(WmsEmployeeChangeBo bo, HttpServletResponse response) { List list = iWmsEmployeeChangeService.queryList(bo); - ExcelUtil.exportExcel(list, "员工异动(入职/离职)", WmsEmployeeChangeVo.class, response); + ExcelUtil.exportExcel(list, "员工异动(入职/离职/转正)", WmsEmployeeChangeVo.class, response); } /** - * 获取员工异动(入职/离职)详细信息 + * 获取员工异动(入职/离职/转正)详细信息 * * @param changeId 主键 */ @@ -66,9 +66,9 @@ public class WmsEmployeeChangeController extends BaseController { } /** - * 新增员工异动(入职/离职) + * 新增员工异动(入职/离职/转正) */ - @Log(title = "员工异动(入职/离职)", businessType = BusinessType.INSERT) + @Log(title = "员工异动(入职/离职/转正)", businessType = BusinessType.INSERT) @RepeatSubmit() @PostMapping() public R add(@Validated(AddGroup.class) @RequestBody WmsEmployeeChangeBo bo) { @@ -76,9 +76,9 @@ public class WmsEmployeeChangeController extends BaseController { } /** - * 修改员工异动(入职/离职) + * 修改员工异动(入职/离职/转正) */ - @Log(title = "员工异动(入职/离职)", businessType = BusinessType.UPDATE) + @Log(title = "员工异动(入职/离职/转正)", businessType = BusinessType.UPDATE) @RepeatSubmit() @PutMapping() public R edit(@Validated(EditGroup.class) @RequestBody WmsEmployeeChangeBo bo) { @@ -86,11 +86,11 @@ public class WmsEmployeeChangeController extends BaseController { } /** - * 删除员工异动(入职/离职) + * 删除员工异动(入职/离职/转正) * * @param changeIds 主键串 */ - @Log(title = "员工异动(入职/离职)", businessType = BusinessType.DELETE) + @Log(title = "员工异动(入职/离职/转正)", businessType = BusinessType.DELETE) @DeleteMapping("/{changeIds}") public R remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] changeIds) { @@ -116,4 +116,14 @@ public class WmsEmployeeChangeController extends BaseController { public R leave(@Validated(AddGroup.class) @RequestBody WmsEmployeeChangeBo bo) { return toAjax(iWmsEmployeeChangeService.employeeLeave(bo)); } + + /** + * 员工转正 + */ + @Log(title = "员工转正", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/regular") + public R regular(@Validated(AddGroup.class) @RequestBody WmsEmployeeChangeBo bo) { + return toAjax(iWmsEmployeeChangeService.employeeRegular(bo)); + } } diff --git a/klp-wms/src/main/java/com/klp/domain/WmsEmployeeChange.java b/klp-wms/src/main/java/com/klp/domain/WmsEmployeeChange.java index db3615cb..e2b43a78 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsEmployeeChange.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsEmployeeChange.java @@ -31,15 +31,15 @@ public class WmsEmployeeChange extends BaseEntity { */ private Long infoId; /** - * 异动类型:0=入职,1=离职 + * 异动类型:0=入职,1=离职,2=转正 */ private Integer changeType; /** - * 异动时间(入职/离职时间) + * 异动时间(入职/离职/转正时间) */ private Date changeTime; /** - * 异动原因(离职必填,入职可选) + * 异动原因(离职必填,入职/转正可选) */ private String changeReason; /** diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsEmployeeChangeBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsEmployeeChangeBo.java index af425f43..8df40373 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsEmployeeChangeBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsEmployeeChangeBo.java @@ -30,7 +30,7 @@ public class WmsEmployeeChangeBo extends BaseEntity { private Long infoId; /** - * 异动类型:0=入职,1=离职 + * 异动类型:0=入职,1=离职,2=转正 */ private Integer changeType; diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsEmployeeChangeVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsEmployeeChangeVo.java index bdc00358..529e1217 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsEmployeeChangeVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsEmployeeChangeVo.java @@ -36,23 +36,23 @@ public class WmsEmployeeChangeVo { private Long infoId; /** - * 异动类型:0=入职,1=离职 + * 异动类型:0=入职,1=离职,2=转正 */ - @ExcelProperty(value = "异动类型:0=入职,1=离职") + @ExcelProperty(value = "异动类型:0=入职,1=离职,2=转正") private Integer changeType; /** - * 异动时间(入职/离职时间) + * 异动时间(入职/离职/转正时间) */ @ExcelProperty(value = "异动时间", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "入=职/离职时间") + @ExcelDictFormat(readConverterExp = "入=职/离职/转正时间") private Date changeTime; /** - * 异动原因(离职必填,入职可选) + * 异动原因(离职必填,入职/转正可选) */ @ExcelProperty(value = "异动原因", converter = ExcelDictConvert.class) - @ExcelDictFormat(readConverterExp = "离=职必填,入职可选") + @ExcelDictFormat(readConverterExp = "离=职必填,入职/转正可选") private String changeReason; /** diff --git a/klp-wms/src/main/java/com/klp/service/IWmsEmployeeChangeService.java b/klp-wms/src/main/java/com/klp/service/IWmsEmployeeChangeService.java index df1d64fb..219ab771 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsEmployeeChangeService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsEmployeeChangeService.java @@ -10,7 +10,7 @@ import java.util.Collection; import java.util.List; /** - * 员工异动(入职/离职)Service接口 + * 员工异动(入职/离职/转正)Service接口 * * @author klp * @date 2026-03-14 @@ -18,32 +18,32 @@ import java.util.List; public interface IWmsEmployeeChangeService { /** - * 查询员工异动(入职/离职) + * 查询员工异动(入职/离职/转正) */ WmsEmployeeChangeVo queryById(Long changeId); /** - * 查询员工异动(入职/离职)列表 + * 查询员工异动(入职/离职/转正)列表 */ TableDataInfo queryPageList(WmsEmployeeChangeBo bo, PageQuery pageQuery); /** - * 查询员工异动(入职/离职)列表 + * 查询员工异动(入职/离职/转正)列表 */ List queryList(WmsEmployeeChangeBo bo); /** - * 新增员工异动(入职/离职) + * 新增员工异动(入职/离职/转正) */ Boolean insertByBo(WmsEmployeeChangeBo bo); /** - * 修改员工异动(入职/离职) + * 修改员工异动(入职/离职/转正) */ Boolean updateByBo(WmsEmployeeChangeBo bo); /** - * 校验并批量删除员工异动(入职/离职)信息 + * 校验并批量删除员工异动(入职/离职/转正)信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); @@ -56,4 +56,9 @@ public interface IWmsEmployeeChangeService { * 员工离职 */ Boolean employeeLeave(WmsEmployeeChangeBo bo); + + /** + * 员工转正 + */ + Boolean employeeRegular(WmsEmployeeChangeBo bo); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsEmployeeChangeServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsEmployeeChangeServiceImpl.java index c7c74b1b..bd45cbfc 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsEmployeeChangeServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsEmployeeChangeServiceImpl.java @@ -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 queryPageList(WmsEmployeeChangeBo bo, PageQuery pageQuery) { @@ -63,7 +63,7 @@ public class WmsEmployeeChangeServiceImpl implements IWmsEmployeeChangeService { } /** - * 查询员工异动(入职/离职)列表 + * 查询员工异动(入职/离职/转正)列表 */ @Override public List 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 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; + } }