Quellcode durchsuchen

工程文件相关

huangjn vor 2 Jahren
Ursprung
Commit
e947918943
37 geänderte Dateien mit 1029 neuen und 26 gelöschten Zeilen
  1. 1 1
      blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/NewISmsClient.java
  2. 13 0
      blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/vo/NewBladeFile.java
  3. 18 0
      blade-ops/blade-resource/pom.xml
  4. 46 0
      blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java
  5. 34 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/ArchiveFileDTO.java
  6. 34 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/ArchiveShowDTO.java
  7. 0 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/DefaultProjectDTO.java
  8. 0 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/TaskParallelDTO.java
  9. 114 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ArchiveFile.java
  10. 56 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ArchiveShow.java
  11. 0 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/DefaultProject.java
  12. 1 1
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/Task.java
  13. 0 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TaskParallel.java
  14. 25 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java
  15. 0 16
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskCompleteClient.java
  16. 79 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveFileVO.java
  17. 34 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveShowVO.java
  18. 39 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveTaskVO.java
  19. 0 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/DefaultProjectVO.java
  20. 0 0
      blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TaskParallelVO.java
  21. 27 0
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ArchiveTreeClient.java
  22. 1 1
      blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ArchiveTreeVO.java
  23. 126 0
      blade-service/blade-business/src/main/java/org/springblade/business/controller/ArchiveFileController.java
  24. 12 5
      blade-service/blade-business/src/main/java/org/springblade/business/controller/ImageClassificationFileController.java
  25. 20 0
      blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java
  26. 41 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.java
  27. 61 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.xml
  28. 33 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveShowMapper.java
  29. 21 0
      blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveShowMapper.xml
  30. 37 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/IArchiveFileService.java
  31. 30 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/IArchiveShowService.java
  32. 60 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveFileServiceImpl.java
  33. 34 0
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveShowServiceImpl.java
  34. 1 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/FixedFlowServiceImpl.java
  35. 7 1
      blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ImageClassificationShowServiceImpl.java
  36. 22 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ArchiveTreeClientImpl.java
  37. 2 0
      blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeMapper.xml

+ 1 - 1
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/NewISmsClient.java

