dev:人资相关代码
parent
bf55c68f13
commit
ccb520416f
|
|
@ -9,12 +9,14 @@ import com.alibaba.cloud.commons.lang.StringUtils;
|
||||||
import com.jjb.saas.framework.job.Job;
|
import com.jjb.saas.framework.job.Job;
|
||||||
import com.xxl.job.core.biz.model.ReturnT;
|
import com.xxl.job.core.biz.model.ReturnT;
|
||||||
import com.xxl.job.core.context.XxlJobHelper;
|
import com.xxl.job.core.context.XxlJobHelper;
|
||||||
|
import com.zcloud.basic.info.command.RzUserRecordAddExe;
|
||||||
import com.zcloud.gbscommon.utils.Tools;
|
import com.zcloud.gbscommon.utils.Tools;
|
||||||
import com.zcloud.gbscommon.utils.UuidUtil;
|
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
@ -27,6 +29,8 @@ public class DockingRZUserPlanJob implements Job {
|
||||||
|
|
||||||
private static final String BASE_URL = "http://192.168.10.56:8090";
|
private static final String BASE_URL = "http://192.168.10.56:8090";
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private final RzUserRecordAddExe rzUserRecordAddExe;
|
||||||
|
|
||||||
// @JobRegister(cron = "0 30 0 * * ?", jobDesc = "超期未检查记录",triggerStatus = 1)
|
// @JobRegister(cron = "0 30 0 * * ?", jobDesc = "超期未检查记录",triggerStatus = 1)
|
||||||
// @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob")
|
// @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob")
|
||||||
|
|
@ -69,35 +73,13 @@ public class DockingRZUserPlanJob implements Job {
|
||||||
// @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob")
|
// @XxlJob("com.zcloud.zcGbsServicer.plan.CheckRecordPlanJob")
|
||||||
public ReturnT<String> executeChange(String param) {
|
public ReturnT<String> executeChange(String param) {
|
||||||
System.out.println("开始执行计划任务");
|
System.out.println("开始执行计划任务");
|
||||||
XxlJobHelper.log( "============定时获取人资人员信息开始==========");
|
XxlJobHelper.log( "============定时获取人资变动信息开始==========");
|
||||||
// 获取总页数
|
|
||||||
Integer userInfoCount = getUserInfoCount();
|
|
||||||
// 定义每页大小
|
|
||||||
int pageSize = 200;
|
|
||||||
// 计算总页数
|
|
||||||
int totalPages = (int) Math.ceil((double) userInfoCount / pageSize);
|
|
||||||
|
|
||||||
for (int pageNum = 1; pageNum <= totalPages; pageNum++) {
|
JSONArray userChangeInfo = getUserChangeInfo();
|
||||||
try {
|
// 处理数据
|
||||||
XxlJobHelper.log("正在获取第 " + pageNum + "/" + totalPages + " 页数据...");
|
rzUserRecordAddExe.executeJsonArray(userChangeInfo);
|
||||||
|
|
||||||
// 调用接口
|
XxlJobHelper.log( "============定时获取人资变动信息结束==========");
|
||||||
getUserInfo(pageNum, pageSize);
|
|
||||||
|
|
||||||
XxlJobHelper.log("第 " + pageNum + " 页数据获取成功");
|
|
||||||
|
|
||||||
// 可选:添加延时,避免请求过快
|
|
||||||
if (pageNum < totalPages) {
|
|
||||||
Thread.sleep(1000); // 1000毫秒间隔
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
XxlJobHelper.log("第 " + pageNum + " 页获取失败: " + e.getMessage());
|
|
||||||
// 可以选择继续执行下一页,或者中断
|
|
||||||
// break; // 如果需要失败就停止
|
|
||||||
}
|
|
||||||
}
|
|
||||||
XxlJobHelper.log( "============定时获取人资人员信息结束==========");
|
|
||||||
return ReturnT.SUCCESS;
|
return ReturnT.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
package com.zcloud.basic.info.web;
|
package com.zcloud.basic.info.web;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
import com.zcloud.basic.info.api.RzUserRecordServiceI;
|
import com.zcloud.basic.info.api.RzUserRecordServiceI;
|
||||||
|
import com.zcloud.basic.info.command.RzUserRecordAddExe;
|
||||||
import com.zcloud.basic.info.dto.RzUserRecordAddCmd;
|
import com.zcloud.basic.info.dto.RzUserRecordAddCmd;
|
||||||
import com.zcloud.basic.info.dto.RzUserRecordPageQry;
|
import com.zcloud.basic.info.dto.RzUserRecordPageQry;
|
||||||
import com.zcloud.basic.info.dto.RzUserRecordListQry;
|
import com.zcloud.basic.info.dto.RzUserRecordListQry;
|
||||||
|
|
@ -14,6 +16,7 @@ import com.alibaba.cola.dto.Response;
|
||||||
import com.alibaba.cola.dto.SingleResponse;
|
import com.alibaba.cola.dto.SingleResponse;
|
||||||
import com.jjb.saas.framework.auth.model.SSOUser;
|
import com.jjb.saas.framework.auth.model.SSOUser;
|
||||||
import com.jjb.saas.framework.auth.utils.AuthContext;
|
import com.jjb.saas.framework.auth.utils.AuthContext;
|
||||||
|
import com.zcloud.basic.info.plan.DockingRZUserPlanJob;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
|
|
@ -34,6 +37,23 @@ import java.util.ArrayList;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RzUserRecordController {
|
public class RzUserRecordController {
|
||||||
private final RzUserRecordServiceI rzUserRecordService;
|
private final RzUserRecordServiceI rzUserRecordService;
|
||||||
|
private final RzUserRecordAddExe rzUserRecordAddExe;
|
||||||
|
|
||||||
|
private final DockingRZUserPlanJob dockingRZPlanJob;
|
||||||
|
@ApiOperation("手动调用获取人资变动信息定时")
|
||||||
|
@PostMapping("/dockingRZChange")
|
||||||
|
public Response dockingRZChange(){
|
||||||
|
dockingRZPlanJob.executeChange("");
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("手动模拟拉取人资变动信息定时")
|
||||||
|
@PostMapping("/getRZChange")
|
||||||
|
public Response getRZChange(@RequestBody JSONArray jsonArray){
|
||||||
|
rzUserRecordAddExe.executeJsonArray(jsonArray);
|
||||||
|
return SingleResponse.buildSuccess();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation("新增")
|
@ApiOperation("新增")
|
||||||
@PostMapping("/save")
|
@PostMapping("/save")
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,32 @@
|
||||||
package com.zcloud.basic.info.command;
|
package com.zcloud.basic.info.command;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
|
||||||
|
import com.zcloud.basic.info.domain.enums.UserRZFlagEnum;
|
||||||
|
import com.zcloud.basic.info.domain.gateway.RzUserGateway;
|
||||||
import com.zcloud.basic.info.domain.gateway.RzUserRecordGateway;
|
import com.zcloud.basic.info.domain.gateway.RzUserRecordGateway;
|
||||||
|
import com.zcloud.basic.info.domain.gateway.UserChangeRecordGateway;
|
||||||
|
import com.zcloud.basic.info.domain.gateway.UserGateway;
|
||||||
|
import com.zcloud.basic.info.domain.model.RzUserE;
|
||||||
import com.zcloud.basic.info.domain.model.RzUserRecordE;
|
import com.zcloud.basic.info.domain.model.RzUserRecordE;
|
||||||
|
import com.zcloud.basic.info.domain.model.UserChangeRecordE;
|
||||||
|
import com.zcloud.basic.info.domain.model.UserE;
|
||||||
import com.zcloud.basic.info.dto.RzUserRecordAddCmd;
|
import com.zcloud.basic.info.dto.RzUserRecordAddCmd;
|
||||||
import com.alibaba.cola.exception.BizException;
|
import com.alibaba.cola.exception.BizException;
|
||||||
|
import com.zcloud.basic.info.persistence.dataobject.*;
|
||||||
|
import com.zcloud.basic.info.persistence.repository.*;
|
||||||
|
import com.zcloud.gbscommon.utils.UuidUtil;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* web-app
|
* web-app
|
||||||
|
|
@ -20,6 +38,15 @@ import org.springframework.transaction.annotation.Transactional;
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public class RzUserRecordAddExe {
|
public class RzUserRecordAddExe {
|
||||||
private final RzUserRecordGateway rzUserRecordGateway;
|
private final RzUserRecordGateway rzUserRecordGateway;
|
||||||
|
private final RzUserRecordRepository rzUserRecordRepository;
|
||||||
|
private final RzUserRepository rzUserRepository;
|
||||||
|
private final RzUserGateway rzUserGateway;
|
||||||
|
private final UserRepository userRepository;
|
||||||
|
private final UserGateway userGateway;
|
||||||
|
private final CorpInfoRepository corpInfoRepository;
|
||||||
|
private final DepartmentRepository departmentRepository;
|
||||||
|
private final UserChangeRecordRepository userChangeRecordRepository;
|
||||||
|
private final UserChangeRecordGateway userChangeRecordGateway;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean execute(RzUserRecordAddCmd cmd) {
|
public boolean execute(RzUserRecordAddCmd cmd) {
|
||||||
|
|
@ -36,5 +63,98 @@ public class RzUserRecordAddExe {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public boolean executeJsonArray(JSONArray jsonArray) {
|
||||||
|
|
||||||
|
if(jsonArray == null){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<RzUserRecordE> rzUserRecordEList = new ArrayList<>();
|
||||||
|
for (Object o : jsonArray) {
|
||||||
|
JSONObject json = new JSONObject(o);
|
||||||
|
RzUserRecordE rzUserRecordE = new RzUserRecordE();
|
||||||
|
rzUserRecordE.setEmployeeName(json.getStr("employee_name"));
|
||||||
|
rzUserRecordE.setEmployeeGender(json.getStr("employee_gender"));
|
||||||
|
rzUserRecordE.setEmployeeAge(json.getStr("employee_age"));
|
||||||
|
rzUserRecordE.setEntryTime(json.getStr("entry_time"));
|
||||||
|
rzUserRecordE.setEmployeeStatus(json.getStr("employee_status"));
|
||||||
|
rzUserRecordE.setJobName(json.getStr("job_name"));
|
||||||
|
rzUserRecordE.setJobLevel(json.getStr("job_level"));
|
||||||
|
rzUserRecordE.setDeptName(json.getStr("dept_name"));
|
||||||
|
rzUserRecordE.setDeptCode(json.getStr("dept_code"));
|
||||||
|
rzUserRecordE.setPhoneNumber(json.getStr("phone_number"));
|
||||||
|
rzUserRecordE.setIdCardNumber(json.getStr("id_card_number"));
|
||||||
|
rzUserRecordE.setEmployeeImagesCode(json.getStr("employee_images_code"));
|
||||||
|
rzUserRecordE.setCorporationCode(json.getStr("corporation_code"));
|
||||||
|
rzUserRecordE.setCorporationName(json.getStr("corporation_name"));
|
||||||
|
rzUserRecordEList.add(rzUserRecordE);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过手机号和身份证号来判断人资人员表是否有数据,
|
||||||
|
* 如果没有则插入,
|
||||||
|
* 如果有, 则更新人资人员表数据
|
||||||
|
*
|
||||||
|
* 同时判断统一用户管理是否有这个人, 如果有, 则将是否存在人资状态改为:是
|
||||||
|
* 同时将状态改为2-信息变更中
|
||||||
|
* 如果没有, 则给这个人创建个账号
|
||||||
|
*
|
||||||
|
* 插入人员变动记录表
|
||||||
|
*/
|
||||||
|
// 人资
|
||||||
|
RzUserDO rzUserDO = rzUserRepository.getByPhoneAndIdCardNumber(rzUserRecordE.getPhoneNumber(), rzUserRecordE.getIdCardNumber());
|
||||||
|
if(rzUserDO == null){
|
||||||
|
RzUserE rzUserE = new RzUserE();
|
||||||
|
rzUserE.initByRzUserRecord(rzUserRecordE);
|
||||||
|
rzUserGateway.add(rzUserE);
|
||||||
|
}else {
|
||||||
|
RzUserE rzUserE = new RzUserE();
|
||||||
|
rzUserE.initByRzUserRecord(rzUserRecordE);
|
||||||
|
rzUserE.setId(rzUserDO.getId());
|
||||||
|
rzUserGateway.update(rzUserE);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 统一用户管理
|
||||||
|
UserDO userDO = userRepository.getByPhoneAndIdCard(rzUserRecordE.getPhoneNumber(), rzUserRecordE.getIdCardNumber());
|
||||||
|
if(userDO != null){
|
||||||
|
userDO.setRzFlag(UserRZFlagEnum.YES.getCode());
|
||||||
|
userDO.setEmploymentFlag(UserEmploymentFlagEnum.INFO_CHANGE.getCode());
|
||||||
|
UserE userE = new UserE();
|
||||||
|
BeanUtils.copyProperties(userDO, userE);
|
||||||
|
userGateway.update(userE);
|
||||||
|
// 查询企业名称和部门名称
|
||||||
|
CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId());
|
||||||
|
DepartmentDO departmentDO = departmentRepository.getById(userE.getDepartmentId());
|
||||||
|
// 变更记录表
|
||||||
|
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
|
||||||
|
userChangeRecordE.initUserAddFromRZ(userE, rzUserRecordE, userE.getId(), corpInfoDO.getCorpName(), departmentDO.getName());
|
||||||
|
userChangeRecordGateway.add(userChangeRecordE);
|
||||||
|
}else {
|
||||||
|
// todo 创建新用户
|
||||||
|
UserE userE = new UserE();
|
||||||
|
CorpInfoDO corpInfo = corpInfoRepository.getCorpInfoByCorpName("冬泳分公司账号");
|
||||||
|
userE.initFromRZ(corpInfo.getId(), rzUserRecordE);
|
||||||
|
userE.setUserId(UuidUtil.get32UUID());
|
||||||
|
userGateway.add(userE);
|
||||||
|
|
||||||
|
// 变更记录表
|
||||||
|
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
|
||||||
|
userChangeRecordE.initUserAddFromRZ(userE, rzUserRecordE, userE.getId(), null, null);
|
||||||
|
userChangeRecordGateway.add(userChangeRecordE);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(CollUtil.isNotEmpty(rzUserRecordEList)){
|
||||||
|
rzUserRecordRepository.addBatch(BeanUtil.copyToList(rzUserRecordEList, RzUserRecordDO.class));
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,10 @@ public class AppUserInfoCmd extends Command {
|
||||||
@NotNull(message = "主键id不能为空")
|
@NotNull(message = "主键id不能为空")
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "业务主键id", name = "userId", required = true)
|
||||||
|
@NotNull(message = "业务主键id不能为空")
|
||||||
|
private String userId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "人脸照片url", name = "userAvatarUrl", required = true)
|
@ApiModelProperty(value = "人脸照片url", name = "userAvatarUrl", required = true)
|
||||||
@NotEmpty(message = "人脸照片url不能为空")
|
@NotEmpty(message = "人脸照片url不能为空")
|
||||||
private String userAvatarUrl;
|
private String userAvatarUrl;
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,9 @@ public class RzUserRecordCO extends ClientObject {
|
||||||
//工作级别
|
//工作级别
|
||||||
@ApiModelProperty(value = "工作级别")
|
@ApiModelProperty(value = "工作级别")
|
||||||
private String jobLevel;
|
private String jobLevel;
|
||||||
|
//工作级别
|
||||||
|
@ApiModelProperty(value = "职务")
|
||||||
|
private String jobName;
|
||||||
//部门名称
|
//部门名称
|
||||||
@ApiModelProperty(value = "部门名称")
|
@ApiModelProperty(value = "部门名称")
|
||||||
private String deptName;
|
private String deptName;
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,9 @@ public class UserCO extends ClientObject {
|
||||||
//人员在部门中的排序
|
//人员在部门中的排序
|
||||||
@ApiModelProperty(value = "人员在部门中的排序")
|
@ApiModelProperty(value = "人员在部门中的排序")
|
||||||
private Integer sort;
|
private Integer sort;
|
||||||
|
@ApiModelProperty(value = "是否存在人资系统, 1-存在, 0-不存在")
|
||||||
|
private Integer rzFlag;
|
||||||
|
|
||||||
//乐观锁
|
//乐观锁
|
||||||
@ApiModelProperty(value = "乐观锁")
|
@ApiModelProperty(value = "乐观锁")
|
||||||
private Integer version;
|
private Integer version;
|
||||||
|
|
@ -169,7 +172,7 @@ public class UserCO extends ClientObject {
|
||||||
private String mappingPostName;
|
private String mappingPostName;
|
||||||
private String mappingDeptName;
|
private String mappingDeptName;
|
||||||
// 入职状态
|
// 入职状态
|
||||||
@ApiModelProperty(value = "入职状态 1-在职 0-离职")
|
@ApiModelProperty(value = "入职状态 入职状态,0-离职, 1-在职, 2-信息变更中, 3-未入职, 4-实习生, 5-实习结束, 6-退休, 7-劳务派遣, 8-劳务派遣结束, 11-入职待审核, 10-离职待审核")
|
||||||
private Integer employmentFlag;
|
private Integer employmentFlag;
|
||||||
// 入职状态
|
// 入职状态
|
||||||
@ApiModelProperty(value = "是否流动人员,1-流动,0-固定人员")
|
@ApiModelProperty(value = "是否流动人员,1-流动,0-固定人员")
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,11 @@ public enum UserEmploymentFlagEnum {
|
||||||
ON(1, "在职"),
|
ON(1, "在职"),
|
||||||
INFO_CHANGE(2, "信息变更中"),
|
INFO_CHANGE(2, "信息变更中"),
|
||||||
NOT_ON(3, "未入职"),
|
NOT_ON(3, "未入职"),
|
||||||
|
INTERN(4, "实习生"),
|
||||||
|
INTERNSHIP_ENDED(5, "实习结束"),
|
||||||
|
RETIREMENT(6, "退休"),
|
||||||
|
LABOR_DISPATCH(7, "劳务派遣"),
|
||||||
|
END_OF_LABOR_DISPATCH(8, "劳务派遣结束"),
|
||||||
ENTRY_AUDIT(11, "入职待审核"),
|
ENTRY_AUDIT(11, "入职待审核"),
|
||||||
RESIGNATION_AUDIT(10, "离职待审核"),
|
RESIGNATION_AUDIT(10, "离职待审核"),
|
||||||
// REJECT(12, "驳回"),
|
// REJECT(12, "驳回"),
|
||||||
|
|
@ -35,4 +40,14 @@ public enum UserEmploymentFlagEnum {
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//根据枚举获取code
|
||||||
|
public static UserEmploymentFlagEnum getByDesc(String desc) {
|
||||||
|
for (UserEmploymentFlagEnum item : values()) {
|
||||||
|
if (item.getDesc().equals(desc)) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package com.zcloud.basic.info.domain.enums;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否存在人资系统, 1-是, 0-否
|
||||||
|
*/
|
||||||
|
@Getter
|
||||||
|
public enum UserRZFlagEnum {
|
||||||
|
/**
|
||||||
|
* 枚举值
|
||||||
|
*/
|
||||||
|
NO(0, "否"),
|
||||||
|
YES(1, "是"),
|
||||||
|
;
|
||||||
|
private final Integer code;
|
||||||
|
private final String desc;
|
||||||
|
|
||||||
|
UserRZFlagEnum(Integer code, String desc) {
|
||||||
|
this.code = code;
|
||||||
|
this.desc = desc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -53,5 +53,21 @@ public class RzUserE extends BaseE {
|
||||||
private String isConfirm;
|
private String isConfirm;
|
||||||
//确认状态(0:未确认,1:自动确认,2:用户手动确认)
|
//确认状态(0:未确认,1:自动确认,2:用户手动确认)
|
||||||
private String confirmStatus;
|
private String confirmStatus;
|
||||||
|
|
||||||
|
public void initByRzUserRecord(RzUserRecordE rzUserRecordE){
|
||||||
|
this.setEmployeeName(rzUserRecordE.getEmployeeName());
|
||||||
|
this.setEmployeeGender(rzUserRecordE.getEmployeeGender());
|
||||||
|
this.setEmployeeAge(Integer.valueOf(rzUserRecordE.getEmployeeAge()));
|
||||||
|
this.setEntryTime(rzUserRecordE.getEntryTime());
|
||||||
|
this.setEmployeeStatus(rzUserRecordE.getEmployeeStatus());
|
||||||
|
this.setJobName(rzUserRecordE.getJobName());
|
||||||
|
this.setJobLevel(rzUserRecordE.getJobLevel());
|
||||||
|
this.setDeptName(rzUserRecordE.getDeptName());
|
||||||
|
this.setDeptCode(rzUserRecordE.getDeptCode());
|
||||||
|
this.setPhoneNumber(rzUserRecordE.getPhoneNumber());
|
||||||
|
this.setIdCardNumber(rzUserRecordE.getIdCardNumber());
|
||||||
|
this.setCorporationName(rzUserRecordE.getCorporationName());
|
||||||
|
this.setCorporationCode(rzUserRecordE.getCorporationCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.zcloud.basic.info.domain.model;
|
package com.zcloud.basic.info.domain.model;
|
||||||
|
|
||||||
import com.jjb.saas.framework.domain.model.BaseE;
|
import com.jjb.saas.framework.domain.model.BaseE;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
@ -26,11 +27,12 @@ public class RzUserRecordE extends BaseE {
|
||||||
//年龄
|
//年龄
|
||||||
private String employeeAge;
|
private String employeeAge;
|
||||||
//入职时间
|
//入职时间
|
||||||
private Date entryTime;
|
private String entryTime;
|
||||||
//人员状态
|
//人员状态
|
||||||
private String employeeStatus;
|
private String employeeStatus;
|
||||||
//工作级别
|
//工作级别
|
||||||
private String jobLevel;
|
private String jobLevel;
|
||||||
|
private String jobName;
|
||||||
//部门名称
|
//部门名称
|
||||||
private String deptName;
|
private String deptName;
|
||||||
//部门编码
|
//部门编码
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,35 @@ public class UserChangeRecordE extends BaseE {
|
||||||
this.setStatus(UserChangeRecordStatusEnum.PENDING.getCode());
|
this.setStatus(UserChangeRecordStatusEnum.PENDING.getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void initUserAddFromRZ(UserE userE, RzUserRecordE rzUserRecordE, Long userId, String corpinfoName, String departmentName) {
|
||||||
|
this.setUserId(userId);
|
||||||
|
this.setChangeTime(new Date());
|
||||||
|
|
||||||
|
this.setCorpinfoIdBefore(null);
|
||||||
|
this.setCorpinfoNameBefore(corpinfoName);
|
||||||
|
this.setDepartmentIdBefore(null);
|
||||||
|
this.setDepartmentNameBefore(departmentName);
|
||||||
|
this.setPostIdBefore(null);
|
||||||
|
this.setPostNameBefore(null);
|
||||||
|
// corpinfoName == null是新增的时候, != null是修改
|
||||||
|
if(corpinfoName == null){
|
||||||
|
this.setUserStatusBefore(null);
|
||||||
|
}else {
|
||||||
|
this.setUserStatusBefore(userE.getEmploymentFlag());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.setCorpinfoIdAfter(null);
|
||||||
|
this.setCorpinfoNameAfter(rzUserRecordE.getCorporationName());
|
||||||
|
this.setDepartmentIdAfter(null);
|
||||||
|
this.setDepartmentNameAfter(rzUserRecordE.getDeptName());
|
||||||
|
this.setPostIdAfter(null);
|
||||||
|
this.setPostNameAfter(null);
|
||||||
|
this.setUserStatusAfter(UserEmploymentFlagEnum.getByDesc(rzUserRecordE.getEmployeeStatus()).getCode());
|
||||||
|
|
||||||
|
this.setStatus(UserChangeRecordStatusEnum.APPROVED.getCode());
|
||||||
|
}
|
||||||
|
|
||||||
public void initUserUpdate(UserE userE, UserE oldUserE, String corpName, String name) {
|
public void initUserUpdate(UserE userE, UserE oldUserE, String corpName, String name) {
|
||||||
this.setUserId(userE.getId());
|
this.setUserId(userE.getId());
|
||||||
this.setChangeTime(new Date());
|
this.setChangeTime(new Date());
|
||||||
|
|
|
||||||
|
|
@ -138,6 +138,7 @@ public class UserE extends BaseE {
|
||||||
private Integer employmentFlag;
|
private Integer employmentFlag;
|
||||||
// 入职状态
|
// 入职状态
|
||||||
private Integer flowFlag;
|
private Integer flowFlag;
|
||||||
|
private Integer rzFlag;
|
||||||
// 父级租户id
|
// 父级租户id
|
||||||
private final Long parentTenantId = 1989259383784415232L;
|
private final Long parentTenantId = 1989259383784415232L;
|
||||||
// 默认密码
|
// 默认密码
|
||||||
|
|
@ -165,6 +166,16 @@ public class UserE extends BaseE {
|
||||||
userE.setPassword(defaultPassword);
|
userE.setPassword(defaultPassword);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void initFromRZ(Long corpinfoId, RzUserRecordE rzUserRecordE){
|
||||||
|
this.setCorpinfoId(corpinfoId);
|
||||||
|
this.setDepartmentId(corpinfoId);
|
||||||
|
this.setName(rzUserRecordE.getEmployeeName());
|
||||||
|
this.setPhone(rzUserRecordE.getPhoneNumber());
|
||||||
|
this.setUsername(rzUserRecordE.getPhoneNumber());
|
||||||
|
this.setRoleId(1994326788804837377L);
|
||||||
|
this.setUserIdCard(rzUserRecordE.getIdCardNumber());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 校验密码是否相同, 并且是否符合规范
|
* 校验密码是否相同, 并且是否符合规范
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -37,13 +37,15 @@ public class RzUserRecordDO extends BaseDO {
|
||||||
private String employeeAge;
|
private String employeeAge;
|
||||||
//入职时间
|
//入职时间
|
||||||
@ApiModelProperty(value = "入职时间")
|
@ApiModelProperty(value = "入职时间")
|
||||||
private Date entryTime;
|
private String entryTime;
|
||||||
//人员状态
|
//人员状态
|
||||||
@ApiModelProperty(value = "人员状态")
|
@ApiModelProperty(value = "人员状态")
|
||||||
private String employeeStatus;
|
private String employeeStatus;
|
||||||
//工作级别
|
//工作级别
|
||||||
@ApiModelProperty(value = "工作级别")
|
@ApiModelProperty(value = "工作级别")
|
||||||
private String jobLevel;
|
private String jobLevel;
|
||||||
|
@ApiModelProperty(value = "职务")
|
||||||
|
private String jobName;
|
||||||
//部门名称
|
//部门名称
|
||||||
@ApiModelProperty(value = "部门名称")
|
@ApiModelProperty(value = "部门名称")
|
||||||
private String deptName;
|
private String deptName;
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,8 @@ public class UserDO extends BaseDO {
|
||||||
// 入职状态
|
// 入职状态
|
||||||
@ApiModelProperty(value = "是否流动人员,1-流动,0-固定人员")
|
@ApiModelProperty(value = "是否流动人员,1-流动,0-固定人员")
|
||||||
private Integer flowFlag;
|
private Integer flowFlag;
|
||||||
|
@ApiModelProperty(value = "是否存在人资系统, 1-存在, 0-不存在")
|
||||||
|
private Integer rzFlag;
|
||||||
//用户所属企业id
|
//用户所属企业id
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String userCorpId;
|
private String userCorpId;
|
||||||
|
|
|
||||||
|
|
@ -21,5 +21,7 @@ public interface RzUserRecordRepository extends BaseRepository<RzUserRecordDO> {
|
||||||
List<RzUserRecordDO> list(Map<String, Object> params);
|
List<RzUserRecordDO> list(Map<String, Object> params);
|
||||||
|
|
||||||
SingleResponse<RzUserRecordDO> getInfoById(Long id);
|
SingleResponse<RzUserRecordDO> getInfoById(Long id);
|
||||||
|
|
||||||
|
void addBatch(List<RzUserRecordDO> rzUserRecordDOList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,5 +21,8 @@ public interface RzUserRepository extends BaseRepository<RzUserDO> {
|
||||||
List<RzUserDO> list(Map<String, Object> params);
|
List<RzUserDO> list(Map<String, Object> params);
|
||||||
|
|
||||||
SingleResponse<RzUserDO> getInfoById(Long id);
|
SingleResponse<RzUserDO> getInfoById(Long id);
|
||||||
|
|
||||||
|
RzUserDO getByPhoneAndIdCardNumber(String phone, String idCardNumber);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,5 +78,7 @@ public interface UserRepository extends BaseRepository<UserDO> {
|
||||||
|
|
||||||
|
|
||||||
UserDO getByPhone(String phone);
|
UserDO getByPhone(String phone);
|
||||||
|
|
||||||
|
UserDO getByPhoneAndIdCard(String phone, String idCardNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,5 +51,10 @@ public class RzUserRecordRepositoryImpl extends BaseRepositoryImpl<RzUserRecordM
|
||||||
public SingleResponse<RzUserRecordDO> getInfoById(Long id) {
|
public SingleResponse<RzUserRecordDO> getInfoById(Long id) {
|
||||||
return SingleResponse.of(rzUserRecordMapper.selectById(id));
|
return SingleResponse.of(rzUserRecordMapper.selectById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addBatch(List<RzUserRecordDO> rzUserRecordDOList) {
|
||||||
|
this.saveBatch(rzUserRecordDOList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,5 +51,13 @@ public class RzUserRepositoryImpl extends BaseRepositoryImpl<RzUserMapper, RzUse
|
||||||
public SingleResponse<RzUserDO> getInfoById(Long id) {
|
public SingleResponse<RzUserDO> getInfoById(Long id) {
|
||||||
return SingleResponse.of(rzUserMapper.selectById(id));
|
return SingleResponse.of(rzUserMapper.selectById(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RzUserDO getByPhoneAndIdCardNumber(String phone, String idCardNumber) {
|
||||||
|
QueryWrapper<RzUserDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("phone_number", phone);
|
||||||
|
queryWrapper.eq("id_card_number", idCardNumber);
|
||||||
|
return this.getOne(queryWrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -436,5 +436,13 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
|
||||||
queryWrapper.eq("phone", phone);
|
queryWrapper.eq("phone", phone);
|
||||||
return getOne(queryWrapper);
|
return getOne(queryWrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserDO getByPhoneAndIdCard(String phone, String idCardNumber) {
|
||||||
|
QueryWrapper<UserDO> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("phone", phone);
|
||||||
|
queryWrapper.eq("user_id_card", idCardNumber);
|
||||||
|
return getOne(queryWrapper);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue