|
@@ -1041,22 +1041,8 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
.in(InformationQuery::getId, Arrays.asList(formDataId.split(","))));
|
|
|
}
|
|
|
|
|
|
- //TODO 测试完成后打开
|
|
|
- InformationQuery query = this.informationQueryService.getById(formDataId);
|
|
|
- if (query != null) {
|
|
|
-
|
|
|
- ArchiveProjectConfig archiveProjectConfig = archiveAutoClient.getByProjectIdOrNew(query.getProjectId());
|
|
|
-
|
|
|
- //测试阶段,必须打开项目配置才能同步wbs节点
|
|
|
- if (archiveProjectConfig!= null && archiveProjectConfig.getFactorType().contains("6")) {
|
|
|
- //todo 等测试OK再打开
|
|
|
- try {
|
|
|
- archiveTreeContractClient.writeBusinessData(query.getWbsId(),query.getContractId(),formDataId);
|
|
|
- } catch (Exception e) {
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+ //关联原生电子文件到归档
|
|
|
+ handleArchiveFileBusinessData(formDataId,status);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1070,6 +1056,37 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
.set(ArchiveFile::getEVisaFile, newFileUrl);
|
|
|
this.archiveFileService.update(wrapper.in(ArchiveFile::getId, Arrays.asList(formDataId.split(","))));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 关联原生电子文件到归档
|
|
|
+ * @param formDataId
|
|
|
+ * @param status 任务状态
|
|
|
+ */
|
|
|
+ public void handleArchiveFileBusinessData(String formDataId, Integer status)
|
|
|
+ {
|
|
|
+ InformationQuery query = this.informationQueryService.getById(formDataId);
|
|
|
+ if (query != null) {
|
|
|
+ ArchiveProjectConfig archiveProjectConfig = archiveAutoClient.getByProjectIdOrNew(query.getProjectId());
|
|
|
+
|
|
|
+ //测试阶段,必须打开项目配置才能同步wbs节点
|
|
|
+ if (archiveProjectConfig != null && archiveProjectConfig.getFactorType().contains("6")) {
|
|
|
+ //废除
|
|
|
+ if (status == 0) {
|
|
|
+ delArchiveFileBusinessData(query.getProjectId(), query.getWbsId());
|
|
|
+ } else //电签完成
|
|
|
+ {
|
|
|
+ try {
|
|
|
+ archiveTreeContractClient.writeBusinessData(query.getWbsId(), query.getContractId(), formDataId);
|
|
|
+ } catch (Exception e) {
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void addOrUpdateArchiveFileBusinessData(Long nodeId, Long keyId, Long contractId, String formDataId) {
|
|
|
|
|
@@ -1080,7 +1097,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
|
|
|
ContractInfo contractIndfo = contractClient.getContractById(contractId);
|
|
|
|
|
|
- ArchiveFile archiveFile = this.archiveFileService.getOne(Wrappers.<ArchiveFile>lambdaQuery()
|
|
|
+ List<ArchiveFile> archiveFiles = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery()
|
|
|
.eq(ArchiveFile::getNodeId, nodeId.toString())
|
|
|
.eq(ArchiveFile::getNodeExtId, keyId)
|
|
|
.eq(ArchiveFile::getIsDeleted, 0));
|
|
@@ -1089,20 +1106,21 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
listFiles.add(query.getEVisaPdfUrl());
|
|
|
//Long fileSize = FileUtils.getOssFileSizeCount(listFiles);
|
|
|
|
|
|
- if (archiveFile != null) {
|
|
|
- archiveFile.setEVisaFile(query.getEVisaPdfUrl());
|
|
|
- archiveFile.setPdfFileUrl(query.getEVisaPdfUrl()); // 这里将pdfFileUrl也更新了,因为需求中没有限制只能更新eVisaFile属性
|
|
|
- archiveFile.setFileSize(query.getEVisaPdfSize());
|
|
|
- this.archiveFileService.updateById(archiveFile);
|
|
|
-
|
|
|
+ if (archiveFiles != null && archiveFiles.size() > 0) {
|
|
|
+ for (ArchiveFile archiveFile: archiveFiles) {
|
|
|
+ archiveFile.setEVisaFile(query.getEVisaPdfUrl());
|
|
|
+ archiveFile.setPdfFileUrl(query.getEVisaPdfUrl()); // 这里将pdfFileUrl也更新了,因为需求中没有限制只能更新eVisaFile属性
|
|
|
+ archiveFile.setFileSize(query.getEVisaPdfSize());
|
|
|
+ this.archiveFileService.updateById(archiveFile);
|
|
|
+ }
|
|
|
} else {
|
|
|
Date createTime = null;
|
|
|
WbsTreeContract wbsTreeContract = wbsTreeContractClient.getContractNodeByPrimaryKeyId(keyId.toString());
|
|
|
if (wbsTreeContract!= null ) {
|
|
|
createTime = wbsTreeContract.getCreateTime();
|
|
|
}
|
|
|
- archiveFile = getArchiveFile(query,nodeId,keyId,query.getEVisaPdfSize(),contractIndfo.archivesUnit(),createTime);
|
|
|
- this.archiveFileService.save(archiveFile);
|
|
|
+ ArchiveFile newArchiveFile = getArchiveFile(query,nodeId,keyId,query.getEVisaPdfSize(),contractIndfo.archivesUnit(),createTime);
|
|
|
+ this.archiveFileService.save(newArchiveFile);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1144,4 +1162,23 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
|
|
|
//archiveFile.setFileTime(info.getCreateTime());
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 废除任务时删除原生电子文件数据
|
|
|
+ * @param projectId
|
|
|
+ * @param wbsId
|
|
|
+ */
|
|
|
+ public void delArchiveFileBusinessData(Long projectId,Long wbsId) {
|
|
|
+ List<ArchiveFile> archiveFiles = this.archiveFileService.list(Wrappers.<ArchiveFile>lambdaQuery()
|
|
|
+ .eq(ArchiveFile::getProjectId, projectId)
|
|
|
+ .eq(ArchiveFile::getNodeExtId, wbsId)
|
|
|
+ .eq(ArchiveFile::getIsDeleted, 0));
|
|
|
+
|
|
|
+ if (archiveFiles!= null && archiveFiles.size() > 0) {
|
|
|
+ List<Long> ids = archiveFiles.stream()
|
|
|
+ .map(ArchiveFile::getId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ archiveFileService.deleteLogic(ids);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|