Commit ca7c76c9 authored by itcast's avatar itcast

Merge remote-tracking branch 'origin/master'

parents e942669b 6cfa679f
......@@ -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);
/**
* 构造函数
......
......@@ -87,6 +87,7 @@ public enum ResultCode {
ROLE_EXIST(10007, "角色定义已存在!"),
CODE_EXIST(10008, "编码已存在!"),
NAME_EXIST(10009, "名称已存在!"),
NO_DELETE(10010, "无法删除,有关联数据!"),
USER_ORGANIZATION_LEVEL_ERROR(10023, "用户组织机构关联层级有误!"),
USER_ORGANIZATION_INFO_ERROR(10024,"用户组织机构信息有误!"),
TOKEN_INVALID(9997, "登录失效,请重新登录!"),
......
......@@ -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;
import com.pms.ocp.model.vo.ResponseVO;
......@@ -29,8 +29,6 @@ public class ModelClassifyController {
/**
* 模型分类导航
*
* @param searchCondition 分类名称
* @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9
......@@ -85,4 +83,31 @@ public class ModelClassifyController {
public ResponseVO update(@RequestBody List<ModelClassify> list) {
return modelClassifyService.update(list);
}
/**
* 删除模型分类
**/
@ApiOperation("删除模型分类")
@PostMapping("/delete")
public ResponseVO delete(@RequestBody ModelClassify modelClassify) {
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;
/**
* 子类集合
*/
......
......@@ -19,4 +19,16 @@ public interface ModelClassifyService {
ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName);
ResponseVO update(List<ModelClassify> list);
ResponseVO delete(String modelGroupCode);
/**
* 删除模型分类
*
* @param objId
* @param modelCode
* @param groupCompanyCode
* @return
*/
Integer deleteModelClassify(String objId, String modelCode, String groupCompanyCode);
}
......@@ -57,6 +57,7 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* 这边是右侧详情页,需求是点击右侧导航树上的分类显示该分类的所有子集,
* 所以第一次查询查询到所有并将其转换为key为其分类编码,value为其本身
* 的map.第二次是根据搜素框的值进行模糊查询
*
* @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu
* @date 2022/3/9 <PageInfo<OcpModelGroupVO>>
......@@ -73,10 +74,12 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
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);
}
/**
* 修改
*
......@@ -94,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();
}
/**
* 新增
*
......@@ -120,29 +137,34 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* @param
* @return void
**/
private List<OcpModelGroupVO> findChildren(List<OcpModelGroupVO> groupList, OcpModelGroupVO parent,List<OcpModelGroupVO> childList) {
private List<OcpModelGroupVO> findChildren(List<OcpModelGroupVO> groupList, OcpModelGroupVO parent, List<OcpModelGroupVO> childList) {
for (OcpModelGroupVO vo : groupList) {
//遍历出父id等于参数的id,add进子节点集合
if (parent!= null
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)){
if (!childList.remove(vo)) {
childList.add(vo);
}
//递归下一级
findChildren(groupList, vo, childList);
}
}
return childList;
}
/**
* 构建树节点
* @author huxiuwu
* @date 2022/3/10
*
* @param treeNodes 需要构建的list
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/10
**/
private List<OcpModelGroupVO> build(List<OcpModelGroupVO> treeNodes) {
List<OcpModelGroupVO> result = new ArrayList<>();
......@@ -155,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,27 +201,62 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* @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
* @date 2022/3/10
**/
private List<OcpModelGroupVO> selectByCondition(String... searchCondition) {
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);
}
/**
* 删除模型分类
*
* @param objId
* @param modelGroupCode
* @param groupCompanyCode
* @return
*/
@Override
public Integer deleteModelClassify(String objId, String modelGroupCode, String groupCompanyCode) {
QueryWrapper<OcpModelGroupVO> queryWrapper = new QueryWrapper();
if (StringUtils.isNotEmpty(modelGroupCode)) {
queryWrapper.lambda().eq(OcpModelGroupVO::getModelGroupCode, modelGroupCode);
}
List<OcpModelGroupVO> opList = classifyMapper.selectList(queryWrapper);
if (!opList.isEmpty()) {
if (StringUtils.isNotEmpty(objId)) {
queryWrapper.lambda().eq(OcpModelGroupVO::getObjId, objId);
}
if (StringUtils.isNotEmpty(groupCompanyCode)) {
queryWrapper.lambda().eq(OcpModelGroupVO::getGroupCompanyCode, groupCompanyCode);
}
return classifyMapper.delete(queryWrapper);
}
return -1;
}
}
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