diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/AgencyInfoDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/AgencyInfoDTO.java index 04d4896995..e2d3f77953 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/AgencyInfoDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/AgencyInfoDTO.java @@ -13,8 +13,9 @@ import java.util.List; */ @Data public class AgencyInfoDTO implements Serializable { - private String agencyId; - private String areaCode; - private List subAgencyIds; - private List subGridIds; + private String currentAgencyId; + private String currentAgencyName; + private String currentAreaCode; + private List subAgencies; + private List subGrids; } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerAgencyCommonDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerAgencyCommonDTO.java new file mode 100644 index 0000000000..3a1078fd69 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerAgencyCommonDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * screen_customer_agency + * + * @author yinzuomei@elink-cn.com + * @date 2021/7/13 15:31 + */ +@Data +public class ScreenCustomerAgencyCommonDTO implements Serializable { + private static final long serialVersionUID = -6222325433226628163L; + private String agencyId; + private String agencyName; +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridCommonDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridCommonDTO.java new file mode 100644 index 0000000000..2578a6c482 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/ScreenCustomerGridCommonDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * screen_customer_grid + * + * @author yinzuomei@elink-cn.com + * @date 2021/7/13 15:32 + */ +@Data +public class ScreenCustomerGridCommonDTO implements Serializable { + private static final long serialVersionUID = -4405092094598416917L; + private String gridId; + private String gridName; +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java index 986a880aac..5d3a9be67e 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java @@ -17,6 +17,7 @@ package com.epmet.datareport.dao.evaluationindex.screen; +import com.epmet.dto.ScreenCustomerAgencyCommonDTO; import com.epmet.dto.result.ScreenCustomerAgencyDTO; import com.epmet.dto.result.plugins.AgencyNodeDTO; import com.epmet.dto.result.plugins.DeptNodeDTO; @@ -161,7 +162,7 @@ public interface ScreenCustomerAgencyDao { **/ List getNextAgencyIds(@Param("areaCode")String areaCode,@Param("agencyId")String agencyId); - List selectSubAgencyIds(@Param("areaCode")String areaCode,@Param("agencyId")String agencyId); + List selectSubAgencyIds(@Param("areaCode")String areaCode, @Param("agencyId")String agencyId); /** * @Description 根据agencyId查询网格 diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java index e0484794e6..abf21dd119 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java @@ -17,6 +17,7 @@ package com.epmet.datareport.dao.evaluationindex.screen; +import com.epmet.dto.ScreenCustomerGridCommonDTO; import com.epmet.evaluationindex.screen.dto.result.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -81,5 +82,5 @@ public interface ScreenCustomerGridDao { */ List selectGridInfo(@Param("agencyId")String agencyId); - List selectSubGridIds(@Param("areaCode")String areaCode, @Param("agencyId")String agencyId); + List selectSubGridIds(@Param("areaCode")String areaCode, @Param("agencyId")String agencyId); } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java index 1a9f962f37..734d8d938b 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/plugins/ScreenWorkRecordOrgDailyDao.java @@ -55,15 +55,7 @@ public interface ScreenWorkRecordOrgDailyDao extends BaseDao customerIds); - - List selectCurrentAgency(@Param("agencyId") String agencyId, + WorkRecordSubRank selectCurrentAgency(@Param("agencyId") String agencyId, @Param("dateId")String dateId, @Param("typeCodeList")List typeCodeList); diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java index 535362f3ea..4dcd1e0991 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java @@ -316,10 +316,10 @@ public class AgencyServiceImpl implements AgencyService { @Override public AgencyInfoDTO getAgencyInfoDTO(String areaCode, String agencyId) { AgencyInfoDTO agencyInfoDTO=new AgencyInfoDTO(); - agencyInfoDTO.setAgencyId(agencyId); - agencyInfoDTO.setAreaCode(areaCode); - agencyInfoDTO.setSubAgencyIds(screenCustomerAgencyDao.selectSubAgencyIds(areaCode,agencyId)); - agencyInfoDTO.setSubGridIds(screenCustomerGridDao.selectSubGridIds(areaCode,agencyId)); + agencyInfoDTO.setCurrentAgencyId(agencyId); + agencyInfoDTO.setCurrentAreaCode(areaCode); + agencyInfoDTO.setSubAgencies(screenCustomerAgencyDao.selectSubAgencyIds(areaCode,agencyId)); + agencyInfoDTO.setSubGrids(screenCustomerGridDao.selectSubGridIds(areaCode,agencyId)); return agencyInfoDTO; } } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java index e35aee53c1..e1670ecc40 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/plugins/impl/ScreenWorkRecordOrgDailyServiceImpl.java @@ -33,6 +33,8 @@ import com.epmet.datareport.service.evaluationindex.screen.AgencyService; import com.epmet.datareport.service.plugins.ScreenWorkRecordOrgDailyService; import com.epmet.datareport.utils.DateUtils; import com.epmet.dto.AgencyInfoDTO; +import com.epmet.dto.ScreenCustomerAgencyCommonDTO; +import com.epmet.dto.ScreenCustomerGridCommonDTO; import com.epmet.evaluationindex.screen.constant.ScreenConstant; import com.epmet.plugins.ScreenWorkRecordOrgDailyDTO; import com.epmet.plugins.form.VoluntaryServiceTrendFormDTO; @@ -107,21 +109,40 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl typeCodeList=baseDao.selectCustomerTypeCode(formDTO.getDataType(),formDTO.getCustomerId()); if(CollectionUtils.isEmpty(typeCodeList)){ log.warn(String.format("当前customerId=%s,screen_customer_work_record_dict 为空")); - return returnDto; } + //1)、当前组织的自身的数据 - List currentAgency = baseDao.selectCurrentAgency(formDTO.getAgencyId(),dateId,typeCodeList); + WorkRecordSubRank currentAgency = baseDao.selectCurrentAgency(formDTO.getAgencyId(),dateId,typeCodeList); //2)、下级所有组织 List subAgencyRankList = new ArrayList<>(); - for(String agencyId:agencyInfoDTO.getSubAgencyIds()){ - WorkRecordSubRank agencyRes= baseDao.selectUpToCalAgency(agencyId,dateId,typeCodeList); - subAgencyRankList.add(agencyRes); + for(ScreenCustomerAgencyCommonDTO agencyCommonDTO:agencyInfoDTO.getSubAgencies()){ + WorkRecordSubRank agencyRes= baseDao.selectUpToCalAgency(agencyCommonDTO.getAgencyId(),dateId,typeCodeList); + if(null !=agencyRes){ + subAgencyRankList.add(agencyRes); + }else{ + WorkRecordSubRank agencyDefault=new WorkRecordSubRank(); + agencyDefault.setOrgId(agencyCommonDTO.getAgencyId()); + agencyDefault.setName(agencyCommonDTO.getAgencyName()); + agencyDefault.setParticipateTotal(0); + agencyDefault.setParticipateUserTotal(0); + subAgencyRankList.add(agencyDefault); + } + } //3)、直属网格 List subGridList=new ArrayList<>(); - for(String gridId:agencyInfoDTO.getSubGridIds()){ - WorkRecordSubRank gridRes=baseDao.selectUpToCalGrid(gridId,dateId,typeCodeList); - subGridList.add(gridRes); + for(ScreenCustomerGridCommonDTO gridCommonDTO:agencyInfoDTO.getSubGrids()){ + WorkRecordSubRank gridRes=baseDao.selectUpToCalGrid(gridCommonDTO.getGridId(),dateId,typeCodeList); + if (null != gridRes) { + subGridList.add(gridRes); + } else { + WorkRecordSubRank gridResDefault = new WorkRecordSubRank(); + gridResDefault.setOrgId(gridCommonDTO.getGridId()); + gridResDefault.setName(gridCommonDTO.getGridName()); + gridResDefault.setParticipateTotal(0); + gridResDefault.setParticipateUserTotal(0); + subAgencyRankList.add(gridResDefault); + } } if(CollectionUtils.isNotEmpty(subAgencyRankList)){ @@ -138,11 +159,9 @@ public class ScreenWorkRecordOrgDailyServiceImpl extends BaseServiceImpl orgIds = new ArrayList<>(); - orgIds.addAll(agencyInfoDTO.getSubAgencyIds()); - orgIds.add(agencyInfoDTO.getAgencyId()); - orgIds.addAll(agencyInfoDTO.getSubGridIds()); + orgIds.addAll(agencyInfoDTO.getSubAgencies().stream().map(agency->agency.getAgencyId()).collect(Collectors.toSet())); + orgIds.add(agencyInfoDTO.getCurrentAgencyId()); + orgIds.addAll(agencyInfoDTO.getSubGrids().stream().map(grid->grid.getGridId()).collect(Collectors.toSet())); List list = screenWorkRecordOrgMonthlyDao.selectVoluntaryServiceTrendDTO(formDTO.getCustomerId(), orgIds, monthIdList.get(NumConstant.ZERO), diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml index 526d3e985a..7d6a14c085 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/plugins/ScreenWorkRecordOrgDailyDao.xml @@ -3,19 +3,6 @@ - - - SELECT - sca.AGENCY_ID as orgId + sca.AGENCY_ID as agencyId, + sca.AGENCY_NAME as agencyName FROM screen_customer_agency sca WHERE diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml index 2d9f8e5deb..a700e40792 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml @@ -122,9 +122,10 @@ GROUP BY scg.PARENT_AGENCY_ID - SELECT - m.GRID_ID as orgId + m.GRID_ID as gridId, + m.grid_name as gridName FROM screen_customer_grid m where m.DEL_FLAG = '0' diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java index 65e98b940b..2a707f9540 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java @@ -15,11 +15,12 @@ * along with this program. If not, see . */ -package com.epmet.dto; +package com.epmet.dto.screen; + +import lombok.Data; import java.io.Serializable; import java.util.Date; -import lombok.Data; /**