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 new file mode 100644 index 0000000000..80f8b2f938 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventAnalysisResultDTO.java @@ -0,0 +1,35 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Map; + +/** + * @author yan Lu + * @description 事件分析数量和分类统计数量 + * @create 2023/5/17 15:15 + */ +@Data +public class EventAnalysisResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + /** + * 即诉即办数量 + */ + private Integer jiSuJiBan; + /** + * 直通联办数量 + */ + private Integer zhiTongLianBan; + /** + * 网格化平台数量 + */ + + private Integer wangGeHua; + /** + * 分类统计数量 + */ + private Map categoryCount; + +} 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 new file mode 100644 index 0000000000..a931447009 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/EventRateResultDTO.java @@ -0,0 +1,49 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author yan Lu + * @description 事件量和占比率 + * @create 2023/5/17 14:50 + */ + +@Data +public class EventRateResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 总量 + */ + private Integer total; + + /** + * 红灯数量 + */ + private Integer hongDeng; + /** + * 红灯占比 + */ + private Double hongDengRate; + /** + * 黄灯数量 + */ + private Integer huangDeng; + /** + * 黄灯占比 + */ + private Double huangDengRate; + /** + * 蓝灯数量 + */ + private Integer lanDeng; + /** + * 蓝灯占比 + */ + private Double lanDengRate; + + +} 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 5761c7bb7e..60e5b7b12c 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 @@ -559,4 +559,24 @@ public class IcEventController { return new Result>().ok(icEventService.batchSelectById(icEventIds)); } + /** + * @description 获取事件数量和占比率 + * @param * @param null + * @return Result + * @throws + * @author yan Lu + * @date 2023/5/17 14:49 + */ + @GetMapping("getEventRate") + public Result getEventRate(@RequestParam("orgId") String orgId, + @RequestParam("orgType") String orgType){ + return new Result().ok(icEventService.getEventRate(orgId,orgType)); + } + + @GetMapping("getEventAnalysis") + public Result getEventAnalysis(@RequestParam("orgId") String orgId, + @RequestParam("orgType") String orgType){ + return new Result().ok(icEventService.getEventAnalysis(orgId,orgType)); + } + } 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 41379f7fc8..9622cb94e0 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 @@ -29,6 +29,7 @@ public interface IcEventDao extends BaseDao { /** * 查询事件处理状态比例 + * * @param gridPids * @param queryStartTime * @param queryEndTime @@ -37,33 +38,35 @@ public interface IcEventDao extends BaseDao { @MapKey("status") List> getProcessStatusRatio(@Param("customerId") String customerId, @Param("orgType") String orgType, - @Param("orgId") String orgId, - @Param("gridPids") String gridPids, - @Param("queryStartTime") Date queryStartTime, - @Param("queryEndTime") Date queryEndTime); + @Param("orgId") String orgId, + @Param("gridPids") String gridPids, + @Param("queryStartTime") Date queryStartTime, + @Param("queryEndTime") Date queryEndTime); /** * 事件处理分析-时间列表 + * * @param customerId * @param gridPids * @param categoryCode * @param processStatus * @param queryStartTime 包含 - * @param queryEndTime 包含 + * @param queryEndTime 包含 * @return */ List listProcessAnalysisEvents(@Param("customerId") String customerId, - @Param("orgType") String orgType, - @Param("orgId") String orgId, - @Param("gridPids") String gridPids, - @Param("categoryCode") String categoryCode, - @Param("processStatus") String processStatus, - @Param("queryStartTime") Date queryStartTime, - @Param("queryEndTime") Date queryEndTime, - @Param("biz") String biz); + @Param("orgType") String orgType, + @Param("orgId") String orgId, + @Param("gridPids") String gridPids, + @Param("categoryCode") String categoryCode, + @Param("processStatus") String processStatus, + @Param("queryStartTime") Date queryStartTime, + @Param("queryEndTime") Date queryEndTime, + @Param("biz") String biz); /** * 月度事件数统计查询 + * * @param orgType * @param orgId * @param gridPids @@ -72,14 +75,15 @@ public interface IcEventDao extends BaseDao { * @return */ List listMonthlyEventCount( - @Param("orgType") String orgType, - @Param("orgId") String orgId, - @Param("gridPids") String gridPids, - @Param("queryStartTime") Date queryStartTime, - @Param("queryEndTime") Date queryEndTime); + @Param("orgType") String orgType, + @Param("orgId") String orgId, + @Param("gridPids") String gridPids, + @Param("queryStartTime") Date queryStartTime, + @Param("queryEndTime") Date queryEndTime); /** * 按父级分类查询组织下的事件列表 + * * @param orgId * @param orgType * @param categoryPids @@ -91,7 +95,6 @@ public interface IcEventDao extends BaseDao { @Param("categoryPids") String categoryPids); /** - * * @param formDTO * @return */ @@ -99,24 +102,25 @@ public interface IcEventDao extends BaseDao { /** * Desc: 查询客户下可以自动评价事件的ID + * * @param customerId * @param no * @param size * @author zxc * @date 2022/5/18 17:20 */ - List getAutoEvaluationIds(@Param("customerId") String customerId,@Param("no")Integer no,@Param("size")Integer size); + List getAutoEvaluationIds(@Param("customerId") String customerId, @Param("no") Integer no, @Param("size") Integer size); /** * Desc: 更新评价,默认 perfect + * * @param ids * @author zxc * @date 2022/5/18 17:26 */ - void updateAutoEvaluation(@Param("ids")List ids); + void updateAutoEvaluation(@Param("ids") List ids); /** - * * @param formDTO * @return */ @@ -130,10 +134,11 @@ public interface IcEventDao extends BaseDao { */ List selectMyReport(MyReportIcEvFormDTO formDTO); - int updateRedDot(@Param("userId") String userId, @Param("icEventId")String icEventId); + int updateRedDot(@Param("userId") String userId, @Param("icEventId") String icEventId); /** * 查询居民上报的时间数量 + * * @param reportorIdCard 上报人的身份证号 * @return */ @@ -143,4 +148,12 @@ public interface IcEventDao extends BaseDao { List selectUserReported(PageUserReportEventFormDTO formDTO); + EventRateResultDTO getEventRate(@Param("orgIdPath") String orgIdPath); + + EventAnalysisResultDTO getEventAnalysis(@Param("orgIdPath") String orgPath); + + @MapKey("code") + List> getAnalysis(@Param("orgIdPath") String orgPath); + + IcEventEntity selectByEventId(String icEventId); } 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 d785949909..4e1e19e580 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 @@ -73,6 +73,7 @@ public interface IcEventService extends BaseService { /** * 事件列表 + * * @param orgId * @param orgType * @param categoryCode @@ -84,10 +85,11 @@ public interface IcEventService extends BaseService { * @return */ PageData listProcessAnalysisEvents(String orgId, String orgType, String categoryCode, String processStatus, Date queryStartTime, - Date queryEndTime, Integer pageNo, Integer pageSize, String biz); + Date queryEndTime, Integer pageNo, Integer pageSize, String biz); /** * 月度增量查询 + * * @param orgType * @param orgId * @param queryStartTime @@ -98,6 +100,7 @@ public interface IcEventService extends BaseService { /** * 研判分析查询 + * * @param eventId * @return */ @@ -105,6 +108,7 @@ public interface IcEventService extends BaseService { /** * 同类事件列表 + * * @param categoryPids * @param pageNo * @param pageSize @@ -132,6 +136,7 @@ public interface IcEventService extends BaseService { /** * 事件分类分析-一级分类下事件数量 + * * @param formDTO * @return */ @@ -145,6 +150,7 @@ public interface IcEventService extends BaseService { /** * Desc: 定时任务自动评价 + * * @param formDTO * @author zxc * @date 2022/5/18 16:35 @@ -162,8 +168,10 @@ public interface IcEventService extends BaseService { * @Description 事件管理-处理进展 **/ LinkedList process(IcEventReplyFormDTO formDTO); + /** * 事件分类分析- 饼图2,直属下级 事件数量 + * * @param formDTO * @return */ @@ -171,13 +179,14 @@ public interface IcEventService extends BaseService { /** * @Author sun - * @Description 需求完成/项目结案时 修改事件数据 + * @Description 需求完成/项目结案时 修改事件数据 * 议题关闭时,如果议题来源于事件,也会调用此方法 **/ void closeProjectOrDemand(ColseProjectOrDemandFormDTO formDTO); /** * Desc: 新增【随手拍、讲】 + * * @param formDTO * @author zxc * @date 2022/5/19 13:38 @@ -206,19 +215,21 @@ public interface IcEventService extends BaseService { /** * 居民端我上报的事件-回复 + * * @param formDTO */ void resiReply(ResiReplyIcEventFormDTO formDTO); /** * 居民端我上报的事件, 消息列表跳转详情 + * * @param formDTO * @return */ MyReportIcEvResDTO myReportDetail(MyReportIcEvFormDTO formDTO); /** - * @Description 工作端事件红点消除 + * @Description 工作端事件红点消除 **/ void govRedDot(String icEventId); @@ -228,14 +239,32 @@ public interface IcEventService extends BaseService { /** * 事件转议题 + * * @param formDTO */ void icEventToIssue(IcEventToIssueFormDTO formDTO); /** * 批量查询事件信息 + * * @param icEventIds * @return */ List batchSelectById(List icEventIds); + + /** + * 获取事件数量和占比 + * + * @return + */ + EventRateResultDTO getEventRate(String orgId, String orgType); + + /** + * 事件分析数据获取 + * + * @param orgId + * @param orgType + * @return + */ + EventAnalysisResultDTO getEventAnalysis(String orgId, String orgType); } 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 915f834a44..73648097d0 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 @@ -15,6 +15,7 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; +import com.epmet.commons.tools.redis.common.bean.AgencyInfoCache; import com.epmet.commons.tools.redis.common.bean.GridInfoCache; import com.epmet.commons.tools.scan.param.ImgScanParamDTO; import com.epmet.commons.tools.scan.param.ImgTaskDTO; @@ -102,7 +103,7 @@ public class IcEventServiceImpl extends BaseServiceImpl list(IcEventListFormDTO formDTO) { - if(StringUtils.isBlank(formDTO.getAgencyId())){ + if (StringUtils.isBlank(formDTO.getAgencyId())) { //获取当前工作人员缓存信息 CustomerStaffInfoCacheResult staffInfo = getStaffInfo(formDTO.getCustomerId(), formDTO.getStaffId()); formDTO.setAgencyId(staffInfo.getAgencyId()); @@ -159,10 +160,10 @@ public class IcEventServiceImpl extends BaseServiceImpl imageList = new ArrayList<>(); List voiceList = new ArrayList<>(); - for(IcEventListResultDTO.Attachment file: dto.getAttachmentList()){ + for (IcEventListResultDTO.Attachment file : dto.getAttachmentList()) { if ("image".equals(file.getType())) { imageList.add(file.getUrl()); } else if ("voice".equals(file.getType())) { @@ -187,6 +188,7 @@ public class IcEventServiceImpl extends BaseServiceImpl issueRes=govIssueOpenFeignClient.publishIssue(issueFormDTO); + Result issueRes = govIssueOpenFeignClient.publishIssue(issueFormDTO); if (!issueRes.success() || null == issueRes.getData()) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件转议题异常,返参:" + JSON.toJSONString(issueRes), "事件转议题异常"); } @@ -321,7 +323,7 @@ public class IcEventServiceImpl extends BaseServiceImpl effectRow = epmetHeartOpenFeignClient.deleteUserDemandByOriginId(entity.getId(), ProjectOriginEnum.IC_EVENT.getCode()); // log.info("delete userDemand result:{},eventId:{}", effectRow, id); - } else if(NumConstant.THREE_STR.equals(entity.getOperationType())){ + } else if (NumConstant.THREE_STR.equals(entity.getOperationType())) { DelIssueFormDTO delIssueFormDTO = new DelIssueFormDTO(); delIssueFormDTO.setCustomerId(loginUserUtil.getLoginUserCustomerId()); delIssueFormDTO.setUserId(loginUserUtil.getLoginUserId()); delIssueFormDTO.setIssueIds(Arrays.asList(entity.getOperationId())); // 删除议题, 议题转了项目的,再单独去删除项目 Result> delIssueRes = govIssueOpenFeignClient.deleteIssueInternal(delIssueFormDTO); - if(delIssueRes.success()&&!CollectionUtils.isEmpty(delIssueRes.getData())){ + if (delIssueRes.success() && !CollectionUtils.isEmpty(delIssueRes.getData())) { // 议题被转了项目,需要删除项目 SpringContextUtils.getBean(ProjectService.class).deleteByOriginId(delIssueRes.getData().get(0), ProjectOriginEnum.ISSUE.getCode()); } } LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper(); - wrapper.eq(IcEventEntity::getId,id).set(IcEventEntity::getUpdatedTime,new Date()) - .set(IcEventEntity::getUpdatedBy,loginUserUtil.getLoginUserId()) - .set(IcEventEntity::getDelFlag,NumConstant.ONE_STR); - baseDao.update(null,wrapper); + wrapper.eq(IcEventEntity::getId, id).set(IcEventEntity::getUpdatedTime, new Date()) + .set(IcEventEntity::getUpdatedBy, loginUserUtil.getLoginUserId()) + .set(IcEventEntity::getDelFlag, NumConstant.ONE_STR); + baseDao.update(null, wrapper); //把事件分类ic_event_category也删除了吧,以免后面数据分析用到这个表 - icEventCategoryService.delInsert(id,null); + icEventCategoryService.delInsert(id, null); } } @@ -731,6 +734,7 @@ public class IcEventServiceImpl extends BaseServiceImpl list = baseDao.icEventList(formDTO); - if(CollectionUtils.isEmpty(list)){ - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"事件不存在","事件已删除"); + if (CollectionUtils.isEmpty(list)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件不存在", "事件已删除"); } resultDTO = list.get(0); //查询网格名称(组织-网格) @@ -1137,7 +1141,7 @@ public class IcEventServiceImpl extends BaseServiceImpl imageList = new ArrayList<>(); List voiceList = new ArrayList<>(); resultDTO.getAttachmentList().forEach(file -> { @@ -1152,11 +1156,11 @@ public class IcEventServiceImpl extends BaseServiceImpl categoryList = new ArrayList<>(); categoryList.add(resultDTO.getCategoryId()); CategoryTagResultDTO category = queryCategory(formDTO.getCustomerId(), categoryList); - for (IssueProjectCategoryDictDTO ca : category.getCategoryList()){ + for (IssueProjectCategoryDictDTO ca : category.getCategoryList()) { if (ca.getId().equals(resultDTO.getCategoryId())) { resultDTO.setParentCategoryId(ca.getPid()); resultDTO.setCategoryId(ca.getId()); @@ -1184,7 +1188,7 @@ public class IcEventServiceImpl extends BaseServiceImpl customerIds = new ArrayList<>(); - if (StringUtils.isBlank(formDTO.getCustomerId())){ + if (StringUtils.isBlank(formDTO.getCustomerId())) { Result> allCustomerList = crmOpenFeignClient.getAllCustomerList(); - if (!allCustomerList.success()){ + if (!allCustomerList.success()) { throw new EpmetException("查询所有客户失败"); } List data = allCustomerList.getData(); customerIds.addAll(data.stream().map(m -> m.getId()).collect(Collectors.toList())); - }else { + } else { customerIds.add(formDTO.getCustomerId()); } customerIds.forEach(c -> { @@ -1238,24 +1243,25 @@ public class IcEventServiceImpl extends BaseServiceImpl ids = new ArrayList<>(); do { int start = (no - NumConstant.ONE) * size; - ids = baseDao.getAutoEvaluationIds(customerId,start,size); + ids = baseDao.getAutoEvaluationIds(customerId, start, size); // 批量更新 - if (!CollectionUtils.isEmpty(ids)){ + if (!CollectionUtils.isEmpty(ids)) { baseDao.updateAutoEvaluation(ids); } no++; - }while (ids.size() == size); + } while (ids.size() == size); } /** @@ -1266,9 +1272,9 @@ public class IcEventServiceImpl extends BaseServiceImpl process(IcEventReplyFormDTO formDTO) { LinkedList resultList = new LinkedList(); //1.查询事件基础信息 - IcEventEntity entity = baseDao.selectById(formDTO.getIcEventId()); + IcEventEntity entity = baseDao.selectByEventId(formDTO.getIcEventId()); if (null == entity) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件不存在","事件不存在"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件不存在", "事件不存在"); } // operationType 0:已回复 1:已转项目 2:已转需求3:转议题 //2.判断查询事件项目进展或需求进展信息或者议题进展 @@ -1289,15 +1295,15 @@ public class IcEventServiceImpl extends BaseServiceImpl issueProcessRes = govIssueOpenFeignClient.queryIssueProcess(issueIdFormDTO); - if(!issueProcessRes.success()||CollectionUtils.isEmpty(issueProcessRes.getData().getProcessList())){ + if (!issueProcessRes.success() || CollectionUtils.isEmpty(issueProcessRes.getData().getProcessList())) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件已转议题,议题处理进展查询异常", "事件已转议题,议题处理进展查询异常"); } - IssueAdvanceResDTO issueAdvanceResDTO=issueProcessRes.getData(); + IssueAdvanceResDTO issueAdvanceResDTO = issueProcessRes.getData(); //如果议题已转项目,先放项目的处理进展 - if("shift_project".equals(issueAdvanceResDTO.getIssueStatus())){ + if ("shift_project".equals(issueAdvanceResDTO.getIssueStatus())) { //根据议题id查询项目 - List projectEntityList=SpringContextUtils.getBean(ProjectService.class).getByOriginId(issueAdvanceResDTO.getIssueId()); - if(!CollectionUtils.isEmpty(projectEntityList)){ + List projectEntityList = SpringContextUtils.getBean(ProjectService.class).getByOriginId(issueAdvanceResDTO.getIssueId()); + if (!CollectionUtils.isEmpty(projectEntityList)) { // 项目进展 ProcessListV2FormDTO processListV2FormDTO = new ProcessListV2FormDTO(); processListV2FormDTO.setProjectId(projectEntityList.get(0).getId()); @@ -1307,8 +1313,8 @@ public class IcEventServiceImpl extends BaseServiceImpl msgList = new ArrayList<>(); UserMessageFormDTO messageFormDTO = new UserMessageFormDTO(); messageFormDTO.setCustomerId(formDTO.getCustomerId()); @@ -1410,6 +1416,7 @@ public class IcEventServiceImpl extends BaseServiceImpl isResiFlag = userOpenFeignClient.getIsResiFlag(formDTO.getUserId()); - if (!isResiFlag.success()){ + if (!isResiFlag.success()) { throw new EpmetException("查询是否注册居民失败..."); } - if (!isResiFlag.getData()){ + if (!isResiFlag.getData()) { throw new EpmetException(EpmetErrorCode.NOT_REGEIST_RESI.getCode()); } - if(StringUtils.isBlank(formDTO.getContent()) && CollectionUtils.isEmpty(formDTO.getVoiceList())) { + if (StringUtils.isBlank(formDTO.getContent()) && CollectionUtils.isEmpty(formDTO.getVoiceList())) { //话题内容和语音不能同时为空 log.error("事件内容和语音不能同时为空"); throw new RenException(EpmetErrorCode.RESI_EVENT_SUBMIT.getCode(), EpmetErrorCode.RESI_EVENT_SUBMIT.getMsg()); @@ -1435,20 +1442,20 @@ public class IcEventServiceImpl extends BaseServiceImpl> userResult = userOpenFeignClient.queryUserBaseInfo(Arrays.asList(formDTO.getUserId())); - if (!userResult.success() && CollectionUtils.isEmpty(userResult.getData())){ - throw new EpmetException("查询用户信息失败"+formDTO.getUserId()); + if (!userResult.success() && CollectionUtils.isEmpty(userResult.getData())) { + throw new EpmetException("查询用户信息失败" + formDTO.getUserId()); } entity.setReportUserId(formDTO.getUserId()); AtomicReference userShowName = new AtomicReference<>(""); userResult.getData().forEach(u -> { - if (u.getUserId().equals(formDTO.getUserId())){ + if (u.getUserId().equals(formDTO.getUserId())) { entity.setName(u.getRealName()); entity.setMobile(u.getMobile()); entity.setIdCard(u.getIdNum()); @@ -1471,12 +1478,12 @@ public class IcEventServiceImpl extends BaseServiceImpl attachmentEntityList = new ArrayList<>(); if (!CollectionUtils.isEmpty(formDTO.getAttachmentList())) { - disposeAttachment(formDTO.getAttachmentList(), attachmentEntityList,entity.getId(),formDTO.getCustomerId(),formDTO.getUserId()); + disposeAttachment(formDTO.getAttachmentList(), attachmentEntityList, entity.getId(), formDTO.getCustomerId(), formDTO.getUserId()); } if (!CollectionUtils.isEmpty(formDTO.getVoiceList())) { - disposeAttachment(formDTO.getVoiceList(), attachmentEntityList,entity.getId(),formDTO.getCustomerId(),formDTO.getUserId()); + disposeAttachment(formDTO.getVoiceList(), attachmentEntityList, entity.getId(), formDTO.getCustomerId(), formDTO.getUserId()); } - if (!CollectionUtils.isEmpty(attachmentEntityList)){ + if (!CollectionUtils.isEmpty(attachmentEntityList)) { icEventAttachmentService.insertBatch(attachmentEntityList); } // 站内信发送给社区每个工作人员 @@ -1485,6 +1492,7 @@ public class IcEventServiceImpl extends BaseServiceImpl> agencyStaffsResult = govOrgOpenFeignClient.getAgencyStaffs(formDTO); - if (!agencyStaffsResult.success()){ + if (!agencyStaffsResult.success()) { throw new EpmetException("查询组织下工作人员失败..."); } - if (!CollectionUtils.isEmpty(agencyStaffsResult.getData())){ + if (!CollectionUtils.isEmpty(agencyStaffsResult.getData())) { List msgList = new ArrayList<>(); agencyStaffsResult.getData().forEach(u -> { UserMessageFormDTO msg = new UserMessageFormDTO(); @@ -1512,7 +1520,7 @@ public class IcEventServiceImpl extends BaseServiceImpl list,List attachmentEntityList,String id,String customerId,String userId){ + public void disposeAttachment(List list, List attachmentEntityList, String id, String customerId, String userId) { int sort = NumConstant.ZERO; for (FileCommonDTO a : list) { IcEventAttachmentEntity attachment = new IcEventAttachmentEntity(); @@ -1579,16 +1588,16 @@ public class IcEventServiceImpl extends BaseServiceImpl categoryList = new ArrayList<>(); categoryList.add(dto.getCategoryId()); CategoryTagResultDTO category = queryCategory(formDTO.getCustomerId(), categoryList); - for (IssueProjectCategoryDictDTO ca : category.getCategoryList()){ + for (IssueProjectCategoryDictDTO ca : category.getCategoryList()) { if (ca.getId().equals(dto.getCategoryId())) { - if(StringUtils.isNotBlank(ca.getParentCategoryName())){ + if (StringUtils.isNotBlank(ca.getParentCategoryName())) { //大类-子类 dto.setCategoryName(ca.getParentCategoryName().concat(StrConstant.HYPHEN).concat(ca.getCategoryName())); - }else{ + } else { dto.setCategoryName(ca.getCategoryName()); } } @@ -1610,7 +1619,7 @@ public class IcEventServiceImpl extends BaseServiceImpl userIdList =new ArrayList<>(); + List userIdList = new ArrayList<>(); userIdList.add(formDTO.getUserId()); - Result> userResult=userOpenFeignClient.queryUserBaseInfo(userIdList); + Result> userResult = userOpenFeignClient.queryUserBaseInfo(userIdList); if (!userResult.success() || CollectionUtils.isEmpty(userResult.getData())) { throw new RenException("查询当前用户信息异常"); } @@ -1646,25 +1655,25 @@ public class IcEventServiceImpl extends BaseServiceImpl> agencyStaffsResult = govOrgOpenFeignClient.getAgencyStaffs(formDTO); - if (!agencyStaffsResult.success()){ + if (!agencyStaffsResult.success()) { throw new EpmetException("查询组织下工作人员失败..."); } - if (!CollectionUtils.isEmpty(agencyStaffsResult.getData())){ + if (!CollectionUtils.isEmpty(agencyStaffsResult.getData())) { List msgList = new ArrayList<>(); agencyStaffsResult.getData().forEach(u -> { UserMessageFormDTO msg = new UserMessageFormDTO(); @@ -1676,7 +1685,7 @@ public class IcEventServiceImpl extends BaseServiceImpl // AND ie.REPORT_USER_ID = #{userId} // - List list=baseDao.selectMyReport(formDTO); - if(CollectionUtils.isEmpty(list)){ + List list = baseDao.selectMyReport(formDTO); + if (CollectionUtils.isEmpty(list)) { return null; } if (!CollectionUtils.isEmpty(list)) { @@ -1718,16 +1727,16 @@ public class IcEventServiceImpl extends BaseServiceImpl categoryList = new ArrayList<>(); categoryList.add(dto.getCategoryId()); CategoryTagResultDTO category = queryCategory(formDTO.getCustomerId(), categoryList); - for (IssueProjectCategoryDictDTO ca : category.getCategoryList()){ + for (IssueProjectCategoryDictDTO ca : category.getCategoryList()) { if (ca.getId().equals(dto.getCategoryId())) { - if(StringUtils.isNotBlank(ca.getParentCategoryName())){ + if (StringUtils.isNotBlank(ca.getParentCategoryName())) { //大类-子类 dto.setCategoryName(ca.getParentCategoryName().concat(StrConstant.HYPHEN).concat(ca.getCategoryName())); - }else{ + } else { dto.setCategoryName(ca.getCategoryName()); } } @@ -1791,9 +1800,9 @@ public class IcEventServiceImpl extends BaseServiceImpl(new ArrayList<>(), NumConstant.ZERO); // } - List epmetUserIdList=new ArrayList<>(); + List epmetUserIdList = new ArrayList<>(); epmetUserIdList.add(formDTO.getUserId()); - if(!CollectionUtils.isEmpty(formDTO.getEpmetUserIdList())){ + if (!CollectionUtils.isEmpty(formDTO.getEpmetUserIdList())) { epmetUserIdList.addAll(formDTO.getEpmetUserIdList()); } formDTO.setEpmetUserIdList(epmetUserIdList); @@ -1811,9 +1820,9 @@ public class IcEventServiceImpl extends BaseServiceImpl issueRes=govIssueOpenFeignClient.publishIssue(issueFormDTO); + Result issueRes = govIssueOpenFeignClient.publishIssue(issueFormDTO); if (!issueRes.success() || null == issueRes.getData()) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "事件转议题异常,返参:" + JSON.toJSONString(issueRes), "事件转议题异常"); } @@ -1848,7 +1857,7 @@ public class IcEventServiceImpl extends BaseServiceImpl categoryEntities=new ArrayList<>(); - for (IssueProjectCategoryDictDTO ca : category.getCategoryList()){ - IcEventCategoryEntity icEventCategoryEntity=new IcEventCategoryEntity(); + List categoryEntities = new ArrayList<>(); + for (IssueProjectCategoryDictDTO ca : category.getCategoryList()) { + IcEventCategoryEntity icEventCategoryEntity = new IcEventCategoryEntity(); icEventCategoryEntity.setCustomerId(formDTO.getCustomerId()); icEventCategoryEntity.setIcEventId(formDTO.getIcEventId()); icEventCategoryEntity.setCategoryId(ca.getId()); @@ -1867,7 +1876,7 @@ public class IcEventServiceImpl extends BaseServiceImpl batchSelectById(List icEventIds) { - Listlist=baseDao.selectBatchIds(icEventIds); - return ConvertUtils.sourceToTarget(list,IcEventDTO.class); + List list = baseDao.selectBatchIds(icEventIds); + return ConvertUtils.sourceToTarget(list, IcEventDTO.class); + } + + @Override + public EventRateResultDTO getEventRate(String orgId, String orgType) { + return baseDao.getEventRate(getOrgPath(orgId, orgType)); + } + + @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); + } + } + return dto; + } + + private String getOrgPath(String orgId, String orgType) { + if (OrgInfoConstant.AGENCY.equals(orgType)) { // 行政组织 + AgencyInfoCache agencyInfo = CustomerOrgRedis.getAgencyInfo(orgId); + return PidUtils.convertPid2OrgIdPath(agencyInfo.getId(), agencyInfo.getPids()); + } else {// 网格 + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(orgId); + return PidUtils.convertPid2OrgIdPath(gridInfo.getId(), gridInfo.getPids()); + } } } 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 546c52b88f..36e6d7c8e9 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,5 +440,93 @@ ORDER BY re.created_time desc + + + + + +