Browse Source

完成孔村议题大屏相关接口

dev_shibei_match
wxz 5 years ago
parent
commit
1199124cce
  1. 15
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/issue/IssueAvgAuditTimeDTO.java
  2. 11
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/issue/IssueEffectResultDTO.java
  3. 18
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/issue/IssueGridTotalRankDTO.java
  4. 46
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/KcScreenController.java
  5. 11
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcIssueSummaryGridDailyDao.java
  6. 10
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/KcScreenService.java
  7. 28
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/KcScreenServiceImpl.java
  8. 40
      epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcIssueSummaryGridDailyDao.xml

15
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/issue/IssueAvgAuditTimeDTO.java

@ -0,0 +1,15 @@
package com.epmet.dto.result.issue;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class IssueAvgAuditTimeDTO {
private String gridName;
private Integer avgAuditTime;
}

11
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/issue/IssueEffectResultDTO.java

@ -0,0 +1,11 @@
package com.epmet.dto.result.issue;
import lombok.Data;
@Data
public class IssueEffectResultDTO {
private Double reportEffectiveRatio;
private Double conversionRatio;
}

18
epmet-module/data-report/data-report-client/src/main/java/com/epmet/dto/result/issue/IssueGridTotalRankDTO.java

@ -0,0 +1,18 @@
package com.epmet.dto.result.issue;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class IssueGridTotalRankDTO {
private String gridId;
private String gridName;
private Integer issueCount;
private List<String> gridNameDataList = new ArrayList<>();
private List<Integer> issueCountDataList = new ArrayList<>();
}

46
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/KcScreenController.java

