dev:自测模拟人资数据接口
parent
8b830100a0
commit
fba97bff31
|
|
@ -67,94 +67,98 @@ public class RzUserRecordAddExe {
|
|||
|
||||
@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);
|
||||
try{
|
||||
if(jsonArray == null){
|
||||
return false;
|
||||
}
|
||||
|
||||
// 统一用户管理
|
||||
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);
|
||||
List<RzUserRecordE> rzUserRecordEList = new ArrayList<>();
|
||||
for (Object o : jsonArray) {
|
||||
JSONObject json = new JSONObject(o);
|
||||
RzUserRecordE rzUserRecordE = new RzUserRecordE();
|
||||
rzUserRecordE.initFromRZ(json);
|
||||
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());
|
||||
UserE userE = new UserE();
|
||||
BeanUtils.copyProperties(userDO, userE);
|
||||
// 位置不可变
|
||||
userE.setEmploymentFlag(UserEmploymentFlagEnum.INFO_CHANGE.getCode());
|
||||
userGateway.update(userE);
|
||||
// 查询企业名称和部门名称
|
||||
CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId());
|
||||
DepartmentDO departmentDO = departmentRepository.getById(userE.getDepartmentId());
|
||||
// 变更记录表
|
||||
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
|
||||
// 变更之前的老状态, 不然变更记录之前的状态就是2-信息变更中了
|
||||
userE.setEmploymentFlag(userDO.getEmploymentFlag());
|
||||
userChangeRecordE.initUserAddFromRZ(userE, rzUserRecordE, userE.getId(), corpInfoDO.getCorpName(), departmentDO.getName());
|
||||
userChangeRecordGateway.add(userChangeRecordE);
|
||||
}else {
|
||||
// todo 创建新用户 暂时放在一个分公司下, 等公司和部门对应关系有了再改
|
||||
UserE userE = new UserE();
|
||||
CorpInfoDO corpInfo = corpInfoRepository.getCorpInfoByCorpName("冬泳分公司账号");
|
||||
Long roleId = userRepository.getDefaultRoleId();
|
||||
if (roleId == null){
|
||||
throw new BizException("未创建默认通用角色,请联系管理员");
|
||||
}
|
||||
userE.initFromRZ(corpInfo.getId(), roleId, rzUserRecordE);
|
||||
userE.setUserId(UuidUtil.get32UUID());
|
||||
userE.setMainCorpFlag(0);
|
||||
userGateway.add(userE);
|
||||
|
||||
// 变更记录表
|
||||
UserChangeRecordE userChangeRecordE = new UserChangeRecordE();
|
||||
userE.setPostName(null);
|
||||
userChangeRecordE.initUserAddFromRZ(userE, rzUserRecordE, userE.getId(), null, null);
|
||||
userChangeRecordGateway.add(userChangeRecordE);
|
||||
}
|
||||
|
||||
// 变更记录表
|
||||
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;
|
||||
|
||||
}catch (Exception e){
|
||||
// 发生错误, 记录发送过来的数据
|
||||
RzUserRecordE recordE = new RzUserRecordE();
|
||||
recordE.setEmployeeImages(jsonArray.toString());
|
||||
recordE.setRemarks(e.getMessage());
|
||||
rzUserRecordGateway.add(recordE);
|
||||
throw new BizException(e.getMessage());
|
||||
}
|
||||
|
||||
if(CollUtil.isNotEmpty(rzUserRecordEList)){
|
||||
rzUserRecordRepository.addBatch(BeanUtil.copyToList(rzUserRecordEList, RzUserRecordDO.class));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@ public class RzUserE extends BaseE {
|
|||
this.setJobLevel(rzUserRecordE.getJobLevel());
|
||||
this.setDeptName(rzUserRecordE.getDeptName());
|
||||
this.setDeptCode(rzUserRecordE.getDeptCode());
|
||||
this.setPositionName(rzUserRecordE.getPositionName());
|
||||
this.setPhoneNumber(rzUserRecordE.getPhoneNumber());
|
||||
this.setIdCardNumber(rzUserRecordE.getIdCardNumber());
|
||||
this.setCorporationName(rzUserRecordE.getCorporationName());
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package com.zcloud.basic.info.domain.model;
|
||||
|
||||
import cn.hutool.json.JSONObject;
|
||||
import com.alibaba.cloud.commons.lang.StringUtils;
|
||||
import com.alibaba.cola.exception.BizException;
|
||||
import com.jjb.saas.framework.domain.model.BaseE;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
|
@ -37,6 +40,7 @@ public class RzUserRecordE extends BaseE {
|
|||
private String deptName;
|
||||
//部门编码
|
||||
private String deptCode;
|
||||
private String positionName;
|
||||
//手机号
|
||||
private String phoneNumber;
|
||||
//身份证号
|
||||
|
|
@ -49,5 +53,32 @@ public class RzUserRecordE extends BaseE {
|
|||
private String corporationCode;
|
||||
//企业名称
|
||||
private String corporationName;
|
||||
|
||||
|
||||
public void initFromRZ(JSONObject json){
|
||||
if(StringUtils.isEmpty(json.getStr("phone_number"))){
|
||||
throw new BizException("数据错误,手机号不能为空。");
|
||||
}
|
||||
if(StringUtils.isEmpty(json.getStr("id_card_number"))){
|
||||
throw new BizException("数据错误,身份证号不能为空。");
|
||||
}
|
||||
|
||||
this.setEmployeeName(json.getStr("employee_name"));
|
||||
this.setEmployeeGender(json.getStr("employee_gender"));
|
||||
this.setEmployeeAge(json.getStr("employee_age"));
|
||||
this.setEntryTime(json.getStr("entry_time"));
|
||||
this.setEmployeeStatus(json.getStr("employee_status"));
|
||||
this.setJobName(json.getStr("job_name"));
|
||||
this.setJobLevel(json.getStr("job_level"));
|
||||
this.setDeptName(json.getStr("dept_name"));
|
||||
this.setDeptCode(json.getStr("dept_code"));
|
||||
this.setPositionName(json.getStr("position_name"));
|
||||
this.setPhoneNumber(json.getStr("phone_number"));
|
||||
this.setIdCardNumber(json.getStr("id_card_number"));
|
||||
this.setEmployeeImagesCode(json.getStr("employee_images_code"));
|
||||
this.setCorporationCode(json.getStr("corporation_code"));
|
||||
this.setCorporationName(json.getStr("corporation_name"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -87,12 +87,13 @@ public class UserChangeRecordE extends BaseE {
|
|||
this.setUserId(userId);
|
||||
this.setChangeTime(new Date());
|
||||
|
||||
// todo 企业id, 部门id, 岗位信息等对应关系
|
||||
this.setCorpinfoIdBefore(null);
|
||||
this.setCorpinfoNameBefore(corpinfoName);
|
||||
this.setDepartmentIdBefore(null);
|
||||
this.setDepartmentNameBefore(departmentName);
|
||||
this.setPostIdBefore(null);
|
||||
this.setPostNameBefore(null);
|
||||
this.setPostNameBefore(userE.getPostName());
|
||||
// corpinfoName == null是新增的时候, != null是修改
|
||||
if(corpinfoName == null){
|
||||
this.setUserStatusBefore(null);
|
||||
|
|
@ -106,7 +107,7 @@ public class UserChangeRecordE extends BaseE {
|
|||
this.setDepartmentIdAfter(null);
|
||||
this.setDepartmentNameAfter(rzUserRecordE.getDeptName());
|
||||
this.setPostIdAfter(null);
|
||||
this.setPostNameAfter(null);
|
||||
this.setPostNameAfter(rzUserRecordE.getPositionName());
|
||||
this.setUserStatusAfter(UserEmploymentFlagEnum.getByDesc(rzUserRecordE.getEmployeeStatus()).getCode());
|
||||
|
||||
this.setStatus(UserChangeRecordStatusEnum.APPROVED.getCode());
|
||||
|
|
|
|||
|
|
@ -166,13 +166,14 @@ public class UserE extends BaseE {
|
|||
userE.setPassword(defaultPassword);
|
||||
}
|
||||
|
||||
public void initFromRZ(Long corpinfoId, RzUserRecordE rzUserRecordE){
|
||||
public void initFromRZ(Long corpinfoId, Long roleId, RzUserRecordE rzUserRecordE){
|
||||
this.setCorpinfoId(corpinfoId);
|
||||
this.setDepartmentId(corpinfoId);
|
||||
this.setName(rzUserRecordE.getEmployeeName());
|
||||
this.setPhone(rzUserRecordE.getPhoneNumber());
|
||||
this.setUsername(rzUserRecordE.getPhoneNumber());
|
||||
this.setRoleId(1994326788804837377L);
|
||||
this.setRoleId(roleId);
|
||||
this.setPostName(rzUserRecordE.getPositionName());
|
||||
this.setUserIdCard(rzUserRecordE.getIdCardNumber());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ public class RzUserRecordDO extends BaseDO {
|
|||
//部门编码
|
||||
@ApiModelProperty(value = "部门编码")
|
||||
private String deptCode;
|
||||
private String positionName;
|
||||
//手机号
|
||||
@ApiModelProperty(value = "手机号")
|
||||
private String phoneNumber;
|
||||
|
|
|
|||
Loading…
Reference in New Issue