diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CommonOperateTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CommonOperateTypeEnum.java index 1dc0b571c5..e38a14a21f 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CommonOperateTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/CommonOperateTypeEnum.java @@ -11,6 +11,8 @@ public enum CommonOperateTypeEnum { ADD("add", "添加"), EDIT("edit", "编辑"), DEL("del", "删除"), + DESC("DESC", "降序"), + ASC("ASC", "升序"), ; private String code; diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/SubSingleIndexRankFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/SubSingleIndexRankFormDTO.java new file mode 100644 index 0000000000..268a66ac55 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/SubSingleIndexRankFormDTO.java @@ -0,0 +1,37 @@ +package com.epmet.evaluationindex.screen.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * desc:下级组织单项排行分数 form + * + * @DateTime 2020/8/20 9:54 上午 + */ +@Data +public class SubSingleIndexRankFormDTO implements Serializable { + + private static final long serialVersionUID = -2920561669035794486L; + @NotBlank(message = "客户ID不能为空") + private String customerId; + /** + * 机关ID + */ + @NotBlank(message = "机关ID不能为空") + private String agencyId; + @NotBlank(message = "指标code不能为空") + private String indexCode; + + /** + * 默认查询前几名 + */ + private Integer topNum; + + private String monthId; + private String orgType; + private String sort; + + +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PeerComparisonResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PeerComparisonResultDTO.java index 9a89c5daa8..825571dbd6 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PeerComparisonResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/result/PeerComparisonResultDTO.java @@ -5,7 +5,8 @@ import lombok.Data; import java.io.Serializable; /** - * 同级对比各项数据查询--接口返参 + * 同级对比(下级单项指数排行)各项数据查询--接口返参 + * * @Author sun */ @Data 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 100c35b293..00fc8046a5 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,7 +1,5 @@ package com.epmet.datareport.controller.screen; -import com.epmet.commons.tools.annotation.LoginUser; -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.datareport.eum.OrgTypeEnum; @@ -88,6 +86,22 @@ public class IndexController { return new Result>().ok(indexService.getSubAgencyIndexRank(formDTO)); } + /** + * desc: 下级组织单项指数得分排行 + * + * @param customerId + * @param formDTO + * @return com.epmet.commons.tools.utils.Result> + * @author LiuJanJun + * @date 2020/10/22 1:49 下午 + */ + @PostMapping("subsingleindexrank") + public Result> getSubSingleIndexRank(@RequestHeader("CustomerId") String customerId, @RequestBody SubSingleIndexRankFormDTO formDTO) { + formDTO.setCustomerId(customerId); + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(indexService.getSubSingleIndexRank(formDTO)); + } + /** * @param formDTO * @Description 4、获取该客户下所有网格指标排行 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 2c030eac41..93221bd6f0 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 @@ -91,8 +91,15 @@ public interface ScreenIndexDataMonthlyDao{ /** * @param formDTO - * @Description 先进排行-先进支部排行 + * @Description 先进排行-先进支部排行 * @author sun */ List selectRankList(AdvancedBranchRankFormDTO formDTO); + + /** + * @param formDTO + * @Description 下级单项指标得分排行 + * @author sun + */ + List getSingleIndexRank(SubSingleIndexRankFormDTO formDTO); } 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 3485770cc2..0dc99d37bc 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 @@ -72,8 +72,18 @@ public interface IndexService { /** * @param formDTO - * @Description 先进排行-先进支部排行 + * @Description 先进排行-先进支部排行 * @author sun */ List advancedBranchRank(AdvancedBranchRankFormDTO formDTO); + + /** + * desc:下级单项指数排行 + * + * @param formDTO + * @return java.util.List + * @author LiuJanJun + * @date 2020/10/22 10:58 上午 + */ + List getSubSingleIndexRank(SubSingleIndexRankFormDTO 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 a133a5dab4..4ff84d3ab6 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 @@ -2,6 +2,7 @@ package com.epmet.datareport.service.evaluationindex.screen.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.enums.CommonOperateTypeEnum; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.DataSourceConstant; import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataMonthlyDao; @@ -11,18 +12,15 @@ import com.epmet.evaluationindex.screen.constant.ScreenConstant; import com.epmet.evaluationindex.screen.dto.form.*; import com.epmet.evaluationindex.screen.dto.result.*; import org.apache.commons.lang3.StringUtils; -import org.jsoup.helper.DataUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import org.springframework.util.unit.DataUnit; import java.math.BigDecimal; import java.text.NumberFormat; import java.time.LocalDate; import java.util.ArrayList; import java.util.Comparator; -import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -328,4 +326,20 @@ public class IndexServiceImpl implements IndexService { return list; } + @Override + @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true) + public List getSubSingleIndexRank(SubSingleIndexRankFormDTO formDTO) { + if (StringUtils.isBlank(formDTO.getMonthId())) { + formDTO.setMonthId(DateUtils.getBeforeNMonth(1)); + } + if (StringUtils.isBlank(formDTO.getSort())) { + formDTO.setSort(CommonOperateTypeEnum.DESC.getCode()); + } + if (formDTO.getTopNum() == null) { + formDTO.setTopNum(NumConstant.FIVE); + } + List list = screenIndexDataMonthlyDao.getSingleIndexRank(formDTO); + return list; + } + } 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 401d3d1a68..c5a9a6305d 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 @@ -205,4 +205,51 @@ LIMIT #{topNum} +