@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 )
 public interface NewISmsClient {
 
-    String API_PREFIX = "/newClient";
+    String API_PREFIX = "/newSMSClient";
     String SEND_MESSAGE = API_PREFIX + "/send-message";
 
     /**

+ 13 - 0
blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/vo/NewBladeFile.java

@@ -0,0 +1,13 @@
+package org.springblade.resource.vo;
+
+import lombok.Data;
+
+@Data
+public class NewBladeFile {
+    private String link;
+    private String domain;
+    private String name;
+    private String originalName;
+    private Long attachId;
+    private Integer page;
+}

+ 18 - 0
blade-ops/blade-resource/pom.xml

@@ -82,6 +82,24 @@
             <artifactId>blade-dict-api</artifactId>
             <version>${bladex.project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.itextpdf</groupId>
+            <artifactId>itextpdf</artifactId>
+            <version>5.5.13</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 46 - 0
blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java

@@ -16,10 +16,18 @@
  */
 package org.springblade.resource.endpoint;
 
+import cn.hutool.poi.excel.WorkbookUtil;
 import com.aliyun.oss.OSSClient;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.itextpdf.text.pdf.PdfReader;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import lombok.SneakyThrows;
+import org.apache.poi.POIXMLDocument;
+import org.apache.poi.hwpf.extractor.WordExtractor;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xwpf.usermodel.XWPFDocument;
 import org.springblade.core.oss.AliossTemplate;
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.oss.model.OssFile;
@@ -32,9 +40,13 @@ import org.springblade.core.tool.utils.Func;
 import org.springblade.resource.builder.oss.OssBuilder;
 import org.springblade.resource.entity.Attach;
 import org.springblade.resource.service.IAttachService;
+import org.springblade.resource.vo.NewBladeFile;
+import org.springframework.beans.BeanUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.FileInputStream;
+
 /**
  * 对象存储端点
  *
@@ -162,6 +174,40 @@ public class OssEndpoint {
 		BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
 		return R.data(bladeFile.getLink());
 	}
+
+	/**
+	 * 上传文件
+	 */
+	@SneakyThrows
+	@PostMapping("/upload-file")
+	public R<NewBladeFile> uploadFile(@RequestParam MultipartFile file){
+//		BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
+
+		int pageCount = 0;
+		if(file.getOriginalFilename().contains(".docx")){
+			XWPFDocument document = new XWPFDocument(file.getInputStream());
+			//文件页数
+			pageCount = document.getProperties().getExtendedProperties().getUnderlyingProperties().getPages();
+		} else if(file.getOriginalFilename().contains(".doc")){
+			WordExtractor word = new WordExtractor(file.getInputStream());
+			//文件页数
+			pageCount = word.getSummaryInformation().getPageCount();
+		} else if(file.getOriginalFilename().contains(".pdf")){
+			PdfReader pdf = new PdfReader(file.getInputStream());
+			pageCount = pdf.getNumberOfPages();
+		} else if(file.getOriginalFilename().contains(".xlsx")){
+			Workbook workbook = WorkbookUtil.createBook(file.getInputStream());
+		} else {
+			pageCount = 1;
+		}
+		//转换实体
+		NewBladeFile newBladeFile = new NewBladeFile();
+//		BeanUtils.copyProperties(bladeFile, newBladeFile);
+		newBladeFile.setPage(pageCount);
+
+		return R.data(newBladeFile);
+	}
+
 	/**
 	 * 上传文件
 	 *

+ 34 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/ArchiveFileDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.dto;
+
+import org.springblade.business.entity.ArchiveFile;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveFileDTO extends ArchiveFile {
+	private static final long serialVersionUID = 1L;
+
+}

+ 34 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/ArchiveShowDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.dto;
+
+import org.springblade.business.entity.ArchiveShow;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveShowDTO extends ArchiveShow {
+	private static final long serialVersionUID = 1L;
+
+}

+ 0 - 0
blade-service/blade-business/src/main/java/org/springblade/business/dto/DefaultProjectDTO.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/DefaultProjectDTO.java


+ 0 - 0
blade-service/blade-business/src/main/java/org/springblade/business/dto/TaskParallelDTO.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/dto/TaskParallelDTO.java


+ 114 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ArchiveFile.java

@@ -0,0 +1,114 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.springblade.core.mp.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Data
+@TableName("u_archive_file")
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveFile extends BaseEntity {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 项目ID
+     */
+    @ApiModelProperty("项目ID")
+    private String projectId;
+
+    /**
+     * 合同段ID
+     */
+	@ApiModelProperty("合同段ID")
+    private String contractId;
+
+    /**
+     * 文件绑定的节点ID
+     */
+	@ApiModelProperty("文件绑定的节点ID")
+    private String nodeId;
+
+    /**
+     * 文件编号
+     */
+	@ApiModelProperty("文件编号")
+    private String fileNumber;
+
+    /**
+     * 文件名称
+     */
+	@ApiModelProperty("文件名称")
+    private String fileName;
+
+    /**
+     * 文件时间
+     */
+	@ApiModelProperty("文件时间")
+    private String fileTime;
+
+    /**
+     * 文件路径
+     */
+	@ApiModelProperty("文件路径")
+    private String fileUrl;
+
+    /**
+     * 文件页数
+     */
+	@ApiModelProperty("文件页数")
+    private Integer filePage;
+
+    /**
+     * 是否需要审批,0不需要,1需要
+     */
+	@ApiModelProperty("是否需要审批,0不需要,1需要")
+    private Integer isApproval;
+
+    /**
+     * 是否需要认证,0不需要,1需要
+     */
+	@ApiModelProperty("是否需要认证,0不需要,1需要")
+    private Integer isNeedCertification;
+
+    /**
+     * 是否已经认证, 0否,1是
+     */
+	@ApiModelProperty("是否已经认证")
+	private Integer isCertification;
+
+    /**
+     * 责任者
+     */
+	@ApiModelProperty("责任者")
+    private String dutyUser;
+
+
+}

+ 56 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/ArchiveShow.java

