Browse Source

看板进度、资金执行率、上级资金执行率排序

master
Jinyuanyuan 4 months ago
parent
commit
07278b7803
  1. 11
      huzhou/src/main/java/com/easy/admin/modules/huzhou/controller/HuzhouProjectController.java
  2. 2
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java
  3. 28
      huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

11
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);
}

2
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/IHuzhouProjectinfoService.java

@ -173,7 +173,7 @@ public interface IHuzhouProjectinfoService extends IService<HuzhouProjectinfo> {
IPage<ProjectPageResponse> 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();

28
huzhou/src/main/java/com/easy/admin/modules/huzhou/service/impl/HuzhouProjectinfoServiceImpl.java

@ -904,6 +904,9 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
//只要入库项目
projectInfo.setType("1");
ProjectInfoAuthSelect projectInfoAuthSelect = CommonUtils.setGetProjectInfoAuth(projectInfo);
//获取全部
IPage<DimensionPageOV> pageSorted = projectinfoMapper.getDimensionPageSorted(page, projectInfoAuthSelect, orderBy, orderDir);
List<DimensionPageOV> records = pageSorted.getRecords();
@ -977,7 +980,7 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
//根据改革所属任务或行政区返回统计结果
@Override
public CountByConditionOV countByCondition(String condition) {
public CountByConditionOV countByCondition(String condition,String orderBy,String orderDir) {
HuzhouProjectinfo projectInfo = new HuzhouProjectinfo();
//只要入库项目
projectInfo.setType("1");
@ -1024,8 +1027,27 @@ public class HuzhouProjectinfoServiceImpl extends ServiceImpl<HuzhouProjectinfoM
//各种类资金总额和执行率,from fund
NewFundOV totalFund = this.getFund(allProjectIds);
FundByKindOV fundByTypeResponse = this.modelChange(totalFund);
CountByConditionOV result = CountByConditionOV.builder().totalProgress(totalProgress).progress(progressResponse)
.countFundByCondition(fundByConditionResponse).countFundByFundType(fundByTypeResponse).build();
//进度排序
List<ProjectProgressOV> 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<FundByConditionOV> 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;
}

Loading…
Cancel
Save