Browse Source

档案统计-档案总存储2

qianxb 2 năm trước cách đây
mục cha
commit
b66e8ed956

+ 3 - 3
blade-common/src/main/java/org/springblade/common/utils/FileUtils.java

@@ -60,7 +60,7 @@ public class FileUtils  {
     }
 
     //获取OSS文件总大小
-    public static String getOssFileSizeCount(List<String> fileList){
+    public static Long getOssFileSizeCount(List<String> fileList){
         Long count = 0L;
         if(fileList!=null){
             for(String fileUrl:fileList){
@@ -73,13 +73,13 @@ public class FileUtils  {
                 }
             }
         }
-        return formatSize(count);
+        return count;
     }
 
     /**
      * 根据字节返回文件大小
      */
-    private static String formatSize(long fileS) {
+    public static String formatSize(long fileS) {
         DecimalFormat df = new DecimalFormat("#.00");
         String fileSizeString = "";
         String wrongSize = "0B";

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

@@ -72,5 +72,5 @@ public interface ArchiveFileClient {
     List<Map<String,Object>> getAllArchiveFileByContractType(@RequestBody Long projectId);
 
     @PostMapping(API_PREFIX + "/getAllArchiveFileSize")
-    String getAllArchiveFileSize(@RequestBody Long projectId);
+    Long getAllArchiveFileSize(@RequestBody Long projectId);
 }

+ 3 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/WbsTreeContractClient.java

@@ -166,4 +166,7 @@ public interface WbsTreeContractClient {
     @GetMapping(API_PREFIX + "/queryWbsTreeContractTreeLazy")
     List<WbsTreeContractTreeVOS> queryWbsTreeContractTreeLazy(@RequestParam String contractId,@RequestParam Long parseLong);
 
+    @GetMapping(API_PREFIX + "/getAllTableFileSize")
+    Long getAllTableFileSize(@RequestParam Long projectId);
+
 }

+ 8 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveFileController.java

@@ -24,6 +24,7 @@ import org.springblade.evisa.feign.EVisaClient;
 import org.springblade.manager.entity.ArchiveTree;
 import org.springblade.manager.entity.ArchiveTreeContract;
 import org.springblade.manager.feign.ArchiveTreeContractClient;
+import org.springblade.manager.feign.WbsTreeContractClient;
 import org.springblade.resource.feign.IOSSClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -52,6 +53,7 @@ public class ArchiveFileController extends BladeController {
     private final IOSSClient iossClient;
     private final ArchiveTreeContractClient archiveTreeContractClient;
     private final EVisaClient eVisaClient;
+    private final WbsTreeContractClient wbsTreeContractClient;
     /**
      * 上传文件
      *
@@ -284,7 +286,11 @@ public class ArchiveFileController extends BladeController {
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "档案统计-档案总存储")
     public R allArchiveFileSize(Long projectId) {
-        String fileSize = archiveFileClient.getAllArchiveFileSize(projectId);
-        return R.data(fileSize);
+        //统计案卷文件大小
+        Long fileSize = archiveFileClient.getAllArchiveFileSize(projectId);
+        //统计表单数据大小
+        Long tableSize = wbsTreeContractClient.getAllTableFileSize(projectId);
+        String size = org.springblade.common.utils.FileUtils.formatSize(fileSize + tableSize);
+        return R.data(size);
     }
 }

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ArchiveFileClientImpl.java

@@ -165,7 +165,7 @@ public class ArchiveFileClientImpl implements ArchiveFileClient {
     }
 
     @Override
-    public String getAllArchiveFileSize(Long projectId) {
+    public Long getAllArchiveFileSize(Long projectId) {
         //获取所有文件的url
         List<ArchiveFile> archiveFileList = fileMapper.getAllArchiveFileUrl(projectId);
         List<String> list = new ArrayList<>();
@@ -178,7 +178,7 @@ public class ArchiveFileClientImpl implements ArchiveFileClient {
             }
         }
         //从阿里云返回文件大小
-        String sizeCount = FileUtils.getOssFileSizeCount(list);
+        Long sizeCount = FileUtils.getOssFileSizeCount(list);
         return sizeCount;
     }
 }

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

@@ -11,6 +11,7 @@ import org.springblade.common.constant.CommonConstant;
 import org.springblade.common.utils.CommonUtil;
 import org.springblade.core.tool.node.ForestNodeMerger;
 import org.springblade.manager.entity.*;
+import org.springblade.manager.mapper.WbsTreeContractMapper;
 import org.springblade.manager.service.IContractInfoService;
 import org.springblade.manager.service.IWbsTreeContractService;
 import org.springblade.manager.service.impl.WbsTreeContractServiceImpl;
@@ -36,6 +37,8 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
 
     private final ISysClient sysClient;
 
+    private final WbsTreeContractMapper wbsTreeContractMapper;
+
     @Override
     public WbsTreeContract queryContractTreeNodeByPKeyId(Long toCopyNodePKeyId) {
         return this.wbsTreeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, toCopyNodePKeyId));
@@ -258,6 +261,11 @@ public class WbsTreeContractClientImpl implements WbsTreeContractClient {
         return null;
     }
 
+    @Override
+    public Long getAllTableFileSize(Long projectId) {
+        return wbsTreeContractMapper.getAllTableFileSize(projectId);
+    }
+
     private void foreachSetChildList(List<WbsTreeContractTreeVOS> vosResult, List<WbsTreeContractVO> voList) {
         voList.forEach(vo -> {
             WbsTreeContractTreeVOS vos = new WbsTreeContractTreeVOS();

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

@@ -84,4 +84,6 @@ public interface WbsTreeContractMapper extends EasyBaseMapper<WbsTreeContract> {
 
     void updateDeletedByIds(@Param("ids") List<Long> ids);
 
+    Long getAllTableFileSize(@Param("projectId") Long projectId);
+
 }

+ 9 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -632,4 +632,13 @@
         SELECT b.* from u_operation_log a,blade_user b where a.operation_account=b.account and a.operation_type=1 and  a.business_id like concat('%', #{sonId}, '%')
         group by b.id
     </select>
+    <select id="getAllTableFileSize" resultType="java.lang.Long">
+        select sum(DATA_LENGTH)
+        from information_schema.tables
+        where table_schema='bladex'
+        AND table_name in (SELECT mwtc.init_table_name
+                           FROM m_wbs_tree_contract mwtc
+                           WHERE mwtc.project_id =#{projectId} and mwtc.init_table_name is NOT NULL and mwtc.init_table_name != ''
+                           GROUP by mwtc.init_table_name );
+    </select>
 </mapper>