Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

liuyc 2 жил өмнө
parent
commit
add6df0304
18 өөрчлөгдсөн 133 нэмэгдсэн , 30 устгасан
  1. 4 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/InformationQueryClient.java
  2. 3 3
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ArchiveTreeContract.java
  3. 12 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ArchiveTreeContractVO2.java
  4. 15 0
      blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveFileAutoController.java
  5. 8 2
      blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java
  6. 9 7
      blade-service/blade-archive/src/main/java/org/springblade/archive/utils/FileUtils.java
  7. 8 0
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/InformationQueryClientImpl.java
  8. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/MetadataClassificationServiceImpl.java
  9. 3 3
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java
  10. 6 5
      blade-service/blade-manager/src/main/java/com/mixsmart/utils/FormulaUtils.java
  11. 24 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ArchiveTreeContractController.java
  12. 7 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java
  13. 1 1
      blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java
  14. 26 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/StartupTimeListener.java
  15. 1 3
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArTreeContractInitServiceImpl.java
  16. 3 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveAutoRuleSyncImpl.java
  17. 1 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java
  18. 1 2
      blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

+ 4 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/InformationQueryClient.java

@@ -86,5 +86,8 @@ public interface InformationQueryClient {
     List<QueryProcessDataVO> getNodeChildTabColsAllByTabName(@RequestParam String initTabName);
 
     @PostMapping(API_PREFIX + "/getInformationByContractId")
-    List<InformationQuery> getInformationByContractId(Long contractId);
+    List<InformationQuery> getInformationByContractId(@RequestParam Long contractId);
+
+    @PostMapping(API_PREFIX + "/getInformationByContractId1")
+    void getInformationByContractId1(Long contractId);
 }

+ 3 - 3
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/entity/ArchiveTreeContract.java

