diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java index 3be3954934..cb8e5a0a2e 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/IcEventDTO.java @@ -20,107 +20,107 @@ public class IcEventDTO implements Serializable { /** * 主键,事件id */ - private String id; + private String id; /** * 客户ID */ - private String customerId; + private String customerId; /** * 事件所属的网格Id */ - private String gridId; + private String gridId; /** * 网格的所属组织 */ - private String agencyId; + private String agencyId; /** * 网格的所有组织Id */ - private String gridPids; + private String gridPids; /** * 报事的人【居民端/pc端居民Id】可为空 */ - private String reportUserId; + private String reportUserId; /** * 报事人姓名 */ - private String name; + private String name; /** * 手机号 */ - private String mobile; + private String mobile; /** * 身份证号 */ - private String idCard; + private String idCard; /** * 反映渠道【字典表】 */ - private String sourceType; + private String sourceType; /** * 发生时间 */ - private Date happenTime; + private Date happenTime; /** * 事件内容 */ - private String eventContent; + private String eventContent; /** * 纬度 */ - private String latitude; + private String latitude; /** * 经度 */ - private String longitude; + private String longitude; /** * 地址 */ - private String address; + private String address; /** * 处理中:processing;已办结:closed_case */ - private String status; + private String status; /** * 办结时间 */ - private Date closeCaseTime; + private Date closeCaseTime; /** * 0:已回复 1:已转项目 2:已转需求3:转议题 */ - private String operationType; + private String operationType; /** * 项目、需求ID、议题id */ - private String operationId; + private String operationId; /** * 事件是否被阅读过;1已读;针对报事人待处理列表 */ - private Integer readFlag; + private Integer readFlag; /** - * 报事人的红点:展示1;不展示:0;人大代表回复,工作人员回复/立项/转需求/办结更新为1; + * 报事人的红点:展示1;不展示:0;人大代表回复,工作人员回复/立项/转需求/办结更新为1; */ - private Integer redDot; + private Integer redDot; /** * 工作端的红点:展示1;不展示:0;【居民报事、回复更新为1】 @@ -130,81 +130,81 @@ public class IcEventDTO implements Serializable { /** * 最近一次操作时间(回复、立项、转需求、办结更新此列) */ - private Date latestOperatedTime; + private Date latestOperatedTime; /** * 是否解决:已解决 resolved,未解决 un_solved */ - private String resolveStatus; + private String resolveStatus; /** * 结案说明 */ - private String closeRemark; + private String closeRemark; /** * 评论人 */ - private String commentUserId; + private String commentUserId; /** * 评论内容 */ - private String satisfaction; + private String satisfaction; /** * 评论时间 */ - private Date commentTime; + private Date commentTime; /** - * 事件审核状态[涉及附件审核需要加的状态](审核中:auditing; -auto_passed: 自动通过; -review:结果不确定,需要人工审核; -block: 结果违规; -rejected:人工审核驳回; -approved:人工审核通过) + * 事件审核状态[涉及附件审核需要加的状态](审核中:auditing; + * auto_passed: 自动通过; + * review:结果不确定,需要人工审核; + * block: 结果违规; + * rejected:人工审核驳回; + * approved:人工审核通过) */ - private String auditStatus; + private String auditStatus; /** * 审核理由 */ - private String auditReason; + private String auditReason; /** * 是否标记难点堵点 0:否 1:是 */ - private String difficultPoint; + private String difficultPoint; /** * 删除标识:0.未删除 1.已删除 */ - private String delFlag; + private String delFlag; /** * 乐观锁 */ - private Integer revision; + private Integer revision; /** * 创建人 */ - private String createdBy; + private String createdBy; /** * 创建时间 */ - private Date createdTime; + private Date createdTime; /** * 更新人 */ - private String updatedBy; + private String updatedBy; /** * 更新时间 */ - private Date updatedTime; + private Date updatedTime; -} \ No newline at end of file +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java index c630f4940a..8d24ac8419 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventAddEditFormDTO.java @@ -51,6 +51,11 @@ public class IcEventAddEditFormDTO implements Serializable { */ @NotBlank(message = "反映渠道不能为空", groups = {AddGroup.class}) private String sourceType; + + /** + * 事件类型:1、红灯事件 2、黄灯事件 3、蓝灯事件 + */ + private String eventType; /** * 发生时间 */ 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 9d8643cf73..5c2c4bff61 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 @@ -25,6 +25,11 @@ public class EventAnalysisResultDTO implements Serializable { * 网格化平台数量 */ private Integer wangGeHua; + + /** + * 0、上报 1、阅收 3、完结 4、审核 5、事件评价 6、结案归档 + */ + /** * 待处理 */ 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 efd13ccbf6..1e2f9c24da 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 @@ -36,30 +36,6 @@ public class EventRateResultDTO implements Serializable { */ private Integer lanDeng; - /** - * 归档数量 - */ - private Integer guiDang; - - /** - * 未响应占比 - */ - private Double hongDengRate; - - /** - * 处理中占比 - */ - private Double huangDengRate; - - /** - * 已完成占比 - */ - private Double lanDengRate; - - /** - * 归档占比 - */ - private Double guiDangRate; /** * 分类统计数量 */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java index 349db1d45c..bb23c45258 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java @@ -77,6 +77,10 @@ public class IcEventListResultDTO implements Serializable { * 上报渠道[字典表] */ private String sourceType; + /** + * 事件类型: 1、红灯事件 2、黄灯事件 3、蓝灯事件 + */ + private String eventType; /** * 发生时间 */ 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 06ba55576b..6d1afc7f3d 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 @@ -583,7 +583,7 @@ public class IcEventController { * @param * @param null * @return Result * @throws - * @description 获取事件数量和分类数量 + * @description 获取事件数量和占比 * @author yan Lu * @date 2023/5/17 14:49 */ @@ -594,6 +594,14 @@ public class IcEventController { return new Result().ok(icEventService.getEventRate(orgId, orgType, eventType)); } + /** + * @param + * @return Result + * @throws + * @description 按事件分类统计 + * @author yan Lu + * @date 2023/5/18 17:53 + */ @GetMapping("getEventAnalysis") public Result getEventAnalysis(@RequestParam("orgId") String orgId, @RequestParam("orgType") String orgType, @@ -601,4 +609,17 @@ public class IcEventController { return new Result().ok(icEventService.getEventAnalysis(orgId, orgType, eventType)); } + /** + * @param * @param null null + * @return null + * @throws + * @description 根据组织ID获取事件办理统计情况 + * @author yan Lu + * @date 2023/5/19 09:28 + */ + @GetMapping("getEventRateByAgencyId") + public Result> getEventRateByAgencyId(@RequestParam("agencyId") String agencyId) { + return new Result>().ok(icEventService.getEventRateByAgencyId(agencyId)); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java index 3aed8c5932..b3aa4b5b3b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java @@ -148,12 +148,66 @@ public interface IcEventDao extends BaseDao { List selectUserReported(PageUserReportEventFormDTO formDTO); + /** + * 按响应级别统计数量 + * + * @param orgIdPath + * @return + */ + EventRateResultDTO getEventCount(@Param("orgIdPath") String orgIdPath); + + /** + * 获取事件处理进度占比 + * + * @param orgIdPath + * @param eventType + * @return + */ EventRateResultDTO getEventRate(@Param("orgIdPath") String orgIdPath, @Param("eventType") String eventType); + /** + * 分类统计事件来源数量 + * + * @param orgPath + * @param eventType + * @return + */ EventAnalysisResultDTO getEventAnalysis(@Param("orgIdPath") String orgPath, @Param("eventType") String eventType); + /** + * 根据事件类型,统计各类型的数量 + * + * @param orgPath + * @return + */ @MapKey("code") List> getAnalysis(@Param("orgIdPath") String orgPath); + /** + * 根据ID查询事件 + * + * @param icEventId + * @return + */ IcEventEntity selectByEventId(String icEventId); + + /** + * 根据事件来源获取数量 + * + * @param orgPath 1、即诉即办 2、直通联办 3、网格化平台 + * @return + */ + EventAnalysisResultDTO getEventBySourceTypeCount(@Param("orgIdPath") String orgPath); + + /** + * 根据 事件来源获取 完成进度占比 + * 待响应 没有任何回复数据或者只有上报数据 + * 处理中 只要包含一条阅收数据即为处理中 + * 已结案 只要包含一条完结数据即为已结案 + * 已归档 只要包含一条归档数据即为已归档 + * manageType: 0、上报 1、阅收 3、完结 4、审核 5、事件评价 6、结案归档 + */ + Integer getEventByReplyTypeCount(@Param("orgIdPath") String orgPath, + @Param("sourceType") String sourceType, + @Param("manageType") String manageType); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java index c20ab1ec25..3cb9cd00b9 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/IcEventEntity.java @@ -71,6 +71,11 @@ public class IcEventEntity extends BaseEpmetEntity { */ private String sourceType; + /** + * 事件类型:1、红灯事件 2、黄灯事件 3、蓝灯事件 + */ + private String eventType; + /** * 发生时间 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java index 7b1a6bbbd9..bc7baf4b78 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java @@ -267,4 +267,11 @@ public interface IcEventService extends BaseService { * @return */ EventAnalysisResultDTO getEventAnalysis(String orgId, String orgType, String eventType); + + /** + * 根据组织ID获取下一级组织事件不完结率和完结数量 + * @return + */ + + List getEventRateByAgencyId(String agencyId); } 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 2c44fab7ff..cc7397f80a 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 @@ -322,6 +322,7 @@ public class IcEventServiceImpl extends BaseServiceImpl> dataMap = baseDao.getAnalysis(getOrgPath(orgId, orgType));//按分类获取数量 Map temp = new HashMap<>(); if (null != dataMap && dataMap.size() > 0) { @@ -1958,19 +1959,71 @@ public class IcEventServiceImpl extends BaseServiceImpl getEventRateByAgencyId(String agencyId) { + if (StringUtils.isNotEmpty(agencyId)) { + List orgs = getSubOrgs(agencyId); + if (null != orgs && orgs.size() > 0) { + + } + } + return null; + } + + /** + * @param orgId + * @param orgType + * @return + * @deprecationg 获取orgPath + */ private String getOrgPath(String orgId, String orgType) { if (OrgInfoConstant.AGENCY.equals(orgType)) { // 行政组织 AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); @@ -1981,4 +2034,27 @@ public class IcEventServiceImpl extends BaseServiceImpl getSubOrgs(String agencyId) { + List orgList = new ArrayList<>(); + Result> orgs = govOrgOpenFeignClient.subOrgList(agencyId); + if (!orgs.success() || CollectionUtils.isEmpty(orgs.getData())) { + return orgList; + } + for (SubOrgResDTO org : orgs.getData()) { + IcEventAnalysisOrgResDTO resultDto = ConvertUtils.sourceToTarget(org, IcEventAnalysisOrgResDTO.class); + if ("agency".equals(org.getOrgType())) { + resultDto.setOrgName(org.getOrgName()); + resultDto.setOrgType(org.getOrgType()); + resultDto.setOrgId(org.getOrgId()); + orgList.add(resultDto); + } + } + return orgList; + } + } 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 9d98c5370f..2cc91c2851 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 @@ -440,63 +440,61 @@ ORDER BY re.created_time desc + + @@ -540,6 +538,64 @@ + + + +