Commit 45201585 by 284718418@qq.com

1.添加招聘管理-微信公众平台表

2.招聘管理-已淘汰列表功能代码
parent fa885b8a
...@@ -116,12 +116,12 @@ ...@@ -116,12 +116,12 @@
</dependency> </dependency>
<!-- optional这个需要为 true 热部署才有效 --> <!-- optional这个需要为 true 热部署才有效 -->
<!--<dependency>--> <dependency>
<!--<groupId>org.springframework.boot</groupId>--> <groupId>org.springframework.boot</groupId>
<!--<artifactId>spring-boot-devtools</artifactId>--> <artifactId>spring-boot-devtools</artifactId>
<!--<optional>true</optional>--> <optional>true</optional>
<!--<scope>runtime</scope>--> <scope>runtime</scope>
<!--</dependency>--> </dependency>
<!-- swagger2 --> <!-- swagger2 -->
<dependency> <dependency>
...@@ -310,7 +310,13 @@ ...@@ -310,7 +310,13 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId> <artifactId>mybatis-plus</artifactId>
<version>3.3.0</version> <version>3.4.1</version>
</dependency>
<!-- mybatis-plus-join -->
<dependency>
<groupId>com.github.yulichang</groupId>
<artifactId>mybatis-plus-join</artifactId>
<version>1.2.2</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin --> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok-maven-plugin -->
......
package cn.timer.api.bean.zpgl; package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -9,10 +10,7 @@ import lombok.Builder; ...@@ -9,10 +10,7 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.Entity; import javax.persistence.*;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date; import java.util.Date;
...@@ -349,5 +347,18 @@ public class ZpglRcxx extends Model<ZpglRcxx> { ...@@ -349,5 +347,18 @@ public class ZpglRcxx extends Model<ZpglRcxx> {
*/ */
@ApiModelProperty(value = "附加操作:0无,1加入人才库") @ApiModelProperty(value = "附加操作:0无,1加入人才库")
private Integer ifrck; private Integer ifrck;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 淘汰原因
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "淘汰原因")
private String failCause;
} }
package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 招聘管理职位信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-21 15:14:40
*/
@Entity
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "zpgl_wxgzpt_emp_rcxx")
@Data
public class ZpglWxgzptEmpRcxx extends Model<ZpglWxgzptEmpRcxx> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 人才信息ID
*/
@ApiModelProperty(value = "人才信息ID")
private Integer zpglRcxxId;
/**
* 员工档案表ID
*/
@ApiModelProperty(value = "员工档案表ID")
private Integer ygglMainEmpId;
/**
* 微信openid
*/
@ApiModelProperty(value = "微信openid")
private String openid;
/**
* 微信unionid
*/
@ApiModelProperty(value = "微信unionid")
private String unionid;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private String orgCode;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.zpgl; package cn.timer.api.bean.zpgl;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -9,10 +10,7 @@ import lombok.Builder; ...@@ -9,10 +10,7 @@ import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.Entity; import javax.persistence.*;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
/** /**
* 招聘管理职位信息表 * 招聘管理职位信息表
...@@ -132,5 +130,10 @@ public class ZpglZwxx extends Model<ZpglZwxx> { ...@@ -132,5 +130,10 @@ public class ZpglZwxx extends Model<ZpglZwxx> {
*/ */
@ApiModelProperty(value = "组织机构代码") @ApiModelProperty(value = "组织机构代码")
private String orgCode; private String orgCode;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
} }
package cn.timer.api.controller.zpgl; package cn.timer.api.controller.zpgl;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ReUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
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.kqgl.UserEquiRelation; import cn.timer.api.bean.kqgl.UserEquiRelation;
import cn.timer.api.bean.kqmk.*; import cn.timer.api.bean.kqmk.*;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso; import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin; import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.yggl.YgglMainEmp; 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.ZpglRcxx;
import cn.timer.api.bean.zpgl.ZpglZwxx; import cn.timer.api.bean.zpgl.ZpglZwxx;
import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.CurrentUser;
...@@ -21,22 +14,19 @@ import cn.timer.api.config.enuminterface.JxglEnumInterface; ...@@ -21,22 +14,19 @@ import cn.timer.api.config.enuminterface.JxglEnumInterface;
import cn.timer.api.config.enums.CommonEnum; import cn.timer.api.config.enums.CommonEnum;
import cn.timer.api.config.enums.SysRoleType; import cn.timer.api.config.enums.SysRoleType;
import cn.timer.api.config.exception.CustomException; import cn.timer.api.config.exception.CustomException;
import cn.timer.api.config.exception.Regular;
import cn.timer.api.controller.kqgl.ClockInTool; import cn.timer.api.controller.kqgl.ClockInTool;
import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate; import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate;
import cn.timer.api.controller.zpgl.sevice.ZpglMslcLogService;
import cn.timer.api.controller.zpgl.sevice.ZpglService; import cn.timer.api.controller.zpgl.sevice.ZpglService;
import cn.timer.api.dao.kqgl.UserEquiRelationMapper; import cn.timer.api.dao.kqgl.UserEquiRelationMapper;
import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper; import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper; import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper; import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.zpgl.ZpglMslcLogMapper; import cn.timer.api.dao.zpgl.ZpglRcxxMapper;
import cn.timer.api.dto.yggl.AddygdaDto;
import cn.timer.api.dto.zpgl.ZpglRcxxDto; import cn.timer.api.dto.zpgl.ZpglRcxxDto;
import cn.timer.api.dto.zpgl.ZpglRcxxEntryDto;
import cn.timer.api.utils.Md5; import cn.timer.api.utils.Md5;
import cn.timer.api.utils.Result; import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil; import cn.timer.api.utils.ResultUtil;
import cn.timer.api.utils.ZpglMessageTemplate;
import cn.timer.api.utils.query.BaseQuery; import cn.timer.api.utils.query.BaseQuery;
import cn.timer.api.config.enuminterface.YgEnumInterface.jobStatus; import cn.timer.api.config.enuminterface.YgEnumInterface.jobStatus;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...@@ -44,9 +34,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -44,9 +34,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.yulichang.query.MPJQueryWrapper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity; import org.springframework.http.HttpEntity;
...@@ -61,7 +53,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -61,7 +53,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import java.text.MessageFormat;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
...@@ -80,6 +71,7 @@ import java.util.Map; ...@@ -80,6 +71,7 @@ import java.util.Map;
@Transactional(rollbackOn = Exception.class) @Transactional(rollbackOn = Exception.class)
@RestController @RestController
@RequestMapping(value = "/zpgl", produces = {"application/json"}) @RequestMapping(value = "/zpgl", produces = {"application/json"})
@Slf4j
public class ZpglController { public class ZpglController {
@Value(value = "${config-8timer.init-password}") @Value(value = "${config-8timer.init-password}")
...@@ -99,6 +91,8 @@ public class ZpglController { ...@@ -99,6 +91,8 @@ public class ZpglController {
private YgglMainEmpMapper ygglMainEmpMapper; private YgglMainEmpMapper ygglMainEmpMapper;
@Autowired @Autowired
private ZpglService zpglService; private ZpglService zpglService;
@Autowired
private ZpglRcxxMapper zpglRcxxMapper;
/** /**
* 招聘-招聘中 * 招聘-招聘中
...@@ -116,7 +110,7 @@ public class ZpglController { ...@@ -116,7 +110,7 @@ public class ZpglController {
try { try {
Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize()); Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
QueryWrapper<ZpglRcxx> queryWrapper = new QueryWrapper<>(); QueryWrapper<ZpglRcxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglRcxx::getOrgCode, userBean.getOrgCode()); queryWrapper.lambda().eq(ZpglRcxx::getOrgCode, userBean.getOrgCode()).eq(ZpglRcxx::getDeleteFlag,0);
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) { if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.lambda().eq(ZpglRcxx::getZpglZwxxId, zpglZwxxId); queryWrapper.lambda().eq(ZpglRcxx::getZpglZwxxId, zpglZwxxId);
} }
...@@ -132,14 +126,14 @@ public class ZpglController { ...@@ -132,14 +126,14 @@ public class ZpglController {
ygglMainEmpPage.getSize(); ygglMainEmpPage.getSize();
Map<String, Object> map = new HashMap<>(2); Map<String, Object> map = new HashMap<>(2);
map.put("zpglRcxxs", zpglRcxxs); map.put("zpglRcxxs", zpglRcxxs);
map.put("FILTERING", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.FILTERING.getType()))); map.put("FILTERING", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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("FILTER_PASS", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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("INTERVIEW", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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("INTERVIEWED", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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("INTERVIEW_PASS", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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("EMPLOY", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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("OFFER", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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()))); map.put("ENTRYING", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).eq(ZpglRcxx::getStatus, JxglEnumInterface.ResumeStatus.ENTRYING.getType())));
return ResultUtil.data(ygglMainEmpPage, map, "搜索成功"); return ResultUtil.data(ygglMainEmpPage, map, "搜索成功");
} catch (Exception e) { } catch (Exception e) {
...@@ -161,7 +155,7 @@ public class ZpglController { ...@@ -161,7 +155,7 @@ public class ZpglController {
public Result<Object> zwxx(@CurrentUser UserBean userBean) { public Result<Object> zwxx(@CurrentUser UserBean userBean) {
try { try {
QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>(); QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZwxx::getOrgCode, userBean.getOrgCode()); queryWrapper.lambda().eq(ZpglZwxx::getOrgCode, userBean.getOrgCode()).eq(ZpglZwxx::getDeleteFlag,0);
List<ZpglZwxx> zpglZwxxs = ZpglZwxx.builder().build().selectList(queryWrapper); List<ZpglZwxx> zpglZwxxs = ZpglZwxx.builder().build().selectList(queryWrapper);
return ResultUtil.data(zpglZwxxs, "查询成功"); return ResultUtil.data(zpglZwxxs, "查询成功");
} catch (Exception e) { } catch (Exception e) {
...@@ -198,22 +192,30 @@ public class ZpglController { ...@@ -198,22 +192,30 @@ public class ZpglController {
@PostMapping(value = "/addygda") @PostMapping(value = "/addygda")
@ApiOperation(value = "4.招聘-确认入职添加员工档案", httpMethod = "POST", notes = "接口发布说明") @ApiOperation(value = "4.招聘-确认入职添加员工档案", httpMethod = "POST", notes = "接口发布说明")
@ApiOperationSupport(order = 4) @ApiOperationSupport(order = 4)
public Result<Object> addygda(@CurrentUser UserBean userBean, @Validated @RequestBody AddygdaDto addygdaDto) { public Result<Object> addygda(@CurrentUser UserBean userBean, @Validated @RequestBody ZpglRcxxEntryDto addygdaDto) {
try { try {
ZpglRcxx zpglRcxx = ZpglRcxx.builder().id(addygdaDto.getId()).build().selectById();
if(StringUtils.isEmpty(zpglRcxx)){
return ResultUtil.error("确认入职添加员工档案失败");
}
Integer orgCode = userBean.getOrgCode(); Integer orgCode = userBean.getOrgCode();
String customNum = addygdaDto.getCustomNum();//自定义工号 //自定义工号
String customNum = addygdaDto.getCustomNum();
String name = addygdaDto.getName(); String name = addygdaDto.getName();
String phone = addygdaDto.getPhone(); String phone = zpglRcxx.getMobile();
Integer zjType = addygdaDto.getZjType(); String zjNum = zpglRcxx.getIdCard();
String zjNum = addygdaDto.getZjNum(); //考勤组id
Integer attgroupid = addygdaDto.getAttgroupid();//考勤组id Integer attgroupid = addygdaDto.getAttgroupid();
Integer jobType = addygdaDto.getJobType(); Integer jobType = addygdaDto.getJobType();
Date rzTime = addygdaDto.getRzTime() == null ? new Date() : addygdaDto.getRzTime(); Date rzTime = addygdaDto.getRzTime() == null ? new Date() : addygdaDto.getRzTime();
Integer syq = addygdaDto.getSyq(); Integer syq = addygdaDto.getSyq();
Integer sex = addygdaDto.getSex(); Integer sex = addygdaDto.getSex();
Integer bmgwId = addygdaDto.getBmgwId(); Integer bmgwId = addygdaDto.getBmgwId();
ZpglRcxxDto zpglRcxxDto = new ZpglRcxxDto();
zpglRcxxDto.setId(zpglRcxx.getId());
zpglRcxxDto.setStatus(addygdaDto.getStatus());
QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper) QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
.eq(!StrUtil.hasBlank(phone), QyzxEmpLogin::getPhone, phone).one(); .eq(!StrUtil.hasBlank(phone), QyzxEmpLogin::getPhone, phone).one();
...@@ -234,7 +236,7 @@ public class ZpglController { ...@@ -234,7 +236,7 @@ public class ZpglController {
} }
QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(SysRoleType.U_TYPE_EMP.getType()) QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(SysRoleType.U_TYPE_EMP.getType())
.status(CommonEnum.U_STS_ON.getType()).build().insert(); .status(CommonEnum.U_STS_ON.getType()).build().insert();
ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum).jobType(jobType) ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(addygdaDto.getZjType()).zjNum(zjNum).jobType(jobType)
.jobStatus(jobStatus.SHIYONG.getType()).rzTime(rzTime).syq(syq).sex(sex) .jobStatus(jobStatus.SHIYONG.getType()).rzTime(rzTime).syq(syq).sex(sex)
.empNum(login.getId()).orgCode(orgCode).bmgwId(bmgwId).customNum(customNum).build(); .empNum(login.getId()).orgCode(orgCode).bmgwId(bmgwId).customNum(customNum).build();
...@@ -247,8 +249,6 @@ public class ZpglController { ...@@ -247,8 +249,6 @@ public class ZpglController {
KqglAssoKqj kqj = KqglAssoKqj.builder().id(abp.getDkfsid()).build().selectById(); KqglAssoKqj kqj = KqglAssoKqj.builder().id(abp.getDkfsid()).build().selectById();
KqglAssoYhsb kqjry = KqglAssoYhsb.builder().build().selectOne(new QueryWrapper<KqglAssoYhsb>().lambda().eq(KqglAssoYhsb::getUserId, login.getId()).eq(KqglAssoYhsb::getKqjid, kqj.getId())); KqglAssoYhsb kqjry = KqglAssoYhsb.builder().build().selectOne(new QueryWrapper<KqglAssoYhsb>().lambda().eq(KqglAssoYhsb::getUserId, login.getId()).eq(KqglAssoYhsb::getKqjid, kqj.getId()));
if (kqjry == null) { if (kqjry == null) {
// YgglMainEmp yggluser = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).eq(YgglMainEmp::getEmpNum, login.getId()));
String url = mac_command + "/addUserName"; String url = mac_command + "/addUserName";
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
MultiValueMap<String, Object> params = new LinkedMultiValueMap<>(); MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
...@@ -300,15 +300,17 @@ public class ZpglController { ...@@ -300,15 +300,17 @@ public class ZpglController {
KqglAssoLeaveEmployeeBalance.builder().leaveRulesId(r.getId()).userid(ygglMainEmp.getEmpNum()).balanceDays(0.0).modifyUserid(userBean.getEmpNum()).modifyTimer(current_time).orgCode(userBean.getOrgCode()).build().insert(); KqglAssoLeaveEmployeeBalance.builder().leaveRulesId(r.getId()).userid(ygglMainEmp.getEmpNum()).balanceDays(0.0).modifyUserid(userBean.getEmpNum()).modifyTimer(current_time).orgCode(userBean.getOrgCode()).build().insert();
} }
} }
// 招聘-变更人才信息状态
// 添加面试流程记录
zpglService.updateZpglRcxx(userBean,zpglRcxxDto);
// 维护微信公众平台表++++++++++++++++++++++++++++++++++++++++++++
try { try {
realtimeupdate.AttendanceTask(userBean.getOrgCode(), ygglMainEmp.getEmpNum(), 2, null); realtimeupdate.AttendanceTask(userBean.getOrgCode(), ygglMainEmp.getEmpNum(), 2, null);
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
} }
return ResultUtil.data(ygglMainEmp, "确认入职成功!"); return ResultUtil.success("确认入职成功!");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -317,4 +319,65 @@ public class ZpglController { ...@@ -317,4 +319,65 @@ public class ZpglController {
} }
/**
* 招聘-已淘汰
*
* @param
* @return
*/
@GetMapping(value = "/recruit/fail")
@ApiOperation(value = "5.招聘-已淘汰列表", httpMethod = "GET", notes = "招聘-已淘汰列表")
@ApiOperationSupport(order = 5)
public Result<Object> recruitFail(@CurrentUser UserBean userBean, BaseQuery baseQuery,
@ApiParam("搜索关键字") @RequestParam(required = false) String query,
@ApiParam("职位ID") @RequestParam(required = false) Integer zpglZwxxId,
@ApiParam("状态") @RequestParam(required = false) Integer status) {
try {
Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
MPJQueryWrapper<ZpglRcxx> queryWrapper = new MPJQueryWrapper<>();
queryWrapper.selectAll(ZpglRcxx.class).select("zf.fail_cause")
.leftJoin("zpgl_fail zf on t.zpgl_fail_id = zf.id");
queryWrapper.eq("t.org_code", userBean.getOrgCode()).eq("t.delete_flag",0).eq("zf.org_code", userBean.getOrgCode());
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.eq("t.zpgl_zwxx_id", zpglZwxxId);
}
if (!StringUtils.isEmpty(query)) {
queryWrapper.and(qw -> qw.like("t.name", query).or().eq("t.mobile", query).or().eq("t.mail", query));
}
queryWrapper.eq("t.status", 9);
queryWrapper.eq("zf.zpgl_rcxx_status", status);
IPage<ZpglRcxx> zpglRcxxPage = zpglRcxxMapper.selectJoinPage(page,ZpglRcxx.class,queryWrapper);
List<ZpglRcxx> zpglRcxxs = page.getRecords();
zpglRcxxPage.getCurrent();
zpglRcxxPage.getPages();
zpglRcxxPage.getTotal();
zpglRcxxPage.getSize();
return ResultUtil.data(zpglRcxxPage, zpglRcxxs, "搜索成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-已淘汰列表失败");
}
}
/**
* 招聘-逻辑删除人才信息
*
* @param
* @return
*/
@PostMapping(value = "/edit/{id}")
@ApiOperation(value = "5.招聘-删除人才信息", httpMethod = "GET", notes = "删除人才信息")
@ApiOperationSupport(order = 5)
public Result<Object> edit(@CurrentUser UserBean userBean, @PathVariable Integer id) {
try {
return ZpglRcxx.builder().id(id).deleteFlag(1).userId(userBean.getEmpNum()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败");
}
}
} }
...@@ -39,6 +39,11 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -39,6 +39,11 @@ public class ZpglServiceImpl implements ZpglService {
zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername()); zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername());
String detail = ""; String detail = "";
switch (zpglRcxxDto.getStatus()) { switch (zpglRcxxDto.getStatus()) {
case 1:
//待初筛 填充字段
detail = ZpglMessageTemplate.print(ZpglMessageTemplate.FILTERING, new String[]{
userBean.getQyzxEmpLogin().getUsername()});
break;
case 2: case 2:
//初筛通过 填充字段 //初筛通过 填充字段
zpglRcxx.setIfrck(zpglRcxxDto.getIfrck()); zpglRcxx.setIfrck(zpglRcxxDto.getIfrck());
......
...@@ -3,6 +3,7 @@ package cn.timer.api.dao.zpgl; ...@@ -3,6 +3,7 @@ package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglRcxx; import cn.timer.api.bean.zpgl.ZpglRcxx;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -13,6 +14,6 @@ import org.springframework.stereotype.Repository; ...@@ -13,6 +14,6 @@ import org.springframework.stereotype.Repository;
* @date 2022-03-08 15:14:40 * @date 2022-03-08 15:14:40
*/ */
@Repository @Repository
public interface ZpglRcxxMapper extends BaseMapper<ZpglRcxx> { public interface ZpglRcxxMapper extends MPJBaseMapper<ZpglRcxx> {
} }
package cn.timer.api.dao.zpgl;
import cn.timer.api.bean.zpgl.ZpglWxgzptEmpRcxx;
import com.github.yulichang.base.MPJBaseMapper;
import org.springframework.stereotype.Repository;
/**
* 招聘管理人才信息表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-03-21 15:14:40
*/
@Repository
public interface ZpglWxgzptEmpRcxxMapper extends MPJBaseMapper<ZpglWxgzptEmpRcxx> {
}
...@@ -34,9 +34,9 @@ public class ZpglRcxxDto implements Serializable{ ...@@ -34,9 +34,9 @@ public class ZpglRcxxDto implements Serializable{
private Integer id; private Integer id;
/** /**
* 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 * 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职
*/ */
@ApiModelProperty(value = "状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰") @ApiModelProperty(value = "状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职")
private Integer status; private Integer status;
/** /**
......
package cn.timer.api.dto.zpgl;
import cn.timer.api.config.exception.Regular;
import cn.timer.api.config.exception.ValidationMsg;
import com.alibaba.fastjson.annotation.JSONField;
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 javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.util.Date;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 10:05:49
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ZpglRcxxEntryDto implements Serializable{
private static final long serialVersionUID = -1230023773946171911L;
/**
* 人才信息Id
*/
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value = "人才信息Id")
private Integer id;
/**
* 状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职
*/
@ApiModelProperty(value = "状态 1:待初筛 2:初筛通过 3:已安排面试 4:已面试 5:面试通过 6:拟录用 7:已发Offer 8:待入职 9已淘汰 10已入职")
private Integer status;
/**
* 入职日期
*/
@ApiModelProperty(value = "入职日期")
private Date yjrzTime;
/**
* 部门岗位ID
*/
@ApiModelProperty(value = "部门岗位ID")
private Integer bmgwId;
/**
* 员工工号
*/
@ApiModelProperty(value = "员工工号")
private String customNum;
@NotBlank(message = ValidationMsg.NOTBLANK)
@ApiModelProperty(value="员工姓名",example="华仔")
private String name;
/*@NotBlank(message = ValidationMsg.NOTBLANK)
@Pattern(regexp= Regular.PHONE,message = ValidationMsg.PATTERN)*/
@ApiModelProperty(value="手机号",example="101")
private String phone;
// @NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="证件类型 0:身份证;1:港澳居民来往内地通行证;2:台湾居民来往大陆通行证;3:外国护照;4:其他",example="0")
private Integer zjType = 0;
// @NotBlank(message = ValidationMsg.NOTBLANK)
@ApiModelProperty(value="证件号码 ",example="证件号码")
private String zjNum;
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="工作性质 0全职、1实习生、2兼职、3劳务派遣、4劳务、5派遣、6外包、7退休返聘",example="0")
private Integer jobType;
@JSONField(format="yyyy-MM-dd")
@ApiModelProperty(value="入职日期 ",example="客户注册后的时间为入职时间")
private Date rzTime;
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="试用期 0:无试用期;1:1个月;2:2个月;3:3个月;4:4个月;5:5个月;6:6个月(有试用期显示选项)",example="0")
private Integer syq;
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="性别 0:男;1:女",example="0")
private Integer sex;
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="合同公司id",example="0")
private Integer zpglCompanyId;
@ApiModelProperty(value="工作地点id",example="0")
private Integer zpglGzddId;
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="职级id",example="0")
private Integer zpglZjId;
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value="员工状态:1试用 2正式",example="0")
private Integer beforeLeavingSts;
@ApiModelProperty(value="考勤组id",example="0")
private Integer attgroupid;
}
...@@ -8,7 +8,7 @@ package cn.timer.api.utils; ...@@ -8,7 +8,7 @@ package cn.timer.api.utils;
*/ */
public class ZpglMessageTemplate { public class ZpglMessageTemplate {
public static final String FILTERING = ""; public static final String FILTERING = "{0} 将候选人状态从[已淘汰]更改为[待初筛].";
public static final String FILTER_PASS ="{0} 将候选人状态从[待初筛]更改为[初筛通过]."; public static final String FILTER_PASS ="{0} 将候选人状态从[待初筛]更改为[初筛通过].";
//,面试地址:{4} //,面试地址:{4}
public static final String INTERVIEW ="{0} 为候选人安排了现场面试.面试轮次:第{1}轮,面试时间{2},面试官:{3}"; public static final String INTERVIEW ="{0} 为候选人安排了现场面试.面试轮次:第{1}轮,面试时间{2},面试官:{3}";
......
...@@ -66,6 +66,7 @@ ...@@ -66,6 +66,7 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="area" column="aera"/> <result property="area" column="aera"/>
<result property="ifrck" column="ifrck"/> <result property="ifrck" column="ifrck"/>
<result property="deleteFlag" column="delete_flag"/>
</resultMap> </resultMap>
</mapper> </mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.timer.api.dao.zpgl.ZpglWxgzptEmpRcxxMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="cn.timer.api.bean.zpgl.ZpglWxgzptEmpRcxx" id="zpglWxgzptEmpRcxxMap">
<result property="id" column="id"/>
<result property="zpglRcxxId" column="zpgl_rcxx_id"/>
<result property="ygglMainEmpId" column="yggl_main_emp_id"/>
<result property="openid" column="openid"/>
<result property="unionid" column="unionid"/>
<result property="orgCode" column="org_code"/>
<result property="deleteFlag" column="delete_flag"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
</mapper>
\ No newline at end of file
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
<result property="urgentStatus" column="urgent_status"/> <result property="urgentStatus" column="urgent_status"/>
<result property="status" column="status"/> <result property="status" column="status"/>
<result property="orgCode" column="org_code"/> <result property="orgCode" column="org_code"/>
<result property="deleteFlag" column="delete_flag"/>
</resultMap> </resultMap>
</mapper> </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