diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/lingshan/ScreenPartyCenterHouseDistributionFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/lingshan/ScreenPartyCenterHouseDistributionFormDTO.java new file mode 100644 index 0000000000..0417a5540e --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/lingshan/ScreenPartyCenterHouseDistributionFormDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form.lingshan; + +import com.epmet.commons.tools.validator.group.QueryGroup; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @Description 灵山大屏,根据网格id,查询党员中心户房屋坐标 + * @Author yzm + * @Date 2023/5/18 10:14 + */ +@Data +public class ScreenPartyCenterHouseDistributionFormDTO { + /** + * 网格必填 + */ + @NotBlank(message = "gridId不能为空",groups = QueryGroup.class) + private String gridId; + private String neighborHoodId; + private String buildingId; +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseDetailResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseDetailResultDTO.java new file mode 100644 index 0000000000..cb48b95e46 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/HouseDetailResultDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.result.lingshan; + +import com.epmet.dto.IcHouseDTO; +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2023/5/18 14:05 + */ +@Data +public class HouseDetailResultDTO extends IcHouseDTO { + /** + * 如果是党员中心户,关联的联户数 + */ + private Integer totalLianHu; +} + diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/ScreenPartyCenterHouseDistributionResDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/ScreenPartyCenterHouseDistributionResDTO.java new file mode 100644 index 0000000000..7e179fe4a0 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/lingshan/ScreenPartyCenterHouseDistributionResDTO.java @@ -0,0 +1,43 @@ +package com.epmet.dto.result.lingshan; + +import lombok.Data; + +/** + * @Description + * @Author yzm + * @Date 2023/5/18 10:56 + */ +@Data +public class ScreenPartyCenterHouseDistributionResDTO { + /** + * 小区id + */ + private String neighborHoodId; + private String neighborHoodName; + /** + * 所属楼栋id + */ + private String buildingId; + private String buildingName; + /** + * 所属单元id + */ + private String buildingUnitId; + private String unitName; + + /** + * 房屋名字后台插入时生成 + */ + private String houseName; + /** + * 房屋坐标 + */ + private String longitude; + private String latitude; + + /** + * 灵山项目:是否党员中心户:1是;0不是 + */ + private String partyCenterHouseFlag; +} + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/LingShanScreenGovOrgController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/LingShanScreenGovOrgController.java new file mode 100644 index 0000000000..fe3123a482 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/LingShanScreenGovOrgController.java @@ -0,0 +1,66 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.annotation.LoginUser; +import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.IcBuildingDTO; +import com.epmet.dto.IcHouseDTO; +import com.epmet.dto.form.lingshan.ScreenPartyCenterHouseDistributionFormDTO; +import com.epmet.dto.result.lingshan.HouseDetailResultDTO; +import com.epmet.service.IcBuildingService; +import com.epmet.service.IcHouseService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @Description 灵山大屏-查询gov-org库的接口, 可以放在这.... + * @Author yzm + * @Date 2023/5/18 10:05 + */ +@RestController +@RequestMapping("houseScreen") +public class LingShanScreenGovOrgController { + @Autowired + private IcHouseService icHouseService; + @Autowired + private IcBuildingService icBuildingService; + + + /** + * 灵山大屏:查询楼栋坐标 + * + * @param tokenDto + * @param formDTO + * @return + */ + @PostMapping("building-distribution") + public Result> buildingDistribution(@LoginUser TokenDto tokenDto, @RequestBody ScreenPartyCenterHouseDistributionFormDTO formDTO) { + return new Result>().ok(icBuildingService.buildingDistribution(tokenDto.getCustomerId(), formDTO.getGridId(), formDTO.getNeighborHoodId())); + } + + + /** + * 灵山大屏:查询房屋坐标点位 + * 支持根据网格\小区\楼栋id查询 + */ + @PostMapping("house-distribution") + public Result> houseDistribution(@LoginUser TokenDto tokenDto, @RequestBody ScreenPartyCenterHouseDistributionFormDTO formDTO) { + return new Result>().ok(icHouseService.houseDistribution(tokenDto.getCustomerId(), formDTO.getGridId(), formDTO.getNeighborHoodId(), formDTO.getBuildingId())); + } + + /** + * 灵山大屏:点击房屋,显示房屋详情 + * @param houseId + * @return + */ + @PostMapping("houseDetail/{houseId}") + public Result queryHouseDetail(@PathVariable("houseId")String houseId){ + return new Result().ok(icHouseService.queryHouseDetail(houseId)); + } + + + +} + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java index 081663290b..c246104556 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcBuildingDao.java @@ -277,5 +277,16 @@ public interface IcBuildingDao extends BaseDao { * @return */ List selectHouseTree(@Param("unitId") String unitId); + + /** + * 查询楼栋列表:后续可以追加条件 + * @param customerId 必填! + * @param gridId + * @param neighborHoodId + * @return + */ + List selectListByMap(@Param("customerId") String customerId, + @Param("gridId") String gridId, + @Param("neighborHoodId") String neighborHoodId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java index edce357e89..0a7f46984b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/IcHouseDao.java @@ -243,4 +243,17 @@ public interface IcHouseDao extends BaseDao { List getHouseStatusCount(@Param("orgId") String orgId,@Param("orgType") String orgType, @Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd); List getHousePictureList(@Param("orgId") String orgId,@Param("orgType") String orgType, @Param("timeStart")Date timeStart,@Param("timeEnd")Date timeEnd,@Param("purpose") String purpose,@Param("rentFlag") Integer rentFlag); + + /** + * 查询房屋列表:后续可以追加条件 + * @param customerId 必填! + * @param gridId + * @param neighborHoodId + * @param buildingId + * @return + */ + List selectListByMap(@Param("customerId") String customerId, + @Param("gridId") String gridId, + @Param("neighborHoodId") String neighborHoodId, + @Param("buildingId") String buildingId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java index bac9041896..27663c2d94 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcBuildingService.java @@ -139,4 +139,14 @@ public interface IcBuildingService extends BaseService { * @param updateList */ void updateBuildingLeader(List updateList); + + /** + * 灵山大屏:查询楼栋坐标 + * + * @param customerId + * @param gridId + * @param neighborHoodId + * @return + */ + List buildingDistribution(String customerId, String gridId, String neighborHoodId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java index dcf092893a..c03cb3d238 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/IcHouseService.java @@ -16,6 +16,11 @@ import com.epmet.dto.result.lingshan.HouseTreeDTO; import com.epmet.dto.result.lingshan.LingshanPartyCenterHouseLianhuDTO; import com.epmet.dto.result.lingshan.PartyCenterHouseBindLianHuDetailDTO; import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO; +import com.epmet.dto.result.HouseAgencyInfoResultDTO; +import com.epmet.dto.result.HouseInfoDTO; +import com.epmet.dto.result.HouseListResultDTO; +import com.epmet.dto.result.HousesNameResultDTO; +import com.epmet.dto.result.lingshan.*; import com.epmet.entity.IcHouseEntity; import java.util.List; @@ -186,4 +191,22 @@ public interface IcHouseService extends BaseService { * @param partyCenterHouseFlag */ void updatePartyCenterHouse(String houseId, String partyCenterHouseFlag); + + /** + * 灵山大屏:查询房屋坐标点位 + * + * @param gridId + * @param neighborHoodId + * @param buildingId + * @return + */ + List houseDistribution(String customerId, String gridId, String neighborHoodId, String buildingId); + + + /** + * 灵山大屏:点击房屋,显示房屋详情 + * @param houseId + * @return + */ + HouseDetailResultDTO queryHouseDetail(String houseId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java index fa8737e051..899b2698dc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java @@ -193,4 +193,17 @@ public class IcBuildingServiceImpl extends BaseServiceImpl buildingDistribution(String customerId, String gridId, String neighborHoodId) { + List list=baseDao.selectListByMap(customerId,gridId,neighborHoodId); + return ConvertUtils.sourceToTarget(list,IcBuildingDTO.class); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 801c5d72a3..42584eceaf 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -33,10 +33,7 @@ import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.lingshan.PartyCenterHousePageFormDTO; import com.epmet.dto.region.LogOperationResultDTO; import com.epmet.dto.result.*; -import com.epmet.dto.result.lingshan.HouseTreeDTO; -import com.epmet.dto.result.lingshan.LingshanPartyCenterHouseLianhuDTO; -import com.epmet.dto.result.lingshan.PartyCenterHouseBindLianHuDetailDTO; -import com.epmet.dto.result.lingshan.PartyCenterHouseResultDTO; +import com.epmet.dto.result.lingshan.*; import com.epmet.entity.*; import com.epmet.entity.*; import com.epmet.enums.HousePurposeEnums; @@ -729,5 +726,36 @@ public class IcHouseServiceImpl extends BaseServiceImpl houseDistribution(String customerId,String gridId, String neighborHoodId, String buildingId) { + List list=baseDao.selectListByMap(customerId,gridId,neighborHoodId,buildingId); + return ConvertUtils.sourceToTarget(list,IcHouseDTO.class); + } + + /** + * 灵山大屏:点击房屋,显示房屋详情 + * @param houseId + * @return + */ + @Override + public HouseDetailResultDTO queryHouseDetail(String houseId) { + IcHouseDTO data = get(houseId); + HouseDetailResultDTO resultDTO = ConvertUtils.sourceToTarget(data, HouseDetailResultDTO.class); + if (null != resultDTO) { + LambdaQueryWrapper countQuery = new LambdaQueryWrapper<>(); + countQuery.eq(LingshanPartyCenterHouseLianhuEntity::getPartyCenterHouseId, houseId); + resultDTO.setTotalLianHu(partyCenterHouseLianhuDao.selectCount(countQuery)); + } + return resultDTO; + } + } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml index 9aa8a13be8..038c71de8d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcBuildingDao.xml @@ -616,4 +616,22 @@ and ih.BUILDING_UNIT_ID=#{unitId} order by ih.DOOR_NAME asc + + + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index d070e8b7c0..1c168e5dd8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -988,4 +988,26 @@ order by ca.CREATED_TIME asc,cg.CREATED_TIME asc,h.CREATED_TIME asc + + + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java index 80f8b2f938..e34285d2fd 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java @@ -3,7 +3,6 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; -import java.util.Map; /** * @author yan Lu @@ -25,11 +24,30 @@ public class EventAnalysisResultDTO implements Serializable { /** * 网格化平台数量 */ - private Integer wangGeHua; + + /** + * 归档数量 + */ + private Integer guiDang; + /** + * 红灯占比 + */ + private Double daiChuLiRate; + + /** + * 黄灯占比 + */ + private Double chuLiZhongRate; + + /** + * 蓝灯占比 + */ + private Double yiJieAnRate; + /** - * 分类统计数量 + * 归档占比 */ - private Map categoryCount; + private Double guiDangRate; } diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java index a931447009..efd13ccbf6 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java @@ -3,6 +3,7 @@ package com.epmet.dto.result; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @author yan Lu @@ -24,26 +25,62 @@ public class EventRateResultDTO implements Serializable { * 红灯数量 */ private Integer hongDeng; - /** - * 红灯占比 - */ - private Double hongDengRate; + /** * 黄灯数量 */ private Integer huangDeng; - /** - * 黄灯占比 - */ - private Double huangDengRate; + /** * 蓝灯数量 */ private Integer lanDeng; + /** - * 蓝灯占比 + * 归档数量 + */ + private Integer guiDang; + + /** + * 未响应占比 + */ + private Double hongDengRate; + + /** + * 处理中占比 + */ + private Double huangDengRate; + + /** + * 已完成占比 */ private Double lanDengRate; + /** + * 归档占比 + */ + private Double guiDangRate; + /** + * 分类统计数量 + */ + private List category; + + @Data + public static class Category { + /** + * 分类编码 + */ + private String code; + + /** + * 分类名称 + */ + private String name; + + /** + * 分类数量 + */ + private Integer value; + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java index 60e5b7b12c..dd31462f70 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java @@ -560,7 +560,7 @@ public class IcEventController { } /** - * @description 获取事件数量和占比率 + * @description 获取事件数量和分类数量 * @param * @param null * @return Result * @throws diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java index 73648097d0..3e67c8d848 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java @@ -1925,21 +1925,45 @@ public class IcEventServiceImpl extends BaseServiceImpl> dataMap = baseDao.getAnalysis(getOrgPath(orgId, orgType));//按分类获取数量 + Map temp = new HashMap<>(); + if (null != dataMap && dataMap.size() > 0) { + for (Map map : dataMap) { + temp.put(String.valueOf(map.get("code")), Integer.valueOf(String.valueOf(map.get("total")))); + } + } + Result> categoryMap = govIssueOpenFeignClient.getCategoryMap(EpmetRequestHolder.getLoginUserCustomerId()); + if (null != categoryMap && categoryMap.getData().size() > 0) { + Map map = categoryMap.getData(); + List categoryList = new ArrayList<>(); + map.keySet().forEach(key -> { + EventRateResultDTO.Category category = new EventRateResultDTO.Category(); + if (null != temp.get(key)) { + category.setCode(key); + category.setName(map.get(key)); + category.setValue(Integer.valueOf(temp.get(key))); + } else { + category.setCode(key); + category.setName(map.get(key)); + category.setValue(0); + } + categoryList.add(category); + }); + erDto.setCategory(categoryList); + } + return erDto; } @Override public EventAnalysisResultDTO getEventAnalysis(String orgId, String orgType) { - EventAnalysisResultDTO dto = baseDao.getEventAnalysis(getOrgPath(orgId,orgType)); - Result> categoryMap = govIssueOpenFeignClient.getCategoryMap(EpmetRequestHolder.getLoginUserCustomerId()); - if (null != categoryMap && categoryMap.getData().size() > 0) { - List> dataMap = baseDao.getAnalysis(getOrgPath(orgId,orgType)); - if (null != dataMap && dataMap.size() > 0) { - Map merged = new HashMap<>(); - dataMap.forEach(merged::putAll); - dto.setCategoryCount(merged); - } - } + String orgPath = getOrgPath(orgId, orgType); + EventRateResultDTO erDto = baseDao.getEventRate(orgPath);//事件总量和灯数量,占比 + EventAnalysisResultDTO dto = baseDao.getEventAnalysis(orgPath); + dto.setDaiChuLiRate(erDto.getHongDengRate() == null ? 0 : erDto.getHongDengRate()); + dto.setChuLiZhongRate(erDto.getHuangDengRate() == null ? 0 : erDto.getHuangDengRate()); + dto.setYiJieAnRate(erDto.getLanDengRate() == null ? 0 : erDto.getLanDengRate()); + dto.setGuiDangRate(erDto.getGuiDangRate() == null ? 0 : erDto.getGuiDangRate()); return dto; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml index 36e6d7c8e9..8881d0e65a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml @@ -446,9 +446,11 @@ eb.hong AS hongDeng, ec.huang AS huangDeng, ed.lan as lanDeng, + ee.dang as guiDang, ROUND( eb.hong / ea.countAll, 2 ) AS hongDengRate, ROUND( ec.huang / ea.countAll, 2 ) AS huangDengRate, - ROUND( ed.lan / ea.countAll, 2 ) as lanDengRate + ROUND( ed.lan / ea.countAll, 2 ) as lanDengRate, + ROUND( ee.dang / ea.countAll, 2) as guiDangRate FROM ( SELECT SUM( CASE WHEN a.OPERATION_TYPE IS NULL OR a.OPERATION_TYPE = 0 THEN 1 ELSE 0 END ) AS countAll @@ -477,7 +479,13 @@ and d.GRID_PIDS like concat(#{orgIdPath},'%') - ) ed + ) ed, + ( SELECT SUM( CASE WHEN d.DIFFICULT_POINT = 1 and d.OPERATION_TYPE = 0 THEN 1 ELSE 0 END) as dang + FROM ic_event d WHERE d.DEL_FLAG = 0 + + and d.GRID_PIDS like concat(#{orgIdPath},'%') + + ) ee + \ No newline at end of file