From 6428a6111aa10795919a6217fe78f080387c55a5 Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Fri, 16 Dec 2022 17:36:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E6=8A=A5=E5=BA=93=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E8=A1=A8=E5=A4=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ParamsReportEOController.java | 74 +++++++++++++++++-- .../cert/report/entity/ParamsReportEO.java | 9 +++ .../report/mapper/ParamsReportEOMapper.java | 3 + .../mapper/xml/ParamsReportEOMapper.xml | 14 +++- .../service/IParamsReportEOService.java | 1 + .../impl/ParamsReportEOServiceImpl.java | 4 + 6 files changed, 97 insertions(+), 8 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java index 80fc4a3df..6c3eed08e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/controller/ParamsReportEOController.java @@ -9,23 +9,35 @@ import com.jero.modules.cert.report.entity.ParamsReportEO; import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO; import com.jero.modules.cert.report.service.IParamsReportEOService; import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService; +import com.jero.modules.dummy.enums.OrderEnum; import com.jero.modules.system.util.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.text.Collator; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; +import java.util.Locale; - /** +/** * @Description: 上报库 * @Author: jero-boot * @Date: 2022-05-18 @@ -41,7 +53,7 @@ public class ParamsReportEOController extends JeroController rows = pageList.getRecords(); - for (ParamsReportEO row : rows) { +// IPage page = new Page(pageNo, pageSize); +// IPage pageList = paramsReportEOService.pageInfo(page, paramsReportEO); +// List rows = pageList.getRecords(); +// for (ParamsReportEO row : rows) { +// row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle()); +// } + List paramsReportEOS = paramsReportEOService.listInfo(paramsReportEO); + for (ParamsReportEO row : paramsReportEOS) { row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle()); } + String orderBy = paramsReportEO.getOrderBy(); + String orderByField = paramsReportEO.getOrderByField(); + if(ObjectUtils.isNotEmpty(orderByField)) { + Collator comparator = Collator.getInstance(Locale.CHINESE); + //编号 serialNumber + if ("projectName".equals(orderByField)) { + if (OrderEnum.POSITIVE.getValue().equals(orderBy)) { + Collections.sort(paramsReportEOS, (e1, e2) -> { + return comparator.compare(e1.getPageName(), e2.getPageName()); + }); + } else if (OrderEnum.REVERSE.getValue().equals(orderBy)) { + Collections.sort(paramsReportEOS, (e1, e2) -> { + return comparator.compare(e2.getPageName(), e1.getPageName()); + }); + } + } + } + IPage pageList = getPages(pageNo,pageSize,paramsReportEOS); return Result.OK(pageList); } + 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; + } /** * 分页列表查询 diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java index 49612c6d5..ac73a4ceb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/entity/ParamsReportEO.java @@ -82,4 +82,13 @@ public class ParamsReportEO implements Serializable { @TableField(exist = false) private String pageName; // 项目名称-国家-清单名称 + //排序(1->正序, 2->倒序) + @TableField(exist = false) + private String orderBy; + + //排序字段 + @TableField(exist = false) + private String orderByField; + + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java index 80e4464e3..18726f1dd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/ParamsReportEOMapper.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.jero.modules.cert.report.entity.ParamsReportEO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @Description: 上报库 * @Author: jero-boot @@ -14,5 +16,6 @@ import org.apache.ibatis.annotations.Param; public interface ParamsReportEOMapper extends BaseMapper { IPage pageInfo(@Param("page") IPage page, @Param("paramsReportEO") ParamsReportEO paramsReportEO); + List listInfo(@Param("paramsReportEO") ParamsReportEO paramsReportEO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml index 164200a28..8f9924712 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/mapper/xml/ParamsReportEOMapper.xml @@ -57,5 +57,17 @@ order by create_time desc + - \ No newline at end of file + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java index 6c2c6bcac..5504cd064 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/IParamsReportEOService.java @@ -62,6 +62,7 @@ public interface IParamsReportEOService extends IService { List queryList(); IPage pageInfo(IPage page, ParamsReportEO paramsReportEO); + List listInfo(ParamsReportEO paramsReportEO); boolean isSync(String oldParamsManifestId, Integer version); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java index fd73ae440..85005e384 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/report/service/impl/ParamsReportEOServiceImpl.java @@ -138,6 +138,10 @@ public class ParamsReportEOServiceImpl extends ServiceImpl listInfo(ParamsReportEO paramsReportEO) { + return paramsReportEOMapper.listInfo(paramsReportEO); + } @Override public boolean isSync(String oldParamsManifestId, Integer version) {