From 2ee27b352a08e40001af1614db0d35dbd591f458 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 18 Sep 2020 10:58:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9F=A5=E8=AF=A2=E5=BA=93?= =?UTF-8?q?=E6=88=B7=E4=B8=8B=E7=BD=91=E6=A0=BC=E6=8C=87=E6=A0=87=E6=8E=92?= =?UTF-8?q?=E8=A1=8C=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/dto/form/GridIndexRankFormDTO.java | 44 +++++++++++++++++ .../controller/screen/IndexController.java | 21 +++++++- .../screen/ScreenIndexDataMonthlyDao.java | 8 ++++ .../com/epmet/datareport/eum/OrgTypeEnum.java | 48 +++++++++++++++++++ .../evaluationindex/screen/IndexService.java | 7 +++ .../screen/impl/IndexServiceImpl.java | 23 ++++++++- .../screen/ScreenIndexDataMonthlyDao.xml | 21 ++++++++ .../externalapp/ExtAppJwtTokenUtils.java | 16 +++++-- 8 files changed, 181 insertions(+), 7 deletions(-) create mode 100644 epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/GridIndexRankFormDTO.java create mode 100644 epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/GridIndexRankFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/GridIndexRankFormDTO.java new file mode 100644 index 0000000000..73e2af2337 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/GridIndexRankFormDTO.java @@ -0,0 +1,44 @@ +package com.epmet.evaluationindex.screen.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2020/8/20 9:54 上午 + */ +@Data +public class GridIndexRankFormDTO implements Serializable { + + + private static final long serialVersionUID = 7865119038417362515L; + /** + * 机关ID + */ + private String agencyId; + + /** + * 默认查询前几名 + */ + @NotNull(message = "默认查询名次不能为空") + private Integer topNum; + /** + * 客户I + */ + @NotBlank(message = "客户Id不能为空") + private String customerId; + + /** + * 年Id + */ + private String yearId; + + /** + * 组织类别 agency:组织;部门:department;网格:grid + */ + private String orgType; + +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java index 6da1ba9359..388ce0a1c1 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/screen/IndexController.java @@ -1,8 +1,10 @@ package com.epmet.datareport.controller.screen; import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth; +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.eum.OrgTypeEnum; import com.epmet.datareport.service.evaluationindex.screen.IndexService; import com.epmet.evaluationindex.screen.dto.form.*; import com.epmet.evaluationindex.screen.dto.result.*; @@ -82,15 +84,30 @@ public class IndexController { /** * 5、下级部门指数排行(安宁数据段用) * @param formDTO - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @Author zhangyong * @Date 13:39 2020-09-11 **/ @ExternalAppRequestAuth @PostMapping("dataclient/subagencyindexrank") - public Result> anNingSubAgencyIndexRank(@RequestBody AnNingSubAgencyIndexRankFormDTO formDTO){ + public Result> anNingSubAgencyIndexRank(@RequestBody AnNingSubAgencyIndexRankFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AnNingSubAgencyIndexRankFormDTO.SubAgencyIndexRank.class); return new Result>().ok(indexService.anNingSubAgencyIndexRank(formDTO)); } + /** + * @param formDTO + * @Description 4、获取该客户下所有网格指标排行 + * @author jianjun.liu + * @date 2020/8/20 10:02 上午 + */ + @ExternalAppRequestAuth + @PostMapping("gridindexrank") + public Result> gridIndexRank(ExternalAppRequestParam extParam, @RequestBody GridIndexRankFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + formDTO.setCustomerId(extParam.getCustomerId()); + formDTO.setOrgType(OrgTypeEnum.GRID.getCode()); + return new Result>().ok(indexService.selectIndexRankByOrgType(formDTO)); + } + } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java index cc6c9e9e2b..6448f9902b 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java @@ -18,6 +18,7 @@ package com.epmet.datareport.dao.evaluationindex.screen; import com.epmet.evaluationindex.screen.dto.form.AnNingSubAgencyIndexRankFormDTO; +import com.epmet.evaluationindex.screen.dto.form.GridIndexRankFormDTO; import com.epmet.evaluationindex.screen.dto.form.SubAgencyIndexRankFormDTO; import com.epmet.evaluationindex.screen.dto.result.AnNingSubAgencyIndexRankResultDTO; import com.epmet.evaluationindex.screen.dto.result.MonthBarchartResult; @@ -71,4 +72,11 @@ public interface ScreenIndexDataMonthlyDao{ **/ List selectAnNingSubAgencyIndexMonthlyRank(AnNingSubAgencyIndexRankFormDTO formDTO); + /** + * desc:获取网格指标排行 + * + * @param formDTO + * @return + */ + List selectIndexRankByOrgType(GridIndexRankFormDTO formDTO); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java new file mode 100644 index 0000000000..6938746a29 --- /dev/null +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/eum/OrgTypeEnum.java @@ -0,0 +1,48 @@ +package com.epmet.datareport.eum; + +/** + * 需要组织类型枚举类 + * + * @author jianjun liu + * @date 2020-08-26 11:14 + **/ +public enum OrgTypeEnum { + DEPARTMENT("department", "部门"), + AGENCY("agency", "组织"), + GRID("grid", "网格"), + ; + + /** + * code + */ + private String code; + /** + * name + */ + private String name; + + + OrgTypeEnum(String code, String name) { + this.code = code; + this.name = name; + + } + + public static OrgTypeEnum getEnum(String code) { + OrgTypeEnum[] values = OrgTypeEnum.values(); + for (OrgTypeEnum value : values) { + if (code != null && value.getCode().equals(code)) { + return value; + } + } + return null; + } + + public String getCode() { + return code; + } + + public String getName() { + return name; + } +} diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java index 4ff9cf0fd4..a7742172d9 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java @@ -55,4 +55,11 @@ public interface IndexService { **/ List anNingSubAgencyIndexRank(AnNingSubAgencyIndexRankFormDTO formDTO); + /** + * desc:获取该客户下网格排行 + * + * @param formDTO + * @return + */ + List selectIndexRankByOrgType(GridIndexRankFormDTO formDTO); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java index d9761fcf09..7777739c0c 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java @@ -224,13 +224,32 @@ public class IndexServiceImpl implements IndexService { return subAgencyIndexRankResultDTOS; } + @Override + public List selectIndexRankByOrgType(GridIndexRankFormDTO formDTO) { + LocalDate now = LocalDate.now().minusMonths(NumConstant.ONE); + int yearId = now.getYear(); + formDTO.setYearId(String.valueOf(yearId)); + List subAgencyIndexRankResultDTOS = screenIndexDataMonthlyDao.selectIndexRankByOrgType(formDTO); + if (CollectionUtils.isEmpty(subAgencyIndexRankResultDTOS)) { + return new ArrayList<>(); + } + // 小数四舍五入 + subAgencyIndexRankResultDTOS.forEach(indexRank -> { + indexRank.setPartyDevAbility(getRound(indexRank.getPartyDevAbility())); + indexRank.setGovernAbility(getRound(indexRank.getGovernAbility())); + indexRank.setServiceAbility(getRound(indexRank.getServiceAbility())); + indexRank.setTotalIndex(getRound(indexRank.getPartyDevAbility() + indexRank.getGovernAbility() + indexRank.getServiceAbility())); + }); + return subAgencyIndexRankResultDTOS; + } + /** - * @Description 小数四舍五入 * @param d + * @Description 小数四舍五入 * @author zxc * @date 2020/9/14 2:01 下午 */ - public Double getRound(Double d){ + public Double getRound(Double d) { BigDecimal bigDecimal = new BigDecimal(d); BigDecimal b = bigDecimal.setScale(NumConstant.ONE, BigDecimal.ROUND_HALF_UP); return Double.valueOf(b.toString()); diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml index be4cf400b4..36b89ffefe 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml @@ -84,4 +84,25 @@ LIMIT #{topNum} + + diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java index de4de9ed21..490b2445e8 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/utils/externalapp/ExtAppJwtTokenUtils.java @@ -75,13 +75,23 @@ public class ExtAppJwtTokenUtils { public static void genToken() { HashMap claim = new HashMap<>(); - claim.put("appId", "acc4ad66c82a7b46e741364b4c62dce2"); - claim.put("customerId", "b09527201c4409e19d1dbc5e3c3429a1"); + //市北 + //String secret = "612d304095c50369c3ef06e490f05779eeb8f19ff16566c73aeafafc5fa01970"; + //String appId = "acc4ad66c82a7b46e741364b4c62dce2"; + // String customrId = "b09527201c4409e19d1dbc5e3c3429a1"; + //孔村 + String secret = "657cd46d385a4c2ba6d9355aee24654ac3951deab7e6436e91201561b94969b5"; + String appId = "5efcfb775125d656f39583b8110a3d7d"; + String customrId = "2fe0065f70ca0e23ce4c26fca5f1d933"; + + claim.put("customerId", customrId); + claim.put("appId", appId); + claim.put("customerId", customrId); long ts = System.currentTimeMillis() - 1000 * 60 * 4; System.out.println("时间戳:" + ts); claim.put("ts", ts); - String abc = new ExtAppJwtTokenUtils().createToken(claim, "612d304095c50369c3ef06e490f05779eeb8f19ff16566c73aeafafc5fa01970"); + String abc = new ExtAppJwtTokenUtils().createToken(claim, secret); System.out.println(abc); }