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

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java
#	blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java
#	blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java
liuyc 2 жил өмнө
parent
commit
5820536f6c

+ 5 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/entity/ArchiveInspection.java

@@ -38,4 +38,9 @@ public class ArchiveInspection extends BaseEntity {
      */
     private Long fileId;
 
+    /**
+     * 案卷题名
+     */
+    private String archiveName;
+
 }

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

@@ -85,4 +85,9 @@ public class ArchiveFileVO extends ArchiveFile {
      */
     private String contractType;
 
+    /**
+     * 是否更改文件地址 0 未更改,1已更改
+     */
+    private Integer isUpdateUrl;
+
 }

+ 1 - 1
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveInspectionController.java

@@ -1,4 +1,4 @@
-package org.springblade.inspection.controller;
+package org.springblade.archive.controller;
 
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;

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

@@ -12,12 +12,15 @@ import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.resource.feign.NewIOSSClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.*;
+import java.util.concurrent.ExecutorService;
 
 /**
  * 服务实现类
@@ -30,6 +33,9 @@ import java.util.*;
 public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, ArchiveFile> implements IArchiveFileService {
 
     private final IDictBizClient dictBizClient;
+    private final NewIOSSClient iossClient;
+
+    private ExecutorService executorService;
 
     @Override
     public IPage<ArchiveFileVO> selectArchiveFilePage(ArchiveFileVO vo) {
@@ -107,10 +113,29 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
 //				return integer-t1;
 //			}
 //		});
+        StringBuffer ids = new StringBuffer();
         Collections.sort(listInt);
         for (int i = 0; i < list.size(); i++) {
             list.get(i).setSort(listInt.get(i));
+            if(list.get(i).getIsUpdateUrl() == 1) {
+                ids.append(list.get(i).getId() + ",");
+            }
         }
+        if(ids != null && ids.length()>0){
+        List<String> removeFiles = new ArrayList<>();
+        List<ArchiveFile> archiveFileByFileIds = baseMapper.getArchiveFileByFileIds(Func.toLongList(ids.toString()));
+        if(archiveFileByFileIds!=null && archiveFileByFileIds.size()>0){
+            for(ArchiveFile archiveFile:archiveFileByFileIds){
+                if(StringUtils.isNotEmpty(archiveFile.getFileUrl().trim())){
+                    removeFiles.add(archiveFile.getFileUrl());
+                }
+            }
+            executorService.execute(()->{
+                iossClient.removeFiles(removeFiles);
+            });
+        }
+        }
+
         this.updateBatchById(JSONArray.parseArray(JSONObject.toJSONString(list), ArchiveFile.class));
     }
 

+ 10 - 21
blade-service/blade-manager/src/main/java/com/mixsmart/utils/CustomFunction.java

@@ -1993,11 +1993,11 @@ public class CustomFunction {
                 double xND = Double.parseDouble(xN.toString());
                 List<Object> outList = new ArrayList<>();
                 if (o instanceof List) {
-                    List<Object> datas = (List<Object>) o;
+                    List<Object> datas = obj2ListNe(o);
                     for (Object e : datas) {
                         if (StringUtils.isNotEmpty(e)) {
-                            String[] as = e.toString().split("[^\\d.]");
-                            Object m = matcherFindGroup("[^\\d.]", e.toString(), 0, false);
+                            String[] as = e.toString().split("[^\\d.-]");
+                            Object m = matcherFindGroup("[^\\d.-]", e.toString(), 0, false);
                             StringBuilder d = new StringBuilder();
                             for (int i = 0; i < as.length; i++) {
                                 String s = as[i];
@@ -2045,6 +2045,11 @@ public class CustomFunction {
         return "";
     }
 
+/*    public static void main(String[] args) {
+        List<Object> list = Arrays.asList(1,-1,"-4*8");
+        obj2ListNe(xN(list,10)).forEach(System.out::println);
+    }*/
+
     public static Object repeat(Object data) {
         List<Object> result = new ArrayList<>();
         if (data != null) {
@@ -2381,19 +2386,7 @@ public class CustomFunction {
         return result;
     }
 
-    /**
-     * @return java.lang.Object
-     * @Description 删除列表最后一个数据
-     * @Param [o]
-     * @Author yangyj
-     * @Date 2021.07.28 15:47
-     **/
-    public static Object remLast(Object o) {
-        if (o instanceof List) {
-            rem(o, ((List<Object>) o).size() - 1);
-        }
-        return o;
-    }
+
 
     /**
      * @return java.lang.Object
@@ -2438,7 +2431,6 @@ public class CustomFunction {
     }
 
     /**
-     * @return void
      * @Description 删除下标为index的元素
      * @Param [o, index]
      * @Author yangyj
@@ -2473,10 +2465,7 @@ public class CustomFunction {
     }
 
 
-    public static boolean isNumeric(String str) {
-        Pattern pattern = Pattern.compile("[0-9.]*");
-        return pattern.matcher(str).matches();
-    }
+
 
 
     /**

+ 14 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java

@@ -157,6 +157,20 @@ public class WbsTreeContractController extends BladeController {
                 .eq(WbsTreeContract::getPKeyId, id).eq(WbsTreeContract::getIsDeleted, 0)));
     }
 
+    /**
+     * 同步项目下当前表的所有htmlUrl
+     */
+    @GetMapping("/syncCurrentFormInProject")
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "同步项目下当前表的所有htmlUrl", notes = "同步项目下当前表的所有htmlUrl")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "pKeyId", value = "主键id", required = true),
+    })
+    public R syncCurrentFormInProject(@RequestParam("pKeyId") Long pKeyId) {
+        iWbsTreeContractService.syncCurrentFormInProject(pKeyId);
+        return R.success("同步成功");
+    }
+
     /**
      * 资料填报 - 同步相同表数据(同一节点下,把施工表数据同步到监理表中)
      */

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