@ -5,6 +5,7 @@ import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.datareport.service.evaluationindex.screen.KcScreenService;
import com.epmet.dto.result.issue.IssueGridTotalRankDTO;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import com.epmet.dto.result.issue.KcIssueSummary;
@ -83,15 +84,54 @@ public class KcScreenController {
* @param externalAppRequestParam
* @return
*/
//@ExternalAppRequestAuth
@ExternalAppRequestAuth
@PostMapping("issue/partitrend")
public Result getIssuePartiTrend(ExternalAppRequestParam externalAppRequestParam) {
//String customerId = externalAppRequestParam.getCustomerId();
String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
String customerId = externalAppRequestParam.getCustomerId();
//String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
KcPartiTrendResultDTO trendResultDTO = kcScreenService.getIssuePartiTrend(customerId);
return new Result().ok(trendResultDTO);
}
/**
* 按照议题总数排名
* @param externalAppRequestParam
* @return
*/
@ExternalAppRequestAuth
@PostMapping("issue/gridtotalrank")
public Result getIssueGridTotalRank(ExternalAppRequestParam externalAppRequestParam) {
String customerId = externalAppRequestParam.getCustomerId();
//String customerId = "2fe0065f70ca0e23ce4c26fca5f1d933";
return new Result().ok(kcScreenService.getIssueGridTotalRank(customerId));
}
/**
* 议题分析-审核效率排名
* @param externalAppRequestParam
* @return
*/
@ExternalAppRequestAuth
@PostMapping("issue/avgaudittimerank")
public Result getAvgAuditTimeRank(ExternalAppRequestParam externalAppRequestParam) {
String customerId = externalAppRequestParam.getCustomerId();
//String customerId = "2fe0065f70ca0e23ce4c26fca5f1d933";
return new Result().ok(kcScreenService.getAvgAuditTimeRank(customerId));
}
/**
* 议题分析-审核效率
* @param externalAppRequestParam
* @return
*/
@ExternalAppRequestAuth
@PostMapping("issue/effective")
public Result getIssueEffective(ExternalAppRequestParam externalAppRequestParam) {
String customerId = externalAppRequestParam.getCustomerId();
//String customerId = "2fe0065f70ca0e23ce4c26fca5f1d933";
return new Result().ok(kcScreenService.getIssueEffective(customerId));
}
/**
* @param externalAppRequestParam

11
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screenkc/ScreenKcIssueSummaryGridDailyDao.java

@ -17,10 +17,15 @@
package com.epmet.datareport.dao.evaluationindex.screenkc;
import com.epmet.dto.result.issue.IssueAvgAuditTimeDTO;
import com.epmet.dto.result.issue.IssueEffectResultDTO;
import com.epmet.dto.result.issue.IssueGridTotalRankDTO;
import com.epmet.dto.result.issue.KcIssueSummary;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* KC-议题分析(各类总数)
*
@ -31,4 +36,10 @@ import org.apache.ibatis.annotations.Param;
public interface ScreenKcIssueSummaryGridDailyDao {
KcIssueSummary getIssueSummary(@Param("customerId") String customerId);
List<IssueGridTotalRankDTO> getIssueGridTotalRank(@Param("customerId") String customerId);
List<IssueAvgAuditTimeDTO> getAvgAuditTimeRank(@Param("customerId") String customerId);
IssueEffectResultDTO getIssueEffective(@Param("customerId") String customerId);
}

10
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/KcScreenService.java

@ -1,12 +1,12 @@
package com.epmet.datareport.service.evaluationindex.screen;
import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
import com.epmet.dto.result.issue.*;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import java.util.List;
import com.epmet.dto.result.issue.KcIssueSummary;
import com.epmet.dto.result.issue.KcPartiTrendResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
/**
@ -54,4 +54,10 @@ public interface KcScreenService {
KcIssueSummary getIssueSummary(String customerId);
KcPartiTrendResultDTO getIssuePartiTrend(String customerId);
IssueGridTotalRankDTO getIssueGridTotalRank(String customerId);
List<IssueAvgAuditTimeDTO> getAvgAuditTimeRank(String customerId);
IssueEffectResultDTO getIssueEffective(String customerId);
}

28
epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/KcScreenServiceImpl.java

@ -10,10 +10,9 @@ import com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcIssueTrendGridM
import com.epmet.datareport.dao.evaluationindex.screenkc.ScreenKcPlatformSummaryDailyDao;
import com.epmet.datareport.service.evaluationindex.screen.KcScreenService;
import com.epmet.datareport.utils.DateUtils;
import com.epmet.dto.result.issue.*;
import com.epmet.evaluationindex.screen.dto.form.HeartVolunteerrankFormDTO;
import com.epmet.evaluationindex.screen.dto.result.*;
import com.epmet.dto.result.issue.KcIssueSummary;
import com.epmet.dto.result.issue.KcPartiTrendResultDTO;
import com.epmet.evaluationindex.screen.dto.result.HomepageSummaryResultDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -21,8 +20,6 @@ import org.springframework.stereotype.Service;
import java.util.LinkedList;
import java.util.List;
import java.util.List;
/**
* 孔村大屏api
*
@ -150,4 +147,27 @@ public class KcScreenServiceImpl implements KcScreenService {
return result;
}
@Override
public IssueGridTotalRankDTO getIssueGridTotalRank(String customerId) {
List<IssueGridTotalRankDTO> issueGridTotals = screenKcIssueSummaryGridDailyDao.getIssueGridTotalRank(customerId);
IssueGridTotalRankDTO resultDTO = new IssueGridTotalRankDTO();
issueGridTotals.stream().forEach(igt -> {
resultDTO.getGridNameDataList().add(igt.getGridName());
resultDTO.getIssueCountDataList().add(igt.getIssueCount());
});
return resultDTO;
}
@Override
public List<IssueAvgAuditTimeDTO> getAvgAuditTimeRank(String customerId) {
return screenKcIssueSummaryGridDailyDao.getAvgAuditTimeRank(customerId);
}
@Override
public IssueEffectResultDTO getIssueEffective(String customerId) {
return screenKcIssueSummaryGridDailyDao.getIssueEffective(customerId);
}
}

40
epmet-module/data-report/data-report-server/src/main/resources/mapper/screenkc/ScreenKcIssueSummaryGridDailyDao.xml

@ -15,8 +15,44 @@
sum(VOTE_COUNT) voteCount
from screen_kc_issue_summary_grid_daily t1
inner join (
select t21.CUSTOMER_ID as customerId, max(t21.DATE_ID) max_date_id from screen_kc_issue_summary_grid_daily t21) t2
select t21.CUSTOMER_ID as customerId, max(t21.DATE_ID) max_date_id from screen_kc_issue_summary_grid_daily t21 where t21.CUSTOMER_ID=#{customerId}) t2
on (t1.CUSTOMER_ID = t2.customerId and t1.DATE_ID = t2.max_date_id)
where t1.CUSTOMER_ID = #{customerId}
</select>
<select id="getIssueGridTotalRank" resultType="com.epmet.dto.result.issue.IssueGridTotalRankDTO">
select
GRID_ID gridId,
GRID_NAME gridName,
ISSUE_COUNT issueCount
from screen_kc_issue_summary_grid_daily isd
inner join (
select t21.CUSTOMER_ID as customerId, max(t21.DATE_ID) max_date_id
from screen_kc_issue_summary_grid_daily t21
where t21.CUSTOMER_ID = #{customerId}) latest
on (isd.CUSTOMER_ID = latest.customerId and isd.DATE_ID = latest.max_date_id)
order by isd.ISSUE_COUNT desc
</select>
<select id="getAvgAuditTimeRank" resultType="com.epmet.dto.result.issue.IssueAvgAuditTimeDTO">
select isd.GRID_ID gridId, isd.GRID_NAME gridName, isd.AVG_AUDIT_TIME avgAuditTime
from screen_kc_issue_summary_grid_daily isd
inner join (
select t21.CUSTOMER_ID as customerId, max(t21.DATE_ID) max_date_id
from screen_kc_issue_summary_grid_daily t21
where t21.CUSTOMER_ID = #{customerId}) latest
on (isd.CUSTOMER_ID = latest.customerId and isd.DATE_ID = latest.max_date_id)
order by isd.AVG_AUDIT_TIME desc
</select>
<select id="getIssueEffective" resultType="com.epmet.dto.result.issue.IssueEffectResultDTO">
select (sum(isd.PASSED_COUNT) / sum(REPORT_COUNT)) * 100 reportEffectiveRatio,
(sum(isd.SHIFT_TO_PROJECT_COUNT) / sum(REPORT_COUNT)) * 100 conversionRatio
from screen_kc_issue_summary_grid_daily isd
inner join (
select t21.CUSTOMER_ID as customerId, max(t21.DATE_ID) max_date_id
from screen_kc_issue_summary_grid_daily t21
where t21.CUSTOMER_ID = #{customerId}) latest
on (isd.CUSTOMER_ID = latest.customerId and isd.CUSTOMER_ID = latest.customerId and
isd.DATE_ID = latest.max_date_id)
</select>
</mapper>

Loading…
Cancel
Save