|
@@ -1,5 +1,6 @@
|
|
package org.springblade.manager.controller;
|
|
package org.springblade.manager.controller;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
|
@@ -20,6 +21,7 @@ import org.springblade.core.tool.support.Kv;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.Func;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
import org.springblade.core.tool.utils.ObjectUtil;
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
|
+import org.springblade.manager.dto.NameRuleDto;
|
|
import org.springblade.manager.dto.WbsTreePrivateDTO2;
|
|
import org.springblade.manager.dto.WbsTreePrivateDTO2;
|
|
import org.springblade.manager.dto.WbsTreePrivateDTO3;
|
|
import org.springblade.manager.dto.WbsTreePrivateDTO3;
|
|
import org.springblade.manager.entity.*;
|
|
import org.springblade.manager.entity.*;
|
|
@@ -56,6 +58,7 @@ public class WbsTreePrivateController extends BladeController {
|
|
private final IWbsFormElementService wbsFormElementService;
|
|
private final IWbsFormElementService wbsFormElementService;
|
|
private final IExcelTabService iExcelTabService;
|
|
private final IExcelTabService iExcelTabService;
|
|
private final JdbcTemplate jdbcTemplate;
|
|
private final JdbcTemplate jdbcTemplate;
|
|
|
|
+ private final IWbsParamService iWbsParamService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 保存项目日志划分
|
|
* 保存项目日志划分
|
|
@@ -785,13 +788,10 @@ public class WbsTreePrivateController extends BladeController {
|
|
@ApiOperationSupport(order = 30)
|
|
@ApiOperationSupport(order = 30)
|
|
@ApiOperation(value = "节点关联", notes = "节点关联")
|
|
@ApiOperation(value = "节点关联", notes = "节点关联")
|
|
@RequestMapping(value = "/link-node-tree", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/link-node-tree", method = RequestMethod.POST)
|
|
- public R linkNodeTree(@RequestParam String pkeyid,@RequestParam String nodeids) {
|
|
|
|
|
|
+ public R linkNodeTree(@RequestParam String pkeyid, @RequestParam(required = false) String nodeids) {
|
|
if(pkeyid==null || StringUtil.isEmpty(pkeyid) ){
|
|
if(pkeyid==null || StringUtil.isEmpty(pkeyid) ){
|
|
return R.fail("pkeyid不能为null");
|
|
return R.fail("pkeyid不能为null");
|
|
}
|
|
}
|
|
- if(nodeids==null || StringUtil.isEmpty(nodeids) ){
|
|
|
|
- return R.fail("nodeids不能为null");
|
|
|
|
- }
|
|
|
|
int i = wbsTreePrivateService.linkNodeTreeInfo(pkeyid, nodeids);
|
|
int i = wbsTreePrivateService.linkNodeTreeInfo(pkeyid, nodeids);
|
|
return R.success("操作成功");
|
|
return R.success("操作成功");
|
|
}
|
|
}
|
|
@@ -829,4 +829,172 @@ public class WbsTreePrivateController extends BladeController {
|
|
return wbsTreePrivateService.getExcelHtmlEntrust(nodeId,contractId);
|
|
return wbsTreePrivateService.getExcelHtmlEntrust(nodeId,contractId);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// @GetMapping("/getNameRule")
|
|
|
|
+// @ApiOperationSupport(order = 33)
|
|
|
|
+// @ApiOperation(value = "获取题名规则",notes = "获取题名规则")
|
|
|
|
+// public R<List<NameRuleVo>> getNameRule(@RequestParam Long projectId){
|
|
|
|
+// List<WbsParamVo2> list = iWbsParamService.selectNameRule(projectId);
|
|
|
|
+// if(list.size()>0){
|
|
|
|
+// Map<Long, List<WbsParamVo2>> map = list.stream()
|
|
|
|
+// .collect(Collectors.groupingBy(WbsParamVo2::getNameId));
|
|
|
|
+// List<NameRuleVo> vos=new ArrayList<>();
|
|
|
|
+// for (Map.Entry<Long, List<WbsParamVo2>> entry : map.entrySet()) {
|
|
|
|
+// NameRuleVo vo = new NameRuleVo();
|
|
|
|
+// vo.setNameId(entry.getKey());
|
|
|
|
+// vo.setNameVaule(entry.getValue().get(0).getV());
|
|
|
|
+// vo.setNameRule(getNameRuleV1(entry.getValue().get(0).getV()));
|
|
|
|
+// vo.setType(entry.getValue().get(0).getNameType());
|
|
|
|
+// List<NameRuleVo1>vo1s=new ArrayList<>();
|
|
|
|
+// for (WbsParamVo2 param : entry.getValue()) {
|
|
|
|
+// vo1s.add(new NameRuleVo1(param.getNodeId(),param.getNodeName()));
|
|
|
|
+// }
|
|
|
|
+// vo.setList(vo1s);
|
|
|
|
+// vos.add(vo);
|
|
|
|
+// }
|
|
|
|
+// return R.data(vos);
|
|
|
|
+// }
|
|
|
|
+// return R.success("暂无题名规则");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// @GetMapping("/getTitleRange")
|
|
|
|
+// @ApiOperationSupport(order = 33)
|
|
|
|
+// @ApiOperation(value = "获取题名范围",notes = "获取题名范围")
|
|
|
|
+// public R<List<TitleRangeVo>> getTitleRange(@RequestParam String projectId){
|
|
|
|
+// List<WbsTreePrivate>list=wbsTreeService.getTitleRange(projectId);
|
|
|
|
+// List<WbsParam> list1 = iWbsParamService.getBaseMapper().selectList(Wrappers.<WbsParam>lambdaQuery().eq(WbsParam::getK, "FILE_TITLE").eq(WbsParam::getProjectId, projectId));
|
|
|
|
+// if(list1.size()>0){
|
|
|
|
+// List<Long> longs = list1.stream().map(l -> l.getNodeId()).collect(Collectors.toList());
|
|
|
|
+// //判断是否已经被选中
|
|
|
|
+// for (WbsTreePrivate wbsTreePrivate : list) {
|
|
|
|
+// if(longs.contains(wbsTreePrivate.getId())){
|
|
|
|
+// wbsTreePrivate.setStatus(11);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// return R.data(list.stream()
|
|
|
|
+// .map(wbsTreePrivate -> {
|
|
|
|
+// TitleRangeVo titleRangeVo = new TitleRangeVo();
|
|
|
|
+// titleRangeVo.setId(wbsTreePrivate.getId());
|
|
|
|
+// titleRangeVo.setNodeName(wbsTreePrivate.getNodeName());
|
|
|
|
+// titleRangeVo.setStatus(wbsTreePrivate.getStatus());
|
|
|
|
+// return titleRangeVo;
|
|
|
|
+// })
|
|
|
|
+// .collect(Collectors.toList()));
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// @PostMapping("/saveOrUpdateNameRule")
|
|
|
|
+// @ApiOperationSupport(order = 34)
|
|
|
|
+// @ApiOperation(value = "新增或修改文件题名规则",notes = "新增或修改题名规则")
|
|
|
|
+// public R saveOrUpdateNameRule(@RequestBody List<NameRuleDto> nameRuleDtos){
|
|
|
|
+// if(nameRuleDtos!=null){
|
|
|
|
+// for (NameRuleDto dto : nameRuleDtos) {
|
|
|
|
+// WbsParam param = new WbsParam();
|
|
|
|
+// param.setName("文件题名");
|
|
|
|
+// param.setK("FILE_TITLE");
|
|
|
|
+// param.setV(sortNameRule(dto.getNameRule()));
|
|
|
|
+// param.setType(11);
|
|
|
|
+// param.setProjectId(dto.getProjectId());
|
|
|
|
+// param.setNameId(SnowFlakeUtil.getId());
|
|
|
|
+// param.setNameType(dto.getType());
|
|
|
|
+// //如果nameID不为空,先删除在保存
|
|
|
|
+// if(dto.getNameId()!=null){
|
|
|
|
+// iWbsParamService.getBaseMapper().delete(new QueryWrapper<WbsParam>().eq("name_id",dto.getNameId()));
|
|
|
|
+// }
|
|
|
|
+// if(dto.getType()==1){
|
|
|
|
+// List<WbsTreePrivate>list=wbsTreeService.getTitleRange(dto.getProjectId()+"");
|
|
|
|
+// if(list.size()>0){
|
|
|
|
+// dto.setNodeId(list.stream()
|
|
|
|
+// .map(item -> String.valueOf(item.getId()))
|
|
|
|
+// .collect(Collectors.joining(",")));
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// String[] nodeIds = dto.getNodeId().split(",");
|
|
|
|
+// if(nodeIds.length>0){
|
|
|
|
+// for (String nodeId : nodeIds) {
|
|
|
|
+// WbsParam p=new WbsParam();
|
|
|
|
+// BeanUtils.copyProperties(param,p);
|
|
|
|
+// p.setNodeId(Long.parseLong(nodeId));
|
|
|
|
+// iWbsParamService.getBaseMapper().insert(p);
|
|
|
|
+// }
|
|
|
|
+// }else {
|
|
|
|
+// return R.fail("操作失败");
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// return R.success("操作成功");
|
|
|
|
+// }
|
|
|
|
+// return R.fail("操作失败");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+//
|
|
|
|
+// /**
|
|
|
|
+// * 删除文件题名规则
|
|
|
|
+// * @return
|
|
|
|
+// */
|
|
|
|
+// @GetMapping("/deletedNameRule")
|
|
|
|
+// @ApiOperationSupport(order = 35)
|
|
|
|
+// @ApiOperation(value = "删除文件题名规则",notes = "删除文件题名规则")
|
|
|
|
+// public R deletedNameRule(@RequestParam Long nameId){
|
|
|
|
+// if(nameId!=null){
|
|
|
|
+// int result = iWbsParamService.getBaseMapper().delete(new QueryWrapper<WbsParam>().eq("name_id", nameId));
|
|
|
|
+// if(result>=1){
|
|
|
|
+// return R.success("操作成功");
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// return R.fail("操作失败");
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// /**
|
|
|
|
+// * 对文件题名规则排序
|
|
|
|
+// * @return
|
|
|
|
+// */
|
|
|
|
+// public String sortNameRule(String rule){
|
|
|
|
+// String[] codes = rule.split("-");
|
|
|
|
+// Arrays.sort(codes, Comparator.comparingInt(s -> Integer.parseInt(s.substring(1))));
|
|
|
|
+// return String.join("-", codes);
|
|
|
|
+// }
|
|
|
|
+// /**
|
|
|
|
+// * 根据文件题名规则转换成C0-C6形式
|
|
|
|
+// * @param string
|
|
|
|
+// * @return
|
|
|
|
+// */
|
|
|
|
+// public String getNameRuleV(String string){
|
|
|
|
+// // 定义工程名称到C格式的映射
|
|
|
|
+// Map<String, String> mapping = new HashMap<>();
|
|
|
|
+// mapping.put("单位工程", "C0");
|
|
|
|
+// mapping.put("子单位工程", "C1");
|
|
|
|
+// mapping.put("分部工程", "C2");
|
|
|
|
+// mapping.put("子分部工程", "C3");
|
|
|
|
+// mapping.put("分项工程", "C4");
|
|
|
|
+// mapping.put("子分项工程", "C5");
|
|
|
|
+// mapping.put("工序", "C6");
|
|
|
|
+// // 将输入字符串分割成列表
|
|
|
|
+// List<String> list = Arrays.asList(string.split(","));
|
|
|
|
+// return list.stream()
|
|
|
|
+// .map(mapping::get)
|
|
|
|
+// .collect(Collectors.joining("-"));
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// /**
|
|
|
|
+// * 根据C0-C6转换成文件题名
|
|
|
|
+// * @param string
|
|
|
|
+// * @return
|
|
|
|
+// */
|
|
|
|
+// public String getNameRuleV1(String string){
|
|
|
|
+// // 定义工程名称到C格式的映射
|
|
|
|
+// Map<String, String> mapping = new HashMap<>();
|
|
|
|
+// mapping.put("C0", "单位工程");
|
|
|
|
+// mapping.put("C1", "子单位工程");
|
|
|
|
+// mapping.put("C2", "分部工程");
|
|
|
|
+// mapping.put("C3", "子分部工程");
|
|
|
|
+// mapping.put("C4", "分项工程");
|
|
|
|
+// mapping.put("C5", "子分项工程");
|
|
|
|
+// mapping.put("C6", "工序");
|
|
|
|
+// // 将输入字符串分割成列表
|
|
|
|
+// List<String> list = Arrays.asList(string.split("-"));
|
|
|
|
+// return list.stream()
|
|
|
|
+// .map(mapping::get)
|
|
|
|
+// .collect(Collectors.joining(","));
|
|
|
|
+// }
|
|
|
|
+
|
|
}
|
|
}
|