From 5f082ef210375b0223501477a7c0acf5e3206321 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 1 Jul 2022 14:09:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=88=E6=8A=A5=E6=A0=87=E9=A2=98=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...onthlyReportTitleTemplateEOController.java | 18 ++- .../LawsMonthlyReportTitleTemplateEO.java | 26 +++-- ...LawsMonthlyReportTitleTemplateEOMapper.xml | 1 + ...wsMonthlyReportTitleTemplateEOService.java | 19 +++- ...nthlyReportTitleTemplateEOServiceImpl.java | 105 +++++++++++++++++- 5 files changed, 155 insertions(+), 14 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java index 55495b7ba..57cf0fd29 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportTitleTemplateEOController.java @@ -53,8 +53,9 @@ public class LawsMonthlyReportTitleTemplateEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportTitleTemplateEO, req.getParameterMap()); - Page page = new Page(pageNo, pageSize); - IPage pageList = lawsMonthlyReportTitleTemplateEOService.page(page, queryWrapper); +// Page page = new Page(pageNo, pageSize); +// IPage pageList = lawsMonthlyReportTitleTemplateEOService.page(page, queryWrapper); + IPage pageList = lawsMonthlyReportTitleTemplateEOService.getPageInfo(pageNo,pageSize, queryWrapper); return Result.OK(pageList); } @@ -167,4 +168,17 @@ public class LawsMonthlyReportTitleTemplateEOController extends JeroController> OneMenuList() { + List list = lawsMonthlyReportTitleTemplateEOService.OneMenuList(); + return Result.OK(list); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java index 2d7084e0c..af530b5e5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/entity/LawsMonthlyReportTitleTemplateEO.java @@ -1,21 +1,21 @@ package com.jero.modules.report.entity; -import java.io.Serializable; -import java.io.UnsupportedEncodingException; -import java.math.BigDecimal; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; -import org.springframework.format.annotation.DateTimeFormat; -import org.jeecgframework.poi.excel.annotation.Excel; -import com.jero.common.aspect.annotation.Dict; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; /** @@ -76,4 +76,14 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable { @ApiModelProperty(value = "英文标题") private java.lang.String titleEn; + @TableField(exist = false) + private List children = new ArrayList<>(); + + //标识(上移-->0,下移-->1) + @TableField(exist = false) + private String flag; + + //排序 + private int sort; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportTitleTemplateEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportTitleTemplateEOMapper.xml index 5ce76fae5..c96150e0e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportTitleTemplateEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/mapper/xml/LawsMonthlyReportTitleTemplateEOMapper.xml @@ -11,5 +11,6 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java index 63b28c44f..b0272fd65 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportTitleTemplateEOService.java @@ -1,7 +1,10 @@ package com.jero.modules.report.service; -import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; + import java.util.List; /** @@ -58,4 +61,18 @@ public interface ILawsMonthlyReportTitleTemplateEOService extends IService queryList(); + + /** + * 分页 + * @param pageNo + * @param pageSize + * @param queryWrapper + * @return + */ + IPage getPageInfo(Integer pageNo,Integer pageSize, QueryWrapper queryWrapper); + + /** + * 以及菜单 + */ + List OneMenuList(); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java index e0509e457..8efdd7896 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportTitleTemplateEOServiceImpl.java @@ -1,12 +1,22 @@ package com.jero.modules.report.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.modules.report.entity.LawsMonthlyReportTitleTemplateEO; import com.jero.modules.report.mapper.LawsMonthlyReportTitleTemplateEOMapper; import com.jero.modules.report.service.ILawsMonthlyReportTitleTemplateEOService; +import com.jero.modules.system.util.StringUtils; import org.springframework.stereotype.Service; -import java.util.List; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.Date; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.List; +import java.util.stream.Collectors; /** * @Description: 月报标题模板 @@ -25,7 +35,29 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl lawsMonthlyReportTitleTemplateEOS = this.list(); + List parent = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + List children = lawsMonthlyReportTitleTemplateEOS.stream().filter(e -> StringUtils.isNotBlank(e.getParentId())).collect(Collectors.toList()); + int sort = 0; + if(StringUtils.isBlank(lawsMonthlyReportTitleTemplateEO.getParentId())){ + if(parent.size() == 0){ + lawsMonthlyReportTitleTemplateEO.setSort(0); + }else{ + List sortList = parent.stream().map(LawsMonthlyReportTitleTemplateEO::getSort).collect(Collectors.toList()); + Collections.sort(sortList); + sort = sortList.get(sortList.size()-1) + 1; + } + }else{ + if(children.size() == 0){ + lawsMonthlyReportTitleTemplateEO.setSort(0); + }else{ + List sortList = parent.stream().map(LawsMonthlyReportTitleTemplateEO::getSort).collect(Collectors.toList()); + Collections.sort(sortList); + sort = sortList.get(sortList.size()-1) + 1; + } + } + lawsMonthlyReportTitleTemplateEO.setSort(sort); + Date now = new Date(); lawsMonthlyReportTitleTemplateEO.setCreateTime(now); lawsMonthlyReportTitleTemplateEO.setUpdateTime(now); save(lawsMonthlyReportTitleTemplateEO); @@ -86,4 +118,71 @@ public class LawsMonthlyReportTitleTemplateEOServiceImpl extends ServiceImpl queryList() { return list(); } + + @Override + public IPage getPageInfo( Integer pageNo,Integer pageSize,QueryWrapper queryWrapper) { + List lawsMonthlyReportTitleTemplateEOS = this.list(); + List parentList = lawsMonthlyReportTitleTemplateEOS.stream() + .filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + Collections.sort(parentList, new Comparator() { + @Override + public int compare(LawsMonthlyReportTitleTemplateEO p1, LawsMonthlyReportTitleTemplateEO p2) { + return String.valueOf(p1.getSort()).compareTo(String.valueOf(p2.getSort())); + } + }); + + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : parentList) { + List children = lawsMonthlyReportTitleTemplateEOS.stream() + .filter(e -> lawsMonthlyReportTitleTemplateEO.getId().equals(e.getParentId())).collect(Collectors.toList()); + if(children.size() != 0){ + Collections.sort(children, new Comparator() { + @Override + public int compare(LawsMonthlyReportTitleTemplateEO p1, LawsMonthlyReportTitleTemplateEO p2) { + return String.valueOf(p1.getSort()).compareTo(String.valueOf(p2.getSort())); + } + }); + lawsMonthlyReportTitleTemplateEO.setChildren(children); + } + } + Page pages = getPages(pageNo, pageSize, parentList); + return pages; + } + + /** + * 以及菜单 + * @return + */ + @Override + public List OneMenuList() { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.isNull(LawsMonthlyReportTitleTemplateEO::getParentId); + return this.list(wrapper); + } + + public Page getPages(Integer currentPage, Integer pageSize, List list){ + Page page =new Page(); + if(list==null){ + return null; + } + int size = list.size(); + if(pageSize > size){ + pageSize = size; + } + if(pageSize!=0){ + //求出最⼤页数,防⽌currentPage越界 + int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1; + if(currentPage > maxPage){ + currentPage = maxPage; + } + } + //当前页第⼀条数据的下标 + int curIdx = currentPage >1?(currentPage -1)* pageSize :0; + List pageList =new ArrayList(); + //将当前页的数据放进pageList + for(int i =0; i < pageSize && curIdx + i < size; i++){ + pageList.add(list.get(curIdx + i)); + } + page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList); + return page; + } }