法规清单导入
This commit is contained in:
+132
-32
@@ -1405,12 +1405,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
"*area of responsibility,*laws engineer,*authentication engineer,*engineering interface person," +
|
||||
"remarks," +
|
||||
"design compliance check,pre-homo check,validation compliance chech";
|
||||
titleTwo = "type of deliverables,deliverable template,initiator,person liable,deadline," +
|
||||
"type of deliverables,deliverable template,initiator,person liable,deadline," +
|
||||
"type of deliverables,deliverable template,initiator,person liable,deadline";
|
||||
titleTwo = "design type of deliverables,design deliverable template,design initiator,design person liable,design deadline," +
|
||||
"pre type of deliverables,pre deliverable template,pre initiator,pre person liable,pre deadline," +
|
||||
"verify type of deliverables,verify deliverable template,verify initiator,verify person liable,verify deadline";
|
||||
}
|
||||
|
||||
|
||||
List<String> list = Arrays.asList(titleOne.split(","));
|
||||
int index = 0;
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){
|
||||
@@ -1598,12 +1597,21 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
public void importData(MultipartFile file, ProjectLawsInventoryEO projectLawsInventoryEO) {
|
||||
String title = "";
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){
|
||||
title = "*编号,子标题,WVTA ID,实施类别,认证类型,*认证级别,*责任领域,法规工程师,认证工程师,工程接口人,备注," +
|
||||
title = "*编号,子标题,WVTA ID," +
|
||||
"实施类别,认证类型,*认证级别," +
|
||||
"*责任领域,法规工程师,认证工程师,工程接口人," +
|
||||
"备注," +
|
||||
"设计交付物类型,设计交付物模板,设计发起人,设计责任人,设计截止时间," +
|
||||
"pre交付物类型,pre交付物模板,pre发起人,pre责任人,pre截止时间," +
|
||||
"验证交付物类型,验证交付物模板,验证发起人,验证责任人,验证截止时间";
|
||||
}else{
|
||||
|
||||
title = "*serial number,subtitle,WVTA ID," +
|
||||
"*implementation category,certification type,*certification level," +
|
||||
"*area of responsibility,laws engineer,authentication engineer,engineering interface person," +
|
||||
"remarks," +
|
||||
"type of deliverables,deliverable template,initiator,person liable,deadline," +
|
||||
"type of deliverables,deliverable template,initiator,person liable,deadline," +
|
||||
"type of deliverables,deliverable template,initiator,person liable,deadline";
|
||||
}
|
||||
|
||||
int pos = file.getOriginalFilename().lastIndexOf(".");
|
||||
@@ -1828,10 +1836,9 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
List<String> msgList = new ArrayList<>();
|
||||
String value = "";
|
||||
boolean flag = true;
|
||||
//iProjectRelatedPersonnelService
|
||||
|
||||
//编号验证
|
||||
// List<BussDocumentLibraryEO> bussDocumentLibraryEOList = verifySerialNumber(dataList,projectLawsInventoryEOTemp);
|
||||
verifySerialNumber(dataList,projectLawsInventoryEOTemp);
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) {
|
||||
i++;
|
||||
String errorMsg = "";
|
||||
@@ -1944,6 +1951,8 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
List<Map<String, String>> mapCertificationList = (List<Map<String, String>>) objectMap.get("certificationEngineerList");
|
||||
//工程接口人
|
||||
List<Map<String, String>> mapPersonList = (List<Map<String, String>>) objectMap.get("engineeringInterfacePersonList");
|
||||
//所有人
|
||||
List<Map<String, String>> allPersonList = (List<Map<String, String>>) objectMap.get("allPersonList");
|
||||
|
||||
String nameCn = "";
|
||||
String nameEn = "";
|
||||
@@ -1952,7 +1961,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
nameCn = "法规工程师";
|
||||
nameEn = "regulatory engineer";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, regulationOwnerId, mapLawList,nameCn,nameEn);
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList, regulationOwnerId, mapLawList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//认证工程师
|
||||
@@ -1960,7 +1969,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
nameCn = "认证工程师";
|
||||
nameEn = "certification engineer ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, homologationEngineerId, mapCertificationList,nameCn,nameEn);
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList, homologationEngineerId, mapCertificationList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//工程接口人
|
||||
@@ -1968,7 +1977,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
nameCn = "工程接口人";
|
||||
nameEn = "engineering interface person ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, homologationEngineerId, mapPersonList,nameCn,nameEn);
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList, homologationEngineerId, mapPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
|
||||
@@ -1986,15 +1995,19 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
|
||||
//发起人
|
||||
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, designInitiator,msgList,"发起人","initiator");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectLawsInventoryEO.setDesignInitiator(value);
|
||||
if(StringUtils.isNotBlank(designInitiator)){
|
||||
nameCn = "设计符合性确认发起人";
|
||||
nameEn = "confirm design conformance initiator ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList, designInitiator, allPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//责任人
|
||||
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, designDuty,msgList,"责任人","person liable");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectLawsInventoryEO.setDesignDuty(value);
|
||||
if(StringUtils.isNotBlank(designDuty)){
|
||||
nameCn = "设计符合性确认责任人";
|
||||
nameEn = "confirm design conformance responsible";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList, designDuty, allPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//截止时间
|
||||
@@ -2018,15 +2031,19 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
|
||||
//发起人
|
||||
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, prehomoInitiator,msgList,"发起人","initiator");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectLawsInventoryEO.setPrehomoInitiator(value);
|
||||
if(StringUtils.isNotBlank(prehomoInitiator)){
|
||||
nameCn = "Pre-homo确认发起人";
|
||||
nameEn = "Pre-homo identifies the initiator ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList, prehomoInitiator, allPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//责任人
|
||||
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, prehomoDuty,msgList,"责任人","person liable");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectLawsInventoryEO.setPrehomoDuty(value);
|
||||
if(StringUtils.isNotBlank(prehomoDuty)){
|
||||
nameCn = "Pre-homo确认责任人";
|
||||
nameEn = "Pre-homo identifies the person responsible";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList,prehomoDuty, allPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//截止时间
|
||||
@@ -2050,17 +2067,22 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
|
||||
|
||||
//发起人
|
||||
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, verifyInitiator,msgList,"发起人","initiator");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectLawsInventoryEO.setVerifyInitiator(value);
|
||||
if(StringUtils.isNotBlank(verifyInitiator)){
|
||||
nameCn = "验证符合性确认发起人";
|
||||
nameEn = "verify conformance validates the originator ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList,verifyInitiator, allPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
//责任人
|
||||
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, verifyDuty,msgList,"责任人","person liable");
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
projectLawsInventoryEO.setVerifyDuty(value);
|
||||
if(StringUtils.isNotBlank(verifyDuty)){
|
||||
nameCn = "验证符合性确认责任人";
|
||||
nameEn = "verify conformance to confirm the responsible person ";
|
||||
//验证人员是否存在
|
||||
personnelVerify(projectLawsInventoryEO, errorMsg, msgList,verifyDuty, allPersonList,nameCn,nameEn);
|
||||
}
|
||||
|
||||
|
||||
//截止时间
|
||||
flag = dateVerify(projectLawsInventoryEO, errorMsg, verifyDueDate,msgList,"在产车实施日期","on the production vehicle implementation date");
|
||||
if(flag){
|
||||
@@ -2083,10 +2105,54 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}
|
||||
}
|
||||
|
||||
private void verifySerialNumber(List<ProjectLawsInventoryEO> dataList,ProjectLawsInventoryEO projectLawsInventoryEOTemp){
|
||||
//1. 验证标准号在文档库中是否存在
|
||||
List<String> serialNumberList = dataList.stream().map(ProjectLawsInventoryEO::getSerialNumber).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<BussDocumentLibraryEO> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(BussDocumentLibraryEO::getSerialNumber,serialNumberList);
|
||||
List<BussDocumentLibraryEO> bussDocumentLibraryEOList = iBussDocumentLibraryEOService.list(wrapper);
|
||||
//文档库中可能存在重复的标准号
|
||||
List<String> serialNumberListTemp = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).distinct().collect(Collectors.toList());
|
||||
if(serialNumberList.size() != serialNumberListTemp.size()){
|
||||
//存在文档库没有的数据
|
||||
List<String> collect = bussDocumentLibraryEOList.stream().map(BussDocumentLibraryEO::getSerialNumber).collect(Collectors.toList());
|
||||
List<String> serialNumbers = serialNumberList.stream().filter(e -> !collect.contains(e)).collect(Collectors.toList());
|
||||
if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+"文档库中不存在,不能添加");
|
||||
}else{
|
||||
throw new JeroBootException(StringUtils.join(serialNumbers,",")+" does not exist in the document library and cannot be added");
|
||||
}
|
||||
}
|
||||
|
||||
//2. 验证标准号在法规清单中是否添加过
|
||||
LambdaQueryWrapper<ProjectLawsInventoryEO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(ProjectLawsInventoryEO::getSerialNumber,serialNumberList).in(ProjectLawsInventoryEO::getProjectLibraryId,projectLawsInventoryEOTemp.getProjectLibraryId());
|
||||
List<ProjectLawsInventoryEO> projectLawsInventoryEOList = this.list(lambdaQueryWrapper);
|
||||
List<String> serialNumberTempList = projectLawsInventoryEOList.stream().map(ProjectLawsInventoryEO::getSerialNumber).collect(Collectors.toList());
|
||||
if(projectLawsInventoryEOList.size() > 0){
|
||||
if(CutEnum.CN.getValue().equals(dataList.get(0).getCut())){
|
||||
throw new JeroBootException(StringUtils.join(serialNumberTempList,",")+"已存在,不能重复添加");
|
||||
}else{
|
||||
throw new JeroBootException(StringUtils.join(serialNumberTempList,",")+" already exists and cannot be added again");
|
||||
}
|
||||
}
|
||||
//3. 通过编号将导入的数据与文档库进行关联
|
||||
for (ProjectLawsInventoryEO projectLawsInventoryEO : dataList) {
|
||||
List<BussDocumentLibraryEO> collect = bussDocumentLibraryEOList.stream()
|
||||
.filter(e -> e.getSerialNumber().equals(projectLawsInventoryEO.getSerialNumber())).collect(Collectors.toList());
|
||||
projectLawsInventoryEO.setTitle(collect.get(0).getTitle());//标题
|
||||
projectLawsInventoryEO.setCorrespondingStandard(collect.get(0).getCorrespondingStandard());//对应标准
|
||||
projectLawsInventoryEO.setRegion(collect.get(0).getRegion());//适用地区
|
||||
projectLawsInventoryEO.setImplementTime(collect.get(0).getImplementTime());//在产车实施日期
|
||||
projectLawsInventoryEO.setXin1Che1Xing2Shi2Shi1Ri4Qi1(collect.get(0).getXin1Che1Xing2Shi2Shi1Ri4Qi1());//新车实施日期
|
||||
}
|
||||
}
|
||||
|
||||
private void personnelVerify(ProjectLawsInventoryEO projectLawsInventoryEO,
|
||||
String errorMsg, String regulationOwnerId,
|
||||
List<Map<String, String>> mapList,
|
||||
String nameCn,String nameEn) {
|
||||
String errorMsg, List<String> msgList,
|
||||
String regulationOwnerId,
|
||||
List<Map<String, String>> mapList,
|
||||
String nameCn,String nameEn) {
|
||||
//单选
|
||||
if(regulationOwnerId.contains(",")){
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){
|
||||
@@ -2094,6 +2160,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}else{
|
||||
errorMsg += "Only one user name can be entered for"+ nameEn +"import";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
|
||||
if(mapList.size() != 0){
|
||||
@@ -2112,6 +2179,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}else{
|
||||
errorMsg += nameEn+regulationOwnerId+"does not match a person under the area of responsibility in the relevant person list";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
}else{
|
||||
if(CutEnum.CN.getValue().equals(projectLawsInventoryEO.getCut())){
|
||||
@@ -2119,6 +2187,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
}else{
|
||||
errorMsg += nameEn+regulationOwnerId+"does not match a person under the area of responsibility in the relevant person list";
|
||||
}
|
||||
msgList.add(errorMsg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2255,34 +2324,65 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
if (field == null) return null;
|
||||
switch (field) {
|
||||
case "*编号": return "serialNumber";
|
||||
case "*serial number": return "serialNumber";
|
||||
case "标题": return "title";
|
||||
case "子标题": return "subtitle";
|
||||
case "适用范围": return "shi4Yong4Fan4Wei2";
|
||||
case "状态": return "state";
|
||||
case "对应标准": return "correspondingStandard";
|
||||
case "实施类别": return "implementType";
|
||||
case "*implementation category": return "implementType";
|
||||
case "新车实施日期": return "xin1Che1Xing2Shi2Shi1Ri4Qi1";
|
||||
case "在产车实施日期": return "implementTime";
|
||||
case "WVTA ID": return "wvtaId";
|
||||
case "认证类型": return "attestationType";
|
||||
case "certification type": return "attestationType";
|
||||
case "*认证级别": return "attestationRank";
|
||||
case "**certification level": return "attestationRank";
|
||||
case "技术领域": return "technologyTerritory";
|
||||
case "*责任领域": return "dutyTerritory";
|
||||
case "*area of responsibility": return "dutyTerritory";
|
||||
case "适用地区": return "region";
|
||||
case "备注": return "remark";
|
||||
case "remark": return "remark";
|
||||
case "法规工程师": return "regulationOwnerId";
|
||||
case "laws engineer": return "regulationOwnerId";
|
||||
case "认证工程师": return "homologationEngineerId";
|
||||
case "authentication engineer": return "homologationEngineerId";
|
||||
case "工程接口人": return "engineeringInterfacePerson";
|
||||
case "engineering interface person": return "engineeringInterfacePerson";
|
||||
case "设计交付物类型": return "designDeliverableType";
|
||||
case "design type of deliverables": return "designDeliverableType";
|
||||
case "设计交付物模板": return "designDeliverableTemplate";
|
||||
case "design deliverable template": return "designDeliverableTemplate";
|
||||
case "设计发起人": return "designInitiator";
|
||||
case "design initiator": return "designInitiator";
|
||||
case "设计责任人": return "designDuty";
|
||||
case "design person liable": return "designDuty";
|
||||
case "设计截止时间": return "designDueDate";
|
||||
case "design deadline": return "designDueDate";
|
||||
case "pre交付物类型": return "prehomoDeliverableType";
|
||||
case "pre type of deliverables": return "prehomoDeliverableType";
|
||||
case "pre交付物模板": return "prehomoDeliverableTemplate";
|
||||
case "pre deliverable template": return "prehomoDeliverableTemplate";
|
||||
case "pre发起人": return "prehomoInitiator";
|
||||
case "pre initiator": return "prehomoInitiator";
|
||||
case "pre责任人": return "prehomoDuty";
|
||||
case "pre person liable": return "prehomoDuty";
|
||||
case "pre截止时间": return "prehomoDueDate";
|
||||
case "pre deadline": return "prehomoDueDate";
|
||||
case "验证交付物类型": return "verifyDeliverableType";
|
||||
case "verify type of deliverables": return "verifyDeliverableType";
|
||||
case "验证交付物模板": return "verifyDeliverableTemplate";
|
||||
case "verify deliverable template": return "verifyDeliverableTemplate";
|
||||
case "验证发起人": return "verifyInitiator";
|
||||
case "verify initiator": return "verifyInitiator";
|
||||
case "验证责任人": return "verifyDuty";
|
||||
case "verify person liable": return "verifyDuty";
|
||||
case "验证截止时间": return "verifyDueDate";
|
||||
case "verify deadline": return "verifyDueDate";
|
||||
default: return null;
|
||||
//"type of deliverables,deliverable template,initiator,person liable,deadline," +
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user