Commit 6cfa679f authored by 胡秀武's avatar 胡秀武

胡秀武:模型列表bug修复

parent cc5fdf04
......@@ -41,7 +41,8 @@ public enum CodeEnum {
*/
NO_DATA("555", "数据库数据异常", false),
UP_DATA_FAIL("401005", "更新失败", false),
INSERT_FAIL("401006", "插入数据失败", false);
INSERT_FAIL("401006", "插入数据失败", false),
DELETE_FAIL("401007", "修改失败", false);
/**
* 构造函数
......
......@@ -43,7 +43,7 @@ public class PageUtil<T> {
*/
Integer number;
public void pageUtil(Integer page, Integer size, List<T> list) {
public void startPage(Integer page, Integer size, List<T> list) {
List<T> list1 = list.stream().skip((page - 1) * size).limit(size).collect(Collectors.toList());
int length = list.size();
this.first = (page == 0);//是否第一页
......
package com.pms.ocp.controller;
import com.github.pagehelper.PageInfo;
import com.pms.ocp.common.constants.ResultCode;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.model.vo.OcpModelGroupVO;
......@@ -8,7 +7,6 @@ import com.pms.ocp.model.vo.ResponseVO;
import com.pms.ocp.service.ModelClassifyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -31,7 +29,6 @@ public class ModelClassifyController {
/**
* 模型分类导航
*
* @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
......@@ -53,8 +50,8 @@ public class ModelClassifyController {
@GetMapping("/subclassDetailsList")
public ResponseVO subclassDetailsList(@RequestParam int currentPage,
@RequestParam int pageSize,
@RequestParam(required = false, defaultValue = "") String parentGroupCode,
@RequestParam(required = false, defaultValue = "") String subclassGroupName
@RequestParam(required = false,defaultValue = "") String parentGroupCode,
@RequestParam(required = false,defaultValue = "") String subclassGroupName
) {
return modelClassifyService.subclassDetailsList(currentPage, pageSize, parentGroupCode, subclassGroupName);
}
......@@ -92,14 +89,25 @@ public class ModelClassifyController {
**/
@ApiOperation("删除模型分类")
@PostMapping("/delete")
public ResponseVO delete(@ApiParam(value = "模型分类编号") @RequestParam(required = false, defaultValue = "") String objId,
@ApiParam(value = "模型分类编码") @RequestParam(required = false, defaultValue = "") String modelGroupCode,
@ApiParam(value = "模型分类归属公司编码") @RequestParam(required = false, defaultValue = "") String groupCompanyCode) {
public ResponseVO delete(@RequestBody ModelClassify modelClassify) {
Integer integer = modelClassifyService.deleteModelClassify(objId, modelGroupCode, groupCompanyCode);
Integer integer = modelClassifyService.deleteModelClassify(modelClassify.getObjId(), modelClassify.getModelGroupCode(), modelClassify.getGroupCompanyCode());
if (integer.intValue() == -1) {
ResponseVO.ok(ResultCode.NO_DELETE);
}
return ResponseVO.ok(integer);
}
/**
* 删除
*
* @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@ApiOperation("删除")
@GetMapping("/delete")
public ResponseVO delete(String modelGroupCode) {
return modelClassifyService.delete(modelGroupCode);
}
}
......@@ -10,7 +10,6 @@ import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.lang.reflect.Type;
import java.util.Date;
import java.util.List;
......@@ -99,8 +98,8 @@ public class OcpModelGroupVO implements Serializable {
private Integer isDelete;
@TableField(exist = false)
@ApiModelProperty(value = "层级")
private int level;
@ApiModelProperty(value = "是否拥有子类")
private boolean isHasChildren;
/**
* 子类集合
*/
......
......@@ -16,10 +16,12 @@ public interface ModelClassifyService {
ResponseVO insert(List<ModelClassify> list);
ResponseVO subclassDetailsList(int currentPage, int pageSize, String parentGroupCode, String subclassGroupName);
ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName);
ResponseVO update(List<ModelClassify> list);
ResponseVO delete(String modelGroupCode);
/**
* 删除模型分类
*
......
......@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.pms.ocp.common.constants.CodeEnum;
import com.pms.ocp.common.utils.PageUtil;
import com.pms.ocp.mapper.ModelClassifyMapper;
import com.pms.ocp.model.entity.Model;
import com.pms.ocp.model.entity.ModelClassify;
import com.pms.ocp.model.vo.OcpModelGroupVO;
import com.pms.ocp.model.vo.ResponseVO;
......@@ -64,19 +63,20 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* @date 2022/3/9 <PageInfo<OcpModelGroupVO>>
**/
@Override
public ResponseVO subclassDetailsList(int currentPage, int pageSize, String parentGroupCode, String subclassGroupName) {
public ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName) {
//查询所有
List<OcpModelGroupVO> ocpModelGroupVOList = this.selectByCondition(null, null);
List<OcpModelGroupVO> ocpModelGroupVOList = this.selectByCondition(null,null);
//将查询到所有数据的list转换为key为分类code,value为本身的map
Map<String, OcpModelGroupVO> groupByCode = ocpModelGroupVOList.stream().collect(Collectors.toMap(OcpModelGroupVO::getModelGroupCode, Function.identity(), (key1, key2) -> key2));
//根据key获取前端传入code的对象
OcpModelGroupVO ocpModelGroupVO = groupByCode.get(parentGroupCode);
//模糊查询
List<OcpModelGroupVO> dimConditionList = this.selectByCondition(null, subclassGroupName);
List<OcpModelGroupVO> dimConditionList = this.selectByCondition(null,subclassGroupName);
//递归获取模糊查询后属于parentGroupCode子集
List<OcpModelGroupVO> childrenList = findChildren(dimConditionList, ocpModelGroupVO, new LinkedList<>());
List<OcpModelGroupVO> sortList = childrenList.stream().sorted(Comparator.comparing(OcpModelGroupVO::getGroupCtime).reversed()).collect(Collectors.toList());
PageUtil<OcpModelGroupVO> pageUtil = new PageUtil<>();
pageUtil.pageUtil(currentPage, pageSize, childrenList);
pageUtil.startPage(currentPage, pageSize, sortList);
return ResponseVO.ok(pageUtil);
}
......@@ -97,6 +97,20 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
return ResponseVO.ok();
}
/**
* 删除
* @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
**/
@Override
public ResponseVO delete(String modelGroupCode) {
if (!ocpService.removeById(modelGroupCode)) {
return ResponseVO.error(CodeEnum.DELETE_FAIL);
}
return ResponseVO.ok();
}
/**
* 新增
*
......@@ -116,26 +130,28 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
/**
* 获取父节点下的所有子节点放入list中
*
* @author huxiuwu
* @date 2022/3/9
* @param
* @param
* @param
* @return void
* @author huxiuwu
* @date 2022/3/9
**/
private List<OcpModelGroupVO> findChildren(List<OcpModelGroupVO> groupList, OcpModelGroupVO parent, List<OcpModelGroupVO> childList) {
for (OcpModelGroupVO vo : groupList) {
//遍历出父id等于参数的id,add进子节点集合
if (parent != null
&& parent.getModelGroupCode()
.equals(vo.getModelGroupPcode())
&& !"".equals(parent.getModelGroupCode())) {
//递归遍历下一级
&& !"".equals(parent.getModelGroupCode())
&& !parent.getModelGroupCode().equals(vo.getModelGroupCode())) {
parent.setHasChildren(true);
vo.setModelGroupPName(parent.getModelGroupName());
if (!childList.remove(vo)) {
childList.add(vo);
}
//递归下一级
findChildren(groupList, vo, childList);
}
}
......@@ -161,7 +177,8 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
//得到自己的父类
OcpModelGroupVO parent = nodeMap.get(node.getModelGroupPcode());
if (parent != null && (node.getModelGroupPcode().equals(parent.getModelGroupCode()))
&& (!"".equals(node.getModelGroupPcode()) || !"".equals(parent.getModelGroupCode()))) {
&& (!"".equals(node.getModelGroupPcode())|| !"".equals(parent.getModelGroupCode()))
&& !parent.getModelGroupCode().equals(node.getModelGroupCode())) {
//防止每次都new list或者只是使用该对象就new对象浪费内存或者覆盖上一次记录
if (parent.getChildrenList() == null) {
parent.setChildrenList(new LinkedList<>());
......@@ -178,24 +195,25 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
}
/**
* @param parent 父类
* @param treeNodes 需要遍历list
*
* @author huxiuwu
* @date 2022/3/10
* @param parent 父类
* @param treeNodes 需要遍历list
**/
private void addLevel(OcpModelGroupVO parent, List<OcpModelGroupVO> treeNodes) {
int level = parent.getLevel();
parent.setLevel(level++);
for (OcpModelGroupVO treeNode : treeNodes) {
if (treeNode != null && parent.getModelGroupCode().equals(treeNode.getModelGroupPcode())) {
addLevel(treeNode, treeNodes);
}
}
}
// private void addLevel(OcpModelGroupVO parent, List<OcpModelGroupVO> treeNodes) {
// int level = parent.getLevel();
// parent.setLevel(level++);
// for (OcpModelGroupVO treeNode : treeNodes) {
// if (treeNode != null && parent.getModelGroupCode().equals(treeNode.getModelGroupPcode())) {
// addLevel(treeNode, treeNodes);
// }
// }
// }
/**
* 生成构造器
*
* @author huxiuwu
* @date 2022/3/10
* @param searchCondition
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @author huxiuwu
......@@ -205,7 +223,7 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
QueryWrapper<OcpModelGroupVO> queryWrapper = new QueryWrapper<>();
//根据是否传入搜索条件创建构造器进行查询
queryWrapper.eq(StringUtils.isNotEmpty(searchCondition[0]), "model_group_pcode", searchCondition[0])
.like(StringUtils.isNotEmpty(searchCondition[1]), "model_group_name", searchCondition[1]).orderBy(false, false, "group_ctime");
.like(StringUtils.isNotEmpty(searchCondition[1]),"model_group_name", searchCondition[1]);
return classifyMapper.selectList(queryWrapper);
}
......@@ -223,12 +241,12 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
QueryWrapper<OcpModelGroupVO> queryWrapper = new QueryWrapper();
if (StringUtils.isNotEmpty(modelGroupCode)) {
queryWrapper.lambda().eq(OcpModelGroupVO::getModelGroupPcode, modelGroupCode);
queryWrapper.lambda().eq(OcpModelGroupVO::getModelGroupCode, modelGroupCode);
}
List<OcpModelGroupVO> opList = classifyMapper.selectList(queryWrapper);
if (opList.isEmpty()) {
if (!opList.isEmpty()) {
if (StringUtils.isNotEmpty(objId)) {
queryWrapper.lambda().eq(OcpModelGroupVO::getObjId, objId);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment