|
@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springblade.common.utils.BaseUtils;
|
|
|
import org.springblade.core.mp.base.BaseService;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
+import org.springblade.core.redis.cache.BladeRedis;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.manager.dto.TreeNode;
|
|
@@ -18,6 +19,7 @@ import org.springblade.manager.entity.*;
|
|
|
import org.springblade.manager.mapper.WbsParamMapper;
|
|
|
import org.springblade.manager.mapper.WbsTreePrivateMapper;
|
|
|
import org.springblade.manager.service.*;
|
|
|
+import org.springblade.manager.utils.RandomNumberHolder;
|
|
|
import org.springblade.manager.vo.NameRuleVo;
|
|
|
import org.springblade.manager.vo.WbsParamVo2;
|
|
|
import org.springframework.cache.annotation.Cacheable;
|
|
@@ -43,6 +45,7 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
|
|
|
private final WbsTreePrivateMapper wbsTreePrivateMapper;
|
|
|
private final IElementFormulaMappingService elementFormulaMappingService;
|
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
+ private final BladeRedis bladeRedis;
|
|
|
|
|
|
|
|
|
private static final String NOT_SET = "还未配置提名规则";
|
|
@@ -58,17 +61,22 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
|
|
|
if(wtc!=null&&wtc.getPKeyId()!=null){
|
|
|
List<WbsTreeContract> nodes = tracing(wtc.getPKeyId());
|
|
|
if (Func.isNotEmpty(nodes)) {
|
|
|
- //查询是否是底层节点
|
|
|
- String sql="select template_type from m_contract_info where id="+wtc.getContractId();
|
|
|
- Integer type= jdbcTemplate.queryForObject(sql, Integer.class);
|
|
|
+ //查询是否是底层节点
|
|
|
+ String sql="select template_type from m_contract_info where id="+wtc.getContractId();
|
|
|
+ Integer type= jdbcTemplate.queryForObject(sql, Integer.class);
|
|
|
//顶层节点优先使用底层节点配置
|
|
|
if(type==2){
|
|
|
R nameRule = this.getNameRuleByPkeyId(wtc.getPKeyId(), Long.valueOf(wtc.getProjectId()));
|
|
|
if(nameRule.getData()!=null){
|
|
|
List<String> nameRules =(List<String>) nameRule.getData();
|
|
|
- return CustomFunction.tree(nodes, String.join("-", nameRules),2).toString();
|
|
|
+ RandomNumberHolder.setRandomTemplateType(2);
|
|
|
+ RandomNumberHolder.setRandomWbsTreeContract(nodes);
|
|
|
+ //在节点参数获取的时候有反射,改参数个数和类型会有问题,所以把nodes存在线程副本里
|
|
|
+ return CustomFunction.tree(nodes.stream().map(w->StringUtils.isNotEmpty(w.getFullName())?w.getFullName():w.getNodeName()).collect(Collectors.toList()),
|
|
|
+ String.join("-", nameRules)).toString();
|
|
|
}
|
|
|
}else {
|
|
|
+ RandomNumberHolder.setRandomTemplateType(1);
|
|
|
WbsTreePrivate wtp = this.wtpId(wtc.getPKeyId());
|
|
|
if(wtp!=null){
|
|
|
/*优先取私有*/
|
|
@@ -81,7 +89,7 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
|
|
|
}
|
|
|
}
|
|
|
if (Func.isNotEmpty(wp)) {
|
|
|
- return CustomFunction.tree(nodes, wp.getV(),1).toString();
|
|
|
+ return CustomFunction.tree(nodes.stream().map(w->StringUtils.isNotEmpty(w.getFullName())?w.getFullName():w.getNodeName()).collect(Collectors.toList()), wp.getV()).toString();
|
|
|
}else{
|
|
|
return wtp.getNodeName()+"找不到文件题名配置";
|
|
|
}
|
|
@@ -107,7 +115,7 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
|
|
|
WbsTreePrivate wtp = this.wtpId(wtc.getPKeyId());
|
|
|
if(wtp!=null){
|
|
|
if (Func.isNotEmpty(wp)) {
|
|
|
- return CustomFunction.tree(nodes, wp,null).toString();
|
|
|
+ return CustomFunction.tree(nodes.stream().map(w->StringUtils.isNotEmpty(w.getFullName())?w.getFullName():w.getNodeName()).collect(Collectors.toList()), wp).toString();
|
|
|
}else{
|
|
|
return wtp.getNodeName()+"找不到文件题名配置";
|
|
|
}
|