Browse Source

议题数据查询

dev_shibei_match
zhaoqifeng 5 years ago
parent
commit
766458b22a
  1. 14
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/constant/IssueConstant.java
  2. 19
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/form/IssueIncrtrendFormDTO.java
  3. 206
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueDataDTO.java
  4. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueIncrtrendResultDTO.java
  5. 34
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubAgencyResultDTO.java
  6. 27
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubGridResultDTO.java
  7. 54
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryInfoResultDTO.java
  8. 30
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryPieResultDTO.java
  9. 2
      epmet-module/data-report/data-report-server/pom.xml
  10. 95
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/controller/IssueController.java
  11. 60
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/dao/IssueDao.java
  12. 65
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/IssueService.java
  13. 172
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/impl/IssueServiceImpl.java
  14. 88
      epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml

14
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/constant/IssueConstant.java

@ -0,0 +1,14 @@
package com.epmet.issue.constant;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 14:07
*/
public interface IssueConstant {
String MONTH = "month";
String DATE = "date";
String VOTING_NAME = "表决中";
String SHIFT_NAME = "已转项目";
String CLOSED_NAME = "已关闭";
}

19
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/form/IssueIncrtrendFormDTO.java

@ -0,0 +1,19 @@
package com.epmet.issue.dto.form;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:32
*/
@Data
public class IssueIncrtrendFormDTO implements Serializable {
private static final long serialVersionUID = 4408419854627376175L;
/**
* 类型按日date 按月month
*/
private String type;
}

206
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueDataDTO.java

