Commit 865544b6 by 284718418@qq.com

招聘管理-招聘流程

parent 5ab1387f
......@@ -44,7 +44,7 @@ public class ZpglRcxx extends Model<ZpglRcxx> {
* 职位id
*/
@ApiModelProperty(value = "职位id")
private Integer positionId;
private Integer zpglZwxxId;
/**
* 姓名
*/
......@@ -295,6 +295,11 @@ public class ZpglRcxx extends Model<ZpglRcxx> {
* 国家地区 0:中国;1:中国香港;2:中国澳门;3:中国台湾
*/
@ApiModelProperty(value = "国家地区 0:中国;1:中国香港;2:中国澳门;3:中国台湾")
private String area;
private Integer area;
/**
* 附加操作:0无,1加入人才库
*/
@ApiModelProperty(value = "附加操作:0无,1加入人才库")
private Integer ifrck;
}
......@@ -304,5 +304,27 @@ public interface JxglEnumInterface {
}
}
/**
* 招聘管理-人才信息:状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰
*/
@Getter
enum ResumeStatus implements JxglEnumInterface {
FILTERING(1, "待初筛"),
FILTER_PASS(2, "初筛通过"), INTERVIEW(3, "已安排面试"),
INTERVIEWED(4, "已面试"), INTERVIEW_PASS(5, "面试通过"),
EMPLOY(6, "拟录用"), OFFER(7, "已发Offer"),
ENTRYING(8, "待入职"), PASS_OUT(9, "9已淘汰");
private Integer type;
private String name;
ResumeStatus(Integer type, String name) {
this.type = type;
this.name = name;
}
}
}
......@@ -3,38 +3,114 @@ package cn.timer.api.controller.zpgl;
import cn.timer.api.aspect.lang.annotation.Log;
import cn.timer.api.aspect.lang.enums.BusinessType;
import cn.timer.api.bean.disk.DiskCatalogue;
import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
import cn.timer.api.bean.zpgl.ZpglRcxx;
import cn.timer.api.bean.zpgl.ZpglZwxx;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.enuminterface.JxglEnumInterface;
import cn.timer.api.dao.zpgl.ZpglMslcLogMapper;
import cn.timer.api.dto.zpgl.ZpglRcxxDto;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import cn.timer.api.utils.query.BaseQuery;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = { "application/json" })
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglController {
@Autowired
private ZpglMslcLogMapper zpglMslcLogMapper;
@Autowired
private ZpglMslcLogMapper zpglMslcLogMapper;
/**
* test
*
* @param
* @return
*/
@RequestMapping("/test")
@Log(title = "test", businessType = BusinessType.INSERT_UPDATE)
public Result<Object> addjob() {
ZpglMslcLog zpglMslcLog = new ZpglMslcLog();
return ResultUtil.success();
}
/**
* 招聘-招聘中
*
* @param
* @return
*/
@GetMapping(value = "/recruit")
@ApiOperation(value = "1.招聘列表", httpMethod = "GET", notes = "招聘列表")
@ApiOperationSupport(order = 1)
public Result<Object> recruit(@CurrentUser UserBean userBean,BaseQuery baseQuery,
@ApiParam("搜索关键字") @RequestParam(required = false) String query,
@ApiParam("职位ID") @RequestParam(required = false) Integer zpglZwxxId,
@ApiParam("状态") @RequestParam(required = false) Integer status) {
Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
QueryWrapper<ZpglRcxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglRcxx :: getOrgCode, userBean.getOrgCode());
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.lambda().eq(ZpglRcxx :: getZpglZwxxId, zpglZwxxId);
}
if (!StringUtils.isEmpty(query)) {
queryWrapper.lambda().and(qw -> qw.like(ZpglRcxx ::getName, query).or().eq(ZpglRcxx ::getMobile, query).or().eq(ZpglRcxx ::getMail, query));
}
queryWrapper.lambda().eq(ZpglRcxx ::getStatus, status);
IPage<ZpglRcxx> ygglMainEmpPage = ZpglRcxx.builder().build().selectPage(page, queryWrapper);
List<ZpglRcxx> zpglRcxxs = page.getRecords();
ygglMainEmpPage.getCurrent();
ygglMainEmpPage.getPages();
ygglMainEmpPage.getTotal();
ygglMainEmpPage.getSize();
Map<String,Object> map = new HashMap<>(2);
map.put("zpglRcxxs",zpglRcxxs);
map.put("FILTERING",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.FILTERING.getType())));
map.put("FILTER_PASS",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.FILTER_PASS.getType())));
map.put("INTERVIEW",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.INTERVIEW.getType())));
map.put("INTERVIEWED",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.INTERVIEWED.getType())));
map.put("INTERVIEW_PASS",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.INTERVIEW_PASS.getType())));
map.put("EMPLOY",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.EMPLOY.getType())));
map.put("OFFER",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.OFFER.getType())));
map.put("ENTRYING",ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.ENTRYING.getType())));
return ResultUtil.data(ygglMainEmpPage, map, "搜索成功");
}
/**
* 招聘-招聘中
*
* @param
* @return
*/
@GetMapping(value = "/zwxx")
@ApiOperation(value = "2.职位信息", httpMethod = "GET", notes = "职位信息")
@ApiOperationSupport(order = 2)
public Result<Object> zwxx(@CurrentUser UserBean userBean) {
QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZwxx::getOrgCode,userBean.getOrgCode());
List<ZpglZwxx> zpglZwxxs = ZpglZwxx.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglZwxxs, "查询成功");
}
/**
* 招聘-变更状态
*
* @param
* @return
*/
@PostMapping(value = "/operation")
@ApiOperation(value = "3.招聘-变更状态", httpMethod = "POST", notes = "招聘-变更状态")
@ApiOperationSupport(order = 3)
public Result<Object> operation(@CurrentUser UserBean userBean, ZpglRcxxDto zpglRcxxDto) {
QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZwxx::getOrgCode,userBean.getOrgCode());
List<ZpglZwxx> zpglZwxxs = ZpglZwxx.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglZwxxs, "查询成功");
}
}
package cn.timer.api.dto.zpgl;
import cn.timer.api.bean.disk.DiskCloudDiskUser;
import cn.timer.api.config.exception.ValidationMsg;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 10:05:49
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ZpglRcxxDto implements Serializable{
private static final long serialVersionUID = -1230023773946170911L;
/**
* 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰
*/
@ApiModelProperty(value = "状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰")
private Integer status;
/**
* 资源目录ID
*/
@ApiModelProperty(value = "淘汰原因ID")
private Integer zpglFailId;
/**
* 备注
*/
@ApiModelProperty(value = "备注")
private String remarks;
}
......@@ -6,7 +6,7 @@
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="cn.timer.api.bean.zpgl.ZpglRcxx" id="zpglRcxxMap">
<result property="id" column="id"/>
<result property="positionId" column="position_id"/>
<result property="zpglZwxxId" column="zpgl_zwxx_id"/>
<result property="name" column="name"/>
<result property="mobile" column="mobile"/>
<result property="mail" column="mail"/>
......@@ -56,7 +56,8 @@
<result property="orgCode" column="org_code"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="aera" column="aera"/>
<result property="area" column="aera"/>
<result property="ifrck" column="ifrck"/>
</resultMap>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment