fix: 字典字段lombok冲突
This commit is contained in:
@@ -179,12 +179,12 @@ public class SysDictItem implements TreeNode {
|
||||
private List<SysDictItem> childrenList;
|
||||
|
||||
@Override
|
||||
public String getTreeNodeId() {
|
||||
public String obtainTreeNodeId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTreeNodeParentId() {
|
||||
public String obtainTreeNodeParentId() {
|
||||
return parentId;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.jero.modules.system.service;
|
||||
|
||||
public interface TreeNode {
|
||||
String getTreeNodeId(); // 返回节点的唯一标识
|
||||
String getTreeNodeParentId(); // 返回父节点的唯一标识
|
||||
String obtainTreeNodeId(); // 返回节点的唯一标识
|
||||
String obtainTreeNodeParentId(); // 返回父节点的唯一标识
|
||||
}
|
||||
+84
-2
@@ -2239,7 +2239,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
}
|
||||
// 如果value不为null和"",则拼接查询条件
|
||||
if (StringUtils.isNotBlank(value)) {
|
||||
jointSelectCondition(fieldList, selectCondition, key, value, tableName);
|
||||
jointSelectCondition(fieldList, selectCondition, key, value, tableName, parameterMap);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2279,6 +2279,79 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
return selectCondition.toString();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getTreeFatherChild(String tableName, String key, String value, String dicId) {
|
||||
LambdaQueryWrapper<SysDictItem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysDictItem::getDictId, dicId);
|
||||
wrapper.eq(SysDictItem::getItemValue, value);
|
||||
SysDictItem targetNode = sysDictItemService.getOne(wrapper);
|
||||
List<SysDictItem> resultNodeList = new ArrayList<>();
|
||||
// 获取所有数据
|
||||
wrapper.clear();
|
||||
wrapper.eq(SysDictItem::getDictId, dicId);
|
||||
List<SysDictItem> allNodeList = sysDictItemService.list(wrapper);
|
||||
TreePage<SysDictItem> treePage = new TreePage<>();
|
||||
treePage.setRecords(allNodeList);
|
||||
// 获取当前
|
||||
Set<SysDictItem> allChildren = treePage.findAllChildren(allNodeList, targetNode);
|
||||
Set<SysDictItem> pathToRoot = treePage.findPathToRoot(allNodeList, targetNode);
|
||||
resultNodeList.addAll(allChildren);
|
||||
resultNodeList.addAll(pathToRoot);
|
||||
|
||||
if (resultNodeList.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
|
||||
List<String> valueList = resultNodeList.stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
|
||||
|
||||
StringBuilder sql = new StringBuilder(" AND (");
|
||||
for (int i = 0; i < valueList.size(); i++) {
|
||||
sql.append("FIND_IN_SET('").append(valueList.get(i))
|
||||
.append("', ").append(tableName).append(".").append(key).append(")");
|
||||
if (i < valueList.size() - 1) {
|
||||
sql.append(" OR ");
|
||||
}
|
||||
}
|
||||
sql.append(")");
|
||||
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private String getTreeChild(String tableName, String key, String value, String dicId) {
|
||||
LambdaQueryWrapper<SysDictItem> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysDictItem::getDictId, dicId);
|
||||
wrapper.eq(SysDictItem::getItemValue, value);
|
||||
SysDictItem targetNode = sysDictItemService.getOne(wrapper);
|
||||
// 获取整颗零部件树
|
||||
wrapper.clear();
|
||||
wrapper.eq(SysDictItem::getDictId, dicId);
|
||||
List<SysDictItem> allNodeList = sysDictItemService.list(wrapper);
|
||||
TreePage<SysDictItem> treePage = new TreePage<>();
|
||||
treePage.setRecords(allNodeList);
|
||||
// 获取当前
|
||||
Set<SysDictItem> allChildren = treePage.findAllChildren(allNodeList, targetNode);
|
||||
List<SysDictItem> resultNodeList = new ArrayList<>(allChildren);
|
||||
|
||||
if (resultNodeList.isEmpty()) {
|
||||
return "";
|
||||
}
|
||||
|
||||
List<String> valueList = resultNodeList.stream().map(SysDictItem::getItemValue).collect(Collectors.toList());
|
||||
|
||||
StringBuilder sql = new StringBuilder(" AND (");
|
||||
for (int i = 0; i < valueList.size(); i++) {
|
||||
sql.append("FIND_IN_SET('").append(valueList.get(i))
|
||||
.append("', ").append(tableName).append(".").append(key).append(")");
|
||||
if (i < valueList.size() - 1) {
|
||||
sql.append(" OR ");
|
||||
}
|
||||
}
|
||||
sql.append(")");
|
||||
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private List<String> getLawsPartNameStandard(String partName) {
|
||||
PartName targetNode = partNameService.getById(partName);
|
||||
@@ -2384,7 +2457,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
* @Date: 2023/8/25 10:58
|
||||
* @Description: 拼接查询条件
|
||||
**/
|
||||
private void jointSelectCondition(List<LawsTag> fieldList, StringBuilder selectCondition, String key, String value, String tableName) {
|
||||
private void jointSelectCondition(List<LawsTag> fieldList, StringBuilder selectCondition, String key, String value,
|
||||
String tableName, Map<String, Object> parameterMap) {
|
||||
for (LawsTag lawsTag : fieldList) {
|
||||
String dbFieldName = lawsTag.getDbFieldName();
|
||||
if (Objects.equals(key, "standard_state")) {
|
||||
@@ -2414,6 +2488,14 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
||||
} else if (LawsFieldTypeEnum.DATE_MANY.getValue().equals(fieldShowType)) {
|
||||
// 多日期查询
|
||||
processDateManyTypeCondition(selectCondition, key, value);
|
||||
}else if (FieldShowTypeEnum.TREE_FATHER_CHILD.getValue().equals(fieldShowType)) {
|
||||
String sql = getTreeFatherChild(tableName, key, value, lawsTag.getDictId());
|
||||
selectCondition.append(sql);
|
||||
parameterMap.remove(key);
|
||||
} else if (FieldShowTypeEnum.TREE_CHILD.getValue().equals(fieldShowType)) {
|
||||
String sql = getTreeChild(tableName, key, value, lawsTag.getDictId());
|
||||
selectCondition.append(sql);
|
||||
parameterMap.remove(key);
|
||||
}
|
||||
// 处理其他类型
|
||||
}
|
||||
|
||||
@@ -347,7 +347,9 @@ public class ImportUtil {
|
||||
|
||||
// 树形单选
|
||||
if ((FieldShowTypeEnum.TREE_STRUCTURE_SINGLE_SELECT.getValue().equals(tag.getFieldShowType()) ||
|
||||
FieldShowTypeEnum.TREE_STRUCTURE_MULTI_SELECT.getValue().equals(tag.getFieldShowType())) &&
|
||||
FieldShowTypeEnum.TREE_STRUCTURE_MULTI_SELECT.getValue().equals(tag.getFieldShowType()) ||
|
||||
FieldShowTypeEnum.TREE_FATHER_CHILD.getValue().equals(tag.getFieldShowType()) ||
|
||||
FieldShowTypeEnum.TREE_CHILD.getValue().equals(tag.getFieldShowType())) &&
|
||||
(!FieldCommon.STANDARD_SYSTEM.equals(tag.getDbFieldName()))
|
||||
) {
|
||||
// 根据tag找到dictCode
|
||||
|
||||
+58
@@ -0,0 +1,58 @@
|
||||
package com.jero.modules.laws.standard.controller;
|
||||
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.modules.laws.standard.entity.TreePage;
|
||||
import com.jero.modules.laws.standard.service.DictTreeService;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author: Mzaxd
|
||||
* @Date: 2024/1/19 10:42
|
||||
*/
|
||||
@Api(tags = "树形结构")
|
||||
@RestController
|
||||
@RequestMapping("/laws/dictTree")
|
||||
@Slf4j
|
||||
public class LawsDictTreeController {
|
||||
|
||||
@Resource
|
||||
private DictTreeService dictTreeService;
|
||||
|
||||
@AutoLog(value = "树形结构-获取一级树")
|
||||
@ApiOperation(value = "树形结构-零部件树", notes = "树形结构-零部件树")
|
||||
@GetMapping("/page")
|
||||
public Result<TreePage<SysDictItem>> queryTreeList(
|
||||
@RequestParam(name = "nodeName", required = false, defaultValue = "") @ApiParam("一级节点名称") String nodeName,
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") @ApiParam("页码") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") @ApiParam("页面大小") Integer pageSize) {
|
||||
TreePage<SysDictItem> list = dictTreeService.queryTreeList(nodeName, pageNo, pageSize);
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
@AutoLog(value = "树形结构-零部件树选中回显")
|
||||
@ApiOperation(value = "树形结构-零部件树选中回显", notes = "树形结构-零部件树选中回显")
|
||||
@PostMapping("/echo")
|
||||
public Result<List<SysDictItem>> queryEcho(@RequestBody Map<String, String> selectNodeCodes) {
|
||||
List<SysDictItem> list = dictTreeService.queryEcho(selectNodeCodes.get("selectNodeCodes"));
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
@AutoLog(value = "树形结构-零部件树历史数据处理")
|
||||
@ApiOperation(value = "树形结构-零部件树历史数据处理", notes = "树形结构-零部件树历史数据处理")
|
||||
@GetMapping("/getChild")
|
||||
public Result<List<SysDictItem>> getChild(@RequestParam("dictItemId") String dictItemId) {
|
||||
return Result.OK(dictTreeService.getChild(dictItemId));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -115,11 +115,11 @@ public class PartName implements Serializable, TreeNode {
|
||||
private String levelPath;
|
||||
|
||||
@Override
|
||||
public String getTreeNodeId() {
|
||||
public String obtainTreeNodeId() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getTreeNodeParentId() {
|
||||
public String obtainTreeNodeParentId() {
|
||||
return parentCode;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,9 +24,9 @@ public class TreePage<T extends TreeNode> {
|
||||
T current = node;
|
||||
while (current != null) {
|
||||
pathNodes.add(current);
|
||||
String parentCode = current.getTreeNodeParentId();
|
||||
String parentCode = current.obtainTreeNodeParentId();
|
||||
current = allNodes.stream()
|
||||
.filter(n -> n.getTreeNodeId().equals(parentCode))
|
||||
.filter(n -> n.obtainTreeNodeId().equals(parentCode))
|
||||
.findFirst().orElse(null);
|
||||
}
|
||||
return pathNodes;
|
||||
@@ -36,7 +36,7 @@ public class TreePage<T extends TreeNode> {
|
||||
public Set<T> findAllChildren(List<T> allNodes, T node) {
|
||||
Set<T> childrenSet = new HashSet<>();
|
||||
List<T> directChildren = allNodes.stream()
|
||||
.filter(n -> n.getTreeNodeParentId().equals(node.getTreeNodeId()))
|
||||
.filter(n -> n.obtainTreeNodeParentId().equals(node.obtainTreeNodeId()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
for (T child : directChildren) {
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
package com.jero.modules.laws.standard.service;
|
||||
|
||||
import com.jero.modules.laws.standard.entity.TreePage;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
import com.jero.modules.system.service.ISysDictService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class DictTreeService {
|
||||
|
||||
@Resource
|
||||
private ISysDictService dictService;
|
||||
|
||||
@Resource
|
||||
private ISysDictItemService dictItemService;
|
||||
|
||||
public TreePage<SysDictItem> queryTreeList(String nodeName, Integer pageNo, Integer pageSize) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<SysDictItem> queryEcho(String selectNodeCodes) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public List<SysDictItem> getChild(String dictItemId) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -131,8 +131,7 @@ public class PartNameServiceImpl extends ServiceImpl<PartNameMapper, PartName>
|
||||
public List<PartName> queryEcho(String selectNodeCodes) {
|
||||
List<String> codeList = StrUtil.split(selectNodeCodes, ',');
|
||||
LambdaQueryWrapper<PartName> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PartName::getDelFlag, YesOrNoEnum.NO.getValue())
|
||||
.in(PartName::getCode, codeList);
|
||||
queryWrapper.in(PartName::getCode, codeList);
|
||||
return partNameMapper.selectList(queryWrapper);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user