|
@@ -1,9 +1,12 @@
|
|
|
package org.springblade.manager.controller;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
|
+import com.mixsmart.utils.CustomFunction;
|
|
|
+import com.mixsmart.utils.ListUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -12,10 +15,8 @@ import org.springblade.core.mp.support.Query;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
-import org.springblade.manager.dto.ElementData;
|
|
|
-import org.springblade.manager.dto.FormData;
|
|
|
-import org.springblade.manager.dto.FormulaBean;
|
|
|
-import org.springblade.manager.dto.ParamElements;
|
|
|
+import org.springblade.core.tool.utils.RegexUtil;
|
|
|
+import org.springblade.manager.dto.*;
|
|
|
import org.springblade.manager.entity.Formula;
|
|
|
import org.springblade.manager.service.impl.FormulaServiceImpl;
|
|
|
import org.springblade.manager.wrapper.FormulaWrapper;
|
|
@@ -23,10 +24,7 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import springfox.documentation.annotations.ApiIgnore;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Objects;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -131,21 +129,58 @@ public class FormulaController {
|
|
|
return FormulaWrapper.build().pageVO(pages);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
@PostMapping("/element-bind")
|
|
|
- @ApiOperationSupport(order = 5)
|
|
|
+ @ApiOperationSupport(order = 9)
|
|
|
@ApiOperation(value = "节点参数批量绑定", notes = "节点参数批量绑定")
|
|
|
public R elementsBind( @RequestBody ParamElements bean) {
|
|
|
if(bean!=null&&bean.verify()){
|
|
|
List<Long> elementIds = Arrays.stream(bean.getElementIds().split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
-
|
|
|
+ List<Formula> saveList = new ArrayList<>();
|
|
|
+ Map<String,Map> map = new HashMap<>();
|
|
|
elementIds.forEach(e->{
|
|
|
-
|
|
|
+ Formula formula = new Formula();
|
|
|
+ formula.setElementId(e);
|
|
|
+ formula.setWbsId(bean.getNodeId());
|
|
|
+ Map<String,String> m= new HashMap<>();
|
|
|
+ m.put("name",bean.getName());
|
|
|
+ m.put("id",bean.getParamId().toString());
|
|
|
+ map.put(bean.getK(),m);
|
|
|
+ if(RegexUtil.match(ParamElements.LEVEL_REG,bean.getV())){
|
|
|
+ /*取层级*/
|
|
|
+ formula.setFormula("FC.tree(trees,WP["+bean.getK()+"])");
|
|
|
+ }else{
|
|
|
+ /*直接取数*/
|
|
|
+ formula.setFormula("WP["+bean.getK()+"]");
|
|
|
+ }
|
|
|
+ formula.setMap(JSON.toJSONString(map));
|
|
|
+ map.clear();
|
|
|
+ saveList.add(formula);
|
|
|
});
|
|
|
+ if(ListUtils.isNotEmpty(saveList)){
|
|
|
+ if(this.service.saveBatch(saveList)){
|
|
|
+ return R.success("绑定成功");
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return R.fail("绑定失败");
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+ @PostMapping("/range")
|
|
|
+ @ApiOperationSupport(order = 10)
|
|
|
+ @ApiOperation(value = "自动填充数据", notes = "根据设计值、偏差范围、频率自动填充数据")
|
|
|
+ public R<Map<String,List<Object>>> rangeList( @RequestBody RangeInfo info) {
|
|
|
+ if(info.verify()){
|
|
|
+ Map<String,List<Object>> map = new HashMap<>();
|
|
|
+ List<Object> data = CustomFunction.rangeList(info.getSize(),info.getDesign(),info.getDev(),1,0,1);
|
|
|
+ map.put(info.getKey(),data);
|
|
|
+ return R.data(map);
|
|
|
+ }
|
|
|
+ return R.fail("无数据");
|
|
|
+ }
|
|
|
+
|
|
|
@GetMapping("/execute")
|
|
|
@ApiIgnore
|
|
|
public R execute() {
|