@@ -107,15 +107,15 @@ public class ArchiveTreeContract extends BaseEntity {
      */
     private String displayHierarchy;
     /**
-     * 是否为存储节点 '0'否 '1'是
+     * 是否为存储节点 '1'是 '2'否
      */
     private Integer isStorageNode;
     /**
-     * 是否为竣工图 '0'否 '1'是
+     * 是否为竣工图 '1'是 '2'否
      */
     private Integer isBuiltDrawing;
     /**
-     * 是否为接口节点 '0'否 '1'是
+     * 是否为接口节点 '1'是 '2'否
      */
     private Integer isInterfaceNode;
     /**

+ 12 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ArchiveTreeContractVO2.java

@@ -321,4 +321,16 @@ public class ArchiveTreeContractVO2 implements INodeEx<ArchiveTreeContractVO2> {
         this.flag = 1;
     }
 
+    public boolean IsQualityAssociationNode() {
+        if (this.getAssociationType() != null
+                && this.getAssociationType() == 1
+                && this.getDisplayHierarchy() != null
+                && (this.getStorageType()!= null && this.getStorageType() == 4)){
+            return true;
+        }
+        return  false;
+
+
+    }
+
 }

+ 15 - 0
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveFileAutoController.java

@@ -9,7 +9,9 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.*;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.archive.entity.ArchivesAuto;
 import org.springblade.archive.service.IArchivesAutoService;
 import org.springblade.archive.utils.FileUtils;
 import org.springblade.archive.vo.ArchivesAutoVO;
@@ -19,6 +21,7 @@ import org.springblade.business.vo.ArchiveFileVO;
 import org.springblade.common.utils.SnowFlakeUtil;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.oss.model.BladeFile;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
@@ -41,6 +44,7 @@ import java.util.stream.Collectors;
  * @author BladeX
  * @since 2022-07-08
  */
+@Slf4j
 @RestController
 @AllArgsConstructor
 @RequestMapping("/archiveFileAuto")
@@ -61,6 +65,9 @@ ArchiveFileAutoController extends BladeController {
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "批量新增")
     public R<Boolean> batchSave(@RequestBody ArchivesAutoVO archiveList) {
+
+        log.info("batchSave= uid " +
+                AuthUtil.getUserId() + " name " + AuthUtil.getNickName()  );
         try {
             for (ArchivesAutoVO archive : archiveList.getList()) {
                 if (archive.getId() == null) {
@@ -121,6 +128,10 @@ ArchiveFileAutoController extends BladeController {
                     }
                     archivesAutoService.save(archive);
                 } else {
+                    ArchivesAuto archivesAuto = archivesAutoService.getById(archive.getId());
+                    if (archivesAuto!= null ) {
+                        archive.setAutoFileSort(archivesAuto.getAutoFileSort());
+                    }
                     archivesAutoService.updateById(archive);
                 }
             }
@@ -139,6 +150,10 @@ ArchiveFileAutoController extends BladeController {
     @ApiOperationSupport(order = 2)
     @ApiOperation(value = "批量新增")
     public R<Boolean> batchSortSave(@RequestBody ArchivesAutoVO archiveList) {
+
+        log.info("batchSortSave= uid " +
+                AuthUtil.getUserId() + " name " + AuthUtil.getNickName()  );
+
         try {
             for (ArchivesAutoVO archive : archiveList.getList()) {
                 if (archive.getId() == null) {

+ 8 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -1770,17 +1770,23 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			}
 		}
 		List<String> fileUrls =new ArrayList<>();
-		if (!archivesAuto.isMedia()) {
+		//if (!archivesAuto.isMedia())
+		if (true)
+		{
 			List<ArchiveFile> result = this.archiveFileClient.getArchiveFileByArchivesId(archivesAuto.getId().toString(),"");
 			if(result != null && result.size() > 0){
 				//循环访问result,如果pdfpageurl不为空则取出,否则取pdffileurl
 				for (ArchiveFile archiveFile : result) {
 					String pdfPageUrl = archiveFile.getPdfPageUrl();
 					if (StringUtils.isEmpty(pdfPageUrl)) {
-						fileUrls.add(archiveFile.getPdfFileUrl());
+						pdfPageUrl = archiveFile.getPdfFileUrl();
 					}else{
 						fileUrls.add(pdfPageUrl);
 					}
+					if (StringUtils.isEmpty(pdfPageUrl) || !pdfPageUrl.contains("pdf")) {
+						continue;
+					}
+					fileUrls.add(pdfPageUrl);
 				}
 			}
 		}

+ 9 - 7
blade-service/blade-archive/src/main/java/org/springblade/archive/utils/FileUtils.java

@@ -238,13 +238,15 @@ public class FileUtils {
                     }
 
                     //获取OSS文件输入流
-                    reader = new PdfReader(CommonUtil.getOSSInputStream(urlStr));
-
-                    pageCount = reader.getNumberOfPages();
-
-                    for (int i = 0; i < pageCount; ++i) {
-                        int is = i + 1;
-                        pdfCopy.addPage(pdfCopy.getImportedPage(reader, is));
+                    InputStream inputStream = CommonUtil.getOSSInputStream(urlStr);
+                    if (inputStream != null) {
+                        reader = new PdfReader(inputStream);
+                        pageCount = reader.getNumberOfPages();
+
+                        for (int i = 0; i < pageCount; ++i) {
+                            int is = i + 1;
+                            pdfCopy.addPage(pdfCopy.getImportedPage(reader, is));
+                        }
                     }
                 } catch (Exception e) {
                     e.printStackTrace();

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/InformationQueryClientImpl.java

@@ -1,5 +1,6 @@
 package org.springblade.business.feignClient;
 
+import cn.hutool.json.JSONUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -109,4 +110,11 @@ public class InformationQueryClientImpl implements InformationQueryClient {
     public List<InformationQuery> getInformationByContractId(Long contractId) {
         return informationQueryMapper.getInformationByContractId(contractId);
     }
+
+    @Override
+    public void getInformationByContractId1(Long contractId) {
+         System.out.println("1111");
+    }
+
+
 }

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/MetadataClassificationServiceImpl.java

@@ -392,7 +392,7 @@ public class MetadataClassificationServiceImpl
             keyValue.put("纸质文件位置", paperAddress);
 
             /**竣工图**/
-            if (archiveTreeContractById.getIsBuiltDrawing() == 1) {
+            if ((archiveTreeContractById.getIsBuiltDrawing() != null && archiveTreeContractById.getIsBuiltDrawing() == 1  )|| (archiveTreeContractById.getStorageType() != null && archiveTreeContractById.getStorageType() == 2)) {
                 /**图号**/
                 keyValue.put("图号", byId.getDrawingNo());
                 /**图幅**/

+ 3 - 3
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/TaskServiceImpl.java

@@ -1062,12 +1062,12 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
 
         List<String> listFiles = new ArrayList<>();
         listFiles.add(query.getEVisaPdfUrl());
-        Long fileSize = FileUtils.getOssFileSizeCount(listFiles);
+        //Long fileSize = FileUtils.getOssFileSizeCount(listFiles);
 
         if (archiveFile != null) {
             archiveFile.setEVisaFile(query.getEVisaPdfUrl());
             archiveFile.setPdfFileUrl(query.getEVisaPdfUrl()); // 这里将pdfFileUrl也更新了,因为需求中没有限制只能更新eVisaFile属性
-            archiveFile.setFileSize(fileSize);
+            archiveFile.setFileSize(query.getEVisaPdfSize());
             this.archiveFileService.updateById(archiveFile);
 
         } else {
@@ -1076,7 +1076,7 @@ public class TaskServiceImpl extends BaseServiceImpl<TaskMapper, Task> implement
             if (wbsTreeContract!= null ) {
                 createTime = wbsTreeContract.getCreateTime();
             }
-            archiveFile = getArchiveFile(query,nodeId,keyId,fileSize,contractIndfo.archivesUnit(),createTime);
+            archiveFile = getArchiveFile(query,nodeId,keyId,query.getEVisaPdfSize(),contractIndfo.archivesUnit(),createTime);
             this.archiveFileService.save(archiveFile);
         }
     }

+ 6 - 5
blade-service/blade-manager/src/main/java/com/mixsmart/utils/FormulaUtils.java

@@ -149,10 +149,7 @@ public class FormulaUtils {
         test(fd);
         System.out.println(fd.getEName());
     }*/
-    public static void  test(FormData fd){
-        fd.setEName("22222");
-        fd.getValues().add(new ElementData(2,2,2));
-    }
+
 
 
     public  static void write(FormData fd, Object data,Boolean nullOrBlank ){
@@ -160,6 +157,10 @@ public class FormulaUtils {
             /*无定位信息不写入*/
             return;
         }
+        /*一个单元格且存在多张,全部设置为自动拓展 20230816*/
+        if(fd.getCoordsList().size()==1&&fd.getValues().size()>1&&fd.getFormula()!=null){
+               fd.getFormula().setOutm(Formula.FULL);
+        }
         /*写入前清空内容*/
         fd.getValues().forEach(t->t.setValue(null));
         if(data instanceof List){
@@ -215,7 +216,7 @@ public class FormulaUtils {
                 fd.getValues().get(0).setValue(data);
             }
         }
-     //   fd.setUpdate(1);
+        fd.setUpdate(1);
     }
     public static  List<TableInfo> getTableInfoList(JSONArray dataArray) {
         if (dataArray != null && !dataArray.isEmpty()) {

+ 24 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ArchiveTreeContractController.java

@@ -156,6 +156,11 @@ public class ArchiveTreeContractController extends BladeController {
 
         if (archiveTreeContract.getStorageType() != null) {
             ar.setStorageType(archiveTreeContract.getStorageType());
+            if (archiveTreeContract.getStorageType()  == 2){
+                ar.setIsBuiltDrawing(1);
+            }else {
+                ar.setIsBuiltDrawing(0);
+            }
         }
 
         if (StringUtils.isNotEmpty(archiveTreeContract.getFileNumberPrefix())) {
@@ -245,7 +250,7 @@ public class ArchiveTreeContractController extends BladeController {
             @ApiImplicitParam(name = "contractId", value = "合同段id", required = true)
     })
     public R<List<ArchiveTreeContractVO2>> lazyTree(Long parentId, Long projectId, Long contractId) {
-//		if (projectId == null) {
+//		if (projectId == null) {tree = {ArrayList@17448}  size = 1
 //			projectId = 1578599210897772545L;
 //		}
         List<ArchiveTreeContractVO2> tree = archiveTreeContractService.lazyTree2(AuthUtil.getTenantId(), parentId, projectId, contractId);
@@ -410,4 +415,22 @@ public class ArchiveTreeContractController extends BladeController {
         archiveTreeContractSync.syncBusinessDataThread(projectId,contractId);
         return R.success("开始同步合同段,请耐心等待" );
     }
+
+    @PostMapping("test1")
+    @ApiOperation(value = "同步业务数据", notes = "传入节点id")
+    public R test1(Long projectId,Long contractId) {
+
+        archiveTreeContractSync.syncBusinessData(projectId,contractId);
+
+        return R.success("开始同步合同段,请耐心等待" );
+    }
+
+    @PostMapping("testB")
+    @ApiOperation(value = "同步业务数据", notes = "传入节点id")
+    public R writeBusinessData(Long keyId, Long contractId, String formDataId) {
+
+        archiveTreeContractService.writeBusinessData(keyId,contractId,formDataId);
+
+        return R.success("开始同步合同段,请耐心等待" );
+    }
 }

+ 7 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -30,6 +30,7 @@ import org.springblade.manager.entity.*;
 import org.springblade.manager.enums.ExecuteType;
 import org.springblade.manager.formula.KeyMapper;
 import org.springblade.manager.formula.impl.CompositeDataAccess;
+import org.springblade.manager.formula.impl.StartupTimeListener;
 import org.springblade.manager.service.*;
 import org.springblade.manager.service.impl.FormulaServiceImpl;
 import org.springblade.manager.vo.AppWbsTreeContractVO;
@@ -41,6 +42,9 @@ import org.springframework.web.bind.annotation.*;
 import springfox.documentation.annotations.ApiIgnore;
 
 import java.io.FileNotFoundException;
+import java.time.Instant;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
@@ -448,7 +452,9 @@ public class FormulaController {
     @GetMapping("/log")
     public R<Object> log(Long pkeyId) {
         Map<String, Object> result = new HashMap<>();
-        result.put("版本信息", "202303161800");
+        Instant startupTime = StartupTimeListener.getStartupTime();
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
+        result.put("版本信息", "Application started at:" + formatter.format(startupTime));
         if (Func.isNotEmpty(pkeyId)) {
             result.put("执行情况", this.jdbcTemplate.queryForList("select * from m_formula_log where id=" + pkeyId));
         }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/WbsTreeContractClientImpl.java

@@ -409,7 +409,7 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
             String parentId = one.getParentId().toString();
             while (loop < max && StringUtils.isNotEquals(0, parentId)) {
                 WbsTreeContract next = this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getContractId, one.getContractId()).eq(WbsTreeContract::getId, parentId));
-                if(next.getNodeType().equals(nodeType)){
+                if(next.getNodeType() <= nodeType){
                     return next.getPKeyId();
                 }
                 parentId = next.getParentId().toString();

+ 26 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/StartupTimeListener.java

@@ -0,0 +1,26 @@
+package org.springblade.manager.formula.impl;
+
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.ApplicationListener;
+import org.springframework.stereotype.Component;
+
+import java.time.Instant;
+
+/**
+ * @author yangyj
+ * @Date 2023/8/16 11:57
+ * @description 查看发版时间
+ */
+@Component
+public class StartupTimeListener implements ApplicationListener<ApplicationReadyEvent> {
+    private static Instant startupTime;
+
+    @Override
+    public void onApplicationEvent(ApplicationReadyEvent event) {
+        startupTime = Instant.now();
+    }
+
+    public static Instant getStartupTime() {
+        return startupTime;
+    }
+}

+ 1 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArTreeContractInitServiceImpl.java

@@ -350,9 +350,7 @@ public class ArTreeContractInitServiceImpl {
 
         for (ArchiveTreeContractVO2 ar : archiveTreeContractVO2s) {
             //关联质检资料
-            if (ar.getAssociationType() != null
-                    && ar.getAssociationType() == 1
-                    && ar.getDisplayHierarchy() != null) {
+            if (ar.IsQualityAssociationNode()) {
                 List<ArchiveTreeContract> tmpList = getTreeContractFromWbs(tenantId, projectId, wbsId, ar);
                 addNodes.addAll(tmpList);
             }

+ 3 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveAutoRuleSyncImpl.java

@@ -256,6 +256,9 @@ public class ArchiveAutoRuleSyncImpl {
                     ArchiveTreeVO2 proTreeVO2 = proMap.get(fromId);
                     //2.获取项目级groupID
                     Long pro_groupId = proTreeVO2.getArchiveAutoGroupId();
+                    if (pro_groupId == null) {
+                        continue;
+                    }
                     //3.,那么保存到集合  合同段ID_项目级groupID,客户级groupID
                     Long contractId = contractVO2.getContractId();
                     if (contractId != null) {

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ArchiveTreeContractSyncImpl.java

@@ -539,6 +539,7 @@ public class ArchiveTreeContractSyncImpl {
     public List<InformationQuery>  getInformationQuerys(Long contractId) {
         //获取某个合同段所有的电签完成的文件题名,取 id wbsid name,eVisaPdfUrl
 //        List<InformationQuery> informationQueryList = new ArrayList<>();
+        informationQueryClient.getInformationByContractId1(contractId);
         List<InformationQuery> informationQueryList = informationQueryClient.getInformationByContractId(contractId);
         return informationQueryList;
 

+ 1 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/FormulaServiceImpl.java

@@ -1123,8 +1123,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
     }
 
     public  void write(FormData fd,Object data){
-        /*如果需要向额外元素或对象输出数据,在此处修改*/
-               fd.setUpdate(1);
+               /*如果需要向额外元素或对象输出数据,在此处修改*/
                FormulaUtils.write(fd,data,false);
     }