项目库相关人员-导入校验

This commit is contained in:
xiejunyu
2022-04-23 22:25:15 +08:00
parent 91280bfc19
commit 41d5f575d1
6 changed files with 110 additions and 13 deletions
@@ -1,4 +1,4 @@
package com.jero.modules.project.enums; package com.jero.modules.enums;
public enum DictCodeEnum { public enum DictCodeEnum {
@@ -164,4 +164,7 @@ public interface ISysDictService extends IService<SysDict> {
Integer queryExitDictName(SysDict sysDict); Integer queryExitDictName(SysDict sysDict);
IPage<SysDict> queryPageList(Map<String, Object> params); IPage<SysDict> queryPageList(Map<String, Object> params);
/**根据字典code查询中英文名*/
String queryDictItemByName(String code, String itemName, String cut);
} }
@@ -422,4 +422,20 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
} }
return result; return result;
} }
/**
* 根据字典code查询中英文名
* @return
*/
@Override
public String queryDictItemByName(String code,String itemName,String cut) {
if (CutEnum.CN.getValue().equals(cut)) {
String dictItemsCnName = sysDictMapper.queryDictTextByKey(code,itemName);
return dictItemsCnName;
}else {
String dictItemsEnName = sysDictMapper.queryDictTextByKeyEn(code,itemName);
return dictItemsEnName;
}
}
} }
@@ -79,5 +79,5 @@ public interface IProjectRelatedPersonnelService extends IService<ProjectRelated
Result<?> importExcel(HttpServletRequest request, HttpServletResponse response, Class<ProjectRelatedPersonnel> clazz, String projectId,String cut); Result<?> importExcel(HttpServletRequest request, HttpServletResponse response, Class<ProjectRelatedPersonnel> clazz, String projectId,String cut);
List<ProjectRelatedPersonnel> oppositeDisposeData(List<ProjectRelatedPersonnel> records); List<ProjectRelatedPersonnel> oppositeDisposeData(List<ProjectRelatedPersonnel> records,String projectId,String cut);
} }
@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.enums.DictCodeEnum; import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
@@ -7,6 +7,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum; import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.enums.ExportTemplateEnum; import com.jero.modules.project.enums.ExportTemplateEnum;
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper; import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
@@ -14,6 +15,7 @@ import com.jero.modules.project.service.IProjectRelatedPersonnelService;
import com.jero.modules.project.util.ExcelLangUtils; import com.jero.modules.project.util.ExcelLangUtils;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.util.StringUtils; import com.jero.modules.system.util.StringUtils;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
@@ -52,6 +54,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
@Autowired @Autowired
private ISysUserService sysUserService; private ISysUserService sysUserService;
@Autowired
private ISysDictService sysDictService;
/** /**
* 保存 * 保存
* *
@@ -173,9 +178,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
lawEngineerName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId())) lawEngineerName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
lawName.append(lawEngineerName).append(" "); lawName.append(lawEngineerName).append(" , ");
} }
projectRelatedPersonnel.setLawEngineerName(lawName.toString()); projectRelatedPersonnel.setLawEngineerName(lawName.substring(0,lawName.toString().length()-3));
} }
} }
@@ -199,9 +204,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId())) engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
engineeringName.append(engineeringInterfacePersonName).append(" "); engineeringName.append(engineeringInterfacePersonName).append(" , ");
} }
projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringName.toString()); projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringName.substring(0,engineeringName.toString().length()-3));
} }
} }
@@ -224,9 +229,9 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
certificationEngineerName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId())) certificationEngineerName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
certificationName.append(certificationEngineerName).append(" "); certificationName.append(certificationEngineerName).append(" , ");
} }
projectRelatedPersonnel.setCertificationEngineerName(certificationName.toString()); projectRelatedPersonnel.setCertificationEngineerName(certificationName.substring(0,certificationName.toString().length()-3));
} }
} }
@@ -451,7 +456,7 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
//接收导入数据 //接收导入数据
List<ProjectRelatedPersonnel> records = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params); List<ProjectRelatedPersonnel> records = ExcelImportUtil.importExcel(file.getInputStream(), clazz, params);
if(CollectionUtils.isNotEmpty(records)) { if(CollectionUtils.isNotEmpty(records)) {
oppositeDisposeData(records); oppositeDisposeData(records,projectId,cut);
saveBatch(records); saveBatch(records);
//中英切换提示语 //中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) { if(CutEnum.CN.getValue().equals(cut)) {
@@ -490,9 +495,37 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
* 把导入的数据翻译成对应的id * 把导入的数据翻译成对应的id
* @return * @return
*/ */
public List<ProjectRelatedPersonnel> oppositeDisposeData(List<ProjectRelatedPersonnel> records) { public List<ProjectRelatedPersonnel> oppositeDisposeData(List<ProjectRelatedPersonnel> records,String projectId,String cut) {
int row=1;
for (ProjectRelatedPersonnel projectRelatedPersonnel:records) { for (ProjectRelatedPersonnel projectRelatedPersonnel:records) {
//责任领域
if(!projectRelatedPersonnel.getDutyTerritory().isEmpty()) {
if (projectRelatedPersonnel.getDutyTerritory().contains(",")) {
//中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的责任领域只能填一个.请检查第" + row + "行");
}else{
throw new JeroBootException("Only one duty territory can be filled in for import. Please check line " + row);
}
}
String dictItemsName = sysDictService.queryDictItemByName(DictCodeEnum.DUTY_TERRITORY.getValue(), projectRelatedPersonnel.getDutyTerritory(), cut);
if (dictItemsName.isEmpty()) {
//中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的责任领域不存在.请检查第" + row + "行");
}else{
throw new JeroBootException("The imported duty territory does not exist. Please check line " + row );
}
}
}else{
//中英切换提示语
if(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的责任领域不能为空.请检查第" + row + "行");
}else{
throw new JeroBootException("The imported duty territory cannot be empty.Please check line " + row );
}
}
//法规工程师 //法规工程师
List<SysUser> lawEngineerUsers = new ArrayList<>(); List<SysUser> lawEngineerUsers = new ArrayList<>();
if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){ if (StringUtils.isNotEmpty(projectRelatedPersonnel.getLawEngineerName())){
@@ -500,6 +533,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if (CollectionUtils.isNotEmpty(lawEngineerNameList)) { if (CollectionUtils.isNotEmpty(lawEngineerNameList)) {
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(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的法规工程师姓名有误,请检查第" + row + "行");
}else{
throw new JeroBootException("The imported law engineer is wrong.Please check line " + row );
}
}
} }
if(CollectionUtils.isNotEmpty(lawEngineerUsers)) { if(CollectionUtils.isNotEmpty(lawEngineerUsers)) {
@@ -515,6 +556,13 @@ 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{
//中英切换提示语
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 );
}
} }
//工程接口人 //工程接口人
@@ -524,6 +572,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList)) { if (CollectionUtils.isNotEmpty(engineeringInterfacePersonNameList)) {
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(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的工程接口人姓名有误,请检查第" + row + "行");
}else{
throw new JeroBootException("The imported engineering interface person is wrong.Please check line " + row );
}
}
} }
if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) { if(CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
@@ -539,6 +595,13 @@ 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{
//中英切换提示语
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 );
}
} }
//认证工程师 //认证工程师
@@ -548,6 +611,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if (CollectionUtils.isNotEmpty(certificationEngineerNameList)) { if (CollectionUtils.isNotEmpty(certificationEngineerNameList)) {
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(CutEnum.CN.getValue().equals(cut)) {
throw new JeroBootException("导入的认证工程师姓名有误,请检查第" + row + "行");
}else {
throw new JeroBootException("The imported certification engineer is wrong.Please check line " + row );
}
}
} }
if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) { if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) {
@@ -563,8 +634,15 @@ 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{
//中英切换提示语
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);
} }
return records; return records;