1.新增转正日期和离职日期 2.新增岗位公海查看招聘状态

This commit is contained in:
lw 2024-07-30 18:02:23 +08:00
parent 4b56200d3f
commit 9b667db6a0
10 changed files with 87 additions and 22 deletions

View File

@ -39,6 +39,7 @@ import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@RestController @RestController
@ -273,16 +274,24 @@ public class RecruitProcessController extends BaseController {
if(req.getResult().equals(ProcessResult.approved.name())){ if(req.getResult().equals(ProcessResult.approved.name())){
RecruitProcessTask recruitProcessTask = recruitProcessTaskService.getByTaskId(req.getTaskId()); RecruitProcessTask recruitProcessTask = recruitProcessTaskService.getByTaskId(req.getTaskId());
//新增岗位,未绑定hr //新增岗位,未绑定hr
RecruitPost recruitPost = RecruitPost.builder() RecruitPost recruitPost = new RecruitPost();
.taskId(req.getTaskId()) recruitPost.setNodeId(recruitProcessTask.getStructurePostId());
.nodeId(recruitProcessTask.getStructurePostId()) recruitPost.setTaskId(req.getTaskId());
.postName(recruitProcessTask.getPostName()) recruitPost.setPostName(recruitProcessTask.getPostName());
.deptId(recruitProcessTask.getDeptId()) recruitPost.setDeptId(recruitProcessTask.getDeptId());
.deptName(recruitProcessTask.getDeptName()) recruitPost.setDeptName(recruitProcessTask.getDeptName());
//默认未分配 recruitPost.setIsAllocation(0);
.isAllocation(0) recruitPost.setCreateTime(LocalDate.now());
.createTime(LocalDate.now()) // RecruitPost recruitPost = RecruitPost.builder()
.build(); // .taskId(req.getTaskId())
// .nodeId(recruitProcessTask.getStructurePostId())
// .postName(recruitProcessTask.getPostName())
// .deptId(recruitProcessTask.getDeptId())
// .deptName(recruitProcessTask.getDeptName())
// //默认未分配
// .isAllocation(0)
// .createTime(LocalDate.now())
// .build();
recruitPostService.save(recruitPost); recruitPostService.save(recruitPost);
if(recruitProcessTask.getStructurePostId()!=null){ if(recruitProcessTask.getStructurePostId()!=null){
//将该审批绑定的组织架构节点给更新成招聘中的状态 //将该审批绑定的组织架构节点给更新成招聘中的状态
@ -407,8 +416,17 @@ public class RecruitProcessController extends BaseController {
@ApiOperation(value = "岗位公海-分页/条件查询获取表单") @ApiOperation(value = "岗位公海-分页/条件查询获取表单")
public TableDataInfo postseaList(RecruitPost req) { public TableDataInfo postseaList(RecruitPost req) {
startPage(); startPage();
//List<RecruitProcessTask> taskList = recruitProcessTaskService.listPostSea(task);
List<RecruitPost> recruitPostList= recruitPostService.listPostSea(req); List<RecruitPost> recruitPostList= recruitPostService.listPostSea(req);
List<Long> nodeIds = recruitPostList.stream().map(RecruitPost::getNodeId).collect(Collectors.toList());
List<RecruitStructure> recruitStructureList=recruitStructureService.getNodeList(nodeIds);
Map<Long, List<RecruitStructure>> recruitStructureMap = recruitStructureList.stream().collect(Collectors.groupingBy(RecruitStructure::getNodeId));
recruitPostList.forEach(
recruitPost -> {
if(recruitStructureMap.get(recruitPost.getNodeId()).size()>0){
recruitPost.setPostType(recruitStructureMap.get(recruitPost.getNodeId()).get(0).getPostType());
}
}
);
//把taskList的taskId变成字符串 //把taskList的taskId变成字符串
return getDataTable(recruitPostList); return getDataTable(recruitPostList);
} }

View File

@ -146,6 +146,18 @@ public class EntryManage implements Serializable {
@Excel(name = "岗位等级",dictType = "recruit_post_rank") @Excel(name = "岗位等级",dictType = "recruit_post_rank")
private String rank; private String rank;
@TableField(value = "regular_date",updateStrategy = FieldStrategy.IGNORED)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name = "转正时间", width = 30, dateFormat = "yyyy-MM-dd")
private LocalDate regularDate;
@TableField(value = "termination_date",updateStrategy = FieldStrategy.IGNORED)
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Excel(name = "离职时间", width = 30, dateFormat = "yyyy-MM-dd")
private LocalDate terminationDate;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@ -116,6 +116,9 @@ public class PostGrade implements Serializable {
@Excel(name = "备注") @Excel(name = "备注")
private String remark; private String remark;
@TableField(exist = false)
private Integer postType;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@ -18,7 +18,6 @@ import lombok.Data;
*/ */
@TableName(value ="recruit_post") @TableName(value ="recruit_post")
@Data @Data
@Builder
public class RecruitPost implements Serializable { public class RecruitPost implements Serializable {
/** /**
* *
@ -86,6 +85,9 @@ public class RecruitPost implements Serializable {
@TableField(value = "is_allocation") @TableField(value = "is_allocation")
private Integer isAllocation; private Integer isAllocation;
@TableField(exist = false)
private Integer postType;
@TableField(exist = false) @TableField(exist = false)
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
} }

View File

@ -41,15 +41,22 @@ public class RecruitPostServiceImpl extends ServiceImpl<RecruitPostMapper, Recru
@Override @Override
public void newRecruitPost(RecruitStructure node,Long deptId,String deptName) { public void newRecruitPost(RecruitStructure node,Long deptId,String deptName) {
RecruitPost recruitPost = RecruitPost.builder() RecruitPost recruitPost = new RecruitPost();
.nodeId(node.getNodeId()) recruitPost.setNodeId(node.getNodeId());
.postName(node.getNodeName()) recruitPost.setPostName(node.getNodeName());
.deptId(deptId) recruitPost.setDeptId(deptId);
.deptName(deptName) recruitPost.setDeptName(deptName);
//默认未分配 recruitPost.setIsAllocation(0);
.isAllocation(0) recruitPost.setCreateTime(LocalDate.now());
.createTime(LocalDate.now()) // RecruitPost recruitPost = RecruitPost.builder()
.build(); // .nodeId(node.getNodeId())
// .postName(node.getNodeName())
// .deptId(deptId)
// .deptName(deptName)
// //默认未分配
// .isAllocation(0)
// .createTime(LocalDate.now())
// .build();
this.baseMapper.insert(recruitPost); this.baseMapper.insert(recruitPost);
} }

View File

@ -18,6 +18,8 @@
<result property="finalPassDate" column="final_pass_date" jdbcType="DATE"/> <result property="finalPassDate" column="final_pass_date" jdbcType="DATE"/>
<result property="joinDate" column="join_date" jdbcType="DATE"/> <result property="joinDate" column="join_date" jdbcType="DATE"/>
<result property="actualJoinDate" column="actual_join_date" jdbcType="DATE"/> <result property="actualJoinDate" column="actual_join_date" jdbcType="DATE"/>
<result property="regularDate" column="regular_date" jdbcType="DATE"/>
<result property="terminationDate" column="termination_date" jdbcType="DATE"/>
<result property="entryFailReason" column="entry_fail_reason" /> <result property="entryFailReason" column="entry_fail_reason" />
<result property="isEntry" column="is_entry" /> <result property="isEntry" column="is_entry" />
<result property="rank" column="rank" /> <result property="rank" column="rank" />
@ -28,7 +30,7 @@
post_id,post_name, post_id,post_name,
user_name,hr_id,hr_name, user_name,hr_id,hr_name,
final_pass_date,join_date,actual_join_date, final_pass_date,join_date,actual_join_date,
entry_fail_reason,is_entry,file,dossier,rank entry_fail_reason,is_entry,file,dossier,rank,regular_date,termination_date
</sql> </sql>
<select id="listBySelect" resultMap="BaseResultMap"> <select id="listBySelect" resultMap="BaseResultMap">

View File

@ -61,4 +61,6 @@ public interface RecruitStructureMapper extends BaseMapper<RecruitStructure> {
List<Long> filterByPostIdList(@Param("uniquePostIdList") List<Long> uniquePostIdList); List<Long> filterByPostIdList(@Param("uniquePostIdList") List<Long> uniquePostIdList);
String findTopLevelDepartmentNameByNodeId(Long postId); String findTopLevelDepartmentNameByNodeId(Long postId);
List<RecruitStructure> getNodeList(@Param("nodeIds")List<Long> nodeIds);
} }

View File

@ -53,4 +53,5 @@ public interface RecruitStructureService extends IService<RecruitStructure> {
String findTopLevelDepartmentNameByNodeId(Long postId); String findTopLevelDepartmentNameByNodeId(Long postId);
List<RecruitStructure> getNodeList(List<Long> nodeIds);
} }

View File

@ -196,6 +196,15 @@ public class RecruitStructureServiceImpl extends ServiceImpl<RecruitStructureMap
return recruitStructureMapper.findTopLevelDepartmentNameByNodeId(postId); return recruitStructureMapper.findTopLevelDepartmentNameByNodeId(postId);
} }
@Override
public List<RecruitStructure> getNodeList(List<Long> nodeIds) {
return recruitStructureMapper.getNodeList(nodeIds);
}
// @Override
// public List<RecruitStructure> getByNodeIds(List<Long> nodeIds) {
// return recruitStructureMapper.getByNodeIds(nodeIds);
// }
private List<TreeSelect> buildDeptTreeSelect(List<RecruitStructure> depts) { private List<TreeSelect> buildDeptTreeSelect(List<RecruitStructure> depts) {

View File

@ -342,4 +342,13 @@
ORDER BY node_id LIMIT 1 ORDER BY node_id LIMIT 1
</select> </select>
<select id="getNodeList" resultMap="RecruitStructureResult">
select * from recruit_structure
where node_id in
<foreach collection="nodeIds" item="nodeId" open="(" separator="," close=")">
#{nodeId}
</foreach>
</select>
</mapper> </mapper>