ソースを参照

公式、节点参数、文件题名

yangyj 1 年間 前
コミット
7ec23d2bcc

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

@@ -2696,6 +2696,12 @@ public class CustomFunction {
             return StringPool.EMPTY;
     }
 
+/*
+    public static void main(String[] args) {
+        List<Object> list = Arrays.asList(0.83,0.82,0.91,0.89,0.97,0.98);
+        ( (List<Object>)stepSum(list)).forEach(System.out::println);
+    }
+*/
 
 
 

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/FormulaController.java

@@ -931,4 +931,6 @@ public class FormulaController {
         return false;
     }
 
+
+
 }

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

@@ -342,27 +342,6 @@ public class WbsParamController {
     public R<Boolean> specified(@ApiParam(value = "关联id", required = true) Long paramId, Long elementId) {
         /*先删旧关联,检查是否存在公式,没有就新增 再增新关联*/
         this.jdbcTemplate.execute("update m_element_formula_mapping set is_deleted=1 where element_id=" + elementId + " and param_id=" + paramId);
-//        Formula formula = this.formulaService.getOne(Wrappers.<Formula>lambdaQuery().eq(Formula::getParamId, paramId));
-//        if (formula == null) {
-//            Map<String, Object> tmpMap = new HashMap<>();
-//            formula = new Formula();
-//            WbsParam param = this.service.getById(paramId);
-//            formula.setOutm(Formula.FULL);
-//            formula.setParamId(param.getId());
-//            Map<String, String> keyMap = new HashMap<>();
-//            keyMap.put("name", param.getName());
-//            keyMap.put("id", param.getId().toString());
-//            tmpMap.put(param.getK(), keyMap);
-//            if (RegexUtil.match(ParamElements.LEVEL_REG, param.getV().trim())) {
-//                /*取层级*/
-//                formula.setFormula("FC.tree(trees,WP[" + param.getK() + "])");
-//            } else {
-//                /*直接取数*/
-//                formula.setFormula("WP[" + param.getK() + "]");
-//            }
-//            formula.setMap(JSON.toJSONString(tmpMap));
-//            this.formulaService.save(formula);
-//        }
         WbsParam wbsParam=this.service.getById(paramId);
         Long formulaId=this.service.formulaId(wbsParam.getK());
         if(formulaId==null){
@@ -577,7 +556,36 @@ public class WbsParamController {
         return R.fail("创建失败");
     }
 
-
+    /**按照项目id刷新无效文件题名*/
+    @GetMapping("/file-title")
+    public R<Object> ref(Long projectId) {
+        if (StringUtils.isNumber(projectId)) {
+            String sql ="select a.id, a.wbs_id pkeyId  from u_information_query a  join m_wbs_tree_contract b on a.wbs_id=b.p_Key_id where a.name='还未配置提名规则' and a.project_id=?";
+            List<Map<String,Object>> listMaps=this.jdbcTemplate.queryForList(sql,projectId);
+            if(listMaps.size()>0){
+                List<Long> pkeyIds= listMaps.stream().map(m->Long.parseLong(m.get("pkeyId").toString())).distinct().collect(Collectors.toList());
+                Map<Long,String> map = new HashMap<>(pkeyIds.size()*2);
+                pkeyIds.forEach(pk->{
+                    try {
+                        map.put(pk,this.service.createFileTitle(pk));
+                    }catch (Exception e){
+                        System.out.println("无法溯源节点"+pk);
+                        e.printStackTrace();
+                    }
+                });
+                if(map.size()>0){
+                    String sqlUpdate="UPDATE u_information_query SET name = ? WHERE wbs_id = ?";
+                    List<Object[]> params = map.entrySet().stream()
+                            .map(entry -> new Object[]{entry.getValue(), entry.getKey()})
+                            .collect(Collectors.toList());
+                    this.jdbcTemplate.batchUpdate(sqlUpdate,params);
+                    return R.success("刷新成功");
+                }
+            }
+            return R.fail("执行异常");
+        }
+        return R.fail("项目Id格式有问题");
+    }
 
 
 }

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/formula/impl/TableElementConverter.java

@@ -155,7 +155,7 @@ public class TableElementConverter implements ITableElementConverter {
                             for (String s : values) {
                                 String[] t = s.split("_\\^_");
                                 String[] c = t[1].split("_");
-                                tmpMap.put(StringUtils.join(fd.getCode(), groupId, i, Func.toInt(c[1]), Func.toInt(c[0]), StringPool.AT), t[0]);
+                                tmpMap.put(StringUtils.join(fd.getCode(), groupId, i, Func.toInt(c[1]), Func.toInt(c[0]), StringPool.AT), t[0].trim());
                             }
                         }
                         if (Func.isNotEmpty(fd.getCoordsList())) {

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

@@ -567,7 +567,7 @@ public class FormulaServiceImpl extends BaseServiceImpl<FormulaMapper, Formula>
         return this;
     }
 
-    /*汇总阶段执行的公式*/
+    /**汇总阶段执行的公式*/
     public void summaryPre(){
         tec.formDataList.stream().filter(FormData::executable).filter(e->StringUtils.isEquals("CKI",e.getFormula().getNumber())||StringUtils.isEquals("CKD",e.getFormula().getNumber())).forEach(t->tec.summary.add(t));
         tec.formDataList.removeAll(tec.summary);

+ 7 - 3
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsParamServiceImpl.java

@@ -88,9 +88,13 @@ public class WbsParamServiceImpl extends BaseServiceImpl<WbsParamMapper, WbsPara
             String parentId = one.getParentId().toString();
             while (loop < max && StringUtils.isNotEquals(0, parentId)) {
                 WbsTreeContract next = this.treeContractService.getOne(Wrappers.<WbsTreeContract>lambdaQuery().eq(WbsTreeContract::getContractId, one.getContractId()).eq(WbsTreeContract::getId, parentId));
-                parentId = next.getParentId().toString();
-                list.add(next);
-                loop++;
+                if(next!=null) {
+                    parentId = next.getParentId().toString();
+                    list.add(next);
+                    loop++;
+                }else{
+                    loop=max;
+                }
             }
             Collections.reverse(list);
             list.remove(0);