相关人员名单导入--忽略大小写
This commit is contained in:
+120
-28
@@ -14,9 +14,11 @@ import com.jero.common.util.RedisUtil;
|
||||
import com.jero.common.util.TokenUtils;
|
||||
import com.jero.modules.dummy.service.impl.DummyInventoryInfoEOServiceImpl;
|
||||
import com.jero.modules.enums.DictCodeEnum;
|
||||
import com.jero.modules.ocr.entity.User;
|
||||
import com.jero.modules.project.entity.ProjectLibraryBase;
|
||||
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
|
||||
import com.jero.modules.project.enums.ProjectInventoryFieldEnum;
|
||||
import com.jero.modules.project.enums.ProjectRoleEnum;
|
||||
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
|
||||
import com.jero.modules.project.service.IProjectRelatedPersonnelService;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
@@ -967,6 +969,11 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
*/
|
||||
@Override
|
||||
public Result<?> oppositeDisposeData(List<ProjectRelatedPersonnel> records, String projectId, String cut) {
|
||||
//查询所有的用户
|
||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.select(SysUser::getUsername,SysUser::getId);
|
||||
List<SysUser> userList = sysUserService.list(wrapper);
|
||||
|
||||
Result<?> result = new Result<>();
|
||||
int row=3;
|
||||
StringBuilder message = new StringBuilder();
|
||||
@@ -1021,15 +1028,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
List<String> lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(","));
|
||||
if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) {
|
||||
lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList());
|
||||
lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList);
|
||||
if(lawEngineerUsers.size()!=lawEngineerNameList.size()){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的法规工程师姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported law engineer is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//验证导入的相关人员
|
||||
lawEngineerUsers = personnelMatch(userList, lawEngineerNameList, message, ProjectRoleEnum.REGULATI_ENGINEER.getValue(), cut, row);
|
||||
|
||||
// lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList);
|
||||
// if(lawEngineerUsers.size()!=lawEngineerNameList.size()){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的法规工程师姓名有误,请检查第" + row + "行");
|
||||
// }else{
|
||||
// message.append("The imported law engineer is wrong.Please check line " + row );
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(lawEngineerUsers)) {
|
||||
@@ -1055,15 +1065,18 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
List<String> engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(","));
|
||||
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) {
|
||||
engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList());
|
||||
engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList);
|
||||
if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//验证导入的相关人员
|
||||
engineeringInterfacePersonUsers = personnelMatch(userList, engineeringInterfacePersonNameList, message, ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), cut, row);
|
||||
|
||||
// engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList);
|
||||
// if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
// }else{
|
||||
// message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
|
||||
@@ -1090,8 +1103,13 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
//校验是否为项目基础表设定的认证工程师
|
||||
List<ProjectRelatedPersonnel> baseCertificationEngineerList = queryCertificationEngineer(projectId);
|
||||
List<String> baseCertificationEngineerNameList = baseCertificationEngineerList.stream().map(e -> e.getCertificationEngineerName()).collect(Collectors.toList());
|
||||
//转为小写后在判断
|
||||
List<String> baseCertificationEngineerNameListTemp = new ArrayList<>();
|
||||
for (String s : baseCertificationEngineerNameList) {
|
||||
baseCertificationEngineerNameListTemp.add(s.toLowerCase());
|
||||
}
|
||||
for(String certificationEngineerName : certificationEngineerNameList){
|
||||
if(!baseCertificationEngineerNameList.contains(certificationEngineerName)){
|
||||
if(!baseCertificationEngineerNameListTemp.contains(certificationEngineerName.toLowerCase())){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的认证工程师姓名不属于该项目,请检查第" + row + "行");
|
||||
@@ -1101,18 +1119,32 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
break;
|
||||
}
|
||||
}
|
||||
// for(String certificationEngineerName : certificationEngineerNameList){
|
||||
// if(!baseCertificationEngineerNameList.contains(certificationEngineerName.toLowerCase())){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的认证工程师姓名不属于该项目,请检查第" + row + "行");
|
||||
// }else {
|
||||
// message.append("The imported certified engineer name does not belong to this project..Please check line " + row );
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
if (CollectionUtils.isNotEmpty(certificationEngineerNameList) && StringUtils.isNotBlank(certificationEngineerNameList.get(0))) {
|
||||
certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList());
|
||||
certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList);
|
||||
if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){
|
||||
//中英切换提示语
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的认证工程师姓名有误,请检查第" + row + "行");
|
||||
}else {
|
||||
message.append("The imported certification engineer is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//验证导入的相关人员
|
||||
certificationEngineerUsers = personnelMatch(userList, certificationEngineerNameList, message, ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue(), cut, row);
|
||||
|
||||
// certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList);
|
||||
// if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){
|
||||
// //中英切换提示语
|
||||
// if(CutEnum.CN.getValue().equals(cut)) {
|
||||
// message.append("导入的认证工程师姓名有误,请检查第" + row + "行");
|
||||
// }else {
|
||||
// message.append("The imported certification engineer is wrong.Please check line " + row );
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) {
|
||||
@@ -1156,6 +1188,66 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证导入的相关人员
|
||||
* @param userList 所有的用户
|
||||
* @param personnelList 相关人员(法规工程师,认证工程师,工程接口人)
|
||||
* @param message 异常信息拼接
|
||||
* @param personnelType 人员类型
|
||||
* @param cut 中英文切换
|
||||
* @param row 行数
|
||||
*/
|
||||
public List<SysUser> personnelMatch(List<SysUser> userList,
|
||||
List<String> personnelList,
|
||||
StringBuilder message,
|
||||
String personnelType,
|
||||
String cut,
|
||||
int row){
|
||||
int count = 0;
|
||||
//全部转为小写来匹配
|
||||
List<SysUser> sysUserList = new ArrayList<>();
|
||||
for (String personnel : personnelList) {
|
||||
String personnelLower = personnel.toLowerCase();
|
||||
for (SysUser sysUser : userList) {
|
||||
String username = sysUser.getUsername();
|
||||
String usernameLower = username.toLowerCase();
|
||||
if(personnelLower.equals(usernameLower)){
|
||||
sysUserList.add(sysUser);
|
||||
count ++;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(personnelList.size() != count){
|
||||
//法规工程师异常提示语
|
||||
if(ProjectRoleEnum.REGULATI_ENGINEER.getValue().equals(personnelType)){
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//认证工程师异常提示语
|
||||
if(ProjectRoleEnum.HOMOLOGATION_ENGINEER.getValue().equals(personnelType)){
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的认证工程师姓名有误,请检查第" + row + "行");
|
||||
}else {
|
||||
message.append("The imported certification engineer is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
//工程接口人异常提示语
|
||||
if(ProjectRoleEnum.ENGINEERING_INTERFACE_PERSON.getValue().equals(personnelType)){
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
message.append("导入的工程接口人姓名有误,请检查第" + row + "行");
|
||||
}else{
|
||||
message.append("The imported engineering interface person is wrong.Please check line " + row );
|
||||
}
|
||||
}
|
||||
}else{
|
||||
return sysUserList;
|
||||
}
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProjectRelatedPersonnel queryByProjectIdAndDutyTerritory(String projectId, String dutyTerritory) {
|
||||
LambdaQueryWrapper<ProjectRelatedPersonnel> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
Reference in New Issue
Block a user