Commit 69db6a1a by 284718418@qq.com

招聘管理-招聘职位代码

parent d735736a
...@@ -348,6 +348,11 @@ public class ZpglRcxx extends Model<ZpglRcxx> { ...@@ -348,6 +348,11 @@ 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 Date ifrckTime;
/**
* 逻辑删除标记0.未删除 1.删除 * 逻辑删除标记0.未删除 1.删除
*/ */
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除") @ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
......
...@@ -11,6 +11,7 @@ import lombok.Data; ...@@ -11,6 +11,7 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import javax.persistence.*; import javax.persistence.*;
import java.util.Date;
/** /**
* 招聘管理职位信息表 * 招聘管理职位信息表
...@@ -46,20 +47,21 @@ public class ZpglZwxx extends Model<ZpglZwxx> { ...@@ -46,20 +47,21 @@ public class ZpglZwxx extends Model<ZpglZwxx> {
@ApiModelProperty(value = "部门id") @ApiModelProperty(value = "部门id")
private Integer deptId; private Integer deptId;
/** /**
* 职位类型ID
*/
@ApiModelProperty(value = "职位类型ID")
private Integer jobClassId;
/**
* 工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包 * 工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包
*/ */
@ApiModelProperty(value = "工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包") @ApiModelProperty(value = "工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包")
private Integer workType; private Integer workType;
/** /**
* 工作城市 * 对应合工作地点字典ID
*/
@ApiModelProperty(value = "工作城市")
private String city;
/**
* 工作地点
*/ */
@ApiModelProperty(value = "工作地点") @ApiModelProperty(value = "对应合工作地点字典ID")
private String address; private Integer zpglGzddId;
/** /**
* 招聘人数 * 招聘人数
*/ */
...@@ -76,15 +78,15 @@ public class ZpglZwxx extends Model<ZpglZwxx> { ...@@ -76,15 +78,15 @@ public class ZpglZwxx extends Model<ZpglZwxx> {
@ApiModelProperty(value = "招聘原因") @ApiModelProperty(value = "招聘原因")
private String reason; private String reason;
/** /**
* 工作经验要求 * 工作经验要求:1:1年一下 2:1-3年 3:3-5年 4:5-10年 5:10年以上
*/ */
@ApiModelProperty(value = "工作经验要求") @ApiModelProperty(value = "工作经验要求:1:1年一下 2:1-3年 3:3-5年 4:5-10年 5:10年以上")
private String experience; private Integer experience;
/** /**
* 学历要求 * 学历要求 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士
*/ */
@ApiModelProperty(value = "学历要求") @ApiModelProperty(value = "学历要求 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士")
private String education; private Integer education;
/** /**
* 薪资范围 * 薪资范围
*/ */
...@@ -99,23 +101,23 @@ public class ZpglZwxx extends Model<ZpglZwxx> { ...@@ -99,23 +101,23 @@ public class ZpglZwxx extends Model<ZpglZwxx> {
* 最迟到岗时间 * 最迟到岗时间
*/ */
@ApiModelProperty(value = "最迟到岗时间") @ApiModelProperty(value = "最迟到岗时间")
private Long registerTime; private Date registerTime;
/** /**
* 启动时间 * 启动时间
*/ */
@ApiModelProperty(value = "启动时间") @ApiModelProperty(value = "启动时间")
private Long startTime; private Date startTime;
/**
* 截止时间
*/
@ApiModelProperty(value = "截止时间")
private Date endTime;
/** /**
* 描述 * 描述
*/ */
@ApiModelProperty(value = "描述") @ApiModelProperty(value = "描述")
private String description; private String description;
/** /**
* 注册时间
*/
@ApiModelProperty(value = "注册时间")
private Long createtime;
/**
* 紧急程度状态 1:一般 2:紧急 * 紧急程度状态 1:一般 2:紧急
*/ */
@ApiModelProperty(value = "紧急程度状态 1:一般 2:紧急") @ApiModelProperty(value = "紧急程度状态 1:一般 2:紧急")
...@@ -135,5 +137,25 @@ public class ZpglZwxx extends Model<ZpglZwxx> { ...@@ -135,5 +137,25 @@ public class ZpglZwxx extends Model<ZpglZwxx> {
*/ */
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除") @ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag; private Integer deleteFlag;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
} }
...@@ -11,6 +11,7 @@ import java.util.List; ...@@ -11,6 +11,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.timer.api.controller.zpgl.sevice.ZpglService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
...@@ -89,6 +90,8 @@ public class CrmController { ...@@ -89,6 +90,8 @@ public class CrmController {
@Autowired @Autowired
private CrmClientContactsMapper crmClientContactsMapper; private CrmClientContactsMapper crmClientContactsMapper;
@Autowired
private ZpglService zpglService;
private Integer getEmpNum(UserBean userBean) { private Integer getEmpNum(UserBean userBean) {
return userBean.getEmpNum(); return userBean.getEmpNum();
...@@ -369,12 +372,6 @@ public class CrmController { ...@@ -369,12 +372,6 @@ public class CrmController {
// return ResultUtil.data(crmSeaRules, "获取成功"); // return ResultUtil.data(crmSeaRules, "获取成功");
// } // }
private SysRegion getSysRegion(Integer keyId) {
return SysRegion.builder().build()
.selectOne(new QueryWrapper<SysRegion>().lambda().eq(SysRegion::getKeyId, keyId).select(
SysRegion::getRegionName, SysRegion::getKeyId, SysRegion::getZipCode,
SysRegion::getRegionCode));
}
@PostMapping("addClient") @PostMapping("addClient")
@Transactional @Transactional
...@@ -384,14 +381,14 @@ public class CrmController { ...@@ -384,14 +381,14 @@ public class CrmController {
Integer orgCode = getOrgCode(userBean); Integer orgCode = getOrgCode(userBean);
crmClientData.setClientStatus(1); crmClientData.setClientStatus(1);
crmClientData.setCreateUser(empNum); crmClientData.setCreateUser(empNum);
SysRegion district = getSysRegion(crmClientData.getDistrictId()); SysRegion district = zpglService.getSysRegion(crmClientData.getDistrictId());
// crmClientData.setZipCode(district.getZipCode()); // crmClientData.setZipCode(district.getZipCode());
if (district != null) { if (district != null) {
crmClientData.setDistrict(district.getRegionName()); crmClientData.setDistrict(district.getRegionName());
SysRegion city = getSysRegion(district.getRegionCode()); SysRegion city = zpglService.getSysRegion(district.getRegionCode());
crmClientData.setCity(city.getRegionName()); crmClientData.setCity(city.getRegionName());
crmClientData.setCityId(city.getKeyId()); crmClientData.setCityId(city.getKeyId());
SysRegion province = getSysRegion(city.getRegionCode()); SysRegion province = zpglService.getSysRegion(city.getRegionCode());
crmClientData.setProvinceId(province.getKeyId()); crmClientData.setProvinceId(province.getKeyId());
crmClientData.setProvince(province.getRegionName()); crmClientData.setProvince(province.getRegionName());
} }
......
...@@ -118,12 +118,12 @@ public class ZpglController { ...@@ -118,12 +118,12 @@ public class ZpglController {
queryWrapper.lambda().and(qw -> qw.like(ZpglRcxx::getName, query).or().eq(ZpglRcxx::getMobile, query).or().eq(ZpglRcxx::getMail, 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); queryWrapper.lambda().eq(ZpglRcxx::getStatus, status);
IPage<ZpglRcxx> ygglMainEmpPage = ZpglRcxx.builder().build().selectPage(page, queryWrapper); IPage<ZpglRcxx> zpglRcxxPage = ZpglRcxx.builder().build().selectPage(page, queryWrapper);
List<ZpglRcxx> zpglRcxxs = page.getRecords(); List<ZpglRcxx> zpglRcxxs = page.getRecords();
ygglMainEmpPage.getCurrent(); zpglRcxxPage.getCurrent();
ygglMainEmpPage.getPages(); zpglRcxxPage.getPages();
ygglMainEmpPage.getTotal(); zpglRcxxPage.getTotal();
ygglMainEmpPage.getSize(); zpglRcxxPage.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::getDeleteFlag,0).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())));
...@@ -134,7 +134,7 @@ public class ZpglController { ...@@ -134,7 +134,7 @@ public class ZpglController {
map.put("EMPLOY", ZpglRcxx.builder().build().selectCount(new QueryWrapper<ZpglRcxx>().lambda().eq(ZpglRcxx::getDeleteFlag,0).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::getDeleteFlag,0).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::getDeleteFlag,0).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(zpglRcxxPage, map, "搜索成功");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -320,18 +320,19 @@ public class ZpglController { ...@@ -320,18 +320,19 @@ public class ZpglController {
} }
/** /**
* 招聘-已淘汰 * 招聘-已淘汰,人才库
* *
* @param * @param
* @return * @return
*/ */
@GetMapping(value = "/recruit/fail") @GetMapping(value = "/recruit/fail")
@ApiOperation(value = "5.招聘-已淘汰列表", httpMethod = "GET", notes = "招聘-已淘汰列表") @ApiOperation(value = "5.招聘-已淘汰,人才库列表", httpMethod = "GET", notes = "招聘-已淘汰,人才库列表")
@ApiOperationSupport(order = 5) @ApiOperationSupport(order = 5)
public Result<Object> recruitFail(@CurrentUser UserBean userBean, BaseQuery baseQuery, public Result<Object> recruitFail(@CurrentUser UserBean userBean, BaseQuery baseQuery,
@ApiParam("搜索关键字") @RequestParam(required = false) String query, @ApiParam("搜索关键字") @RequestParam(required = false) String query,
@ApiParam("职位ID") @RequestParam(required = false) Integer zpglZwxxId, @ApiParam("职位ID") @RequestParam(required = false) Integer zpglZwxxId,
@ApiParam("状态") @RequestParam(required = false) Integer status) { @ApiParam("状态") @RequestParam(required = false) Integer status,
@ApiParam("排序") @RequestParam(required = false) Integer orderBy) {
try { try {
Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize()); Page<ZpglRcxx> page = new Page<ZpglRcxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
MPJQueryWrapper<ZpglRcxx> queryWrapper = new MPJQueryWrapper<>(); MPJQueryWrapper<ZpglRcxx> queryWrapper = new MPJQueryWrapper<>();
...@@ -344,8 +345,22 @@ public class ZpglController { ...@@ -344,8 +345,22 @@ public class ZpglController {
if (!StringUtils.isEmpty(query)) { if (!StringUtils.isEmpty(query)) {
queryWrapper.and(qw -> qw.like("t.name", query).or().eq("t.mobile", query).or().eq("t.mail", query)); queryWrapper.and(qw -> qw.like("t.name", query).or().eq("t.mobile", query).or().eq("t.mail", query));
} }
if(!StringUtils.isEmpty(status)){
queryWrapper.eq("t.status", 9); queryWrapper.eq("t.status", 9);
queryWrapper.eq("zf.zpgl_rcxx_status", status); queryWrapper.eq("zf.zpgl_rcxx_status", status);
}else {
queryWrapper.eq("t.ifrck", 1);
}
if(!StringUtils.isEmpty(orderBy)){
// 排序 1最近跟进时间 2最近入库时间 3最早入库时间
if(orderBy.intValue() == 1){
queryWrapper.orderByDesc("t.update_time");
}else if(orderBy.intValue() == 2){
queryWrapper.orderByDesc("t.ifrck_time");
}else if(orderBy.intValue() == 3){
queryWrapper.orderByAsc("t.ifrck_time");
}
}
IPage<ZpglRcxx> zpglRcxxPage = zpglRcxxMapper.selectJoinPage(page,ZpglRcxx.class,queryWrapper); IPage<ZpglRcxx> zpglRcxxPage = zpglRcxxMapper.selectJoinPage(page,ZpglRcxx.class,queryWrapper);
List<ZpglRcxx> zpglRcxxs = page.getRecords(); List<ZpglRcxx> zpglRcxxs = page.getRecords();
...@@ -357,7 +372,7 @@ public class ZpglController { ...@@ -357,7 +372,7 @@ public class ZpglController {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new CustomException("招聘-已淘汰列表失败"); throw new CustomException("招聘-已淘汰,人才库列表失败");
} }
} }
...@@ -379,5 +394,23 @@ public class ZpglController { ...@@ -379,5 +394,23 @@ public class ZpglController {
} }
} }
/**
* 招聘-移出人才库
*
* @param
* @return
*/
@PostMapping(value = "/remove/{id}")
@ApiOperation(value = "6.招聘-移出人才库", httpMethod = "GET", notes = "招聘-移出人才库")
@ApiOperationSupport(order = 6)
public Result<Object> remove(@CurrentUser UserBean userBean, @PathVariable Integer id) {
try {
return ZpglRcxx.builder().id(id).ifrck(0).userId(userBean.getEmpNum()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败");
}
}
} }
...@@ -6,12 +6,14 @@ import cn.timer.api.bean.zpgl.ZpglZj; ...@@ -6,12 +6,14 @@ import cn.timer.api.bean.zpgl.ZpglZj;
import cn.timer.api.config.annotation.CurrentUser; import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean; import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.exception.CustomException; import cn.timer.api.config.exception.CustomException;
import cn.timer.api.controller.zpgl.sevice.ZpglService;
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 com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -31,6 +33,9 @@ import java.util.List; ...@@ -31,6 +33,9 @@ import java.util.List;
@RequestMapping(value = "/zpgl", produces = {"application/json"}) @RequestMapping(value = "/zpgl", produces = {"application/json"})
public class ZpglGzddController { public class ZpglGzddController {
@Autowired
private ZpglService zpglService;
/** /**
* 招聘-工作地点 * 招聘-工作地点
* *
...@@ -69,13 +74,13 @@ public class ZpglGzddController { ...@@ -69,13 +74,13 @@ public class ZpglGzddController {
if(StringUtils.isEmpty(zpglGzdd.getDistrictId()) || zpglGzdd.getDistrictId().length() <= 0){ if(StringUtils.isEmpty(zpglGzdd.getDistrictId()) || zpglGzdd.getDistrictId().length() <= 0){
return ResultUtil.error(); return ResultUtil.error();
} }
SysRegion district = getSysRegion(Integer.parseInt(zpglGzdd.getDistrictId())); SysRegion district = zpglService.getSysRegion(Integer.parseInt(zpglGzdd.getDistrictId()));
if (district != null) { if (district != null) {
zpglGzdd.setDistrict(district.getRegionName()); zpglGzdd.setDistrict(district.getRegionName());
SysRegion city = getSysRegion(district.getRegionCode()); SysRegion city = zpglService.getSysRegion(district.getRegionCode());
zpglGzdd.setCity(city.getRegionName()); zpglGzdd.setCity(city.getRegionName());
zpglGzdd.setCityId(city.getKeyId().toString()); zpglGzdd.setCityId(city.getKeyId().toString());
SysRegion province = getSysRegion(city.getRegionCode()); SysRegion province = zpglService.getSysRegion(city.getRegionCode());
zpglGzdd.setProvinceId(province.getKeyId().toString()); zpglGzdd.setProvinceId(province.getKeyId().toString());
zpglGzdd.setProvince(province.getRegionName()); zpglGzdd.setProvince(province.getRegionName());
} }
...@@ -88,10 +93,4 @@ public class ZpglGzddController { ...@@ -88,10 +93,4 @@ public class ZpglGzddController {
throw new CustomException("招聘-添加职级失败"); throw new CustomException("招聘-添加职级失败");
} }
} }
private SysRegion getSysRegion(Integer keyId) {
return SysRegion.builder().build()
.selectOne(new QueryWrapper<SysRegion>().lambda().eq(SysRegion::getKeyId, keyId).select(
SysRegion::getRegionName, SysRegion::getKeyId, SysRegion::getZipCode,
SysRegion::getRegionCode));
}
} }
package cn.timer.api.controller.zpgl;
import cn.hutool.core.util.StrUtil;
import cn.timer.api.bean.clazz.SysRegion;
import cn.timer.api.bean.kqgl.UserEquiRelation;
import cn.timer.api.bean.kqmk.*;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.yggl.YgglMainEmp;
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.config.enuminterface.YgEnumInterface.jobStatus;
import cn.timer.api.config.enums.CommonEnum;
import cn.timer.api.config.enums.SysRoleType;
import cn.timer.api.config.exception.CustomException;
import cn.timer.api.controller.kqgl.ClockInTool;
import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate;
import cn.timer.api.controller.zpgl.sevice.ZpglService;
import cn.timer.api.dao.kqgl.UserEquiRelationMapper;
import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper;
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.zpgl.ZpglRcxxMapper;
import cn.timer.api.dto.zpgl.ZpglRcxxDto;
import cn.timer.api.dto.zpgl.ZpglRcxxEntryDto;
import cn.timer.api.dto.zpgl.ZpglZwxxAddUpdateDto;
import cn.timer.api.dto.zpgl.ZpglZwxxDto;
import cn.timer.api.utils.Md5;
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.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.github.yulichang.query.MPJQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import javax.transaction.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
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-22 15:14:40
*/
@Api(tags = "招聘管理")
@Transactional(rollbackOn = Exception.class)
@RestController
@RequestMapping(value = "/zpzw", produces = {"application/json"})
@Slf4j
public class ZpglZwxxController {
@Value(value = "${config-8timer.init-password}")
private String pwd;
// 回调地址
@Value("${config-8timer.machine8timerUrl}")
public String mac_command;
@Autowired
private KqglAssoKqzdkfsMapper kqglassokqzdkfsmapper;
@Autowired
private QyzxEmpLoginMapper qyzxEmpLoginMapper;
@Autowired
private RealTimeUpdate realtimeupdate;
@Autowired
private UserEquiRelationMapper userequirelationmapper;
@Autowired
private YgglMainEmpMapper ygglMainEmpMapper;
@Autowired
private ZpglService zpglService;
@Autowired
private ZpglRcxxMapper zpglRcxxMapper;
/**
* 招聘职位列表
*
* @param
* @return
*/
@GetMapping(value = "/list")
@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) {
try {
Page<ZpglZwxx> page = new Page<ZpglZwxx>(baseQuery.getPageNum(), baseQuery.getPageSize());
QueryWrapper<ZpglZwxx> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ZpglZwxx::getOrgCode, userBean.getOrgCode()).eq(ZpglZwxx::getDeleteFlag,0);
if (!StringUtils.isEmpty(zpglZwxxId) && zpglZwxxId > 0) {
queryWrapper.lambda().eq(ZpglZwxx::getId, zpglZwxxId);
}
if (!StringUtils.isEmpty(query)) {
queryWrapper.lambda().like(ZpglZwxx::getName, query);
}
queryWrapper.lambda().eq(ZpglZwxx::getStatus, status);
IPage<ZpglZwxx> zpglZwxxPage = ZpglZwxx.builder().build().selectPage(page, queryWrapper);
List<ZpglZwxx> zpglRcxxs = page.getRecords();
zpglZwxxPage.getCurrent();
zpglZwxxPage.getPages();
zpglZwxxPage.getTotal();
zpglZwxxPage.getSize();
return ResultUtil.data(zpglZwxxPage, zpglRcxxs, "搜索成功");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("获取招聘职位列表失败");
}
}
/**
* 招聘职位-停止招聘
*
* @param
* @return
*/
@PostMapping(value = "/edit")
@ApiOperation(value = "2.招聘职位-停止招聘", httpMethod = "POST", notes = "招聘职位-停止招聘")
@ApiOperationSupport(order = 2)
public Result<Object> edit(@CurrentUser UserBean userBean, @RequestBody ZpglZwxxDto zpglZwxxDto) {
try {
return ZpglZwxx.builder().id(zpglZwxxDto.getId()).status(zpglZwxxDto.getStatus()).userId(userBean.getEmpNum()).userName(userBean.getQyzxEmpLogin().getUsername()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败");
}
}
/**
* 招聘职位-删除
*
* @param
* @return
*/
@PostMapping(value = "/delete")
@ApiOperation(value = "3.招聘职位-删除", httpMethod = "POST", notes = "招聘职位-删除")
@ApiOperationSupport(order = 3)
public Result<Object> delete(@CurrentUser UserBean userBean, @RequestBody ZpglZwxxDto zpglZwxxDto) {
try {
return ZpglZwxx.builder().id(zpglZwxxDto.getId()).deleteFlag(zpglZwxxDto.getDeleteFlag()).userId(userBean.getEmpNum()).userName(userBean.getQyzxEmpLogin().getUsername()).build().updateById()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招聘-删除人才信息失败");
}
}
/**
* 招聘职位-添加
*
* @param
* @return
*/
@PostMapping(value = "/add")
@ApiOperation(value = "4.招聘职位-添加", httpMethod = "POST", notes = "招聘职位-添加")
@ApiOperationSupport(order = 4)
public Result<Object> add(@CurrentUser UserBean userBean, @RequestBody ZpglZwxxAddUpdateDto zpglZwxxAddUpdateDto) {
try {
ZpglZwxx zpglZwxx = new ZpglZwxx();
BeanUtils.copyProperties(zpglZwxxAddUpdateDto,zpglZwxx);
zpglZwxx.setUserId(userBean.getEmpNum());
zpglZwxx.setUserName(userBean.getQyzxEmpLogin().getUsername());
zpglZwxx.setStatus(1);
zpglZwxx.setOrgCode(userBean.getOrgCode().toString());
return zpglZwxx.insertOrUpdate()?ResultUtil.success("操作成功"):ResultUtil.error("操作失败");
} catch (Exception e) {
e.printStackTrace();
throw new CustomException("招招聘职位-添加失败");
}
}
}
package cn.timer.api.controller.zpgl.sevice; package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.clazz.SysRegion;
import cn.timer.api.config.annotation.UserBean; import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.dto.zpgl.ZpglRcxxDto; import cn.timer.api.dto.zpgl.ZpglRcxxDto;
...@@ -18,5 +19,12 @@ public interface ZpglService { ...@@ -18,5 +19,12 @@ public interface ZpglService {
*/ */
boolean updateZpglRcxx(UserBean userBean, ZpglRcxxDto zpglRcxxDto); boolean updateZpglRcxx(UserBean userBean, ZpglRcxxDto zpglRcxxDto);
/**
* 地址字典
* @param keyId
* @return
*/
SysRegion getSysRegion(Integer keyId);
} }
package cn.timer.api.controller.zpgl.sevice; package cn.timer.api.controller.zpgl.sevice;
import cn.timer.api.bean.clazz.SysRegion;
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.ZpglFail;
import cn.timer.api.bean.zpgl.ZpglMslcLog; import cn.timer.api.bean.zpgl.ZpglMslcLog;
...@@ -15,6 +16,7 @@ import org.springframework.util.StringUtils; ...@@ -15,6 +16,7 @@ import org.springframework.util.StringUtils;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date;
/** /**
* @author wuqingjun * @author wuqingjun
...@@ -37,6 +39,9 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -37,6 +39,9 @@ public class ZpglServiceImpl implements ZpglService {
zpglMslcLog.setZpglRcxxId(zpglRcxxDto.getId()); zpglMslcLog.setZpglRcxxId(zpglRcxxDto.getId());
zpglMslcLog.setUserId(userBean.getEmpNum()); zpglMslcLog.setUserId(userBean.getEmpNum());
zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername()); zpglMslcLog.setUserName(userBean.getQyzxEmpLogin().getUsername());
if(!StringUtils.isEmpty(zpglRcxxDto.getIfrck()) && zpglRcxxDto.getIfrck().intValue() == 1){
zpglRcxx.setIfrckTime(new Date());
}
String detail = ""; String detail = "";
switch (zpglRcxxDto.getStatus()) { switch (zpglRcxxDto.getStatus()) {
case 1: case 1:
...@@ -124,4 +129,12 @@ public class ZpglServiceImpl implements ZpglService { ...@@ -124,4 +129,12 @@ public class ZpglServiceImpl implements ZpglService {
zpglMslcLogService.addZpglMslcLog(zpglMslcLog); zpglMslcLogService.addZpglMslcLog(zpglMslcLog);
return count; return count;
} }
@Override
public SysRegion getSysRegion(Integer keyId) {
return SysRegion.builder().build()
.selectOne(new QueryWrapper<SysRegion>().lambda().eq(SysRegion::getKeyId, keyId).select(
SysRegion::getRegionName, SysRegion::getKeyId, SysRegion::getZipCode,
SysRegion::getRegionCode));
}
} }
package cn.timer.api.dto.zpgl;
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.Date;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-3-22 10:05:49
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ZpglZwxxAddUpdateDto implements Serializable{
private static final long serialVersionUID = -1230023773946171911L;
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 职位名称
*/
@NotBlank(message = ValidationMsg.NOTBLANK)
@ApiModelProperty(value = "职位名称")
private String name;
/**
* 部门id
*/
@ApiModelProperty(value = "部门id")
private Integer deptId;
/**
* 职位类型ID
*/
@ApiModelProperty(value = "职位类型ID")
private Integer jobClassId;
/**
* 工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包
*/
@ApiModelProperty(value = "工作性质 1:全职 2:兼职 3:实习 4:退休返聘 5:劳务外派 6:劳务外包")
private Integer workType;
/**
* 对应合工作地点字典ID
*/
@ApiModelProperty(value = "对应合工作地点字典ID")
private Integer zpglGzddId;
/**
* 招聘人数
*/
@ApiModelProperty(value = "招聘人数")
private Integer num;
/**
* 已入职人数
*/
@ApiModelProperty(value = "已入职人数")
private Integer entryNum;
/**
* 招聘原因
*/
@ApiModelProperty(value = "招聘原因")
private String reason;
/**
* 工作经验要求:1:1年一下 2:1-3年 3:3-5年 4:5-10年 5:10年以上
*/
@ApiModelProperty(value = "工作经验要求:1:1年一下 2:1-3年 3:3-5年 4:5-10年 5:10年以上")
private Integer experience;
/**
* 学历要求 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士
*/
@ApiModelProperty(value = "学历要求 1:小学;2:初中;3:高中;4:中专;5:大专;6:本科;7:研究生;8:硕士;9:博士")
private Integer education;
/**
* 薪资范围
*/
@ApiModelProperty(value = "薪资范围")
private Integer salaryMin;
/**
* 薪资范围
*/
@ApiModelProperty(value = "薪资范围")
private Integer salaryMax;
/**
* 最迟到岗时间
*/
@ApiModelProperty(value = "最迟到岗时间")
private Date registerTime;
/**
* 启动时间
*/
@ApiModelProperty(value = "启动时间")
private Date startTime;
/**
* 截止时间
*/
@ApiModelProperty(value = "截止时间")
private Date endTime;
/**
* 描述
*/
@ApiModelProperty(value = "描述")
private String description;
/**
* 紧急程度状态 1:一般 2:紧急
*/
@ApiModelProperty(value = "紧急程度状态 1:一般 2:紧急")
private Integer urgentStatus;
/**
* 状态 1:招聘中 2:停止招聘
*/
@ApiModelProperty(value = "状态 1:招聘中 2:停止招聘")
private Integer status;
/**
* 组织机构代码
*/
@ApiModelProperty(value = "组织机构代码")
private String orgCode;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.dto.zpgl;
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.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2022-3-22 10:05:49
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ZpglZwxxDto implements Serializable{
private static final long serialVersionUID = -1230023773946171911L;
/**
* 职位信息Id
*/
@NotNull(message = ValidationMsg.NOTNULL)
@ApiModelProperty(value = "职位信息Id")
private Integer id;
/**
* 状态 1:招聘中 2:停止招聘
*/
@ApiModelProperty(value = "状态 1:招聘中 2:停止招聘")
private Integer status;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
}
...@@ -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="ifrckTime" column="ifrck_time"/>
<result property="deleteFlag" column="delete_flag"/> <result property="deleteFlag" column="delete_flag"/>
</resultMap> </resultMap>
......
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="name" column="name"/> <result property="name" column="name"/>
<result property="deptId" column="dept_id"/> <result property="deptId" column="dept_id"/>
<result property="jobClassId" column="job_class_id"/>
<result property="workType" column="work_type"/> <result property="workType" column="work_type"/>
<result property="city" column="city"/> <result property="zpglGzddId" column="zpgl_gzdd_id"/>
<result property="address" column="address"/>
<result property="num" column="num"/> <result property="num" column="num"/>
<result property="entryNum" column="entry_num"/> <result property="entryNum" column="entry_num"/>
<result property="reason" column="reason"/> <result property="reason" column="reason"/>
...@@ -20,12 +20,16 @@ ...@@ -20,12 +20,16 @@
<result property="salaryMax" column="salary_max"/> <result property="salaryMax" column="salary_max"/>
<result property="registerTime" column="register_time"/> <result property="registerTime" column="register_time"/>
<result property="startTime" column="start_time"/> <result property="startTime" column="start_time"/>
<result property="endTime" column="end_time"/>
<result property="description" column="description"/> <result property="description" column="description"/>
<result property="createtime" column="createtime"/>
<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"/> <result property="deleteFlag" column="delete_flag"/>
<result property="userId" column="user_id"/>
<result property="userName" column="user_name"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</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