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

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>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
</dependencies>
</project>
@@ -46,23 +46,23 @@ public class ProjectRelatedPersonnel implements Serializable {
/**法规工程师*/
private java.lang.String lawEngineer;
@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 engineeringInterfacePerson;
@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 certificationEngineer;
@TableField(exist = false)
@Excel(name = "认证工程师,certificationEngineerName", width = 30,orderNum = "4")
@Excel(name = "认证工程师,certificationEngineerName", width = 15,orderNum = "4")
private java.lang.String certificationEngineerName;
/**备注*/
@Excel(name = "备注,remark", width = 50,orderNum = "5")
@Excel(name = "备注,remark", width = 15,orderNum = "5")
private java.lang.String remark;
/**创建人*/
@@ -492,6 +492,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
/**
* 把导入的数据翻译成对应的id,并校验
* 若除责任领域外的导入数据为空,设置为空白
* @return
*/
@Override
@@ -540,7 +541,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
List<SysUser> lawEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){
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());
lawEngineerUsers=sysUserService.queryUserIdListByNameList(lawEngineerNameList);
if(lawEngineerUsers.size()!=lawEngineerNameList.size()){
@@ -567,19 +568,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setLawEngineer(midId.substring(0,midId.toString().length()-1));
}
}else{
//中英切换提示语
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 );
}
projectRelatedPersonnel.setLawEngineer("");
}
//工程接口人
List<SysUser> engineeringInterfacePersonUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getEngineeringInterfacePersonName())){
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());
engineeringInterfacePersonUsers=sysUserService.queryUserIdListByNameList(engineeringInterfacePersonNameList);
if(engineeringInterfacePersonUsers.size()!=engineeringInterfacePersonNameList.size()){
@@ -606,19 +602,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setEngineeringInterfacePerson(midId.substring(0,midId.toString().length()-1));
}
}else{
//中英切换提示语
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 );
}
projectRelatedPersonnel.setEngineeringInterfacePerson("");
}
//认证工程师
List<SysUser> certificationEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getCertificationEngineerName())){
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());
certificationEngineerUsers=sysUserService.queryUserIdListByNameList(certificationEngineerNameList);
if(certificationEngineerUsers.size()!=certificationEngineerNameList.size()){
@@ -645,12 +636,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
projectRelatedPersonnel.setCertificationEngineer(midId.substring(0,midId.toString().length()-1));
}
}else{
//中英切换提示语
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.setCertificationEngineer("");
}
projectRelatedPersonnel.setProjectId(projectId);
row++;
@@ -663,58 +649,44 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
private void updateDataById(ProjectRelatedPersonnel projectRelatedPersonnel) {
List<ProjectRelatedPersonnel> records = projectRelatedPersonnelMapper.queryById(projectRelatedPersonnel.getId());
for (ProjectRelatedPersonnel data : records) {
if (StringUtils.isBlank(data.getLawEngineer())) {//数据库里法规工程师是空的
projectRelatedPersonnel.setLawEngineer(projectRelatedPersonnel.getLawEngineer());
}else{//数据库里不空,原+新
StringBuilder law = new StringBuilder(data.getLawEngineer());
String lawString = law.append(",").append(projectRelatedPersonnel.getLawEngineer()).toString();
//去重
//法规工程师
String lawString = projectRelatedPersonnel.getLawEngineer();
//去重
if(StringUtils.isNotBlank(lawString)) {
List<String> lawList = Arrays.asList(lawString.split(","));
String lawDistinct = lawList.stream().distinct().collect(Collectors.joining(","));
projectRelatedPersonnel.setLawEngineer(lawDistinct);
}
if (StringUtils.isBlank(data.getEngineeringInterfacePerson())) {//数据库里工程接口人是空的
projectRelatedPersonnel.setEngineeringInterfacePerson(projectRelatedPersonnel.getEngineeringInterfacePerson());
}else{//数据库里不空,原+新
StringBuilder interfacePerson = new StringBuilder(data.getEngineeringInterfacePerson());
String interfaceString = interfacePerson.append(",").append(projectRelatedPersonnel.getEngineeringInterfacePerson()).toString();
//去重
//工程接口人
String interfaceString = projectRelatedPersonnel.getEngineeringInterfacePerson();
//去重
if(StringUtils.isNotBlank(interfaceString)) {
List<String> interfaceList = Arrays.asList(interfaceString.split(","));
String interfaceDistinct = interfaceList.stream().distinct().collect(Collectors.joining(","));
projectRelatedPersonnel.setEngineeringInterfacePerson(interfaceDistinct);
}
if (StringUtils.isBlank(data.getCertificationEngineer())) {//数据库里工程接口人是空的
projectRelatedPersonnel.setCertificationEngineer(projectRelatedPersonnel.getCertificationEngineer());
}else{//数据库里不空,原+新
StringBuilder certification = new StringBuilder(data.getCertificationEngineer());
String certificationString = certification.append(",").append(projectRelatedPersonnel.getCertificationEngineer()).toString();
//去重
// 工程接口人
String certificationString = projectRelatedPersonnel.getCertificationEngineer();
//去重
if(StringUtils.isNotBlank(certificationString)) {
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);
}
if (StringUtils.isBlank(data.getRemark())) {//数据库里备注是空的
projectRelatedPersonnel.setRemark(projectRelatedPersonnel.getRemark());
} else {//数据库里备注不是空的
if (StringUtils.isNotBlank(projectRelatedPersonnel.getRemark())) {//导入的备注不是空的
}
if (StringUtils.isNotBlank(projectRelatedPersonnel.getRemark())) {//导入的备注不是是空的,原+新
StringBuilder remark = new StringBuilder(data.getRemark());
projectRelatedPersonnel.setRemark(remark.append(",").append(projectRelatedPersonnel.getRemark()).toString());
} else {
projectRelatedPersonnel.setRemark(data.getRemark());
}
} else {
projectRelatedPersonnel.setRemark("");
}
Date now = new Date();
projectRelatedPersonnel.setUpdateTime(now);
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
projectRelatedPersonnel.setUpdateBy(sysUser.getUsername());
saveOrUpdate(projectRelatedPersonnel);
updateById(projectRelatedPersonnel);
}
}
}