Commit a504e4c2 by 284718418@qq.com

招聘管理-招聘流程

parent 865544b6
......@@ -49,7 +49,7 @@ public class ZpglFail extends Model<ZpglFail> {
* 淘汰原因
*/
@ApiModelProperty(value = "淘汰原因")
private String failcause;
private String failCause;
/**
* 逻辑删除标记0.未删除 1.删除
*/
......@@ -69,7 +69,7 @@ public class ZpglFail extends Model<ZpglFail> {
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private String orgCode;
private Integer orgCode;
/**
* 创建时间
*/
......
......@@ -217,9 +217,9 @@ public class ZpglRcxx extends Model<ZpglRcxx> {
@ApiModelProperty(value = "工作年限")
private Integer workyears;
/**
* 最高学历
* 最高学历 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士
*/
@ApiModelProperty(value = "最高学历")
@ApiModelProperty(value = "最高学历 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士")
private String highesteducation;
/**
* 毕业院校
......
......@@ -4,16 +4,19 @@ 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.ZpglFail;
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.controller.zpgl.sevice.ZpglMslcLogService;
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.ZpglMessageTemplate;
import cn.timer.api.utils.query.BaseQuery;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -27,11 +30,18 @@ import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional;
import java.text.MessageFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
......@@ -40,6 +50,8 @@ public class ZpglController {
@Autowired
private ZpglMslcLogMapper zpglMslcLogMapper;
@Autowired
private ZpglMslcLogService zpglMslcLogService;
/**
* 招聘-招聘中
......@@ -106,11 +118,55 @@ public class ZpglController {
@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, "查询成功");
public Result<Object> operation(@CurrentUser UserBean userBean, @RequestBody ZpglRcxxDto zpglRcxxDto) {
ZpglRcxx.builder().id(zpglRcxxDto.getId())
.status(zpglRcxxDto.getStatus())
.ifrck(zpglRcxxDto.getIfrck())
.zpglFailId(zpglRcxxDto.getZpglFailId())
.remarks(zpglRcxxDto.getRemarks()).build().updateById();
ZpglMslcLog zpglMslcLog = new ZpglMslcLog();
zpglMslcLog.setZpglRcxxId(zpglRcxxDto.getId());
zpglMslcLog.setUserId(userBean.getEmpNum());
zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername());
String detail="";
switch (zpglRcxxDto.getStatus()) {
case 2:
detail = ZpglMessageTemplate.print(ZpglMessageTemplate.FILTER_PASS, new String[] {
userBean.getQyzxEmpLogin().getUsername()});
break;
case 3:
detail = "2";
break;
case 4:
detail = "4";
break;
case 5:
detail = "5";
break;
case 6:
detail = "6";
break;
case 7:
detail = "7";
break;
case 8:
detail = "8";
break;
case 9:
ZpglFail zpglFail = ZpglFail.builder().id(zpglRcxxDto.getZpglFailId()).build().selectById();
if(!StringUtils.isEmpty(zpglFail)){
detail = ZpglMessageTemplate.print(ZpglMessageTemplate.ENTRYING, new String[] {
userBean.getQyzxEmpLogin().getUsername(),zpglFail.getFailCause(),zpglRcxxDto.getRemarks()});
}
break;
default:
break;
}
zpglMslcLog.setDetail(detail);
zpglMslcLogService.saveZpglMslcLog(zpglMslcLog);
return ResultUtil.success();
}
}
package cn.timer.api.controller.zpgl;
import cn.timer.api.bean.zpgl.ZpglFail;
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.controller.zpgl.sevice.ZpglMslcLogService;
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.HashMap;
import java.util.List;
import java.util.Map;
/**
* 招聘管理
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-08 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglFailController {
@Autowired
private ZpglMslcLogMapper zpglMslcLogMapper;
@Autowired
private ZpglMslcLogService zpglMslcLogService;
/**
* 招聘-淘汰原因字典
*
* @param
* @return
*/
@GetMapping(value = "/fail")
@ApiOperation(value = "1.淘汰原因字典", httpMethod = "GET", notes = "淘汰原因字典")
@ApiOperationSupport(order = 1)
public Result<Object> fail(@CurrentUser UserBean userBean,@ApiParam("招聘状态") @RequestParam(required = false) Integer status) {
QueryWrapper<ZpglFail> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglFail::getOrgCode,userBean.getOrgCode()).eq(ZpglFail::getZpglRcxxStatus,status);
List<ZpglFail> zpglFail = ZpglFail.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglFail, "查询成功");
}
/**
* 招聘-添加淘汰原因
*
* @param
* @return
*/
@PostMapping(value = "/save")
@ApiOperation(value = "2.招聘-添加淘汰原因", httpMethod = "POST", notes = "招聘-添加淘汰原因")
@ApiOperationSupport(order = 2)
public Result<Object> save(@CurrentUser UserBean userBean, @RequestBody ZpglFail zpglFail) {
zpglFail.setCreateUserId(userBean.getEmpNum());
zpglFail.setUpdateUserId(userBean.getEmpNum());
zpglFail.setOrgCode(userBean.getOrgCode());
return zpglFail.insert()?ResultUtil.success():ResultUtil.error();
}
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/14
*/
public interface ZpglMslcLogService {
/**
* 添加面试流程记录
* @param zpglMslcLog
* @return
*/
boolean saveZpglMslcLog(ZpglMslcLog zpglMslcLog);
}
package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.zpgl.ZpglMslcLog;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022/3/14
*/
@Service
@Transactional(rollbackOn = Exception.class)
public class ZpglMslcLogServiceImpl implements ZpglMslcLogService {
@Override
public boolean saveZpglMslcLog(ZpglMslcLog zpglMslcLog) {
return zpglMslcLog.insert();
}
}
......@@ -24,7 +24,13 @@ import java.util.List;
@AllArgsConstructor
public class ZpglRcxxDto implements Serializable{
private static final long serialVersionUID = -1230023773946170911L;
private static final long serialVersionUID = -1230023773946171911L;
/**
* 人才信息Id
*/
@ApiModelProperty(value = "人才信息Id")
private Integer id;
/**
* 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰
......@@ -42,5 +48,10 @@ public class ZpglRcxxDto implements Serializable{
*/
@ApiModelProperty(value = "备注")
private String remarks;
/**
* 附加操作:0无,1加入人才库
*/
@ApiModelProperty(value = "附加操作:0无,1加入人才库")
private Integer ifrck;
}
package cn.timer.api.utils;
/**
* 招聘管理-面试流程记录模板
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-14 15:14:40
*/
public class ZpglMessageTemplate {
public static final String NOTYET_SHIPPEDORDER_MSG = "亲草优选:贵司 {0} 店铺,已有 {1} 笔订单超过48小时未发货(具体明细请登陆商家后台查看),为避免店铺权重下滑请即刻安排发货,谢谢!";
public static final String FILTERING = "";
public static final String FILTER_PASS ="{0} 将候选人状态从[待初筛]更改为[初筛通过].";
public static final String INTERVIEW ="{0} 为候选人安排了现场面试.面试轮次:第{1}轮,面试时间{2},面试官:{3},面试地址:{4}";
public static final String INTERVIEWED ="";
public static final String INTERVIEW_PASS ="";
public static final String EMPLOY ="";
public static final String OFFER ="";
public static final String ENTRYING ="{0}将候选人状态从[待初筛]更改为[初筛淘汰], 淘汰原因:{1},备注:{2}";
public static String print(String template, String[] values) {
if (null == values || values.length == 0) {
return template;
}
String msg = template;
for (int i = 0; i < values.length; i++) {
msg = msg.replace("{" + i + "}", values[i]);
}
return msg;
}
public static void main(String[] args) {
/*System.out.println(SmsMessageTemplate.print(BLANK_OBJ_MSG,
new String[] { "name" }));*/
System.out.println(ZpglMessageTemplate.print(FILTER_PASS, new String[] {
"wuqingjun", "types" }));
}
}
......@@ -7,7 +7,7 @@
<resultMap type="cn.timer.api.bean.zpgl.ZpglFail" id="zpglFailMap">
<result property="id" column="id"/>
<result property="zpglRcxxStatus" column="zpgl_rcxx_status"/>
<result property="failcause" column="failCause"/>
<result property="failCause" column="fail_cause"/>
<result property="deleteFlag" column="delete_flag"/>
<result property="createUserId" column="create_user_id"/>
<result property="updateUserId" column="update_user_id"/>
......
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