Browse Source

Merge remote-tracking branch 'origin/dev_zhili' into dev_zhili

# Conflicts:
#	epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java
#	epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java
#	epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java
dev
sunyuchao 3 years ago
parent
commit
3e8b89a942
  1. 4
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceListFormDTO.java
  2. 4
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java
  3. 2
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml
  4. 13
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EventProcessAnalysisCommonFormDTO.java
  5. 15
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventMonthlyCountResultDTO.java
  6. 18
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventMonthlyIncrementResultDTO.java
  7. 29
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java
  8. 18
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/IcEventDao.java
  9. 25
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java
  10. 43
      epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/IcEventServiceImpl.java
  11. 19
      epmet-module/gov-project/gov-project-server/src/main/resources/mapper/IcEventDao.xml

4
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ServiceListFormDTO.java → epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/demand/ServiceListFormDTO.java

@ -1,4 +1,4 @@
package com.epmet.dto.form;
package com.epmet.dto.form.demand;
import com.epmet.commons.tools.dto.form.PageFormDTO;
import lombok.Data;
@ -6,7 +6,6 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
@Data
public class ServiceListFormDTO extends PageFormDTO implements Serializable {
@NotBlank(message = "type不能为空:志愿者:volunteer;社区自组织:community_org", groups = PageFormDTO.AddUserInternalGroup.class)
@ -21,3 +20,4 @@ public class ServiceListFormDTO extends PageFormDTO implements Serializable {
private String customerId;
}

4
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcUserDemandRecDao.java

@ -20,9 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IcUserDemandRecDTO;
import com.epmet.dto.form.PointRecordFormDTO;
import com.epmet.dto.form.demand.IcResiUserDemandFromDTO;
import com.epmet.dto.form.demand.PageListAnalysisFormDTO;
import com.epmet.dto.form.demand.UserDemandPageFormDTO;
import com.epmet.dto.form.demand.*;
import com.epmet.dto.result.PointRecordDTO;
import com.epmet.dto.result.ServicePointDTO;
import com.epmet.dto.result.demand.*;

2
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcUserDemandRecDao.xml

@ -643,7 +643,7 @@
</select>
<select id="queryServiceList" parameterType="com.epmet.dto.form.ServiceListFormDTO" resultType="com.epmet.dto.result.demand.DemandRecResultDTO">
<select id="queryServiceList" parameterType="com.epmet.dto.form.demand.ServiceListFormDTO" resultType="com.epmet.dto.result.demand.DemandRecResultDTO">
SELECT
r.ID as demandRecId,
r.CONTENT,

13
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/EventProcessAnalysisCommonFormDTO.java

@ -19,16 +19,21 @@ public class EventProcessAnalysisCommonFormDTO {
*/
public interface ProcessStatusRatioQuery {}
/**
* 月度新增
*/
public interface MonthlyIncrementAnalysis {}
/**
* 要查询的组织ID
*/
@NotBlank(message = "组织ID为必填项", groups = { ProcessStatusRatioQuery.class })
@NotBlank(message = "组织ID为必填项", groups = { ProcessStatusRatioQuery.class, MonthlyIncrementAnalysis.class })
private String orgId;
/**
* 组织类型grid,agency
*/
@NotBlank(message = "组织类型为必填项", groups = { ProcessStatusRatioQuery.class })
@NotBlank(message = "组织类型为必填项", groups = { ProcessStatusRatioQuery.class, MonthlyIncrementAnalysis.class })
private String orgType;
/**
@ -36,7 +41,7 @@ public class EventProcessAnalysisCommonFormDTO {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
@NotNull(message = "查询时间为必填项", groups = { ProcessStatusRatioQuery.class })
@NotNull(message = "查询时间为必填项", groups = { ProcessStatusRatioQuery.class, MonthlyIncrementAnalysis.class })
private Date queryStartTime;
/**
@ -44,7 +49,7 @@ public class EventProcessAnalysisCommonFormDTO {
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
@NotNull(message = "查询时间为必填项", groups = { ProcessStatusRatioQuery.class })
@NotNull(message = "查询时间为必填项", groups = { ProcessStatusRatioQuery.class, MonthlyIncrementAnalysis.class })
private Date queryEndTime;
}

15
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventMonthlyCountResultDTO.java

@ -0,0 +1,15 @@
package com.epmet.dto.result;
import jdk.nashorn.internal.ir.debug.PrintVisitor;
import lombok.Data;
import java.util.Date;
@Data
public class IcEventMonthlyCountResultDTO {
private String monthName;
private Integer eventCount;
}

18
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/IcEventMonthlyIncrementResultDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.result;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* 事件阅读增量dto
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class IcEventMonthlyIncrementResultDTO {
private String monthName;
private Integer increment;
}

29
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/IcEventController.java

@ -2,6 +2,8 @@ package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
@ -13,6 +15,7 @@ import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IcEventDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.IcEventListResultDTO;
import com.epmet.dto.result.IcEventMonthlyIncrementResultDTO;
import com.epmet.dto.result.IcEventResultDTO;
import com.epmet.dto.result.ProcessStatusRatioResultDTO;
import com.epmet.service.IcEventService;
@ -20,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
import java.util.List;
/**
@ -78,7 +82,7 @@ public class IcEventController {
}
/**
* 事件分类分析-处理状态比例查询
* 事件处理分析-处理状态比例查询
* @param formDTO
* @return
*/
@ -96,7 +100,7 @@ public class IcEventController {
}
/**
* 事件分类分析-事件列表
* 事件处理分析-事件列表
* @param input
* @return
*/
@ -115,6 +119,27 @@ public class IcEventController {
return new Result<PageData<IcEventResultDTO>>().ok(page);
}
/**
* 时间处理分析-阅读增量查询
* @param input
* @return
*/
@PostMapping("processAnalysis/monthlyIncrement")
public Result<List<IcEventMonthlyIncrementResultDTO>> listMonthlyIncrement(@RequestBody EventProcessAnalysisCommonFormDTO input) {
ValidatorUtils.validateEntity(input, EventProcessAnalysisCommonFormDTO.MonthlyIncrementAnalysis.class);
String orgId = input.getOrgId();
String orgType = input.getOrgType();
Date queryStartTime = input.getQueryStartTime();
Date queryEndTime = input.getQueryEndTime();
if (queryStartTime.after(queryEndTime)) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "日期范围错误", "日期范围错误");
}
List<IcEventMonthlyIncrementResultDTO> page = icEventService.listMonthlyIncrement(orgType, orgId, queryStartTime, queryEndTime);
return new Result<List<IcEventMonthlyIncrementResultDTO>>().ok(page);
}
/**
* @Author sun
* @Description 事件管理-回复

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

@ -1,6 +1,8 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.IcEventMonthlyCountResultDTO;
import com.epmet.dto.result.IcEventMonthlyIncrementResultDTO;
import com.epmet.dto.form.IcEventListFormDTO;
import com.epmet.dto.result.IcEventListResultDTO;
import com.epmet.dto.result.IcEventResultDTO;
@ -60,4 +62,20 @@ public interface IcEventDao extends BaseDao<IcEventEntity> {
@Param("processStatus") String processStatus,
@Param("queryStartTime") Date queryStartTime,
@Param("queryEndTime") Date queryEndTime);
/**
* 月度事件数统计查询
* @param orgType
* @param orgId
* @param gridPids
* @param queryStartTime
* @param queryEndTime
* @return
*/
List<IcEventMonthlyCountResultDTO> listMonthlyEventCount(
@Param("orgType") String orgType,
@Param("orgId") String orgId,
@Param("gridPids") String gridPids,
@Param("queryStartTime") Date queryStartTime,
@Param("queryEndTime") Date queryEndTime);
}