@@ -0,0 +1,56 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import org.springblade.core.mp.base.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 实体类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Data
+@TableName("u_archive_show")
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveShow extends BaseEntity {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	* 项目ID
+	*/
+		private String projectId;
+	/**
+	* 合同段ID
+	*/
+		private String contractId;
+	/**
+	* 节点ID
+	*/
+		private String nodeId;
+	/**
+	* 不显示,默认为1,显示为0
+	*/
+		private Integer notShow;
+
+
+}

+ 0 - 0
blade-service/blade-business/src/main/java/org/springblade/business/entity/DefaultProject.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/DefaultProject.java


+ 1 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/Task.java

@@ -91,7 +91,7 @@ public class Task extends BaseEntity {
      * 数据指向
      */
     @ApiModelProperty("数据指向")
-    private Long formDataId;
+    private String formDataId;
 
     /**
      * 上报批次

+ 0 - 0
blade-service/blade-business/src/main/java/org/springblade/business/entity/TaskParallel.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/entity/TaskParallel.java


+ 25 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskClient.java

@@ -0,0 +1,25 @@
+package org.springblade.business.feign;
+
+import org.springblade.business.vo.TaskVO;
+import org.springblade.common.constant.BusinessConstant;
+import org.springblade.core.tool.api.R;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
+public interface TaskClient {
+
+    /**
+     * 接口前缀
+     */
+    String API_PREFIX = "/api/business/task";
+    String START_TASK = API_PREFIX + "/start-task";
+
+    /**
+     * 发起流程
+     */
+    @PostMapping(START_TASK)
+    R<Boolean> startTask(@RequestBody TaskVO taskVO);
+
+}

+ 0 - 16
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/TaskCompleteClient.java

@@ -1,16 +0,0 @@
-package org.springblade.business.feign;
-
-import org.springblade.common.constant.BusinessConstant;
-import org.springframework.cloud.openfeign.FeignClient;
-
-@FeignClient(value = BusinessConstant.APPLICATION_WEATHER_NAME)
-public interface TaskCompleteClient {
-
-    /**
-     * 接口前缀
-     */
-    String API_PREFIX = "/api/business/task";
-
-    Boolean updateTaskParallel();
-
-}

+ 79 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveFileVO.java

@@ -0,0 +1,79 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import org.springblade.business.entity.ArchiveFile;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveFileVO extends ArchiveFile {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 当前页
+	 */
+	@ApiModelProperty("当前页")
+	private Integer current;
+
+	/**
+	 * 当前页
+	 */
+	@ApiModelProperty("当前页显示条数")
+	private Integer size;
+
+	/**
+	 * 输入框查询条件
+	 */
+	@ApiModelProperty("输入框查询条件")
+	private String queryValue;
+
+	/**
+	 * 节点查询条件
+	 */
+	@ApiModelProperty("节点查询条件")
+	private String nodeIds;
+
+	/**
+	 * 审批状态
+	 */
+	@ApiModelProperty("审批状态")
+	private String isApprovalValue;
+
+	/**
+	 * 是否已经认证
+	 */
+	@ApiModelProperty("是否已经认证")
+	private String isCertificationValue;
+
+	@ApiModelProperty("批量保存")
+	private List<ArchiveFileVO> list;
+
+	private List<String> nodeIdArray;
+
+}

+ 34 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveShowVO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.vo;
+
+import org.springblade.business.entity.ArchiveShow;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 视图实体类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ArchiveShowVO extends ArchiveShow {
+	private static final long serialVersionUID = 1L;
+
+}

+ 39 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveTaskVO.java

@@ -0,0 +1,39 @@
+package org.springblade.business.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class ArchiveTaskVO {
+
+    /**
+     * 固定流程ID
+     */
+    @ApiModelProperty("固定流程ID")
+    private Long fixedFlowId;
+
+    /**
+     * 上报批次
+     */
+    @ApiModelProperty("上报批次")
+    private Integer batch;
+
+    /**
+     * 任务名称
+     */
+    @ApiModelProperty("任务名称")
+    private String taskName;
+
+    /**
+     * 任务内容
+     */
+    @ApiModelProperty("任务内容")
+    private String taskContent;
+
+    /**
+     * 数据指向
+     */
+    @ApiModelProperty("列表数据的id字段,多数据时用英文逗号拼接")
+    private String archiveIds;
+
+}

