Commit ca7c76c9 authored by itcast's avatar itcast

Merge remote-tracking branch 'origin/master'

parents e942669b 6cfa679f
...@@ -41,7 +41,8 @@ public enum CodeEnum { ...@@ -41,7 +41,8 @@ public enum CodeEnum {
*/ */
NO_DATA("555", "数据库数据异常", false), NO_DATA("555", "数据库数据异常", false),
UP_DATA_FAIL("401005", "更新失败", 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 { ...@@ -87,6 +87,7 @@ public enum ResultCode {
ROLE_EXIST(10007, "角色定义已存在!"), ROLE_EXIST(10007, "角色定义已存在!"),
CODE_EXIST(10008, "编码已存在!"), CODE_EXIST(10008, "编码已存在!"),
NAME_EXIST(10009, "名称已存在!"), NAME_EXIST(10009, "名称已存在!"),
NO_DELETE(10010, "无法删除,有关联数据!"),
USER_ORGANIZATION_LEVEL_ERROR(10023, "用户组织机构关联层级有误!"), USER_ORGANIZATION_LEVEL_ERROR(10023, "用户组织机构关联层级有误!"),
USER_ORGANIZATION_INFO_ERROR(10024,"用户组织机构信息有误!"), USER_ORGANIZATION_INFO_ERROR(10024,"用户组织机构信息有误!"),
TOKEN_INVALID(9997, "登录失效,请重新登录!"), TOKEN_INVALID(9997, "登录失效,请重新登录!"),
......
...@@ -43,7 +43,7 @@ public class PageUtil<T> { ...@@ -43,7 +43,7 @@ public class PageUtil<T> {
*/ */
Integer number; 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()); List<T> list1 = list.stream().skip((page - 1) * size).limit(size).collect(Collectors.toList());
int length = list.size(); int length = list.size();
this.first = (page == 0);//是否第一页 this.first = (page == 0);//是否第一页
......
package com.pms.ocp.controller; 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.entity.ModelClassify;
import com.pms.ocp.model.vo.OcpModelGroupVO; import com.pms.ocp.model.vo.OcpModelGroupVO;
import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.model.vo.ResponseVO;
...@@ -29,8 +29,6 @@ public class ModelClassifyController { ...@@ -29,8 +29,6 @@ public class ModelClassifyController {
/** /**
* 模型分类导航 * 模型分类导航
*
* @param searchCondition 分类名称
* @return pms.ocp.model.vo.ResponseVO * @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu * @author huxiuwu
* @date 2022/3/9 * @date 2022/3/9
...@@ -85,4 +83,31 @@ public class ModelClassifyController { ...@@ -85,4 +83,31 @@ public class ModelClassifyController {
public ResponseVO update(@RequestBody List<ModelClassify> list) { public ResponseVO update(@RequestBody List<ModelClassify> list) {
return modelClassifyService.update(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; ...@@ -10,7 +10,6 @@ import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable; import java.io.Serializable;
import java.lang.reflect.Type;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -99,8 +98,8 @@ public class OcpModelGroupVO implements Serializable { ...@@ -99,8 +98,8 @@ public class OcpModelGroupVO implements Serializable {
private Integer isDelete; private Integer isDelete;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value = "层级") @ApiModelProperty(value = "是否拥有子类")
private int level; private boolean isHasChildren;
/** /**
* 子类集合 * 子类集合
*/ */
......
...@@ -19,4 +19,16 @@ public interface ModelClassifyService { ...@@ -19,4 +19,16 @@ public interface ModelClassifyService {
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 update(List<ModelClassify> list);
ResponseVO delete(String modelGroupCode);
/**
* 删除模型分类
*
* @param objId
* @param modelCode
* @param groupCompanyCode
* @return
*/
Integer deleteModelClassify(String objId, String modelCode, String groupCompanyCode);
} }
...@@ -54,9 +54,10 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { ...@@ -54,9 +54,10 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
/** /**
* 右侧子类详情列表 * 右侧子类详情列表
* 这边是右侧详情页,需求是点击右侧导航树上的分类显示该分类的所有子集, * 这边是右侧详情页,需求是点击右侧导航树上的分类显示该分类的所有子集,
* 所以第一次查询查询到所有并将其转换为key为其分类编码,value为其本身 * 所以第一次查询查询到所有并将其转换为key为其分类编码,value为其本身
* 的map.第二次是根据搜素框的值进行模糊查询 * 的map.第二次是根据搜素框的值进行模糊查询
*
* @return pms.ocp.model.vo.ResponseVO * @return pms.ocp.model.vo.ResponseVO
* @author huxiuwu * @author huxiuwu
* @date 2022/3/9 <PageInfo<OcpModelGroupVO>> * @date 2022/3/9 <PageInfo<OcpModelGroupVO>>
...@@ -73,10 +74,12 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { ...@@ -73,10 +74,12 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
List<OcpModelGroupVO> dimConditionList = this.selectByCondition(null,subclassGroupName); List<OcpModelGroupVO> dimConditionList = this.selectByCondition(null,subclassGroupName);
//递归获取模糊查询后属于parentGroupCode子集 //递归获取模糊查询后属于parentGroupCode子集
List<OcpModelGroupVO> childrenList = findChildren(dimConditionList, ocpModelGroupVO, new LinkedList<>()); List<OcpModelGroupVO> childrenList = findChildren(dimConditionList, ocpModelGroupVO, new LinkedList<>());
PageUtil<OcpModelGroupVO> pageUtil = new PageUtil<>(); List<OcpModelGroupVO> sortList = childrenList.stream().sorted(Comparator.comparing(OcpModelGroupVO::getGroupCtime).reversed()).collect(Collectors.toList());
pageUtil.pageUtil(currentPage,pageSize,childrenList); PageUtil<OcpModelGroupVO> pageUtil = new PageUtil<>();
pageUtil.startPage(currentPage, pageSize, sortList);
return ResponseVO.ok(pageUtil); return ResponseVO.ok(pageUtil);
} }
/** /**
* 修改 * 修改
* *
...@@ -94,6 +97,20 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { ...@@ -94,6 +97,20 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
return ResponseVO.ok(); 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 { ...@@ -120,29 +137,34 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* @param * @param
* @return void * @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) { for (OcpModelGroupVO vo : groupList) {
//遍历出父id等于参数的id,add进子节点集合 //遍历出父id等于参数的id,add进子节点集合
if (parent!= null if (parent != null
&& parent.getModelGroupCode() && parent.getModelGroupCode()
.equals(vo.getModelGroupPcode()) .equals(vo.getModelGroupPcode())
&& !"".equals(parent.getModelGroupCode())) { && !"".equals(parent.getModelGroupCode())
//递归遍历下一级 && !parent.getModelGroupCode().equals(vo.getModelGroupCode())) {
vo.setModelGroupPName(parent.getModelGroupName()); parent.setHasChildren(true);
if (!childList.remove(vo)){ vo.setModelGroupPName(parent.getModelGroupName());
childList.add(vo); if (!childList.remove(vo)) {
} childList.add(vo);
findChildren(groupList, vo, childList); }
//递归下一级
findChildren(groupList, vo, childList);
} }
} }
return childList; return childList;
} }
/** /**
* 构建树节点 * 构建树节点
* @author huxiuwu *
* @date 2022/3/10
* @param treeNodes 需要构建的list * @param treeNodes 需要构建的list
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO> * @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/10
**/ **/
private List<OcpModelGroupVO> build(List<OcpModelGroupVO> treeNodes) { private List<OcpModelGroupVO> build(List<OcpModelGroupVO> treeNodes) {
List<OcpModelGroupVO> result = new ArrayList<>(); List<OcpModelGroupVO> result = new ArrayList<>();
...@@ -155,7 +177,8 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { ...@@ -155,7 +177,8 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
//得到自己的父类 //得到自己的父类
OcpModelGroupVO parent = nodeMap.get(node.getModelGroupPcode()); OcpModelGroupVO parent = nodeMap.get(node.getModelGroupPcode());
if (parent != null && (node.getModelGroupPcode().equals(parent.getModelGroupCode())) 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对象浪费内存或者覆盖上一次记录 //防止每次都new list或者只是使用该对象就new对象浪费内存或者覆盖上一次记录
if (parent.getChildrenList() == null) { if (parent.getChildrenList() == null) {
parent.setChildrenList(new LinkedList<>()); parent.setChildrenList(new LinkedList<>());
...@@ -178,27 +201,62 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { ...@@ -178,27 +201,62 @@ public class ModelClassifyServiceImpl implements ModelClassifyService {
* @param parent 父类 * @param parent 父类
* @param treeNodes 需要遍历list * @param treeNodes 需要遍历list
**/ **/
private void addLevel(OcpModelGroupVO parent, List<OcpModelGroupVO> treeNodes) { // private void addLevel(OcpModelGroupVO parent, List<OcpModelGroupVO> treeNodes) {
int level = parent.getLevel(); // int level = parent.getLevel();
parent.setLevel(level++); // parent.setLevel(level++);
for (OcpModelGroupVO treeNode : treeNodes) { // for (OcpModelGroupVO treeNode : treeNodes) {
if (treeNode != null && parent.getModelGroupCode().equals(treeNode.getModelGroupPcode())){ // if (treeNode != null && parent.getModelGroupCode().equals(treeNode.getModelGroupPcode())) {
addLevel(treeNode,treeNodes); // addLevel(treeNode, treeNodes);
} // }
} // }
} // }
/** /**
* 生成构造器 * 生成构造器
* @author huxiuwu * @author huxiuwu
* @date 2022/3/10 * @date 2022/3/10
* @param searchCondition * @param searchCondition
* @return List<com.pms.ocp.model.vo.OcpModelGroupVO> * @return List<com.pms.ocp.model.vo.OcpModelGroupVO>
* @author huxiuwu
* @date 2022/3/10
**/ **/
private List<OcpModelGroupVO> selectByCondition(String... searchCondition) { private List<OcpModelGroupVO> selectByCondition(String... searchCondition) {
QueryWrapper<OcpModelGroupVO> queryWrapper = new QueryWrapper<>(); QueryWrapper<OcpModelGroupVO> queryWrapper = new QueryWrapper<>();
//根据是否传入搜索条件创建构造器进行查询 //根据是否传入搜索条件创建构造器进行查询
queryWrapper.eq(StringUtils.isNotEmpty(searchCondition[0]), "model_group_pcode", searchCondition[0]) 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); 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