@ -0,0 +1,206 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 14:11
*/
@Data
public class IssueDataDTO implements Serializable {
private static final long serialVersionUID = 9136989870868730175L;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名
*/
private String agencyName;
/**
* 网格ID
*/
private String gridId;
/**
* 网格名
*/
private String gridName;
/**
* 年度ID
*/
private String yearId;
/**
* 年度名
*/
private String yearName;
/**
* 季度ID
*/
private String quarterId;
/**
* 季度名
*/
private String quarterName;
/**
* 月度ID
*/
private String monthId;
/**
* 月度名
*/
private String monthName;
/**
* 周ID
*/
private String weekId;
/**
* 日期ID
*/
private String dateId;
/**
* 日期名
*/
private String dateName;
/**
* 当日议题增量
*/
private Integer issueIncr;
/**
* 议题总数
*/
private Integer issueTotal;
/**
* 当日已转项目的议题数增量
*/
private Integer shiftProjectIncr;
/**
* 已转项目的议题总数
*/
private Integer shiftProjectTotal;
/**
* 已转项目所占百分比
*/
private BigDecimal shiftProjectPercent;
/**
* 当日表决中议题数增量
*/
private Integer votingIncr;
/**
* 表决中议题总数
*/
private Integer votingTotal;
/**
* 表决中议题所占百分比
*/
private BigDecimal votingPercent;
/**
* 当日已关闭议题数增量
*/
private Integer closedIncr;
/**
* 当日已关闭议题中已解决数量
*/
private Integer closedResolvedIncr;
/**
* 当日已关闭议题中无需解决数量
*/
private Integer closedUnresolvedIncr;
/**
* 已关闭议题总数
*/
private Integer closedTotal;
/**
* 已关闭议题中已解决总数
*/
private Integer closedResolvedTotal;
/**
* 已关闭议题中未解决总数
*/
private Integer closedUnresolvedTotal;
/**
* 已关闭议题所占百分比
*/
private BigDecimal closedPercent;
/**
* 已关闭议题中已解决百分比
*/
private BigDecimal closedResolvedPercent;
/**
* 已关闭议题中未解决百分比
*/
private BigDecimal closedUnresolvedPercent;
/**
* 当日已结案议题数
*/
private Integer closedCaseIncr;
/**
* 当日已结案议题中已解决数
*/
private Integer closedCaseResolvedIncr;
/**
* 当日已结案议题中未解决数
*/
private Integer closedCaseUnresolvedIncr;
/**
* 已结案议题总数
*/
private Integer closedCaseTotal;
/**
* 已结案议题中已解决总数
*/
private Integer closedCaseResolvedTotal;
/**
* 已结案议题中未解决总数
*/
private Integer closedCaseUnresolvedTotal;
/**
* 已结案议题中已解决百分比
*/
private BigDecimal closedCaseResolvedPercent;
/**
* 已结案议题中未解决百分比
*/
private BigDecimal closedCaseUnresolvedPercent;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueIncrtrendResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:30
*/
@NoArgsConstructor
@Data
public class IssueIncrtrendResultDTO implements Serializable {
private static final long serialVersionUID = 7762529188251385355L;
/**
* 日期
*/
private String date;
/**
* 状态表决中已转项目已关闭
*/
private String type;
/**
* 数量
*/
private Integer value;
}

34
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubAgencyResultDTO.java

@ -0,0 +1,34 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:24
*/
@NoArgsConstructor
@Data
public class IssueSubAgencyResultDTO implements Serializable {
private static final long serialVersionUID = 2640337888693960513L;
/**
* 组织ID
*/
private String agencyId;
/**
* 组织名
*/
private String name;
/**
* 类型 表决中已转项目已关闭
*/
private String type;
/**
* 数量
*/
private Integer value;
}

27
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSubGridResultDTO.java

@ -0,0 +1,27 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:27
*/
@Data
public class IssueSubGridResultDTO implements Serializable {
private static final long serialVersionUID = -3318384216762207856L;
/**
* 网格名
*/
private String name;
/**
* 类型 表决中已转项目已关闭
*/
private String type;
/**
* 数量
*/
private Integer value;
}

54
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryInfoResultDTO.java

@ -0,0 +1,54 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:17
*/
@NoArgsConstructor
@Data
public class IssueSummaryInfoResultDTO implements Serializable {
private static final long serialVersionUID = -7959140755148294338L;
/**
* 机关ID
*/
private String agencyId;
/**
* 议题总数
*/
private Integer issueTotal;
/**
* 表决中数量
*/
private Integer votingTotal;
/**
* 已转项目数量
*/
private Integer shiftProjectTotal;
/**
* 已关闭数量
*/
private Integer closedTotal;
/**
* 表决中占比
*/
private String votingRatio;
/**
* 已转项目占比
*/
private String shiftProjectRatio;
/**
* 已关闭占比
*/
private String closedRatio;
/**
* 更新至日期
*/
private String dateName;
}

30
epmet-module/data-report/data-report-client/src/main/java/com/epmet/issue/dto/result/IssueSummaryPieResultDTO.java

@ -0,0 +1,30 @@
package com.epmet.issue.dto.result;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 16:21
*/
@NoArgsConstructor
@Data
public class IssueSummaryPieResultDTO implements Serializable {
private static final long serialVersionUID = -971115426789868580L;
/**
* 名称 表决中已转项目已关闭
*/
private String name;
/**
*
*/
private Integer value;
/**
* 百分比
*/
private String ratio;
}

2
epmet-module/data-report/data-report-server/pom.xml

@ -112,7 +112,7 @@
<spring.redis.password>123456</spring.redis.password> <spring.redis.password>123456</spring.redis.password>
<!-- nacos --> <!-- nacos -->
<nacos.register-enabled>false</nacos.register-enabled> <nacos.register-enabled>true</nacos.register-enabled>
<nacos.server-addr>122.152.200.70:8848</nacos.server-addr> <nacos.server-addr>122.152.200.70:8848</nacos.server-addr>
<nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace> <nacos.discovery.namespace>fcd6fc8f-ca3a-4b01-8026-2b05cdc5976b</nacos.discovery.namespace>
<nacos.config.namespace></nacos.config.namespace> <nacos.config.namespace></nacos.config.namespace>

95
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/controller/IssueController.java

@ -0,0 +1,95 @@
package com.epmet.module.issue.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import com.epmet.module.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:47
*/
@RestController
@RequestMapping("issue")
public class IssueController {
@Autowired
private IssueService issueService;
/**
* 数据汇总
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<com.epmet.issue.dto.result.IssueSummaryInfoResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("summaryinfo")
public Result<IssueSummaryInfoResultDTO> getSummaryInfo(@LoginUser TokenDto tokenDto) {
return new Result<IssueSummaryInfoResultDTO>().ok(issueService.getSummaryInfo(tokenDto));
}
/**
* 数据汇总饼状图
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueSummaryPieResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("summarypie")
public Result<List<IssueSummaryPieResultDTO>> getSummaryPie(@LoginUser TokenDto tokenDto) {
return new Result<List<IssueSummaryPieResultDTO>>().ok(issueService.getSummaryPie(tokenDto));
}
/**
* 下级机关议题统计
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueSubAgencyResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("subagency")
public Result<List<IssueSubAgencyResultDTO>> getSubAgency(@LoginUser TokenDto tokenDto) {
return new Result<List<IssueSubAgencyResultDTO>>().ok(issueService.getSubAgency(tokenDto));
}
/**
* 网格议题统计
*
* @param tokenDto
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueSubGridResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("subgrid")
public Result<List<IssueSubGridResultDTO>> getSubGrid(@LoginUser TokenDto tokenDto) {
return new Result<List<IssueSubGridResultDTO>>().ok(issueService.getSubGrid(tokenDto));
}
/**
* 议题分析
*
* @param tokenDto
* @param formDTO
* @return com.epmet.commons.tools.utils.Result<java.util.List < com.epmet.issue.dto.result.IssueIncrtrendResultDTO>>
* @author zhaoqifeng
* @date 2020/6/22 17:31
*/
@PostMapping("incrtrend")
public Result<List<IssueIncrtrendResultDTO>> getIncrtrend(@LoginUser TokenDto tokenDto, @RequestBody IssueIncrtrendFormDTO formDTO) {
return new Result<List<IssueIncrtrendResultDTO>>().ok(issueService.getIncrtrend(tokenDto, formDTO));
}
}

60
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/dao/IssueDao.java

@ -0,0 +1,60 @@
package com.epmet.module.issue.dao;
import com.epmet.issue.dto.result.IssueDataDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:48
*/
@Mapper
public interface IssueDao {
/**
* 获取当前机关统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:19
* @param agencyId
* @return com.epmet.issue.dto.result.IssueDataDTO
*/
IssueDataDTO selectAgencyInfo(@Param("agencyId") String agencyId);
/**
* 获取下级机关统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:20
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectSubAgencyList(@Param("agencyId") String agencyId);
/**
* 获取机关下网格统计信息
* @author zhaoqifeng
* @date 2020/6/22 15:21
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectGridList(@Param("agencyId") String agencyId);
/**
* 获取当前机关日增量
* @author zhaoqifeng
* @date 2020/6/22 15:22
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectAgencyIncDailyList(@Param("agencyId") String agencyId);
/**
* 获取当前机关月增量
* @author zhaoqifeng
* @date 2020/6/22 15:23
* @param agencyId
* @return java.util.List<com.epmet.issue.dto.result.IssueDataDTO>
*/
List<IssueDataDTO> selectAgencyIncMonthlyList(@Param("agencyId") String agencyId);
}

65
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/IssueService.java

@ -0,0 +1,65 @@
package com.epmet.module.issue.service;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:48
*/
public interface IssueService {
/**
* 议题汇总
*
* @param tokenDto
* @return com.epmet.issue.dto.result.IssueSummaryInfoResultDTO
* @author zhaoqifeng
* @date 2020/6/22 16:40
*/
IssueSummaryInfoResultDTO getSummaryInfo(TokenDto tokenDto);
/**
* 议题汇总饼状图
*
* @param tokenDto
* @return com.epmet.issue.dto.result.IssueSummaryPieResultDTO
* @author zhaoqifeng
* @date 2020/6/22 16:40
*/
List<IssueSummaryPieResultDTO> getSummaryPie(TokenDto tokenDto);
/**
* 下级机关
*
* @param tokenDto
* @return java.util.List<com.epmet.issue.dto.result.IssueSubAgencyResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 16:40
*/
List<IssueSubAgencyResultDTO> getSubAgency(TokenDto tokenDto);
/**
* 网格
*
* @param tokenDto
* @return java.util.List<com.epmet.issue.dto.result.IssueSubGridResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 16:41
*/
List<IssueSubGridResultDTO> getSubGrid(TokenDto tokenDto);
/**
* 议题分析
*
* @param tokenDto
* @param formDTO
* @return java.util.List<com.epmet.issue.dto.result.IssueIncrtrendResultDTO>
* @author zhaoqifeng
* @date 2020/6/22 16:41
*/
List<IssueIncrtrendResultDTO> getIncrtrend(TokenDto tokenDto, IssueIncrtrendFormDTO formDTO);
}

172
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/issue/service/impl/IssueServiceImpl.java

@ -0,0 +1,172 @@
package com.epmet.module.issue.service.impl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.issue.constant.IssueConstant;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
import com.epmet.module.issue.dao.IssueDao;
import com.epmet.module.issue.service.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* @author zhaoqifeng
* @dscription
* @date 2020/6/22 13:49
*/
@Service
public class IssueServiceImpl implements IssueService {
@Autowired
private IssueDao issueDao;
@Autowired
private EpmetUserOpenFeignClient epmetUserOpenFeignClient;
@Override
public IssueSummaryInfoResultDTO getSummaryInfo(TokenDto tokenDto) {
IssueSummaryInfoResultDTO result = new IssueSummaryInfoResultDTO();
String agencyId = getAgencyId(tokenDto);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId);
result.setAgencyId(agencyId);
result.setDateName(data.getDateName());
result.setIssueTotal(data.getIssueTotal());
result.setVotingTotal(data.getVotingTotal());
result.setShiftProjectTotal(data.getShiftProjectTotal());
result.setClosedTotal(data.getClosedTotal());
result.setVotingRatio(toRatio(data.getVotingPercent()));
result.setShiftProjectRatio(toRatio(data.getShiftProjectPercent()));
result.setClosedRatio(toRatio(data.getClosedPercent()));
return result;
}
@Override
public List<IssueSummaryPieResultDTO> getSummaryPie(TokenDto tokenDto) {
List<IssueSummaryPieResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
IssueDataDTO data = issueDao.selectAgencyInfo(agencyId);
IssueSummaryPieResultDTO voting = new IssueSummaryPieResultDTO();
voting.setName(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingTotal());
voting.setRatio(toRatio(data.getVotingPercent()));
list.add(voting);
IssueSummaryPieResultDTO shift = new IssueSummaryPieResultDTO();
shift.setName(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectTotal());
shift.setRatio(toRatio(data.getShiftProjectPercent()));
list.add(shift);
IssueSummaryPieResultDTO closed = new IssueSummaryPieResultDTO();
closed.setName(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedTotal());
closed.setRatio(toRatio(data.getClosedPercent()));
list.add(closed);
return list;
}
@Override
public List<IssueSubAgencyResultDTO> getSubAgency(TokenDto tokenDto) {
List<IssueSubAgencyResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList = issueDao.selectSubAgencyList(agencyId);
if(null != dataList) {
dataList.forEach(data -> {
IssueSubAgencyResultDTO voting = new IssueSubAgencyResultDTO();
voting.setAgencyId(data.getAgencyId());
voting.setName(data.getAgencyName());
voting.setType(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingTotal());
list.add(voting);
IssueSubAgencyResultDTO shift = new IssueSubAgencyResultDTO();
shift.setAgencyId(data.getAgencyId());
shift.setName(data.getAgencyName());
shift.setType(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectTotal());
list.add(shift);
IssueSubAgencyResultDTO closed = new IssueSubAgencyResultDTO();
closed.setAgencyId(data.getAgencyId());
closed.setName(data.getAgencyName());
closed.setType(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedTotal());
list.add(closed);
});
}
return list;
}
@Override
public List<IssueSubGridResultDTO> getSubGrid(TokenDto tokenDto) {
List<IssueSubGridResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList = issueDao.selectGridList(agencyId);
if(null != dataList) {
dataList.forEach(data -> {
IssueSubGridResultDTO voting = new IssueSubGridResultDTO();
voting.setName(data.getGridName());
voting.setType(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingTotal());
list.add(voting);
IssueSubGridResultDTO shift = new IssueSubGridResultDTO();
shift.setName(data.getGridName());
shift.setType(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectTotal());
list.add(shift);
IssueSubGridResultDTO closed = new IssueSubGridResultDTO();
closed.setName(data.getGridName());
closed.setType(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedTotal());
list.add(closed);
});
}
return list;
}
@Override
public List<IssueIncrtrendResultDTO> getIncrtrend(TokenDto tokenDto, IssueIncrtrendFormDTO formDTO) {
List<IssueIncrtrendResultDTO> list = new ArrayList<>();
String agencyId = getAgencyId(tokenDto);
List<IssueDataDTO> dataList;
if (IssueConstant.DATE.equals(formDTO.getType())) {
dataList = issueDao.selectAgencyIncDailyList(agencyId);
} else {
dataList = issueDao.selectAgencyIncMonthlyList(agencyId);
}
if (null != dataList) {
dataList.forEach(data -> {
IssueIncrtrendResultDTO voting = new IssueIncrtrendResultDTO();
voting.setDate(data.getDateName());
voting.setType(IssueConstant.VOTING_NAME);
voting.setValue(data.getVotingIncr());
list.add(voting);
IssueIncrtrendResultDTO shift = new IssueIncrtrendResultDTO();
shift.setDate(data.getDateName());
shift.setType(IssueConstant.SHIFT_NAME);
shift.setValue(data.getShiftProjectIncr());
list.add(shift);
IssueIncrtrendResultDTO closed = new IssueIncrtrendResultDTO();
closed.setDate(data.getDateName());
closed.setType(IssueConstant.CLOSED_NAME);
closed.setValue(data.getClosedIncr());
list.add(closed);
});
}
return list;
}
private String getAgencyId(TokenDto tokenDto) {
LoginUserDetailsFormDTO loginUserDetailsFormDTO = new LoginUserDetailsFormDTO();
loginUserDetailsFormDTO.setApp(tokenDto.getApp());
loginUserDetailsFormDTO.setClient(tokenDto.getClient());
loginUserDetailsFormDTO.setUserId(tokenDto.getUserId());
LoginUserDetailsResultDTO userInfo = epmetUserOpenFeignClient.getLoginUserDetails(loginUserDetailsFormDTO).getData();
String[] orgIdPath = userInfo.getOrgIdPath().split(":");
return orgIdPath[orgIdPath.length - 1];
}
private String toRatio(BigDecimal data) {
return data.stripTrailingZeros().toString().concat("%");
}
}