+ 0 - 0
blade-service/blade-business/src/main/java/org/springblade/business/vo/DefaultProjectVO.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/DefaultProjectVO.java


+ 0 - 0
blade-service/blade-business/src/main/java/org/springblade/business/vo/TaskParallelVO.java → blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/TaskParallelVO.java


+ 27 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ArchiveTreeClient.java

@@ -0,0 +1,27 @@
+package org.springblade.manager.feign;
+
+import org.springblade.core.tool.api.R;
+import org.springblade.manager.vo.ArchiveTreeVO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
+
+@FeignClient(value = APPLICATION_NAME_PREFIX + "manager")
+public interface ArchiveTreeClient {
+
+    /**
+     * 接口前缀
+     */
+    String API_PREFIX = "/api/manager/archive";
+
+    /**
+     * 获取归档树映射
+     */
+    @GetMapping(API_PREFIX + "/tree")
+    R<List<ArchiveTreeVO>> tree(@RequestParam Integer disPlayTree, @RequestParam Integer nodeType);
+
+}

+ 1 - 1
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ArchiveTreeVO.java

@@ -55,7 +55,7 @@ public class ArchiveTreeVO extends ArchiveTree implements INode<ArchiveTreeVO> {
      * title
      */
     @JsonSerialize(using = ToStringSerializer.class)
-    private Long title;
+    private String title;
 
     /**
      * 子孙节点

+ 126 - 0
blade-service/blade-business/src/main/java/org/springblade/business/controller/ArchiveFileController.java

@@ -0,0 +1,126 @@
+package org.springblade.business.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+
+import org.apache.commons.lang.StringUtils;
+import org.springblade.business.feign.TaskClient;
+import org.springblade.business.service.IArchiveShowService;
+import org.springblade.business.vo.ArchiveTaskVO;
+import org.springblade.business.vo.TaskVO;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.manager.feign.ArchiveTreeClient;
+import org.springblade.manager.vo.ArchiveTreeVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.RequestParam;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.business.entity.ArchiveFile;
+import org.springblade.business.vo.ArchiveFileVO;
+import org.springblade.business.service.IArchiveFileService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ *  控制器
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/archiveFile")
+@Api(value = "工程文件接口", tags = "工程文件接口")
+public class ArchiveFileController extends BladeController {
+
+	private final IArchiveFileService archiveFileService;
+
+	private final IArchiveShowService archiveShowService;
+
+	private final ArchiveTreeClient archiveTreeClient;
+
+	private final TaskClient taskClient;
+
+	/**
+	 * 批量上报
+	 */
+	@PostMapping("/batchApproval")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "批量上报")
+	public R<Boolean> batchApproval(@RequestBody ArchiveTaskVO archiveTaskVO){
+		String archiveTaskIds = archiveTaskVO.getArchiveIds();
+		if(StringUtils.isNotEmpty(archiveTaskIds)){
+			//生成流程实体
+			TaskVO taskVO = new TaskVO();
+			BeanUtils.copyProperties(archiveTaskVO, taskVO);
+			taskVO.setFormDataId(archiveTaskIds);
+			//启动流程
+			this.taskClient.startTask(taskVO);
+			//修改状态为待审批
+			String[] archiveTaskIdArray = archiveTaskIds.split(",");
+			return R.data(this.archiveFileService.update(Wrappers.<ArchiveFile>lambdaUpdate().set(ArchiveFile::getStatus, 1).in(ArchiveFile::getId, Arrays.asList(archiveTaskIdArray))));
+		}
+		return R.data(false);
+	}
+
+	/**
+	 * 批量编辑
+	 */
+	@PostMapping("/batchEdit")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "批量编辑")
+	public R<Boolean> batchEdit(@RequestBody ArchiveFileVO vo){
+		return R.data(this.archiveFileService.updateBatchById(JSONArray.parseArray(JSONObject.toJSONString(vo.getList()), ArchiveFile.class)));
+	}
+
+	/**
+	 * 分页
+	 */
+	@PostMapping("/page")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "分页")
+	public R<IPage<ArchiveFileVO>> page(ArchiveFileVO queryVo){
+		return R.data(this.archiveFileService.selectArchiveFilePage(queryVo));
+	}
+
+	/**
+	 * 批量新增
+	 */
+	@PostMapping("/batchSave")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "批量新增")
+	public R<Boolean> batchSave(@RequestBody ArchiveFileVO vo){
+		return R.data(this.archiveFileService.saveBatch(JSONArray.parseArray(JSONObject.toJSONString(vo.getList()), ArchiveFile.class)));
+	}
+
+	/**
+	 * 获取归档划分树
+	 */
+	@PostMapping("/tree")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "获取归档划分树")
+	public R<List<ArchiveTreeVO>> tree(){
+		return this.archiveTreeClient.tree(1,2);
+	}
+
+	/**
+	 * 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R<Boolean> remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(archiveFileService.deleteLogic(Func.toLongList(ids)));
+	}
+
+	
+}

+ 12 - 5
blade-service/blade-business/src/main/java/org/springblade/business/controller/ImageClassificationFileController.java

@@ -113,11 +113,18 @@ public class ImageClassificationFileController extends BladeController {
 		List<ImageClassificationShow> saveShow = new ArrayList<>(), updateShow = new ArrayList<>();
 		shows.forEach(show -> {
 			if(show.getId() == null || show.getId() == -1){
-				setUserData(show, true);
-				ImageClassificationShow newShow = new ImageClassificationShow();
-				BeanUtils.copyProperties(show, newShow);
-				newShow.setId(null);
-				saveShow.add(newShow);
+				//校验一下是否已经存在数据
+				long count = this.imageClassificationShowService.count(Wrappers.<ImageClassificationShow>lambdaQuery().eq(ImageClassificationShow::getClassifyId, show.getClassifyId()).eq(ImageClassificationShow::getProjectId, show.getProjectId()).eq(ImageClassificationShow::getContractId, show.getContractId()));
+				if(count == 0){
+					setUserData(show, true);
+					ImageClassificationShow newShow = new ImageClassificationShow();
+					BeanUtils.copyProperties(show, newShow);
+					newShow.setId(null);
+					saveShow.add(newShow);
+				} else {
+					setUserData(show, false);
+					updateShow.add(show);
+				}
 			} else {
 				setUserData(show, false);
 				updateShow.add(show);

+ 20 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/TaskClientImpl.java

@@ -0,0 +1,20 @@
+package org.springblade.business.feignClient;
+
+import lombok.AllArgsConstructor;
+import org.springblade.business.feign.TaskClient;
+import org.springblade.business.service.ITaskService;
+import org.springblade.business.vo.TaskVO;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@AllArgsConstructor
+public class TaskClientImpl implements TaskClient {
+
+    private final ITaskService taskService;
+
+    @Override
+    public R<Boolean> startTask(TaskVO taskVO) {
+        return R.data(this.taskService.startApproval(taskVO));
+    }
+}

+ 41 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.springblade.business.entity.ArchiveFile;
+import org.springblade.business.vo.ArchiveFileVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+public interface ArchiveFileMapper extends BaseMapper<ArchiveFile> {
+
+	Integer selectArchiveFileCount(@Param("vo") ArchiveFileVO vo);
+
+	/**
+	 * 自定义分页
+	 */
+	List<ArchiveFile> selectArchiveFilePage(@Param("current") Integer current, @Param("size") Integer size, @Param("vo") ArchiveFileVO vo);
+
+}

