From 099ed8c6699923acccc5c2a38a7ef97274887b3d Mon Sep 17 00:00:00 2001 From: hanyong <1334742946@qq.com> Date: Wed, 21 Sep 2022 16:28:57 +0800 Subject: [PATCH] =?UTF-8?q?EventTemplate=E6=8E=A7=E5=88=B6=E5=99=A8?= =?UTF-8?q?=E7=BC=96=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/system/enums/TemplateTreeEnum.java | 29 ++++++++++++ .../com/njcn/system/pojo/po/EventDict.java | 5 +++ .../system/pojo/vo/EventTemplateTree.java | 10 ++--- .../system/mapper/EventTemplateMapper.java | 11 +++++ .../mapper/mapping/EventTemplateMapper.xml | 7 +++ .../impl/EventTemplateServiceImpl.java | 44 ++++++++++++++++++- 6 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java b/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java new file mode 100644 index 000000000..b9f5e1533 --- /dev/null +++ b/pqs-system/system-api/src/main/java/com/njcn/system/enums/TemplateTreeEnum.java @@ -0,0 +1,29 @@ +package com.njcn.system.enums; + +import lombok.Getter; + +/** + * @author hany + * @date 2022/09/21 + */ +@Getter +public enum TemplateTreeEnum { + + /** + * 各层级描述 + */ + REPORT_LEVEL(0, "报告基础项"), + LINE_LEVEL(1, "监测点"), + DETAIL_LEVEL(2, "监测点详情"), + TRANS_LEVEL(2, "暂降事件列表表格"), + TRANS_D_LEVEL(2, "暂降密度图形"), + TRANS_R_LEVEL(2, "暂降原因表格"); + + private final Integer code; + private final String message; + + TemplateTreeEnum(Integer code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventDict.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventDict.java index 345fca052..a1aca1a5f 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventDict.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/po/EventDict.java @@ -29,6 +29,11 @@ public class EventDict extends BaseEntity { */ private String name; + /** + * 描述 + */ + private String describe; + /** * 父节点 */ diff --git a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java index 8cc7ddb74..8cc485216 100644 --- a/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java +++ b/pqs-system/system-api/src/main/java/com/njcn/system/pojo/vo/EventTemplateTree.java @@ -9,7 +9,7 @@ import java.util.ArrayList; import java.util.List; /** - * 字典树 + * 字典树实体 * @author hany * @date 2022/09/09 */ @@ -17,16 +17,16 @@ import java.util.List; @Data public class EventTemplateTree implements Serializable { private String id; + @ApiModelProperty(name = "name",value = "名称") + private String name; @ApiModelProperty(name = "parentId",value = "父id") private String pid; @ApiModelProperty(name = "level",value = "等级") private Integer level; - @ApiModelProperty(name = "name",value = "名称") - private String name; + @ApiModelProperty(name = "state",value = "数据状态") + private Integer state; @ApiModelProperty(name = "sort",value = "排序") private Integer sort; - @ApiModelProperty(name = "comFlag",value = "设备状态") - private Integer comFlag; @ApiModelProperty(name = "children",value = "子节点") private List children = new ArrayList<>(); diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java index 4c33debcf..8474d8b64 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/EventTemplateMapper.java @@ -4,15 +4,26 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.system.pojo.po.EventDict; +import com.njcn.system.pojo.vo.EventTemplateTree; import com.njcn.system.pojo.vo.EventTemplateVO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author hany * @createTime 2022/09/08 */ public interface EventTemplateMapper extends BaseMapper { + /** + * 返回所有树节点(全部report_template_dict表数据) + * + * @author hany + * @date 2022/09/21 + */ + List getAllList(); + /** * 分页查询字典数据 * @param page 分页数据 diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml index 2b7729b31..e85583aac 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/EventTemplateMapper.xml @@ -11,4 +11,11 @@ WHERE ${ew.sqlSegment} + + + \ No newline at end of file diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java index 63f14819a..b099b54a5 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/EventTemplateServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -11,6 +12,7 @@ import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.db.constant.DbConstant; import com.njcn.system.enums.EventResponseEnum; +import com.njcn.system.enums.TemplateTreeEnum; import com.njcn.system.mapper.EventTemplateMapper; import com.njcn.system.pojo.param.EventTemplateParam; import com.njcn.system.pojo.po.EventDict; @@ -22,7 +24,10 @@ import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Comparator; import java.util.List; +import java.util.stream.Collectors; /** * @author: hany @@ -33,6 +38,8 @@ import java.util.List; @AllArgsConstructor public class EventTemplateServiceImpl extends ServiceImpl implements IEventTemplateService { + private final EventTemplateMapper eventTemplateMapper; + /** * 获取字典树 * @author hany @@ -40,7 +47,42 @@ public class EventTemplateServiceImpl extends ServiceImpl getEventTemplateTree() { - return null; + List dictTree = new ArrayList<>(); + List allList = eventTemplateMapper.getAllList(); + List reportList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.REPORT_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + List lineList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.LINE_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + List detailList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.DETAIL_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + List eventList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + List densityList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_D_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + List reasonList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_R_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList()); + + lineList.forEach(line -> line.setChildren(getChildren(line, detailList))); + lineList.forEach(line -> line.setChildren(getChildren(line, eventList))); + lineList.forEach(line -> line.setChildren(getChildren(line, densityList))); + lineList.forEach(line -> line.setChildren(getChildren(line, reasonList))); + reportList.forEach(report -> report.setChildren(getChildren(report, lineList))); + + if (CollectionUtil.isNotEmpty(allList)) { + EventTemplateTree eventTemplateTree = new EventTemplateTree(); + eventTemplateTree.setId("9999999"); + eventTemplateTree.setLevel(0); + eventTemplateTree.setName("报告基础项"); + if (CollectionUtil.isNotEmpty(reportList)) { + eventTemplateTree.setChildren(reportList); + } + dictTree.add(eventTemplateTree); + } + return dictTree; + } + + /** + * 获取全部子节点 + * + * @author hany + * @date 2022/09/21 + */ + public List getChildren(EventTemplateTree item, List all) { + return all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).collect(Collectors.toList()); } /**