diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectCertificationInventoryEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectCertificationInventoryEOController.java index a7601051c..6dd198536 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectCertificationInventoryEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/controller/ProjectCertificationInventoryEOController.java @@ -2,12 +2,12 @@ package com.jero.modules.project.controller; import com.alibaba.fastjson.JSONObject; 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.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.util.PageUtil; import com.jero.modules.project.entity.ProjectCertificationInventoryEO; import com.jero.modules.project.service.IProjectCertificationInventoryEOService; import com.jero.modules.system.entity.SysRole; @@ -73,24 +73,27 @@ public class ProjectCertificationInventoryEOController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(projectCertificationInventoryEO, req.getParameterMap()); - if (StringUtils.isNotEmpty(flowStatusStr)) { - String finalflowStatusStr = flowStatusStr.replaceAll("\\*",""); - queryWrapper.and(query -> { - query.lambda().like(ProjectCertificationInventoryEO::getFlowStatus, finalflowStatusStr); - if(StringUtils.contains(finalflowStatusStr,",")){ - String[] flowStatusArr = finalflowStatusStr.split(","); - for (String fs : flowStatusArr) { - query.or(q -> { - q.like("flow_status",fs); - }); - } - } - }); - } +// if (StringUtils.isNotEmpty(flowStatusStr)) { +// String finalflowStatusStr = flowStatusStr.replaceAll("\\*",""); +// queryWrapper.and(query -> { +// query.lambda().like(ProjectCertificationInventoryEO::getFlowStatus, finalflowStatusStr); +// if(StringUtils.contains(finalflowStatusStr,",")){ +// String[] flowStatusArr = finalflowStatusStr.split(","); +// for (String fs : flowStatusArr) { +// query.or(q -> { +// q.like("flow_status",fs); +// }); +// } +// } +// }); +// } queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); - IPage pageList = this.projectCertificationInventoryEOService.queryPage(queryWrapper,page,projectCertificationInventoryEO,cut); - return Result.OK(cut,pageList); + List pageList = + this.projectCertificationInventoryEOService.getListInfo(queryWrapper,projectCertificationInventoryEO,cut,flowStatusStr); + Page pages = PageUtil.getPages(pageNo, pageSize, pageList); + + return Result.OK(cut,pages); } /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java index fe012e2f3..b6f818389 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/IProjectCertificationInventoryEOService.java @@ -128,6 +128,11 @@ public interface IProjectCertificationInventoryEOService extends IService getListInfo(QueryWrapper queryWrapper, + ProjectCertificationInventoryEO projectCertificationInventoryEO, + String cut, + String flowStatusStr); + void createQueryPermission(QueryWrapper queryWrapper, String roleCode); /** diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java index 7c7c087f4..2151b496f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectCertificationInventoryEOServiceImpl.java @@ -1960,6 +1960,72 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl getListInfo(QueryWrapper queryWrapper, + ProjectCertificationInventoryEO projectCertificationInventoryEO, + String cut, + String flowStatusStr) { + + String roleCode = projectCertificationInventoryEO.getRoleCode(); + // 创建查询权限 + this.createQueryPermission(queryWrapper,roleCode); + // 根据一级责任领域(统计节点),查询该一级责任领域下所有子责任领域的法规清单数据。 + String dutyTerritoryStr = ""; + if(StringUtils.isNotEmpty(projectCertificationInventoryEO.getFirstLevelDutyTerritory())){ + List sysDictItems = this.sysDictItemServiceImpl.selectItemsAll(); + List dutyTerritorys = new ArrayList<>(); + Map> firstLevelDTMap = this.sysDictItemServiceImpl.getFirstLevelSysDictItemByDictCode(DictCodeEnum.DUTY_TERRITORY.getValue(), sysDictItems); + String[] firstLevelDTArr = projectCertificationInventoryEO.getFirstLevelDutyTerritory().split(","); + for (String firstLevelDT : firstLevelDTArr){ + if(CollectionUtils.isNotEmpty(firstLevelDTMap.get(firstLevelDT))){ + dutyTerritorys.addAll(firstLevelDTMap.get(firstLevelDT)); + } + } + if(CollectionUtils.isNotEmpty(dutyTerritorys)){ + dutyTerritoryStr = dutyTerritorys.stream().map(SysDictItem::getItemValue).distinct().collect(Collectors.joining(",")); + } + } + if (StringUtils.isNotEmpty(dutyTerritoryStr)) { + String finalDutyTerritoryStr = dutyTerritoryStr.replaceAll("\\*",""); + queryWrapper.and(query -> { + query.lambda().like(ProjectCertificationInventoryEO::getDutyTerritory, finalDutyTerritoryStr); + if(StringUtils.contains(finalDutyTerritoryStr,",")){ + String[] dutyTerritoryArr = finalDutyTerritoryStr.split(","); + for (String duty : dutyTerritoryArr) { + query.or(q -> { + q.like("duty_territory",duty); + }); + } + } + }); + } + LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + int isProjectRole = Integer.parseInt(roleCode); + if (isProjectRole == Integer.parseInt(com.jero.modules.project.enums.ProjectRoleEnum.VIEWER.getValue())) { + //查当前用户Viewer对应责任领域 + List dutyTerritoryList = this.projectUserDutyTerritoryService.queryDutyTerritoryByUserId(currentUser.getId()); + if (ObjectUtils.isNotEmpty(dutyTerritoryList)) { + queryWrapper.and(query -> { + for (String duty : dutyTerritoryList) { + query.or(q -> { + q.like("duty_territory", duty); + }); + } + }); + } + } + List pageList = this.list(queryWrapper); + //平台件数据处理 + platformDispose(cut,projectCertificationInventoryEO, pageList); + //流程状态搜索 + if(StringUtils.isNotBlank(flowStatusStr)){ + pageList = pageList.stream().filter(e->flowStatusStr.contains(e.getFlowStatus())).collect(Collectors.toList()); + } + + this.disposeData(pageList,cut); + List list = this.hearSort(projectCertificationInventoryEO, pageList); + return list; + } private void platformDispose(String cut,ProjectCertificationInventoryEO projectCertificationInventoryEO, List result) { List lawsInventoryPlatformEOList = new ArrayList<>(); List projectCertificationInventoryEOS = new ArrayList<>();