Ver código fonte

节点参数公式重复数据bug

yangyj 1 ano atrás
pai
commit
2495ff30b2

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

@@ -263,7 +263,7 @@ public class WbsParamController {
     @ApiOperation(value = "节点参数列表", notes = "节点参数列表")
     @GetMapping("/list")
     public R<List<WbsParamBean>> list3(@ApiParam(value = "节点id", required = true) Long wbsId) {
-        this.service.duplicate(wbsId);
+        /*this.service.duplicate(wbsId);*/
         List<WbsParam> data = this.service.list(Wrappers.<WbsParam>lambdaQuery()
                 .select(WbsParam::getId, WbsParam::getName, WbsParam::getK, WbsParam::getV, WbsParam::getRemark, WbsParam::getNodeId, WbsParam::getProjectId)
                 .eq(WbsParam::getNodeId, wbsId)

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

@@ -704,6 +704,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         this.tec.getLog().put(FormulaLog.PARAM,result.entrySet().stream().map(p->logMap.get(p.getKey())+":"+p.getValue()).collect(Collectors.joining(";")));
         /*元素动态绑定*/
         /*绑定节点参数公式*/
+        total= new ArrayList<>(total.stream().collect(Collectors.toMap(WbsParam::getK, w -> w, (v1, v2) -> v2)).values());
         this.bindParamFormula(total);
         return result;
     }
@@ -1759,6 +1760,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
                 total.addAll(wpsPrivate);
             }
             if(Func.isNotEmpty(total)){
+                total= new ArrayList<>(total.stream().collect(Collectors.toMap(WbsParam::getK, w -> w, (v1, v2) -> v2)).values());
                 List<ElementFormulaMapping> mappingList =  this.elementFormulaMappingService.list(Wrappers.<ElementFormulaMapping>lambdaQuery().in(ElementFormulaMapping::getParamId,total.stream().map(WbsParam::getId).collect(Collectors.toList())));
                 if(Func.isNotEmpty(mappingList)){
                     list.forEach(e->{