88
epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.epmet.module.issue.dao.IssueDao">
<!-- 获取当前机关统计信息-->
<select id="selectAgencyInfo" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
ISSUE_TOTAL,
VOTING_TOTAL,
VOTING_PERCENT,
SHIFT_PROJECT_TOTAL,
SHIFT_PROJECT_PERCENT,
CLOSED_TOTAL,
CLOSED_PERCENT,
MAX(DATE_ID) AS DATE_ID,
DATE_FORMAT(DATE_ID, '%Y.%m.%d') AS DATE_NAME
FROM
fact_issue_agency_daily fiad
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
</select>
<!-- 获取下级机关统计信息-->
<select id="selectSubAgencyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
da.AGENCY_NAME,
ISSUE_TOTAL,
VOTING_TOTAL,
SHIFT_PROJECT_TOTAL,
CLOSED_TOTAL,
MAX(DATE_ID) AS DATE_ID
FROM
fact_issue_agency_daily fiad
INNER JOIN
dim_agency da ON fiad.AGENCY_ID = da.ID
WHERE fiad.DEL_FLAG = '0'
AND PID = #{agencyId}
GROUP BY AGENCY_ID
</select>
<!-- 获取机关下网格统计信息-->
<select id="selectGridList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT GRID_ID,
dg.GRID_NAME,
ISSUE_TOTAL,
VOTING_TOTAL,
SHIFT_PROJECT_TOTAL,
CLOSED_TOTAL,
MAX(DATE_ID) AS DATE_ID
FROM
fact_issue_grid_daily figd
INNER JOIN
dim_grid dg ON figd.GRID_ID = dg.ID
WHERE figd.DEL_FLAG = '0'
AND figd.AGENCY_ID = #{agencyId}
GROUP BY GRID_ID
</select>
<!-- 获取当前机关日增量-->
<select id="selectAgencyIncDailyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
ISSUE_INCR,
VOTING_INCR,
SHIFT_PROJECT_INCR,
CLOSED_INCR,
DATE_FORMAT(DATE_ID, '%Y/%m/%d')
FROM
fact_issue_agency_daily fiad
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
ORDER BY
DATE_ID DESC
LIMIT 90
</select>
<!-- 获取当前机关月增量-->
<select id="selectAgencyIncMonthlyList" resultType="com.epmet.issue.dto.result.IssueDataDTO">
SELECT AGENCY_ID,
ISSUE_INCR,
VOTING_INCR,
SHIFT_PROJECT_INCR,
CLOSED_INCR,
DATE_FORMAT(STR_TO_DATE(MONTH_ID,'%Y%m'), '%Y/%m') AS MONTH_ID
FROM
fact_issue_agency_monthly fiam
WHERE DEL_FLAG = '0'
AND AGENCY_ID = #{agencyId}
ORDER BY
MONTH_ID DESC
LIMIT 12
</select>
</mapper>
Loading…
Cancel
Save