+ 61 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.business.mapper.ArchiveFileMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="archiveFileResultMap" type="org.springblade.business.entity.ArchiveFile">
+        <result column="id" property="id"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="project_id" property="projectId"/>
+        <result column="contract_id" property="contractId"/>
+        <result column="node_id" property="nodeId"/>
+        <result column="file_number" property="fileNumber"/>
+        <result column="file_name" property="fileName"/>
+        <result column="file_time" property="fileTime"/>
+        <result column="file_url" property="fileUrl"/>
+        <result column="file_page" property="filePage"/>
+        <result column="is_approval" property="isApproval"/>
+        <result column="is_certification" property="isCertification"/>
+        <result column="is_need_certification" property="isNeedCertification"/>
+        <result column="duty_user" property="dutyUser"/>
+    </resultMap>
+
+    <select id="selectArchiveFileCount" resultMap="archiveFileResultMap">
+        select count(id) from u_archive_file where is_deleted = 0
+        <if test="vo.status != null">
+            and status = #{vo.status}
+        </if>
+        <if test="vo.isCertification != null">
+            and is_certification = #{vo.isCertification}
+        </if>
+        <if test="vo.nodeIds != null and vo.nodeIds != ''">
+            and node_id in
+            <foreach collection="vo.nodeIdArray" item="nodeId" open="(" separator="," close=")">
+                #{nodeId}
+            </foreach>
+        </if>
+    </select>
+
+    <select id="selectArchiveFilePage" resultMap="archiveFileResultMap">
+        select * from u_archive_file where is_deleted = 0
+        <if test="vo.status != null">
+            and status = #{vo.status}
+        </if>
+        <if test="vo.isCertification != null">
+            and is_certification = #{vo.isCertification}
+        </if>
+        <if test="vo.nodeIds != null and vo.nodeIds != ''">
+            and node_id in
+            <foreach collection="vo.nodeIdArray" item="nodeId" open="(" separator="," close=")">
+                #{nodeId}
+            </foreach>
+        </if>
+    </select>
+
+</mapper>

