From 07278b780305bf3d8ab03bbd585a88f04daac37c Mon Sep 17 00:00:00 2001 From: Jinyuanyuan <1197651512@qq.com> Date: Wed, 5 Jun 2024 16:40:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E8=BF=9B=E5=BA=A6=E3=80=81?= =?UTF-8?q?=E8=B5=84=E9=87=91=E6=89=A7=E8=A1=8C=E7=8E=87=E3=80=81=E4=B8=8A?= =?UTF-8?q?=E7=BA=A7=E8=B5=84=E9=87=91=E6=89=A7=E8=A1=8C=E7=8E=87=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HuzhouProjectController.java | 11 +++++--- .../service/IHuzhouProjectinfoService.java | 2 +- .../impl/HuzhouProjectinfoServiceImpl.java | 28 +++++++++++++++++-- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java index 3a2acee..72055aa 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java @@ -11,6 +11,7 @@ import com.easy.admin.common.api.vo.Result; import com.easy.admin.modules.huzhou.entity.*; import com.easy.admin.modules.huzhou.service.*; +import org.antlr.v4.runtime.atn.SemanticContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; @@ -227,16 +228,18 @@ public class HuzhouProjectController { } @GetMapping("/showCountBoardByReformName") - public Result showCountBoardByReformName(){ + public Result showCountBoardByReformName(@RequestParam(name="orderBy",defaultValue="") String orderBy, + @RequestParam(name="orderDir",defaultValue="") String orderDir){ String condition="reformName"; - CountByConditionOV result = projectinfoService.countByCondition(condition); + CountByConditionOV result = projectinfoService.countByCondition(condition,orderBy,orderDir); return Result.ok(result); } @GetMapping("/showCountBoardByAdminDivision") - public Result showCountBoardByAdminDivision(){ + public Result showCountBoardByAdminDivision(@RequestParam(name="orderBy",defaultValue="") String orderBy, + @RequestParam(name="orderDir",defaultValue="") String orderDir){ String condition="adminDivision"; - CountByConditionOV result = projectinfoService.countByCondition(condition); + CountByConditionOV result = projectinfoService.countByCondition(condition,orderBy,orderDir); return Result.ok(result); } diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java index c57556a..2ffd471 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java @@ -173,7 +173,7 @@ public interface IHuzhouProjectinfoService extends IService { IPage getProjectPage(HuzhouProjectinfo projectInfo, Integer pageNo, Integer pageSize,String orderBy,String orderDir); - CountByConditionOV countByCondition(String condition); + CountByConditionOV countByCondition(String condition,String orderBy,String orderDir); CountBoardOV showCountBoard(); diff --git a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java index f53d97f..fd7bb77 100644 --- a/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java +++ b/huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java @@ -904,6 +904,9 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl pageSorted = projectinfoMapper.getDimensionPageSorted(page, projectInfoAuthSelect, orderBy, orderDir); List records = pageSorted.getRecords(); @@ -977,7 +980,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl sortedProgressResponse = progressResponse.stream().sorted(Comparator.comparing(ProjectProgressOV::getProjectProgress).reversed()).collect(Collectors.toList());; + + if(Objects.equals(orderBy, "projectProgress")&& Objects.equals(orderDir, "descend")){ + sortedProgressResponse=progressResponse.stream().sorted(Comparator.comparing(ProjectProgressOV::getProjectProgress).reversed()).collect(Collectors.toList()); + } else if (Objects.equals(orderBy, "projectProgress") && Objects.equals(orderDir, "ascend")) { + sortedProgressResponse=progressResponse.stream().sorted(Comparator.comparing(ProjectProgressOV::getProjectProgress)).collect(Collectors.toList()); + } + //资金执行率和上级资金执行率排序 + List sortedFundByConditionResponse = fundByConditionResponse.stream().sorted(Comparator.comparing(FundByConditionOV::getPaymentExecutionRate).reversed()).collect(Collectors.toList());; + if (Objects.equals(orderBy, "paymentExecutionRate")&& Objects.equals(orderDir, "descend")){ + sortedFundByConditionResponse=fundByConditionResponse.stream().sorted(Comparator.comparing(FundByConditionOV::getPaymentExecutionRate).reversed()).collect(Collectors.toList()); + } else if (Objects.equals(orderBy, "paymentExecutionRate") && Objects.equals(orderDir, "ascend")) { + sortedFundByConditionResponse=fundByConditionResponse.stream().sorted(Comparator.comparing(FundByConditionOV::getPaymentExecutionRate)).collect(Collectors.toList()); + }else if (Objects.equals(orderBy, "superiorFundExecutionRate")&& Objects.equals(orderDir, "descend")){ + sortedFundByConditionResponse=fundByConditionResponse.stream().sorted(Comparator.comparing(FundByConditionOV::getSuperiorFundExecutionRate).reversed()).collect(Collectors.toList()); + } else if (Objects.equals(orderBy, "superiorFundExecutionRate") && Objects.equals(orderDir, "ascend")) { + sortedFundByConditionResponse=fundByConditionResponse.stream().sorted(Comparator.comparing(FundByConditionOV::getSuperiorFundExecutionRate)).collect(Collectors.toList()); + } + CountByConditionOV result = CountByConditionOV.builder().totalProgress(totalProgress).progress(sortedProgressResponse) + .countFundByCondition(sortedFundByConditionResponse).countFundByFundType(fundByTypeResponse).build(); return result; }