Browse Source

Merge branch 'dev_grid_member_statistics' into develop

dev_shibei_match
wxz 4 years ago
parent
commit
7eaae8e414
  1. 6
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java
  2. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java
  3. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java
  4. 2
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java
  5. 4
      epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java
  6. 77
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml

6
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/EpmetUserController.java

@ -125,12 +125,10 @@ public class EpmetUserController {
* @date 2021.07.05 15:49
*/
@PostMapping("/gridmember/issueprojectstats")
public Result<List<Map<String, Object>>> getGridMemberIssueProjectStats(@LoginUser TokenDto loginUser, @RequestBody GridMemberStatsFormDTO input) {
ValidatorUtils.validateEntity(input, GridMemberStatsFormDTO.IssueProjectStats.class);
String gridId = input.getGridId();
public Result<List<Map<String, Object>>> getGridMemberIssueProjectStats(@LoginUser TokenDto loginUser) {
String userId = loginUser.getUserId();
GridMemberDataAnalysisResultDTO data = dataStatsService.getGridMemberIssueProjectStats(gridId, userId);
GridMemberDataAnalysisResultDTO data = dataStatsService.getGridMemberIssueProjectStats(userId);
List<Map<String, Object>> result = convertToMapList(data);
return new Result<List<Map<String, Object>>>().ok(result);
}

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java

@ -80,7 +80,7 @@ public class GovOrgController {
* @date 2021.07.05 11:14
*/
@PostMapping("gridmemberdataanalysis")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_GRID_MEMBER_STATS_ANALYSIS)
//@RequirePermission(requirePermission = RequirePermissionEnum.MORE_GRID_MEMBER_STATS_ANALYSIS)
public Result getGridMemberDataAnalysis(@RequestBody GridMemberDataAnalysisFromDTO input) {
ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas.class);
@ -104,7 +104,7 @@ public class GovOrgController {
}
// 月份格式判断
if (month != null) {
if (StringUtils.isNotBlank(month)) {
if (!month.matches("\\d{4}/\\d{2}")) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month);
} else {

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/datastats/FactGridMemberStatisticsDailyDao.java

@ -51,5 +51,5 @@ public interface FactGridMemberStatisticsDailyDao extends BaseDao<FactGridMember
* @author wxz
* @date 2021.07.05 16:17
*/
GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(@Param("gridId") String gridId, @Param("userId") String userId);
GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(@Param("staffId") String staffId);
}

2
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/DataStatsService.java

@ -181,5 +181,5 @@ public interface DataStatsService {
* @author wxz
* @date 2021.07.05 16:05
*/
GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String gridId, String userId);
GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String staffId);
}

4
epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java

@ -1436,7 +1436,7 @@ public class DataStatsServiceImpl implements DataStatsService {
}
@Override
public GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String gridId, String userId) {
return factGridMemberStatisticsDailyDao.getGridMemberIssueProjectStats(gridId, userId);
public GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String staffId) {
return factGridMemberStatisticsDailyDao.getGridMemberIssueProjectStats( staffId);
}
}

77
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/FactGridMemberStatisticsDailyDao.xml

@ -60,37 +60,28 @@
member.updated_time
</sql>
<!--查询网格员统计数据-->
<!--查询网格员统计数据-->
<select id="listGridMemberDataStats"
resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO">
select member.id,
member.date_id,
member.month_id,
member.year_id,
member.customer_id,
member.agency_id,
member.grid_id,
member.pid,
member.pids,
member.staff_id,
member.staff_name,
<if test="month != null">
member.project_count,
member.issue_to_project_count,
member.closed_issue_count,
member.project_response_count,
member.project_transfer_count,
member.project_closed_count
</if>
<if test="month == null">
sum(member.project_count) project_count,
sum(member.issue_to_project_count) issue_to_project_count,
sum(member.closed_issue_count) closed_issue_count,
sum(member.project_response_count) project_response_count,
sum(member.project_transfer_count) project_transfer_count,
sum(member.project_closed_count) project_closed_count
</if>
member.date_id,
member.month_id,
member.year_id,
member.customer_id,
member.agency_id,
member.grid_id,
member.pid,
member.pids,
member.staff_id,
member.staff_name,
sum(member.project_incr) project_count,
sum(member.issue_to_project_incr) issue_to_project_count,
sum(member.closed_issue_incr) closed_issue_count,
sum(member.project_response_incr) project_response_count,
sum(member.project_transfer_incr) project_transfer_count,
sum(member.project_closed_incr) project_closed_count
from fact_grid_member_statistics_daily member
<where>
<if test="gridIds != null and gridIds.size() > 0">
@ -102,26 +93,40 @@
and member.STAFF_NAME like CONCAT('%',#{searchedStaffName},'%')
</if>
<if test="month != null and month != ''">
and member.MONTH_ID = #{month}
and member.MONTH_ID = #{month}
</if>
and del_flag = 0
</where>
<if test="month == null">
group by member.staff_id
</if>
group by member.staff_id, member.grid_id
order by ${sort} desc
</select>
<select id="getGridMemberIssueProjectStats"
resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO">
SELECT
<include refid="allColumns"/>
SELECT member.id,
member.date_id,
member.month_id,
member.year_id,
member.customer_id,
member.agency_id,
member.grid_id,
member.pid,
member.pids,
member.staff_id,
member.staff_name,
sum(member.project_count) project_count,
sum(member.issue_to_project_count) issue_to_project_count,
sum(member.closed_issue_count) closed_issue_count,
sum(member.project_response_count) project_response_count,
sum(member.project_transfer_count) project_transfer_count,
sum(member.project_closed_count) project_closed_count
FROM fact_grid_member_statistics_daily member
WHERE member.GRID_ID = #{gridId}
and member.STAFF_ID = #{userId}
inner join (select max(mt.DATE_ID) latest_date
from fact_grid_member_statistics_daily mt
where mt.STAFF_ID = #{staffId} and mt.del_flag=0) latest_record
on (member.DATE_ID = latest_record.latest_date)
WHERE member.STAFF_ID = #{staffId}
and member.DEL_FLAG = 0
ORDER BY member.CREATED_TIME DESC
LIMIT 1
</select>

Loading…
Cancel
Save