EventTemplate控制器编写

This commit is contained in:
hanyong
2022-09-21 16:28:57 +08:00
parent 1512674f4c
commit 099ed8c669
6 changed files with 100 additions and 6 deletions

View File

@@ -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<EventDict> {
/**
* 返回所有树节点全部report_template_dict表数据
*
* @author hany
* @date 2022/09/21
*/
List<EventTemplateTree> getAllList();
/**
* 分页查询字典数据
* @param page 分页数据

View File

@@ -11,4 +11,11 @@
WHERE ${ew.sqlSegment}
</select>
<!--获取所有表数据-->
<select id="getAllList" resultType="com.njcn.system.pojo.vo.EventTemplateTree">
select id, pid, name, level, sort
from report_template_dict
where state = 1
</select>
</mapper>

View File

@@ -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<EventTemplateMapper, EventDict> implements IEventTemplateService {
private final EventTemplateMapper eventTemplateMapper;
/**
* 获取字典树
* @author hany
@@ -40,7 +47,42 @@ public class EventTemplateServiceImpl extends ServiceImpl<EventTemplateMapper, E
*/
@Override
public List<EventTemplateTree> getEventTemplateTree() {
return null;
List<EventTemplateTree> dictTree = new ArrayList<>();
List<EventTemplateTree> allList = eventTemplateMapper.getAllList();
List<EventTemplateTree> reportList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.REPORT_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList());
List<EventTemplateTree> lineList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.LINE_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList());
List<EventTemplateTree> detailList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.DETAIL_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList());
List<EventTemplateTree> eventList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList());
List<EventTemplateTree> densityList = allList.stream().filter(item -> item.getLevel().equals(TemplateTreeEnum.TRANS_D_LEVEL.getCode())).sorted(Comparator.comparing(EventTemplateTree::getSort)).collect(Collectors.toList());
List<EventTemplateTree> 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<EventTemplateTree> getChildren(EventTemplateTree item, List<EventTemplateTree> all) {
return all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).collect(Collectors.toList());
}
/**