@@ -86,4 +86,5 @@ public interface WbsTreeContractMapper extends EasyBaseMapper<WbsTreeContract> {
 
     Long getAllTableFileSize(@Param("projectId") Long projectId);
 
+    void syncCurrentFormInProject(@Param("node") WbsTreeContract node);
 }

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

@@ -608,6 +608,11 @@
             #{ids}
         </foreach>
     </update>
+    <update id="syncCurrentFormInProject">
+        UPDATE m_wbs_tree_contract
+        SET html_url = #{node.htmlUrl}
+        WHERE project_id = #{node.projectId} and excel_id = #{node.excelId}
+    </update>
 
     <select id="selectQueryValueLikeNodeName" resultMap="ResultMap">
         select *

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

@@ -58,5 +58,5 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
     boolean addTabInfoByRan(RangeInfo info, List<Object> moreData, String[] excLenght) throws FileNotFoundException;
 
     boolean syncTabData(String pKeyId);
-
+    void syncCurrentFormInProject(Long pKeyId);
 }

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

@@ -1296,8 +1296,8 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             return R.fail("请关联清表!");
         }
 
-        String pdfPath = sys_net_url + "/pdf//" + pkeyId + ".pdf";
-        String excelPath = sys_net_url + "/pdf//" + pkeyId + ".xlsx";
+        String pdfPath = file_path + "/pdf//" + pkeyId + ".pdf";
+        String excelPath = file_path + "/pdf//" + pkeyId + ".xlsx";
         File tabPdf = ResourceUtil.getFile(pdfPath);
         if (tabPdf.exists()) {
             tabPdf.delete();

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -3,6 +3,7 @@ package org.springblade.manager.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -536,6 +537,12 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return false;
     }
 
+    @Override
+    public void syncCurrentFormInProject(Long pKeyId) {
+        WbsTreeContract node = this.getOne(new LambdaQueryWrapper<WbsTreeContract>().eq(WbsTreeContract::getPKeyId,pKeyId));
+        baseMapper.syncCurrentFormInProject(node);
+    }
+
     @Override
     public boolean syncTabData(String pKeyId) {
         WbsTreeContract node = baseMapper.selectOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getPKeyId, pKeyId));