From 067bafbd55760eb6f1971ba48794f620d1aa03eb Mon Sep 17 00:00:00 2001 From: lw <532810027@qq.com> Date: Fri, 5 Jul 2024 08:53:36 +0800 Subject: [PATCH 1/3] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E5=85=AC=E6=B5=B7=E9=A1=B5=E9=9D=A2=EF=BC=8C=E4=BD=BF=E5=BE=97?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=9F=A5=E7=9C=8B=E6=89=80=E6=9C=89=E7=9A=84?= =?UTF-8?q?=E5=88=86=E9=85=8D/=E6=9C=AA=E5=88=86=E9=85=8D=E5=B2=97?= =?UTF-8?q?=E4=BD=8D=20=202.=E5=8A=A8=E6=80=81=E5=88=86=E9=85=8Dhr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-druid.yml | 14 +++---- .../src/main/resources/application.yml | 12 +++--- .../RecruitInterviewController.java | 8 ---- .../controller/RecruitProcessController.java | 33 +++++++++++----- .../cn/zeroerr/domain/entity/RecruitPost.java | 35 +++++++++++------ .../cn/zeroerr/mapper/RecruitPostMapper.java | 8 +++- .../mapper/RecruitProcessTaskMapper.java | 2 + .../zeroerr/service/RecruitPostService.java | 8 +++- .../service/RecruitProcessTaskService.java | 2 + .../service/impl/RecruitPostServiceImpl.java | 22 +++++++---- .../impl/RecruitProcessTaskServiceImpl.java | 5 +++ .../resources/mapper/RecruitPostMapper.xml | 39 ++++++++++++++----- .../mapper/RecruitProcessTaskMapper.xml | 3 ++ 13 files changed, 129 insertions(+), 62 deletions(-) diff --git a/zeroerr_oa-admin/src/main/resources/application-druid.yml b/zeroerr_oa-admin/src/main/resources/application-druid.yml index 73a9d63..ddd2703 100644 --- a/zeroerr_oa-admin/src/main/resources/application-druid.yml +++ b/zeroerr_oa-admin/src/main/resources/application-druid.yml @@ -5,14 +5,14 @@ spring: driverClassName: com.mysql.cj.jdbc.Driver 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: -# url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 -# username: root -# password: zero +# 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: + url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + username: root + password: zero # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/zeroerr_oa-admin/src/main/resources/application.yml b/zeroerr_oa-admin/src/main/resources/application.yml index 3d7e309..f44ce9a 100644 --- a/zeroerr_oa-admin/src/main/resources/application.yml +++ b/zeroerr_oa-admin/src/main/resources/application.yml @@ -7,8 +7,8 @@ ruoyi: # 版权年份 copyrightYear: 2024 # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) - #profile: D:/zeroerr/uploadPath - profile: /home/zeroerr_oa/uploadPath + profile: D:/zeroerr/uploadPath + #profile: /home/zeroerr_oa/uploadPath # 获取ip地址开关 addressEnabled: false # 验证码类型 math 数字计算 char 字符验证 @@ -69,15 +69,15 @@ spring: # redis 配置 redis: # 地址 - host: 192.168.1.189 - #host: localhost + #host: 192.168.1.189 + host: localhost # 端口,默认为6379 port: 6379 # 数据库索引 database: 0 # 密码 - password: 123456 - #password: + #password: 123456 + password: # 连接超时时间 timeout: 10s lettuce: diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitInterviewController.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitInterviewController.java index 5628983..b77a31a 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitInterviewController.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitInterviewController.java @@ -2,7 +2,6 @@ package cn.zeroerr.controller; import cn.zeroerr.common.annotation.Log; import cn.zeroerr.common.config.RuoYiConfig; -import cn.zeroerr.common.constant.Constants; import cn.zeroerr.common.core.controller.BaseController; import cn.zeroerr.common.core.domain.AjaxResult; 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.utils.StringUtils; 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.poi.ExcelUtil; import cn.zeroerr.domain.dto.ToppingDTO; 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.vo.InterViewTagVO; import cn.zeroerr.domain.vo.UserVO; import cn.zeroerr.service.InterviewTagService; import cn.zeroerr.service.RecruitPostService; import cn.zeroerr.service.ResumeFollowRecordService; -import cn.zeroerr.system.mapper.RecruitStructureMapper; import cn.zeroerr.system.service.ISysDictDataService; import cn.zeroerr.system.service.ISysRoleService; import cn.zeroerr.system.service.ISysUserService; 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.toolkit.CollectionUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.MediaType; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.time.LocalDate; import java.time.LocalDateTime; diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitProcessController.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitProcessController.java index 0b9252f..ea21dd0 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitProcessController.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitProcessController.java @@ -279,7 +279,9 @@ public class RecruitProcessController extends BaseController { .postName(recruitProcessTask.getPostName()) .deptId(recruitProcessTask.getDeptId()) .deptName(recruitProcessTask.getDeptName()) - .createDate(LocalDate.now()) + //默认未分配 + .isAllocation(0) + .createTime(LocalDate.now()) .build(); recruitPostService.save(recruitPost); if(recruitProcessTask.getStructurePostId()!=null){ @@ -393,11 +395,12 @@ public class RecruitProcessController extends BaseController { @PreAuthorize("@ss.hasPermi('recruit:postsea:list')") @GetMapping("/postsea/list") @ApiOperation(value = "岗位公海-分页/条件查询获取表单") - public TableDataInfo postseaList(RecruitProcessTask task) { + public TableDataInfo postseaList(RecruitPost req) { startPage(); - List taskList = recruitProcessTaskService.listPostSea(task); + //List taskList = recruitProcessTaskService.listPostSea(task); + List recruitPostList= recruitPostService.listPostSea(req); //把taskList的taskId变成字符串 - return getDataTable(taskList); + return getDataTable(recruitPostList); } @@ -405,14 +408,26 @@ public class RecruitProcessController extends BaseController { @PutMapping("/postsea/distribution") @ApiOperation(value = "岗位公海-hr主管分配岗位给具体hr") public AjaxResult distribution(@Validated @RequestBody ApprovedResultVO req) { - //查询该hr的信息 - SysUser sysUser = iSysUserService.selectUserById(req.getUserId()); - //更新岗位绑定该hr负责 - recruitProcessTaskService.updateBindHR(sysUser.getUserId(), sysUser.getNickName(), req.getTaskId()); - recruitPostService.updateBindHR(sysUser.getUserId(), sysUser.getNickName(), req.getTaskId()); + if(req.getUserId()!=null){ + //查询该hr的信息 + SysUser sysUser = iSysUserService.selectUserById(req.getUserId()); + //更新岗位绑定该hr负责 + recruitProcessTaskService.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("成功分配"); } + @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().eq(RecruitPost::getTaskId, taskId))); + } @PreAuthorize("@ss.hasPermi('recruit:mypost:list')") @GetMapping("/mypost/list") diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/RecruitPost.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/RecruitPost.java index faf8357..c26d516 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/RecruitPost.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/RecruitPost.java @@ -6,11 +6,11 @@ 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 com.fasterxml.jackson.annotation.JsonFormat; import lombok.Builder; 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; /** @@ -45,7 +45,13 @@ public class RecruitPost implements Serializable { private String postName; /** - * 岗位分配时间(岗位开始招聘时间) + * 绑定的审批单据id + */ + @TableField(value = "task_id") + private String taskId; + + /** + * 组织架构岗位节点id */ @TableField(value = "node_id") private Long nodeId; @@ -63,15 +69,22 @@ public class RecruitPost implements Serializable { private String deptName; /** - * 绑定的审批单据id + * 岗位分配时间(岗位开始招聘时间) */ - @TableField(value = "task_id") - private String taskId; + @TableField(value = "create_time") + 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) private static final long serialVersionUID = 1L; diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitPostMapper.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitPostMapper.java index 2123448..6523942 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitPostMapper.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitPostMapper.java @@ -10,15 +10,19 @@ import java.util.List; /** * @author Ze-java * @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Mapper -* @createDate 2024-05-22 15:38:33 +* @createDate 2024-07-04 18:15:51 * @Entity cn.zeroerr.domain.entity.RecruitPost */ @Repository public interface RecruitPostMapper extends BaseMapper { - List listMyPost(@Param("userId") Long userId); + List listPostSea(@Param("req") RecruitPost req); void updateBindHR(@Param("userId") Long userId, @Param("nickName") String nickName, @Param("taskId") String taskId); + + List listMyPost(@Param("userId") Long userId); + + void updateUnBindHR(@Param("taskId") String taskId); } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitProcessTaskMapper.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitProcessTaskMapper.java index 83dd58e..f8748b1 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitProcessTaskMapper.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/RecruitProcessTaskMapper.java @@ -42,6 +42,8 @@ public interface RecruitProcessTaskMapper extends BaseMapper List getMyPostList(@Param("userId") Long userId, @Param("status")String status); void updateReapply(@Param("taskId") String taskId); + + void updateUnBindHR(@Param("taskId") String taskId); } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitPostService.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitPostService.java index b03c533..1d1b72b 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitPostService.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitPostService.java @@ -8,11 +8,15 @@ import java.util.List; /** * @author Ze-java * @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Service -* @createDate 2024-05-22 15:38:33 +* @createDate 2024-07-04 18:15:51 */ public interface RecruitPostService extends IService { - List listMyPost(Long userId); + List listPostSea(RecruitPost req); void updateBindHR(Long userId, String nickName, String taskId); + + List listMyPost(Long userId); + + void updateUnBindHR(String taskId); } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitProcessTaskService.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitProcessTaskService.java index f5e23a8..e079ddd 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitProcessTaskService.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/RecruitProcessTaskService.java @@ -42,4 +42,6 @@ public interface RecruitProcessTaskService extends IService void updateReapply(String taskId); + + void updateUnBindHR(String taskId); } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitPostServiceImpl.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitPostServiceImpl.java index bba5a38..86a1d67 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitPostServiceImpl.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitPostServiceImpl.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import cn.zeroerr.domain.entity.RecruitPost; import cn.zeroerr.service.RecruitPostService; import cn.zeroerr.mapper.RecruitPostMapper; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -12,23 +11,30 @@ import java.util.List; /** * @author Ze-java * @description 针对表【recruit_post(审批通过要招娉的岗位表)】的数据库操作Service实现 -* @createDate 2024-05-22 15:38:33 +* @createDate 2024-07-04 18:15:51 */ @Service public class RecruitPostServiceImpl extends ServiceImpl implements RecruitPostService{ - @Autowired - private RecruitPostMapper recruitPostMapper; - @Override - public List listMyPost(Long userId) { - return recruitPostMapper.listMyPost(userId); + public List listPostSea(RecruitPost req) { + return this.baseMapper.listPostSea(req); } @Override public void updateBindHR(Long userId, String nickName, String taskId) { - recruitPostMapper.updateBindHR(userId,nickName,taskId); + this.baseMapper.updateBindHR(userId,nickName,taskId); + } + + @Override + public List listMyPost(Long userId) { + return this.baseMapper.listMyPost(userId); + } + + @Override + public void updateUnBindHR(String taskId) { + this.baseMapper.updateUnBindHR(taskId); } } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitProcessTaskServiceImpl.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitProcessTaskServiceImpl.java index cd800da..cbfe046 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitProcessTaskServiceImpl.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/RecruitProcessTaskServiceImpl.java @@ -141,6 +141,11 @@ public class RecruitProcessTaskServiceImpl extends ServiceImpl - - + + - - + + - + + + 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 - + select + from recruit_post + where post_name is not null + and hr_name like concat('%', #{req.hrName}, '%') + and post_name like concat('%', #{req.postName}, '%') + and is_allocation = #{req.isAllocation} + and dept_id = #{req.deptId} + order by create_time desc, is_allocation asc + + - 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 recruit_post set hr_id=null ,hr_name=null,is_allocation=0 where task_id=#{taskId} diff --git a/zeroerr_oa-recruit/src/main/resources/mapper/RecruitProcessTaskMapper.xml b/zeroerr_oa-recruit/src/main/resources/mapper/RecruitProcessTaskMapper.xml index 700cd39..fc8f626 100644 --- a/zeroerr_oa-recruit/src/main/resources/mapper/RecruitProcessTaskMapper.xml +++ b/zeroerr_oa-recruit/src/main/resources/mapper/RecruitProcessTaskMapper.xml @@ -262,5 +262,8 @@ update recruit_process_task set status='reapply' where task_id=#{taskId} + + update recruit_process_task set hr_id=null ,hr_name=null where task_id=#{taskId} + From c93824e45c05ce7bb3f02d7f5a7fc601848f217d Mon Sep 17 00:00:00 2001 From: lw <532810027@qq.com> Date: Fri, 5 Jul 2024 09:46:22 +0800 Subject: [PATCH 2/3] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E7=AE=80=E5=8E=86?= =?UTF-8?q?=E8=AF=84=E7=BA=A7=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RecruitPostGradeController.java | 35 ++++++ .../cn/zeroerr/domain/entity/PostGrade.java | 112 ++++++++++++++++++ .../cn/zeroerr/mapper/PostGradeMapper.java | 18 +++ .../cn/zeroerr/service/PostGradeService.java | 13 ++ .../service/impl/PostGradeServiceImpl.java | 22 ++++ .../main/resources/mapper/PostGradeMapper.xml | 32 +++++ 6 files changed, 232 insertions(+) create mode 100644 zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java create mode 100644 zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java create mode 100644 zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java create mode 100644 zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java create mode 100644 zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java create mode 100644 zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java new file mode 100644 index 0000000..04cf5ef --- /dev/null +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java @@ -0,0 +1,35 @@ +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.domain.entity.PostGrade; +import cn.zeroerr.domain.entity.ResumeFollowRecord; +import cn.zeroerr.service.PostGradeService; +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; + +@RestController +@RequestMapping("/recruit/postGrade") +@Api(tags = "招聘管理-岗位评级") +public class RecruitPostGradeController extends BaseController { + + @Autowired + private PostGradeService postGradeService; + + +// @PreAuthorize("@ss.hasAnyPermi('recruit:grade:add')") +// @PostMapping("/add") +// @ApiOperation(value = "增加《面试管理》简历跟进记录") +// public AjaxResult addPostGrade(@Validated @RequestBody PostGrade req) { +// +// } + +} diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java new file mode 100644 index 0000000..45d137e --- /dev/null +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java @@ -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 Integer 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; +} \ No newline at end of file diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java new file mode 100644 index 0000000..33507a9 --- /dev/null +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java @@ -0,0 +1,18 @@ +package cn.zeroerr.mapper; + +import cn.zeroerr.domain.entity.PostGrade; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** +* @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 { + +} + + + + diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java new file mode 100644 index 0000000..020f864 --- /dev/null +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java @@ -0,0 +1,13 @@ +package cn.zeroerr.service; + +import cn.zeroerr.domain.entity.PostGrade; +import com.baomidou.mybatisplus.extension.service.IService; + +/** +* @author Ze-java +* @description 针对表【post_grade】的数据库操作Service +* @createDate 2024-07-05 09:21:29 +*/ +public interface PostGradeService extends IService { + +} diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java new file mode 100644 index 0000000..7b35422 --- /dev/null +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java @@ -0,0 +1,22 @@ +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; + +/** +* @author Ze-java +* @description 针对表【post_grade】的数据库操作Service实现 +* @createDate 2024-07-05 09:21:29 +*/ +@Service +public class PostGradeServiceImpl extends ServiceImpl + implements PostGradeService{ + +} + + + + diff --git a/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml b/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml new file mode 100644 index 0000000..0ca1e14 --- /dev/null +++ b/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + 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 + + From 014086c888c0105aba590e3f47e3e5a6de64ef17 Mon Sep 17 00:00:00 2001 From: lw <532810027@qq.com> Date: Fri, 5 Jul 2024 16:40:23 +0800 Subject: [PATCH 3/3] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=B2=97=E4=BD=8D?= =?UTF-8?q?=E8=AF=84=E7=BA=A7=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/domain/entity/RecruitStructure.java | 12 +++ .../RecruitPostGradeController.java | 76 +++++++++++++++++-- .../cn/zeroerr/domain/entity/PostGrade.java | 2 +- .../cn/zeroerr/mapper/PostGradeMapper.java | 4 + .../cn/zeroerr/service/PostGradeService.java | 3 + .../service/impl/PostGradeServiceImpl.java | 6 ++ .../main/resources/mapper/PostGradeMapper.xml | 18 ++++- .../mapper/system/RecruitStructureMapper.xml | 5 +- 8 files changed, 117 insertions(+), 9 deletions(-) diff --git a/zeroerr_oa-common/src/main/java/cn/zeroerr/common/core/domain/entity/RecruitStructure.java b/zeroerr_oa-common/src/main/java/cn/zeroerr/common/core/domain/entity/RecruitStructure.java index 06c22e8..25308fc 100644 --- a/zeroerr_oa-common/src/main/java/cn/zeroerr/common/core/domain/entity/RecruitStructure.java +++ b/zeroerr_oa-common/src/main/java/cn/zeroerr/common/core/domain/entity/RecruitStructure.java @@ -9,6 +9,7 @@ import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; +import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @@ -65,6 +66,17 @@ public class RecruitStructure extends BaseEntity private String taskId; + private LocalDate postCompleteDate; + + public LocalDate getPostCompleteDate() { + return postCompleteDate; + } + + public void setPostCompleteDate(LocalDate postCompleteDate) { + this.postCompleteDate = postCompleteDate; + } + + public Integer getPostType() { return postType; } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java index 04cf5ef..5255322 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/controller/RecruitPostGradeController.java @@ -4,9 +4,15 @@ 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; @@ -15,6 +21,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.time.LocalDate; +import java.util.List; @RestController @RequestMapping("/recruit/postGrade") @@ -24,12 +31,69 @@ public class RecruitPostGradeController extends BaseController { @Autowired private PostGradeService postGradeService; + @Autowired + private RecruitProcessTaskService recruitProcessTaskService; -// @PreAuthorize("@ss.hasAnyPermi('recruit:grade:add')") -// @PostMapping("/add") -// @ApiOperation(value = "增加《面试管理》简历跟进记录") -// public AjaxResult addPostGrade(@Validated @RequestBody PostGrade req) { -// -// } + @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 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)); + } } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java index 45d137e..53e3be2 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/domain/entity/PostGrade.java @@ -51,7 +51,7 @@ public class PostGrade implements Serializable { * 0:A ;1:B;2:C */ @TableField(value = "grade") - private Integer grade; + private String grade; /** * hr的id diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java index 33507a9..bffadd6 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/mapper/PostGradeMapper.java @@ -2,6 +2,9 @@ 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 @@ -11,6 +14,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface PostGradeMapper extends BaseMapper { + List listBySelect(@Param("req") PostGrade req); } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java index 020f864..eee5dd7 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/PostGradeService.java @@ -3,6 +3,8 @@ 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 @@ -10,4 +12,5 @@ import com.baomidou.mybatisplus.extension.service.IService; */ public interface PostGradeService extends IService { + List listBySelect(PostGrade req); } diff --git a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java index 7b35422..4784a0a 100644 --- a/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java +++ b/zeroerr_oa-recruit/src/main/java/cn/zeroerr/service/impl/PostGradeServiceImpl.java @@ -6,6 +6,8 @@ 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实现 @@ -15,6 +17,10 @@ import org.springframework.stereotype.Service; public class PostGradeServiceImpl extends ServiceImpl implements PostGradeService{ + @Override + public List listBySelect(PostGrade req) { + return this.baseMapper.listBySelect(req); + } } diff --git a/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml b/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml index 0ca1e14..4dcbcce 100644 --- a/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml +++ b/zeroerr_oa-recruit/src/main/resources/mapper/PostGradeMapper.xml @@ -10,7 +10,7 @@ - + @@ -29,4 +29,20 @@ dept_name,month,create_date, update_date,cycle,remark + + + + diff --git a/zeroerr_oa-system/src/main/resources/mapper/system/RecruitStructureMapper.xml b/zeroerr_oa-system/src/main/resources/mapper/system/RecruitStructureMapper.xml index bb29161..442a021 100644 --- a/zeroerr_oa-system/src/main/resources/mapper/system/RecruitStructureMapper.xml +++ b/zeroerr_oa-system/src/main/resources/mapper/system/RecruitStructureMapper.xml @@ -21,6 +21,7 @@ + @@ -38,7 +39,8 @@ d.create_time, d.type, d.post_type, - d.task_id + d.task_id, + d.post_complete_date from recruit_structure d @@ -60,6 +62,7 @@ d.type, d.post_type, d.task_id, + d.post_complete_date (select node_name from recruit_structure where node_id = d.parent_id) parent_name from recruit_structure d where d.node_id = #{parentId}