|
@@ -15,6 +15,8 @@ import cn.iocoder.yudao.module.employee.controller.admin.info.vo.EmployeeInfoSav
|
|
import cn.iocoder.yudao.module.employee.convert.info.EmployeeConvert;
|
|
import cn.iocoder.yudao.module.employee.convert.info.EmployeeConvert;
|
|
import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
|
|
import cn.iocoder.yudao.module.employee.dal.dataobject.info.EmployeeInfoDO;
|
|
import cn.iocoder.yudao.module.employee.service.info.EmployeeInfoService;
|
|
import cn.iocoder.yudao.module.employee.service.info.EmployeeInfoService;
|
|
|
|
+import cn.iocoder.yudao.module.relations.api.contract.RelationsContractApi;
|
|
|
|
+import cn.iocoder.yudao.module.relations.api.contract.dto.RelationsContractDTO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO;
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO;
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
@@ -54,6 +56,9 @@ public class EmployeeInfoController {
|
|
@Resource
|
|
@Resource
|
|
private PostService postService;
|
|
private PostService postService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ private RelationsContractApi relationsContractApi;
|
|
|
|
+
|
|
@PostMapping("/create")
|
|
@PostMapping("/create")
|
|
@Operation(summary = "创建员工信息")
|
|
@Operation(summary = "创建员工信息")
|
|
@PreAuthorize("@ss.hasPermission('employee:info:create')")
|
|
@PreAuthorize("@ss.hasPermission('employee:info:create')")
|
|
@@ -83,8 +88,39 @@ public class EmployeeInfoController {
|
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
@PreAuthorize("@ss.hasPermission('employee:info:query')")
|
|
@PreAuthorize("@ss.hasPermission('employee:info:query')")
|
|
public CommonResult<EmployeeInfoRespVO> getInfo(@RequestParam("id") Long id) {
|
|
public CommonResult<EmployeeInfoRespVO> getInfo(@RequestParam("id") Long id) {
|
|
|
|
+
|
|
EmployeeInfoDO info = infoService.getInfo(id);
|
|
EmployeeInfoDO info = infoService.getInfo(id);
|
|
- return success(BeanUtils.toBean(info, EmployeeInfoRespVO.class));
|
|
|
|
|
|
+ EmployeeInfoRespVO employeeInfoRespVO = BeanUtils.toBean(info, EmployeeInfoRespVO.class);
|
|
|
|
+
|
|
|
|
+ // 如果部门ID不为空,则尝试获取部门详细信息
|
|
|
|
+ Long deptId = employeeInfoRespVO.getDeptId();
|
|
|
|
+ if (deptId != null) {
|
|
|
|
+ DeptDO dept = deptService.getDept(deptId);
|
|
|
|
+ // 如果成功获取到部门信息,则设置部门名称到员工信息中
|
|
|
|
+ if (dept != null) {
|
|
|
|
+ employeeInfoRespVO.setDeptName(dept.getName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 如果职位ID不为空,则尝试获取职位详细信息
|
|
|
|
+ Long postId = employeeInfoRespVO.getPostId();
|
|
|
|
+ if (postId != null) {
|
|
|
|
+ PostDO post = postService.getPost(postId);
|
|
|
|
+ // 如果成功获取到职位信息,则设置职位名称到员工信息中
|
|
|
|
+ if (post != null) {
|
|
|
|
+ employeeInfoRespVO.setPosition(post.getName());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 根据员工ID查询员工当前的合同信息
|
|
|
|
+ RelationsContractDTO lastContract = relationsContractApi.getLastContract(employeeInfoRespVO.getId());
|
|
|
|
+ // 如果员工的合同信息存在,则更新员工信息中的合同起始和结束日期
|
|
|
|
+ if (lastContract != null) {
|
|
|
|
+ employeeInfoRespVO.setContractStartDate(lastContract.getContractStartDate());
|
|
|
|
+ employeeInfoRespVO.setContractEndDate(lastContract.getContractEndDate());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return success(employeeInfoRespVO);
|
|
}
|
|
}
|
|
|
|
|
|
@GetMapping("/getLoginEmployee")
|
|
@GetMapping("/getLoginEmployee")
|