25
epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/IcEventService.java

@ -7,11 +7,14 @@ import com.epmet.dto.form.IcEventAddEditFormDTO;
import com.epmet.dto.form.IcEventListFormDTO;
import com.epmet.dto.form.IcEventReplyFormDTO;
import com.epmet.dto.result.IcEventListResultDTO;
import com.epmet.dto.result.IcEventMonthlyIncrementResultDTO;
import com.epmet.dto.result.IcEventResultDTO;
import com.epmet.dto.result.ProcessStatusRatioResultDTO;
import com.epmet.entity.IcEventEntity;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* 事件管理表
@ -73,9 +76,31 @@ public interface IcEventService extends BaseService<IcEventEntity> {
ProcessStatusRatioResultDTO getProcessStatusRatio(String orgId, String orgType, Date queryStartTime, Date queryEndTime);
/**
* 事件列表
* @param orgId
* @param orgType
* @param categoryCode
* @param processStatus
* @param queryStartTime
* @param queryEndTime
* @param pageNo
* @param pageSize
* @return
*/
PageData<IcEventResultDTO> listProcessAnalysisEvents(String orgId, String orgType, String categoryCode, String processStatus, Date queryStartTime,
Date queryEndTime, Integer pageNo, Integer pageSize);
/**
* 月度增量查询
* @param orgType
* @param orgId
* @param queryStartTime
* @param queryEndTime
* @return
*/
List<IcEventMonthlyIncrementResultDTO> listMonthlyIncrement(String orgType, String orgId, Date queryStartTime, Date queryEndTime);
/**
* @Author sun
* @Description 事件管理-回复

43
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.param.TextScanParamDTO;
import com.epmet.commons.tools.scan.param.TextTaskDTO;
import com.epmet.commons.tools.scan.result.SyncScanResult;
import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.EpmetRequestHolder;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.utils.ScanContentUtils;
@ -472,6 +473,48 @@ public class IcEventServiceImpl extends BaseServiceImpl<IcEventDao, IcEventEntit
return new PageData<>(list, pageInfo.getTotal());
}
@Override
public List<IcEventMonthlyIncrementResultDTO> listMonthlyIncrement(String orgType, String orgId, Date queryStartTime, Date queryEndTime) {
List<IcEventMonthlyIncrementResultDTO> resultList = new ArrayList<>();
String gridPids = null;
if ("agency".equals(orgType)) {
gridPids = getEventGridPids(orgId);
}
// 从输入开始月份上一个月的开始查
queryEndTime = DateUtils.addDateMonths(queryEndTime, 1);
// 查询分组统计后的结果,此时月份数据不全,如果数量是0的月份不会在这里面
List<IcEventMonthlyCountResultDTO> eventCountDataList = baseDao.listMonthlyEventCount(orgType, orgId, gridPids, queryStartTime, queryEndTime);
Map<String, Integer> monthAndCount = eventCountDataList.stream().collect(Collectors.toMap((e) -> e.getMonthName(), (e) -> e.getEventCount()));
Date tempMonth = DateUtils.integrate(queryStartTime, DateUtils.DATE_PATTERN_YYYY_MM);
Date endMonth = DateUtils.integrate(queryEndTime, DateUtils.DATE_PATTERN_YYYY_MM);
// 按照开始和结束时间,对比数据库查出来的,没有数据的填0
while (true) {
Integer increment = 0;
if (tempMonth.equals(endMonth)) {
break;
}
String tempMonthString = DateUtils.format(tempMonth, DateUtils.DATE_PATTERN_YYYY_MM);
Integer eventCountOfMonth = monthAndCount.get(tempMonthString);
if (eventCountOfMonth != null) {
increment = eventCountOfMonth;
}
tempMonth = DateUtils.addDateMonths(tempMonth, 1);
resultList.add(new IcEventMonthlyIncrementResultDTO(tempMonthString, increment));
}
return resultList;
}
/**
* @Author sun
* @Description 事件管理-回复

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

@ -70,6 +70,25 @@
</if>
</where>
</select>
<select id="listMonthlyEventCount" resultType="com.epmet.dto.result.IcEventMonthlyCountResultDTO">
select t.monthName, count(1) eventCount
from (
select date_format(e.HAPPEN_TIME, '%Y-%m') monthName
from ic_event e
<where>
e.HAPPEN_TIME >= date_format(#{queryStartTime}, '%Y-%m')
and e.HAPPEN_TIME <![CDATA[ <= ]]> date_format(#{queryEndTime}, '%Y-%m')
<if test="orgType == 'grid'">
and e.GRID_ID =#{orgId}
</if>
<if test="orgType == 'agency'">
and e.GRID_PIDS like concat('',#{gridPids},'')
</if>
</where>
) t
group by t.monthName
</select>
<select id="icEventList" parameterType="map" resultMap="icEventMap">
SELECT

Loading…
Cancel
Save