1.修改了岗位公海页面 2.新增岗位评级页面
This commit is contained in:
commit
daa40c1e96
|
@ -5,14 +5,14 @@ spring:
|
||||||
driverClassName: com.mysql.cj.jdbc.Driver
|
driverClassName: com.mysql.cj.jdbc.Driver
|
||||||
druid:
|
druid:
|
||||||
# 主库数据源
|
# 主库数据源
|
||||||
master:
|
|
||||||
url: jdbc:mysql://192.168.1.165:3306/zeoa?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
|
||||||
username: zeoa
|
|
||||||
password: dHahLWNYB7tD2Mia
|
|
||||||
# master:
|
# master:
|
||||||
# url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
# url: jdbc:mysql://192.168.1.165:3306/zeoa?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
# username: root
|
# username: zeoa
|
||||||
# password: zero
|
# password: dHahLWNYB7tD2Mia
|
||||||
|
master:
|
||||||
|
url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||||
|
username: root
|
||||||
|
password: zero
|
||||||
# 从库数据源
|
# 从库数据源
|
||||||
slave:
|
slave:
|
||||||
# 从数据源开关/默认关闭
|
# 从数据源开关/默认关闭
|
||||||
|
|
|
@ -7,8 +7,8 @@ ruoyi:
|
||||||
# 版权年份
|
# 版权年份
|
||||||
copyrightYear: 2024
|
copyrightYear: 2024
|
||||||
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)
|
||||||
#profile: D:/zeroerr/uploadPath
|
profile: D:/zeroerr/uploadPath
|
||||||
profile: /home/zeroerr_oa/uploadPath
|
#profile: /home/zeroerr_oa/uploadPath
|
||||||
# 获取ip地址开关
|
# 获取ip地址开关
|
||||||
addressEnabled: false
|
addressEnabled: false
|
||||||
# 验证码类型 math 数字计算 char 字符验证
|
# 验证码类型 math 数字计算 char 字符验证
|
||||||
|
@ -69,15 +69,15 @@ spring:
|
||||||
# redis 配置
|
# redis 配置
|
||||||
redis:
|
redis:
|
||||||
# 地址
|
# 地址
|
||||||
host: 192.168.1.189
|
#host: 192.168.1.189
|
||||||
#host: localhost
|
host: localhost
|
||||||
# 端口,默认为6379
|
# 端口,默认为6379
|
||||||
port: 6379
|
port: 6379
|
||||||
# 数据库索引
|
# 数据库索引
|
||||||
database: 0
|
database: 0
|
||||||
# 密码
|
# 密码
|
||||||
password: 123456
|
#password: 123456
|
||||||
#password:
|
password:
|
||||||
# 连接超时时间
|
# 连接超时时间
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
lettuce:
|
lettuce:
|
||||||
|
|
|
@ -9,6 +9,7 @@ import javax.validation.constraints.Email;
|
||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import javax.validation.constraints.Size;
|
import javax.validation.constraints.Size;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -65,6 +66,17 @@ public class RecruitStructure extends BaseEntity
|
||||||
|
|
||||||
private String taskId;
|
private String taskId;
|
||||||
|
|
||||||
|
private LocalDate postCompleteDate;
|
||||||
|
|
||||||
|
public LocalDate getPostCompleteDate() {
|
||||||
|
return postCompleteDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPostCompleteDate(LocalDate postCompleteDate) {
|
||||||
|
this.postCompleteDate = postCompleteDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Integer getPostType() {
|
public Integer getPostType() {
|
||||||
return postType;
|
return postType;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@ package cn.zeroerr.controller;
|
||||||
|
|
||||||
import cn.zeroerr.common.annotation.Log;
|
import cn.zeroerr.common.annotation.Log;
|
||||||
import cn.zeroerr.common.config.RuoYiConfig;
|
import cn.zeroerr.common.config.RuoYiConfig;
|
||||||
import cn.zeroerr.common.constant.Constants;
|
|
||||||
import cn.zeroerr.common.core.controller.BaseController;
|
import cn.zeroerr.common.core.controller.BaseController;
|
||||||
import cn.zeroerr.common.core.domain.AjaxResult;
|
import cn.zeroerr.common.core.domain.AjaxResult;
|
||||||
import cn.zeroerr.common.core.domain.entity.RecruitStructure;
|
import cn.zeroerr.common.core.domain.entity.RecruitStructure;
|
||||||
|
@ -14,37 +13,30 @@ import cn.zeroerr.common.core.page.TableDataInfo;
|
||||||
import cn.zeroerr.common.enums.BusinessType;
|
import cn.zeroerr.common.enums.BusinessType;
|
||||||
import cn.zeroerr.common.utils.StringUtils;
|
import cn.zeroerr.common.utils.StringUtils;
|
||||||
import cn.zeroerr.common.utils.file.FileUploadUtils;
|
import cn.zeroerr.common.utils.file.FileUploadUtils;
|
||||||
import cn.zeroerr.common.utils.file.FileUtils;
|
|
||||||
import cn.zeroerr.common.utils.file.MimeTypeUtils;
|
import cn.zeroerr.common.utils.file.MimeTypeUtils;
|
||||||
import cn.zeroerr.common.utils.poi.ExcelUtil;
|
import cn.zeroerr.common.utils.poi.ExcelUtil;
|
||||||
import cn.zeroerr.domain.dto.ToppingDTO;
|
import cn.zeroerr.domain.dto.ToppingDTO;
|
||||||
import cn.zeroerr.domain.entity.InterviewTag;
|
import cn.zeroerr.domain.entity.InterviewTag;
|
||||||
import cn.zeroerr.domain.entity.PostPlanFollow;
|
|
||||||
import cn.zeroerr.domain.entity.RecruitPost;
|
|
||||||
import cn.zeroerr.domain.entity.ResumeFollowRecord;
|
import cn.zeroerr.domain.entity.ResumeFollowRecord;
|
||||||
import cn.zeroerr.domain.vo.InterViewTagVO;
|
import cn.zeroerr.domain.vo.InterViewTagVO;
|
||||||
import cn.zeroerr.domain.vo.UserVO;
|
import cn.zeroerr.domain.vo.UserVO;
|
||||||
import cn.zeroerr.service.InterviewTagService;
|
import cn.zeroerr.service.InterviewTagService;
|
||||||
import cn.zeroerr.service.RecruitPostService;
|
import cn.zeroerr.service.RecruitPostService;
|
||||||
import cn.zeroerr.service.ResumeFollowRecordService;
|
import cn.zeroerr.service.ResumeFollowRecordService;
|
||||||
import cn.zeroerr.system.mapper.RecruitStructureMapper;
|
|
||||||
import cn.zeroerr.system.service.ISysDictDataService;
|
import cn.zeroerr.system.service.ISysDictDataService;
|
||||||
import cn.zeroerr.system.service.ISysRoleService;
|
import cn.zeroerr.system.service.ISysRoleService;
|
||||||
import cn.zeroerr.system.service.ISysUserService;
|
import cn.zeroerr.system.service.ISysUserService;
|
||||||
import cn.zeroerr.system.service.RecruitStructureService;
|
import cn.zeroerr.system.service.RecruitStructureService;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.http.MediaType;
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
package cn.zeroerr.controller;
|
||||||
|
|
||||||
|
import cn.zeroerr.common.core.controller.BaseController;
|
||||||
|
import cn.zeroerr.common.core.domain.AjaxResult;
|
||||||
|
import cn.zeroerr.common.core.domain.entity.RecruitStructure;
|
||||||
|
import cn.zeroerr.common.core.domain.entity.SysUser;
|
||||||
|
import cn.zeroerr.common.core.page.TableDataInfo;
|
||||||
|
import cn.zeroerr.domain.entity.PostGrade;
|
||||||
|
import cn.zeroerr.domain.entity.RecruitProcessTask;
|
||||||
|
import cn.zeroerr.domain.entity.ResumeFollowRecord;
|
||||||
|
import cn.zeroerr.service.PostGradeService;
|
||||||
|
import cn.zeroerr.service.RecruitProcessTaskService;
|
||||||
|
import cn.zeroerr.system.service.ISysUserService;
|
||||||
|
import cn.zeroerr.system.service.RecruitStructureService;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/recruit/postGrade")
|
||||||
|
@Api(tags = "招聘管理-岗位评级")
|
||||||
|
public class RecruitPostGradeController extends BaseController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private PostGradeService postGradeService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RecruitProcessTaskService recruitProcessTaskService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RecruitStructureService recruitStructureService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysUserService iSysUserService;
|
||||||
|
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasAnyPermi('recruit:grade:add')")
|
||||||
|
@PostMapping("/add")
|
||||||
|
@ApiOperation(value = "增加某月份的岗位评级")
|
||||||
|
public AjaxResult addPostGrade(@Validated @RequestBody PostGrade req) {
|
||||||
|
//封装该hr的信息
|
||||||
|
req.setHrId(getUserId());
|
||||||
|
req.setHrName(iSysUserService.selectUserById(getUserId()).getNickName());
|
||||||
|
// //封装部门信息
|
||||||
|
// RecruitStructure deptByNodeId = recruitStructureService.getDeptByNodeId(req.getPostId());
|
||||||
|
// req.setDeptId(deptByNodeId.getNodeId());
|
||||||
|
// req.setDeptName(deptByNodeId.getNodeName());
|
||||||
|
//封装创建日期
|
||||||
|
req.setCreateDate(LocalDate.now());
|
||||||
|
|
||||||
|
//找到对应的单据id
|
||||||
|
RecruitStructure post = recruitStructureService.getByNodeId(req.getPostId());
|
||||||
|
if(post.getTaskId()!=null){
|
||||||
|
RecruitProcessTask byTaskId = recruitProcessTaskService.getByTaskId(post.getTaskId());
|
||||||
|
if(!ObjectUtils.isEmpty(byTaskId)){
|
||||||
|
req.setApplyDate(byTaskId.getApplyDate());
|
||||||
|
req.setPostCount(byTaskId.getPostCount());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return toAjax(postGradeService.save(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasAnyPermi('recruit:grade:edit')")
|
||||||
|
@PutMapping("/edit")
|
||||||
|
@ApiOperation(value = "修改某月份的岗位评级")
|
||||||
|
public AjaxResult editPostGrade(@Validated @RequestBody PostGrade req) {
|
||||||
|
return toAjax(postGradeService.updateById(req));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasAnyPermi('recruit:grade:list')")
|
||||||
|
@GetMapping("/list")
|
||||||
|
@ApiOperation(value = "展示某月份的岗位评级")
|
||||||
|
public TableDataInfo listPostGrade(PostGrade req) {
|
||||||
|
startPage();
|
||||||
|
List<PostGrade> postGradeList=postGradeService.listBySelect(req);
|
||||||
|
return getDataTable(postGradeList);
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasAnyPermi('recruit:grade:delete')")
|
||||||
|
@DeleteMapping("/delete/{gradeId}")
|
||||||
|
@ApiOperation(value = "删除某月份的岗位评级")
|
||||||
|
public AjaxResult deletePostGrade(@PathVariable("gradeId")Long gradeId) {
|
||||||
|
return toAjax(postGradeService.removeById(gradeId));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasAnyPermi('recruit:grade:edit')")
|
||||||
|
@GetMapping("/get/{gradeId}")
|
||||||
|
@ApiOperation(value = "获取某一个某月份的岗位评级")
|
||||||
|
public AjaxResult getOnePostGrade(@PathVariable("gradeId")Long gradeId) {
|
||||||
|
return AjaxResult.success(postGradeService.getById(gradeId));
|
||||||
|
}
|
||||||
|
}
|
|
@ -279,7 +279,9 @@ public class RecruitProcessController extends BaseController {
|
||||||
.postName(recruitProcessTask.getPostName())
|
.postName(recruitProcessTask.getPostName())
|
||||||
.deptId(recruitProcessTask.getDeptId())
|
.deptId(recruitProcessTask.getDeptId())
|
||||||
.deptName(recruitProcessTask.getDeptName())
|
.deptName(recruitProcessTask.getDeptName())
|
||||||
.createDate(LocalDate.now())
|
//默认未分配
|
||||||
|
.isAllocation(0)
|
||||||
|
.createTime(LocalDate.now())
|
||||||
.build();
|
.build();
|
||||||
recruitPostService.save(recruitPost);
|
recruitPostService.save(recruitPost);
|
||||||
if(recruitProcessTask.getStructurePostId()!=null){
|
if(recruitProcessTask.getStructurePostId()!=null){
|
||||||
|
@ -393,11 +395,12 @@ public class RecruitProcessController extends BaseController {
|
||||||
@PreAuthorize("@ss.hasPermi('recruit:postsea:list')")
|
@PreAuthorize("@ss.hasPermi('recruit:postsea:list')")
|
||||||
@GetMapping("/postsea/list")
|
@GetMapping("/postsea/list")
|
||||||
@ApiOperation(value = "岗位公海-分页/条件查询获取表单")
|
@ApiOperation(value = "岗位公海-分页/条件查询获取表单")
|
||||||
public TableDataInfo postseaList(RecruitProcessTask task) {
|
public TableDataInfo postseaList(RecruitPost req) {
|
||||||
startPage();
|
startPage();
|
||||||
List<RecruitProcessTask> taskList = recruitProcessTaskService.listPostSea(task);
|
//List<RecruitProcessTask> taskList = recruitProcessTaskService.listPostSea(task);
|
||||||
|
List<RecruitPost> recruitPostList= recruitPostService.listPostSea(req);
|
||||||
//把taskList的taskId变成字符串
|
//把taskList的taskId变成字符串
|
||||||
return getDataTable(taskList);
|
return getDataTable(recruitPostList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -405,14 +408,26 @@ public class RecruitProcessController extends BaseController {
|
||||||
@PutMapping("/postsea/distribution")
|
@PutMapping("/postsea/distribution")
|
||||||
@ApiOperation(value = "岗位公海-hr主管分配岗位给具体hr")
|
@ApiOperation(value = "岗位公海-hr主管分配岗位给具体hr")
|
||||||
public AjaxResult distribution(@Validated @RequestBody ApprovedResultVO req) {
|
public AjaxResult distribution(@Validated @RequestBody ApprovedResultVO req) {
|
||||||
|
if(req.getUserId()!=null){
|
||||||
//查询该hr的信息
|
//查询该hr的信息
|
||||||
SysUser sysUser = iSysUserService.selectUserById(req.getUserId());
|
SysUser sysUser = iSysUserService.selectUserById(req.getUserId());
|
||||||
//更新岗位绑定该hr负责
|
//更新岗位绑定该hr负责
|
||||||
recruitProcessTaskService.updateBindHR(sysUser.getUserId(), sysUser.getNickName(), req.getTaskId());
|
recruitProcessTaskService.updateBindHR(sysUser.getUserId(), sysUser.getNickName(), req.getTaskId());
|
||||||
recruitPostService.updateBindHR(sysUser.getUserId(), sysUser.getNickName(), req.getTaskId());
|
recruitPostService.updateBindHR(sysUser.getUserId(), sysUser.getNickName(), req.getTaskId());
|
||||||
|
}else {
|
||||||
|
recruitProcessTaskService.updateUnBindHR(req.getTaskId());
|
||||||
|
recruitPostService.updateUnBindHR(req.getTaskId());
|
||||||
|
}
|
||||||
|
|
||||||
return success("成功分配");
|
return success("成功分配");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("@ss.hasPermi('recruit:mypost:list')")
|
||||||
|
@GetMapping("/mypost/getOne/{taskId}")
|
||||||
|
@ApiOperation(value = "岗位公海-获取某个岗位的hr分配数据")
|
||||||
|
public AjaxResult getPostList(@PathVariable("taskId")String taskId) {
|
||||||
|
return AjaxResult.success(recruitPostService.getOne(new LambdaQueryWrapper<RecruitPost>().eq(RecruitPost::getTaskId, taskId)));
|
||||||
|
}
|
||||||
|
|
||||||
@PreAuthorize("@ss.hasPermi('recruit:mypost:list')")
|
@PreAuthorize("@ss.hasPermi('recruit:mypost:list')")
|
||||||
@GetMapping("/mypost/list")
|
@GetMapping("/mypost/list")
|
||||||
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
package cn.zeroerr.domain.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @TableName post_grade
|
||||||
|
*/
|
||||||
|
@TableName(value ="post_grade")
|
||||||
|
@Data
|
||||||
|
public class PostGrade implements Serializable {
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableId(value = "grade_id", type = IdType.AUTO)
|
||||||
|
private Long gradeId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 岗位id
|
||||||
|
*/
|
||||||
|
@TableField(value = "post_id")
|
||||||
|
private Long postId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 岗位名
|
||||||
|
*/
|
||||||
|
@TableField(value = "post_name")
|
||||||
|
private String postName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 申请日期
|
||||||
|
*/
|
||||||
|
@TableField(value = "apply_date")
|
||||||
|
private LocalDate applyDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需求人数
|
||||||
|
*/
|
||||||
|
@TableField(value = "post_count")
|
||||||
|
private Integer postCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 0:A ;1:B;2:C
|
||||||
|
*/
|
||||||
|
@TableField(value = "grade")
|
||||||
|
private String grade;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hr的id
|
||||||
|
*/
|
||||||
|
@TableField(value = "hr_id")
|
||||||
|
private Long hrId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* hr的名字
|
||||||
|
*/
|
||||||
|
@TableField(value = "hr_name")
|
||||||
|
private String hrName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门id
|
||||||
|
*/
|
||||||
|
@TableField(value = "dept_id")
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 部门名
|
||||||
|
*/
|
||||||
|
@TableField(value = "dept_name")
|
||||||
|
private String deptName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 岗位评级的月份
|
||||||
|
*/
|
||||||
|
@TableField(value = "month")
|
||||||
|
private String month;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增日期
|
||||||
|
*/
|
||||||
|
@TableField(value = "create_date")
|
||||||
|
private LocalDate createDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新日期
|
||||||
|
*/
|
||||||
|
@TableField(value = "update_date")
|
||||||
|
private LocalDateTime updateDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 招聘到位周期
|
||||||
|
*/
|
||||||
|
@TableField(value = "cycle")
|
||||||
|
private Integer cycle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 备注
|
||||||
|
*/
|
||||||
|
@TableField(value = "remark")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
}
|
|
@ -6,11 +6,11 @@ import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审批通过要招娉的岗位表
|
* 审批通过要招娉的岗位表
|
||||||
|
@ -23,7 +23,7 @@ public class RecruitPost implements Serializable {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@TableId(value = "post_id",type = IdType.AUTO)
|
@TableId(value = "post_id", type = IdType.AUTO)
|
||||||
private Long postId;
|
private Long postId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,7 +45,13 @@ public class RecruitPost implements Serializable {
|
||||||
private String postName;
|
private String postName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 岗位分配时间(岗位开始招聘时间)
|
* 绑定的审批单据id
|
||||||
|
*/
|
||||||
|
@TableField(value = "task_id")
|
||||||
|
private String taskId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组织架构岗位节点id
|
||||||
*/
|
*/
|
||||||
@TableField(value = "node_id")
|
@TableField(value = "node_id")
|
||||||
private Long nodeId;
|
private Long nodeId;
|
||||||
|
@ -63,15 +69,22 @@ public class RecruitPost implements Serializable {
|
||||||
private String deptName;
|
private String deptName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 绑定的审批单据id
|
* 岗位分配时间(岗位开始招聘时间)
|
||||||
*/
|
*/
|
||||||
@TableField(value = "task_id")
|
@TableField(value = "create_time")
|
||||||
private String taskId;
|
private LocalDate createTime;
|
||||||
|
|
||||||
@TableField(value = "create_date")
|
/**
|
||||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
* 更新时间
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
*/
|
||||||
private LocalDate createDate;
|
@TableField(value = "update_time")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否已被分配(0:未分配 ;1:已分配)
|
||||||
|
*/
|
||||||
|
@TableField(value = "is_allocation")
|
||||||
|
private Integer isAllocation;
|
||||||
|
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
package cn.zeroerr.mapper;
|
||||||
|
|
||||||
|
import cn.zeroerr.domain.entity.PostGrade;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Ze-java
|
||||||
|
* @description 针对表【post_grade】的数据库操作Mapper
|
||||||
|
* @createDate 2024-07-05 09:21:29
|
||||||
|
* @Entity cn.zeroerr.domain.entity.PostGrade
|
||||||
|
*/
|
||||||
|
public interface PostGradeMapper extends BaseMapper<PostGrade> {
|
||||||
|
|
||||||
|
List<PostGrade> listBySelect(@Param("req") PostGrade req);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -10,15 +10,19 @@ import java.util.List;
|
||||||
/**
|
/**
|
||||||
* @author Ze-java
|
* @author Ze-java
|
||||||
* @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Mapper
|
* @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Mapper
|
||||||
* @createDate 2024-05-22 15:38:33
|
* @createDate 2024-07-04 18:15:51
|
||||||
* @Entity cn.zeroerr.domain.entity.RecruitPost
|
* @Entity cn.zeroerr.domain.entity.RecruitPost
|
||||||
*/
|
*/
|
||||||
@Repository
|
@Repository
|
||||||
public interface RecruitPostMapper extends BaseMapper<RecruitPost> {
|
public interface RecruitPostMapper extends BaseMapper<RecruitPost> {
|
||||||
|
|
||||||
List<RecruitPost> listMyPost(@Param("userId") Long userId);
|
List<RecruitPost> listPostSea(@Param("req") RecruitPost req);
|
||||||
|
|
||||||
void updateBindHR(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("taskId") String taskId);
|
void updateBindHR(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("taskId") String taskId);
|
||||||
|
|
||||||
|
List<RecruitPost> listMyPost(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
void updateUnBindHR(@Param("taskId") String taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,8 @@ public interface RecruitProcessTaskMapper extends BaseMapper<RecruitProcessTask>
|
||||||
List<RecruitProcessTask> getMyPostList(@Param("userId") Long userId, @Param("status")String status);
|
List<RecruitProcessTask> getMyPostList(@Param("userId") Long userId, @Param("status")String status);
|
||||||
|
|
||||||
void updateReapply(@Param("taskId") String taskId);
|
void updateReapply(@Param("taskId") String taskId);
|
||||||
|
|
||||||
|
void updateUnBindHR(@Param("taskId") String taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
package cn.zeroerr.service;
|
||||||
|
|
||||||
|
import cn.zeroerr.domain.entity.PostGrade;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Ze-java
|
||||||
|
* @description 针对表【post_grade】的数据库操作Service
|
||||||
|
* @createDate 2024-07-05 09:21:29
|
||||||
|
*/
|
||||||
|
public interface PostGradeService extends IService<PostGrade> {
|
||||||
|
|
||||||
|
List<PostGrade> listBySelect(PostGrade req);
|
||||||
|
}
|
|
@ -8,11 +8,15 @@ import java.util.List;
|
||||||
/**
|
/**
|
||||||
* @author Ze-java
|
* @author Ze-java
|
||||||
* @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Service
|
* @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Service
|
||||||
* @createDate 2024-05-22 15:38:33
|
* @createDate 2024-07-04 18:15:51
|
||||||
*/
|
*/
|
||||||
public interface RecruitPostService extends IService<RecruitPost> {
|
public interface RecruitPostService extends IService<RecruitPost> {
|
||||||
|
|
||||||
List<RecruitPost> listMyPost(Long userId);
|
List<RecruitPost> listPostSea(RecruitPost req);
|
||||||
|
|
||||||
void updateBindHR(Long userId, String nickName, String taskId);
|
void updateBindHR(Long userId, String nickName, String taskId);
|
||||||
|
|
||||||
|
List<RecruitPost> listMyPost(Long userId);
|
||||||
|
|
||||||
|
void updateUnBindHR(String taskId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,4 +42,6 @@ public interface RecruitProcessTaskService extends IService<RecruitProcessTask>
|
||||||
|
|
||||||
|
|
||||||
void updateReapply(String taskId);
|
void updateReapply(String taskId);
|
||||||
|
|
||||||
|
void updateUnBindHR(String taskId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
package cn.zeroerr.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import cn.zeroerr.domain.entity.PostGrade;
|
||||||
|
import cn.zeroerr.service.PostGradeService;
|
||||||
|
import cn.zeroerr.mapper.PostGradeMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Ze-java
|
||||||
|
* @description 针对表【post_grade】的数据库操作Service实现
|
||||||
|
* @createDate 2024-07-05 09:21:29
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class PostGradeServiceImpl extends ServiceImpl<PostGradeMapper, PostGrade>
|
||||||
|
implements PostGradeService{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PostGrade> listBySelect(PostGrade req) {
|
||||||
|
return this.baseMapper.listBySelect(req);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import cn.zeroerr.domain.entity.RecruitPost;
|
import cn.zeroerr.domain.entity.RecruitPost;
|
||||||
import cn.zeroerr.service.RecruitPostService;
|
import cn.zeroerr.service.RecruitPostService;
|
||||||
import cn.zeroerr.mapper.RecruitPostMapper;
|
import cn.zeroerr.mapper.RecruitPostMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -12,23 +11,30 @@ import java.util.List;
|
||||||
/**
|
/**
|
||||||
* @author Ze-java
|
* @author Ze-java
|
||||||
* @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Service实现
|
* @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Service实现
|
||||||
* @createDate 2024-05-22 15:38:33
|
* @createDate 2024-07-04 18:15:51
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class RecruitPostServiceImpl extends ServiceImpl<RecruitPostMapper, RecruitPost>
|
public class RecruitPostServiceImpl extends ServiceImpl<RecruitPostMapper, RecruitPost>
|
||||||
implements RecruitPostService{
|
implements RecruitPostService{
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private RecruitPostMapper recruitPostMapper;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<RecruitPost> listMyPost(Long userId) {
|
public List<RecruitPost> listPostSea(RecruitPost req) {
|
||||||
return recruitPostMapper.listMyPost(userId);
|
return this.baseMapper.listPostSea(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateBindHR(Long userId, String nickName, String taskId) {
|
public void updateBindHR(Long userId, String nickName, String taskId) {
|
||||||
recruitPostMapper.updateBindHR(userId,nickName,taskId);
|
this.baseMapper.updateBindHR(userId,nickName,taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<RecruitPost> listMyPost(Long userId) {
|
||||||
|
return this.baseMapper.listMyPost(userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateUnBindHR(String taskId) {
|
||||||
|
this.baseMapper.updateUnBindHR(taskId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -141,6 +141,11 @@ public class RecruitProcessTaskServiceImpl extends ServiceImpl<RecruitProcessTas
|
||||||
recruitProcessTaskMapper.updateReapply(taskId);
|
recruitProcessTaskMapper.updateReapply(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateUnBindHR(String taskId) {
|
||||||
|
recruitProcessTaskMapper.updateUnBindHR(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理流程节点
|
* 处理流程节点
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="cn.zeroerr.mapper.PostGradeMapper">
|
||||||
|
|
||||||
|
<resultMap id="BaseResultMap" type="cn.zeroerr.domain.entity.PostGrade">
|
||||||
|
<id property="gradeId" column="grade_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="postId" column="post_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="postName" column="post_name" jdbcType="VARCHAR"/>
|
||||||
|
<result property="applyDate" column="apply_date" jdbcType="DATE"/>
|
||||||
|
<result property="postCount" column="post_count" jdbcType="INTEGER"/>
|
||||||
|
<result property="grade" column="grade" jdbcType="VARCHAR"/>
|
||||||
|
<result property="hrId" column="hr_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="hrName" column="hr_name" jdbcType="VARCHAR"/>
|
||||||
|
<result property="deptId" column="dept_id" jdbcType="BIGINT"/>
|
||||||
|
<result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
|
||||||
|
<result property="month" column="month" jdbcType="VARCHAR"/>
|
||||||
|
<result property="createDate" column="create_date" jdbcType="DATE"/>
|
||||||
|
<result property="updateDate" column="update_date" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="cycle" column="cycle" jdbcType="INTEGER"/>
|
||||||
|
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="Base_Column_List">
|
||||||
|
grade_id,post_id,post_name,
|
||||||
|
apply_date,post_count,grade,
|
||||||
|
hr_id,hr_name,dept_id,
|
||||||
|
dept_name,month,create_date,
|
||||||
|
update_date,cycle,remark
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="listBySelect" resultMap="BaseResultMap">
|
||||||
|
select <include refid="Base_Column_List"/>
|
||||||
|
from post_grade
|
||||||
|
where month = #{req.month}
|
||||||
|
<if test="req.grade != null">and grade = #{req.grade}</if>
|
||||||
|
<if test="req.deptId != null">and dept_id = #{req.deptId}</if>
|
||||||
|
<if test="req.postName != null and req.postName != ''">
|
||||||
|
and post_name like concat('%', #{req.postName}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="req.hrName != null and req.hrName != ''">
|
||||||
|
and hr_name like concat('%', #{req.hrName}, '%')
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -5,26 +5,47 @@
|
||||||
<mapper namespace="cn.zeroerr.mapper.RecruitPostMapper">
|
<mapper namespace="cn.zeroerr.mapper.RecruitPostMapper">
|
||||||
|
|
||||||
<resultMap id="BaseResultMap" type="cn.zeroerr.domain.entity.RecruitPost">
|
<resultMap id="BaseResultMap" type="cn.zeroerr.domain.entity.RecruitPost">
|
||||||
<id property="postId" column="post_id" />
|
<id property="postId" column="post_id" jdbcType="BIGINT"/>
|
||||||
<result property="hrId" column="hr_id" />
|
<result property="hrId" column="hr_id" jdbcType="BIGINT"/>
|
||||||
<result property="hrName" column="hr_name" jdbcType="VARCHAR"/>
|
<result property="hrName" column="hr_name" jdbcType="VARCHAR"/>
|
||||||
<result property="postName" column="post_name" jdbcType="VARCHAR"/>
|
<result property="postName" column="post_name" jdbcType="VARCHAR"/>
|
||||||
<result property="nodeId" column="node_id" />
|
|
||||||
<result property="taskId" column="task_id" jdbcType="VARCHAR"/>
|
<result property="taskId" column="task_id" jdbcType="VARCHAR"/>
|
||||||
<result property="deptId" column="dept_id" />
|
<result property="nodeId" column="node_id" jdbcType="VARCHAR"/>
|
||||||
|
<result property="deptId" column="dept_id" jdbcType="BIGINT"/>
|
||||||
<result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
|
<result property="deptName" column="dept_name" jdbcType="VARCHAR"/>
|
||||||
<result property="createDate" column="create_date" />
|
<result property="createTime" column="create_time" jdbcType="DATE"/>
|
||||||
|
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="isAllocation" column="is_allocation" jdbcType="TINYINT"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
post_id,hr_id,hr_name,
|
post_id,hr_id,hr_name,
|
||||||
post_name,node_id,task_id,dept_id,dept_name,create_date
|
post_name,task_id,node_id,
|
||||||
|
dept_id,dept_name,create_time,
|
||||||
|
update_time,is_allocation
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="listMyPost" parameterType="long" resultMap="BaseResultMap">
|
<select id="listPostSea" resultMap="BaseResultMap">
|
||||||
select <include refid="Base_Column_List"/> from recruit_post where hr_id=#{userId}
|
select <include refid="Base_Column_List"/>
|
||||||
|
from recruit_post
|
||||||
|
where post_name is not null
|
||||||
|
<if test="req.hrName!=null and req.hrName != ''">and hr_name like concat('%', #{req.hrName}, '%')</if>
|
||||||
|
<if test="req.postName!=null and req.postName != ''">and post_name like concat('%', #{req.postName}, '%')</if>
|
||||||
|
<if test="req.isAllocation!=null">and is_allocation = #{req.isAllocation}</if>
|
||||||
|
<if test="req.deptId!=null">and dept_id = #{req.deptId}</if>
|
||||||
|
order by create_time desc, is_allocation asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<update id="updateBindHR">
|
<update id="updateBindHR">
|
||||||
update recruit_post set hr_id=#{userId} ,hr_name=#{nickName} where task_id=#{taskId}
|
update recruit_post set hr_id=#{userId} ,hr_name=#{nickName} ,is_allocation=1 where task_id=#{taskId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="listMyPost" resultMap="BaseResultMap">
|
||||||
|
select <include refid="Base_Column_List"/> from recruit_post where hr_id =#{userId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="updateUnBindHR">
|
||||||
|
update recruit_post set hr_id=null ,hr_name=null,is_allocation=0 where task_id=#{taskId}
|
||||||
</update>
|
</update>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -262,5 +262,8 @@
|
||||||
update recruit_process_task set status='reapply' where task_id=#{taskId}
|
update recruit_process_task set status='reapply' where task_id=#{taskId}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="updateUnBindHR">
|
||||||
|
update recruit_process_task set hr_id=null ,hr_name=null where task_id=#{taskId}
|
||||||
|
</update>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
<result property="createTime" column="create_time"/>
|
<result property="createTime" column="create_time"/>
|
||||||
<result property="updateBy" column="update_by"/>
|
<result property="updateBy" column="update_by"/>
|
||||||
<result property="updateTime" column="update_time"/>
|
<result property="updateTime" column="update_time"/>
|
||||||
|
<result property="postCompleteDate" column="post_complete_date"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectNodeVo">
|
<sql id="selectNodeVo">
|
||||||
|
@ -38,7 +39,8 @@
|
||||||
d.create_time,
|
d.create_time,
|
||||||
d.type,
|
d.type,
|
||||||
d.post_type,
|
d.post_type,
|
||||||
d.task_id
|
d.task_id,
|
||||||
|
d.post_complete_date
|
||||||
from recruit_structure d
|
from recruit_structure d
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
@ -60,6 +62,7 @@
|
||||||
d.type,
|
d.type,
|
||||||
d.post_type,
|
d.post_type,
|
||||||
d.task_id,
|
d.task_id,
|
||||||
|
d.post_complete_date
|
||||||
(select node_name from recruit_structure where node_id = d.parent_id) parent_name
|
(select node_name from recruit_structure where node_id = d.parent_id) parent_name
|
||||||
from recruit_structure d
|
from recruit_structure d
|
||||||
where d.node_id = #{parentId}
|
where d.node_id = #{parentId}
|
||||||
|
|
Loading…
Reference in New Issue