|
@@ -2369,14 +2369,10 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
|
|
}
|
|
}
|
|
//报告号数据查询是否已存在
|
|
//报告号数据查询是否已存在
|
|
//查询质量复核表中是否存在该报告号
|
|
//查询质量复核表中是否存在该报告号
|
|
- Integer projectReportCountByReportId = dao.getProjectReportCountByReportId(projectReportIdList);
|
|
|
|
- if(projectReportCountByReportId != projectReportIdList.size()){
|
|
|
|
- return "存在报告号不正确情况";
|
|
|
|
- }
|
|
|
|
- //查询新的签章表中是否已存在该报告号
|
|
|
|
- Integer countByReportId = dao.getCountByReportId(projectReportIdList);
|
|
|
|
- if(0 < countByReportId){
|
|
|
|
- return "数据中已存在已上传报告号信息";
|
|
|
|
|
|
+ List<String> projectReportIdAlreadyExistList = dao.getProjectReportIdByReportId(projectReportIdList);
|
|
|
|
+ if(projectReportIdAlreadyExistList.size() != projectReportIdList.size()){
|
|
|
|
+ String projectReportIdJoin = String.join(",", projectReportIdAlreadyExistList);
|
|
|
|
+ return "存在报告号"+ projectReportIdJoin +"不正确情况";
|
|
}
|
|
}
|
|
//根据项目名称集合查询项目信息是否存在
|
|
//根据项目名称集合查询项目信息是否存在
|
|
for (ProjectReportSignatureInfo importInfo: list) {
|
|
for (ProjectReportSignatureInfo importInfo: list) {
|
|
@@ -2388,7 +2384,26 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
|
|
if(consultantId!=null) {
|
|
if(consultantId!=null) {
|
|
importInfo.setConsultant(consultantId);
|
|
importInfo.setConsultant(consultantId);
|
|
}else {
|
|
}else {
|
|
- return "存在咨询员不是一级造价师的情况";
|
|
|
|
|
|
+ return "报告号【" + importInfo.getProjectReportId() + "】咨询员不是一级造价师";
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //创建重复数据集合
|
|
|
|
+ List<ProjectReportSignatureInfo> alreadyExistLest = Lists.newArrayList();
|
|
|
|
+ //查询新的签章表中是否已存在该报告号
|
|
|
|
+ List<ProjectReportSignatureInfo> getInfoListByReportId = dao.getInfoByReportId(projectReportIdList);
|
|
|
|
+ if(0 < getInfoListByReportId.size()){
|
|
|
|
+ for (ProjectReportSignatureInfo info : getInfoListByReportId) {
|
|
|
|
+ Iterator<ProjectReportSignatureInfo> it = list.iterator();
|
|
|
|
+ while(it.hasNext()){
|
|
|
|
+ ProjectReportSignatureInfo signatureInfo = it.next();
|
|
|
|
+ if(info.getProjectReportId().equals(signatureInfo.getProjectReportId())){
|
|
|
|
+ signatureInfo.setId(info.getId());
|
|
|
|
+ alreadyExistLest.add(signatureInfo);
|
|
|
|
+ it.remove();
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -2396,18 +2411,19 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
|
|
|
|
|
|
//对 (经过判断的) 数据进行批量新增处理
|
|
//对 (经过判断的) 数据进行批量新增处理
|
|
//调用方法 分批处理
|
|
//调用方法 分批处理
|
|
- insertAllProjectBasicsInfo(list);
|
|
|
|
|
|
+ insertAllProjectBasicsInfo(list,alreadyExistLest);
|
|
|
|
|
|
return "导入B类项目成功";
|
|
return "导入B类项目成功";
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 批量插入数据信息
|
|
* 批量插入数据信息
|
|
- * @param projectBasicsList
|
|
|
|
|
|
+ * @param projectBasicsList 新增数据
|
|
|
|
+ * @param alreadyExistLest 已存在数据进行修改
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@Transactional(readOnly = false)
|
|
@Transactional(readOnly = false)
|
|
- public String insertAllProjectBasicsInfo(List<ProjectReportSignatureInfo> projectBasicsList){
|
|
|
|
|
|
+ public String insertAllProjectBasicsInfo(List<ProjectReportSignatureInfo> projectBasicsList,List<ProjectReportSignatureInfo> alreadyExistLest){
|
|
//分批处理
|
|
//分批处理
|
|
if(null!=projectBasicsList && projectBasicsList.size()>0){
|
|
if(null!=projectBasicsList && projectBasicsList.size()>0){
|
|
int pointsDataLimit = 100;//限制条数
|
|
int pointsDataLimit = 100;//限制条数
|
|
@@ -2430,6 +2446,18 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
|
|
dao.insertByList(projectBasicsList);
|
|
dao.insertByList(projectBasicsList);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //修改已存在数据
|
|
|
|
+ for (ProjectReportSignatureInfo info: alreadyExistLest) {
|
|
|
|
+ dao.updateProjectReportSignatureInfo(info);
|
|
|
|
+ //删除对应文件的附件信息
|
|
|
|
+ //根据报告号查询项目信息
|
|
|
|
+ ProjectReportData reportInfo = projectReportDataService.findByNum(info.getProjectReportId());
|
|
|
|
+ Workattachment workClientAttachment = new Workattachment();
|
|
|
|
+ workClientAttachment.setAttachmentFlag("145");
|
|
|
|
+ workClientAttachment.setAttachmentId(info.getId());
|
|
|
|
+ workClientAttachment.setProjectId(reportInfo.getProject().getId());
|
|
|
|
+ workattachmentService.deleteWorkattachment(workClientAttachment);
|
|
|
|
+ }
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|