Browse Source

文件题目规则

yangyj 3 years ago
parent
commit
135f73074b

+ 18 - 0
blade-common/src/main/java/org/springblade/common/utils/BaseUtils.java

@@ -53,6 +53,24 @@ public class BaseUtils {
         return result;
     }
 
+    /**
+     * @Description 基础数据类型批量非空判断
+     * @Param [args]
+     * @return java.lang.Boolean
+     * @Author yangyj
+     * @Date 2022.08.26 11:14
+     **/
+    public static Boolean isNotNull(Object... args){
+        if(args!=null){
+            for(Object obj:args){
+                if(obj==null||"".equals(obj)){
+                    return false;
+                }
+            }
+            return true;
+        }
+        return false;
+    }
 
 
 

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

@@ -20,5 +20,8 @@ public class WbsParam  extends BaseEntity {
     private  String v;
     private  String remark;
     private  Integer type;
+    /**
+     * WBS树节点Id
+     * */
     private  Long wbsId;
 }

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/utils/FunctionMain.java

@@ -24,6 +24,7 @@ import org.springblade.business.entity.DatumPoint;
 import org.springblade.manager.entity.Formula;
 import org.springblade.manager.entity.FormulaBase;
 import org.springblade.manager.vo.FormulaType;
+import sun.misc.VM;
 
 import javax.validation.constraints.Size;
 
@@ -171,8 +172,7 @@ public class FunctionMain {
           System.out.println(sql);
     }
 
-/*
-    public static void main(String[] args)  {
+    public static void main(String[] args)   {
 //        createTable(Formula.class,"公式配置");
 //        System.out.println(builder(Formula.class));
 //          getToken();

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

@@ -2016,7 +2016,7 @@ public class CustomFunction {
 			for(Integer i:index){
 				result.add(nodes.get(i));
 			}
-			return String.join(",", result);
+			return String.join("", result);
 		}
         return "";
 	}

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/bean/TableInfo.java

@@ -16,4 +16,5 @@ public class TableInfo {
     private String contractId;
     private String classify;
     private String projectId;
+    private String groupId;
 }

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/IFormDataBuilder.java

@@ -0,0 +1,8 @@
+package org.springblade.manager.formula;
+
+/**
+ * @author yangyj
+ */
+public interface IFormDataBuilder {
+    void build();
+}

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/ITable.java

@@ -0,0 +1,8 @@
+package org.springblade.manager.formula;
+
+/**
+ * @author yangyj
+ */
+public interface ITable {
+
+}

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

@@ -1,7 +1,6 @@
 package org.springblade.manager.service;
 
 import org.springblade.core.mp.base.BaseService;
-import org.springblade.manager.entity.WbsInfo;
 import org.springblade.manager.entity.WbsParam;
 
 /**
@@ -10,4 +9,11 @@ import org.springblade.manager.entity.WbsParam;
  * @description TODO
  */
 public interface IWbsParamService  extends BaseService<WbsParam> {
+
+    /**
+     * @Description 工序资料文件题名
+     * @Param [nodeId:当前节点id, contractId :当前合同段id]
+     * @Author yangyj
+     **/
+    String crateFileTitle(Long nodeId,Long contractId);
 }

+ 36 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsParamServiceImpl.java

@@ -1,12 +1,27 @@
 package org.springblade.manager.service.impl;
 
+import cn.hutool.log.StaticLog;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.mixsmart.utils.CustomFunction;
 import lombok.AllArgsConstructor;
+import org.springblade.common.utils.BaseUtils;
+import org.springblade.common.utils.CommonUtil;
 import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringPool;
 import org.springblade.manager.entity.WbsParam;
+import org.springblade.manager.entity.WbsTreeContract;
 import org.springblade.manager.mapper.WbsParamMapper;
 import org.springblade.manager.service.IWbsParamService;
+import org.springblade.manager.service.IWbsTreeContractService;
+import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
 /**
  * @author yangyj
  * @Date 2022/6/17 17:00
@@ -15,4 +30,25 @@ import org.springframework.stereotype.Service;
 @Service
 @AllArgsConstructor
 public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsParam> implements IWbsParamService {
+    private final IWbsTreeContractService treeContractService;
+    private static final String NOT_SET="还未配置提名规则";
+    /**
+     * 文件题名*/
+    public static final String FILE_TITLE="FILE_TITLE";
+    @Override
+    @Cacheable(cacheNames = "file_title", key = "#nodeId+'@'+#contractId")
+    public String crateFileTitle(Long nodeId,Long contractId) {
+        if(BaseUtils.isNotNull(nodeId,contractId)){
+            StaticLog.info("获取节点{}文件题名",nodeId);
+            List<WbsTreeContract> nodes = treeContractService.searchParentAllNode(nodeId,contractId);
+            if(Func.isNotEmpty(nodes)){
+                WbsParam wp = this.getOne(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getWbsId,nodeId).eq(WbsParam::getK,FILE_TITLE));
+                if(Func.isNotEmpty(wp)){
+                    CustomFunction.tree(nodes.stream().map(WbsTreeContract::getFullName).collect(Collectors.toList()), wp.getV());
+                }
+                return NOT_SET;
+            }
+        }
+        return null;
+    }
 }