From c83cc44bbb19f042da962a77d036860b9f098dd8 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 9 Jul 2021 18:17:50 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E5=BE=97=E5=88=86=E8=AF=B4=E6=98=8E=20?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index/form/IndexExplainFormDTO.java | 5 +++ .../index/result/IndexScoreResult.java | 5 +++ .../datareport/constant/IndexConstant.java | 4 +- .../index/IndexExplainController.java | 5 +++ .../dao/fact/FactIndexGridScoreDao.java | 4 ++ .../index/impl/IndexExplainServiceImpl.java | 43 +++++++++++++++++++ .../mapper/fact/FactIndexGridScoreDao.xml | 14 ++++++ 7 files changed, 79 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexExplainFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexExplainFormDTO.java index b97139c8ff..245d3f7d04 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexExplainFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/form/IndexExplainFormDTO.java @@ -19,6 +19,7 @@ package com.epmet.evaluationindex.index.form; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.io.Serializable; @@ -37,20 +38,24 @@ public class IndexExplainFormDTO implements Serializable { /** * 客户id */ + @NotBlank(message = "客户ID不能为空") private String customerId; /** * 组织级别(网格级:grid;社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province) */ + @NotBlank(message = "组织级别不能为空") private String orgLevel; /** * 组织id */ + @NotBlank(message = "组织ID不能为空") private String orgId; /** * 月份Id */ + @NotBlank(message = "月份不能为空") private String monthId; diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java index d6ca46a913..59276f6c2a 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java @@ -43,4 +43,9 @@ public class IndexScoreResult implements Serializable { */ private String valueType; + /** + * 是否是总分 + */ + private Boolean isTotal; + } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java index dd34c3c42d..2ffc570122 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java @@ -30,10 +30,12 @@ public class IndexConstant { public static final String THRESHOLD_TEXT = "给定阈值%d%%,超过阈值不加分"; public static final String TABLE_DESC = "详见下表:"; public static final String INDEX_SCORE_TITLE = "当月指数"; - public static final String INDEX_SCORE_DESC = "自然月周期内,当月指数得分=党建指数得分*相关权重+治理指数得分*相关权重+服务指数得分*相关权重"; + public static final String INDEX_SCORE_DESC = "自然月周期内,当月指数得分(totalScore)=党建指数得分(dangjiannengli)*相关权重(dangjiannengliweight)+治理指数得分(zhilinengli)*相关权重(zhilinengliweight)+服务指数得分(fuwunengli)*相关权重(fuwunengliweight)"; public static final String INDEX_DISTRINCT_TABLE1_INDEX_CODE = "suoyoujiedaozlnlpjz"; public static final String ZHI_LI_NENG_LI = "zhilinengli"; public static final String PATTERN_D = "d"; + public static final String PATTERN_WEIGHT = "weight"; + public static final String PATTERN_TOTAL = "totalScore"; public static final String QUAN_QU_ZHI_LI_INDEX_CODE = "quanquxiangguan:zhilinengli"; diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/index/IndexExplainController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/index/IndexExplainController.java index abac68a416..e248a6ac35 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/index/IndexExplainController.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/index/IndexExplainController.java @@ -17,12 +17,15 @@ package com.epmet.datareport.controller.index; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.datareport.service.evaluationindex.index.IndexExplainService; import com.epmet.evaluationindex.index.form.IndexExplainFormDTO; import com.epmet.evaluationindex.index.form.IndexScoreFormDTO; import com.epmet.evaluationindex.index.result.IndexExplainResult; import com.epmet.evaluationindex.screen.dto.result.IndexDictResultDTO; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -56,6 +59,8 @@ public class IndexExplainController { */ @PostMapping("detail") public Result> getScoreDetail(@RequestBody IndexExplainFormDTO formDTO){ + formDTO.setMonthId(StringUtils.isBlank(formDTO.getMonthId()) ? DateUtils.getCurrentTimeBeforeMonthId() : formDTO.getMonthId()); + ValidatorUtils.validateEntity(formDTO); Result> ok = new Result>().ok(indexExplainService.getScoreDetail(formDTO)); return ok; } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java index c94fdb23a3..d37b7e26a9 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java @@ -17,6 +17,7 @@ package com.epmet.datareport.dao.fact; +import com.epmet.evaluationindex.index.result.IndexScoreResult; import com.epmet.evaluationindex.screen.dto.form.AblityIndexFormDTO; import com.epmet.evaluationindex.screen.dto.form.MonthScoreListFormDTO; import com.epmet.evaluationindex.screen.dto.form.ScoreListFormDTO; @@ -24,6 +25,7 @@ import com.epmet.evaluationindex.screen.dto.result.AblityIndexResultDTO; import com.epmet.evaluationindex.screen.dto.result.MonthScoreListResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScoreListResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.LinkedList; import java.util.List; @@ -57,4 +59,6 @@ public interface FactIndexGridScoreDao { * @author sun */ LinkedList selectGridMonthWeightScoreList(MonthScoreListFormDTO formDTO); + + List selectGridScoreList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("monthId") String monthId); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java index 572fb3b4b8..c2918c67c4 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java @@ -67,13 +67,20 @@ public class IndexExplainServiceImpl implements IndexExplainService { @Autowired private FactIndexGridSubScoreDao gridSubScoreDao; @Autowired + private FactIndexGridScoreDao gridScoreDao; + @Autowired private FactIndexCpcSubScoreDao factIndexCpcSubScoreDao; @Autowired private FactIndexCommunitySubScoreDao communitySubScoreDao; @Autowired + private FactIndexCommunityScoreDao communityScoreDao; + @Autowired private FactIndexAgencySubScoreDao agencySubScoreDao; @Autowired private FactIndexDeptSubScoreDao deptSubScoreDao; + @Autowired + private FactIndexAgencyScoreDao agencyScoreDao; + @Override @@ -83,6 +90,8 @@ public class IndexExplainServiceImpl implements IndexExplainService { first.setTitle(IndexConstant.INDEX_SCORE_TITLE); first.setMeaning(IndexConstant.INDEX_SCORE_DESC); results.add(first); + //获取该等级的分数及权重 + setCurrentMonthScore(formDTO,first); List explainDTOList = indexExplainDao.getIndexExplainTreeByOrgType(formDTO.getOrgLevel()); if (CollectionUtils.isEmpty(explainDTOList)) { return null; @@ -124,6 +133,40 @@ public class IndexExplainServiceImpl implements IndexExplainService { return indexDictDao.selectIndexDict(formDTO.getIndexCode()); } + private void setCurrentMonthScore(IndexExplainFormDTO formDTO, IndexExplainResult first){ + + String orgLevel = formDTO.getOrgLevel(); + String orgId = formDTO.getOrgId(); + OrgLevelEnum anEnum = OrgLevelEnum.getEnum(orgLevel); + switch (anEnum) { + case GRID: + List list = gridScoreDao.selectGridScoreList(formDTO.getCustomerId(),formDTO.getOrgId(),formDTO.getMonthId()); + String meaning = first.getMeaning(); + for (IndexScoreResult score : list) { + String indexCode = score.getIndexCode(); + if (score.getIsTotal()){ + meaning = meaning.replaceFirst(IndexConstant.PATTERN_TOTAL,score.getScore().toString()); + continue; + } + meaning = meaning.replaceFirst(indexCode, score.getScore().toString()).replaceFirst(indexCode.concat(IndexConstant.PATTERN_WEIGHT), score.getWeight() + "%"); + } + first.setMeaning(meaning); + + + break; + case COMMUNITY: + + break; + case STREET: + + break; + case DISTRICT: + break; + default: + log.error("暂不支持更高级别的查询,level:{}", orgLevel); + } + } + private void setTableData(IndexExplainFormDTO formDTO, Map> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) { if (NumConstant.ONE == explainDTO.getIsSearch()) { List realScoreList = null; diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml index 0458665057..2b22ed1aa3 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml @@ -76,5 +76,19 @@ ORDER BY fact.month_id ASC + From 36bd27b601678a026326bf0b3f08bb3f4803c57e Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 12 Jul 2021 14:49:52 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=E5=BE=97=E5=88=86=E8=AF=B4=E6=98=8E=20?= =?UTF-8?q?=E4=B8=8A=E4=B8=8B=E7=BA=A7=E6=B7=BB=E5=8A=A0=E5=85=B7=E4=BD=93?= =?UTF-8?q?=E5=88=86=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index/result/IndexExplainResult.java | 4 ++ .../index/result/IndexScoreResult.java | 9 ++++ .../datareport/constant/IndexConstant.java | 2 + .../dao/fact/FactIndexAgencyScoreDao.java | 4 ++ .../dao/fact/FactIndexCommunityScoreDao.java | 4 ++ .../dao/fact/FactIndexGridScoreDao.java | 1 + .../index/impl/IndexExplainServiceImpl.java | 54 ++++++++++++------- .../mapper/fact/FactIndexAgencyScoreDao.xml | 17 ++++++ .../fact/FactIndexCommunityScoreDao.xml | 17 ++++++ .../mapper/fact/FactIndexGridScoreDao.xml | 5 +- 10 files changed, 98 insertions(+), 19 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java index 1ade73b168..1d5f837199 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexExplainResult.java @@ -1,5 +1,6 @@ package com.epmet.evaluationindex.index.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.util.ArrayList; @@ -49,5 +50,8 @@ public class IndexExplainResult { */ private String tableDesc; + @JsonIgnore + private String indexCode; + } diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java index 59276f6c2a..1186e7ff70 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/index/result/IndexScoreResult.java @@ -23,6 +23,15 @@ public class IndexScoreResult implements Serializable { */ private BigDecimal score; + /** + * 本级分数 + */ + private BigDecimal selfScore; + /** + * 下级分数 + */ + private BigDecimal subScore; + /** * 指标对应的权重 */ diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java index 2ffc570122..244b5f6c18 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java @@ -24,6 +24,8 @@ public class IndexConstant { public static final String ZB_CN = "指标"; public static final String BEN_JI_CN = "本级"; public static final String XIA_JI_CN = "下级"; + public static final String BEN_JI_EN = "self"; + public static final String XIA_JI_EN = "sub"; public static final String ZI_SHEN = "zishen"; public static final String XIA_JI = "xiaji"; diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexAgencyScoreDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexAgencyScoreDao.java index 57a9829f1d..147d12ef3f 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexAgencyScoreDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexAgencyScoreDao.java @@ -17,6 +17,7 @@ package com.epmet.datareport.dao.fact; +import com.epmet.evaluationindex.index.result.IndexScoreResult; import com.epmet.evaluationindex.screen.dto.form.AblityIndexFormDTO; import com.epmet.evaluationindex.screen.dto.form.MonthScoreListFormDTO; import com.epmet.evaluationindex.screen.dto.form.ScoreListFormDTO; @@ -24,6 +25,7 @@ import com.epmet.evaluationindex.screen.dto.result.AblityIndexResultDTO; import com.epmet.evaluationindex.screen.dto.result.MonthScoreListResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScoreListResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.LinkedList; import java.util.List; @@ -57,4 +59,6 @@ public interface FactIndexAgencyScoreDao { * @author sun */ LinkedList selectAgencyMonthWeightScoreList(MonthScoreListFormDTO formDTO); + + List selectAgencyScoreList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("monthId") String monthId); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexCommunityScoreDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexCommunityScoreDao.java index d0bfc62ac5..f5784b5a56 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexCommunityScoreDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexCommunityScoreDao.java @@ -17,6 +17,7 @@ package com.epmet.datareport.dao.fact; +import com.epmet.evaluationindex.index.result.IndexScoreResult; import com.epmet.evaluationindex.screen.dto.form.AblityIndexFormDTO; import com.epmet.evaluationindex.screen.dto.form.MonthScoreListFormDTO; import com.epmet.evaluationindex.screen.dto.form.ScoreListFormDTO; @@ -24,6 +25,7 @@ import com.epmet.evaluationindex.screen.dto.result.AblityIndexResultDTO; import com.epmet.evaluationindex.screen.dto.result.MonthScoreListResultDTO; import com.epmet.evaluationindex.screen.dto.result.ScoreListResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.LinkedList; import java.util.List; @@ -57,4 +59,6 @@ public interface FactIndexCommunityScoreDao { * @author sun */ LinkedList selectCommunityMonthWeightScoreList(MonthScoreListFormDTO formDTO); + + List selectComunityScoreList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("monthId") String monthId); } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java index d37b7e26a9..c98582ec77 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/fact/FactIndexGridScoreDao.java @@ -61,4 +61,5 @@ public interface FactIndexGridScoreDao { LinkedList selectGridMonthWeightScoreList(MonthScoreListFormDTO formDTO); List selectGridScoreList(@Param("customerId") String customerId, @Param("orgId") String orgId, @Param("monthId") String monthId); + } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java index c2918c67c4..deba53ddb7 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java @@ -82,7 +82,6 @@ public class IndexExplainServiceImpl implements IndexExplainService { private FactIndexAgencyScoreDao agencyScoreDao; - @Override public List getScoreDetail(IndexExplainFormDTO formDTO) { List results = new ArrayList<>(); @@ -91,7 +90,7 @@ public class IndexExplainServiceImpl implements IndexExplainService { first.setMeaning(IndexConstant.INDEX_SCORE_DESC); results.add(first); //获取该等级的分数及权重 - setCurrentMonthScore(formDTO,first); + List explainDTOList = indexExplainDao.getIndexExplainTreeByOrgType(formDTO.getOrgLevel()); if (CollectionUtils.isEmpty(explainDTOList)) { return null; @@ -109,6 +108,7 @@ public class IndexExplainServiceImpl implements IndexExplainService { results.add(result); result.setTitle(explainDTO.getTitle()); result.setMeaning(explainDTO.getMeaning()); + result.setIndexCode(explainDTO.getIndexCode()); //全区相关的服务能力的含义中 有权重 所以特殊处理下 if (explainDTO.getOrgLevel().equals(OrgLevelEnum.DISTRICT.getCode()) && IndexConstant.ZLZS_CN.equals(explainDTO.getTitle())) { @@ -123,6 +123,9 @@ public class IndexExplainServiceImpl implements IndexExplainService { setTableData(formDTO, detailEntityMap, explainDTO, result); //子节点 setChildren(formDTO, detailEntityMap, result, explainDTO, explainDTO.getChildren()); + //设置 新的含义 带分数的 + System.out.println(result.getIndexCode()+"============="); + setCurrentMonthScore(formDTO, first,result); } return results; @@ -133,38 +136,53 @@ public class IndexExplainServiceImpl implements IndexExplainService { return indexDictDao.selectIndexDict(formDTO.getIndexCode()); } - private void setCurrentMonthScore(IndexExplainFormDTO formDTO, IndexExplainResult first){ + private void setCurrentMonthScore(IndexExplainFormDTO formDTO, IndexExplainResult first, IndexExplainResult second) { String orgLevel = formDTO.getOrgLevel(); - String orgId = formDTO.getOrgId(); OrgLevelEnum anEnum = OrgLevelEnum.getEnum(orgLevel); + List list = null; + switch (anEnum) { case GRID: - List list = gridScoreDao.selectGridScoreList(formDTO.getCustomerId(),formDTO.getOrgId(),formDTO.getMonthId()); - String meaning = first.getMeaning(); - for (IndexScoreResult score : list) { - String indexCode = score.getIndexCode(); - if (score.getIsTotal()){ - meaning = meaning.replaceFirst(IndexConstant.PATTERN_TOTAL,score.getScore().toString()); - continue; - } - meaning = meaning.replaceFirst(indexCode, score.getScore().toString()).replaceFirst(indexCode.concat(IndexConstant.PATTERN_WEIGHT), score.getWeight() + "%"); - } - first.setMeaning(meaning); - - + list = gridScoreDao.selectGridScoreList(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getMonthId()); break; case COMMUNITY: - + list = communityScoreDao.selectComunityScoreList(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getMonthId()); break; case STREET: + list = agencyScoreDao.selectAgencyScoreList(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getMonthId()); break; case DISTRICT: + list = agencyScoreDao.selectAgencyScoreList(formDTO.getCustomerId(), formDTO.getOrgId(), formDTO.getMonthId()); break; default: log.error("暂不支持更高级别的查询,level:{}", orgLevel); } + if (CollectionUtils.isNotEmpty(list)) { + setNewMeaningWithScore(list, first,second); + } + } + + private void setNewMeaningWithScore(List list, IndexExplainResult first, IndexExplainResult second) { + String firstMeaning = first.getMeaning(); + String secondMeaning = second.getMeaning(); + for (IndexScoreResult score : list) { + String indexCode = score.getIndexCode(); + if (score.getIsTotal()) { + firstMeaning = firstMeaning.replaceFirst(IndexConstant.PATTERN_TOTAL, score.getScore().toString()); + continue; + } + + firstMeaning = firstMeaning.replaceFirst(indexCode, score.getScore().toString()).replaceFirst(indexCode.concat(IndexConstant.PATTERN_WEIGHT), score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString() + "%"); + if (score.getIndexCode().equals(second.getIndexCode())){ + secondMeaning = secondMeaning.replaceFirst(IndexConstant.PATTERN_TOTAL, score.getScore().toString()) + .replaceFirst(IndexConstant.BEN_JI_EN, score.getSelfScore().toString()) + .replaceFirst(IndexConstant.XIA_JI_EN, score.getSubScore().toString()); + } + } + first.setMeaning(firstMeaning); + second.setMeaning(secondMeaning); } private void setTableData(IndexExplainFormDTO formDTO, Map> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) { diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml index 68f17dd26c..5662edfaf7 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexAgencyScoreDao.xml @@ -74,5 +74,22 @@ ORDER BY fact.month_id ASC + diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml index bd45c22bc4..7c6be5ab92 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexCommunityScoreDao.xml @@ -74,5 +74,22 @@ ORDER BY fact.month_id ASC + diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml index 2b22ed1aa3..a177451112 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/fact/FactIndexGridScoreDao.xml @@ -81,9 +81,12 @@ ROUND(fact.score,1) AS "score", fact.index_code , fact.WEIGHT, - fact.IS_TOTAL + fact.IS_TOTAL, + ROUND(fiasss.SELF_SCORE,1) AS "selfScore", + ROUND(fiasss.SUB_SCORE,1) AS "subScore" FROM fact_index_grid_score fact + LEFT JOIN fact_index_grid_self_sub_score fiasss ON fact.GRID_ID = fiasss.GRID_ID AND fact.INDEX_CODE = fiasss.PARENT_INDEX_CODE AND fact.MONTH_ID = fiasss.MONTH_ID WHERE fact.del_flag = '0' AND fact.customer_id = #{customerId} From 55aff9eaec8601584480b32c82d8691b3729472f Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 12 Jul 2021 17:55:19 +0800 Subject: [PATCH 3/9] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/StaffPatrolService.java | 21 ++++++++++ .../service/impl/StaffPatrolServiceImpl.java | 33 +++++++++++++++ .../java/com/epmet/task/EndPatrolTask.java | 40 +++++++++++++++++++ .../epmet/dto/form/StartPatrolFormDTO.java | 2 + .../epmet/feign/EpmetUserOpenFeignClient.java | 10 +++++ .../EpmetUserOpenFeignClientFallback.java | 13 ++++++ .../controller/StaffPatrolController.java | 14 +++++++ .../service/StaffPatrolRecordService.java | 8 ++++ .../impl/StaffPatrolRecordServiceImpl.java | 28 +++++++++++++ 9 files changed, 169 insertions(+) create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java create mode 100644 epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java new file mode 100644 index 0000000000..905a424c21 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/StaffPatrolService.java @@ -0,0 +1,21 @@ +package com.epmet.service; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StartPatrolFormDTO; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/7/12 17:39 + */ +public interface StaffPatrolService { + /** + * 结束巡查 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/7/12 17:40 + */ + Result endPatrol(StartPatrolFormDTO formDTO); +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java new file mode 100644 index 0000000000..43ffff5ad5 --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/service/impl/StaffPatrolServiceImpl.java @@ -0,0 +1,33 @@ +package com.epmet.service.impl; + +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.form.StartPatrolFormDTO; +import com.epmet.feign.EpmetUserOpenFeignClient; +import com.epmet.service.StaffPatrolService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/7/12 17:40 + */ +@Service +public class StaffPatrolServiceImpl implements StaffPatrolService { + + @Resource + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + /** + * 结束巡查 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/7/12 17:40 + */ + @Override + public Result endPatrol(StartPatrolFormDTO formDTO) { + return epmetUserOpenFeignClient.endPatrolJob(formDTO); + } +} diff --git a/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java new file mode 100644 index 0000000000..b0f06c377a --- /dev/null +++ b/epmet-module/epmet-job/epmet-job-server/src/main/java/com/epmet/task/EndPatrolTask.java @@ -0,0 +1,40 @@ +package com.epmet.task; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.utils.Result; +import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.dto.form.StartPatrolFormDTO; +import com.epmet.service.StaffPatrolService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; + +/** + * @author zhaoqifeng + * @dscription + * @date 2021/7/12 17:36 + */ +@Component("endPatrolTask") +@Slf4j +public class EndPatrolTask implements ITask { + @Resource + private StaffPatrolService staffPatrolService; + @Override + public void run(String params) { + log.info("EndPatrolTask定时任务正在执行,参数为:{}", params); + ExtractOriginFormDTO dto = new ExtractOriginFormDTO(); + StartPatrolFormDTO formDTO = new StartPatrolFormDTO(); + if (StringUtils.isNotBlank(params)) { + dto = JSON.parseObject(params, ExtractOriginFormDTO.class); + formDTO.setCustomerId(dto.getCustomerId()); + } + Result result = staffPatrolService.endPatrol(formDTO); + if (result.success()) { + log.info("EndPatrolTask定时任务执行成功"); + } else { + log.error("EndPatrolTask定时任务执行失败:" + result.getMsg()); + } + } +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java index 1bf9d55e25..2c723e6177 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/StartPatrolFormDTO.java @@ -39,4 +39,6 @@ public class StartPatrolFormDTO implements Serializable { private String staffPatrolRecId; private String patrolEndTime; + + private String customerId; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index fcf24efc39..6cfb21aa99 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -595,4 +595,14 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/staffrole/getroles") Result getUserRoles(@RequestBody CustomerAgencyUserRoleFormDTO formDTO); + + /** + * 结束巡查 定时任务 + * @author zhaoqifeng + * @date 2021/7/12 17:32 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("/epmetuser/staffpatrol/endpatrolJob") + Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index db88733c0e..b0b8723f01 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -409,4 +409,17 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoles", formDTO); } + /** + * 结束巡查 定时任务 + * + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author zhaoqifeng + * @date 2021/7/12 17:32 + */ + @Override + public Result endPatrolJob(StartPatrolFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "endPatrolJob", formDTO); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java index 4d510c5996..6708db5b5d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/StaffPatrolController.java @@ -87,6 +87,20 @@ public class StaffPatrolController { } + /** + * 结束巡查 定时任务 + * @author zhaoqifeng + * @date 2021/7/12 17:00 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("endpatrolJob") + public Result endPatrolJob(@RequestBody StartPatrolFormDTO formDTO) { + staffPatrolRecordService.endPatrolJob(formDTO); + return new Result(); + + } + /** * 上传巡查记录 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java index 7eae381718..e9cbb44ce7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/StaffPatrolRecordService.java @@ -72,6 +72,14 @@ public interface StaffPatrolRecordService extends BaseService wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(StaffPatrolRecordEntity :: getCustomerId, formDTO.getCustomerId()); + wrapper.eq(StaffPatrolRecordEntity :: getStatus, PatrolConstant.PATROLLING); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + String endTimeStr = DateUtils.format(item.getPatrolStartTime(), DateUtils.DATE_PATTERN_YYYYMMDD); + endTimeStr = endTimeStr.concat("235959"); + Date endTime = DateUtils.parse(endTimeStr, DateUtils.DATE_TIME_NO_SPLIT); + item.setPatrolEndTime(endTime); + item.setActrualEndTime(endTime); + item.setUpdatedTime(null); + }); + + updateBatchById(list); + } + } + /** * @Description 巡查结束时,添加巡查统计表逻辑 * @Param userId From 7bf2bb09b873e4728870932c492009311397a17c Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 13 Jul 2021 10:47:05 +0800 Subject: [PATCH 4/9] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/StaffPatrolRecordServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index 03d0b063a5..dcddb5c666 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -287,8 +287,8 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(StaffPatrolRecordEntity :: getCustomerId, formDTO.getCustomerId()); wrapper.eq(StaffPatrolRecordEntity :: getStatus, PatrolConstant.PATROLLING); + wrapper.eq(StringUtils.isNotBlank(formDTO.getCustomerId()), StaffPatrolRecordEntity :: getCustomerId, formDTO.getCustomerId()); List list = baseDao.selectList(wrapper); if (CollectionUtils.isNotEmpty(list)) { list.forEach(item -> { From 53d6b3a5714884f597f69f7873ebd43e241ba9e6 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 13 Jul 2021 10:59:50 +0800 Subject: [PATCH 5/9] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/StaffPatrolRecordServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index dcddb5c666..49fbb0d68a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -297,6 +297,9 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl Date: Tue, 13 Jul 2021 15:27:53 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=BE=97=E5=88=86=E8=AF=B4=E6=98=8E=20?= =?UTF-8?q?=E8=A1=A5=E5=85=85=E4=B8=8B=E4=B8=8B=E5=8C=BA=E5=8E=BF=E7=BA=A7?= =?UTF-8?q?=E7=9A=84=E5=BE=97=E5=88=86=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datareport/constant/IndexConstant.java | 1 + .../index/impl/IndexExplainServiceImpl.java | 29 ++++++++++++------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java index 244b5f6c18..27facb34f2 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java @@ -34,6 +34,7 @@ public class IndexConstant { public static final String INDEX_SCORE_TITLE = "当月指数"; public static final String INDEX_SCORE_DESC = "自然月周期内,当月指数得分(totalScore)=党建指数得分(dangjiannengli)*相关权重(dangjiannengliweight)+治理指数得分(zhilinengli)*相关权重(zhilinengliweight)+服务指数得分(fuwunengli)*相关权重(fuwunengliweight)"; public static final String INDEX_DISTRINCT_TABLE1_INDEX_CODE = "suoyoujiedaozlnlpjz"; + public static final String INDEX_DISTRINCT_TABLE2_INDEX_CODE = "suoyouzhishubmzlnlpjz"; public static final String ZHI_LI_NENG_LI = "zhilinengli"; public static final String PATTERN_D = "d"; public static final String PATTERN_WEIGHT = "weight"; diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java index deba53ddb7..cdde8c050d 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java @@ -112,10 +112,18 @@ public class IndexExplainServiceImpl implements IndexExplainService { //全区相关的服务能力的含义中 有权重 所以特殊处理下 if (explainDTO.getOrgLevel().equals(OrgLevelEnum.DISTRICT.getCode()) && IndexConstant.ZLZS_CN.equals(explainDTO.getTitle())) { - List detailResults = detailEntityMap.get(IndexConstant.QUAN_QU_ZHI_LI_INDEX_CODE); - detailResults.forEach(index -> { - String newMeaning = result.getMeaning().replaceFirst(IndexConstant.PATTERN_D, - index.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString()); + + //获取分数 补充下 + IndexScoreFormDTO ablityListFormDTO = new IndexScoreFormDTO(); + ablityListFormDTO.setCustomerId(formDTO.getCustomerId()); + ablityListFormDTO.setOrgId(formDTO.getOrgId()); + ablityListFormDTO.setAllParentIndexCode(explainDTO.getIndexCode()); + ablityListFormDTO.setMonthId(StringUtils.isBlank(formDTO.getMonthId()) ? DateUtils.getCurrentTimeBeforeMonthId() : formDTO.getMonthId()); + List scoreResults = agencySubScoreDao.selectSubScore(ablityListFormDTO); + scoreResults.forEach(e->{ + String newMeaning = result.getMeaning().replaceFirst(e.getIndexCode(),e.getScore().toString()) + .replaceFirst(IndexConstant.PATTERN_D, + e.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString());; result.setMeaning(newMeaning); }); } @@ -124,7 +132,6 @@ public class IndexExplainServiceImpl implements IndexExplainService { //子节点 setChildren(formDTO, detailEntityMap, result, explainDTO, explainDTO.getChildren()); //设置 新的含义 带分数的 - System.out.println(result.getIndexCode()+"============="); setCurrentMonthScore(formDTO, first,result); } @@ -175,7 +182,7 @@ public class IndexExplainServiceImpl implements IndexExplainService { } firstMeaning = firstMeaning.replaceFirst(indexCode, score.getScore().toString()).replaceFirst(indexCode.concat(IndexConstant.PATTERN_WEIGHT), score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString() + "%"); - if (score.getIndexCode().equals(second.getIndexCode())){ + if (second.getIndexCode().contains(score.getIndexCode())){ secondMeaning = secondMeaning.replaceFirst(IndexConstant.PATTERN_TOTAL, score.getScore().toString()) .replaceFirst(IndexConstant.BEN_JI_EN, score.getSelfScore().toString()) .replaceFirst(IndexConstant.XIA_JI_EN, score.getSubScore().toString()); @@ -235,6 +242,9 @@ public class IndexExplainServiceImpl implements IndexExplainService { List indexGroupDetailEntities = new ArrayList<>(); for (IndexGroupDetailResult index : detailResults) { if (IndexConstant.INDEX_DISTRINCT_TABLE1_INDEX_CODE.equals(index.getIndexCode())) { + String newMeaning = result.getMeaning().replaceFirst(IndexConstant.PATTERN_D, + index.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString()); + result.setMeaning(newMeaning); indexGroupDetailEntities.add(index); setDefaultTableData(orgLevel, type, detailEntityMap, result, allIndexCodePath, indexGroupDetailEntities); //不下钻 @@ -312,14 +322,14 @@ public class IndexExplainServiceImpl implements IndexExplainService { } } - private List setDefaultTableData(String orgLevel, String type, Map> detailEntityMap, - IndexExplainResult result, String allIndexCodePath, List indexGroupDetailEntities) { + private void setDefaultTableData(String orgLevel, String type, Map> detailEntityMap, + IndexExplainResult result, String allIndexCodePath, List indexGroupDetailEntities) { if (indexGroupDetailEntities == null) { indexGroupDetailEntities = detailEntityMap.get(allIndexCodePath); } if (CollectionUtils.isEmpty(indexGroupDetailEntities)) { log.warn("setDefaultTableData allINdexCodePath:{} is config error", allIndexCodePath); - return null; + return; } List tableList = new ArrayList<>(); List threlodList = new ArrayList<>(); @@ -348,7 +358,6 @@ public class IndexExplainServiceImpl implements IndexExplainService { result.setTableDataList(tableList); result.setThresholdList(threlodList); result.setTableDesc(IndexConstant.TABLE_DESC); - return tableList; } private void setChildren(IndexExplainFormDTO formDTO, Map> detailEntityMap, IndexExplainResult result, IndexExplainTreeDTO parentNode, List children) { From e8de20b4c01925975005af946401f0962897c797 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 13 Jul 2021 17:22:37 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E7=BB=93=E6=9D=9F?= =?UTF-8?q?=E5=B7=A1=E6=9F=A5=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/service/impl/StaffPatrolRecordServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java index 49fbb0d68a..5e3fd465ec 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffPatrolRecordServiceImpl.java @@ -301,6 +301,7 @@ public class StaffPatrolRecordServiceImpl extends BaseServiceImpl Date: Wed, 14 Jul 2021 14:46:39 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=8F=98=E5=8A=A8rocketmq=E6=B6=88=E8=B4=B9=E8=80=85?= =?UTF-8?q?=EF=BC=8C=E9=99=90=E5=88=B6=E6=B6=88=E8=B4=B9=E7=8E=87=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/mq/ProjectChangedCustomListener.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 6991c2e9be..852a5aec52 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -78,10 +78,16 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently String redisKey = RedisKeys.getProjectChangedMsgDistinceKey(msgObj.getCustomerId()); if (redisUtils.get(redisKey) == null) { - consumeMessage(msgObj); - log.info("消费了项目变动消息,customer id:{}", msgObj.getCustomerId()); - // 有效期30秒 + // 该线程启动消费之后,其他线程再收到该客户id的消费请求,则不消费 redisUtils.set(redisKey, msg, 30); + try { + consumeMessage(msgObj); + } catch (Exception e) { + // 如果消费失败了,清楚该key,收到消息之后可以继续消费 + redisUtils.delete(redisKey); + throw e; + } + log.info("消费了项目变动消息,customer id:{}", msgObj.getCustomerId()); } else { log.info("该客户的项目变动消息刚刚消费,请等待30秒,customer id:{}", msgObj.getCustomerId()); } From d3612f1d338e791d10be994bec28ae6169d2b583 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 14 Jul 2021 16:43:39 +0800 Subject: [PATCH 9/9] =?UTF-8?q?=E5=BE=97=E5=88=86=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datareport/constant/IndexConstant.java | 5 +- .../index/impl/IndexExplainServiceImpl.java | 49 ++++++++++++------- 2 files changed, 36 insertions(+), 18 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java index 27facb34f2..3f174a32b2 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/constant/IndexConstant.java @@ -32,14 +32,17 @@ public class IndexConstant { public static final String THRESHOLD_TEXT = "给定阈值%d%%,超过阈值不加分"; public static final String TABLE_DESC = "详见下表:"; public static final String INDEX_SCORE_TITLE = "当月指数"; - public static final String INDEX_SCORE_DESC = "自然月周期内,当月指数得分(totalScore)=党建指数得分(dangjiannengli)*相关权重(dangjiannengliweight)+治理指数得分(zhilinengli)*相关权重(zhilinengliweight)+服务指数得分(fuwunengli)*相关权重(fuwunengliweight)"; + public static final String INDEX_SCORE_DESC = "自然月周期内,当月指数得分#(totalScore)#=党建指数得分#(dangjiannengli)#*相关权重#(dangjiannengliweight)#" + + "+治理指数得分#(zhilinengli)#*相关权重#(zhilinengliweight)#+服务指数得分#(fuwunengli)#*相关权重#(fuwunengliweight)#"; public static final String INDEX_DISTRINCT_TABLE1_INDEX_CODE = "suoyoujiedaozlnlpjz"; public static final String INDEX_DISTRINCT_TABLE2_INDEX_CODE = "suoyouzhishubmzlnlpjz"; public static final String ZHI_LI_NENG_LI = "zhilinengli"; + public static final String PATTERN_FIX = "#"; public static final String PATTERN_D = "d"; public static final String PATTERN_WEIGHT = "weight"; public static final String PATTERN_TOTAL = "totalScore"; public static final String QUAN_QU_ZHI_LI_INDEX_CODE = "quanquxiangguan:zhilinengli"; + public static final String PATTERN_ALL = "[#][^#]+[#]"; /** diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java index cdde8c050d..ae40c88329 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/index/impl/IndexExplainServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.datareport.service.evaluationindex.index.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.enums.OrgLevelEnum; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.DataSourceConstant; @@ -89,7 +90,6 @@ public class IndexExplainServiceImpl implements IndexExplainService { first.setTitle(IndexConstant.INDEX_SCORE_TITLE); first.setMeaning(IndexConstant.INDEX_SCORE_DESC); results.add(first); - //获取该等级的分数及权重 List explainDTOList = indexExplainDao.getIndexExplainTreeByOrgType(formDTO.getOrgLevel()); if (CollectionUtils.isEmpty(explainDTOList)) { @@ -120,19 +120,21 @@ public class IndexExplainServiceImpl implements IndexExplainService { ablityListFormDTO.setAllParentIndexCode(explainDTO.getIndexCode()); ablityListFormDTO.setMonthId(StringUtils.isBlank(formDTO.getMonthId()) ? DateUtils.getCurrentTimeBeforeMonthId() : formDTO.getMonthId()); List scoreResults = agencySubScoreDao.selectSubScore(ablityListFormDTO); - scoreResults.forEach(e->{ - String newMeaning = result.getMeaning().replaceFirst(e.getIndexCode(),e.getScore().toString()) + scoreResults.forEach(e -> { + String newMeaning = result.getMeaning().replaceFirst(e.getIndexCode(), e.getScore().toString()) .replaceFirst(IndexConstant.PATTERN_D, - e.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString());; + e.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString()); result.setMeaning(newMeaning); }); } + + //设置表格数据 setTableData(formDTO, detailEntityMap, explainDTO, result); //子节点 setChildren(formDTO, detailEntityMap, result, explainDTO, explainDTO.getChildren()); - //设置 新的含义 带分数的 - setCurrentMonthScore(formDTO, first,result); + //设置 新的含义 带分数的 + setCurrentMonthScore(formDTO, first, result); } return results; @@ -166,9 +168,10 @@ public class IndexExplainServiceImpl implements IndexExplainService { default: log.error("暂不支持更高级别的查询,level:{}", orgLevel); } - if (CollectionUtils.isNotEmpty(list)) { - setNewMeaningWithScore(list, first,second); - } + + setNewMeaningWithScore(list, first, second); + + } private void setNewMeaningWithScore(List list, IndexExplainResult first, IndexExplainResult second) { @@ -181,15 +184,31 @@ public class IndexExplainServiceImpl implements IndexExplainService { continue; } - firstMeaning = firstMeaning.replaceFirst(indexCode, score.getScore().toString()).replaceFirst(indexCode.concat(IndexConstant.PATTERN_WEIGHT), score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString() + "%"); - if (second.getIndexCode().contains(score.getIndexCode())){ + firstMeaning = firstMeaning.replaceFirst(indexCode, score.getScore().toString()).replace(indexCode.concat(IndexConstant.PATTERN_WEIGHT), score.getWeight().multiply(new BigDecimal(NumConstant.ONE_HUNDRED)).setScale(NumConstant.ZERO, BigDecimal.ROUND_HALF_UP).toString() + "%"); + if (second.getIndexCode().contains(score.getIndexCode())) { secondMeaning = secondMeaning.replaceFirst(IndexConstant.PATTERN_TOTAL, score.getScore().toString()) .replaceFirst(IndexConstant.BEN_JI_EN, score.getSelfScore().toString()) .replaceFirst(IndexConstant.XIA_JI_EN, score.getSubScore().toString()); } } - first.setMeaning(firstMeaning); - second.setMeaning(secondMeaning); + if (CollectionUtils.isEmpty(list)) { + firstMeaning = firstMeaning.replaceAll(IndexConstant.PATTERN_ALL, StrConstant.EPMETY_STR); + secondMeaning = secondMeaning.replaceAll(IndexConstant.PATTERN_ALL, StrConstant.EPMETY_STR); + } + + first.setMeaning(firstMeaning.replaceAll(IndexConstant.PATTERN_FIX, StrConstant.EPMETY_STR)); + second.setMeaning(secondMeaning.replaceAll(IndexConstant.PATTERN_FIX, StrConstant.EPMETY_STR)); + } + + public static void main(String[] args) { + String patern = "(?<=\\{).*?(?=(\\}|$))"; + patern = "[#][^#]+[#]"; + String str = "1234#qwert#134"; + + System.out.println(str.replaceAll(patern, "")); + String str2 = "自然月周期内,当月指数得分P(totalScore)P=党建指数得分#(65.7)#*相关权重#(40%)#+治理指数得分#(68.2)#*相关权重#(40%)#+服务指数得分#(77.5)#*相关权重#(20%)#"; + String totalP = "P".concat(IndexConstant.PATTERN_TOTAL).concat("P"); + System.out.println(str2.replaceFirst(totalP, "")); } private void setTableData(IndexExplainFormDTO formDTO, Map> detailEntityMap, IndexExplainTreeDTO explainDTO, IndexExplainResult result) { @@ -375,10 +394,6 @@ public class IndexExplainServiceImpl implements IndexExplainService { result.setChildren(childrenList); } - public static void main(String[] args) { - - } - private List getTableHeaders(String type, String allIndexCode, String orgLevel) { List headers = new ArrayList<>(); OrgLevelEnum anEnum = OrgLevelEnum.getEnum(orgLevel);