Procházet zdrojové kódy

同步-同步合同段-历史html调整
1、同步时选择了待审批、已审批就删除对应的历史html
2、质检展示html的时候优先使用历史html展示

LHB před 2 týdny
rodič
revize
b74554768f

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -707,6 +707,14 @@ public class ExcelTabController extends BladeController {
 
         try {
             String fileUrl = wbsTreeContract.getHtmlUrl();
+            //如果有历史html就使用历史html
+            WbsTreeContractOldHtml one = wbsTreeContractOldHtmlService.getOne(Wrappers.<WbsTreeContractOldHtml>lambdaQuery()
+                    .eq(WbsTreeContractOldHtml::getContractFormId, pkeyId)
+                    .eq(WbsTreeContractOldHtml::getIsDeleted, 0)
+                    .last("limit 1"));
+            if(one != null && StringUtils.isNotEmpty(one.getOldHtmlUrl())){
+                fileUrl = one.getOldHtmlUrl();
+            }
             InputStream fileInputStream = FileUtils.getInputStreamByUrl(fileUrl);
             String htmlString = IoUtil.readToString(fileInputStream);
             htmlString = htmlString.replaceAll("placeholder", "placeholderxx");

+ 5 - 34
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsSynchronousEViSaServiceImpl.java

@@ -223,40 +223,10 @@ public class WbsSynchronousEViSaServiceImpl {
 
         //处理html 复制之后记录在新表中w
         if (CollectionUtils.isNotEmpty(wbsTreeContracts)) {
-            List<WbsTreeContractOldHtml> data = new ArrayList<>();
-            try {
-                for (WbsTreeContract wbsTreeContract : wbsTreeContracts) {
-                    ExcelTab byId = excelTabClient.getById(String.valueOf(wbsTreeContract.getExcelId()));
-
-                    //如果有历史记录 并且状态为0 则不记录当前历史记录
-                    long count = wbsTreeContractOldHtmlService.count(Wrappers.<WbsTreeContractOldHtml>lambdaQuery()
-                            .eq(WbsTreeContractOldHtml::getContractFormId, wbsTreeContract.getPKeyId())
-                            .eq(WbsTreeContractOldHtml::getIsDeleted, 0));
-                    if(count > 0){
-                        continue;
-                    }
-
-
-                    WbsTreeContractOldHtml oldHtml = new WbsTreeContractOldHtml();
-                    oldHtml.setId(SnowFlakeUtil.getId());
-                    String htmlUrl = wbsTreeContract.getHtmlUrl();
-                    // 获取或下载文件
-                    Path sourcePath = FileUtils.getOrDownloadFile(htmlUrl);
-                    // 生成副本路径
-                    Path copyPath = FileUtils.generateCopyPath(sourcePath);
-                    // 执行复制操作(覆盖已存在的文件)
-                    Files.copy(sourcePath, copyPath, StandardCopyOption.REPLACE_EXISTING);
-
-                    oldHtml.setContractFormId(wbsTreeContract.getPKeyId());
-                    //记录历史数据 合同段当前 html 当前excel
-                    oldHtml.setOldHtmlUrl(copyPath.toFile().getAbsolutePath());
-                    oldHtml.setOldExcelUrl(byId.getFileUrl());
-                    data.add(oldHtml);
-                }
-                wbsTreeContractOldHtmlService.saveBatch(data);
-            } catch (Exception e) {
-                e.printStackTrace();
-                throw new ServiceException(e.getMessage());
+            //删除旧的html
+            for (WbsTreeContract wbsTreeContract : wbsTreeContracts) {
+                boolean remove = wbsTreeContractOldHtmlService.remove(Wrappers.<WbsTreeContractOldHtml>lambdaQuery()
+                        .eq(WbsTreeContractOldHtml::getContractFormId, wbsTreeContract.getPKeyId()));
             }
         }
     }
@@ -318,6 +288,7 @@ public class WbsSynchronousEViSaServiceImpl {
         elementFormulaMappingService.saveBatch(collect1);
 
     }
+
     @Transactional(rollbackFor = Exception.class)
     public int insertContractForm(WbsTreeSynchronousRecord wbsTreeSynchronousRecord, List<WbsTreeContract> list, Long pId) {