项目库相关人员-导入改为覆盖原数据

This commit is contained in:
xiejunyu
2022-04-27 16:48:46 +08:00
parent 50f347aa11
commit 8206541894
3 changed files with 33 additions and 56 deletions
+5
View File
@@ -161,6 +161,11 @@
<artifactId>prime-jwt</artifactId> <artifactId>prime-jwt</artifactId>
<version>1.3.1</version> <version>1.3.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
@@ -46,23 +46,23 @@ public class ProjectRelatedPersonnel implements Serializable {
/**法规工程师*/ /**法规工程师*/
private java.lang.String lawEngineer; private java.lang.String lawEngineer;
@TableField(exist = false) @TableField(exist = false)
@Excel(name = "法规工程师,lawEngineerName", width = 30,orderNum = "2") @Excel(name = "法规工程师,lawEngineerName", width = 15,orderNum = "2")
private java.lang.String lawEngineerName; private java.lang.String lawEngineerName;
/**工程接口人*/ /**工程接口人*/
private java.lang.String engineeringInterfacePerson; private java.lang.String engineeringInterfacePerson;
@TableField(exist = false) @TableField(exist = false)
@Excel(name = "工程接口人,engineeringInterfacePersonName", width = 30,orderNum = "3") @Excel(name = "工程接口人,engineeringInterfacePersonName", width = 15,orderNum = "3")
private java.lang.String engineeringInterfacePersonName; private java.lang.String engineeringInterfacePersonName;
/**认证工程师*/ /**认证工程师*/
private java.lang.String certificationEngineer; private java.lang.String certificationEngineer;
@TableField(exist = false) @TableField(exist = false)
@Excel(name = "认证工程师,certificationEngineerName", width = 30,orderNum = "4") @Excel(name = "认证工程师,certificationEngineerName", width = 15,orderNum = "4")
private java.lang.String certificationEngineerName; private java.lang.String certificationEngineerName;
/**备注*/ /**备注*/
@Excel(name = "备注,remark", width = 50,orderNum = "5") @Excel(name = "备注,remark", width = 15,orderNum = "5")
private java.lang.String remark; private java.lang.String remark;
/**创建人*/ /**创建人*/
@@ -492,6 +492,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
/** /**
* 把导入的数据翻译成对应的id,并校验 * 把导入的数据翻译成对应的id,并校验
* 若除责任领域外的导入数据为空,设置为空白
* @return * @return
*/ */
@Override @Override
@@ -540,7 +541,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
List<SysUser> lawEngineerUsers = new ArrayList<>(); List<SysUser> lawEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){ if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){
List<String> lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(",")); List<String> lawEngineerNameList = Arrays.asList(projectRelatedPersonnel.getLawEngineerName().split(","));
if (CollectionUtils.isNotEmpty(lawEngineerNameList)) { if (CollectionUtils.isNotEmpty(lawEngineerNameList) && StringUtils.isNotBlank(lawEngineerNameList.get(0))) {
lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList()); lawEngineerNameList = lawEngineerNameList.stream().distinct().collect(Collectors.toList());
lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList); lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList);
if(lawEngineerUsers.size()!=lawEngineerNameList.size()){ if(lawEngineerUsers.size()!=lawEngineerNameList.size()){
@@ -567,19 +568,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1)); projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1));
} }
}else{ }else{
//中英切换提示语 projectRelatedPersonnel.setLawEngineer("");
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的法规工程师不能为空,请检查第" + row + "行");
}else{
throw new JeroBootException("The imported law engineer cannot be empty.Please check line " + row );
}
} }
//工程接口人 //工程接口人
List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>(); List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePersonName())){ if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePersonName())){
List<String> engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(",")); List<String> engineeringInterfacePersonNameList = Arrays.asList(projectRelatedPersonnel.getEngineeringInterfacePersonName().split(","));
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList)) { if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList) && StringUtils.isNotBlank(engineeringInterfacePersonNameList.get(0))) {
engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList()); engineeringInterfacePersonNameList = engineeringInterfacePersonNameList.stream().distinct().collect(Collectors.toList());
engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList); engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList);
if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){ if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){
@@ -606,19 +602,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setEngineeringInterfacePerson(midId.substring(0,midId.toString().length()-1)); projectRelatedPersonnel.setEngineeringInterfacePerson(midId.substring(0,midId.toString().length()-1));
} }
}else{ }else{
//中英切换提示语 projectRelatedPersonnel.setEngineeringInterfacePerson("");
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的工程接口人不能为空,请检查第" + row + "行");
}else {
throw new JeroBootException("The imported engineering interface person cannot be empty.Please check line " + row );
}
} }
//认证工程师 //认证工程师
List<SysUser> certificationEngineerUsers = new ArrayList<>(); List<SysUser> certificationEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineerName())){ if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineerName())){
List<String> certificationEngineerNameList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineerName().split(",")); List<String> certificationEngineerNameList = Arrays.asList(projectRelatedPersonnel.getCertificationEngineerName().split(","));
if (CollectionUtils.isNotEmpty(certificationEngineerNameList)) { if (CollectionUtils.isNotEmpty(certificationEngineerNameList) && StringUtils.isNotBlank(certificationEngineerNameList.get(0))) {
certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList()); certificationEngineerNameList = certificationEngineerNameList.stream().distinct().collect(Collectors.toList());
certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList); certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList);
if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){ if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){
@@ -645,12 +636,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1)); projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1));
} }
}else{ }else{
//中英切换提示语 projectRelatedPersonnel.setCertificationEngineer("");
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的认证工程师不能为空,请检查第" + row + "行");
}else {
throw new JeroBootException("The imported certification engineer cannot be empty.Please check line " + row );
}
} }
projectRelatedPersonnel.setProjectId(projectId); projectRelatedPersonnel.setProjectId(projectId);
row++; row++;
@@ -663,58 +649,44 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
private void updateDataById(ProjectRelatedPersonnel projectRelatedPersonnel) { private void updateDataById(ProjectRelatedPersonnel projectRelatedPersonnel) {
List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryById(projectRelatedPersonnel.getId()); List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryById(projectRelatedPersonnel.getId());
for (ProjectRelatedPersonnel data : records) { for (ProjectRelatedPersonnel data : records) {
if (StringUtils.isBlank(data.getLawEngineer())) {//数据库里法规工程师是空的 //法规工程师
projectRelatedPersonnel.setLawEngineer(projectRelatedPersonnel.getLawEngineer()); String lawString = projectRelatedPersonnel.getLawEngineer();
}else{//数据库里不空,原+新 //去重
StringBuilder law = new StringBuilder(data.getLawEngineer()); if(StringUtils.isNotBlank(lawString)) {
String lawString = law.append(",").append(projectRelatedPersonnel.getLawEngineer()).toString();
//去重
List<String> lawList = Arrays.asList(lawString.split(",")); List<String> lawList = Arrays.asList(lawString.split(","));
String lawDistinct = lawList.stream().distinct().collect(Collectors.joining(",")); String lawDistinct = lawList.stream().distinct().collect(Collectors.joining(","));
projectRelatedPersonnel.setLawEngineer(lawDistinct); projectRelatedPersonnel.setLawEngineer(lawDistinct);
} }
if (StringUtils.isBlank(data.getEngineeringInterfacePerson())) {//数据库里工程接口人是空的 //工程接口人
projectRelatedPersonnel.setEngineeringInterfacePerson(projectRelatedPersonnel.getEngineeringInterfacePerson()); String interfaceString = projectRelatedPersonnel.getEngineeringInterfacePerson();
}else{//数据库里不空,原+新 //去重
StringBuilder interfacePerson = new StringBuilder(data.getEngineeringInterfacePerson()); if(StringUtils.isNotBlank(interfaceString)) {
String interfaceString = interfacePerson.append(",").append(projectRelatedPersonnel.getEngineeringInterfacePerson()).toString();
//去重
List<String> interfaceList = Arrays.asList(interfaceString.split(",")); List<String> interfaceList = Arrays.asList(interfaceString.split(","));
String interfaceDistinct = interfaceList.stream().distinct().collect(Collectors.joining(",")); String interfaceDistinct = interfaceList.stream().distinct().collect(Collectors.joining(","));
projectRelatedPersonnel.setEngineeringInterfacePerson(interfaceDistinct); projectRelatedPersonnel.setEngineeringInterfacePerson(interfaceDistinct);
} }
if (StringUtils.isBlank(data.getCertificationEngineer())) {//数据库里工程接口人是空的 // 工程接口人
projectRelatedPersonnel.setCertificationEngineer(projectRelatedPersonnel.getCertificationEngineer()); String certificationString = projectRelatedPersonnel.getCertificationEngineer();
}else{//数据库里不空,原+新 //去重
StringBuilder certification = new StringBuilder(data.getCertificationEngineer()); if(StringUtils.isNotBlank(certificationString)) {
String certificationString = certification.append(",").append(projectRelatedPersonnel.getCertificationEngineer()).toString();
//去重
List<String> certificationList = Arrays.asList(certificationString.split(",")); List<String> certificationList = Arrays.asList(certificationString.split(","));
String certificationDistinct= certificationList.stream().distinct().collect(Collectors.joining(",")); String certificationDistinct = certificationList.stream().distinct().collect(Collectors.joining(","));
projectRelatedPersonnel.setCertificationEngineer(certificationDistinct); projectRelatedPersonnel.setCertificationEngineer(certificationDistinct);
} }
if (StringUtils.isBlank(data.getRemark())) {//数据库里备注是空的 if (StringUtils.isBlank(data.getRemark())) {//数据库里备注是空的
projectRelatedPersonnel.setRemark(projectRelatedPersonnel.getRemark()); projectRelatedPersonnel.setRemark(projectRelatedPersonnel.getRemark());
} else {//数据库里备注不是空的 } else {
if (StringUtils.isNotBlank(projectRelatedPersonnel.getRemark())) {//导入的备注不是空的 projectRelatedPersonnel.setRemark("");
}
if (StringUtils.isNotBlank(projectRelatedPersonnel.getRemark())) {//导入的备注不是是空的,原+新
StringBuilder remark = new StringBuilder(data.getRemark());
projectRelatedPersonnel.setRemark(remark.append(",").append(projectRelatedPersonnel.getRemark()).toString());
} else {
projectRelatedPersonnel.setRemark(data.getRemark());
}
} }
Date now = new Date(); Date now = new Date();
projectRelatedPersonnel.setUpdateTime(now); projectRelatedPersonnel.setUpdateTime(now);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
projectRelatedPersonnel.setUpdateBy(sysUser.getUsername()); projectRelatedPersonnel.setUpdateBy(sysUser.getUsername());
saveOrUpdate(projectRelatedPersonnel); updateById(projectRelatedPersonnel);
} }
} }
} }