+ 33 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveShowMapper.java

@@ -0,0 +1,33 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.mapper;
+
+import org.springblade.business.entity.ArchiveShow;
+import org.springblade.business.vo.ArchiveShowVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ *  Mapper 接口
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+public interface ArchiveShowMapper extends BaseMapper<ArchiveShow> {
+
+}

+ 21 - 0
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveShowMapper.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.business.mapper.ArchiveShowMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="archiveShowResultMap" type="org.springblade.business.entity.ArchiveShow">
+        <result column="id" property="id"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="status" property="status"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="project_id" property="projectId"/>
+        <result column="contract_id" property="contractId"/>
+        <result column="node_id" property="nodeId"/>
+        <result column="not_show" property="notShow"/>
+    </resultMap>
+
+</mapper>

+ 37 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/IArchiveFileService.java

@@ -0,0 +1,37 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.service;
+
+import org.springblade.business.entity.ArchiveFile;
+import org.springblade.business.vo.ArchiveFileVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+public interface IArchiveFileService extends BaseService<ArchiveFile> {
+
+	/**
+	 * 自定义分页
+	 */
+	IPage<ArchiveFileVO> selectArchiveFilePage(ArchiveFileVO archiveFile);
+
+}

+ 30 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/IArchiveShowService.java

@@ -0,0 +1,30 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.service;
+
+import org.springblade.business.entity.ArchiveShow;
+import org.springblade.core.mp.base.BaseService;
+
+/**
+ *  服务类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+public interface IArchiveShowService extends BaseService<ArchiveShow> {
+
+}

+ 60 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveFileServiceImpl.java

@@ -0,0 +1,60 @@
+package org.springblade.business.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.lang.StringUtils;
+import org.springblade.business.entity.ArchiveFile;
+import org.springblade.business.vo.ArchiveFileVO;
+import org.springblade.business.mapper.ArchiveFileMapper;
+import org.springblade.business.service.IArchiveFileService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Service
+public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, ArchiveFile> implements IArchiveFileService {
+
+	@Override
+	public IPage<ArchiveFileVO> selectArchiveFilePage(ArchiveFileVO vo) {
+		Query query = new Query();
+		query.setCurrent(vo.getCurrent());
+		query.setSize(vo.getSize());
+		//设置分页
+		IPage<ArchiveFileVO> iPage = Condition.getPage(query);
+
+		if(StringUtils.isNotEmpty(vo.getNodeIds())){
+			vo.setNodeIdArray(Arrays.asList(vo.getNodeIds().split(",")));
+		}
+
+		//汇总
+		Integer total = this.baseMapper.selectArchiveFileCount(vo);
+		if(total == null){
+			total = 0;
+		}
+		//分页
+		int current = (vo.getCurrent() - 1) * vo.getSize();
+
+		List<ArchiveFile> pageList = this.baseMapper.selectArchiveFilePage(current, vo.getSize(), vo);
+		//设置分页信息
+		iPage.setTotal(total);
+		List<ArchiveFileVO> pageVoList = JSONArray.parseArray(JSONObject.toJSONString(pageList), ArchiveFileVO.class);
+		pageVoList.forEach(vos -> {
+			vos.setIsApprovalValue(new Integer("0").equals(vos.getStatus()) ? "未上报" : new Integer("1").equals(vos.getStatus()) ? "待审批" : "已审批");
+			vos.setIsCertificationValue(new Integer("1").equals(vos.getIsCertification()) ? "已认证" : "未认证");
+		});
+
+		return iPage.setRecords(pageVoList);
+	}
+
+}

+ 34 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveShowServiceImpl.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.business.service.impl;
+
+import org.springblade.business.entity.ArchiveShow;
+import org.springblade.business.mapper.ArchiveShowMapper;
+import org.springblade.business.service.IArchiveShowService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ *  服务实现类
+ *
+ * @author BladeX
+ * @since 2022-07-08
+ */
+@Service
+public class ArchiveShowServiceImpl extends BaseServiceImpl<ArchiveShowMapper, ArchiveShow> implements IArchiveShowService {
+
+}

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

