From 63f471e7ecb1116c41abf10c95baee142cc27b07 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Thu, 13 Oct 2022 18:07:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=95=E8=A7=84=E6=9C=88=E6=8A=A5=E5=A1=AB?= =?UTF-8?q?=E5=86=99--=E5=88=97=E8=A1=A8=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LawsMonthlyReportWriteEOController.java | 25 ++- .../LawsMonthlyReportTitleTemplateEO.java | 9 +- .../ILawsMonthlyReportWriteEOService.java | 9 +- .../LawsMonthlyReportWriteEOServiceImpl.java | 194 +++++++++++++++++- 4 files changed, 225 insertions(+), 12 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java index e4fb26d4e..b47ddcb11 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/controller/LawsMonthlyReportWriteEOController.java @@ -1,6 +1,7 @@ package com.jero.modules.report.controller; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; @@ -62,9 +63,29 @@ public class LawsMonthlyReportWriteEOController extends JeroController pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req); - return Result.OK(pageList); + List listInfo = lawsMonthlyReportWriteEOService.getListInfo(lawsMonthlyReportWriteEO, pageNo, pageSize, req); + Page pages = lawsMonthlyReportWriteEOService.getPages(pageNo, pageSize, listInfo); + return Result.OK(pages); } +// /** +// * 分页列表查询 +// * +// * @param lawsMonthlyReportWriteEO +// * @param pageNo +// * @param pageSize +// * @param req +// * @return +// */ +// @AutoLog(value = "月报填写-分页列表查询") +// @ApiOperation(value="月报填写-分页列表查询", notes="月报填写-分页列表查询") +// @GetMapping(value = "/page") +// public Result queryPageList(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, +// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, +// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, +// HttpServletRequest req) { +// IPage pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req); +// return Result.OK(pageList); +// } /** * 列表查询 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 4a66c3f86..9bd5daf0f 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 @@ -13,7 +13,6 @@ import lombok.experimental.Accessors; 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; @@ -29,7 +28,7 @@ import java.util.List; @Accessors(chain = true) @EqualsAndHashCode(callSuper = false) @ApiModel(value="laws_monthly_report_title_template对象", description="月报标题模板") -public class LawsMonthlyReportTitleTemplateEO implements Serializable { +public class LawsMonthlyReportTitleTemplateEO implements Comparable { private static final long serialVersionUID = 1L; /**主键*/ @@ -84,4 +83,10 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable { @TableField(exist = false) private String key; + + @Override + public int compareTo(LawsMonthlyReportTitleTemplateEO o) { + return this.sort-o.sort;//升序 +// return o.id-this.id;//降序 + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java index 2f653b1b2..9bcf996c6 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/ILawsMonthlyReportWriteEOService.java @@ -1,6 +1,7 @@ package com.jero.modules.report.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.modules.report.entity.LawsMonthlyReportWriteEO; @@ -72,7 +73,11 @@ public interface ILawsMonthlyReportWriteEOService extends IService getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, +// IPage getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, +// Integer pageNo, +// Integer pageSize, +// HttpServletRequest req); + List getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO, Integer pageNo, Integer pageSize, HttpServletRequest req); @@ -82,4 +87,6 @@ public interface ILawsMonthlyReportWriteEOService extends IService parameter); + + Page getPages(Integer currentPage, Integer pageSize, List list); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java index 12fc10c4d..0b8f0f108 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/report/service/impl/LawsMonthlyReportWriteEOServiceImpl.java @@ -60,8 +60,10 @@ import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.Date; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -288,7 +290,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, + public List getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, Integer pageNo, Integer pageSize, HttpServletRequest req) { @@ -300,11 +302,48 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl page = new Page(pageNo, pageSize); - Page pageInfo = this.page(page, queryWrapper); +// Page page = new Page(pageNo, pageSize); +// Page pageInfo = this.page(page, queryWrapper); + + + //所有的月报 + List lawsMonthlyReportWriteEOList = this.list(queryWrapper); + //所有月报的一级目录 + List oneMenuIdLIst = lawsMonthlyReportWriteEOList.stream().map(LawsMonthlyReportWriteEO::getMemoriesChapterOne).distinct().collect(Collectors.toList()); + //月报标题模板 + LambdaQueryWrapper wrapperTemp = new LambdaQueryWrapper<>(); + wrapperTemp.orderByAsc(LawsMonthlyReportTitleTemplateEO::getSort); + List list = lawsMonthlyReportTitleTemplateEOService.list(wrapperTemp); + //1. 一级目录 + List oneList = list.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList()); + oneList = oneList.stream().filter(e -> oneMenuIdLIst.contains(e.getId())).collect(Collectors.toList()); + Collections.sort(oneList);//正序排序 + + List lawsMonthlyReportWriteEOS = new LinkedList<>(); + for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : oneList) { + String oneId = lawsMonthlyReportTitleTemplateEO.getId(); + //一级目录下的二级目录 + List twoList = list.stream().filter(e -> StringUtils.isNotBlank(e.getParentId()) && oneId.equals(e.getParentId())).collect(Collectors.toList()); + Collections.sort(twoList);//正序排序 + + //一级目录下的月报 + for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : twoList) { + for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) { + if(oneId.equals(lawsMonthlyReportWriteEO.getMemoriesChapterOne()) && monthlyReportTitleTemplateEO.getId().equals(lawsMonthlyReportWriteEO.getMemoriesChapter())){ + lawsMonthlyReportWriteEOS.add(lawsMonthlyReportWriteEO); + } + } + } + +// List lawsMonthlyReportWriteEOListOne = lawsMonthlyReportWriteEOList.stream() +// .filter(e -> oneId.equals(e.getMemoriesChapterOne())).collect(Collectors.toList()); +// lawsMonthlyReportWriteEOS.addAll(lawsMonthlyReportWriteEOListOne); + } + + //法规月报id - List lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); - List userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); + List lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); + List userIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); List userIds = new ArrayList<>(); for (String s : userIdList) { if(StringUtils.isNotBlank(s)){ @@ -343,7 +382,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp, +// Integer pageNo, +// Integer pageSize, +// HttpServletRequest req) { +// QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap()); +// queryWrapper.orderByDesc("memories_chapter_one","memories_chapter","create_time"); +// //管理员查看全部数据,其余人只能查看自己的数据 +// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// List rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername()); +// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){ +// queryWrapper.in("create_by",currentUser.getUsername()); +// } +// Page page = new Page(pageNo, pageSize); +// Page pageInfo = this.page(page, queryWrapper); +// //法规月报id +// List lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList()); +// List userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList()); +// List userIds = new ArrayList<>(); +// for (String s : userIdList) { +// if(StringUtils.isNotBlank(s)){ +// if(s.contains(",")){ +// userIds.addAll(Arrays.asList(s.split(","))); +// }else{ +// userIds.add(s); +// } +// } +// } +// List jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ",")); +// List userList = new ArrayList<>(); +// for (JSONObject jsonObject : jsonObjects) { +// LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class); +// userList.add(loginUser); +// } +// +// //获取章节目录 +// List lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list(); +// +// //新征求意见清单模板 +// List newOpinionTemplateEOList = new ArrayList<>(); +// if(lawsMonthlyReportIdList.size() != 0){ +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); +// newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper); +// } +// +// +// //新发布标准清单模板 +// List newStandardTemplateEOList = new ArrayList<>(); +// if(lawsMonthlyReportIdList.size() != 0){ +// LambdaQueryWrapper qrapperTemp = new LambdaQueryWrapper<>(); +// qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList); +// newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp); +// } +// +// +// for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) { +// //处理法规联系人 +// lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut()); +// //处理章节目录 +// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){ +// List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList()); +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); +// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); +// } +// } +// //处理章节目录对应的一级目录 +// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapterOne())){ +// List lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapterOne().equals(e.getId())).collect(Collectors.toList()); +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn()); +// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){ +// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn()); +// } +// } +// +// if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ +// //新征求意见清单模板 +// List collect = newOpinionTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); +// lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(collect); +// +// }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){ +// //新发布标准清单模板 +// List collect = newStandardTemplateEOList.stream() +// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList()); +// lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(collect); +// } +// +// //处理导出状态 +// String exportState = lawsMonthlyReportWriteEO.getExportState(); +// if(StringUtils.isNotBlank(exportState)){ +// if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){ +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName()); +// }else{ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn()); +// } +// }else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){ +// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName()); +// }else{ +// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn()); +// } +// } +// } +// } +// return pageInfo; +// } private void lawsContact(List userList, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,String cut) { String lawsContact = lawsMonthlyReportWriteEO.getLawsContact(); @@ -1269,4 +1421,32 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl 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; + } + }