Browse Source

Merge branch 'dev_grid_member_statistics' into develop

master
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 * @date 2021.07.05 15:49
*/ */
@PostMapping("/gridmember/issueprojectstats") @PostMapping("/gridmember/issueprojectstats")
public Result<List<Map<String, Object>>> getGridMemberIssueProjectStats(@LoginUser TokenDto loginUser, @RequestBody GridMemberStatsFormDTO input) { public Result<List<Map<String, Object>>> getGridMemberIssueProjectStats(@LoginUser TokenDto loginUser) {
ValidatorUtils.validateEntity(input, GridMemberStatsFormDTO.IssueProjectStats.class);
String gridId = input.getGridId();
String userId = loginUser.getUserId(); String userId = loginUser.getUserId();
GridMemberDataAnalysisResultDTO data = dataStatsService.getGridMemberIssueProjectStats(gridId, userId); GridMemberDataAnalysisResultDTO data = dataStatsService.getGridMemberIssueProjectStats(userId);
List<Map<String, Object>> result = convertToMapList(data); List<Map<String, Object>> result = convertToMapList(data);
return new Result<List<Map<String, Object>>>().ok(result); 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 * @date 2021.07.05 11:14
*/ */
@PostMapping("gridmemberdataanalysis") @PostMapping("gridmemberdataanalysis")
@RequirePermission(requirePermission = RequirePermissionEnum.MORE_GRID_MEMBER_STATS_ANALYSIS) //@RequirePermission(requirePermission = RequirePermissionEnum.MORE_GRID_MEMBER_STATS_ANALYSIS)
public Result getGridMemberDataAnalysis(@RequestBody GridMemberDataAnalysisFromDTO input) { public Result getGridMemberDataAnalysis(@RequestBody GridMemberDataAnalysisFromDTO input) {
ValidatorUtils.validateEntity(input, GridMemberDataAnalysisFromDTO.listGridMemberDatas.class); 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}")) { if (!month.matches("\\d{4}/\\d{2}")) {
throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month); throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode(), "月份格式错误:" + month);
} else { } 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 * @author wxz
* @date 2021.07.05 16:17 * @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 * @author wxz
* @date 2021.07.05 16:05 * @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 @Override
public GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String gridId, String userId) { public GridMemberDataAnalysisResultDTO getGridMemberIssueProjectStats(String staffId) {
return factGridMemberStatisticsDailyDao.getGridMemberIssueProjectStats(gridId, userId); 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 member.updated_time
</sql> </sql>
<!--查询网格员统计数据-->
<!--查询网格员统计数据--> <!--查询网格员统计数据-->
<select id="listGridMemberDataStats" <select id="listGridMemberDataStats"
resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO"> resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO">
select member.id, select member.id,
member.date_id, member.date_id,
member.month_id, member.month_id,
member.year_id, member.year_id,
member.customer_id, member.customer_id,
member.agency_id, member.agency_id,
member.grid_id, member.grid_id,
member.pid, member.pid,
member.pids, member.pids,
member.staff_id, member.staff_id,
member.staff_name, 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>
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 from fact_grid_member_statistics_daily member
<where> <where>
<if test="gridIds != null and gridIds.size() > 0"> <if test="gridIds != null and gridIds.size() > 0">
@ -102,26 +93,40 @@
and member.STAFF_NAME like CONCAT('%',#{searchedStaffName},'%') and member.STAFF_NAME like CONCAT('%',#{searchedStaffName},'%')
</if> </if>
<if test="month != null and month != ''"> <if test="month != null and month != ''">
and member.MONTH_ID = #{month} and member.MONTH_ID = #{month}
</if> </if>
and del_flag = 0 and del_flag = 0
</where> </where>
<if test="month == null"> group by member.staff_id, member.grid_id
group by member.staff_id
</if>
order by ${sort} desc order by ${sort} desc
</select> </select>
<select id="getGridMemberIssueProjectStats" <select id="getGridMemberIssueProjectStats"
resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO"> resultType="com.epmet.dataaggre.dto.govorg.result.GridMemberDataAnalysisResultDTO">
SELECT SELECT member.id,
<include refid="allColumns"/> 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 FROM fact_grid_member_statistics_daily member
WHERE member.GRID_ID = #{gridId} inner join (select max(mt.DATE_ID) latest_date
and member.STAFF_ID = #{userId} 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 and member.DEL_FLAG = 0
ORDER BY member.CREATED_TIME DESC
LIMIT 1
</select> </select>

Loading…
Cancel
Save