Browse Source

事件管理_列表

dev
sunyuchao 3 years ago
parent
commit
1f1f93dbd7
  1. 1
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  2. 17
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java
  3. 95
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java
  4. 6
      epmet-module/gov-project/gov-project-server/pom.xml
  5. 7
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java
  6. 54
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java
  7. 19
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventAttachmentDao.xml
  8. 14
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventCategoryDao.xml
  9. 106
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml
  10. 16
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventOperationLogDao.xml
  11. 14
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventReplyDao.xml
  12. 15
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventScanTaskDao.xml

1
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java

@ -23,6 +23,7 @@ public enum DictTypeEnum {
PATROL_WORK_TYPE("patrol_work_type", "例行工作分类", 13),
GRID_TYPE("grid_type", "网格类型", 12),
ITEM_TYPE_QUERY("item_type_query","居民信息组件查询方式",14),
IC_EVENT("ic_event","事件管理",19),
;
private final String code;

17
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IcEventListFormDTO.java

@ -13,38 +13,37 @@ public class IcEventListFormDTO implements Serializable {
private static final long serialVersionUID = 9156247659994638103L;
/**
* 网格ID
* 所属网格
*/
private String gridId;
/**
* 所属小区ID
* 上报渠道
*/
private String sourceType;
/**
* 所属楼宇Id
* 事件内容
*/
private String eventContent;
/**
* 单元id
* 报事人
*/
private String name;
/**
* 所属家庭Id
* 手机号
*/
private String mobile;
/**
* 起始迁入时间
* 起始上报时间yyyy-MM-dd HH:mm:ss
*/
private String startTime;
/**
* 终止迁入时间
* 终止上报时间yyyy-MM-dd HH:mm:ss
*/
private String endTime;
/**
* 手机号
* 状态处理中processing已办结closed_case
*/
private String status;
/**
* 页码
*/

95
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventListResultDTO.java

@ -1,10 +1,9 @@
package com.epmet.dto.result;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@ -17,7 +16,7 @@ public class IcEventListResultDTO implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 迁入Id
* 事件Id
*/
private String eventId;
/**
@ -25,96 +24,88 @@ public class IcEventListResultDTO implements Serializable {
*/
private String gridId;
/**
* 网格名称
* 所属网格
*/
private String gridName;
/**
* 所属小区ID
* 事件内容
*/
private String eventContent;
/**
* 所属小区名称
* 图片[url集合]
*/
private List<String> imageList;
/**
* 所属小区名称
* 音频[url集合]
*/
private List<String> voiceList;
/**
* 所属楼宇Id
* 上报渠道[字典表]
*/
private String sourceType;
/**
* 上报渠道
*/
private String sourceTypeName;
/**
* 所属楼宇名称
* 地址
*/
private String address;
/**
* 单元id
* 报事人
*/
private String name;
/**
* 单元名称
* 手机号
*/
private String mobile;
/**
* 所属家庭Id
* 群众满意度[满意度 - 不满意:bad基本满意:good非常满意:perfect]
*/
private String satisfaction;
/**
* 所属家庭名称
* 群众满意度[满意度 - 不满意:bad基本满意:good非常满意:perfect]
*/
private String isResiUser;
private String satisfactionName;
/**
* 所属家庭Id
* 上报时间
*/
private String status;
private String createdTime;
/**
* 姓名
* 状态处理中processing已办结closed_case
*/
private String createdUserId;
/**
* 迁入时间
*/
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date inTime;
/**
* 迁入原因
*/
private String inReason;
/**
* 来源地区编码
*/
private String sourceAddressCode;
private String status;
/**
* 来源地区编码全路径
* 状态处理中processing已办结closed_case
*/
private String sourceAddressPathCode;
private String statusName;
/**
* 来源地区地址
* 事件创建人
*/
private String sourceAddress;
private String createdUserId;
/**
* 迁移证号码
* 事件附件
*/
private String moveNumber;
@JsonIgnore
private List<EventDetailResultDTO.Attachment> attachmentList;
@Data
public static class Attachment {
/**
* url
*/
private String url;
/**
* 户主姓名
*/
private String householderName;
/**
* 附件类型
*/
private String type;
/**
* 与户主关系[字典表]
*/
private String householderRelation;
/**
* 附件类型
*/
private Integer duration;
}
/**
* 与户主关系[字典表]
*/
private String householderRelationName;
}

6
epmet-module/gov-project/gov-project-server/pom.xml

@ -137,6 +137,12 @@
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.epmet</groupId>
<artifactId>epmet-admin-client</artifactId>
<version>2.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>

7
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java

@ -1,9 +1,13 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.form.IcEventListFormDTO;
import com.epmet.dto.result.IcEventListResultDTO;
import com.epmet.entity.IcEventEntity;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 事件管理表
*
@ -12,5 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
*/
@Mapper
public interface IcEventDao extends BaseDao<IcEventEntity> {
List<IcEventListResultDTO> icEventList(IcEventListFormDTO formDTO);
}

54
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java

@ -3,24 +3,32 @@ package com.epmet.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.FieldConstant;
import com.epmet.commons.tools.dto.form.FileCommonDTO;
import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcEventDao;
import com.epmet.dto.IcEventDTO;
import com.epmet.dto.form.IcEventListFormDTO;
import com.epmet.dto.result.AllGridsByUserIdResultDTO;
import com.epmet.dto.result.IcEventListResultDTO;
import com.epmet.dto.result.IcMoveInListResultDTO;
import com.epmet.entity.IcEventEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.feign.GovOrgOpenFeignClient;
import com.epmet.service.IcEventService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* 事件管理表
@ -30,14 +38,50 @@ import java.util.Map;
*/
@Service
public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntity> implements IcEventService {
@Autowired
private GovOrgOpenFeignClient govOrgOpenFeignClient;
@Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient;
@Override
public PageData<IcEventListResultDTO> list(IcEventListFormDTO formDTO) {
PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize(), formDTO.getIsPage());
List<IcEventListResultDTO> list = null;
List<IcEventListResultDTO> list = baseDao.icEventList(formDTO);
PageInfo<IcEventListResultDTO> pageInfo = new PageInfo<>(list);
if (!CollectionUtils.isEmpty(list)) {}
if (!CollectionUtils.isEmpty(list)) {
//查询网格名称(组织-网格)
List<String> gridIds = list.stream().map(IcEventListResultDTO::getGridId).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
Result<List<AllGridsByUserIdResultDTO>> gridInfoRes = govOrgOpenFeignClient.getGridListByGridIds(gridIds);
List<AllGridsByUserIdResultDTO> gridInfoList = gridInfoRes.success() && !org.apache.commons.collections4.CollectionUtils.isEmpty(gridInfoRes.getData()) ? gridInfoRes.getData() : new ArrayList<>();
Map<String, String> gridInfoMap = gridInfoList.stream().collect(Collectors.toMap(AllGridsByUserIdResultDTO::getGridId, AllGridsByUserIdResultDTO::getGridName, (key1, key2) -> key2));
//与户主关系字典表数据
Result<Map<String, String>> statusRes = adminOpenFeignClient.dictMap(DictTypeEnum.IC_EVENT.getCode());
Map<String, String> statusMap = statusRes.success() && MapUtils.isNotEmpty(statusRes.getData()) ? statusRes.getData() : new HashMap<>();
//封装数据
for (IcEventListResultDTO dto : list) {
if (gridInfoMap.containsKey(dto.getGridId())) {
dto.setGridName(gridInfoMap.get(dto.getGridId()));
}
if (StringUtils.isNotBlank(dto.getSourceType())) {
dto.setSourceTypeName(statusMap.get(dto.getSourceType()));
}
//每个事件对应的图片数据
List<String> imageList = new ArrayList<>();
List<String> voiceList = new ArrayList<>();
dto.getAttachmentList().forEach(file -> {
if ("image".equals(file.getType())) {
imageList.add(file.getUrl());
} else if ("voice".equals(file.getType())) {
voiceList.add(file.getUrl());
}
});
dto.setImageList(imageList);
dto.setVoiceList(voiceList);
}
}
return new PageData<>(list, pageInfo.getTotal());
}

19
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventAttachmentDao.xml

@ -3,25 +3,6 @@
<mapper namespace="com.epmet.dao.IcEventAttachmentDao">
<resultMap type="com.epmet.entity.IcEventAttachmentEntity" id="icEventAttachmentMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="icEventId" column="IC_EVENT_ID"/>
<result property="attachmentName" column="ATTACHMENT_NAME"/>
<result property="attachmentFormat" column="ATTACHMENT_FORMAT"/>
<result property="attachmentType" column="ATTACHMENT_TYPE"/>
<result property="attachmentUrl" column="ATTACHMENT_URL"/>
<result property="sort" column="SORT"/>
<result property="status" column="STATUS"/>
<result property="reason" column="REASON"/>
<result property="duration" column="DURATION"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

14
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventCategoryDao.xml

@ -3,20 +3,6 @@
<mapper namespace="com.epmet.dao.IcEventCategoryDao">
<resultMap type="com.epmet.entity.IcEventCategoryEntity" id="icEventCategoryMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="icEventId" column="IC_EVENT_ID"/>
<result property="categoryId" column="CATEGORY_ID"/>
<result property="categoryPids" column="CATEGORY_PIDS"/>
<result property="categoryCode" column="CATEGORY_CODE"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

106
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml

@ -3,42 +3,78 @@
<mapper namespace="com.epmet.dao.IcEventDao">
<resultMap type="com.epmet.entity.IcEventEntity" id="icEventMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="gridId" column="GRID_ID"/>
<result property="agencyId" column="AGENCY_ID"/>
<result property="gridPids" column="GRID_PIDS"/>
<result property="reportUserId" column="REPORT_USER_ID"/>
<result property="name" column="NAME"/>
<result property="mobile" column="MOBILE"/>
<result property="idCard" column="ID_CARD"/>
<result property="sourceType" column="SOURCE_TYPE"/>
<result property="eventContent" column="EVENT_CONTENT"/>
<result property="latitude" column="LATITUDE"/>
<result property="longitude" column="LONGITUDE"/>
<result property="address" column="ADDRESS"/>
<result property="status" column="STATUS"/>
<result property="closeCaseTime" column="CLOSE_CASE_TIME"/>
<result property="operationType" column="OPERATION_TYPE"/>
<result property="operationId" column="OPERATION_ID"/>
<result property="readFlag" column="READ_FLAG"/>
<result property="redDot" column="RED_DOT"/>
<result property="latestOperatedTime" column="LATEST_OPERATED_TIME"/>
<result property="resolveStatus" column="RESOLVE_STATUS"/>
<result property="closeRemark" column="CLOSE_REMARK"/>
<result property="commentUserId" column="COMMENT_USER_ID"/>
<result property="commentContent" column="COMMENT_CONTENT"/>
<result property="commentTime" column="COMMENT_TIME"/>
<result property="auditStatus" column="AUDIT_STATUS"/>
<result property="auditReason" column="AUDIT_REASON"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
<resultMap id="icEventMap" type="com.epmet.dto.result.IcEventListResultDTO">
<id property="eventId" column="id"/>
<result property="gridId" column="grid_id"/>
<result property="sourceType" column="source_type" />
<result property="address" column="address" />
<result property="name" column="name" />
<result property="mobile" column="mobile" />
<result property="satisfaction" column="satisfaction" />
<result property="satisfactionName" column="satisfaction" />
<result property="createdTime" column="created_time" />
<result property="status" column="status" />
<result property="createdUserId" column="created_by" />
<collection property="attachmentList" ofType="com.epmet.dto.result.IcEventListResultDTO$Attachment">
<result column="icEventAttachmentId"/><!-- 附件表ID,如果附件url和type一样会被去重 加上id就可以了 -->
<result column="url" property="url"/>
<result column="type" property="type"/>
<result column="duration" property="duration"/>
</collection>
</resultMap>
<select id="icEventList" parameterType="map" resultMap="icEventMap">
SELECT
ie.id eventId,
ie.grid_id gridId,
ie.event_content eventContent,
ie.source_type sourceType,
ie.address address,
ie.`name` name,
ie.mobile mobile,
ie.satisfaction satisfaction,
IF(ie.satisfaction = 'bad','不满意',IF (ie.satisfaction = 'good','基本满意',IF (ie.satisfaction = 'perfect','非常满意',''))) satisfactionName,
ie.created_time createdTime,
ie.`status` status,
ie.created_by createdUserId,
rea.attachment_url as img_url,
rea.id AS iceventattachmentid,
rea.attachment_url AS url,
rea.attachment_type AS type,
rea.duration AS duration
FROM
ic_event ie
LEFT JOIN ic_event_attachment rea ON(ie.id = rea.ic_event_id AND rea.del_flag = '0')
WHERE
ie.del_flag = '0'
<if test="gridId != null and gridId != '' ">
AND ie.grid_id = #{gridId}
</if>
<if test="sourceType != null and sourceType != '' ">
AND ie.source_type = #{sourceType}
</if>
<if test="eventContent != null and eventContent != '' ">
AND ie.event_content LIKE CONCAT('%', #{eventContent}, '%')
</if>
<if test="name != null and name != '' ">
AND ie.`name` LIKE CONCAT('%', #{name}, '%')
</if>
<if test="mobile != null and mobile != '' ">
AND ie.mobile = #{mobile}
</if>
<if test="startTime != null and startTime != '' ">
AND DATE_FORMAT(ie.created_time,"%Y-%m-%d %H:%i") <![CDATA[>=]]> #{startTime}
</if>
<if test="endTime != null and endTime != '' ">
AND DATE_FORMAT(ie.created_time,"%Y-%m-%d %H:%i") <![CDATA[<=]]> #{endTime}
</if>
<if test="status != null and status != '' ">
AND ie.`status` = #{status}
</if>
order by ie.latest_operated_time desc, rea.sort asc
</select>
</mapper>

16
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventOperationLogDao.xml

@ -3,22 +3,6 @@
<mapper namespace="com.epmet.dao.IcEventOperationLogDao">
<resultMap type="com.epmet.entity.IcEventOperationLogEntity" id="icEventOperationLogMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="icEventId" column="IC_EVENT_ID"/>
<result property="userId" column="USER_ID"/>
<result property="userIdentity" column="USER_IDENTITY"/>
<result property="actionCode" column="ACTION_CODE"/>
<result property="actionDesc" column="ACTION_DESC"/>
<result property="operateTime" column="OPERATE_TIME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

14
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventReplyDao.xml

@ -3,20 +3,6 @@
<mapper namespace="com.epmet.dao.IcEventReplyDao">
<resultMap type="com.epmet.entity.IcEventReplyEntity" id="icEventReplyMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="icEventId" column="IC_EVENT_ID"/>
<result property="fromUserId" column="FROM_USER_ID"/>
<result property="content" column="CONTENT"/>
<result property="userShowName" column="USER_SHOW_NAME"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>

15
epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventScanTaskDao.xml

@ -3,21 +3,6 @@
<mapper namespace="com.epmet.dao.IcEventScanTaskDao">
<resultMap type="com.epmet.entity.IcEventScanTaskEntity" id="icEventScanTaskMap">
<result property="id" column="ID"/>
<result property="customerId" column="CUSTOMER_ID"/>
<result property="icEventId" column="IC_EVENT_ID"/>
<result property="icEventAttachmentId" column="IC_EVENT_ATTACHMENT_ID"/>
<result property="taskId" column="TASK_ID"/>
<result property="status" column="STATUS"/>
<result property="attachmentType" column="ATTACHMENT_TYPE"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
</mapper>
Loading…
Cancel
Save