@@ -61,7 +61,7 @@ public class FixedFlowServiceImpl extends BaseServiceImpl<FixedFlowMapper, Fixed
 				StringBuilder linkJoin = new StringBuilder();
 				links.forEach(link -> linkJoin.append(",").append(link.getFixedFlowLinkUserName()));
 				//去掉第一个逗号
-				vos.setLinkUserJoinString(linkJoin.toString().substring(1));
+				vos.setLinkUserJoinString(linkJoin.substring(1));
 			}
 		});
 		//设置总数

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

@@ -1,5 +1,6 @@
 package org.springblade.business.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springblade.business.entity.ImageClassificationShow;
 import org.springblade.business.mapper.ImageClassificationShowMapper;
 import org.springblade.business.service.ImageClassificationShowService;
@@ -22,7 +23,12 @@ public class ImageClassificationShowServiceImpl extends BaseServiceImpl<ImageCla
             if(updateShows.size() != 0){
                 updateShows.forEach(show -> {
                     //查询原本数据
-                    ImageClassificationShow oldShow = this.baseMapper.selectById(show);
+                    ImageClassificationShow oldShow;
+                    if(-1 != show.getId()){
+                        oldShow = this.baseMapper.selectById(show);
+                    } else {
+                        oldShow = this.baseMapper.selectOne(Wrappers.<ImageClassificationShow>lambdaQuery().eq(ImageClassificationShow::getClassifyId, show.getClassifyId()).eq(ImageClassificationShow::getProjectId, show.getProjectId()).eq(ImageClassificationShow::getContractId, show.getContractId()));
+                    }
                     //修改is_show
                     oldShow.setIsShow(show.getIsShow());
                     this.baseMapper.updateById(oldShow);

+ 22 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ArchiveTreeClientImpl.java

@@ -0,0 +1,22 @@
+package org.springblade.manager.feign;
+
+import lombok.AllArgsConstructor;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.manager.service.IArchiveTreeService;
+import org.springblade.manager.vo.ArchiveTreeVO;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+public class ArchiveTreeClientImpl implements ArchiveTreeClient {
+
+    private final IArchiveTreeService archiveTreeService;
+
+    @Override
+    public R<List<ArchiveTreeVO>> tree(Integer disPlayTree, Integer nodeType) {
+        return R.data(this.archiveTreeService.tree(AuthUtil.getTenantId(), disPlayTree, nodeType));
+    }
+}

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/ArchiveTreeMapper.xml

@@ -40,6 +40,7 @@
         <result column="majorDataType" property="majorDataType"/>
         <result column="isStorageNode" property="isStorageNode"/>
         <result column="isDisplayTree" property="isDisplayTree"/>
+        <result column="isStorageNode" property="isStorageNode"/>
     </resultMap>
 
     <update id="updateBatch">
@@ -103,6 +104,7 @@
         id AS "key",
         major_data_type AS "majorDataType",
         display_hierarchy AS "displayHierarchy",
+        is_storage_node AS "isStorageNode",
         is_upload_file_display_configuration_tree AS "isDisplayTree"
         FROM m_archive_tree
         WHERE is_deleted = 0