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

View File

@ -146,6 +146,18 @@ public class EntryManage implements Serializable {
@Excel(name = "岗位等级",dictType = "recruit_post_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)
private static final long serialVersionUID = 1L;
}

View File

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

View File

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

View File

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

View File

@ -18,6 +18,8 @@
<result property="finalPassDate" column="final_pass_date" jdbcType="DATE"/>
<result property="joinDate" column="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="isEntry" column="is_entry" />
<result property="rank" column="rank" />
@ -28,7 +30,7 @@
post_id,post_name,
user_name,hr_id,hr_name,
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>
<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);
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);
List<RecruitStructure> getNodeList(List<Long> nodeIds);
}

View File

@ -196,6 +196,15 @@ public class RecruitStructureServiceImpl extends ServiceImpl<RecruitStructureMap
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) {

View File

@ -342,4 +342,13 @@
ORDER BY node_id LIMIT 1
</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>