From da711e9e873dab112421ef1e09bc6e7996f19ff2 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 27 Jun 2022 14:39:47 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=85=E9=81=93=EF=BC=9Ahttp://zentao.elinks?= =?UTF-8?q?ervice.cn/story-view-670.html=20=E4=B8=AA=E4=BA=BA=E6=A1=A3?= =?UTF-8?q?=E6=A1=88=E4=B8=AD=E4=B8=8A=E6=8A=A5=E4=BA=8B=E4=BB=B6=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3=E7=94=B1=E5=8E=9F?= =?UTF-8?q?=E6=9D=A5=E7=9A=84=E6=9F=A5=E8=AF=A2resi=5Fevent=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E6=9F=A5=E8=AF=A2ic=5Fevent=E8=A1=A8=EF=BC=8C?= =?UTF-8?q?=E5=B8=82=E5=8C=97=E5=AE=A2=E6=88=B7=E7=BB=A7=E7=BB=AD=E6=B2=BF?= =?UTF-8?q?=E7=94=A8=E4=B9=8B=E5=89=8D=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/controller/IcEventController.java | 35 ++++++++ .../main/java/com/epmet/dao/IcEventDao.java | 7 ++ .../main/java/com/epmet/dao/ProjectDao.java | 4 + .../com/epmet/service/IcEventService.java | 6 ++ .../service/impl/IcEventServiceImpl.java | 90 +++++++++++++++++++ .../service/impl/ResiEventServiceImpl.java | 13 ++- .../src/main/resources/mapper/IcEventDao.xml | 86 ++++++++++++++++++ .../src/main/resources/mapper/ProjectDao.xml | 26 ++++++ 8 files changed, 265 insertions(+), 2 deletions(-) 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 12416e4276..9042cc9a9c 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 @@ -491,4 +491,39 @@ public class IcEventController { return new Result(); } + /** + * @Description 上报事件-回复列表 + * 模仿gov/project/resieventreply/list接口重新查询新表接口 + * @author sun + */ + @PostMapping("icevent-list") + public Result> replyList(@LoginUser TokenDto tokenDto, @RequestBody ReplyListFormDTO formDTO){ + formDTO.setCurrentUserId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, ReplyListFormDTO.ReplyListForm.class); + return new Result>().ok(icEventService.icEventReplyList(formDTO)); + } + + /** + * 数据分析-个人档案-上报事件列表,根据epmetUserIdList查询 + * 模仿gov/project/resieventreply/pageuserreported接口重新查询新表接口 + * @author sun + */ + @PostMapping("icevent-pageuserreported") + public Result> pageUserReported(@RequestBody PageUserReportEventFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, PageUserReportEventFormDTO.AddUserInternalGroup.class); + return new Result>().ok(icEventService.icEventPageUserReported(formDTO)); + } + + /** + * 数字赋能平台-个人档案-事件详情 + * 模仿gov/project/resieventreply/eventdetail-icdata 接口重新查询新表接口 + * @author sun + */ + @PostMapping("icevent-eventdetail-icdata") + public Result icEventDetailForIcData(@RequestBody ResiEventDetailFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, ResiEventDetailFormDTO.AddUserInternalGroup.class); + return new Result().ok(icEventService.icEventDetailForIcData(formDTO.getResiEventId())); + } + + } 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 386225e922..46a391aa69 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 @@ -4,6 +4,7 @@ import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.dto.form.IcEventCategoryAnalysisFormDTO; import com.epmet.dto.form.IcEventListFormDTO; import com.epmet.dto.form.MyReportIcEvFormDTO; +import com.epmet.dto.form.PageUserReportEventFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcEventEntity; import org.apache.ibatis.annotations.MapKey; @@ -136,4 +137,10 @@ public interface IcEventDao extends BaseDao { * @return */ Integer getResiReportEventCount(@Param("reportorIdCard") String reportorIdCard); + + List selectReplyList(@Param("icEventId") String icEventId); + + List selectUserReported(PageUserReportEventFormDTO formDTO); + + EventDetailResultDTO selectEventDetail(@Param("icEventId") String icEventId); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index 6c5e253e06..a8dbce0939 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -241,6 +241,10 @@ public interface ProjectDao extends BaseDao { @Param("categoryCode")String categoryCode, @Param("excludeProjectId") String excludeProjectId, @Param("epmetUserIds")List epmetUserIds); + List selectCommonCategoryIcEventProject(@Param("customerId")String customerId, + @Param("categoryCode")String categoryCode, + @Param("excludeProjectId") String excludeProjectId, + @Param("epmetUserIds")List epmetUserIds); /** * 数据分析-个人档案-话题详情页面的研判分析项目列表 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 2a3545fc9c..f913401117 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 @@ -220,4 +220,10 @@ public interface IcEventService extends BaseService { * @Description 工作端事件红点消除 **/ void govRedDot(String icEventId); + + List icEventReplyList(ReplyListFormDTO formDTO); + + PageData icEventPageUserReported(PageUserReportEventFormDTO formDTO); + + EventDetailResultDTO icEventDetailForIcData(String icEventId); } \ No newline at end of file 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 ed76a24e82..b70393e187 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 @@ -22,6 +22,7 @@ import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.utils.*; import com.epmet.constant.*; import com.epmet.dao.IcEventDao; +import com.epmet.dao.ProjectDao; import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.form.demand.DemandRecId; @@ -94,6 +95,11 @@ public class IcEventServiceImpl extends BaseServiceImpl icEventReplyList(ReplyListFormDTO formDTO) { + List list = baseDao.selectReplyList(formDTO.getResiEventId()); + list.forEach(dto -> { + if (dto.getReplyUserId().equals(formDTO.getCurrentUserId())) { + dto.setReplyName("我"); + } + }); + return list; + } + + @Override + public PageData icEventPageUserReported(PageUserReportEventFormDTO formDTO) { + if (org.apache.commons.collections4.CollectionUtils.isEmpty(formDTO.getEpmetUserIdList())) { + return new PageData(new ArrayList<>(), NumConstant.ZERO); + } + PageInfo pageInfo = PageHelper.startPage(formDTO.getPageNo(), + formDTO.getPageSize()).doSelectPageInfo(() -> baseDao.selectUserReported(formDTO)); + return new PageData<>(pageInfo.getList(), pageInfo.getTotal()); + } + + @Override + public EventDetailResultDTO icEventDetailForIcData(String icEventId) { + EventDetailResultDTO dto = baseDao.selectEventDetail(icEventId); + if (null == dto) { + return new EventDetailResultDTO(); + } + //附件按类型分组【图片、语音】 + List eventImgs = new ArrayList<>(); + List voiceList = new ArrayList<>(); + dto.getAttachmentList().forEach(file -> { + if ("image".equals(file.getType())) { + eventImgs.add(file.getUrl()); + } else if ("voice".equals(file.getType())) { + FileCommonDTO fl = new FileCommonDTO(); + fl.setUrl(file.getUrl()); + fl.setDuration(file.getDuration()); + voiceList.add(fl); + } + }); + dto.setEventImgs(eventImgs); + dto.setVoiceList(voiceList); + + // 已转项目 + if (dto.getIsProject()) { + // 查询项目信息 + EventProjectInfoDTO eventProjectInfo = projectDao.selectEventProjectInfo(dto.getProjectId()); + // 查询操作人的名字 + Result staffName = govOrgOpenFeignClient.staffName(eventProjectInfo.getUserId()); + if (!staffName.success()) { + throw new RenException("查询工作人员名字失败"); + } + eventProjectInfo.setOperationName(staffName.getData()); + dto.setProjectInfo(eventProjectInfo); + } + // 查询报事人名字 + List userIdList = new ArrayList<>(); + userIdList.add(dto.getEventUserId()); + Result> userResult = epmetUserOpenFeignClient.queryUserBaseInfo(userIdList); + if (!userResult.success() || CollectionUtils.isEmpty(userResult.getData())) { + throw new RenException("查询当前用户信息异常"); + } + userResult.getData().forEach(u -> { + if (u.getUserId().equals(dto.getEventUserId())) { + dto.setEventPeopleName(u.getUserShowName()); + } + }); + // 查询所属网格 + Result gridNameResult = govOrgOpenFeignClient.gridName(dto.getGridId()); + if (!gridNameResult.success()) { + throw new RenException("查询所属网格失败"); + } + dto.setGridName(gridNameResult.getData()); + // 查询报事的org + List orgNameList = dto.getOrgNameList(); + Result> orgResult = govOrgOpenFeignClient.selectOrgNameByType(orgNameList); + if (!orgResult.success()) { + throw new RenException("查询组织名称失败"); + } + List data = orgResult.getData(); + dto.setEventOrg(data); + return dto; + } + } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index eb336fe63e..c8b7c7d8a8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -20,6 +20,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.AppClientConstant; +import com.epmet.commons.tools.constant.CustomerIdConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.form.FileCommonDTO; @@ -937,8 +938,16 @@ public class ResiEventServiceImpl extends BaseServiceImpl projectData=new ArrayList<>(); for(IssueProjectCategoryDictDTO categoryDictDTO:categoryRes.getData()){ //当前项目分类一致,排除当前项目,相同分类编码 - List projectList=projectDao.selectCommonCategoryEventProject(projectCategoryDTOList.get(NumConstant.ZERO).getCustomerId(), - categoryDictDTO.getCategoryCode(),formDTO.getProjectId(),formDTO.getEpmetUserIdList()); + //2022.6.27 市北客户继续沿用直接接口,其他客户不在查询resi_event表 改查ic_eveent表数据 sun start + List projectList = new ArrayList<>(); + if (CustomerIdConstant.SHI_BEI_CUSTOMER_ID.equals(projectCategoryDTOList.get(NumConstant.ZERO).getCustomerId())) { + projectList = projectDao.selectCommonCategoryEventProject(projectCategoryDTOList.get(NumConstant.ZERO).getCustomerId(), + categoryDictDTO.getCategoryCode(), formDTO.getProjectId(), formDTO.getEpmetUserIdList()); + } else { + projectList = projectDao.selectCommonCategoryIcEventProject(projectCategoryDTOList.get(NumConstant.ZERO).getCustomerId(), + categoryDictDTO.getCategoryCode(), formDTO.getProjectId(), formDTO.getEpmetUserIdList()); + } + //2022.6.27 市北客户继续沿用直接接口,其他客户不在查询resi_event表 改查ic_eveent表数据 sun end if(!CollectionUtils.isEmpty(projectList)){ ProjectDataDTO projectDataDTO=new ProjectDataDTO(); projectDataDTO.setFirstCategoryCode(categoryDictDTO.getCategoryCode()); 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 b03c73efaf..2e0d084c24 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 @@ -375,4 +375,90 @@ where e.ID_CARD = #{reportorIdCard} and e.DEL_FLAG = '0' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 493f8bbf72..2bf087f56a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -440,6 +440,32 @@ order by p.CREATED_TIME desc + +