diff --git a/src/main/java/com/pms/ocp/common/constants/CodeEnum.java b/src/main/java/com/pms/ocp/common/constants/CodeEnum.java index 882e30d8db2232f90fc8245a8f396bbafbf5da9b..90cdc11d603326d6dd333b1b906c1a84d12c8e61 100644 --- a/src/main/java/com/pms/ocp/common/constants/CodeEnum.java +++ b/src/main/java/com/pms/ocp/common/constants/CodeEnum.java @@ -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); /** * 构造函数 diff --git a/src/main/java/com/pms/ocp/common/utils/PageUtil.java b/src/main/java/com/pms/ocp/common/utils/PageUtil.java index 4e56e7a5d0857a86b48886e20354dcb05c979662..58644e95146864ac9dbe6574d7b94d30fdb090fc 100644 --- a/src/main/java/com/pms/ocp/common/utils/PageUtil.java +++ b/src/main/java/com/pms/ocp/common/utils/PageUtil.java @@ -43,7 +43,7 @@ public class PageUtil { */ Integer number; - public void pageUtil(Integer page, Integer size, List list) { + public void startPage(Integer page, Integer size, List list) { List list1 = list.stream().skip((page - 1) * size).limit(size).collect(Collectors.toList()); int length = list.size(); this.first = (page == 0);//是否第一页 diff --git a/src/main/java/com/pms/ocp/controller/ModelClassifyController.java b/src/main/java/com/pms/ocp/controller/ModelClassifyController.java index 5624c5e93c918b754bf737355c54568f5d34dfdb..4e513c43cdd92e33d90acded481c0af267cf8b97 100644 --- a/src/main/java/com/pms/ocp/controller/ModelClassifyController.java +++ b/src/main/java/com/pms/ocp/controller/ModelClassifyController.java @@ -1,6 +1,5 @@ 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 @@ -52,9 +49,9 @@ public class ModelClassifyController { @ApiOperation("右侧子类详情列表") @GetMapping("/subclassDetailsList") public ResponseVO subclassDetailsList(@RequestParam int currentPage, - @RequestParam int pageSize, - @RequestParam(required = false, defaultValue = "") String parentGroupCode, - @RequestParam(required = false, defaultValue = "") String subclassGroupName + @RequestParam int pageSize, + @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); } -} \ No newline at end of file + + /** + * 删除 + * + * @return pms.ocp.model.vo.ResponseVO + * @author huxiuwu + * @date 2022/3/9 + **/ + @ApiOperation("删除") + @GetMapping("/delete") + public ResponseVO delete(String modelGroupCode) { + return modelClassifyService.delete(modelGroupCode); + } +} diff --git a/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java b/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java index 317214d8a72762c0d239842afa66c31b4e2ac7a6..45bf59b468fd9ef66c449ac1469da8f8c57d794f 100644 --- a/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java +++ b/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java @@ -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; /** * 子类集合 */ diff --git a/src/main/java/com/pms/ocp/service/ModelClassifyService.java b/src/main/java/com/pms/ocp/service/ModelClassifyService.java index a9d4b010d8699d224f1cb4952fc36637ebdf4b36..06d6b41b5840d440ec55e27da6269fa10ea4fe75 100644 --- a/src/main/java/com/pms/ocp/service/ModelClassifyService.java +++ b/src/main/java/com/pms/ocp/service/ModelClassifyService.java @@ -16,10 +16,12 @@ public interface ModelClassifyService { ResponseVO insert(List list); - ResponseVO subclassDetailsList(int currentPage, int pageSize, String parentGroupCode, String subclassGroupName); + ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName); ResponseVO update(List list); + ResponseVO delete(String modelGroupCode); + /** * 删除模型分类 * diff --git a/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java index 78bcf29809b476f0190fe5e009c1757b9d3374d1..1707f8d7e8d467e0a882793cf8329585e055074d 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java @@ -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 > **/ @Override - public ResponseVO subclassDetailsList(int currentPage, int pageSize, String parentGroupCode, String subclassGroupName) { + public ResponseVO subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName) { //查询所有 - List ocpModelGroupVOList = this.selectByCondition(null, null); + List ocpModelGroupVOList = this.selectByCondition(null,null); //将查询到所有数据的list转换为key为分类code,value为本身的map Map groupByCode = ocpModelGroupVOList.stream().collect(Collectors.toMap(OcpModelGroupVO::getModelGroupCode, Function.identity(), (key1, key2) -> key2)); //根据key获取前端传入code的对象 OcpModelGroupVO ocpModelGroupVO = groupByCode.get(parentGroupCode); //模糊查询 - List dimConditionList = this.selectByCondition(null, subclassGroupName); + List dimConditionList = this.selectByCondition(null,subclassGroupName); //递归获取模糊查询后属于parentGroupCode子集 List childrenList = findChildren(dimConditionList, ocpModelGroupVO, new LinkedList<>()); + List sortList = childrenList.stream().sorted(Comparator.comparing(OcpModelGroupVO::getGroupCtime).reversed()).collect(Collectors.toList()); PageUtil 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 findChildren(List groupList, OcpModelGroupVO parent, List 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 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 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 * @author huxiuwu @@ -205,7 +223,7 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { QueryWrapper 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 queryWrapper = new QueryWrapper(); if (StringUtils.isNotEmpty(modelGroupCode)) { - queryWrapper.lambda().eq(OcpModelGroupVO::getModelGroupPcode, modelGroupCode); + queryWrapper.lambda().eq(OcpModelGroupVO::getModelGroupCode, modelGroupCode); } List opList = classifyMapper.selectList(queryWrapper); - if (opList.isEmpty()) { + if (!opList.isEmpty()) { if (StringUtils.isNotEmpty(objId)) { queryWrapper.lambda().eq(OcpModelGroupVO::getObjId, objId); }