Commit ab2e9938 authored by 刘林's avatar 刘林

Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_bugfix

parents e2d1b774 ea34eb42
......@@ -1082,37 +1082,53 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
throw new BadRequest("未指定人员归属单位信息");
}
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser1 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfo.getCertificateType())
.eq(TzsUserInfo::getCertificateNum, tzsUserInfo.getCertificateNum())
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户证件号码重复,请核对!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser1 != null) {
throw new BadRequest("与本单位下【+" + checkUser1.getName() + "+】证件号码重复,请核对!");
}
// 当人员类型仅为主要负责人时,不校验是否被其他单位绑定
if (!JSON.toJSONString(Collections.singletonList(UserPostEnum.ZYFZR.getCode())).equals(tzsUserInfo.getNewPost())) {
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser2 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfo.getCertificateType())
.eq(TzsUserInfo::getCertificateNum, tzsUserInfo.getCertificateNum())
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户已被其他单位绑定,请联系原单位转出!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser2 != null) {
throw new BadRequest("该用户已被【" + checkUser2.getUnitName() + "】绑定,请联系原单位转出!");
}
}
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser3 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getPhone, tzsUserInfo.getPhone())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户联系电话重复,请核对!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser3 != null) {
throw new BadRequest("与本单位下【" + checkUser3.getName() + "】联系电话重复,请核对!");
}
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser4 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getPhone, tzsUserInfo.getPhone())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户手机号已被其他单位人员绑定!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser4 != null) {
throw new BadRequest("该用户手机号已被【" + checkUser4.getUnitName() + "】人员绑定!");
}
tzsUserInfo.setUnitName(companyModel.getCompanyName());
......@@ -1210,38 +1226,55 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
throw new BadRequest("未指定人员归属单位信息");
}
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser1 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfoDto.getCertificateType())
.ne(TzsUserInfo::getSequenceNbr, rowId)
.eq(TzsUserInfo::getCertificateNum, tzsUserInfoDto.getCertificateNum())
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户证件号码重复,请核对!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser1 != null) {
throw new BadRequest("与本单位下【" + checkUser1.getName() + "】证件号码重复,请核对!");
}
// 当人员类型仅为主要负责人时,不校验是否被其他单位绑定
if (!JSON.toJSONString(Collections.singletonList(UserPostEnum.ZYFZR.getCode())).equals(tzsUserInfoDto.getNewPost())) {
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser2 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getCertificateType, tzsUserInfoDto.getCertificateType())
.eq(TzsUserInfo::getCertificateNum, tzsUserInfoDto.getCertificateNum())
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户已被其他单位绑定,请联系原单位转出!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser2 != null) {
throw new BadRequest("该用户已被【" + checkUser2.getUnitName() + "】绑定,请联系原单位转出!");
}
}
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser3 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.eq(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.ne(TzsUserInfo::getSequenceNbr, rowId)
.eq(TzsUserInfo::getPhone, tzsUserInfoDto.getPhone())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("本单位下用户联系电话重复,请核对!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser3 != null) {
throw new BadRequest("与本单位下【" + checkUser3.getName() + "】联系电话重复,请核对!");
}
if (tzsUserInfoMapper.selectCount(new LambdaQueryWrapper<TzsUserInfo>()
TzsUserInfo checkUser4 = tzsUserInfoMapper.selectList(new LambdaQueryWrapper<TzsUserInfo>()
.ne(TzsUserInfo::getUnitCode, companyModel.getCompanyCode())
.eq(TzsUserInfo::getPhone, tzsUserInfoDto.getPhone())
.eq(TzsUserInfo::getIsDelete, false)) > 0) {
throw new BadRequest("该用户手机号已被其他单位人员绑定!");
.eq(TzsUserInfo::getIsDelete, false))
.stream()
.findFirst()
.orElse(null);
if (checkUser4 != null) {
throw new BadRequest("该用户手机号已被【" + checkUser4.getUnitName() + "】人员绑定!");
}
// 删除人员与组的关系
......@@ -1404,6 +1437,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
log.error(e.getMessage());
}
}
/**
* 发送主题消息,给企业推送excel 结束下载提醒
*
......@@ -1590,7 +1624,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
.select(TzsUserInfo::getSequenceNbr)
.eq(TzsUserInfo::getPhone, userItems.getPhone())
.eq(TzsUserInfo::getUnitCode, company.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)).isEmpty()) { //2.2 本单位人员比较
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)).isEmpty()) { // 2.2 本单位人员比较
errors.add("第" + excelRowNum + "行,错误信息->" + "手机号已经绑定本单位人员");
} else {
phoneOnly.put(key, userItems.getPhone());
......@@ -1603,7 +1637,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
.select(TzsUserInfo::getSequenceNbr)
.eq(TzsUserInfo::getCertificateNum, userItems.getCertificateNum())
.eq(TzsUserInfo::getUnitCode, company.getCompanyCode())
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)).isEmpty()) { //2.2 本单位人员比较
.eq(TzsUserInfo::getIsDelete, Boolean.FALSE)).isEmpty()) { // 2.2 本单位人员比较
errors.add("第" + excelRowNum + "行,错误信息->" + "证件编号已经绑定本单位人员");
} else {
certificateNumOnly.put(userItems.getCertificateNum(), userItems.getName());
......@@ -1612,7 +1646,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
Map<String, String> allPostNames = this.postByUnitType(company).stream().collect(Collectors.toMap(DataDictionary::getName, DataDictionary::getCode));
String postNameStr = userItems.getPost();
if (!ValidationUtil.isEmpty(postNameStr)) {
List<String> postNameList = Arrays.asList(postNameStr.replace(",", ",").replace("-", ",").replace("\n","").split(","));
List<String> postNameList = Arrays.asList(postNameStr.replace(",", ",").replace("-", ",").replace("\n", "").split(","));
// postNameList 中,不存在于 allPostNames 中的元素
List<String> notExistPosts = postNameList.stream()
.filter(p -> !allPostNames.containsKey(p))
......@@ -1632,7 +1666,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 5.人员类型和人员子类型的匹配
String subPost = userItems.getSubPost();
if (!ValidationUtil.isEmpty(subPost)) {
String subPostStr = subPost.replace(",", ",").replace("-", ",").replace("\n","");
String subPostStr = subPost.replace(",", ",").replace("-", ",").replace("\n", "");
List<String> subPostList = Arrays.asList(subPostStr.split(","));
String postCode = this.postByUnitType(company).stream().filter(item -> item.getName().equals(postName)).map(DataDictionary::getCode).findFirst().orElse("");
Map<String, String> allSubPostNames = this.subPostByUnitType(company, postCode).stream().collect(Collectors.toMap(DataDictionary::getName, DataDictionary::getCode));
......@@ -1742,10 +1776,10 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
OperatorQua.setJobItem(objects);
JSONObject itemCode = new JSONObject();
if (!ValidationUtil.isEmpty(OperatorQua.getFJSHJCZItemCode())) {
itemCode.fluentPut("FJSHJCZItemCode",OperatorQua.getFJSHJCZItemCode());
itemCode.fluentPut("FJSHJCZItemCode", OperatorQua.getFJSHJCZItemCode());
}
if (!ValidationUtil.isEmpty(OperatorQua.getJSHJCZItemCode())) {
itemCode.fluentPut("JSHJCZItemCode",OperatorQua.getJSHJCZItemCode());
itemCode.fluentPut("JSHJCZItemCode", OperatorQua.getJSHJCZItemCode());
}
OperatorQua.setItemCode(itemCode);
permissionData6552.add(OperatorQua);
......@@ -2251,9 +2285,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
String postCode = entry.getKey();// 主岗位
JsonNode subPostCode = entry.getValue();// 子岗位
// 确保最大范围包含子类型
if (subPostCode.isEmpty()){
if (subPostCode.isEmpty()) {
allPostUnderTheUnit.put(postCode, subPostCode);
}else {
} else {
allPostUnderTheUnit.putIfAbsent(postCode, subPostCode);
}
}
......@@ -2301,7 +2335,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
return individuality;
}
@Transactional (rollbackFor = Exception.class)
@Transactional(rollbackFor = Exception.class)
@Override
public TzIndividualityDto personalInfoUpdateById(Map<String, Object> map) {
TzsBaseIndividuality individuality = individualityMapper.selectById(Long.valueOf(map.get("sequenceNbr").toString()));
......@@ -2330,7 +2364,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
private void syncNewPost(TzsUserInfoDto tzsUserInfoDto) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
if (ObjectUtils.isEmpty(reginParams)) {
return ;
return;
}
Long companySeq = reginParams.getCompany().getSequenceNbr();
List<String> appCodesSet = reginParams.getUserModel().getAppCodes();
......
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