Browse Source

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

dev_shibei_match
yinzuomei 5 years ago
parent
commit
065ee784f0
  1. 4
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java
  2. 4
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryInfoResultDTO.java
  3. 12
      epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryResultDTO.java
  4. 7
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/controller/ProjectController.java
  5. 10
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/impl/ProjectServiceImpl.java
  6. 23
      epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml

4
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/constant/ProjectConstant.java

@ -13,5 +13,9 @@ public interface ProjectConstant {
* 根据Token获取组织信息失败
*/
String GET_AGENCYID = "根据Token获取组织信息失败";
/**
* 参数异常
*/
String TYPE_EXCEPTION = "必要参数为空或参数格式错误";
}

4
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryInfoResultDTO.java

@ -1,8 +1,10 @@
package com.epmet.project.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author sun
@ -26,6 +28,8 @@ public class ProjectSummaryInfoResultDTO implements Serializable {
/**
* 类型对应百分比(10% 10.1% 10.01%小数点后两位)
*/
@JsonIgnore
private BigDecimal ratioInt;
private String ratio;
}

12
epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectSummaryResultDTO.java

@ -1,8 +1,10 @@
package com.epmet.project.dto.result;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* @Author sun
@ -36,15 +38,19 @@ public class ProjectSummaryResultDTO implements Serializable {
/**
* 处理中占比
*/
private String pendingRatio;
@JsonIgnore
private BigDecimal pendingRatioInt;
private String pendingRatio;
/**
* 已结案总数
*/
private Integer closedTotal;
private Integer closedTotal;
/**
* 已结案占比
*/
private String closedRatio;
@JsonIgnore
private BigDecimal closedRatioInt;
private String closedRatio;
}

7
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/controller/ProjectController.java

@ -1,10 +1,12 @@
package com.epmet.module.project.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.module.project.service.ProjectService;
import com.epmet.project.constant.ProjectConstant;
import com.epmet.project.dto.form.ProjectIncrTrendFormDTO;
import com.epmet.project.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
@ -70,7 +72,10 @@ public class ProjectController {
@PostMapping("incrtrend")
public Result<List<ProjectIncrTrendResultDTO>> incrTrend(@LoginUser TokenDto tokenDto, @RequestBody ProjectIncrTrendFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, ProjectIncrTrendFormDTO.ProjectIncr.class);
return new Result<List<ProjectIncrTrendResultDTO>>().ok(projectService.getProjectIncrTrend(tokenDto,formDTO));
if (!ProjectConstant.DATE.equals(formDTO.getType()) && !ProjectConstant.MONTH.equals(formDTO.getType())) {
throw new RenException(ProjectConstant.TYPE_EXCEPTION);
}
return new Result<List<ProjectIncrTrendResultDTO>>().ok(projectService.getProjectIncrTrend(tokenDto, formDTO));
}
}

10
epmet-module/data-report/data-report-server/src/main/java/com/epmet/module/project/service/impl/ProjectServiceImpl.java

@ -43,8 +43,8 @@ public class ProjectServiceImpl implements ProjectService {
//2:根据agencyId查询项目统计数据
ProjectSummaryResultDTO resultDTO = projectDao.selectProjectSummary(agencyId);
if (null != resultDTO) {
resultDTO.setPendingRatio(resultDTO.getPendingRatio() + "%");
resultDTO.setClosedRatio(resultDTO.getClosedRatio() + "%");
resultDTO.setPendingRatio(resultDTO.getPendingRatioInt().stripTrailingZeros().toString() + "%");
resultDTO.setClosedRatio(resultDTO.getClosedRatioInt().stripTrailingZeros().toString() + "%");
}
return resultDTO;
}
@ -63,7 +63,7 @@ public class ProjectServiceImpl implements ProjectService {
resultList = projectDao.selectSummaryInfo(agencyId);
if (null != resultList && resultList.size() > NumConstant.ZERO) {
resultList.forEach(sum -> {
sum.setRatio(sum.getRatio() + "%");
sum.setRatio(sum.getRatioInt().stripTrailingZeros().toString() + "%");
});
}
return resultList;
@ -120,7 +120,7 @@ public class ProjectServiceImpl implements ProjectService {
String agencyId = getLoginUserDetails(tokenDto);
//2:查询机关过去九十天日统计数据(sql降序取前九十条)
if (ProjectConstant.DATE.equals(formDTO.getType())){
if (ProjectConstant.DATE.equals(formDTO.getType())) {
resultList = projectDao.selectIncrTrendDaily(agencyId);
}
@ -129,7 +129,7 @@ public class ProjectServiceImpl implements ProjectService {
resultList = projectDao.selectIncrTrendMonthly(agencyId);
}
return null;
return resultList;
}
/**

23
epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml

@ -10,9 +10,10 @@
project_total AS "projectTotal",
DATE_FORMAT(date_id, '%Y.%m.%d') AS "dateName",
pending_total AS "pendingTotal",
CAST(pending_ratio AS DECIMAL (9, 2)) AS "pendingRatio",
/*CAST(pending_ratio AS DECIMAL (9, 2)) AS "pendingRatioInt",*/
pending_ratio AS "pendingRatioInt",
closed_total AS "closedTotal",
CAST(closed_ratio AS DECIMAL(9, 2)) AS "closedRatio"
closed_ratio AS "closedRatioInt"
FROM
fact_agency_project_daily
WHERE
@ -27,7 +28,7 @@
SELECT
"处理中" AS "name",
pending_total AS "value",
CAST(PENDING_RATIO AS DECIMAL (9, 2)) AS "ratio"
pending_ratio AS "ratioInt"
FROM
fact_agency_project_daily
WHERE
@ -42,7 +43,7 @@
SELECT
"已结案" AS "name",
closed_total AS "value",
CAST(closed_ratio AS DECIMAL(9, 2)) AS "ratio"
closed_ratio AS "ratioInt"
FROM
fact_agency_project_daily
WHERE
@ -159,9 +160,10 @@
SELECT * FROM(
(
SELECT
DATE_FORMAT(DATE_ID, "%Y/%m/%d") AS "date",
PENDING_INCR AS "value",
"处理中" AS "type"
DATE_FORMAT(date_id, "%Y/%m/%d") AS "date",
pending_incr AS "value",
"处理中" AS "type",
date_id
FROM
fact_agency_project_daily
WHERE
@ -174,9 +176,10 @@
UNION ALL
(
SELECT
DATE_FORMAT(DATE_ID, "%Y/%m/%d") AS "date",
CLOSED_INCR AS "value",
"已结案" AS "type"
DATE_FORMAT(date_id, "%Y/%m/%d") AS "date",
closed_incr AS "value",
"已结案" AS "type",
date_id
FROM
fact_agency_project_daily
WHERE

Loading…
Cancel
Save