|
@@ -1230,8 +1230,48 @@ public class InformationWriteQueryController extends BladeController {
|
|
|
return R.data(300, false, "未查询到填报信息,上报失败");
|
|
|
}
|
|
|
} else { //质检
|
|
|
+ //记录选中节点的所有表单旧html
|
|
|
+ List<Long> list = Arrays.stream(startTaskVO.getIds().split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
+ List<WbsTreeContract> wbsTreeContracts = wbsTreeContractClient.queryListByPIds(list,startTaskVO.getClassify());
|
|
|
+
|
|
|
+
|
|
|
businessData = this.informationQueryService.getOne(Wrappers.<InformationQuery>lambdaQuery().eq(InformationQuery::getWbsId, startTaskVO.getIds().replaceAll(",", "")).eq(InformationQuery::getClassify, startTaskVO.getClassify().toString()).eq(InformationQuery::getType, 1).last("order by id desc limit 1"));
|
|
|
if (businessData != null) {
|
|
|
+
|
|
|
+ //处理html 复制之后记录在新表中w
|
|
|
+ if (CollectionUtils.isNotEmpty(wbsTreeContracts)) {
|
|
|
+ List<WbsTreeContractOldHtml> data = new ArrayList<>();
|
|
|
+ try {
|
|
|
+ for (WbsTreeContract wbsTreeContract : wbsTreeContracts) {
|
|
|
+ ExcelTab byId = excelTabClient.getById(String.valueOf(wbsTreeContract.getExcelId()));
|
|
|
+ WbsTreeContractOldHtml oldHtml = new WbsTreeContractOldHtml();
|
|
|
+ oldHtml.setId(SnowFlakeUtil.getId());
|
|
|
+ oldHtml.setCreateUser(getUser().getUserId());
|
|
|
+ String htmlUrl = wbsTreeContract.getHtmlUrl();
|
|
|
+ // 获取或下载文件
|
|
|
+ Path sourcePath = FileUtils.getOrDownloadFile(htmlUrl);
|
|
|
+ // 生成副本路径
|
|
|
+ Path copyPath = FileUtils.generateCopyPath(sourcePath,wbsTreeContract.getPKeyId());
|
|
|
+ // 执行复制操作(覆盖已存在的文件)
|
|
|
+ Files.copy(sourcePath, copyPath, StandardCopyOption.REPLACE_EXISTING);
|
|
|
+
|
|
|
+ oldHtml.setContractFormId(wbsTreeContract.getPKeyId());
|
|
|
+ oldHtml.setOldHtmlUrl(copyPath.toFile().getAbsolutePath());
|
|
|
+ //记录历史excel路径
|
|
|
+ oldHtml.setOldExcelUrl(byId.getFileUrl());
|
|
|
+ data.add(oldHtml);
|
|
|
+ }
|
|
|
+ List<Long> collect = data.stream().map(WbsTreeContractOldHtml::getContractFormId).collect(Collectors.toList());
|
|
|
+ //删除旧记录
|
|
|
+ wbsTreeContractOldHtmlClient.deleteByContractFormIds(collect);
|
|
|
+
|
|
|
+ wbsTreeContractOldHtmlClient.save(data);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ throw new ServiceException(e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//设置业务数据ID
|
|
|
startTaskVO.setIds(businessData.getId().toString());
|
|
|
return this.batchTask(startTaskVO);
|