From 18c8d2aa7ddc175b1b482f1ed73ce950b6d1f5ae Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 9 Apr 2021 17:47:02 +0800 Subject: [PATCH 001/121] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataToIndex/impl/CalGridIndexServiceImpl.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java index 22dfccc44e..106d4b3f97 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java @@ -243,7 +243,7 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { } //网格总议题数目,网格人均议题数目 List gridIssueTotalList = issueExtractService.selectIssueTotal(customerId, monthId); - //网格总项目数 + //网格总项目数 从议题根据状态获取 List gridProjectTotalList = issueExtractService.selectGridProjectCount(customerId, monthId, ExtractConstant.SHIFT_PROJECT); //网格议题转项目率 List gridIssueCountList = issueExtractService.selectIssueTotalTwoMonth(customerId, monthId, DateUtils.minusMonthId(monthId)); @@ -277,15 +277,11 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { List transferRightRatioResultDTOS = projectMainService.selectTransferRightRatio(customerId, monthId); List transferRightRatioResultDTOS1 = projectLogService.selectNotReturn(customerId, monthId); if (!CollectionUtils.isEmpty(transferRightRatioResultDTOS1)){ - transferRightRatioResultDTOS.forEach(r -> { - transferRightRatioResultDTOS1.forEach(t -> { - r.setStatus(r.getProjectId().equals(t.getProjectId()) ? true : false); - }); - }); + transferRightRatioResultDTOS.forEach(r -> transferRightRatioResultDTOS1.forEach(t -> { + r.setStatus(r.getProjectId().equals(t.getProjectId())); + })); }else { - transferRightRatioResultDTOS.forEach(r -> { - r.setStatus(false); - }); + transferRightRatioResultDTOS.forEach(r -> r.setStatus(false)); } Map> groupByGridProject = transferRightRatioResultDTOS.stream().collect(Collectors.groupingBy(TransferRightRatioResultDTO::getGridId)); Map notReturnMap = new HashMap<>(16); From ca659b6d977f06ea65b747a71018ab3cd46eeb68 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 12 Apr 2021 09:31:51 +0800 Subject: [PATCH 002/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9-?= =?UTF-8?q?=E5=8F=AF=E9=80=89=E7=BB=84=E7=BB=87=E6=A0=91=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/GovOrgOpenFeignClient.java | 9 ++++++ .../GovOrgOpenFeignClientFallback.java | 5 +++ .../controller/ProjectTraceController.java | 10 ++++++ .../epmet/service/ProjectTraceService.java | 7 ++++ .../service/impl/ProjectTraceServiceImpl.java | 32 +++++++++++++++++++ 5 files changed, 63 insertions(+) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java index fe67bef009..6cefd55a53 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java @@ -324,4 +324,13 @@ public interface GovOrgOpenFeignClient { **/ @GetMapping("/gov/org/customergrid/getGridIdsInCommunity/{gridId}") Result> getGridIdsInCommunity(@PathVariable("gridId") String gridId); + + /** + * @param agencyId + * @return + * @Author sun + * @Description 根据当前组织ID查询上两级组织、当前组织和所有下级(迭代)组织 + **/ + @PostMapping(value = "/gov/org/customeragency/getprocessorlist/{agencyId}") + Result getProcessorList(@PathVariable("agencyId") String agencyId); } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java index d9d5be0a84..f34b6f53ae 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java @@ -187,4 +187,9 @@ public class GovOrgOpenFeignClientFallback implements GovOrgOpenFeignClient { public Result> getGridIdsInCommunity(String gridId) { return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridIdsInCommunity", gridId); } + + @Override + public Result getProcessorList(String agencyId) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getProcessorList", agencyId); + } } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index c7d3a8c09a..d1d8568a58 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -335,5 +335,15 @@ public class ProjectTraceController { return new Result(); } + /** + * @param tokenDTO + * @Author sun + * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 + **/ + @PostMapping("approvalagencylist") + public Result approvalAgencyList(@LoginUser TokenDto tokenDTO) { + return new Result().ok(projectTraceService.approvalAgencyList(tokenDTO)); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index f692900851..f828489fe3 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -159,4 +159,11 @@ public interface ProjectTraceService { * @return void */ void sendTo(TokenDto tokenDto, SendToFormDTO formDTO); + + /** + * @param tokenDTO + * @Author sun + * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 + **/ + ProcessorListResultDTO approvalAgencyList(TokenDto tokenDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index d3b4e1d55f..884378fec8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -11,12 +11,15 @@ import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.ProjectStaffEntity; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgFeignClient; +import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; @@ -45,6 +48,10 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { private ProjectProcessAttachmentDao attachmentDao; @Autowired private ProjectSubProcessService projectSubProcessService; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; + @Autowired + private GovOrgOpenFeignClient govOrgOpenFeignClient; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -213,4 +220,29 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { projectService.sendTo(formDTO); } + /** + * @param tokenDTO + * @Author sun + * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 + **/ + @Override + public ProcessorListResultDTO approvalAgencyList(TokenDto tokenDTO) { + //1.获取token用户所属组织信息 + LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); + dto.setApp(tokenDTO.getApp()); + dto.setClient(tokenDTO.getClient()); + dto.setUserId(tokenDTO.getUserId()); + Result resultDto = epmetUserOpenFeignClient.getLoginUserDetails(dto); + if (!resultDto.success() || StringUtils.isEmpty(resultDto.getData().getAgencyId())) { + throw new RenException(String.format("调用user服务查询用户数据失败,userId->", tokenDTO.getUserId())); + } + + //2.根据组织Id查询当前组织上两级组织、本级组织、所有下级组织信息 + Result result = govOrgOpenFeignClient.getProcessorList(resultDto.getData().getAgencyId()); + if (!resultDto.success()) { + throw new RenException(String.format("调用org服务查询用户数据失败,userId->", tokenDTO.getUserId())); + } + return result.getData(); + } + } From 765a15d67950ae98b7203f278abd34246e130ed7 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 12 Apr 2021 09:44:24 +0800 Subject: [PATCH 003/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9db?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.11__alter_project.sql | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql new file mode 100644 index 0000000000..5d5631b3bd --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql @@ -0,0 +1,4 @@ +ALTER TABLE `project` +ADD COLUMN `BACK_GROUND` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目背景' AFTER `TITLE`; + + From f60575c8c992f457e9e60d238527f77162f48bad Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 12 Apr 2021 09:46:59 +0800 Subject: [PATCH 004/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9pro?= =?UTF-8?q?ject=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java | 5 +++++ .../com/epmet/dataaggre/entity/govproject/ProjectEntity.java | 5 +++++ .../main/java/com/epmet/entity/project/ProjectEntity.java | 5 +++++ .../src/main/java/com/epmet/dto/ProjectDTO.java | 5 +++++ .../src/main/java/com/epmet/entity/ProjectEntity.java | 5 +++++ 5 files changed, 25 insertions(+) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java index c73cc7ecd3..e94e2e9ad7 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/ProjectDTO.java @@ -65,6 +65,11 @@ public class ProjectDTO implements Serializable { */ private String title; + /** + * 项目背景 + */ + private String backGround; + /** * 状态:待处理 pending,结案closed */ diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java index 1a4c9ea1e1..5cdf2cde3b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govproject/ProjectEntity.java @@ -63,6 +63,11 @@ public class ProjectEntity extends BaseEpmetEntity { */ private String title; + /** + * 项目背景 + */ + private String backGround; + /** * 状态:待处理 pending,结案closed */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java index cd696e25c6..15c533efc3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java @@ -60,6 +60,11 @@ public class ProjectEntity extends BaseEpmetEntity { */ private String title; + /** + * 项目背景 + */ + private String backGround; + /** * 状态:待处理 pending,结案closed */ diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java index 1d75e9adfe..0b449f6709 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java @@ -65,6 +65,11 @@ public class ProjectDTO implements Serializable { */ private String title; + /** + * 项目背景 + */ + private String backGround; + /** * 状态:待处理 pending,结案closed */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java index 38de1c8e93..1d441664b8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java @@ -63,6 +63,11 @@ public class ProjectEntity extends BaseEpmetEntity { */ private String title; + /** + * 项目背景 + */ + private String backGround; + /** * 状态:待处理 pending,结案closed */ From 8b54ac2738ec6763feeb8ede1533c06b9a70ecb8 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 12 Apr 2021 11:18:04 +0800 Subject: [PATCH 005/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9pro?= =?UTF-8?q?ject=E8=A1=A8=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.11__alter_project.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql index 5d5631b3bd..2d700d064e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql @@ -2,3 +2,6 @@ ALTER TABLE `project` ADD COLUMN `BACK_GROUND` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目背景' AFTER `TITLE`; +ALTER TABLE `project` +MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency' AFTER `AGENCY_ID`; + From a3d55ef4281217ab116c052f6335f6744fc51ec4 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 12 Apr 2021 13:40:23 +0800 Subject: [PATCH 006/121] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E6=96=B0=E5=A2=9Earea=5Fcode=EF=BC=8Cdb=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.4__area_code.sql | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql new file mode 100644 index 0000000000..6ad37df868 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql @@ -0,0 +1,23 @@ +drop table if EXISTS customer_org_parameter; +CREATE TABLE `customer_org_parameter` ( + `ID` varchar(32) NOT NULL COMMENT '主键ID', + `CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', + `PARAMETER_KEY` varchar(32) NOT NULL COMMENT '参数键 eg:area_code_switch', + `PARAMETER_NAME` varchar(32) NOT NULL COMMENT '参数名 eg:是否开启区域编码', + `PARAMETER_VALUE` varchar(32) NOT NULL COMMENT '参数值 eg:开启:open;关闭:closed ', + `DESCRIPTION` varchar(512) NOT NULL COMMENT '参数说明 eg:open:当前客户新增组织需要选择areaCode;closed: 无需选择区域编码', + `DEL_FLAG` varchar(1) NOT NULL DEFAULT '0' COMMENT '删除标志 0:未删除,1:已删除', + `REVISION` int(11) NOT NULL DEFAULT '0' COMMENT '乐观锁', + `CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', + `CREATED_TIME` datetime NOT NULL COMMENT '创建时间', + `UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', + `UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', + PRIMARY KEY (`ID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户组织相关参数表'; + + +alter table customer_agency MODIFY COLUMN PROVINCE VARCHAR(32) COMMENT '区域编码字典中的【省份】名称'; +alter table customer_agency MODIFY COLUMN CITY VARCHAR(32) COMMENT '区域编码字典中的【城市】名称'; +alter table customer_agency MODIFY COLUMN DISTRICT VARCHAR(64) COMMENT '区域编码字典中的【区县】名称'; +alter table customer_agency add COLUMN STREET varchar(64) comment '区域编码字典中的【街道】名称0409' AFTER DISTRICT; +alter table customer_agency add COLUMN COMMUNITY varchar(64) comment '区域编码字典中的【社区】名称0409'AFTER STREET; \ No newline at end of file From 5a6c46bb573ca57d89bb25f45de90d7c884dc2c0 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 12 Apr 2021 13:51:48 +0800 Subject: [PATCH 007/121] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E8=87=AA=E6=B2=BB?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/DemoController.java | 5 +-- .../extract/FactOriginProjectLogDailyDao.java | 8 ++++ .../impl/CalGridIndexServiceImpl.java | 40 +++++++------------ .../FactOriginProjectLogDailyServiceImpl.java | 3 +- .../extract/FactOriginProjectLogDailyDao.xml | 21 ++++++++++ 5 files changed, 47 insertions(+), 30 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 9259e12463..84d24df675 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -569,10 +569,7 @@ public class DemoController { } @PostMapping("gridgovern") - public void gridGovern(){ - String customerId = "45687aa479955f9d06204d415238f7cc"; -// String customerId = "epmettest"; - String monthId = "202009"; + public void gridGovern(@RequestParam("customerId")String customerId,@RequestParam("monthId")String monthId){ calGridIndexService.calGridIndexGovernAbility(customerId,monthId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java index f53ef5b882..8e18ad5500 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectLogDailyDao.java @@ -74,6 +74,14 @@ public interface FactOriginProjectLogDailyDao extends BaseDao selectProjectAutoNoMy(@Param("customerId") String customerId,@Param("monthId") String monthId); + /** + * @Description 网格项目自治率查询 最新版 + * @Param customerId + * @Param monthId + * @author zxc + * @date 2021/4/12 上午10:46 + */ + List selectProjectAutoNoMyPlus(@Param("customerId") String customerId,@Param("monthId") String monthId); /** * 根据日期删除数据 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java index 106d4b3f97..c34abef435 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java @@ -254,21 +254,7 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { if (!CollectionUtils.isEmpty(projectAutoNoMyList)){ Map> groupByGrid = projectAutoNoMyList.stream().collect(Collectors.groupingBy(AutoNoMyResultDTO::getGridId)); groupByGrid.forEach((gridId,projectList) -> { - Map> groupByProject = projectList.stream().collect(Collectors.groupingBy(AutoNoMyResultDTO::getProjectId)); - AtomicReference autoSelf = new AtomicReference<>(true); - AtomicReference count = new AtomicReference<>(NumConstant.ZERO); - groupByProject.forEach((projectId,projects) -> { - String disposeGrid = projects.get(NumConstant.ZERO).getGridId(); - projects.forEach(p -> { - if (!disposeGrid.equals(p.getGridId())){ - autoSelf.set(false); - } - }); - if (autoSelf.get()) { - count.getAndSet(count.get() + NumConstant.ONE); - } - }); - autoMap.put(gridId,count.get()); + autoMap.put(gridId,projectList.size()); }); } //网格办结项目数 @@ -370,17 +356,21 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { }); } // 5. 网格内解决的项目的满意度 - resultSatisfactionScore.forEach((k, v) -> { - if (r.getGridId().equals(k)) { - r.setSatisfactionRatio(v); - } - }); + if (!CollectionUtils.isEmpty(resultSatisfactionScore)){ + resultSatisfactionScore.forEach((k, v) -> { + if (r.getGridId().equals(k)) { + r.setSatisfactionRatio(v); + } + }); + } // 6. 网格自治项目数 - autoMap.forEach((k, v) -> { - if (r.getGridId().equals(k)) { - r.setSelfSolveProjectCount(v); - } - }); + if (!CollectionUtils.isEmpty(autoMap)){ + autoMap.forEach((k, v) -> { + if (r.getGridId().equals(k)) { + r.setSelfSolveProjectCount(v); + } + }); + } }); delGovernAbility(customerId, monthId); List> resultList = ListUtils.partition(result, NumConstant.ONE_HUNDRED); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java index b710d08af5..9be7b9f44f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectLogDailyServiceImpl.java @@ -156,7 +156,8 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl selectProjectAutoNoMy(String customerId, String monthId) { - return baseDao.selectProjectAutoNoMy(customerId, monthId); +// return baseDao.selectProjectAutoNoMy(customerId, monthId); + return baseDao.selectProjectAutoNoMyPlus(customerId, monthId); } @Override diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index 1d5b5c6e79..03bc021fc8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -530,4 +530,25 @@ AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} + + + \ No newline at end of file From 1372bffd2f0d8f618f2e3ec2b95ac3c0efdecdae Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 12 Apr 2021 14:05:01 +0800 Subject: [PATCH 008/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=BB=E8=A1=A8?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E7=9B=B8=E5=85=B3sql=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E4=B8=BB=E8=A1=A8=E6=95=B0=E6=8D=AE=E6=8F=90=E5=8F=96?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactOriginProjectMainDailyDTO.java | 10 ++++ .../com/epmet/constant/ProjectConstant.java | 3 ++ .../FactOriginProjectMainDailyEntity.java | 10 ++++ .../impl/ProjectExtractServiceImpl.java | 49 ++++++++++++++----- .../FactOriginProjectCategoryDailyDao.xml | 5 +- .../extract/FactOriginProjectLogDailyDao.xml | 1 + .../extract/FactOriginProjectMainDailyDao.xml | 10 ++++ .../resources/mapper/project/ProjectDao.xml | 4 +- 8 files changed, 74 insertions(+), 18 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java index f24397f43d..9d1484b5f4 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactOriginProjectMainDailyDTO.java @@ -103,6 +103,16 @@ public class FactOriginProjectMainDailyDTO implements Serializable { */ private String agencyId; + /** + * 来源:议题issue + */ + private String origin; + + /** + * 来源ID + */ + private String originId; + /** * 状态 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java index eac79f016a..16530a61a2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -64,4 +64,7 @@ public interface ProjectConstant { String XIA_JI = "xiaji"; String GRID_ID = "GRID_ID"; String AGENCY_ID = "AGENCY_ID"; + + + String ISSUE = "issue"; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java index c570c4e453..35d0e46b8f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactOriginProjectMainDailyEntity.java @@ -103,6 +103,16 @@ public class FactOriginProjectMainDailyEntity extends BaseEpmetEntity { */ private String agencyId; + /** + * 来源:议题issue + */ + private String origin; + + /** + * 来源ID + */ + private String originId; + /** * 状态 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 8f1985b6be..77b4d843b8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -128,7 +128,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!CollectionUtils.isEmpty(projectList)) { //提取议题ID - List issueIds = projectList.stream().map(ProjectDTO::getOriginId).collect(Collectors.toList()); + List issueIds = + projectList.stream().filter(item -> ProjectConstant.ISSUE.equals(item.getOrigin())).map(ProjectDTO::getOriginId).collect(Collectors.toList()); //获取议题信息 List issueList = issueService.getIssueInfoByIds(issueIds); //提取话题ID @@ -144,18 +145,28 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { FactOriginProjectMainDailyEntity entity = new FactOriginProjectMainDailyEntity(); entity.setId(project.getId()); entity.setAgencyId(project.getAgencyId()); + entity.setOrigin(project.getOrigin()); + entity.setOriginId(project.getOriginId()); entity.setCustomerId(customerId); entity.setYearId(dimId.getYearId()); entity.setQuarterId(dimId.getQuarterId()); entity.setMonthId(dimId.getMonthId()); entity.setWeekId(dimId.getWeekId()); entity.setDateId(dimId.getDateId()); - entity.setIssueId(project.getOriginId()); + if (ProjectConstant.ISSUE.equals(project.getOrigin())) { + entity.setIssueId(project.getOriginId()); + } else { + entity.setIssueId(""); + } entity.setProjectStatus(project.getStatus()); entity.setIsResolved(project.getClosedStatus()); entity.setCreatedTime(project.getCreatedTime()); entity.setUpdatedTime(project.getUpdatedTime()); entity.setPids(project.getOrgIdPath()); + entity.setIssueCreatorId(""); + entity.setTopicId(""); + entity.setTopicCreatorId(""); + entity.setGridId(""); String[] pIds = project.getOrgIdPath().split(StrConstant.COLON); if (pIds.length > 1) { entity.setPid(pIds[pIds.length - 2]); @@ -168,17 +179,23 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setIsOverdue(NumConstant.ZERO_STR); return entity; }).collect(Collectors.toList()); - list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> { - entity.setIssueCreatorId(issue.getCreatedBy()); - entity.setTopicId(issue.getSourceId()); - })); - list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> { - entity.setTopicCreatorId(topic.getCreatedBy()); - entity.setGridId(topic.getGridId()); - })); - list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> { - entity.setIsParty(NumConstant.ONE_STR); - })); + if (CollectionUtils.isNotEmpty(issueList)) { + list.forEach(entity -> issueList.stream().filter(issueDTO -> issueDTO.getId().equals(entity.getIssueId())).forEach(issue -> { + entity.setIssueCreatorId(issue.getCreatedBy()); + entity.setTopicId(issue.getSourceId()); + })); + } + if (CollectionUtils.isNotEmpty(topicList)) { + list.forEach(entity -> topicList.stream().filter(topicDTO -> topicDTO.getId().equals(entity.getTopicId())).forEach(topic -> { + entity.setTopicCreatorId(topic.getCreatedBy()); + entity.setGridId(topic.getGridId()); + })); + } + if (CollectionUtils.isNotEmpty(partyMemberList)) { + list.forEach(entity -> partyMemberList.stream().filter(partyMemberDTO -> partyMemberDTO.getGridId().equals(entity.getGridId()) && partyMemberDTO.getUserId().equals(entity.getTopicCreatorId())).forEach(partyMember -> { + entity.setIsParty(NumConstant.ONE_STR); + })); + } list.forEach(entity -> finishOrgList.stream().filter(finish -> entity.getId().equals(finish.getProjectId())).forEach(dto -> { String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); String org = ""; @@ -228,6 +245,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgId(process.getGridId()); entity.setPid(process.getAgencyId()); }else{ + entity.setOrgType(OrgTypeConstant.AGENCY); + entity.setOrgId(process.getAgencyId()); if(!process.getPids().contains(StrConstant.COLON)){ entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); @@ -278,6 +297,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgId(process.getGridId()); entity.setPid(process.getAgencyId()); } else { + entity.setOrgType(OrgTypeConstant.AGENCY); + entity.setOrgId(process.getAgencyId()); if (!process.getPids().contains(StrConstant.COLON)) { entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); @@ -358,6 +379,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgId(process.getGridId()); entity.setPid(process.getAgencyId()); }else{ + entity.setOrgType(OrgTypeConstant.AGENCY); + entity.setOrgId(process.getAgencyId()); if(!process.getPids().contains(StrConstant.COLON)){ entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml index 7836274c05..03ea9ab75c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml @@ -27,11 +27,12 @@ count(1)as projectTotal FROM fact_origin_project_category_daily c - LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0') + LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '') WHERE c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} AND c.`LEVEL` = '2' + GROUP BY c.CUSTOMER_ID, c.CATEGORY_CODE, @@ -50,7 +51,7 @@ count(distinct c.project_id)as projectTotal FROM fact_origin_project_category_daily c - LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0') + LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '') WHERE c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index 03bc021fc8..7b2a4f9ae7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -388,6 +388,7 @@ WHERE fm.CUSTOMER_ID = #{customerId} AND fm.MONTH_ID = #{monthId} AND fm.PROJECT_STATUS = 'closed' + AND fm.GRID_ID != '' ) a GROUP BY GRID_ID diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index b9608e9ee3..a79b5ba233 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -97,6 +97,7 @@ fact_origin_project_main_daily WHERE DEL_FLAG = 0 + AND GRID_ID != '' AND PROJECT_STATUS = #{status} AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} @@ -121,6 +122,7 @@ fact_origin_project_main_daily t1 WHERE t1.DEL_FLAG = '0' + AND t1.TOPIC_CREATOR_ID != '' AND t1.CUSTOMER_ID = #{customerId} AND t1.MONTH_ID = #{monthId} AND ISNULL(T1.TOPIC_CREATOR_ID)=0 @@ -269,6 +271,7 @@ fact_origin_project_main_daily fm WHERE fm.PROJECT_STATUS = 'close' + AND fm.GRID_ID != '' AND fm.CUSTOMER_ID = #{customerId} AND fm.MONTH_ID = #{monthId} GROUP BY @@ -281,6 +284,7 @@ fact_origin_project_main_daily fm WHERE fm.PROJECT_STATUS = 'close' + AND fm.GRID_ID != '' AND fm.CUSTOMER_ID = #{customerId} AND fm.MONTH_ID = #{monthId} AND fm.IS_RESOLVED = 'resolved' @@ -297,6 +301,7 @@ 1=1 AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} + AND GRID_ID != '' GROUP BY GRID_ID @@ -506,6 +513,7 @@ WHERE DEL_FLAG = 0 AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} + AND GRID_ID != '' GROUP BY GRID_ID @@ -518,6 +526,7 @@ WHERE DEL_FLAG = 0 AND CUSTOMER_ID = #{customerId} AND MONTH_ID #{monthId} + AND GRID_ID != '' AND PROJECT_STATUS != 'closed' @@ -538,6 +547,7 @@ AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} AND PROJECT_STATUS = 'closed' + AND GRID_ID != '' GROUP BY GRID_ID diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index ec1cf07215..790c464b60 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -24,7 +24,6 @@ FROM project WHERE DEL_FLAG = '0' - AND ORIGIN = 'issue' AND STATUS = 'closed' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') #{date} @@ -41,7 +40,6 @@ FROM project WHERE DEL_FLAG = '0' - AND ORIGIN = 'issue' AND STATUS = 'closed' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(UPDATED_TIME, '%Y-%m-%d') = #{date} @@ -81,6 +79,7 @@ ID, CUSTOMER_ID, AGENCY_ID, + ORIGIN, ORIGIN_ID, STATUS, CLOSED_STATUS, @@ -90,7 +89,6 @@ FROM project WHERE DEL_FLAG = '0' - AND ORIGIN = 'issue' AND CUSTOMER_ID = #{customerId} AND DATE_FORMAT(CREATED_TIME, '%Y%m%d') = #{date} From 7ab3abc55506a65bf6cdc625de8f2e231ca3f6ad Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 12 Apr 2021 14:22:52 +0800 Subject: [PATCH 009/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=BB=E8=A1=A8?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE=E6=9D=A5=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.11__add_origin.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql new file mode 100644 index 0000000000..e39c443e3f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql @@ -0,0 +1,3 @@ +ALTER TABLE `fact_origin_project_main_daily` + ADD COLUMN `ORIGIN` varchar(32) NULL COMMENT '项目来源 来源:议题issue 组织agency' AFTER `AGENCY_ID`, + ADD COLUMN `ORIGIN_ID` varchar(64) NULL COMMENT '项目来源ID' AFTER `ORIGIN`; \ No newline at end of file From a44cca13c424f3358faa170342b67c01eb83583e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 12 Apr 2021 14:49:23 +0800 Subject: [PATCH 010/121] =?UTF-8?q?=E6=96=B0=E5=A2=9Ecustomer=5Forg=5Fpara?= =?UTF-8?q?meter;=E4=BF=AE=E6=94=B9/gov/org/agency/agencydetail=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E4=BF=AE=E6=94=B9=E6=B7=BB=E5=8A=A0=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=20=E6=B7=BB=E5=8A=A0=E9=83=A8=E9=97=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govorg/CustomerAgencyDTO.java | 22 +++- .../entity/govorg/CustomerAgencyEntity.java | 16 ++- .../govorg/CustomerDepartmentEntity.java | 4 + .../entity/org/CustomerAgencyEntity.java | 16 ++- .../java/com/epmet/dto/CustomerAgencyDTO.java | 22 +++- .../epmet/dto/CustomerOrgParameterDTO.java | 96 +++++++++++++++ .../epmet/dto/result/AgencysResultDTO.java | 21 +++- .../constant/CustomerAgencyConstant.java | 9 ++ .../epmet/dao/CustomerOrgParameterDao.java | 43 +++++++ .../epmet/entity/CustomerAgencyEntity.java | 16 ++- .../entity/CustomerDepartmentEntity.java | 4 + .../entity/CustomerOrgParameterEntity.java | 66 ++++++++++ .../service/CustomerOrgParameterService.java | 104 ++++++++++++++++ .../epmet/service/impl/AgencyServiceImpl.java | 10 +- .../service/impl/CustomerGridServiceImpl.java | 5 + .../impl/CustomerOrgParameterServiceImpl.java | 116 ++++++++++++++++++ .../service/impl/DepartmentServiceImpl.java | 3 + .../mapper/CustomerOrgParameterDao.xml | 14 +++ 18 files changed, 562 insertions(+), 25 deletions(-) create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerOrgParameterDTO.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerOrgParameterDao.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerOrgParameterEntity.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerOrgParameterService.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerOrgParameterServiceImpl.java create mode 100644 epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerOrgParameterDao.xml diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java index 4b98fb899f..cea8221c31 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java @@ -114,17 +114,17 @@ public class CustomerAgencyDTO implements Serializable { private Integer totalUser; /** - * 省份 + * 区域编码字典中的【省份】名称 */ - private String province; + private String province; /** - * 城市 + * 区域编码字典中的【城市】名称 */ - private String city; - + private String city; + /** - * 区县 + * 区域编码字典中的【区县】名称 */ private String district; @@ -132,4 +132,14 @@ public class CustomerAgencyDTO implements Serializable { * 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701 */ private String parentAreaCode; + + /** + * 区域编码字典中的【街道】名称0409 + */ + private String street; + + /** + * 区域编码字典中的【社区】名称0409 + */ + private String community; } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java index 79f226ca2f..b12cd2112a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java @@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private Integer totalUser; /** - * 省份 + * 区域编码字典中的【省份】名称 */ private String province; /** - * 城市 + * 区域编码字典中的【城市】名称 */ private String city; /** - * 区县 + * 区域编码字典中的【区县】名称 */ private String district; @@ -98,4 +98,14 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { * 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701 */ private String parentAreaCode; + + /** + * 区域编码字典中的【街道】名称0409 + */ + private String street; + + /** + * 区域编码字典中的【社区】名称0409 + */ + private String community; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java index c0d80a3d9f..74d4ceddc9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerDepartmentEntity.java @@ -60,4 +60,8 @@ public class CustomerDepartmentEntity extends BaseEpmetEntity { */ private Integer totalUser; + /** + * 部门所属的行政地区编码:实际就是所属组织的地区编码 + */ + private String areaCode; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java index eaf0c0d52a..4f5f964710 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java @@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private Integer totalUser; /** - * 省份 + * 区域编码字典中的【省份】名称 */ private String province; /** - * 城市 + * 区域编码字典中的【城市】名称 */ private String city; /** - * 区县 + * 区域编码字典中的【区县】名称 */ private String district; @@ -98,4 +98,14 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { * 当前组织的上级行政地区编码add0204;举例平阴县370124对应的是济南市3701 */ private String parentAreaCode; + + /** + * 区域编码字典中的【街道】名称0409 + */ + private String street; + + /** + * 区域编码字典中的【社区】名称0409 + */ + private String community; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java index ea30dbd600..5a7ad8fc85 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java @@ -114,17 +114,17 @@ public class CustomerAgencyDTO implements Serializable { private Integer totalUser; /** - * 省份 + * 区域编码字典中的【省份】名称 */ - private String province; + private String province; /** - * 城市 + * 区域编码字典中的【城市】名称 */ - private String city; - + private String city; + /** - * 区县 + * 区域编码字典中的【区县】名称 */ private String district; @@ -132,4 +132,14 @@ public class CustomerAgencyDTO implements Serializable { * 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701 */ private String parentAreaCode; + + /** + * 区域编码字典中的【街道】名称0409 + */ + private String street; + + /** + * 区域编码字典中的【社区】名称0409 + */ + private String community; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerOrgParameterDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerOrgParameterDTO.java new file mode 100644 index 0000000000..8710b66d01 --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerOrgParameterDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 客户组织相关参数表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-12 + */ +@Data +public class CustomerOrgParameterDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 客户ID + */ + private String customerId; + + /** + * 参数键 eg:area_code_switch + */ + private String parameterKey; + + /** + * 参数名 eg:是否开启区域编码 + */ + private String parameterName; + + /** + * 参数值 eg:开启:open;关闭:closed + */ + private String parameterValue; + + /** + * 参数说明 eg:open:当前客户新增组织需要选择areaCode;closed: 无需选择区域编码 + */ + private String description; + + /** + * 删除标志 0:未删除,1:已删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java index 4b819ec2b5..3dd448de95 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java @@ -58,17 +58,17 @@ public class AgencysResultDTO implements Serializable { private String areaCode = ""; /** - * 省份 + * 区域编码字典中的【省份】名称 */ private String province = ""; /** - * 城市 + * 区域编码字典中的【城市】名称 */ private String city = ""; /** - * 区县 + * 区域编码字典中的【区县】名称 */ private String district = ""; @@ -76,4 +76,19 @@ public class AgencysResultDTO implements Serializable { * 本机关的所有上级机关 */ private List parentList; + + /** + * 区域编码字典中的【街道】名称0409 + */ + private String street; + + /** + * 区域编码字典中的【社区】名称0409 + */ + private String community; + + /** + * open: 选择地区编码必填;closed: 无需选择地区编码;;0409新增返参 + */ + private String areaCodeSwitch; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java index da89288f00..3853a0272d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java @@ -71,4 +71,13 @@ public interface CustomerAgencyConstant { * 获取工作人员组织信息失败 */ String SELECT_STAFF_AGENCY_EXCEPTION = "获取工作人员组织信息失败"; + + /** + * 参数(area_code_switch)值open: 选择地区编码必填;closed: + */ + String AREA_CODE_SWITCH="area_code_switch"; + + String AREA_CODE_SWITCH_CLOSED="closed"; + + String AREA_CODE_SWITCH_OPEN="open"; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerOrgParameterDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerOrgParameterDao.java new file mode 100644 index 0000000000..ccbde93bda --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerOrgParameterDao.java @@ -0,0 +1,43 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.entity.CustomerOrgParameterEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 客户组织相关参数表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-12 + */ +@Mapper +public interface CustomerOrgParameterDao extends BaseDao { + + /** + * @return com.epmet.entity.CustomerOrgParameterEntity + * @param customerId + * @param parameterKey + * @author yinzuomei + * @description 根据customerId查询参数(area_code_switch)值 + * @Date 2021/4/12 14:26 + **/ + CustomerOrgParameterEntity selectByCustomerId(@Param("customerId") String customerId, @Param("parameterKey") String parameterKey); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java index 5306281a03..91852ac516 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java @@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private Integer totalUser; /** - * 省份 + * 区域编码字典中的【省份】名称 */ private String province; /** - * 城市 + * 区域编码字典中的【城市】名称 */ private String city; /** - * 区县 + * 区域编码字典中的【区县】名称 */ private String district; @@ -98,4 +98,14 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { * 当前组织的上级行政地区编码add0204;举例平阴县对应的是济南市3701 */ private String parentAreaCode; + + /** + * 区域编码字典中的【街道】名称0409 + */ + private String street; + + /** + * 区域编码字典中的【社区】名称0409 + */ + private String community; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerDepartmentEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerDepartmentEntity.java index ba9b1ddcd5..cb54609d3f 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerDepartmentEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerDepartmentEntity.java @@ -60,4 +60,8 @@ public class CustomerDepartmentEntity extends BaseEpmetEntity { */ private Integer totalUser; + /** + * 部门所属的行政地区编码:实际就是所属组织的地区编码 + */ + private String areaCode; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerOrgParameterEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerOrgParameterEntity.java new file mode 100644 index 0000000000..489118f7c8 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerOrgParameterEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 客户组织相关参数表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-12 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("customer_org_parameter") +public class CustomerOrgParameterEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 参数键 eg:area_code_switch + */ + private String parameterKey; + + /** + * 参数名 eg:是否开启区域编码 + */ + private String parameterName; + + /** + * 参数值 eg:开启:open;关闭:closed + */ + private String parameterValue; + + /** + * 参数说明 eg:open:当前客户新增组织需要选择areaCode;closed: 无需选择区域编码 + */ + private String description; + +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerOrgParameterService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerOrgParameterService.java new file mode 100644 index 0000000000..a57bdc26a1 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerOrgParameterService.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.CustomerOrgParameterDTO; +import com.epmet.entity.CustomerOrgParameterEntity; + +import java.util.List; +import java.util.Map; + +/** + * 客户组织相关参数表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-12 + */ +public interface CustomerOrgParameterService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2021-04-12 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2021-04-12 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return CustomerOrgParameterDTO + * @author generator + * @date 2021-04-12 + */ + CustomerOrgParameterDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-12 + */ + void save(CustomerOrgParameterDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2021-04-12 + */ + void update(CustomerOrgParameterDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2021-04-12 + */ + void delete(String[] ids); + + /** + * @return java.lang.String + * @param customerId + * @author yinzuomei + * @description 根据customerId查询参数(area_code_switch)值open: 选择地区编码必填;closed: 无需选择地区编码;;0409新增返参;没配置,返回closed + * @Date 2021/4/12 14:23 + **/ + String getAreaCodeSwitch(String customerId); +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index f507af7c29..69f88e0dd3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -37,6 +37,7 @@ import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; +import com.epmet.service.CustomerOrgParameterService; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,7 +46,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; /** * 机关单位信息 @@ -70,6 +74,9 @@ public class AgencyServiceImpl implements AgencyService { private CustomerGridDao customerGridDao; @Autowired private LoginUserUtil loginUserUtil; + @Autowired + private CustomerOrgParameterService customerOrgParameterService; + /** * @param formDTO * @return @@ -235,6 +242,7 @@ public class AgencyServiceImpl implements AgencyService { List listStr = Arrays.asList(entity.getPids().split(":")); parentList = customerAgencyDao.selectPAgencyById(listStr); agencysResultDTO.setParentList(parentList); + agencysResultDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(entity.getCustomerId())); return new Result().ok(agencysResultDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 8302b1252f..81ef5efbb6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; @@ -244,6 +245,10 @@ public class CustomerGridServiceImpl extends BaseServiceImpl + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.constant.CustomerAgencyConstant; +import com.epmet.dao.CustomerOrgParameterDao; +import com.epmet.dto.CustomerOrgParameterDTO; +import com.epmet.entity.CustomerOrgParameterEntity; +import com.epmet.service.CustomerOrgParameterService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 客户组织相关参数表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-04-12 + */ +@Service +public class CustomerOrgParameterServiceImpl extends BaseServiceImpl implements CustomerOrgParameterService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, CustomerOrgParameterDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, CustomerOrgParameterDTO.class); + } + + private QueryWrapper getWrapper(Map params){ + String id = (String)params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public CustomerOrgParameterDTO get(String id) { + CustomerOrgParameterEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, CustomerOrgParameterDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(CustomerOrgParameterDTO dto) { + CustomerOrgParameterEntity entity = ConvertUtils.sourceToTarget(dto, CustomerOrgParameterEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(CustomerOrgParameterDTO dto) { + CustomerOrgParameterEntity entity = ConvertUtils.sourceToTarget(dto, CustomerOrgParameterEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + /** + * @param customerId + * @return java.lang.String + * @author yinzuomei + * @description 根据customerId查询参数(area_code_switch)值open: 选择地区编码必填;closed: 无需选择地区编码;;0409新增返参;没配置,返回closed + * @Date 2021/4/12 14:23 + **/ + @Override + public String getAreaCodeSwitch(String customerId) { + CustomerOrgParameterEntity entity = baseDao.selectByCustomerId(customerId, CustomerAgencyConstant.AREA_CODE_SWITCH); + if (null == entity || StringUtils.isBlank(entity.getParameterValue())) { + return CustomerAgencyConstant.AREA_CODE_SWITCH_CLOSED; + } + return entity.getParameterValue(); + } + +} \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java index 5b53e49d0b..41d87332ed 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/DepartmentServiceImpl.java @@ -18,6 +18,7 @@ package com.epmet.service.impl; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.dto.TokenDto; @@ -90,6 +91,8 @@ public class DepartmentServiceImpl implements DepartmentService { //1:查询当前组织机构信息,获取客户Id CustomerAgencyEntity parentEntity = customerAgencyDao.selectById(formDTO.getAgencyId()); entity.setCustomerId(parentEntity.getCustomerId()); + //新增area_code,部门的area_code=所属组织的area_code + entity.setAreaCode(null!=parentEntity&&StringUtils.isNotBlank(parentEntity.getAreaCode())?parentEntity.getAreaCode(): StrConstant.EPMETY_STR); //2:保存部门信息 if (customerDepartmentDao.insert(entity) < NumConstant.ONE) { log.error(CustomerDepartmentConstant.SAVE_EXCEPTION); diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerOrgParameterDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerOrgParameterDao.xml new file mode 100644 index 0000000000..7e5cc8da13 --- /dev/null +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerOrgParameterDao.xml @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file From 46d849f087d3061c4b0a98d701e3b63e2efca10e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 12 Apr 2021 14:51:09 +0800 Subject: [PATCH 011/121] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E6=96=B0=E5=A2=9Earea=5Fcode=EF=BC=8Cdb=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.4__area_code.sql | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql index 6ad37df868..40b002fab6 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql @@ -20,4 +20,5 @@ alter table customer_agency MODIFY COLUMN PROVINCE VARCHAR(32) COMMENT '区域 alter table customer_agency MODIFY COLUMN CITY VARCHAR(32) COMMENT '区域编码字典中的【城市】名称'; alter table customer_agency MODIFY COLUMN DISTRICT VARCHAR(64) COMMENT '区域编码字典中的【区县】名称'; alter table customer_agency add COLUMN STREET varchar(64) comment '区域编码字典中的【街道】名称0409' AFTER DISTRICT; -alter table customer_agency add COLUMN COMMUNITY varchar(64) comment '区域编码字典中的【社区】名称0409'AFTER STREET; \ No newline at end of file +alter table customer_agency add COLUMN COMMUNITY varchar(64) comment '区域编码字典中的【社区】名称0409'AFTER STREET; +alter table customer_department add COLUMN AREA_CODE VARCHAR(64) comment '部门所属的行政地区编码:实际就是所属组织的地区编码' BEFORE DEL_FLAG; \ No newline at end of file From 95401d69e7066419e84610703639917d773c7d40 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 12 Apr 2021 14:53:33 +0800 Subject: [PATCH 012/121] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E5=8A=9E=E7=BB=93?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectMainDailyDao.java | 4 ++-- .../dataToIndex/impl/CalGridIndexServiceImpl.java | 2 +- .../todata/FactOriginProjectMainDailyService.java | 4 ++-- .../FactOriginProjectMainDailyServiceImpl.java | 9 ++++++--- .../extract/FactOriginProjectMainDailyDao.xml | 14 +++++++++----- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java index 086c2e4b61..b5a192caa3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java @@ -72,13 +72,13 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectGridClosedProject(@Param("customerId") String customerId,@Param("monthId") String monthId,@Param("status") String status); + List selectGridClosedProject(@Param("gridIds") List gridIds,@Param("monthId") String monthId,@Param("status") String status); List selectTransferRightRatio(@Param("customerId")String customerId, @Param("monthId")String monthId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java index c34abef435..dde09decc5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java @@ -258,7 +258,7 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { }); } //网格办结项目数 - List gridProjectClosedTotalList = projectMainService.selectGridClosedProject(customerId, monthId, ExtractConstant.CLOSED); + List gridProjectClosedTotalList = projectMainService.selectGridClosedProject(result.stream().map(m -> m.getGridId()).collect(Collectors.toList()), monthId, ExtractConstant.CLOSED); //网格吹哨部门准确率 【没被退回的项目数/项目总数 】 List transferRightRatioResultDTOS = projectMainService.selectTransferRightRatio(customerId, monthId); List transferRightRatioResultDTOS1 = projectLogService.selectNotReturn(customerId, monthId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index ea44540cd9..5185b0a07d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -121,13 +121,13 @@ public interface FactOriginProjectMainDailyService extends BaseService selectGridClosedProject(String customerId,String monthId,String status); + List selectGridClosedProject(List gridIds,String monthId,String status); List selectTransferRightRatio(String customerId,String monthId); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 7f9d220602..c2fb24eafb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -135,15 +135,18 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl selectGridClosedProject(String customerId, String monthId, String status) { - return baseDao.selectGridClosedProject(customerId, monthId,status); + public List selectGridClosedProject(List gridIds, String monthId, String status) { + if (CollectionUtils.isEmpty(gridIds)){ + return new ArrayList<>(); + } + return baseDao.selectGridClosedProject(gridIds, monthId,status); } @Override diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index a79b5ba233..aaa632d657 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -92,16 +92,20 @@ DELETE FROM From ab371e04ec8ba7a76ea370d60397562bfc8453a9 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Mon, 12 Apr 2021 15:15:20 +0800 Subject: [PATCH 013/121] =?UTF-8?q?=E5=A4=87=E6=B3=A8=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/dataToIndex/impl/CalGridIndexServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java index dde09decc5..fc3c7532d1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/CalGridIndexServiceImpl.java @@ -285,9 +285,11 @@ public class CalGridIndexServiceImpl implements CalGridIndexService { List projectEvaluateList = projectLogService.selectProjectEvaluate(customerId, monthId); Map resultSatisfactionScore = new HashMap<>(16); if (!CollectionUtils.isEmpty(projectEvaluateList)){ + // 根据网格分组 Map> groupByGrid = projectEvaluateList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getGridId)); groupByGrid.forEach((gridId,projectEvaluateInfoList) -> { Map scoreMap = new HashMap<>(16); + // 根据项目分组 Map> groupByProject = projectEvaluateInfoList.stream().collect(Collectors.groupingBy(ProjectEvaluateResultDTO::getProjectId)); groupByProject.forEach((projectId,projectList) -> { projectList.forEach(project -> { From b237654f1dba2ee89d016e3e481b9b2afca743cd Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Mon, 12 Apr 2021 15:42:19 +0800 Subject: [PATCH 014/121] =?UTF-8?q?agencydetail=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=BF=94=E5=8F=82areaName?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/result/AgencysResultDTO.java | 5 ++++ .../constant/CustomerAgencyConstant.java | 9 ++++++++ .../epmet/service/impl/AgencyServiceImpl.java | 23 +++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java index 3dd448de95..a3c7bf0413 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java @@ -91,4 +91,9 @@ public class AgencysResultDTO implements Serializable { * open: 选择地区编码必填;closed: 无需选择地区编码;;0409新增返参 */ private String areaCodeSwitch; + + /** + * 组织区划的名称 + */ + private String areaName; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java index 3853a0272d..d738d662f8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/constant/CustomerAgencyConstant.java @@ -26,6 +26,15 @@ public interface CustomerAgencyConstant { * 机关级别-市级 */ String CITY_LEVEL = "city"; + + // 社区级:community, + String COMMUNITY_LEVEL="community"; + + // 乡(镇、街道)级:street, + String STREET_LEVEL="street"; + + // 区县级: district, + String DISTRICT="district"; /** * 市级名称不能为空 */ diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 69f88e0dd3..7e5f4b2831 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.security.user.LoginUserUtil; @@ -243,6 +244,28 @@ public class AgencyServiceImpl implements AgencyService { parentList = customerAgencyDao.selectPAgencyById(listStr); agencysResultDTO.setParentList(parentList); agencysResultDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(entity.getCustomerId())); + //查询组织区划的名称 + if (null != entity && StringUtils.isNotBlank(entity.getAreaCode())) { + switch (entity.getLevel()) { + case CustomerAgencyConstant.PROVINCE_LEVEL: + agencysResultDTO.setAgencyName(entity.getProvince()); + break; + case CustomerAgencyConstant.CITY_LEVEL: + agencysResultDTO.setAgencyName(entity.getCity()); + break; + case CustomerAgencyConstant.DISTRICT: + agencysResultDTO.setAgencyName(entity.getDistrict()); + break; + case CustomerAgencyConstant.STREET_LEVEL: + agencysResultDTO.setAgencyName(entity.getStreet()); + break; + case CustomerAgencyConstant.COMMUNITY_LEVEL: + agencysResultDTO.setAgencyName(entity.getCommunity()); + break; + default: + agencysResultDTO.setAgencyName(StrConstant.EPMETY_STR); + } + } return new Result().ok(agencysResultDTO); } From e69aa0f838b72981a2ff3f40faa72196446d0019 Mon Sep 17 00:00:00 2001 From: zhangyongzhangyong <2012005003@qq.coom> Date: Mon, 12 Apr 2021 16:58:11 +0800 Subject: [PATCH 015/121] =?UTF-8?q?[=E5=AE=9A=E5=88=B6=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20]=20=E8=A1=A8=E5=A2=9E=E5=8A=A0IS=5FDOMAIN=5FNAME=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/dto/CustomizedDTO.java | 5 +++++ .../dto/form/SaveFunctionCustomizedFormDTO.java | 7 ++++++- .../epmet/dto/form/UpdateCustomizedFormDTO.java | 7 ++++++- .../com/epmet/dto/result/CustomerResultDTO.java | 4 ++++ .../FunctionCustomizedDetailResultDTO.java | 5 +++++ .../FunctionCustomizedController.java | 11 ++++++++++- .../epmet/entity/FunctionCustomizedEntity.java | 5 +++++ .../impl/FunctionCustomizedServiceImpl.java | 17 ++++++++--------- .../mapper/CustomerFunctionDetailDao.xml | 3 ++- .../resources/mapper/FunctionCustomizedDao.xml | 9 +++++++-- 10 files changed, 58 insertions(+), 15 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomizedDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomizedDTO.java index aa54ed57bf..e9c924f24c 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomizedDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/CustomizedDTO.java @@ -64,4 +64,9 @@ public class CustomizedDTO implements Serializable { * 来源app(政府端:gov、居民端:resi) */ private String fromApp; + + /** + * 业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填. + */ + private String isDomainName; } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveFunctionCustomizedFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveFunctionCustomizedFormDTO.java index 20d3fd5298..e9fbe3c0ed 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveFunctionCustomizedFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/SaveFunctionCustomizedFormDTO.java @@ -61,7 +61,6 @@ public class SaveFunctionCustomizedFormDTO implements Serializable { /** * 业务域名(https;//... 无端口号) */ - @NotBlank(message = "业务域名(https;//... 无端口号)不能为空") private String domainName; /** @@ -69,4 +68,10 @@ public class SaveFunctionCustomizedFormDTO implements Serializable { */ @NotBlank(message = "来源app(工作端:gov、居民端:resi)不能为空") private String fromApp; + + /** + * 业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填. + */ + @NotBlank(message = "业务域名是否必填标识不能为空") + private String isDomainName; } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/UpdateCustomizedFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/UpdateCustomizedFormDTO.java index ec690c3a49..1af9144c50 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/UpdateCustomizedFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/UpdateCustomizedFormDTO.java @@ -61,7 +61,6 @@ public class UpdateCustomizedFormDTO implements Serializable { /** * 业务域名 */ - @NotBlank(message = "业务域名不能为空") private String domainName; /** @@ -69,4 +68,10 @@ public class UpdateCustomizedFormDTO implements Serializable { */ @NotBlank(message = "来源app(工作端:gov、居民端:resi)不能为空") private String fromApp; + + /** + * 业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填. + */ + @NotBlank(message = "业务域名是否必填标识不能为空") + private String isDomainName; } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerResultDTO.java index 3c993374b3..162ce43cd0 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerResultDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/CustomerResultDTO.java @@ -71,4 +71,8 @@ public class CustomerResultDTO implements Serializable { */ private String functionExplain; + /** + * 业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填. + */ + private String isDomainName; } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionCustomizedDetailResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionCustomizedDetailResultDTO.java index e232ce5f2f..8595c2e20c 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionCustomizedDetailResultDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/FunctionCustomizedDetailResultDTO.java @@ -63,4 +63,9 @@ public class FunctionCustomizedDetailResultDTO implements Serializable { * 是否有客户在使用(0:否 1:是) */ private Integer isApply; + + /** + * 业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填. + */ + private String isDomainName; } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java index 8326a0a528..f217afd16c 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/FunctionCustomizedController.java @@ -17,6 +17,8 @@ package com.epmet.controller; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; @@ -31,6 +33,7 @@ import com.epmet.dto.result.FunctionCustomizedDetailResultDTO; import com.epmet.dto.result.FunctionCustomizedListResultDTO; import com.epmet.excel.FunctionCustomizedExcel; import com.epmet.service.FunctionCustomizedService; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -105,6 +108,9 @@ public class FunctionCustomizedController { @PostMapping("savefunctioncustomized") public Result saveFunctionCustomized(@RequestBody SaveFunctionCustomizedFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); + if (NumConstant.ONE_STR.equals(formDTO.getIsDomainName()) && StringUtils.isBlank(formDTO.getDomainName())) { + throw new RenException("业务域名为空!"); + } functionCustomizedService.saveFunctionCustomized(formDTO); return new Result(); } @@ -142,7 +148,7 @@ public class FunctionCustomizedController { /** * 定制功能修改 - * 有客户在使用该功能时则不允许修改上下架状态、业务域名和外链地址、所属端app, + * 有客户在使用该功能时则不允许修改上下架状态、业务域名、业务域名是否必填标识(2021-04-12日追加)和外链地址、所属端app, * 只能修改功能名称和大小图标、功能说明 * 修改的要判断是否有客户在使用,有用的要批量更新已使用客户数据 * @@ -154,6 +160,9 @@ public class FunctionCustomizedController { @PostMapping("updatecustomized") public Result updateCustomized(@RequestBody UpdateCustomizedFormDTO formDTO){ ValidatorUtils.validateEntity(formDTO); + if (NumConstant.ONE_STR.equals(formDTO.getIsDomainName()) && StringUtils.isBlank(formDTO.getDomainName())) { + throw new RenException("业务域名为空!"); + } return functionCustomizedService.updateCustomized(formDTO); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/FunctionCustomizedEntity.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/FunctionCustomizedEntity.java index 45983b12b0..23aace2a98 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/FunctionCustomizedEntity.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/entity/FunctionCustomizedEntity.java @@ -73,4 +73,9 @@ public class FunctionCustomizedEntity extends BaseEpmetEntity { */ private String fromApp; + /** + * 业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填. + */ + private String isDomainName; + } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java index 9a7a1dc122..4134eed6ac 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/FunctionCustomizedServiceImpl.java @@ -139,6 +139,7 @@ public class FunctionCustomizedServiceImpl extends BaseServiceImpl FROM_APP = #{fromApp}, + + IS_DOMAIN_NAME = #{isDomainName}, + UPDATED_TIME = now() WHERE DEL_FLAG = '0' From 11574ab7b7d8d4d25aff7374d883ae555772e0c2 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Mon, 12 Apr 2021 17:15:48 +0800 Subject: [PATCH 016/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/feign/GovIssueOpenFeignClient.java | 10 +- .../GovIssueOpenFeignClientFallBack.java | 5 + .../IssueProjectCategoryDictController.java | 12 + .../dao/IssueProjectCategoryDictDao.java | 6 + .../com/epmet/dao/IssueProjectTagDictDao.java | 7 + .../IssueProjectCategoryDictService.java | 8 + .../IssueProjectCategoryDictServiceImpl.java | 27 +- .../mapper/IssueProjectCategoryDictDao.xml | 17 + .../mapper/IssueProjectTagDictDao.xml | 15 + .../main/java/com/epmet/dto/ProjectDTO.java | 2 +- .../com/epmet/constant/ProjectConstant.java | 8 + .../controller/ProjectTraceController.java | 12 + .../java/com/epmet/entity/ProjectEntity.java | 2 +- .../epmet/service/ProjectTraceService.java | 7 + .../service/impl/ProjectTraceServiceImpl.java | 350 +++++++++++++++++- 15 files changed, 473 insertions(+), 15 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java index eeccc8d836..2977849e22 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/GovIssueOpenFeignClient.java @@ -222,7 +222,7 @@ public interface GovIssueOpenFeignClient { * @author sun **/ @PostMapping(value = "/gov/issue/issueprojectcategorydict/getprojectandcategoryinfo") - Result getProjectAndCategoryInfo(ProjectSaveCategoryFormDTO formDTO); + Result getProjectAndCategoryInfo(@RequestBody ProjectSaveCategoryFormDTO formDTO); /** * @Description 更新标签热度 数据库/缓存 @@ -293,4 +293,12 @@ public interface GovIssueOpenFeignClient { @PostMapping(value = "/gov/issue/manage/votingissuedetail") Result votingissuedetail(@RequestBody IssueDetailFormDTO issueDetail); + + /** + * @param formDTO + * @Description 根据分类、标签Id集合查询对应数据信息 + * @Author sun + **/ + @PostMapping(value = "/gov/issue/issueprojectcategorydict/getcategorytaglist") + Result getCategoryTagList(@RequestBody CategoryTagListFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java index 9ce37add49..d8cc8c9d92 100644 --- a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/feign/fallback/GovIssueOpenFeignClientFallBack.java @@ -251,4 +251,9 @@ public class GovIssueOpenFeignClientFallBack implements GovIssueOpenFeignClient public Result votingissuedetail(IssueDetailFormDTO issueDetail) { return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "votingissuedetail", issueDetail); } + + @Override + public Result getCategoryTagList(CategoryTagListFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.GOV_ISSUE_SERVER, "getCategoryTagList", formDTO); + } } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java index c4080d0f10..b28f0b352d 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java @@ -32,6 +32,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.IssueProjectCategoryDictDTO; import com.epmet.dto.form.*; +import com.epmet.dto.result.CategoryTagResultDTO; import com.epmet.dto.result.CustomerCategoryListResultDTO; import com.epmet.dto.result.CustomerCategoryResultDTO; import com.epmet.dto.result.ProjectIssueCategoryResultDTO; @@ -256,5 +257,16 @@ public class IssueProjectCategoryDictController { } return new Result>().ok(issueProjectCategoryDictService.customerCategoryList(map.get(FieldConstant.CUSTOMER_ID_HUMP))); } + + /** + * @param formDTO + * @Description 根据分类、标签Id集合查询对应数据信息 + * @Author sun + **/ + @PostMapping("getcategorytaglist") + public Result getCategoryTagList(@RequestBody CategoryTagListFormDTO formDTO) { + return new Result().ok(issueProjectCategoryDictService.getCategoryTagList(formDTO)); + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java index ff49f564b1..f9be70d073 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java @@ -167,4 +167,10 @@ public interface IssueProjectCategoryDictDao extends BaseDao getCategoryList(@Param("customerId") String customerId, @Param("categoryIdList") List categoryIdList); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java index 45fa05d7cf..690e5ce73f 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.IssueProjectTagDictDTO; import com.epmet.dto.form.IsDisableCategoryFormDTO; import com.epmet.dto.form.IssueTagFormDTO; import com.epmet.dto.result.IssueCategoryTagResultDTO; @@ -140,4 +141,10 @@ public interface IssueProjectTagDictDao extends BaseDao getTagList(@Param("customerId") String customerId, @Param("tagIdList") List categoryIdList); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java index 639888bc23..00ebcc18ca 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java @@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.IssueProjectCategoryDictDTO; import com.epmet.dto.form.*; +import com.epmet.dto.result.CategoryTagResultDTO; import com.epmet.dto.result.CustomerCategoryListResultDTO; import com.epmet.dto.result.CustomerCategoryResultDTO; import com.epmet.dto.result.ProjectIssueCategoryResultDTO; @@ -208,4 +209,11 @@ public interface IssueProjectCategoryDictService extends BaseService customerCategoryList(String customerId); + + /** + * @param formDTO + * @Description 根据分类、标签Id集合查询对应数据信息 + * @Author sun + **/ + CategoryTagResultDTO getCategoryTagList(CategoryTagListFormDTO formDTO); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java index 62d39412c3..b2f0c63790 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java @@ -31,10 +31,7 @@ import com.epmet.dao.IssueCategoryDao; import com.epmet.dao.IssueProjectCategoryDictDao; import com.epmet.dao.IssueProjectRelationDao; import com.epmet.dao.IssueProjectTagDictDao; -import com.epmet.dto.IssueCategoryDTO; -import com.epmet.dto.IssueDTO; -import com.epmet.dto.IssueProjectCategoryDictDTO; -import com.epmet.dto.ProjectCategoryDTO; +import com.epmet.dto.*; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.IssueProjectCategoryDictEntity; @@ -450,4 +447,26 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl categoryList = baseDao.getCategoryList(formDTO.getCustomerId(), formDTO.getCategoryIdList()); + resultDTO.setCategoryList(categoryList); + } + //2.批量查询客户标签信息 + if (!org.springframework.util.CollectionUtils.isEmpty(formDTO.getCategoryIdList())) { + List tagList = issueProjectTagDictDao.getTagList(formDTO.getCustomerId(), formDTO.getTagIdList()); + resultDTO.setTagList(tagList); + } + return resultDTO; + } + } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml index 3a29df5f14..0d6adbd065 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml @@ -213,6 +213,23 @@ ORDER BY SORT, CATEGORY_CODE ASC + + UPDATE issue_project_category_dict SET diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml index 6e63c32fab..5c4b4c2150 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml @@ -203,6 +203,21 @@ + + UPDATE issue_project_tag_dict SET is_disable = #{type}, diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java index 0b449f6709..6ba33ec68a 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/ProjectDTO.java @@ -51,7 +51,7 @@ public class ProjectDTO implements Serializable { private String agencyId; /** - * 来源:议题issue + * 来源:议题issue 项目立项:agency */ private String origin; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 4a8696fa01..b5259e9677 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -10,6 +10,10 @@ public interface ProjectConstant { * 项目来源-议题 */ String ISSUE = "issue"; + /** + * 项目来源-组织(项目立项) + */ + String AGENCY = "agency"; /** * 状态-待处理 */ @@ -67,6 +71,10 @@ public interface ProjectConstant { * 处理名-退回 */ String OPERATION_RESPONSES_NAME = "处理/响应"; + /** + * 处理名-项目立项 + */ + String OPERATION_PROJECT_APPROVAL = "项目立项"; /** * 是否处理-未处理 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index d1d8568a58..fd0745bae4 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -345,5 +345,17 @@ public class ProjectTraceController { return new Result().ok(projectTraceService.approvalAgencyList(tokenDTO)); } + /** + * @param tokenDTO formDTO + * @Author sun + * @Description 项目立项 + **/ + @PostMapping("projectapproval") + public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { + formDTO.setCustomerId(tokenDTO.getCustomerId()); + projectTraceService.projectApproval(tokenDTO, formDTO); + return new Result(); + } + } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java index 1d441664b8..444eebee06 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/entity/ProjectEntity.java @@ -49,7 +49,7 @@ public class ProjectEntity extends BaseEpmetEntity { private String agencyId; /** - * 来源:议题issue + * 来源:议题issue 项目立项:agency */ private String origin; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index f828489fe3..598b068a6a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -166,4 +166,11 @@ public interface ProjectTraceService { * @Description 项目立项组织树查询--查询当前工作人员所属组织,上两级组织,所有下级组织 **/ ProcessorListResultDTO approvalAgencyList(TokenDto tokenDTO); + + /** + * @param formDTO + * @Author sun + * @Description 项目立项 + **/ + void projectApproval(TokenDto tokenDTO, ProjectApprovalFormDTO formDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 884378fec8..e91c154357 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -1,29 +1,44 @@ package com.epmet.service.impl; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.security.dto.TokenDto; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; import com.epmet.constant.ProjectConstant; +import com.epmet.constant.ReadFlagConstant; +import com.epmet.constant.SmsTemplateConstant; +import com.epmet.constant.UserMessageConstant; +import com.epmet.dao.ProjectOrgRelationDao; import com.epmet.dao.ProjectProcessAttachmentDao; import com.epmet.dao.ProjectProcessDao; +import com.epmet.dto.CustomerStaffDTO; +import com.epmet.dto.IssueProjectCategoryDictDTO; +import com.epmet.dto.IssueProjectTagDictDTO; import com.epmet.dto.ProjectStaffDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; -import com.epmet.entity.ProjectStaffEntity; -import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.feign.GovOrgFeignClient; -import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.entity.*; +import com.epmet.feign.*; import com.epmet.service.*; import lombok.extern.slf4j.Slf4j; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -33,7 +48,8 @@ import java.util.stream.Collectors; */ @Service @Slf4j -public class ProjectTraceServiceImpl implements ProjectTraceService { +public class ProjectTraceServiceImpl implements ProjectTraceService { + private Logger logger = LogManager.getLogger(ProjectTraceServiceImpl.class); @Autowired private ProjectService projectService; @Autowired @@ -52,6 +68,22 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; + @Value("${openapi.scan.server.url}") + private String scanApiUrl; + @Value("${openapi.scan.method.textSyncScan}") + private String textSyncScanMethod; + @Autowired + private ProjectOrgRelationDao relationDao; + @Autowired + private ProjectCategoryService projectCategoryService; + @Autowired + private ProjectTagsService projectTagsService; + @Autowired + private GovIssueOpenFeignClient govIssueOpenFeignClient; + @Autowired + private EpmetUserFeignClient epmetUserFeignClient; + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; @Override public List getPendProjectList(TokenDto tokenDto, ProjectListFromDTO fromDTO) { @@ -245,4 +277,306 @@ public class ProjectTraceServiceImpl implements ProjectTraceService { return result.getData(); } + /** + * @param formDTO + * @Author sun + * @Description 项目立项 + * 内容安全校验、项目|节点|人员|附件|分类|标签|统计业务数据新增、站内信|微信|短信消息推送 + **/ + @Override + @Transactional(rollbackFor = Exception.class) + public void projectApproval(TokenDto tokenDTO, ProjectApprovalFormDTO formDTO) { + List staffList = formDTO.getStaffList(); + //1.文字内容安全校验 + List list = new ArrayList<>(); + list.add(formDTO.getTitle());list.add(formDTO.getBackGround());list.add(formDTO.getPublicReply()); + safetyCheck(list); + + //2.数据准备,查询需要用到的数据 + //2-1.获取token用户所属组织信息 + LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); + dto.setApp(tokenDTO.getApp()); + dto.setClient(tokenDTO.getClient()); + dto.setUserId(tokenDTO.getUserId()); + Result resultDto = epmetUserOpenFeignClient.getLoginUserDetails(dto); + if (!resultDto.success() || StringUtils.isEmpty(resultDto.getData().getAgencyId())) { + throw new RenException(String.format("项目立项调用user服务查询用户数据失败,userId->", tokenDTO.getUserId())); + } + LoginUserDetailsResultDTO loginUser = resultDto.getData(); + + //2-2.调用gov-org服务,获取所有勾选人员以及议题数据对应的组织信息、部门信息、网格信息用于对处理部门和ORG_ID_PATH字段的赋值使用 + List agencyIdList = staffList.stream().map(TickStaffFormDTO::getAgencyId).collect(Collectors.toList()); + agencyIdList.add(loginUser.getAgencyId()); + agencyIdList = new ArrayList(new LinkedHashSet<>(agencyIdList));agencyIdList.removeAll(Collections.singleton("")); + List deptIdList = staffList.stream().map(TickStaffFormDTO::getDepartmentId).collect(Collectors.toList()); + deptIdList = new ArrayList(new LinkedHashSet<>(deptIdList));deptIdList.removeAll(Collections.singleton("")); + List gridIdList = staffList.stream().map(TickStaffFormDTO::getGridId).collect(Collectors.toList()); + gridIdList = new ArrayList(new LinkedHashSet<>(gridIdList));gridIdList.removeAll(Collections.singleton("")); + AgencyDeptGridFormDTO agencyDeptGridFormDTO = new AgencyDeptGridFormDTO(); + agencyDeptGridFormDTO.setAgencyIdList(agencyIdList); + agencyDeptGridFormDTO.setDeptIdList(deptIdList); + agencyDeptGridFormDTO.setGridIdList(gridIdList); + Result resultDTO = govOrgFeignClient.getAgencyDeptGridList(agencyDeptGridFormDTO); + if (!resultDTO.success() || null == resultDTO.getData()) { + throw new RenException(ProjectConstant.SELECT_GOV_ORG_EXCEPTION); + } + AgencyDeptGridResultDTO agencyDeptGrid = resultDTO.getData(); + + //2-3.调用issue服务,查询分类、标签数据信息 + CategoryTagListFormDTO categoryTag = new CategoryTagListFormDTO(); + List categoryIdList = formDTO.getCategoryList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList()); + List tagIdList = formDTO.getTagList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList()); + categoryTag.setCustomerId(tokenDTO.getCustomerId()); + categoryTag.setCategoryIdList(categoryIdList); + categoryTag.setTagIdList(tagIdList); + Result resultDTOResult = govIssueOpenFeignClient.getCategoryTagList(categoryTag); + if(!resultDTOResult.success()){ + throw new RenException("项目立项,调用issue服务查询分类、标签基础信息失败"); + } + List categoryList = resultDTOResult.getData().getCategoryList(); + List tagList = resultDTOResult.getData().getTagList(); + + //3.封装保存业务数据 + //3-1.项目主表新增数据 + ProjectEntity projectEntity = new ProjectEntity(); + projectEntity.setCustomerId(tokenDTO.getCustomerId()); + projectEntity.setAgencyId(loginUser.getAgencyId()); + projectEntity.setOrigin(ProjectConstant.AGENCY); + projectEntity.setOriginId(loginUser.getAgencyId()); + projectEntity.setTitle(formDTO.getTitle()); + projectEntity.setBackGround(formDTO.getBackGround()); + projectEntity.setStatus(ProjectConstant.PENDING); + projectEntity.setOrgIdPath(loginUser.getOrgIdPath()); + projectService.insert(projectEntity); + + //3-2.项目进展表新增第一个节点数据 + ProjectProcessEntity processEntity = new ProjectProcessEntity(); + processEntity.setProjectId(projectEntity.getId()); + processEntity.setCustomerId(tokenDTO.getCustomerId()); + processEntity.setStaffId(tokenDTO.getUserId()); + processEntity.setOperation(ProjectConstant.OPERATION_CREATED); + processEntity.setOperationName(ProjectConstant.OPERATION_PROJECT_APPROVAL); + processEntity.setPublicReply(formDTO.getPublicReply()); + processEntity.setInternalRemark(formDTO.getInternalRemark()); + agencyDeptGrid.getAgencyList().forEach(agency -> { + if (loginUser.getAgencyId().equals(agency.getId())) { + processEntity.setDepartmentName(agency.getOrganizationName()); + processEntity.setAgencyId(agency.getId()); + if(org.apache.commons.lang3.StringUtils.isBlank(agency.getPids()) || org.apache.commons.lang3.StringUtils.equals(NumConstant.ZERO_STR,agency.getPids().trim()) || "".equals(agency.getPids().trim())){ + processEntity.setOrgIdPath(agency.getId()); + }else{ + processEntity.setOrgIdPath(agency.getPids().concat(":").concat(agency.getId())); + } + } + }); + projectProcessService.insert(processEntity); + + //3-3.项目人员表批量新增数据 + List entityList = new ArrayList<>(); + staffList.forEach(ts -> { + ProjectStaffEntity entity = ConvertUtils.sourceToTarget(ts, ProjectStaffEntity.class); + entity.setOrgId(ts.getAgencyId()); + entity.setProjectId(projectEntity.getId()); + entity.setProcessId(processEntity.getId()); + entity.setIsHandle(ProjectConstant.UNHANDLED); + agencyDeptGrid.getAgencyList().forEach(agency -> { + if (ts.getAgencyId().equals(agency.getId())) { + entity.setCustomerId(agency.getCustomerId()); + entity.setOrgIdPath(("".equals(agency.getPids()) ? "" : agency.getPids() + ":") + agency.getId()); + entity.setDepartmentName(agency.getOrganizationName()); + } + }); + if (org.apache.commons.lang3.StringUtils.isNotBlank(ts.getDepartmentId())) { + agencyDeptGrid.getDeptList().forEach(dept -> { + if (ts.getDepartmentId().equals(dept.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + dept.getDepartmentName()); + } + }); + } + if (org.apache.commons.lang3.StringUtils.isNotBlank(ts.getGridId())) { + agencyDeptGrid.getGridList().forEach(grid -> { + if (ts.getGridId().equals(grid.getId())) { + entity.setDepartmentName(entity.getDepartmentName() + "-" + grid.getGridName()); + } + }); + } + entityList.add(entity); + }); + projectStaffService.insertBatch(entityList); + + //3-4.项目附件表新增数据 + if ((null != formDTO.getPublicFile() && formDTO.getPublicFile().size() > NumConstant.ZERO) + || (null != formDTO.getInternalFile() && formDTO.getInternalFile().size() > NumConstant.ZERO)) { + projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), tokenDTO.getCustomerId(), projectEntity.getId(), processEntity.getId()); + } + + //3-5.项目分类表新增数据 + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(formDTO.getCategoryList())) { + List categoryEntityList = new ArrayList<>(); + formDTO.getCategoryList().forEach(item -> { + categoryList.forEach(ca->{ + if(item.getId().equals(ca.getId())){ + ProjectCategoryEntity entity = new ProjectCategoryEntity(); + entity.setCustomerId(tokenDTO.getCustomerId()); + entity.setProjectId(projectEntity.getId()); + entity.setCategoryId(item.getId()); + entity.setCategoryPids(ca.getPids()); + entity.setCategoryCode(ca.getCategoryCode()); + categoryEntityList.add(entity); + } + }); + }); + projectCategoryService.insertBatch(categoryEntityList); + } + + //3-6.项目标签表新增数据 + if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(formDTO.getTagList())) { + List tagEntityList = new ArrayList<>(); + formDTO.getTagList().forEach(item -> { + tagList.forEach(ta->{ + if(item.getId().equals(ta.getId())){ + ProjectTagsEntity entity = new ProjectTagsEntity(); + entity.setCustomerId(tokenDTO.getCustomerId()); + entity.setProjectId(projectEntity.getId()); + entity.setTagId(item.getId()); + entity.setTagName(ta.getTagName()); + tagEntityList.add(entity); + } + }); + }); + projectTagsService.insertBatch(tagEntityList); + } + + //3-7:初始化机关-项目时间关联数据 + Date current = new Date(); + List projectStaffIds = entityList.stream().map(ProjectStaffEntity::getId).distinct().collect(Collectors.toList()); + if(!org.apache.commons.collections4.CollectionUtils.isEmpty(projectStaffIds)){ + List container = new LinkedList<>(); + projectStaffIds.forEach(o -> { + ProjectOrgRelationEntity period = new ProjectOrgRelationEntity(); + period.setProjectStaffId(o); + period.setInformedDate(current); + period.setSourceOperation(ProjectConstant.OPERATION_CREATED); + period.setCreatedBy(tokenDTO.getUserId()); + container.add(period); + }); + relationDao.insertBatch(container); + } + + //4.推送站内信、微信、短信消息 + //4-1.调用epmet-message服务,给工作端勾选的工作人员发送消息 + if (!shiftProjectMessage(formDTO).success()) { + throw new RenException("项目立项,推送站内信失败"); + } + + //4-2.以及政府端调用epmet-message服务,给工作端工作人员推送微信订阅消息 + if (!wxmpShiftProjectMessage(formDTO).success()) { + logger.error("项目立项,推送微信订阅消息失败!"); + } + + //4-3.吹哨短信消息 + List smsList = new ArrayList<>(); + staffList.forEach(staff -> { + CustomerStaffDTO staffDTO = new CustomerStaffDTO(); + staffDTO.setUserId(staff.getStaffId()); + Result staffDTOResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); + if (staffDTOResult.success() && null != staffDTOResult.getData()) { + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(staffDTOResult.getData().getCustomerId()); + sms.setMobile(staffDTOResult.getData().getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + sms.setParameterKey("send_msg"); + smsList.add(sms); + } + }); + Result result = epmetMessageOpenFeignClient.projectSendMsg(smsList); + if (!result.success()) { + logger.error("项目吹哨,发送手机短信失败" + JSON.toJSONString(result)); + } + + } + + /** + * @param list + * @Author sun + * @Description 文字内容安全校验 + **/ + private void safetyCheck(List list){ + if(!CollectionUtils.isEmpty(list)){ + list.forEach(l->{ + if (com.alibaba.nacos.client.utils.StringUtils.isNotBlank(l)) { + TextScanParamDTO textScanParamDTO = new TextScanParamDTO(); + TextTaskDTO taskDTO = new TextTaskDTO(); + taskDTO.setDataId(UUID.randomUUID().toString().replace("-", "")); + taskDTO.setContent(l); + textScanParamDTO.getTasks().add(taskDTO); + Result textSyncScanResult = ScanContentUtils.textSyncScan(scanApiUrl.concat(textSyncScanMethod), textScanParamDTO); + if (!textSyncScanResult.success()) { + throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); + } else { + if (!textSyncScanResult.getData().isAllPass()) { + throw new RenException(EpmetErrorCode.TEXT_SCAN_FAILED.getCode()); + } + } + } + }); + } + } + + /** + * @Description 项目立项给勾选的工作人员推送站内信消息 + * @author sun + */ + private Result shiftProjectMessage(ProjectApprovalFormDTO formDTO) { + List msgList = new ArrayList<>(); + //1.创建项目工作人员消息对象 + String projectStaffMessage = String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, formDTO.getTitle()); + //所选人员如果即在部门下又在网格下则只发一条消息 + Map map = new HashMap<>(); + formDTO.getStaffList().forEach(staff->{ + if(!map.containsKey(staff.getStaffId())){ + UserMessageFormDTO msg = new UserMessageFormDTO(); + msg.setCustomerId(formDTO.getCustomerId()); + msg.setGridId("*"); + msg.setApp(AppClientConstant.APP_GOV); + msg.setTitle(UserMessageConstant.PROJECT_TITLE); + msg.setMessageContent(projectStaffMessage); + msg.setReadFlag(ReadFlagConstant.UN_READ); + msg.setUserId(staff.getStaffId()); + msgList.add(msg); + map.put(staff.getStaffId(),staff.getStaffId()); + } + }); + return epmetMessageOpenFeignClient.saveUserMessageList(msgList); + } + + /** + * @Description 项目立项给勾选的工作人员推送微信订阅消息 + * @author sun + */ + private Result wxmpShiftProjectMessage(ProjectApprovalFormDTO formDTO) { + List msgList = new ArrayList<>(); + //1.创建项目工作人员消息对象 + String projectStaffMessage = String.format(UserMessageConstant.PROJECT_RESOLVED_MSG, formDTO.getTitle()); + //所选人员如果即在部门下又在网格下则只发一条消息 + Map map = new HashMap<>(); + formDTO.getStaffList().forEach(staff->{ + if(!map.containsKey(staff.getStaffId())){ + WxSubscribeMessageFormDTO msg = new WxSubscribeMessageFormDTO(); + msg.setCustomerId(formDTO.getCustomerId()); + msg.setClientType(AppClientConstant.APP_GOV); + msg.setUserId(staff.getStaffId()); + msg.setBehaviorType("项目消息"); + msg.setMessageContent(projectStaffMessage); + msg.setMessageTime(new Date()); + msg.setGridId("*"); + msgList.add(msg); + map.put(staff.getStaffId(),staff.getStaffId()); + } + }); + logger.info("项目立项,推送微信订阅消息"); + return epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + } + + } From 407885da5361da9cb00d23eb91158ca7d1fa2313 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 12 Apr 2021 17:36:08 +0800 Subject: [PATCH 017/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=BB=E8=A1=A8=20?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/db/migration/V0.0.11__add_origin.sql | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql index e39c443e3f..f84245a0d4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql @@ -1,3 +1,12 @@ ALTER TABLE `fact_origin_project_main_daily` ADD COLUMN `ORIGIN` varchar(32) NULL COMMENT '项目来源 来源:议题issue 组织agency' AFTER `AGENCY_ID`, - ADD COLUMN `ORIGIN_ID` varchar(64) NULL COMMENT '项目来源ID' AFTER `ORIGIN`; \ No newline at end of file + ADD COLUMN `ORIGIN_ID` varchar(64) NULL COMMENT '项目来源ID' AFTER `ORIGIN`; + +UPDATE fact_origin_project_main_daily t1 + INNER JOIN ( SELECT ID, ISSUE_ID FROM fact_origin_project_main_daily ) t2 ON t1.ID = t2.ID +SET t1.ORIGIN = 'issue', + t1.ORIGIN_ID = t2.ISSUE_ID; +UPDATE fact_origin_project_log_daily t1 + INNER JOIN ( SELECT ID, AGENCY_ID FROM fact_origin_project_log_daily ) t2 ON t1.ID = t2.ID AND t1.ORG_TYPE IS NULL +SET t1.ORG_TYPE = 'agency', + t1.ORG_ID = t2.AGENCY_ID; From 8e8590ae49d7f60c502b12bab4ee996508bd1db1 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 13 Apr 2021 09:16:44 +0800 Subject: [PATCH 018/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B7=BB=E5=8A=A0=E8=BF=94=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/CategoryTagListFormDTO.java | 32 ++++++++++ .../dto/result/CategoryTagResultDTO.java | 28 +++++++++ .../epmet/dto/form/CategoryOrTagFormDTO.java | 24 ++++++++ .../dto/form/ProjectApprovalFormDTO.java | 61 +++++++++++++++++++ .../dto/result/ProjectDetailResultDTO.java | 4 ++ .../controller/ProjectTraceController.java | 5 +- .../epmet/service/ProjectTraceService.java | 2 +- .../service/impl/ProjectTraceServiceImpl.java | 26 ++++---- .../src/main/resources/mapper/ProjectDao.xml | 1 + 9 files changed, 168 insertions(+), 15 deletions(-) create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java create mode 100644 epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java create mode 100644 epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java new file mode 100644 index 0000000000..3faaa44a58 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/form/CategoryTagListFormDTO.java @@ -0,0 +1,32 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * 根据分类、标签Id集合查询对应数据信息--接口入参 + * @Author sun + */ +@Data +public class CategoryTagListFormDTO implements Serializable { + + private static final long serialVersionUID = 2599592072265715951L; + + /** + * 客户ID + */ + private String customerId; + + /** + * 分类Id + */ + private List categoryIdList; + + /** + * 标签Id + */ + private List tagIdList; + +} diff --git a/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java new file mode 100644 index 0000000000..7c832fe023 --- /dev/null +++ b/epmet-module/gov-issue/gov-issue-client/src/main/java/com/epmet/dto/result/CategoryTagResultDTO.java @@ -0,0 +1,28 @@ +package com.epmet.dto.result; + +import com.epmet.dto.IssueProjectCategoryDictDTO; +import com.epmet.dto.IssueProjectTagDictDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Description 根据分类、标签Id集合查询对应数据信息--接口返参 + * @Author sun + */ +@Data +public class CategoryTagResultDTO implements Serializable { + + private static final long serialVersionUID = 5957826616179876849L; + + /** + * 分类对象 + */ + private List categoryList; + /** + * 标签对象 + */ + private List tagList; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java new file mode 100644 index 0000000000..6726db391f --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/CategoryOrTagFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 项目立项-分类、标签信息-接口入参 + * @Author sun + */ +@Data +public class CategoryOrTagFormDTO implements Serializable { + + private static final long serialVersionUID = 2599592072265715951L; + /** + * 分类Id + */ + private String id; + /** + * 分类名称 + */ + private String name; + +} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java new file mode 100644 index 0000000000..4553ab6654 --- /dev/null +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -0,0 +1,61 @@ +package com.epmet.dto.form; + +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + +/** + * @Description 项目立项-接口入参 + * @Author sun + */ +@Data +public class ProjectApprovalFormDTO implements Serializable { + private static final long serialVersionUID = 4859779755214502427L; + + @NotBlank(message = "项目标题不能为空") + private String title; + + @NotBlank(message = "项目背景不能为空") + @Length(max=1000,message = "项目背景不能超过1000位") + private String backGround; + + @NotBlank(message = "项目方案不能为空") + @Length(max=1000,message = "项目方案不能超过1000位") + private String publicReply; + + @Length(max=1000,message = "内部备注不能超过1000位") + private String internalRemark; + + /** + * 吹哨勾选的工作人员信息集合,不可为空 + */ + @Valid + private List staffList; + /** + * 公开答复对应文件集合 + */ + private List publicFile; + /** + * 内部备注对应文件集合 + */ + private List internalFile; + /** + * 项目所选分类集合,不可为空 + */ + @Valid + private List categoryList; + /** + * 项目所选标签集合 + */ + private List tagList; + + private String customerId; + private String app; + private String client; + private String userId; +} + diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java index cd3c278259..ebffaef4d7 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/result/ProjectDetailResultDTO.java @@ -31,6 +31,10 @@ public class ProjectDetailResultDTO implements Serializable { * 项目标题 */ private String projectTitle; + /** + * 项目背景 + */ + private String backGround; /** * 项目方案 */ diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index fd0745bae4..82fe6a5984 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -353,7 +353,10 @@ public class ProjectTraceController { @PostMapping("projectapproval") public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { formDTO.setCustomerId(tokenDTO.getCustomerId()); - projectTraceService.projectApproval(tokenDTO, formDTO); + formDTO.setApp(tokenDTO.getApp()); + formDTO.setClient(tokenDTO.getClient()); + formDTO.setUserId(tokenDTO.getUserId()); + projectTraceService.projectApproval(formDTO); return new Result(); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java index 598b068a6a..d3d2cc3f3b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/ProjectTraceService.java @@ -172,5 +172,5 @@ public interface ProjectTraceService { * @Author sun * @Description 项目立项 **/ - void projectApproval(TokenDto tokenDTO, ProjectApprovalFormDTO formDTO); + void projectApproval(ProjectApprovalFormDTO formDTO); } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index e91c154357..ccef1dc1d5 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -285,7 +285,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS **/ @Override @Transactional(rollbackFor = Exception.class) - public void projectApproval(TokenDto tokenDTO, ProjectApprovalFormDTO formDTO) { + public void projectApproval(ProjectApprovalFormDTO formDTO) { List staffList = formDTO.getStaffList(); //1.文字内容安全校验 List list = new ArrayList<>(); @@ -295,12 +295,12 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //2.数据准备,查询需要用到的数据 //2-1.获取token用户所属组织信息 LoginUserDetailsFormDTO dto = new LoginUserDetailsFormDTO(); - dto.setApp(tokenDTO.getApp()); - dto.setClient(tokenDTO.getClient()); - dto.setUserId(tokenDTO.getUserId()); + dto.setApp(formDTO.getApp()); + dto.setClient(formDTO.getClient()); + dto.setUserId(formDTO.getUserId()); Result resultDto = epmetUserOpenFeignClient.getLoginUserDetails(dto); if (!resultDto.success() || StringUtils.isEmpty(resultDto.getData().getAgencyId())) { - throw new RenException(String.format("项目立项调用user服务查询用户数据失败,userId->", tokenDTO.getUserId())); + throw new RenException(String.format("项目立项调用user服务查询用户数据失败,userId->", formDTO.getUserId())); } LoginUserDetailsResultDTO loginUser = resultDto.getData(); @@ -326,7 +326,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS CategoryTagListFormDTO categoryTag = new CategoryTagListFormDTO(); List categoryIdList = formDTO.getCategoryList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList()); List tagIdList = formDTO.getTagList().stream().map(CategoryOrTagFormDTO::getId).collect(Collectors.toList()); - categoryTag.setCustomerId(tokenDTO.getCustomerId()); + categoryTag.setCustomerId(formDTO.getCustomerId()); categoryTag.setCategoryIdList(categoryIdList); categoryTag.setTagIdList(tagIdList); Result resultDTOResult = govIssueOpenFeignClient.getCategoryTagList(categoryTag); @@ -339,7 +339,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //3.封装保存业务数据 //3-1.项目主表新增数据 ProjectEntity projectEntity = new ProjectEntity(); - projectEntity.setCustomerId(tokenDTO.getCustomerId()); + projectEntity.setCustomerId(formDTO.getCustomerId()); projectEntity.setAgencyId(loginUser.getAgencyId()); projectEntity.setOrigin(ProjectConstant.AGENCY); projectEntity.setOriginId(loginUser.getAgencyId()); @@ -352,8 +352,8 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //3-2.项目进展表新增第一个节点数据 ProjectProcessEntity processEntity = new ProjectProcessEntity(); processEntity.setProjectId(projectEntity.getId()); - processEntity.setCustomerId(tokenDTO.getCustomerId()); - processEntity.setStaffId(tokenDTO.getUserId()); + processEntity.setCustomerId(formDTO.getCustomerId()); + processEntity.setStaffId(formDTO.getUserId()); processEntity.setOperation(ProjectConstant.OPERATION_CREATED); processEntity.setOperationName(ProjectConstant.OPERATION_PROJECT_APPROVAL); processEntity.setPublicReply(formDTO.getPublicReply()); @@ -407,7 +407,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //3-4.项目附件表新增数据 if ((null != formDTO.getPublicFile() && formDTO.getPublicFile().size() > NumConstant.ZERO) || (null != formDTO.getInternalFile() && formDTO.getInternalFile().size() > NumConstant.ZERO)) { - projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), tokenDTO.getCustomerId(), projectEntity.getId(), processEntity.getId()); + projectService.saveFile(formDTO.getPublicFile(), formDTO.getInternalFile(), formDTO.getCustomerId(), projectEntity.getId(), processEntity.getId()); } //3-5.项目分类表新增数据 @@ -417,7 +417,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS categoryList.forEach(ca->{ if(item.getId().equals(ca.getId())){ ProjectCategoryEntity entity = new ProjectCategoryEntity(); - entity.setCustomerId(tokenDTO.getCustomerId()); + entity.setCustomerId(formDTO.getCustomerId()); entity.setProjectId(projectEntity.getId()); entity.setCategoryId(item.getId()); entity.setCategoryPids(ca.getPids()); @@ -436,7 +436,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS tagList.forEach(ta->{ if(item.getId().equals(ta.getId())){ ProjectTagsEntity entity = new ProjectTagsEntity(); - entity.setCustomerId(tokenDTO.getCustomerId()); + entity.setCustomerId(formDTO.getCustomerId()); entity.setProjectId(projectEntity.getId()); entity.setTagId(item.getId()); entity.setTagName(ta.getTagName()); @@ -457,7 +457,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS period.setProjectStaffId(o); period.setInformedDate(current); period.setSourceOperation(ProjectConstant.OPERATION_CREATED); - period.setCreatedBy(tokenDTO.getUserId()); + period.setCreatedBy(formDTO.getUserId()); container.add(period); }); relationDao.insertBatch(container); diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 50f8bc6433..0a430eab87 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -124,6 +124,7 @@ SELECT p.ID AS "projectId", p.TITLE AS "projectTitle", + p.BACK_GROUND AS "backGround", p.ORIGIN AS "origin", p.ORIGIN_ID AS "originId", p.STATUS AS "projectStatus", From 7a1c7ad30ae583d4d26f62f10c6d8095bb23c682 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 13 Apr 2021 10:14:29 +0800 Subject: [PATCH 019/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=BB=E8=A1=A8=20?= =?UTF-8?q?gridId=E6=B7=BB=E5=8A=A0=E9=BB=98=E8=AE=A4=E5=80=BC=E4=B8=BAemp?= =?UTF-8?q?tyString?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.11__add_origin.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql index f84245a0d4..c2cf2e6c22 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.11__add_origin.sql @@ -1,5 +1,6 @@ ALTER TABLE `fact_origin_project_main_daily` ADD COLUMN `ORIGIN` varchar(32) NULL COMMENT '项目来源 来源:议题issue 组织agency' AFTER `AGENCY_ID`, + MODIFY COLUMN `GRID_ID` varchar(32) DEFAULT '' COMMENT '网格ID(立项时的网格Id)' AFTER `TOPIC_ID`, ADD COLUMN `ORIGIN_ID` varchar(64) NULL COMMENT '项目来源ID' AFTER `ORIGIN`; UPDATE fact_origin_project_main_daily t1 From 588add80cc528f7bf7c804eeca64647fa1e51503 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 13 Apr 2021 10:29:53 +0800 Subject: [PATCH 020/121] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8C=BA=E5=88=92?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E6=8E=A5=E5=8F=A3V1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/DataSourceConstant.java | 2 + .../dto/govorg/form/NextAreaCodeFormDTO.java | 31 ++++++++ .../govorg/result/NextAreaCodeResultDTO.java | 27 +++++++ .../data-aggregator-server/pom.xml | 28 +++++++ .../controller/GovOrgController.java | 17 +++++ .../dao/commonservice/AreaCodeDao.java | 39 ++++++++++ .../dao/govorg/CustomerAgencyDao.java | 2 + .../commonservice/AreaCodeService.java | 23 ++++++ .../impl/AreaCodeServiceImpl.java | 75 +++++++++++++++++++ .../service/govorg/GovOrgService.java | 3 + .../govorg/impl/GovOrgServiceImpl.java | 67 ++++++++++++++++- .../src/main/resources/bootstrap.yml | 6 +- .../mapper/commonservice/AreaCodeDao.xml | 57 ++++++++++++++ .../mapper/govorg/CustomerAgencyDao.xml | 9 +++ 14 files changed, 384 insertions(+), 2 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/NextAreaCodeResultDTO.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index 70f42dc1e2..2dee5bb941 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -23,4 +23,6 @@ public interface DataSourceConstant { */ String EPMET_USER = "epmetuser"; + String EPMET_COMMON_SERVICE="commonservice"; + } diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java new file mode 100644 index 0000000000..ad3783df46 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java @@ -0,0 +1,31 @@ +package com.epmet.dataaggre.dto.govorg.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/12 15:55 + */ +@Data +public class NextAreaCodeFormDTO implements Serializable { + private static final long serialVersionUID = -1974456701949979946L; + + @NotBlank(message = "areaCode不能为空") + private String areaCode; + + /** + * 社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province + */ + @NotBlank(message = "level不能为空") + private String level; + +} diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/NextAreaCodeResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/NextAreaCodeResultDTO.java new file mode 100644 index 0000000000..ef2db07581 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/result/NextAreaCodeResultDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dataaggre.dto.govorg.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/12 15:56 + */ +@Data +public class NextAreaCodeResultDTO implements Serializable { + private static final long serialVersionUID = 9188265480821079966L; + + private String areaCode; + private String areaName; + /** + * 社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province + */ + private String level; +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index c1e47d3b7e..a0fcbb3f6d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -143,6 +143,13 @@ epmet_user_user EpmEt-db-UsEr + + + + + epmet_common_service_user + EpmEt-db-UsEr + 0 192.168.1.130 @@ -210,6 +217,13 @@ epmet_user_user EpmEt-db-UsEr + + + + + epmet_common_service_user + EpmEt-db-UsEr + 0 192.168.1.130 @@ -277,6 +291,13 @@ epmet elink@833066 + + + + + epmet + elink@833066 + 0 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com @@ -344,6 +365,13 @@ epmet_user_user EpmEt-db-UsEr + + + + + epmet_common_service_user + EpmEt-db-UsEr + 0 r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java index aebb23a8b5..262aff38c3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/controller/GovOrgController.java @@ -3,13 +3,19 @@ package com.epmet.dataaggre.controller; 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.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import com.epmet.dataaggre.service.govorg.GovOrgService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * @Author zxc * @DateTime 2020/12/25 上午9:45 @@ -34,4 +40,15 @@ public class GovOrgController { return new Result().ok(agencyGridList); } + /** + * @param formDTO + * @author yinzuomei + * @description 新增组织-查询下一级可选的组织区划 + * @Date 2021/4/12 16:01 + **/ + @PostMapping("nextlevelareacodelist") + public Result> queryNextLevelAreaCodeList(@RequestBody NextAreaCodeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(govOrgService.queryNextLevelAreaCodeList(formDTO)); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java new file mode 100644 index 0000000000..0de5235518 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/commonservice/AreaCodeDao.java @@ -0,0 +1,39 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dataaggre.dao.commonservice; + +import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author generator generator@elink-cn.com + * @since v1.0.0 2021-01-07 + */ +@Mapper +public interface AreaCodeDao { + + List selectCityList(String areaCode); + + List selectDistrictList(String areaCode); + + List selectStreetList(String areaCode); + + List selectCommunityList(String areaCode); +} \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java index 445baf2477..fc33ce00bb 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/govorg/CustomerAgencyDao.java @@ -47,4 +47,6 @@ public interface CustomerAgencyDao extends BaseDao { * @date 2020/12/25 下午4:55 */ String getAgencyIdByUserId(@Param("userId") String userId); + + List selectUsedAreaCodeList(@Param("parentAreaCode") String parentAreaCode); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java new file mode 100644 index 0000000000..c9ebb57d5e --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/AreaCodeService.java @@ -0,0 +1,23 @@ +package com.epmet.dataaggre.service.commonservice; + +import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; +import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/12 15:45 + */ +public interface AreaCodeService { + /** + * @return java.util.List + * @param formDTO + * @author yinzuomei + * @description 新增组织-查询下一级可选的组织区划 + * @Date 2021/4/12 16:02 + **/ + List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java new file mode 100644 index 0000000000..ed6ce54264 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java @@ -0,0 +1,75 @@ +package com.epmet.dataaggre.service.commonservice.impl; + +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.commonservice.AreaCodeDao; +import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; +import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; +import com.epmet.dataaggre.service.commonservice.AreaCodeService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/12 15:46 + */ +@DataSource(DataSourceConstant.EPMET_COMMON_SERVICE) +@Slf4j +@Service +public class AreaCodeServiceImpl implements AreaCodeService { + + @Autowired + private AreaCodeDao areaCodeDao; + + /** + * @param formDTO + * @return java.util.List + * @author yinzuomei + * @description 新增组织-查询下一级可选的组织区划 + * @Date 2021/4/12 16:02 + **/ + @Override + public List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO) { + List list = new ArrayList<>(); + NextAreaCodeResultDTO other = new NextAreaCodeResultDTO(); + other.setAreaCode("other"); + other.setAreaName("其它"); + switch (formDTO.getLevel()) { + /** + * 社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province + */ + case "province": + list = areaCodeDao.selectCityList(formDTO.getAreaCode()); + other.setLevel("city"); + break; + case "city": + list = areaCodeDao.selectDistrictList(formDTO.getAreaCode()); + other.setLevel("district"); + break; + case "district": + list = areaCodeDao.selectStreetList(formDTO.getAreaCode()); + other.setLevel("street"); + break; + case "street": + list = areaCodeDao.selectCommunityList(formDTO.getAreaCode()); + other.setLevel("community"); + break; + default: + } + if (CollectionUtils.isNotEmpty(list)) { + list.add(other); + } + return list; + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java index c0b7fff4bd..7d9fc8f339 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/GovOrgService.java @@ -1,8 +1,10 @@ package com.epmet.dataaggre.service.govorg; +import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import java.util.List; @@ -42,4 +44,5 @@ public interface GovOrgService { */ String getAgencyIdByUserId(String userId); + List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 7b3314f5dc..a076f1b73d 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.dataaggre.service.govorg.impl; +import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; @@ -8,17 +9,23 @@ import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; import com.epmet.dataaggre.dao.govorg.CustomerGridDao; import com.epmet.dataaggre.dao.govorg.CustomerStaffAgencyDao; import com.epmet.dataaggre.dto.govorg.CustomerStaffAgencyDTO; +import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; import com.epmet.dataaggre.dto.govorg.result.AgencyGridResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridInfoResultDTO; import com.epmet.dataaggre.dto.govorg.result.GridsInfoListResultDTO; +import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; +import com.epmet.dataaggre.service.commonservice.AreaCodeService; import com.epmet.dataaggre.service.govorg.GovOrgService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; /** @@ -37,7 +44,8 @@ public class GovOrgServiceImpl implements GovOrgService { private CustomerStaffAgencyDao customerStaffAgencyDao; @Autowired private CustomerGridDao customerGridDao; - + @Autowired + private AreaCodeService areaCodeService; /** * @param staffId @@ -120,5 +128,62 @@ public class GovOrgServiceImpl implements GovOrgService { return customerAgencyDao.getAgencyIdByUserId(userId); } + @Override + public List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO) { + //全部下级 + List allList = areaCodeService.queryNextLevelAreaCodeList(formDTO); + if (CollectionUtils.isNotEmpty(allList)) { + //已经被使用过的areaCode + List usedAreaCodeList = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode()); + //已经被使用的移除不显示 + Iterator iterator = allList.iterator(); + while (iterator.hasNext()) { + NextAreaCodeResultDTO next = iterator.next(); + for (String usedAreaCode : usedAreaCodeList) { + if (next.getAreaCode().equals(usedAreaCode)) { + iterator.remove(); + } + } + //todo 移除掉 子客户下使用的 + } + } + return allList; + } + + public static void main(String[] args) { + List allList = new ArrayList<>(); + NextAreaCodeResultDTO m1 = new NextAreaCodeResultDTO(); + m1.setAreaCode("1"); + m1.setAreaName("a"); + allList.add(m1); + + NextAreaCodeResultDTO m2 = new NextAreaCodeResultDTO(); + m2.setAreaCode("2"); + m2.setAreaName("b"); + allList.add(m2); + + + NextAreaCodeResultDTO m3 = new NextAreaCodeResultDTO(); + m3.setAreaCode("3"); + m3.setAreaName("c"); + allList.add(m3); + + List stringList = new ArrayList<>(); + stringList.add("1"); + stringList.add("2"); + + Iterator iterator = allList.iterator(); + while (iterator.hasNext()) { + NextAreaCodeResultDTO next = iterator.next(); + for (String usedAreaCode : stringList) { + if (next.getAreaCode().equals(usedAreaCode)) { + iterator.remove(); + } + } + + } + System.out.println(JSON.toJSONString(allList, true)); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index 50e01db7ee..86be3fc91c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -119,7 +119,11 @@ dynamic: url: @datasource.druid.epmetuser.url@ username: @datasource.druid.epmetuser.username@ password: @datasource.druid.epmetuser.password@ - + commonservice: + driver-class-name: com.mysql.cj.jdbc.Driver + url: @datasource.druid.commonservice.url@ + username: @datasource.druid.commonservice.username@ + password: @datasource.druid.commonservice.password@ feign: hystrix: enabled: true diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml new file mode 100644 index 0000000000..ae56a91b6a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/commonservice/AreaCodeDao.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index aece51edb3..f27f969e31 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -22,4 +22,13 @@ SELECT AGENCY_ID FROM customer_staff_agency WHERE DEL_FLAG = 0 AND USER_ID = #{userId} + \ No newline at end of file From f77163b57dc5b4285478dedf22dc66d685f4d593 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 13 Apr 2021 10:58:10 +0800 Subject: [PATCH 021/121] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8C=BA=E5=88=92?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=E6=8E=A5=E5=8F=A3V2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/DataSourceConstant.java | 1 + .../data-aggregator-server/pom.xml | 28 +++++++++++++++++ .../dao/opercrm/CustomerRelationDao.java | 16 ++++++++++ .../govorg/impl/GovOrgServiceImpl.java | 19 ++++++++---- .../service/opercrm/CustomerRelation.java | 13 ++++++++ .../opercrm/impl/CustomerRelationImpl.java | 30 +++++++++++++++++++ .../src/main/resources/bootstrap.yml | 5 ++++ .../mapper/opercrm/CustomerRelationDao.xml | 16 ++++++++++ 8 files changed, 123 insertions(+), 5 deletions(-) create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java create mode 100644 epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java index 2dee5bb941..07604c401d 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/constant/DataSourceConstant.java @@ -25,4 +25,5 @@ public interface DataSourceConstant { String EPMET_COMMON_SERVICE="commonservice"; + String OPER_CRM="opercrm"; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/pom.xml b/epmet-module/data-aggregator/data-aggregator-server/pom.xml index a0fcbb3f6d..7b74f08a23 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/pom.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/pom.xml @@ -150,6 +150,13 @@ epmet_common_service_user EpmEt-db-UsEr + + + + + epmet_oper_crm_user + EpmEt-db-UsEr + 0 192.168.1.130 @@ -224,6 +231,13 @@ epmet_common_service_user EpmEt-db-UsEr + + + + + epmet_oper_crm_user + EpmEt-db-UsEr + 0 192.168.1.130 @@ -298,6 +312,13 @@ epmet elink@833066 + + + + + epmet + elink@833066 + 0 r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com @@ -372,6 +393,13 @@ epmet_common_service_user EpmEt-db-UsEr + + + + + epmet_oper_crm_user + EpmEt-db-UsEr + 0 r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java new file mode 100644 index 0000000000..ed7aef852a --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java @@ -0,0 +1,16 @@ +package com.epmet.dataaggre.dao.opercrm; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 10:43 + */ +@Mapper +public interface CustomerRelationDao { + List selectUsedAreaCodeList(String areaCode); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index a076f1b73d..5006efd5f7 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -17,6 +17,7 @@ import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import com.epmet.dataaggre.entity.govorg.CustomerAgencyEntity; import com.epmet.dataaggre.service.commonservice.AreaCodeService; import com.epmet.dataaggre.service.govorg.GovOrgService; +import com.epmet.dataaggre.service.opercrm.CustomerRelation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.slf4j.Logger; @@ -46,6 +47,8 @@ public class GovOrgServiceImpl implements GovOrgService { private CustomerGridDao customerGridDao; @Autowired private AreaCodeService areaCodeService; + @Autowired + private CustomerRelation customerRelation; /** * @param staffId @@ -133,18 +136,24 @@ public class GovOrgServiceImpl implements GovOrgService { //全部下级 List allList = areaCodeService.queryNextLevelAreaCodeList(formDTO); if (CollectionUtils.isNotEmpty(allList)) { - //已经被使用过的areaCode - List usedAreaCodeList = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode()); + //内部客户: 已经被使用过的areaCode + List usedAreaCodeList1 = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode()); + //外部子客户: + List usedAreaCodeList2= customerRelation.selectUsedAreaCodeList(formDTO.getAreaCode()); //已经被使用的移除不显示 Iterator iterator = allList.iterator(); while (iterator.hasNext()) { NextAreaCodeResultDTO next = iterator.next(); - for (String usedAreaCode : usedAreaCodeList) { - if (next.getAreaCode().equals(usedAreaCode)) { + for (String usedAreaCode1 : usedAreaCodeList1) { + if (next.getAreaCode().equals(usedAreaCode1)) { + iterator.remove(); + } + } + for (String usedAreaCode2 : usedAreaCodeList2) { + if (next.getAreaCode().contains(usedAreaCode2)) { iterator.remove(); } } - //todo 移除掉 子客户下使用的 } } return allList; diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java new file mode 100644 index 0000000000..af0dc94e88 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java @@ -0,0 +1,13 @@ +package com.epmet.dataaggre.service.opercrm; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 10:38 + */ +public interface CustomerRelation { + List selectUsedAreaCodeList(String areaCode); +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java new file mode 100644 index 0000000000..045232e1a7 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java @@ -0,0 +1,30 @@ +package com.epmet.dataaggre.service.opercrm.impl; + +import com.epmet.commons.dynamic.datasource.annotation.DataSource; +import com.epmet.dataaggre.constant.DataSourceConstant; +import com.epmet.dataaggre.dao.opercrm.CustomerRelationDao; +import com.epmet.dataaggre.service.opercrm.CustomerRelation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 10:38 + */ +@DataSource(DataSourceConstant.OPER_CRM) +@Slf4j +@Service +public class CustomerRelationImpl implements CustomerRelation { + @Autowired + private CustomerRelationDao customerRelationDao; + + @Override + public List selectUsedAreaCodeList(String areaCode) { + return customerRelationDao.selectUsedAreaCodeList(areaCode); + } +} diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml index 86be3fc91c..6e27140e97 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/bootstrap.yml @@ -124,6 +124,11 @@ dynamic: url: @datasource.druid.commonservice.url@ username: @datasource.druid.commonservice.username@ password: @datasource.druid.commonservice.password@ + opercrm: + driver-class-name: com.mysql.cj.jdbc.Driver + url: @datasource.druid.opercrm.url@ + username: @datasource.druid.opercrm.username@ + password: @datasource.druid.opercrm.password@ feign: hystrix: enabled: true diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml new file mode 100644 index 0000000000..5c0ec4f533 --- /dev/null +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml @@ -0,0 +1,16 @@ + + + + + + + \ No newline at end of file From 789470302f8bb886add2ceeecf2ebaa8798f533d Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 13 Apr 2021 11:10:01 +0800 Subject: [PATCH 022/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dao/IssueProjectTagDictDao.java | 2 +- .../IssueProjectCategoryDictServiceImpl.java | 2 +- .../mapper/IssueProjectTagDictDao.xml | 2 +- .../epmet/dto/result/StaffListResultDTO.java | 8 +++++ .../service/impl/ProjectTraceServiceImpl.java | 31 ++++++++++++------- .../epmet/feign/EpmetUserOpenFeignClient.java | 7 +++++ .../EpmetUserOpenFeignClientFallback.java | 5 +++ .../resources/mapper/CustomerStaffDao.xml | 4 ++- 8 files changed, 46 insertions(+), 15 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java index 690e5ce73f..29dade0f8c 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectTagDictDao.java @@ -146,5 +146,5 @@ public interface IssueProjectTagDictDao extends BaseDao getTagList(@Param("customerId") String customerId, @Param("tagIdList") List categoryIdList); + List getTagList(@Param("customerId") String customerId, @Param("tagIdList") List tagIdList); } \ No newline at end of file diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java index b2f0c63790..d623d3f88a 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java @@ -462,7 +462,7 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl tagList = issueProjectTagDictDao.getTagList(formDTO.getCustomerId(), formDTO.getTagIdList()); resultDTO.setTagList(tagList); } diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml index 5c4b4c2150..923a5e9edc 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml +++ b/epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectTagDictDao.xml @@ -213,7 +213,7 @@ AND customer_id = #{customerId} - ID = #{tagId} + id = #{tagId} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java index fe4d260c8f..2bf18307ce 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/StaffListResultDTO.java @@ -12,6 +12,10 @@ import java.io.Serializable; public class StaffListResultDTO implements Serializable { private static final long serialVersionUID = 5957826616179876849L; + /** + * 客户Id + */ + private String customerId=""; /** * 人员Id */ @@ -32,5 +36,9 @@ public class StaffListResultDTO implements Serializable { * 角色名称(机关领导、部门领导、网格长) */ private String roleName=""; + /** + * 工作人员手机号 + */ + private String mobile=""; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index ccef1dc1d5..fedafc7ac0 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -336,6 +336,16 @@ public class ProjectTraceServiceImpl implements ProjectTraceS List categoryList = resultDTOResult.getData().getCategoryList(); List tagList = resultDTOResult.getData().getTagList(); + //2-4.批量查询被勾选工作人员基础信息 + List staffIdList = staffList.stream().map(TickStaffFormDTO::getStaffId).collect(Collectors.toList()); + staffIdList.add(formDTO.getUserId()); + staffIdList = new ArrayList(new LinkedHashSet<>(staffIdList)); + Result resultStaff = epmetUserOpenFeignClient.getCustomerStaffList(staffIdList); + if (!resultStaff.success() || null == resultStaff.getData()) { + throw new RenException("项目立项,调用user服务获取被勾选工作人员基本信息失败"); + } + List staffInfoList = resultStaff.getData().getStaffList(); + //3.封装保存业务数据 //3-1.项目主表新增数据 ProjectEntity projectEntity = new ProjectEntity(); @@ -477,17 +487,16 @@ public class ProjectTraceServiceImpl implements ProjectTraceS //4-3.吹哨短信消息 List smsList = new ArrayList<>(); staffList.forEach(staff -> { - CustomerStaffDTO staffDTO = new CustomerStaffDTO(); - staffDTO.setUserId(staff.getStaffId()); - Result staffDTOResult = epmetUserFeignClient.getCustomerStaffInfoByUserId(staffDTO); - if (staffDTOResult.success() && null != staffDTOResult.getData()) { - ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); - sms.setCustomerId(staffDTOResult.getData().getCustomerId()); - sms.setMobile(staffDTOResult.getData().getMobile()); - sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); - sms.setParameterKey("send_msg"); - smsList.add(sms); - } + staffInfoList.forEach(st->{ + if(staff.getStaffId().equals(st.getStaffId())){ + ProjectSendMsgFormDTO sms = new ProjectSendMsgFormDTO(); + sms.setCustomerId(st.getCustomerId()); + sms.setMobile(st.getMobile()); + sms.setAliyunTemplateCode(SmsTemplateConstant.PROJECT_TRANSFER); + sms.setParameterKey("send_msg"); + smsList.add(sms); + } + }); }); Result result = epmetMessageOpenFeignClient.projectSendMsg(smsList); if (!result.success()) { 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 5f5ae5b5ce..52fe2a04cb 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 @@ -505,4 +505,11 @@ public interface EpmetUserOpenFeignClient { **/ @PostMapping(value = "/epmetuser/userrole/getuserroleinfo") Result> getUserRoleInfo(@RequestBody UserRoleFormDTO userRoleFormDTO); + + /** + * @Author sun + * @Description 根据staffId集合查询工作人员基础信息 + **/ + @PostMapping(value = "/epmetuser/customerstaff/getcustomerstafflist") + Result getCustomerStaffList(@RequestBody List staffIdList); } 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 328b98f1f3..6230e5d875 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 @@ -358,4 +358,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien public Result> getUserRoleInfo(UserRoleFormDTO userRoleFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserRoleInfo", userRoleFormDTO); } + + @Override + public Result getCustomerStaffList(List staffIdList) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getCustomerStaffList", staffIdList); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml index f5a341bf5b..eab3a42191 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/CustomerStaffDao.xml @@ -181,10 +181,12 @@ + + + + + + + + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml index ace5879e53..3ec91a496a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml @@ -112,11 +112,12 @@ SELECT #{a.areaCode} AS areaCode, - SUM(PROJECT_TOTAL) AS projectTotal, - SUM(RESOLVED_NUM) AS resolvedNum, - SUM(EVALUATE_TOTAL) AS evaluateTotal , - SUM(GOOD_TOTAL) AS goodTotal, - SUM(BAD_TOTAL) AS badTotal + #{a.orgId} AS orgId, + IFNULL(SUM(PROJECT_TOTAL),0) AS projectTotal, + IFNULL(SUM(RESOLVED_NUM),0) AS resolvedNum, + IFNULL(SUM(EVALUATE_TOTAL),0) AS evaluateTotal , + IFNULL(SUM(GOOD_TOTAL),0) AS goodTotal, + IFNULL(SUM(BAD_TOTAL),0) AS badTotal FROM screen_project_grid_daily g LEFT JOIN screen_customer_grid cg ON cg.GRID_ID = g.GRID_ID WHERE g.DEL_FLAG = 0 From 065ce35f5e9332f1023f3995a6bb377364dc034c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Tue, 13 Apr 2021 13:55:21 +0800 Subject: [PATCH 024/121] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E6=9E=90?= =?UTF-8?q?=E7=BB=84=E7=BB=87-=E6=9C=88=20=E7=BB=9F=E8=AE=A1=20=E5=BE=AE?= =?UTF-8?q?=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenProjectQuantityOrgMonthlyServiceImpl.java | 10 +++++----- .../screen/ScreenProjectQuantityOrgMonthlyDao.xml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java index 91917d22b7..241e23f6e6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java @@ -169,16 +169,16 @@ public class ScreenProjectQuantityOrgMonthlyServiceImpl extends BaseServiceImpl< List projectOrg = baseDao.selectQuantityOrgMonthly(agencyInfos, monthId); if (!CollectionUtils.isEmpty(projectOrg)){ projectOrg.forEach(p -> { - p.setClosedIncr(null == p.getClosedIncr() ? NumConstant.ZERO : p.getClosedIncr()); - p.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); + p.setClosedIncr(p.getClosedIncr()); + p.setProjectIncr(p.getProjectIncr()); }); } List projectGrandOrg = baseDao.selectQuantityGrandOrgMonthly(agencyInfos, monthId); if (!CollectionUtils.isEmpty(projectGrandOrg)){ projectGrandOrg.forEach(p -> { - p.setClosedTotal(null == p.getClosedTotal() ? NumConstant.ZERO : p.getClosedTotal()); - p.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); - p.setUnClosedTotal(null == p.getUnClosedTotal() ? NumConstant.ZERO : p.getUnClosedTotal()); + p.setClosedTotal(p.getClosedTotal()); + p.setProjectTotal(p.getProjectTotal()); + p.setUnClosedTotal(p.getUnClosedTotal()); }); } agencyInfos.forEach(a -> { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml index 70fe070738..7e0a5cee0e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml @@ -101,8 +101,8 @@ SELECT #{a.areaCode} AS areaCode, - SUM(g.PROJECT_INCR) AS projectIncr, - SUM(g.CLOSED_INCR) AS closedIncr + IFNULL(SUM(g.PROJECT_INCR),0) AS projectIncr, + IFNULL(SUM(g.CLOSED_INCR),0) AS closedIncr FROM screen_project_quantity_grid_monthly g LEFT JOIN screen_customer_grid cg ON cg.GRID_ID = g.GRID_ID WHERE g.DEL_FLAG = 0 @@ -116,9 +116,9 @@ SELECT #{a.areaCode} AS areaCode, - SUM(g.PROJECT_TOTAL) AS projectTotal, - SUM(g.UN_CLOSED_TOTAL) AS unClosedTotal, - SUM(g.CLOSED_TOTAL) AS closedTotal + IFNULL(SUM(g.PROJECT_TOTAL),0) AS projectTotal, + IFNULL(SUM(g.UN_CLOSED_TOTAL),0) AS unClosedTotal, + IFNULL(SUM(g.CLOSED_TOTAL),0) AS closedTotal FROM screen_project_quantity_grid_monthly g LEFT JOIN screen_customer_grid cg ON cg.GRID_ID = g.GRID_ID WHERE g.DEL_FLAG = 0 From 9df85e7e4a381dcae631bc6a14550845871ac09e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 13 Apr 2021 16:40:55 +0800 Subject: [PATCH 025/121] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=84=E7=BB=87V2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 + .../epmet/dto/form/AddAreaCodeFormDTO.java | 27 ++++++ .../EpmetCommonServiceOpenFeignClient.java | 10 +++ ...tCommonServiceOpenFeignClientFallback.java | 12 +++ .../com/epmet/constant/AreaCodeConstant.java | 4 + .../epmet/controller/AreaCodeController.java | 14 +++ .../main/java/com/epmet/dao/AreaCodeDao.java | 4 + .../com/epmet/service/AreaCodeService.java | 10 +++ .../service/impl/AreaCodeServiceImpl.java | 70 +++++++++++++-- .../src/main/resources/mapper/AreaCodeDao.xml | 16 ++++ .../epmet/dto/form/AddAgencyV2FormDTO.java | 86 +++++++++++++++++++ .../epmet/dto/result/AddAgencyResultDTO.java | 14 ++- epmet-module/gov-org/gov-org-server/pom.xml | 6 ++ .../epmet/controller/AgencyController.java | 22 +++++ .../java/com/epmet/dao/CustomerAgencyDao.java | 2 + .../java/com/epmet/service/AgencyService.java | 9 ++ .../epmet/service/CustomerAgencyService.java | 2 + .../epmet/service/impl/AgencyServiceImpl.java | 63 ++++++++++++++ .../impl/CustomerAgencyServiceImpl.java | 12 +++ .../src/main/resources/logback-spring.xml | 4 +- .../resources/mapper/CustomerAgencyDao.xml | 10 +++ 21 files changed, 388 insertions(+), 11 deletions(-) create mode 100644 epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java create mode 100644 epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 210f2d3443..79f5421789 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -70,6 +70,8 @@ public enum EpmetErrorCode { NOT_DEL_AGENCY_PER(8205, "该机关存在工作人员,不允许删除"), NOT_DEL_DEPARTMENT(8206, "该部门存在工作人员,不允许删除"), NOT_DEL_AGENCY_GRID(8207, "该机关存在网格,不允许删除"), + AREA_CODE_ALREADY_EXISTS(8208,"组织区划已被占用,请重新选择"), + AGENCY_NAME_ALREADY_EXISTS(8209,"您当前的组织名称已存在,请重新修改"), REQUIRE_PERMISSION(8301, "您没有足够的操作权限"), THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"), diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java new file mode 100644 index 0000000000..349e6f89e3 --- /dev/null +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AddAreaCodeFormDTO.java @@ -0,0 +1,27 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 描述一下 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 14:36 + */ +@Data +public class AddAreaCodeFormDTO implements Serializable { + + @NotBlank(message = "currentAreaLevel不能为空") + private String currentAreaLevel; + @NotBlank(message = "parentAreaCode不能为空") + private String parentAreaCode; + + /** + * 新增的街道或者社区名称 + */ + @NotBlank(message = "name不能为空") + private String name; +} diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java index 66a1f46ee7..62989575c3 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/EpmetCommonServiceOpenFeignClient.java @@ -113,4 +113,14 @@ public interface EpmetCommonServiceOpenFeignClient { **/ @PostMapping(value = "commonservice/areacode/addstreetcommareacode", consumes = MediaType.APPLICATION_JSON_VALUE) Result addStreetCommAreaCode(@RequestBody AddAreaCodeDictFormDTO formDTO); + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 自定义行政地区编码 + * @Date 2021/4/13 14:31 + **/ + @PostMapping(value = "commonservice/areacode/addareacode", consumes = MediaType.APPLICATION_JSON_VALUE) + Result addAreaCode(AddAreaCodeFormDTO formDTO); } diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java index d9731558cd..4abd2dce39 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/feign/fallback/EpmetCommonServiceOpenFeignClientFallback.java @@ -89,4 +89,16 @@ public class EpmetCommonServiceOpenFeignClientFallback implements EpmetCommonSer public Result addStreetCommAreaCode(AddAreaCodeDictFormDTO formDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "addStreetCommAreaCode", formDTO); } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 自定义行政地区编码 + * @Date 2021/4/13 14:31 + **/ + @Override + public Result addAreaCode(AddAreaCodeFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_COMMON_SERVICE, "addAreaCode", formDTO); + } } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java index 3ee44fec5f..1768f08c37 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/constant/AreaCodeConstant.java @@ -26,4 +26,8 @@ public interface AreaCodeConstant { String LEVEL_ERROR = "RootAreaLevel填写错误【%s】"; + String FIRST_THREE_UD="001_UD"; + + String FIRST_TOW_UD="01_UD"; + String UD="_UD"; } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java index af8ecf093f..df821f7410 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/controller/AreaCodeController.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; +import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.service.AreaCodeService; @@ -107,4 +108,17 @@ public class AreaCodeController { ValidatorUtils.validateEntity(formDTO); return new Result().ok(areaCodeService.addStreetCommAreaCode(formDTO)); } + + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 自定义行政地区编码-产品自身使用 + * @Date 2021/4/13 14:40 + **/ + @PostMapping(value = "addareacode") + Result addAreaCode(@RequestBody AddAreaCodeFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result().ok(areaCodeService.addAreaCode(formDTO)); + } } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java index a5496cecc4..54b89ee82f 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeDao.java @@ -36,4 +36,8 @@ public interface AreaCodeDao extends BaseDao { List selectAllArea(); AreaCodeDTO selectByCountyCode(String countyCode); + + AreaCodeDTO selectByCityCode(String cityCode); + + AreaCodeDTO selectMaxCounty(String cityCode); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java index 415712de43..99c25ab2f2 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/AreaCodeService.java @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; +import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.entity.AreaCodeEntity; @@ -113,4 +114,13 @@ public interface AreaCodeService extends BaseService { * @Date 2021/2/5 17:39 **/ String addStreetCommAreaCode(AddAreaCodeDictFormDTO formDTO); + + /** + * @return java.lang.String + * @param formDTO + * @author yinzuomei + * @description 自定义行政地区编码 + * @Date 2021/4/13 14:40 + **/ + String addAreaCode(AddAreaCodeFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index f34ff30605..29cfc457aa 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.dao.AreaCodeDao; import com.epmet.dto.AreaCodeChildDTO; import com.epmet.dto.AreaCodeDTO; import com.epmet.dto.form.AddAreaCodeDictFormDTO; +import com.epmet.dto.form.AddAreaCodeFormDTO; import com.epmet.dto.form.AreaCodeDictFormDTO; import com.epmet.dto.result.AreaCodeDictResultDTO; import com.epmet.entity.AreaCodeEntity; @@ -588,7 +589,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl select * from area_code m where m.COUNTY_CODE=#{countyCode} + + + + \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java new file mode 100644 index 0000000000..bf29a4aede --- /dev/null +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java @@ -0,0 +1,86 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * 添加组织V2 + * + * @author yinzuomei@elink-cn.com + * @date 2021/4/13 11:08 + */ +@Data +public class AddAgencyV2FormDTO implements Serializable { + private static final long serialVersionUID = -8951334902226679043L; + + public interface AddUserInternalGroup { + } + + public interface DefaultUserShowGroup extends CustomerClientShowGroup { + } + + public interface AreaCodeGroup extends CustomerClientShowGroup { + } + + + @NotBlank(message = "上级组织ID不能为空", groups = AddUserInternalGroup.class) + private String parentAgencyId; + + /** + * 机构组织名称 + */ + @NotBlank(message = "组织名称不能为空", groups = DefaultUserShowGroup.class) + @Length(max = 50, message = "组织名称不能超过50个字", groups = DefaultUserShowGroup.class) + private String agencyName; + + /** + * 机关级别(社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province) + */ + @NotBlank(message = "组织级别不能为空;社区级:community,乡(镇、街道)级:street,区县级: district,市级: city省级:province", groups = AddUserInternalGroup.class) + private String level; + + /** + * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 + */ + @NotBlank(message = "areaCodeSwitch不能为空", groups = AddUserInternalGroup.class) + private String areaCodeSwitch; + + /** + * 地区编码 + */ + @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) + private String areaCode; + + /** + * 省份 + */ + private String province; + + /** + * 城市 + */ + private String city; + + /** + * 区县 + */ + private String district; + + /** + * 区域编码字典中的【街道】名称;来源于【/data/aggregator/org/nextlevelareacodelist】接口里的areaName + */ + private String street; + + /** + * 区域编码字典中的【社区】名称;来源于【/data/aggregator/org/nextlevelareacodelist】接口里的areaName + */ + private String community; +} diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java index bd8d994b8a..c77356968d 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AddAgencyResultDTO.java @@ -33,8 +33,18 @@ public class AddAgencyResultDTO implements Serializable { private static final long serialVersionUID = 1L; /** - * 机关组织Id + * 新添加的组织Id */ - private String agencyId = ""; + private String agencyId; + + /** + * 新添加的组织地区编码 + */ + private String areaCode; + + /** + * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 + */ + private String areaCodeSwitch; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/pom.xml b/epmet-module/gov-org/gov-org-server/pom.xml index 595c20f348..7644b56007 100644 --- a/epmet-module/gov-org/gov-org-server/pom.xml +++ b/epmet-module/gov-org/gov-org-server/pom.xml @@ -101,6 +101,12 @@ epmet-commons-rocketmq 2.0.0 + + com.epmet + common-service-client + 2.0.0 + compile + diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 08154a921d..74e095de3e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -33,6 +33,7 @@ import com.epmet.dto.result.AgencysResultDTO; import com.epmet.dto.result.SubAgencyResultDTO; import com.epmet.entity.CustomerAgencyEntity; import com.epmet.service.AgencyService; +import com.epmet.service.CustomerAgencyService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -54,6 +55,8 @@ public class AgencyController { @Autowired private AgencyService agencyService; + @Autowired + private CustomerAgencyService customerAgencyService; /** * @param formDTO @@ -81,6 +84,25 @@ public class AgencyController { return agencyService.addAgency(formDTO); } + /** + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + * @author yinzuomei + * @description 添加组织V2 + * @Date 2021/4/13 11:09 + **/ + @PostMapping("addagency-v2") + @RequirePermission(requirePermission = RequirePermissionEnum.ORG_SUBAGENCY_CREATE) + public Result addAgencyV2(@RequestBody AddAgencyV2FormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO, AddAgencyV2FormDTO.DefaultUserShowGroup.class, AddAgencyV2FormDTO.AddUserInternalGroup.class); + if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { + ValidatorUtils.validateEntity(formDTO, AddAgencyV2FormDTO.AreaCodeGroup.class); + } + //组织名称是否存在 + customerAgencyService.checkAgencyName(formDTO.getAgencyName()); + return new Result().ok(agencyService.addAgencyV2(formDTO)); + } + /** * 添加根级组织 * @param form diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index c304943b30..f9742f72e3 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -224,4 +224,6 @@ public interface CustomerAgencyDao extends BaseDao { * @Date 2020/12/15 10:04 **/ int delByAgencyId(@Param("agencyId") String agencyId, @Param("operateUserId") String operateUserId); + + List selectAgencyIdsByAreaCode(String areaCode); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java index 2eb012ca11..381fb7256a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/AgencyService.java @@ -108,4 +108,13 @@ public interface AgencyService { * @Date 2020/7/16 17:13 **/ void saveRootAgency(AddAgencyAndStaffFormDTO agencyAndStaff); + + /** + * 添加组织V2 + * + * @param formDTO rule id + * @return com.epmet.dto.result.AddAgencyResultDTO + */ + AddAgencyResultDTO addAgencyV2(AddAgencyV2FormDTO formDTO); + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 8051ca63f5..464c46c8dc 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -234,4 +234,6 @@ public interface CustomerAgencyService extends BaseService * @author sun **/ OrganizeTreeResultDTO organizeTree(String agencyId); + + void checkAgencyName(String agencyName); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 7e5f4b2831..40e81e9ff5 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -34,11 +34,13 @@ import com.epmet.dto.GovStaffRoleDTO; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.entity.CustomerAgencyEntity; +import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.AgencyService; import com.epmet.service.CustomerAgencyService; import com.epmet.service.CustomerOrgParameterService; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -77,6 +79,9 @@ public class AgencyServiceImpl implements AgencyService { private LoginUserUtil loginUserUtil; @Autowired private CustomerOrgParameterService customerOrgParameterService; + @Autowired + private EpmetCommonServiceOpenFeignClient epmetCommonServiceOpenFeignClient; + /** * @param formDTO @@ -411,4 +416,62 @@ public class AgencyServiceImpl implements AgencyService { } + /** + * 添加组织V2 + * + * @param formDTO rule id + * @return com.epmet.dto.result.AddAgencyResultDTO + */ + @Transactional(rollbackFor = Exception.class) + @Override + public AddAgencyResultDTO addAgencyV2(AddAgencyV2FormDTO formDTO) { + CustomerAgencyDTO parent = customerAgencyService.get(formDTO.getParentAgencyId()); + if (null == parent) { + throw new RenException(String.format("添加组织失败:没有找到跟组织信息,parentAgencyId=%s", formDTO.getParentAgencyId())); + } + AddAgencyResultDTO resultDTO = new AddAgencyResultDTO(); + resultDTO.setAreaCodeSwitch(formDTO.getAreaCodeSwitch()); + //判断areaCodeSwitch:open: 选择地区编码必填;closed: 无需选择地区编码 + CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class); + insertEntity.setOrganizationName(formDTO.getAgencyName()); + insertEntity.setTotalUser(NumConstant.ZERO); + insertEntity.setPid(parent.getId()); + insertEntity.setCustomerId(parent.getCustomerId()); + insertEntity.setParentAreaCode(parent.getAreaCode()); + if (StringUtils.isBlank(parent.getPid()) || NumConstant.ZERO_STR.equals(parent.getPid())) { + //如果上级是根级组织 + insertEntity.setPids(parent.getId()); + insertEntity.setAllParentName(parent.getOrganizationName()); + } else { + insertEntity.setPids(parent.getPids().concat(StrConstant.COLON).concat(parent.getId())); + insertEntity.setAllParentName(parent.getAllParentName().concat(StrConstant.HYPHEN).concat(parent.getOrganizationName())); + } + if (CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN.equals(formDTO.getAreaCodeSwitch())) { + //校验areaCode是否被使用过 + if (!"other".equals(formDTO.getAreaCode())) { + List agencyIds = customerAgencyDao.selectAgencyIdsByAreaCode(insertEntity.getAreaCode()); + if (CollectionUtils.isNotEmpty(agencyIds)) { + //已经被占用,提示 + throw new RenException(EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getCode(), EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getMsg()); + } + }else{ + //如果选择的是other,需要自定义一个编码 + AddAreaCodeFormDTO addAreaCodeFormDTO = new AddAreaCodeFormDTO(); + addAreaCodeFormDTO.setCurrentAreaLevel(formDTO.getLevel()); + addAreaCodeFormDTO.setParentAreaCode(parent.getAreaCode()); + addAreaCodeFormDTO.setName(formDTO.getAgencyName()); + Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); + if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { + throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + } + insertEntity.setAreaCode(addAreaCodeResult.getData()); + } + } + customerAgencyDao.insert(insertEntity); + //3:返回新组织Id + resultDTO.setAgencyId(insertEntity.getId()); + resultDTO.setAreaCode(StrConstant.EPMETY_STR); + return resultDTO; + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index bc91668e7c..dc81a51b47 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -22,6 +22,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -40,6 +41,7 @@ import com.epmet.feign.OperCrmFeignClient; import com.epmet.redis.CustomerAgencyRedis; import com.epmet.service.CustomerAgencyService; import com.epmet.util.ModuleConstant; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1057,4 +1059,14 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(agencyName), "ORGANIZATION_NAME", agencyName); + List entityList = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(entityList)) { + throw new RenException(EpmetErrorCode.AGENCY_NAME_ALREADY_EXISTS.getCode(), EpmetErrorCode.AGENCY_NAME_ALREADY_EXISTS.getMsg()); + } + } + } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml index 24d44d88f9..6c2d82a05b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/logback-spring.xml @@ -128,14 +128,14 @@ 15 - + diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 87f00d6652..27d446f644 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -399,4 +399,14 @@ UPDATED_TIME=NOW() where id=#{agencyId} + + \ No newline at end of file From 89acf1aea3074a25f212380a98131da46849d29e Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 13 Apr 2021 17:03:53 +0800 Subject: [PATCH 026/121] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E6=96=B0=E5=A2=9Earea=5Fcode=EF=BC=8Cdb=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/db/migration/V0.0.4__area_code.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql index 40b002fab6..e81f6b0f73 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/db/migration/V0.0.4__area_code.sql @@ -21,4 +21,4 @@ alter table customer_agency MODIFY COLUMN CITY VARCHAR(32) COMMENT '区域编码 alter table customer_agency MODIFY COLUMN DISTRICT VARCHAR(64) COMMENT '区域编码字典中的【区县】名称'; alter table customer_agency add COLUMN STREET varchar(64) comment '区域编码字典中的【街道】名称0409' AFTER DISTRICT; alter table customer_agency add COLUMN COMMUNITY varchar(64) comment '区域编码字典中的【社区】名称0409'AFTER STREET; -alter table customer_department add COLUMN AREA_CODE VARCHAR(64) comment '部门所属的行政地区编码:实际就是所属组织的地区编码' BEFORE DEL_FLAG; \ No newline at end of file +alter table customer_department add COLUMN AREA_CODE VARCHAR(64) comment '部门所属的行政地区编码:实际就是所属组织的地区编码' AFTER TOTAL_USER; \ No newline at end of file From 4a82ca3292715a53f0aef51501cb36afb49a43bc Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 13 Apr 2021 20:21:02 +0800 Subject: [PATCH 027/121] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9?= =?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 --- .../epmet/dto/topic/TopicAttachmentDTO.java | 18 ++ .../result/ResiTopicAndImgResultDTO.java | 24 +++ .../com/epmet/controller/DemoController.java | 26 ++- .../FactOriginProjectMainDailyDao.java | 26 ++- .../issue/IssueProjectCategoryDictDao.java | 4 +- .../java/com/epmet/dao/topic/TopicDao.java | 60 +++--- .../IssueProjectCategoryDictService.java | 2 + .../IssueProjectCategoryDictServiceImpl.java | 6 +- .../FactOriginProjectMainDailyService.java | 86 ++------ ...FactOriginProjectMainDailyServiceImpl.java | 73 ++----- ...GrassrootsGovernDataAbsorptionService.java | 10 + .../impl/ScreenExtractServiceImpl.java | 6 +- ...srootsGovernDataAbsorptionServiceImpl.java | 204 +++++++++++++++++- .../com/epmet/service/topic/TopicService.java | 12 ++ .../service/topic/impl/TopicServiceImpl.java | 7 +- .../extract/FactOriginProjectMainDailyDao.xml | 18 ++ .../issue/IssueProjectCategoryDictDao.xml | 7 + .../resources/mapper/project/ProjectDao.xml | 2 + .../main/resources/mapper/topic/TopicDao.xml | 37 +++- 19 files changed, 459 insertions(+), 169 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java new file mode 100644 index 0000000000..1fa32a8f37 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/TopicAttachmentDTO.java @@ -0,0 +1,18 @@ +package com.epmet.dto.topic; + +import lombok.Data; + +/** + * desc: + * + * @author: LiuJanJun + * @date: 2021/4/13 5:33 下午 + * @version: 1.0 + */ +@Data +public class TopicAttachmentDTO { + + private Integer sort; + private String attachmentUrl; + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java new file mode 100644 index 0000000000..a4ec445d98 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/topic/result/ResiTopicAndImgResultDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.topic.result; + +import com.epmet.dto.topic.TopicAttachmentDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author liujianjun + * @Description 组-话题对象 + * @ClassName ResiGroupTopicResultDTO + * @Auth wangc + * @Date 2020-06-20 17:23 + */ +@Data +public class ResiTopicAndImgResultDTO implements Serializable { + + private String topicId; + private String topicContent; + + private List topicImgList; + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java index 84d24df675..b47d3cc8ef 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java @@ -722,10 +722,10 @@ public class DemoController { /** * @return com.epmet.commons.tools.utils.Result - * @param + * @param * @author yinzuomei * @description screen_index_data_monthly 赋值ALL_PARENT_IDS - * @Date 2020/10/10 17:59 + * @Date 2020/10/10 17:59 **/ @DataSource(DataSourceConstant.EVALUATION_INDEX) @PostMapping("updateDeptIndexMonthly") @@ -810,15 +810,6 @@ public class DemoController { return new Result(); } - /*@Autowired - private ScreenGrassrootsGovernDataAbsorptionService ndddYhjfService; - - @PostMapping("diff") - public Result diff(@RequestBody ScreenCentralZoneDataFormDTO param){ - ndddYhjfService.difficultyDataHub(param); - return new Result(); - }*/ - @PostMapping("project-test") public Result project(@RequestBody ScreenCentralZoneDataFormDTO param){ screenProjectSettleService.extractScreenData(param); @@ -866,4 +857,17 @@ public class DemoController { return new Result(); } + @Autowired + private ScreenGrassrootsGovernDataAbsorptionService ndddYhjfService; + + @PostMapping("diffOld") + public Result diff(@RequestBody ScreenCentralZoneDataFormDTO param){ + ndddYhjfService.difficultyDataHub(param); + return new Result(); + } + @PostMapping("testDiffNew") + public Result testDiff(@RequestBody ScreenCentralZoneDataFormDTO param){ + return new Result().ok(ndddYhjfService.difficultyDataExtract(param)); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java index 8db5ef9bae..badbd6197c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java @@ -27,6 +27,7 @@ import com.epmet.dto.pingyin.result.*; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity; +import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -188,7 +189,7 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectDifficultyBaseInfo(@Param("customerId")String customerId,@Param("thresholdValue") Integer thresholdValue); - + /** * @Description 查询评价周期内新立的项目,是为了增量新增难点赌点的图片库 * @param customerId @@ -318,4 +319,25 @@ public interface FactOriginProjectMainDailyDao extends BaseDao initNewScreenProjectData(@Param("customerId")String customerId,@Param("dateId") String dateId,@Param("dataEndTime")String dataEndTime); -} \ No newline at end of file + /** + * desc: 获取难点堵点项目数据 + * + * @param customerId + * @param dateId + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/12 1:35 下午 + */ + List getProjectForDiff(@Param("customerId") String customerId, @Param("dateId") String dateId); + + /** + * desc: 获取难点堵点项目数据耗时 + * + * @param customerId + * @param dateId + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/12 1:35 下午 + */ + List getProjectPeriodForDiff(@Param("customerId") String customerId, @Param("dateId") String dateId); +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java index 371cda3cf2..95d91fb9d4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/issue/IssueProjectCategoryDictDao.java @@ -37,5 +37,7 @@ public interface IssueProjectCategoryDictDao { List listByUpdatedTime(@Param("start") Date start, @Param("end") Date end); - IssueProjectCategoryDictEntity getById(@Param("customerId")String customerId, @Param("id")String id);; + IssueProjectCategoryDictEntity getById(@Param("customerId") String customerId, @Param("id") String id); + + List getAllByCId(@Param("customerId") String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java index 16a76f30ee..d9b11ddc6a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java @@ -15,6 +15,7 @@ import com.epmet.dto.topic.ResiTopicDTO; import com.epmet.dto.extract.result.TopicInfoResultDTO; import com.epmet.dto.topic.TopicOriginInfoDTO; import com.epmet.dto.topic.result.ResiGroupTopicResultDTO; +import com.epmet.dto.topic.result.ResiTopicAndImgResultDTO; import com.epmet.dto.topic.result.ResiTopicOperationResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; import org.apache.ibatis.annotations.Mapper; @@ -27,115 +28,118 @@ import java.util.List; public interface TopicDao { /** - * @Description 将组按照网格Id排序 * @param targetDate * @param customerId * @return List + * @Description 将组按照网格Id排序 * @author wangc * @date 2020.06.22 11:05 - **/ - List selectGroupOrderByGrid(@Param("targetDate")Date targetDate, @Param("customerId")String customerId); + **/ + List selectGroupOrderByGrid(@Param("targetDate") Date targetDate, @Param("customerId") String customerId); /** - * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录 * @param targetDate * @return List + * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录 * @author wangc * @date 2020.06.22 11:07 - **/ - List selectTopicOperationRecord(@Param("targetDate")Date targetDate); + **/ + List selectTopicOperationRecord(@Param("targetDate") Date targetDate); /** - * @Description 将组按照网格Id排序 * @param * @param customerId * @return List + * @Description 将组按照网格Id排序 * @author wangc * @date 2020.06.22 11:05 **/ - List selectGroupOrderByGridBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate, @Param("customerId")String customerId); + List selectGroupOrderByGridBetweenTimeRange(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("customerId") String customerId); /** - * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录 * @param * @return List + * @Description 查询话题的操作记录,如果返回结果中没有对应Id的话题说明当日话题没有操作记录 * @author wangc * @date 2020.06.22 11:07 **/ - List selectTopicOperationRecordBetweenTimeRange(@Param("startDate")Date startDate, @Param("endDate")Date endDate); + List selectTopicOperationRecordBetweenTimeRange(@Param("startDate") Date startDate, @Param("endDate") Date endDate); /** * 根据ids获取话题信息 - * @author zhaoqifeng - * @date 2020/9/15 17:33 + * * @param ids * @return java.util.List + * @author zhaoqifeng + * @date 2020/9/15 17:33 */ List selectTopicByIds(@Param("ids") List ids); /** - * @Description 查询话题创建者信息 * @param topicIds + * @Description 查询话题创建者信息 * @author zxc * @date 2020/9/15 4:55 下午 */ - List selectTopicInfo(@Param("topicIds")List topicIds); + List selectTopicInfo(@Param("topicIds") List topicIds); /** - * @return java.util.List * @param customerId - * @param dateId yyyyMMdd + * @param dateId yyyyMMdd + * @return java.util.List * @author yinzuomei - * @description 根据日期查询resi_topic_operation,返回当前日期这一天内所有话题相关的操作记录 + * @description 根据日期查询resi_topic_operation,返回当前日期这一天内所有话题相关的操作记录 * @Date 2020/9/15 18:14 **/ - List selectListTopicOriginInfo(@Param("customerId")String customerId, @Param("dateId")String dateId); + List selectListTopicOriginInfo(@Param("customerId") String customerId, @Param("dateId") String dateId); /** - * @return java.util.List * @param customerId * @param dateId + * @return java.util.List * @author yinzuomei * @description 查询在这一天发生变化的话题记录 * @Date 2020/9/23 17:52 **/ - List queryUpdateTopicOriginInfoList(@Param("customerId")String customerId, @Param("dateId")String dateId); + List queryUpdateTopicOriginInfoList(@Param("customerId") String customerId, @Param("dateId") String dateId); /** - * @Description 查询话题的图片 * @param list * @return java.util.List + * @Description 查询话题的图片 * @author wangc * @date 2020.09.28 15:40 */ List selectTopicImgs(@Param("list") List list); /** - * @Description 得到话题(项目)内容 * @param list - * @return java.util.Map + * @return java.util.Map + * @Description 得到话题(项目)内容 * @author wangc * @date 2020.09.28 16:28 */ List selectTopicContent(@Param("list") List list); /** - * @Description 根据话题Id查询大屏项目的相关信息 * @param list * @return java.util.List + * @Description 根据话题Id查询大屏项目的相关信息 * @author wangc * @date 2021.03.08 17:13 - */ + */ List selectScreenProjectData(@Param("list") List list); /** - * @Description 初始化指定项目的图片 * @param customerId * @param list * @return java.util.List + * @Description 初始化指定项目的图片 * @author wangc * @date 2021.03.09 14:19 - */ - List initNewScreenProjectImgData(@Param("customerId")String customerId,@Param("list") List list); + */ + List initNewScreenProjectImgData(@Param("customerId") String customerId, @Param("list") List list); + + ResiTopicAndImgResultDTO getTopicAndImgs(@Param("topicId") String topicId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java index 4d2a96f7be..ad3e0f4f2f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/IssueProjectCategoryDictService.java @@ -36,4 +36,6 @@ public interface IssueProjectCategoryDictService{ List listByUpdatedTime(Date start, Date end); IssueProjectCategoryDictEntity getById(String customerId,String id); + + List getAllByCId(String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java index 982030799f..38ae06e0e7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/Issue/impl/IssueProjectCategoryDictServiceImpl.java @@ -5,7 +5,6 @@ import com.epmet.constant.DataSourceConstant; import com.epmet.dao.issue.IssueProjectCategoryDictDao; import com.epmet.entity.issue.IssueProjectCategoryDictEntity; import com.epmet.service.Issue.IssueProjectCategoryDictService; -import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -39,4 +38,9 @@ public class IssueProjectCategoryDictServiceImpl implements IssueProjectCategory return issueProjectCategoryDictDao.getById(customerId,id); } + @Override + public List getAllByCId(String customerId) { + return issueProjectCategoryDictDao.getAllByCId(customerId); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index e9bca2843f..7b3a3b8d61 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -18,7 +18,6 @@ package com.epmet.service.evaluationindex.extract.todata; import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.commons.tools.page.PageData; import com.epmet.dto.extract.FactOriginProjectMainDailyDTO; import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO; import com.epmet.dto.extract.result.OrgStatisticsResultDTO; @@ -27,11 +26,12 @@ import com.epmet.dto.indexcollect.result.CpcIndexCommonDTO; import com.epmet.dto.pingyin.result.*; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; +import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity; +import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import java.util.List; -import java.util.Map; /** * 项目主表_日统计 @@ -41,66 +41,6 @@ import java.util.Map; */ public interface FactOriginProjectMainDailyService extends BaseService { - /** - * 默认分页 - * - * @param params - * @return PageData - * @author generator - * @date 2020-09-16 - */ - PageData page(Map params); - - /** - * 默认查询 - * - * @param params - * @return java.util.List - * @author generator - * @date 2020-09-16 - */ - List list(Map params); - - /** - * 单条查询 - * - * @param id - * @return FactOriginProjectMainDailyDTO - * @author generator - * @date 2020-09-16 - */ - FactOriginProjectMainDailyDTO get(String id); - - /** - * 默认保存 - * - * @param dto - * @return void - * @author generator - * @date 2020-09-16 - */ - void save(FactOriginProjectMainDailyDTO dto); - - /** - * 默认更新 - * - * @param dto - * @return void - * @author generator - * @date 2020-09-16 - */ - void update(FactOriginProjectMainDailyDTO dto); - - /** - * 批量删除 - * - * @param ids - * @return void - * @author generator - * @date 2020-09-16 - */ - void delete(String[] ids); - /** * 获取客户下项目 * @author zhaoqifeng @@ -369,4 +309,24 @@ public interface FactOriginProjectMainDailyService extends BaseService list,Integer exceedLimit,Integer about2exceedLimit); -} \ No newline at end of file + /** + * desc: 条件获取项目数据 + * + * @param param + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/12 11:07 上午 + */ + List getProjectForDiff(ScreenCentralZoneDataFormDTO param); + + /** + * desc: 根据项目数据 获取相关连的项目耗时 + * + * @param param + * @return java.util.List + * @author LiuJanJun + * @date 2021/4/12 1:53 下午 + */ + List getProjectPeriod(ScreenCentralZoneDataFormDTO param); + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 95dffc461a..643ddba8d4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -17,14 +17,9 @@ package com.epmet.service.evaluationindex.extract.todata.impl; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; -import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.page.PageData; -import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; @@ -39,17 +34,21 @@ import com.epmet.dto.pingyin.result.*; import com.epmet.dto.result.CostDayResultDTO; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; +import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity; +import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import java.util.*; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -66,57 +65,6 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl page(Map params) { - IPage page = baseDao.selectPage( - getPage(params, FieldConstant.CREATED_TIME, false), - getWrapper(params) - ); - return getPageData(page, FactOriginProjectMainDailyDTO.class); - } - - @Override - public List list(Map params) { - List entityList = baseDao.selectList(getWrapper(params)); - - return ConvertUtils.sourceToTarget(entityList, FactOriginProjectMainDailyDTO.class); - } - - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); - - return wrapper; - } - - @Override - public FactOriginProjectMainDailyDTO get(String id) { - FactOriginProjectMainDailyEntity entity = baseDao.selectById(id); - return ConvertUtils.sourceToTarget(entity, FactOriginProjectMainDailyDTO.class); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void save(FactOriginProjectMainDailyDTO dto) { - FactOriginProjectMainDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactOriginProjectMainDailyEntity.class); - insert(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void update(FactOriginProjectMainDailyDTO dto) { - FactOriginProjectMainDailyEntity entity = ConvertUtils.sourceToTarget(dto, FactOriginProjectMainDailyEntity.class); - updateById(entity); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { - // 逻辑删除(@TableLogic 注解) - baseDao.deleteBatchIds(Arrays.asList(ids)); - } @Override public List getProjectByCustomer(String customerId) { @@ -466,6 +414,15 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl getProjectForDiff(ScreenCentralZoneDataFormDTO param) { + return baseDao.getProjectForDiff(param.getCustomerId(),param.getDateId()); + } + + @Override + public List getProjectPeriod(ScreenCentralZoneDataFormDTO param) { + return baseDao.getProjectPeriodForDiff(param.getCustomerId(),param.getDateId()); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java index 56c73b2de5..817d714096 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenGrassrootsGovernDataAbsorptionService.java @@ -26,4 +26,14 @@ public interface ScreenGrassrootsGovernDataAbsorptionService { * @date 2020.09.25 10:00 **/ void difficultyDataHub(ScreenCentralZoneDataFormDTO param); + + /** + * desc: 新的难点堵点抽取 + * + * @param param + * @return boolean + * @author LiuJanJun + * @date 2021/4/9 6:05 下午 + */ + boolean difficultyDataExtract(ScreenCentralZoneDataFormDTO param); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 9cdd394e67..23442bedbd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -171,7 +171,8 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); - param.setCustomerId(customerId);param.setDateId(dateId); + param.setCustomerId(customerId); + param.setDateId(dateId); //中央区 screen_user_total_data try { screenCentralZoneDataAbsorptionService.centralZoneDataHub(param); @@ -182,6 +183,9 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { try { log.info("【难点赌点数据上报开始------】 当前客户Id{}",param.getCustomerId()); screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); + + //todo 初始化全量 param.setDateId(null); + //screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param); log.info("【难点赌点数据上报结束------】 当前客户Id{}",param.getCustomerId()); }catch (Exception e){ log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 39501e53b4..4461d75dc4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -4,13 +4,22 @@ import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; +import com.epmet.constant.ProjectConstant; +import com.epmet.dto.ProjectCategoryDTO; +import com.epmet.dto.ProjectDTO; import com.epmet.dto.org.GridInfoDTO; import com.epmet.dto.project.result.ProjectLatestOperationResultDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; +import com.epmet.dto.topic.result.ResiTopicAndImgResultDTO; +import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity; +import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity; +import com.epmet.entity.issue.IssueProjectCategoryDictEntity; +import com.epmet.entity.stats.DimAgencyEntity; +import com.epmet.service.Issue.IssueProjectCategoryDictService; import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; import com.epmet.service.evaluationindex.extract.toscreen.ScreenGrassrootsGovernDataAbsorptionService; import com.epmet.service.evaluationindex.indexcal.CpcIndexCalculateService; @@ -20,6 +29,7 @@ import com.epmet.service.org.CustomerGridService; import com.epmet.service.point.UserPointService; import com.epmet.service.project.ProjectProcessService; import com.epmet.service.project.ProjectService; +import com.epmet.service.stats.DimAgencyService; import com.epmet.service.topic.TopicService; import com.epmet.service.user.UserService; import lombok.extern.slf4j.Slf4j; @@ -49,6 +59,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr @Autowired private CustomerGridService customerGridService; @Autowired + private DimAgencyService dimAgencyService; + @Autowired private UserPointService userPointService; @Autowired private CpcIndexCalculateService cpcIndexCalculateService; @@ -64,6 +76,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr private TopicService topicService; @Autowired private ProjectService projectService; + @Autowired + private IssueProjectCategoryDictService issueProjectCategoryDictService; /** * @Description 用户积分、党员分值数据中转站 * @param param @@ -137,7 +151,9 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr public void difficultyDataHub(ScreenCentralZoneDataFormDTO param) { //查询数据 List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId())); - if(CollectionUtils.isEmpty(difficulties)) return; + if(CollectionUtils.isEmpty(difficulties)) { + return; + } //2.查询出客户下网格的相关信息 List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); @@ -157,7 +173,10 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); //图片 List projectSourceMap = difficulties.stream().map(diff->{ - ProjectSourceMapFormDTO map = new ProjectSourceMapFormDTO();map.setProjectId(diff.getEventId());map.setSourceId(diff.getEventImgUrl());return map; + ProjectSourceMapFormDTO map = new ProjectSourceMapFormDTO(); + map.setProjectId(diff.getEventId()); + map.setSourceId(diff.getEventImgUrl()); + return map; }).collect(Collectors.toList()); //factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds); @@ -194,4 +213,185 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList); log.info("【大屏数据抽取-难点赌点执行完毕】 客户Id{} 难点赌点数据{}",param.getCustomerId(),JSON.toJSONString(difficulties)); } + + @Override + public boolean difficultyDataExtract(ScreenCentralZoneDataFormDTO param) { + //TODO + //1.根据客户Id 获取所有项目数据 + List difficultyBaseList = factOriginProjectMainDailyService.getProjectForDiff(param); + if (CollectionUtils.isEmpty(difficultyBaseList)){ + log.warn("difficultyDataExtract customerId:{} have any project",param.getCustomerId()); + return false; + } + //获取业务库项目标题 + List bizProjectInfoList = projectService.getProjectInfo(param.getCustomerId(), null); + if (CollectionUtils.isEmpty(bizProjectInfoList)){ + log.warn("difficultyDataExtract customerId:{} have any project",param.getCustomerId()); + return false; + } + Map bizProjectInfoMap = bizProjectInfoList.stream().collect(Collectors.toMap(ProjectDTO::getId, o -> o, (o1, o2) -> o1)); + //获取agency维度 + List agencyList = dimAgencyService.getAgencyListByCustomerId(param.getCustomerId()); + Map agencyMap = agencyList.stream().collect(Collectors.toMap(DimAgencyEntity::getId, o -> o, (o1, o2) -> o1)); + //获取grid维度 + List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO::getGridId, o -> o, (o1, o2) -> o1)); + + //获取客户下所有项目分类 + List categoryList = issueProjectCategoryDictService.getAllByCId(param.getCustomerId()); + + //项目分类数据 todo 暂时查询所有 + List projectCategoryData = projectService.getProjectCategoryData(param.getCustomerId(), null); + //key projectId:categoryCode Set + Map> projectCategoryMap = projectCategoryData.stream() + .collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toSet()))); + + //2.获取项目的所有节点耗时数据 + List projectPeriodList = factOriginProjectMainDailyService.getProjectPeriod(param); + Map orgCountMap = new HashMap<>(); + Map handleCountMap = new HashMap<>(); + projectPeriodList.forEach(period->{ + Integer orgCount = orgCountMap.get(period.getProjectId()); + if (orgCount == null){ + orgCount = 0; + }else{ + ++orgCount; + } + orgCountMap.put(period.getProjectId(),orgCount); + Integer handleCount = handleCountMap.get(period.getProjectId()); + if (handleCount == null){ + handleCount = 0; + }else{ + ++handleCount; + } + handleCountMap.put(period.getProjectId(),handleCount); + }); + List diffList = new ArrayList<>(); + for (FactOriginProjectMainDailyEntity project : difficultyBaseList) { + if (agencyMap.get(project.getAgencyId()) == null || bizProjectInfoMap.get(project.getId()) == null) { + log.error("未获取到相关的项目信息或者项目的所属组织信息"); + continue; + } + + ScreenDifficultyDataEntity diffEntity = buildBaseDiffEntity(project, agencyMap, gridMap, bizProjectInfoMap); + Integer regCount = orgCountMap.get(project.getId()); + if (regCount != null){ + diffEntity.setEventReOrg(regCount); + } + Integer handleOrgCount = handleCountMap.get(project.getId()); + if (handleOrgCount != null){ + diffEntity.setEventHandledCount(handleOrgCount); + } + + + diffEntity.setDataEndTime(param.getDateId()); + setCategoryInfo(diffEntity, project.getId(),categoryList,projectCategoryMap); + + + if (StringUtils.isNotBlank(project.getTopicId())){ + //获取图片及话题内容 + ResiTopicAndImgResultDTO topicInfo = topicService.getTopicAndImgs(project.getTopicId(),"image"); + if (topicInfo != null){ + diffEntity.setEventImgUrl(topicInfo.getTopicImgList().get(NumConstant.ZERO).getAttachmentUrl()); + diffEntity.setEventContent(topicInfo.getTopicContent()); + } + } + diffList.add(diffEntity); + log.info("========:"+JSON.toJSONString(diffList)); + } + + + + //3.获取项目的最后操作记录 + return false; + } + + private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { + Set categorySet = projectCategoryMap.get(projectId); + if (CollectionUtils.isEmpty(categorySet)){ + return; + } + projectCategoryMap.forEach((k,v) ->{ + List childCategory = new ArrayList<>(); + v.forEach(categoryCode-> getParentNode(childCategory,categoryList,categoryCode)); + String categoryCodes = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryCode).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); + String categoryNames = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryName).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); + diffEntity.setEventCategoryCode(categoryCodes); + diffEntity.setEventCategoryName(categoryNames); + }); + + } + + private ScreenDifficultyDataEntity buildBaseDiffEntity(FactOriginProjectMainDailyEntity project, Map agencyMap, + Map gridMap, Map bizProjectInfoMap) { + ProjectDTO projectDTO = bizProjectInfoMap.get(project.getId()); + ScreenDifficultyDataEntity diff = new ScreenDifficultyDataEntity(); + diff.setCustomerId(project.getCustomerId()); + //大屏的是逗号隔开的 + String allPIds = project.getPids().replaceAll(StrConstant.COLON,StrConstant.COMMA); + DimAgencyEntity agencyInfoDTO = agencyMap.get(project.getAgencyId()); + if (StringUtils.isBlank(project.getGridId())){ + diff.setOrgType("agency"); + diff.setOrgId(project.getAgencyId()); + diff.setParentId(project.getPid()); + diff.setAllParentIds(allPIds.replace(StrConstant.COMMA+project.getAgencyId(),StrConstant.EPMETY_STR)); + diff.setOrgName(agencyInfoDTO.getAgencyName()); + + if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())){ + diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN.concat(diff.getOrgName()))); + }else{ + diff.setEventSource(agencyInfoDTO.getAgencyName()); + } + //如果是组织的则 设置背景为内容 + diff.setEventContent(projectDTO.getBackGround()); + }else{ + diff.setOrgType("grid"); + diff.setOrgId(project.getGridId()); + diff.setParentId(project.getAgencyId()); + //所有上级id 即包含agencyId在内的所有pids + diff.setAllParentIds(allPIds); + GridInfoDTO gridInfoDTO = gridMap.get(project.getGridId()); + diff.setOrgName(gridInfoDTO.getGridName()); + String agencyAndGridName = agencyInfoDTO.getAgencyName().concat(StrConstant.HYPHEN.concat(diff.getOrgName())); + //todo 市北区的 allParentname 为什么为空 + //if (!project.getPid().equals(NumConstant.ZERO_STR)){ + if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())){ + diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyAndGridName)); + }else{ + diff.setEventSource(agencyAndGridName); + } + } + + diff.setEventId(project.getId()); + String projectStatus = project.getProjectStatus(); + diff.setEventStatusCode(projectStatus); + if (ProjectConstant.PENDING.equals(projectStatus)){ + diff.setEventStatusDesc("处理中"); + //项目耗时 当前时间-项目创建时间 + diff.setEventCostTime((int) ((System.currentTimeMillis()-projectDTO.getCreatedTime().getTime())/1000/60)); + }else{ + diff.setEventStatusDesc("已结案"); + //项目耗时 更新时间-项目创建时间 + diff.setEventCostTime((int) ((projectDTO.getUpdatedTime().getTime() - projectDTO.getCreatedTime().getTime())/1000/60)); + } + //暂时不放内容 用不到 + diff.setLatestOperateDesc(""); + + return diff; + } + + /** + * 递归查询父节点 + * @param childCategory + * @param categoryList + * @param categoryCode + */ + private void getParentNode(List childCategory, List categoryList, String categoryCode) { + categoryList.stream() + .filter(item -> Objects.nonNull(categoryCode) && Objects.equals(categoryCode, item.getCategoryCode())) + .forEach(menu -> { + getParentNode(childCategory, categoryList, menu.getParentCategoryCode()); + childCategory.add(menu); + }); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java index 5dc7b17392..475fb886c7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java @@ -9,6 +9,7 @@ import com.epmet.dto.stats.DimTopicStatusDTO; import com.epmet.dto.stats.topic.result.TopicStatisticalData; import com.epmet.dto.topic.ResiTopicDTO; import com.epmet.dto.topic.TopicOriginInfoDTO; +import com.epmet.dto.topic.result.ResiTopicAndImgResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; import com.epmet.util.DimIdGenerator; @@ -104,4 +105,15 @@ public interface TopicService { * @date 2021.03.09 13:59 */ List buildNewScreenProjectImgData(List list); + + /** + * desc: 根据话题ID获取 话题内容及附件列表 + * + * @param topicId + * @param attachmentType + * @return com.epmet.dto.topic.result.ResiTopicAndImgResultDTO + * @author LiuJanJun + * @date 2021/4/13 5:39 下午 + */ + ResiTopicAndImgResultDTO getTopicAndImgs(String topicId,String attachmentType); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java index c832202e70..0b74adba49 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java @@ -18,6 +18,7 @@ import com.epmet.dto.stats.topic.result.TopicStatisticalData; import com.epmet.dto.topic.ResiTopicDTO; import com.epmet.dto.topic.TopicOriginInfoDTO; import com.epmet.dto.topic.result.ResiGroupTopicResultDTO; +import com.epmet.dto.topic.result.ResiTopicAndImgResultDTO; import com.epmet.dto.topic.result.ResiTopicOperationResultDTO; import com.epmet.dto.topic.result.ResiTopicResultDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity; @@ -35,7 +36,6 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.text.NumberFormat; import java.util.*; -import java.util.stream.Collector; import java.util.stream.Collectors; /** @@ -232,6 +232,11 @@ public class TopicServiceImpl implements TopicService { )).collect(Collectors.toList()); } + @Override + public ResiTopicAndImgResultDTO getTopicAndImgs(String topicId,String attachmentType) { + return topicDao.getTopicAndImgs(topicId); + } + /** * @Description 初始化机关-所有下级网格Map * @param pid - 固定一个机关Id diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 9d10a564f6..9935094e55 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -588,6 +588,24 @@ + + + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index 790c464b60..58dd19a9e5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -81,6 +81,8 @@ AGENCY_ID, ORIGIN, ORIGIN_ID, + TITLE, + BACK_GROUND, STATUS, CLOSED_STATUS, ORG_ID_PATH, diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml index f272c6f692..8dfb2aae2e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml @@ -15,6 +15,15 @@ + + + + + + + + + - \ No newline at end of file + + + From 4153d52873217bca4e3abfea01d048b9d09b5dbe Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 09:35:24 +0800 Subject: [PATCH 028/121] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=84=E7=BB=87V2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/commonservice/impl/AreaCodeServiceImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java index ed6ce54264..be9d117721 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java @@ -7,9 +7,9 @@ import com.epmet.dataaggre.dto.govorg.form.NextAreaCodeFormDTO; import com.epmet.dataaggre.dto.govorg.result.NextAreaCodeResultDTO; import com.epmet.dataaggre.service.commonservice.AreaCodeService; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -67,9 +67,10 @@ public class AreaCodeServiceImpl implements AreaCodeService { break; default: } - if (CollectionUtils.isNotEmpty(list)) { - list.add(other); + if (CollectionUtils.isEmpty(list)) { + list = new ArrayList<>(); } + list.add(other); return list; } } From 77b3266a1e3cd4ac3479da88e54bb28948fb5768 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 14 Apr 2021 09:42:10 +0800 Subject: [PATCH 029/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4=20?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E7=AB=8B=E9=A1=B9=E7=B1=BB=E5=9E=8B=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=88=86=E7=B1=BB=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IssueProjectCategoryDictServiceImpl.java | 13 ++++++----- .../dto/form/ProjectSaveCategoryFormDTO.java | 6 ++++- .../impl/ProjectCategoryServiceImpl.java | 22 ++++++++++++++----- 3 files changed, 30 insertions(+), 11 deletions(-) diff --git a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java index d623d3f88a..8db5944db0 100644 --- a/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java +++ b/epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java @@ -165,12 +165,15 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl%s", formDTO.getProjectId())); + ProjectIssueDTOResultDTO issueDTO = new ProjectIssueDTOResultDTO(); + if("issue".equals(formDTO.getOrigin())){ + //1.根据项目id查询对应的议题基本信息 + IssueDTO dto = issueProjectRelationDao.selectProjectToIssue(formDTO.getProjectId()); + if (null == dto) { + throw new RenException(String.format("保存项目分类信息,获取项目对应的议题基本信息失败,projectId->%s", formDTO.getProjectId())); + } + issueDTO = ConvertUtils.sourceToTarget(dto,ProjectIssueDTOResultDTO.class); } - ProjectIssueDTOResultDTO issueDTO = ConvertUtils.sourceToTarget(dto,ProjectIssueDTOResultDTO.class); resultDTO.setIssueDTO(issueDTO); //2.批量查询分类信息 List categoryIdList = formDTO.getCategoryList().stream().map(SaveIssueCategoryFormDTO::getId).collect(Collectors.toList()); diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectSaveCategoryFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectSaveCategoryFormDTO.java index 34a8732be5..64709213b7 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectSaveCategoryFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectSaveCategoryFormDTO.java @@ -23,11 +23,15 @@ public class ProjectSaveCategoryFormDTO implements Serializable { * 议题分类集合 */ private List categoryList; - /** * 客户Id */ private String customerId; + /** + * 来源:议题issue 项目立项:agency + */ + private String origin; + public interface SaveCategory{} diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java index 022e777d9a..85a2d6cc7e 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectCategoryServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.ProjectCategoryDao; +import com.epmet.dao.ProjectDao; import com.epmet.dao.ProjectTagsDao; import com.epmet.dto.ProjectCategoryDTO; import com.epmet.dto.form.DelCategoryFormDTO; @@ -34,6 +35,7 @@ import com.epmet.dto.form.ProjectCategoryTagListFormDTO; import com.epmet.dto.form.ProjectSaveCategoryFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.ProjectCategoryEntity; +import com.epmet.entity.ProjectEntity; import com.epmet.feign.GovIssueOpenFeignClient; import com.epmet.redis.ProjectCategoryRedis; import com.epmet.service.ProjectCategoryService; @@ -62,6 +64,8 @@ public class ProjectCategoryServiceImpl extends BaseServiceImpl page(Map params) { @@ -157,6 +161,14 @@ public class ProjectCategoryServiceImpl extends BaseServiceImpl%s", formDTO.getProjectId())); + } + formDTO.setOrigin(projectEntity.getOrigin()); + //end + //1.查询项目所属客户和所属网格信息以及分类对应的分类信息 Result result = govIssueOpenFeignClient.getProjectAndCategoryInfo(formDTO); if (!result.success()) { @@ -165,12 +177,12 @@ public class ProjectCategoryServiceImpl extends BaseServiceImpl categoryList = result.getData().getCategoryList(); - //2.汇总批量新增数据 + //2.汇总批量新增项目分类数据 List entityList = new ArrayList<>(); formDTO.getCategoryList().forEach(ca -> { ProjectCategoryEntity entity = new ProjectCategoryEntity(); - entity.setCustomerId(issue.getCustomerId()); - entity.setGridId(issue.getGridId()); + entity.setCustomerId(formDTO.getCustomerId()); + if("issue".equals(formDTO.getOrigin())){ entity.setGridId(issue.getGridId()); } entity.setProjectId(formDTO.getProjectId()); entity.setCategoryId(ca.getId()); categoryList.forEach(cl -> { @@ -182,10 +194,10 @@ public class ProjectCategoryServiceImpl extends BaseServiceImpl Date: Wed, 14 Apr 2021 10:35:44 +0800 Subject: [PATCH 030/121] =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=8C=BA=E5=88=92?= =?UTF-8?q?=EF=BC=9A=E5=B8=82=E7=BA=A7=E5=88=97=E8=A1=A8=E4=B8=8D=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E5=85=B6=E4=BB=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/AreaCodeServiceImpl.java | 4 +- .../govorg/impl/GovOrgServiceImpl.java | 2 +- .../epmet/service/impl/AgencyServiceImpl.java | 51 ++++++++++++++----- 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java index be9d117721..6d127a135a 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/commonservice/impl/AreaCodeServiceImpl.java @@ -70,7 +70,9 @@ public class AreaCodeServiceImpl implements AreaCodeService { if (CollectionUtils.isEmpty(list)) { list = new ArrayList<>(); } - list.add(other); + if(!"province".equals(formDTO.getLevel())){ + list.add(other); + } return list; } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 5006efd5f7..ebc8cac4b3 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -139,7 +139,7 @@ public class GovOrgServiceImpl implements GovOrgService { //内部客户: 已经被使用过的areaCode List usedAreaCodeList1 = customerAgencyDao.selectUsedAreaCodeList(formDTO.getAreaCode()); //外部子客户: - List usedAreaCodeList2= customerRelation.selectUsedAreaCodeList(formDTO.getAreaCode()); + List usedAreaCodeList2 = customerRelation.selectUsedAreaCodeList(formDTO.getAreaCode()); //已经被使用的移除不显示 Iterator iterator = allList.iterator(); while (iterator.hasNext()) { diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 40e81e9ff5..2a50885c94 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -431,21 +431,8 @@ public class AgencyServiceImpl implements AgencyService { } AddAgencyResultDTO resultDTO = new AddAgencyResultDTO(); resultDTO.setAreaCodeSwitch(formDTO.getAreaCodeSwitch()); + CustomerAgencyEntity insertEntity=this.constructInsertEntity(formDTO,parent); //判断areaCodeSwitch:open: 选择地区编码必填;closed: 无需选择地区编码 - CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class); - insertEntity.setOrganizationName(formDTO.getAgencyName()); - insertEntity.setTotalUser(NumConstant.ZERO); - insertEntity.setPid(parent.getId()); - insertEntity.setCustomerId(parent.getCustomerId()); - insertEntity.setParentAreaCode(parent.getAreaCode()); - if (StringUtils.isBlank(parent.getPid()) || NumConstant.ZERO_STR.equals(parent.getPid())) { - //如果上级是根级组织 - insertEntity.setPids(parent.getId()); - insertEntity.setAllParentName(parent.getOrganizationName()); - } else { - insertEntity.setPids(parent.getPids().concat(StrConstant.COLON).concat(parent.getId())); - insertEntity.setAllParentName(parent.getAllParentName().concat(StrConstant.HYPHEN).concat(parent.getOrganizationName())); - } if (CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN.equals(formDTO.getAreaCodeSwitch())) { //校验areaCode是否被使用过 if (!"other".equals(formDTO.getAreaCode())) { @@ -474,4 +461,40 @@ public class AgencyServiceImpl implements AgencyService { return resultDTO; } + private CustomerAgencyEntity constructInsertEntity(AddAgencyV2FormDTO formDTO, CustomerAgencyDTO parent) { + CustomerAgencyEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, CustomerAgencyEntity.class); + insertEntity.setOrganizationName(formDTO.getAgencyName()); + insertEntity.setTotalUser(NumConstant.ZERO); + insertEntity.setPid(parent.getId()); + insertEntity.setCustomerId(parent.getCustomerId()); + insertEntity.setParentAreaCode(parent.getAreaCode()); + if (StringUtils.isBlank(parent.getPid()) || NumConstant.ZERO_STR.equals(parent.getPid())) { + //如果上级是根级组织 + insertEntity.setPids(parent.getId()); + insertEntity.setAllParentName(parent.getOrganizationName()); + } else { + insertEntity.setPids(parent.getPids().concat(StrConstant.COLON).concat(parent.getId())); + insertEntity.setAllParentName(parent.getAllParentName().concat(StrConstant.HYPHEN).concat(parent.getOrganizationName())); + } + switch(parent.getLevel()) + { + case CustomerAgencyConstant.PROVINCE_LEVEL: + insertEntity.setLevel(CustomerAgencyConstant.CITY_LEVEL); + break; + case CustomerAgencyConstant.CITY_LEVEL: + insertEntity.setLevel(CustomerAgencyConstant.DISTRICT); + break; + case CustomerAgencyConstant.DISTRICT: + insertEntity.setLevel(CustomerAgencyConstant.STREET_LEVEL); + break; + case CustomerAgencyConstant.STREET_LEVEL: + insertEntity.setLevel(CustomerAgencyConstant.COMMUNITY_LEVEL); + break; + default: + log.info("parent.getLevel()="+parent.getLevel()); + break; + } + return insertEntity; + } + } \ No newline at end of file From c4f6d4469c294e6bd6c6d1c4477fe17253cee86f Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 12:12:09 +0800 Subject: [PATCH 031/121] =?UTF-8?q?"editagency"=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govorg/CustomerAgencyDTO.java | 10 +++--- .../entity/govorg/CustomerAgencyEntity.java | 10 +++--- .../entity/org/CustomerAgencyEntity.java | 10 +++--- .../java/com/epmet/dto/CustomerAgencyDTO.java | 10 +++--- .../epmet/dto/form/AddAgencyV2FormDTO.java | 4 +-- .../epmet/dto/result/AgencysResultDTO.java | 10 +++--- .../epmet/entity/CustomerAgencyEntity.java | 10 +++--- .../epmet/service/impl/AgencyServiceImpl.java | 36 +++++++++++++++---- 8 files changed, 62 insertions(+), 38 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java index cea8221c31..496a2c87cc 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/CustomerAgencyDTO.java @@ -114,17 +114,17 @@ public class CustomerAgencyDTO implements Serializable { private Integer totalUser; /** - * 区域编码字典中的【省份】名称 + * 【省份】名称 */ private String province; /** - * 区域编码字典中的【城市】名称 + * 【城市】名称 */ private String city; /** - * 区域编码字典中的【区县】名称 + * 【区县】名称 */ private String district; @@ -134,12 +134,12 @@ public class CustomerAgencyDTO implements Serializable { private String parentAreaCode; /** - * 区域编码字典中的【街道】名称0409 + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称0409 + * 社区 */ private String community; } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java index b12cd2112a..6c6420ffc8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/govorg/CustomerAgencyEntity.java @@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private Integer totalUser; /** - * 区域编码字典中的【省份】名称 + * 【省份】名称 */ private String province; /** - * 区域编码字典中的【城市】名称 + * 【城市】名称 */ private String city; /** - * 区域编码字典中的【区县】名称 + * 【区县】名称 */ private String district; @@ -100,12 +100,12 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private String parentAreaCode; /** - * 区域编码字典中的【街道】名称0409 + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称0409 + * 社区 */ private String community; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java index 4f5f964710..4fbb9bfb83 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/org/CustomerAgencyEntity.java @@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private Integer totalUser; /** - * 区域编码字典中的【省份】名称 + * 【省份】名称 */ private String province; /** - * 区域编码字典中的【城市】名称 + * 【城市】名称 */ private String city; /** - * 区域编码字典中的【区县】名称 + * 【区县】名称 */ private String district; @@ -100,12 +100,12 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private String parentAreaCode; /** - * 区域编码字典中的【街道】名称0409 + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称0409 + * 社区 */ private String community; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java index 5a7ad8fc85..12f5488ac4 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/CustomerAgencyDTO.java @@ -114,17 +114,17 @@ public class CustomerAgencyDTO implements Serializable { private Integer totalUser; /** - * 区域编码字典中的【省份】名称 + * 省 */ private String province; /** - * 区域编码字典中的【城市】名称 + * 市 */ private String city; /** - * 区域编码字典中的【区县】名称 + * 区县 */ private String district; @@ -134,12 +134,12 @@ public class CustomerAgencyDTO implements Serializable { private String parentAreaCode; /** - * 区域编码字典中的【街道】名称0409 + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称0409 + * 社区 */ private String community; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java index bf29a4aede..c426bc6d41 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java @@ -75,12 +75,12 @@ public class AddAgencyV2FormDTO implements Serializable { private String district; /** - * 区域编码字典中的【街道】名称;来源于【/data/aggregator/org/nextlevelareacodelist】接口里的areaName + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称;来源于【/data/aggregator/org/nextlevelareacodelist】接口里的areaName + * 社区 */ private String community; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java index a3c7bf0413..175fe56674 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/AgencysResultDTO.java @@ -58,17 +58,17 @@ public class AgencysResultDTO implements Serializable { private String areaCode = ""; /** - * 区域编码字典中的【省份】名称 + * 【省份】名称 */ private String province = ""; /** - * 区域编码字典中的【城市】名称 + * 【城市】名称 */ private String city = ""; /** - * 区域编码字典中的【区县】名称 + * 【区县】名称 */ private String district = ""; @@ -78,12 +78,12 @@ public class AgencysResultDTO implements Serializable { private List parentList; /** - * 区域编码字典中的【街道】名称0409 + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称0409 + * 社区 */ private String community; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java index 91852ac516..ee327e421e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/entity/CustomerAgencyEntity.java @@ -80,17 +80,17 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private Integer totalUser; /** - * 区域编码字典中的【省份】名称 + * 省 */ private String province; /** - * 区域编码字典中的【城市】名称 + * 【城市】名称 */ private String city; /** - * 区域编码字典中的【区县】名称 + * 【区县】名称 */ private String district; @@ -100,12 +100,12 @@ public class CustomerAgencyEntity extends BaseEpmetEntity { private String parentAreaCode; /** - * 区域编码字典中的【街道】名称0409 + * 街道 */ private String street; /** - * 区域编码字典中的【社区】名称0409 + * 【社区】名称0409 */ private String community; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 2a50885c94..e7dd1a0674 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -133,9 +133,7 @@ public class AgencyServiceImpl implements AgencyService { @Transactional(rollbackFor = Exception.class) public Result editAgency(EditAgencyFormDTO formDTO) { Result result = new Result(); - CustomerAgencyEntity entity = new CustomerAgencyEntity(); - entity.setId(formDTO.getAgencyId()); - entity.setOrganizationName(formDTO.getAgencyName()); + CustomerAgencyEntity entity = getUpdateEntity(formDTO); //1:更新当前组织信息 if (customerAgencyDao.updateById(entity) < NumConstant.ONE) { log.error(CustomerAgencyConstant.UPDATE_EXCEPTION); @@ -152,7 +150,6 @@ public class AgencyServiceImpl implements AgencyService { List editList = new ArrayList<>(); Date date = new Date(); agencyList.forEach(agency->{ - CustomerAgencyEntity customerAgencyEntity = new CustomerAgencyEntity(); //3-1:查询当前组织的所有上级组织 List listStr = Arrays.asList(agency.getPids().split(":")); List parentList = customerAgencyDao.selectPAgencyById(listStr); @@ -165,10 +162,20 @@ public class AgencyServiceImpl implements AgencyService { allParentName.append("-").append(parents.getName()); } }); - customerAgencyEntity.setId(agency.getId()); + CustomerAgencyEntity customerAgencyEntity = ConvertUtils.sourceToTarget(agency,CustomerAgencyEntity.class); customerAgencyEntity.setAllParentName(allParentName.toString()); customerAgencyEntity.setUpdatedBy(formDTO.getUserId()); - customerAgencyEntity.setUpdatedTime(date); + if (CustomerAgencyConstant.PROVINCE_LEVEL.equals(entity.getLevel())) { + customerAgencyEntity.setProvince(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.CITY_LEVEL.equals(entity.getLevel())) { + customerAgencyEntity.setCity(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.DISTRICT.equals(entity.getLevel())) { + customerAgencyEntity.setDistrict(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.STREET_LEVEL.equals(entity.getLevel())) { + customerAgencyEntity.setStreet(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.COMMUNITY_LEVEL.equals(entity.getLevel())) { + customerAgencyEntity.setCommunity(entity.getOrganizationName()); + } editList.add(customerAgencyEntity); }); //4:批量更新因一个组织名称变动而引起的其他组织字段值的变动 @@ -182,6 +189,23 @@ public class AgencyServiceImpl implements AgencyService { return result; } + private CustomerAgencyEntity getUpdateEntity(EditAgencyFormDTO formDTO) { + CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getAgencyId()); + entity.setOrganizationName(formDTO.getAgencyName()); + if (CustomerAgencyConstant.PROVINCE_LEVEL.equals(entity.getLevel())) { + entity.setProvince(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.CITY_LEVEL.equals(entity.getLevel())) { + entity.setCity(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.DISTRICT.equals(entity.getLevel())) { + entity.setDistrict(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.STREET_LEVEL.equals(entity.getLevel())) { + entity.setStreet(entity.getOrganizationName()); + } else if (CustomerAgencyConstant.COMMUNITY_LEVEL.equals(entity.getLevel())) { + entity.setCommunity(entity.getOrganizationName()); + } + return entity; + } + /** * @param formDTO * @return From 2f5efbca71aa8443282f8721960f69500725a119 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 14 Apr 2021 13:30:50 +0800 Subject: [PATCH 032/121] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9A=82=E5=AD=98-=E5=9F=BA=E6=9C=AC?= =?UTF-8?q?=E6=B2=A1=E9=97=AE=E9=A2=98=E4=BA=86=EF=BC=9B=E8=BF=98=E9=9C=80?= =?UTF-8?q?=E8=A6=81=E8=B0=83=E6=95=B4=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...srootsGovernDataAbsorptionServiceImpl.java | 195 +++++++++++------- .../extract/FactOriginProjectMainDailyDao.xml | 2 +- .../resources/mapper/stats/DimAgencyDao.xml | 5 +- 3 files changed, 126 insertions(+), 76 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 4461d75dc4..a5d539946a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -78,10 +78,11 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr private ProjectService projectService; @Autowired private IssueProjectCategoryDictService issueProjectCategoryDictService; + /** - * @Description 用户积分、党员分值数据中转站 * @param param * @return + * @Description 用户积分、党员分值数据中转站 * @author wangc * @date 2020.09.25 09:53 **/ @@ -93,16 +94,16 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //2.查询出客户下网格的相关信息 List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); // list 转 map,以gridId为key,a = gridList,作为value,(o,n)->o 是遇到相同的gridId舍弃,(o,n)->n 是覆盖原来的gridId - Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO::getGridId, a -> a, (o, n) -> o)); //3.查询出客户下用户的累计积分(累计值,没有时间概念,否则需要查询积分明细计算出评价周期末的得分) - Map pointMap = userPointService.getUserPointMap(param.getCustomerId()); + Map pointMap = userPointService.getUserPointMap(param.getCustomerId()); //4.查询出客户下党员的分值 String dateId = param.getDateId(); - if(StringUtils.isEmpty(dateId)){ + if (StringUtils.isEmpty(dateId)) { //如果没有传月份,则使用当前时间的上一个月 dateId = DateUtils.getBeforeNMonth(NumConstant.ONE); - }else{ + } else { String dateType = DateUtils.identifyTimeDimension(dateId); if (StringUtils.isEmpty(dateType) || !StringUtils.equalsAny(dateType, "date", "month")) { dateId = DateUtils.getBeforeNMonth(NumConstant.ONE); @@ -112,21 +113,21 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr } final String finalDateId = dateId; // 查询党员积分 - Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(),dateId); + Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(), dateId); //剔除垃圾数据 registeredUsers.removeIf(user -> null == gridMap.get(user.getGridId())); //5.整合数据 - if(!CollectionUtils.isEmpty(registeredUsers)){ + if (!CollectionUtils.isEmpty(registeredUsers)) { registeredUsers.forEach(user -> { GridInfoDTO gridInfo = gridMap.get(user.getGridId()); - if(null != gridInfo){ + if (null != gridInfo) { user.setGridName(gridInfo.getGridName()); user.setOrgId(gridInfo.getAgencyId()); user.setOrgName(gridInfo.getOrgName()); //原始数据Pid使用英文:隔开,大屏数据要求按照英文,隔开 - user.setAllParentIds(gridInfo.getPids().replaceAll(StrConstant.COLON,StrConstant.COMMA)); + user.setAllParentIds(gridInfo.getPids().replaceAll(StrConstant.COLON, StrConstant.COMMA)); } Integer point = pointMap.get(user.getUserId()); BigDecimal score = scoreMap.get(user.getUserId()); @@ -141,23 +142,23 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr } /** - * @Description 难点赌点数据中转站 * @param param * @return + * @Description 难点赌点数据中转站 * @author wangc * @date 2020.09.25 10:00 **/ @Override public void difficultyDataHub(ScreenCentralZoneDataFormDTO param) { //查询数据 - List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId())); - if(CollectionUtils.isEmpty(difficulties)) { + List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(), projectService.getOvertimeProjectByParameter(param.getCustomerId())); + if (CollectionUtils.isEmpty(difficulties)) { return; } //2.查询出客户下网格的相关信息 List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); - Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO::getGridId, a -> a, (o, n) -> o)); //剔除垃圾数据(本次需要更新的数据集) //for(Iterator iter = difficulties.iterator(); iter.hasNext();){ @@ -166,13 +167,13 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr // iter.remove(); // } //} - difficulties.removeIf( diff -> null == gridMap.get(diff.getOrgId())); + difficulties.removeIf(diff -> null == gridMap.get(diff.getOrgId())); - List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()); + List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity::getEventId).distinct().collect(Collectors.toList()); //最近一次操作 - Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); + Map latestOperationMap = projectProcessService.getLatestOperation(projectIds, param.getCustomerId()); //图片 - List projectSourceMap = difficulties.stream().map(diff->{ + List projectSourceMap = difficulties.stream().map(diff -> { ProjectSourceMapFormDTO map = new ProjectSourceMapFormDTO(); map.setProjectId(diff.getEventId()); map.setSourceId(diff.getEventImgUrl()); @@ -180,22 +181,22 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr }).collect(Collectors.toList()); //factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds); - Map> imgMap = topicService.getTopicImgs(projectSourceMap); + Map> imgMap = topicService.getTopicImgs(projectSourceMap); - Map contentMap = topicService.getTopicContent(projectSourceMap); + Map contentMap = topicService.getTopicContent(projectSourceMap); - difficulties.forEach( diff -> { + difficulties.forEach(diff -> { - List figureList = CollectionUtils.isEmpty(imgMap) ? null : imgMap.get(diff.getEventId()); - diff.setEventImgUrl(CollectionUtils.isEmpty(figureList) ? "" : figureList.get(NumConstant.ZERO).getEventImgUrl()); + List figureList = CollectionUtils.isEmpty(imgMap) ? null : imgMap.get(diff.getEventId()); + diff.setEventImgUrl(CollectionUtils.isEmpty(figureList) ? "" : figureList.get(NumConstant.ZERO).getEventImgUrl()); - if(!CollectionUtils.isEmpty(contentMap)) { + if (!CollectionUtils.isEmpty(contentMap)) { diff.setEventContent(contentMap.get(diff.getEventId())); } - if(! CollectionUtils.isEmpty(latestOperationMap)){ + if (!CollectionUtils.isEmpty(latestOperationMap)) { ProjectLatestOperationResultDTO oper = latestOperationMap.get(diff.getEventId()); - if(null != oper){ + if (null != oper) { diff.setLatestOperateDesc(oper.getOperationName()); diff.setEventTitle(oper.getTitle()); diff.setEventCostTime(oper.getCostTime()); @@ -208,10 +209,10 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr imgMap.values().forEach(imgList::addAll); //立案后会有 一个process 如果没有则说明是垃圾数据 如果有其他方式立项的项目则需要考虑下兼容 - difficulties.removeIf( diff -> StringUtils.isBlank(diff.getLatestOperateDesc())); + difficulties.removeIf(diff -> StringUtils.isBlank(diff.getLatestOperateDesc())); - screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList); - log.info("【大屏数据抽取-难点赌点执行完毕】 客户Id{} 难点赌点数据{}",param.getCustomerId(),JSON.toJSONString(difficulties)); + screenDifficultyDataService.dataClean(param.getCustomerId(), difficulties, imgList); + log.info("【大屏数据抽取-难点赌点执行完毕】 客户Id{} 难点赌点数据{}", param.getCustomerId(), JSON.toJSONString(difficulties)); } @Override @@ -219,14 +220,14 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //TODO //1.根据客户Id 获取所有项目数据 List difficultyBaseList = factOriginProjectMainDailyService.getProjectForDiff(param); - if (CollectionUtils.isEmpty(difficultyBaseList)){ - log.warn("difficultyDataExtract customerId:{} have any project",param.getCustomerId()); + if (CollectionUtils.isEmpty(difficultyBaseList)) { + log.warn("difficultyDataExtract customerId:{} have any project", param.getCustomerId()); return false; } //获取业务库项目标题 List bizProjectInfoList = projectService.getProjectInfo(param.getCustomerId(), null); - if (CollectionUtils.isEmpty(bizProjectInfoList)){ - log.warn("difficultyDataExtract customerId:{} have any project",param.getCustomerId()); + if (CollectionUtils.isEmpty(bizProjectInfoList)) { + log.warn("difficultyDataExtract customerId:{} have any project", param.getCustomerId()); return false; } Map bizProjectInfoMap = bizProjectInfoList.stream().collect(Collectors.toMap(ProjectDTO::getId, o -> o, (o1, o2) -> o1)); @@ -248,72 +249,115 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //2.获取项目的所有节点耗时数据 List projectPeriodList = factOriginProjectMainDailyService.getProjectPeriod(param); - Map orgCountMap = new HashMap<>(); - Map handleCountMap = new HashMap<>(); - projectPeriodList.forEach(period->{ - Integer orgCount = orgCountMap.get(period.getProjectId()); - if (orgCount == null){ - orgCount = 0; - }else{ - ++orgCount; + //处理部门数去重(只要流转到就算) + Map> orgCountMap = new HashMap<>(); + //被处理次数 + Map handleCountMap = new HashMap<>(); + //已经结案的项目的结案时间 + Set valideProjectIdSet = new HashSet<>(); + Map closeProjectDateMap = projectPeriodList.stream().filter(o -> ProjectConstant.CLOSE.equals(o.getOperation())) + .collect(Collectors.toMap(FactOriginProjectOrgPeriodDailyEntity::getProjectId, FactOriginProjectOrgPeriodDailyEntity::getHandledDate, (o1, o2) -> o1)); + //超期项目阈值 + Integer overtimeConfig = projectService.getOvertimeProjectByParameter(param.getCustomerId()); + Map informDate = new HashMap<>(); + projectPeriodList.forEach(period -> { + Set orgCount = orgCountMap.get(period.getProjectId()); + if (orgCount == null) { + orgCount = new HashSet<>(); + } + orgCount.add(period.getOrgId()); + orgCountMap.put(period.getProjectId(), orgCount); + if (ProjectConstant.RESOLVED.equals(period.getIsResolved())) { + Integer handleCount = handleCountMap.getOrDefault(period.getProjectId(), 0); + handleCountMap.put(period.getProjectId(), ++handleCount); } - orgCountMap.put(period.getProjectId(),orgCount); - Integer handleCount = handleCountMap.get(period.getProjectId()); - if (handleCount == null){ - handleCount = 0; - }else{ - ++handleCount; + if ("82ac5292612538eaf5c598005b7910ba".equals(period.getProjectId())) { + System.out.println("项目结案时间" + closeProjectDateMap.get(period.getProjectId())); + } + //筛选出 项目的结案时间 未结案的为当前时间(结案只有一条记录) + if (period.getHandledDate() != null) { + if (period.getHandledDate().getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { + valideProjectIdSet.add(period.getProjectId()); + } + } else { + Date finishDate = closeProjectDateMap.getOrDefault(period.getProjectId(), new Date()); + if (finishDate.getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { + valideProjectIdSet.add(period.getProjectId()); + } } - handleCountMap.put(period.getProjectId(),handleCount); + }); + List diffList = new ArrayList<>(); + List imgDataEntities = new ArrayList<>(); for (FactOriginProjectMainDailyEntity project : difficultyBaseList) { if (agencyMap.get(project.getAgencyId()) == null || bizProjectInfoMap.get(project.getId()) == null) { log.error("未获取到相关的项目信息或者项目的所属组织信息"); continue; } + //判断是否符合难点堵点条件 + if (!valideProjectIdSet.contains(project.getId())) { + continue; + } ScreenDifficultyDataEntity diffEntity = buildBaseDiffEntity(project, agencyMap, gridMap, bizProjectInfoMap); - Integer regCount = orgCountMap.get(project.getId()); - if (regCount != null){ - diffEntity.setEventReOrg(regCount); + Set regCount = orgCountMap.get(project.getId()); + if (regCount != null) { + diffEntity.setEventReOrg(regCount.size()); + } else { + diffEntity.setEventReOrg(0); } Integer handleOrgCount = handleCountMap.get(project.getId()); - if (handleOrgCount != null){ + if (handleOrgCount != null) { diffEntity.setEventHandledCount(handleOrgCount); + } else { + diffEntity.setEventHandledCount(0); } diffEntity.setDataEndTime(param.getDateId()); - setCategoryInfo(diffEntity, project.getId(),categoryList,projectCategoryMap); + setCategoryInfo(diffEntity, project.getId(), categoryList, projectCategoryMap); - if (StringUtils.isNotBlank(project.getTopicId())){ + if (StringUtils.isNotBlank(project.getTopicId())) { //获取图片及话题内容 - ResiTopicAndImgResultDTO topicInfo = topicService.getTopicAndImgs(project.getTopicId(),"image"); - if (topicInfo != null){ + ResiTopicAndImgResultDTO topicInfo = topicService.getTopicAndImgs(project.getTopicId(), "image"); + if (topicInfo != null) { diffEntity.setEventImgUrl(topicInfo.getTopicImgList().get(NumConstant.ZERO).getAttachmentUrl()); diffEntity.setEventContent(topicInfo.getTopicContent()); + topicInfo.getTopicImgList().forEach(img -> { + ScreenDifficultyImgDataEntity imgData = new ScreenDifficultyImgDataEntity(); + imgData.setEventId(project.getId()); + imgData.setEventImgUrl(img.getAttachmentUrl()); + imgData.setSort(img.getSort()); + imgDataEntities.add(imgData); + }); + log.info("projectId:{} imgs:{}", project.getId(), imgDataEntities.stream().filter(o -> o.getEventId().equals(project.getId())).count()); } + } diffList.add(diffEntity); - log.info("========:"+JSON.toJSONString(diffList)); } + List collect = diffList.stream().filter(o -> o.getEventCostTime() < 5 * 24 * 60).collect(Collectors.toList()); + log.info("========:" + JSON.toJSONString(collect)); + log.info("========:" + JSON.toJSONString(diffList)); + log.info("========:" + JSON.toJSONString(imgDataEntities)); - + //screenDifficultyDataService.dataClean(param.getCustomerId(),diffList,imgDataEntities); + log.info("【大屏数据抽取-难点赌点执行完毕】 客户Id{} 难点赌点数据{}", param.getCustomerId(), JSON.toJSONString(diffList)); //3.获取项目的最后操作记录 - return false; + return true; } private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { Set categorySet = projectCategoryMap.get(projectId); - if (CollectionUtils.isEmpty(categorySet)){ + if (CollectionUtils.isEmpty(categorySet)) { return; } - projectCategoryMap.forEach((k,v) ->{ + projectCategoryMap.forEach((k, v) -> { List childCategory = new ArrayList<>(); - v.forEach(categoryCode-> getParentNode(childCategory,categoryList,categoryCode)); + v.forEach(categoryCode -> getParentNode(childCategory, categoryList, categoryCode)); String categoryCodes = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryCode).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); String categoryNames = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryName).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); diffEntity.setEventCategoryCode(categoryCodes); @@ -328,23 +372,24 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr ScreenDifficultyDataEntity diff = new ScreenDifficultyDataEntity(); diff.setCustomerId(project.getCustomerId()); //大屏的是逗号隔开的 - String allPIds = project.getPids().replaceAll(StrConstant.COLON,StrConstant.COMMA); + String allPIds = project.getPids().replaceAll(StrConstant.COLON, StrConstant.COMMA); DimAgencyEntity agencyInfoDTO = agencyMap.get(project.getAgencyId()); - if (StringUtils.isBlank(project.getGridId())){ + diff.setEventTitle(projectDTO.getTitle()); + if (StringUtils.isBlank(project.getGridId())) { diff.setOrgType("agency"); diff.setOrgId(project.getAgencyId()); diff.setParentId(project.getPid()); - diff.setAllParentIds(allPIds.replace(StrConstant.COMMA+project.getAgencyId(),StrConstant.EPMETY_STR)); + diff.setAllParentIds(allPIds.replace(StrConstant.COMMA + project.getAgencyId(), StrConstant.EPMETY_STR)); diff.setOrgName(agencyInfoDTO.getAgencyName()); - if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())){ + if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())) { diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN.concat(diff.getOrgName()))); - }else{ + } else { diff.setEventSource(agencyInfoDTO.getAgencyName()); } //如果是组织的则 设置背景为内容 diff.setEventContent(projectDTO.getBackGround()); - }else{ + } else { diff.setOrgType("grid"); diff.setOrgId(project.getGridId()); diff.setParentId(project.getAgencyId()); @@ -355,9 +400,9 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr String agencyAndGridName = agencyInfoDTO.getAgencyName().concat(StrConstant.HYPHEN.concat(diff.getOrgName())); //todo 市北区的 allParentname 为什么为空 //if (!project.getPid().equals(NumConstant.ZERO_STR)){ - if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())){ + if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())) { diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyAndGridName)); - }else{ + } else { diff.setEventSource(agencyAndGridName); } } @@ -365,14 +410,17 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr diff.setEventId(project.getId()); String projectStatus = project.getProjectStatus(); diff.setEventStatusCode(projectStatus); - if (ProjectConstant.PENDING.equals(projectStatus)){ + if ("82ac5292612538eaf5c598005b7910ba".equals(project.getId())) { + System.out.println(JSON.toJSONString(projectDTO)); + } + if (ProjectConstant.PENDING.equals(projectStatus)) { diff.setEventStatusDesc("处理中"); //项目耗时 当前时间-项目创建时间 - diff.setEventCostTime((int) ((System.currentTimeMillis()-projectDTO.getCreatedTime().getTime())/1000/60)); - }else{ + diff.setEventCostTime((int) ((System.currentTimeMillis() - projectDTO.getCreatedTime().getTime()) / 1000 / 60)); + } else { diff.setEventStatusDesc("已结案"); //项目耗时 更新时间-项目创建时间 - diff.setEventCostTime((int) ((projectDTO.getUpdatedTime().getTime() - projectDTO.getCreatedTime().getTime())/1000/60)); + diff.setEventCostTime((int) ((projectDTO.getUpdatedTime().getTime() - projectDTO.getCreatedTime().getTime()) / 1000 / 60)); } //暂时不放内容 用不到 diff.setLatestOperateDesc(""); @@ -382,6 +430,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr /** * 递归查询父节点 + * * @param childCategory * @param categoryList * @param categoryCode diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 9935094e55..18635a23df 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -602,7 +602,7 @@ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml index f0df043bf5..6881886600 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/DimAgencyDao.xml @@ -129,7 +129,8 @@ CUSTOMER_ID, PID, AGENCY_NAME, - LEVEL + LEVEL, + ALL_PARENT_NAME FROM dim_agency WHERE @@ -332,4 +333,4 @@ AND LEVEL = #{level} - \ No newline at end of file + From 45008813d241385c16eb351ebca2fa121e1138fb Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 13:38:55 +0800 Subject: [PATCH 033/121] =?UTF-8?q?"editagency"=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/AgencyServiceImpl.java | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index e7dd1a0674..ad1fa72220 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -165,17 +165,6 @@ public class AgencyServiceImpl implements AgencyService { CustomerAgencyEntity customerAgencyEntity = ConvertUtils.sourceToTarget(agency,CustomerAgencyEntity.class); customerAgencyEntity.setAllParentName(allParentName.toString()); customerAgencyEntity.setUpdatedBy(formDTO.getUserId()); - if (CustomerAgencyConstant.PROVINCE_LEVEL.equals(entity.getLevel())) { - customerAgencyEntity.setProvince(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.CITY_LEVEL.equals(entity.getLevel())) { - customerAgencyEntity.setCity(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.DISTRICT.equals(entity.getLevel())) { - customerAgencyEntity.setDistrict(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.STREET_LEVEL.equals(entity.getLevel())) { - customerAgencyEntity.setStreet(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.COMMUNITY_LEVEL.equals(entity.getLevel())) { - customerAgencyEntity.setCommunity(entity.getOrganizationName()); - } editList.add(customerAgencyEntity); }); //4:批量更新因一个组织名称变动而引起的其他组织字段值的变动 @@ -192,17 +181,6 @@ public class AgencyServiceImpl implements AgencyService { private CustomerAgencyEntity getUpdateEntity(EditAgencyFormDTO formDTO) { CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getAgencyId()); entity.setOrganizationName(formDTO.getAgencyName()); - if (CustomerAgencyConstant.PROVINCE_LEVEL.equals(entity.getLevel())) { - entity.setProvince(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.CITY_LEVEL.equals(entity.getLevel())) { - entity.setCity(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.DISTRICT.equals(entity.getLevel())) { - entity.setDistrict(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.STREET_LEVEL.equals(entity.getLevel())) { - entity.setStreet(entity.getOrganizationName()); - } else if (CustomerAgencyConstant.COMMUNITY_LEVEL.equals(entity.getLevel())) { - entity.setCommunity(entity.getOrganizationName()); - } return entity; } From 50554d2216fe4dbfd422006e03eb4861c7406703 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 13:46:44 +0800 Subject: [PATCH 034/121] =?UTF-8?q?"agencydetail"=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/AgencyServiceImpl.java | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index ad1fa72220..155bad550c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -251,28 +251,6 @@ public class AgencyServiceImpl implements AgencyService { parentList = customerAgencyDao.selectPAgencyById(listStr); agencysResultDTO.setParentList(parentList); agencysResultDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(entity.getCustomerId())); - //查询组织区划的名称 - if (null != entity && StringUtils.isNotBlank(entity.getAreaCode())) { - switch (entity.getLevel()) { - case CustomerAgencyConstant.PROVINCE_LEVEL: - agencysResultDTO.setAgencyName(entity.getProvince()); - break; - case CustomerAgencyConstant.CITY_LEVEL: - agencysResultDTO.setAgencyName(entity.getCity()); - break; - case CustomerAgencyConstant.DISTRICT: - agencysResultDTO.setAgencyName(entity.getDistrict()); - break; - case CustomerAgencyConstant.STREET_LEVEL: - agencysResultDTO.setAgencyName(entity.getStreet()); - break; - case CustomerAgencyConstant.COMMUNITY_LEVEL: - agencysResultDTO.setAgencyName(entity.getCommunity()); - break; - default: - agencysResultDTO.setAgencyName(StrConstant.EPMETY_STR); - } - } return new Result().ok(agencysResultDTO); } From ffd3d6252f111f33c92faa99dc80c050d53ac929 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 13:59:43 +0800 Subject: [PATCH 035/121] =?UTF-8?q?nextlevelareacodelist=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/govorg/CustomerAgencyDao.xml | 2 +- .../src/main/resources/mapper/opercrm/CustomerRelationDao.xml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml index f27f969e31..fda4f7245c 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govorg/CustomerAgencyDao.xml @@ -24,7 +24,7 @@ From b3c891ae5bb3f7dd36b9f2b75ddbd6731177a36a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 14 Apr 2021 14:56:15 +0800 Subject: [PATCH 036/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB=20?= =?UTF-8?q?org=20=E5=8D=95=E5=AE=A2=E6=88=B7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenProjectCategoryGridDailyDTO.java | 7 +++ .../FactOriginProjectCategoryDailyDao.java | 8 ++++ ...FactOriginProjectCategoryDailyService.java | 8 ++++ ...OriginProjectCategoryDailyServiceImpl.java | 15 +++++++ ...eenProjectCategoryOrgDailyServiceImpl.java | 44 ++++++++++++++++--- .../FactOriginProjectCategoryDailyDao.xml | 42 ++++++++++++++++++ 6 files changed, 118 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java index 0406fb26f2..b80df7b7ff 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java @@ -108,4 +108,11 @@ public class ScreenProjectCategoryGridDailyDTO implements Serializable { */ private Date updatedTime; + private String orgId; + + /** + * 用在 项目分类 org 统计中,记录本记录是否被计数 + */ + private Boolean status = false; + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java index 010004d7ba..911b73b479 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java @@ -43,4 +43,12 @@ public interface FactOriginProjectCategoryDailyDao extends BaseDao selectListProjectCategoryGridDailyDTO(@Param("customerId") String customerId); + + /** + * @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】 + * @Param orgIds + * @author zxc + * @date 2021/4/13 下午4:36 + */ + List selectListProjectCategoryByOrg(@Param("orgIds")List orgIds,@Param("customerId") String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java index 1a0a27eda9..2da14685eb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java @@ -47,4 +47,12 @@ public interface FactOriginProjectCategoryDailyService extends BaseService selectListProjectCategoryGridDailyDTO(String customerId); + + /** + * @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】 + * @Param orgIds + * @author zxc + * @date 2021/4/13 下午4:36 + */ + List selectListProjectCategoryByOrg(List orgIds,String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java index c97322b4b4..6e3f7abb90 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java @@ -32,6 +32,7 @@ import com.epmet.service.Issue.IssueProjectCategoryDictService; import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectCategoryDailyService; import com.epmet.service.project.ProjectService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -119,4 +120,18 @@ public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl list=baseDao.selectListProjectCategoryGridDailyDTO(customerId); return list; } + + /** + * @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】 + * @Param orgIds + * @author zxc + * @date 2021/4/13 下午4:36 + */ + @Override + public List selectListProjectCategoryByOrg(List orgIds,String customerId) { + if (!CollectionUtils.isEmpty(orgIds)){ + return new ArrayList<>(); + } + return baseDao.selectListProjectCategoryByOrg(orgIds,customerId); + } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java index 8dbbe72d73..f61487abe0 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java @@ -31,12 +31,14 @@ import com.epmet.dao.evaluationindex.screen.ScreenProjectCategoryGridDailyDao; import com.epmet.dao.evaluationindex.screen.ScreenProjectCategoryOrgDailyDao; import com.epmet.dto.ScreenCustomerGridDTO; import com.epmet.dto.extract.result.CustomerAgencyInfoResultDTO; +import com.epmet.dto.screen.ScreenProjectCategoryGridDailyDTO; import com.epmet.dto.screen.ScreenProjectCategoryOrgDailyDTO; import com.epmet.dto.screen.result.CategoryProjectResultDTO; import com.epmet.dto.screencoll.ScreenCollFormDTO; import com.epmet.entity.crm.CustomerRelationEntity; import com.epmet.entity.evaluationindex.screen.ScreenProjectCategoryOrgDailyEntity; import com.epmet.service.crm.CustomerRelationService; +import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectCategoryDailyService; import com.epmet.service.evaluationindex.screen.ScreenCustomerAgencyService; import com.epmet.service.evaluationindex.screen.ScreenCustomerGridService; import com.epmet.service.evaluationindex.screen.ScreenProjectCategoryOrgDailyService; @@ -74,6 +76,8 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl page(Map params) { @@ -194,23 +198,23 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl> groupByLevel = agencyIdList.stream().collect(Collectors.groupingBy(CustomerAgencyInfoResultDTO::getLevel)); if (groupByLevel.containsKey(ScreenConstant.COMMUNITY)){ // 社区级别 - disposeOneCustomerSub(ScreenConstant.COMMUNITY,true,customerId,dateId); + disposeOneCustomerSub(ScreenConstant.COMMUNITY,true,customerId,dateId,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.STREET)){ // 街道级别 - disposeOneCustomerSub(ScreenConstant.STREET,false,customerId,dateId); + disposeOneCustomerSub(ScreenConstant.STREET,false,customerId,dateId,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.DISTRICT)){ // 区级 - disposeOneCustomerSub(ScreenConstant.DISTRICT,false,customerId,dateId); + disposeOneCustomerSub(ScreenConstant.DISTRICT,false,customerId,dateId,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.CITY)){ // 市级 - disposeOneCustomerSub(ScreenConstant.CITY,false,customerId,dateId); + disposeOneCustomerSub(ScreenConstant.CITY,false,customerId,dateId,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.PROVINCE)){ // 省级 - disposeOneCustomerSub(ScreenConstant.PROVINCE,false,customerId,dateId); + disposeOneCustomerSub(ScreenConstant.PROVINCE,false,customerId,dateId,agencyIdList); } } } @@ -224,7 +228,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl agencyIdList){ List result = new ArrayList<>(); if (isGrid){ // 是社区级别 @@ -255,6 +259,34 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl orgIds = agencyIdList.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); + List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId); + if (!CollectionUtils.isEmpty(result)){ + if (!CollectionUtils.isEmpty(screenProjectCategory)){ + result.forEach(r -> { + screenProjectCategory.forEach(pc -> { + if (r.getOrgId().equals(pc.getOrgId()) && r.getCategoryCode().equals(pc.getCategoryCode())){ + pc.setStatus(true); + r.setProjectTotal(r.getProjectTotal() + pc.getProjectTotal()); + } + }); + }); + Map> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); + List screenProjectCategoryNoCal = groupByStatus.get(false); + if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)){ + List noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); + result.addAll(noCalCategory); + } + } + }else { + if (!CollectionUtils.isEmpty(screenProjectCategory)){ + result = ConvertUtils.sourceToTarget(screenProjectCategory, ScreenProjectCategoryOrgDailyEntity.class); + } + } + if (!CollectionUtils.isEmpty(result)){ + result.forEach(r -> {r.setOrgType(level);r.setDateId(dateId);}); + } deleteAndInsert(customerId,dateId,result); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml index 03ea9ab75c..a2aa82a555 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml @@ -63,4 +63,46 @@ p.AGENCY_ID, P.PIDS + + + From 533e51254d75a0f3941dd1479ae7ccb363ab255c Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 14 Apr 2021 15:14:05 +0800 Subject: [PATCH 037/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB=20?= =?UTF-8?q?org=20=E5=8D=95=E5=AE=A2=E6=88=B7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eenProjectCategoryOrgDailyServiceImpl.java | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java index f61487abe0..e3ebbf82e4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java @@ -260,33 +260,37 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl orgIds = agencyIdList.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); - List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId); - if (!CollectionUtils.isEmpty(result)){ - if (!CollectionUtils.isEmpty(screenProjectCategory)){ - result.forEach(r -> { - screenProjectCategory.forEach(pc -> { - if (r.getOrgId().equals(pc.getOrgId()) && r.getCategoryCode().equals(pc.getCategoryCode())){ - pc.setStatus(true); - r.setProjectTotal(r.getProjectTotal() + pc.getProjectTotal()); - } + Map> groupByLevel = agencyIdList.stream().collect(Collectors.groupingBy(CustomerAgencyInfoResultDTO::getLevel)); + List levelAgencyInfo = groupByLevel.get(level); + if (!CollectionUtils.isEmpty(levelAgencyInfo)){ + List orgIds = levelAgencyInfo.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); + List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId); + if (!CollectionUtils.isEmpty(result)){ + if (!CollectionUtils.isEmpty(screenProjectCategory)){ + result.forEach(r -> { + screenProjectCategory.forEach(pc -> { + if (r.getOrgId().equals(pc.getOrgId()) && r.getCategoryCode().equals(pc.getCategoryCode())){ + pc.setStatus(true); + r.setProjectTotal(r.getProjectTotal() + pc.getProjectTotal()); + } + }); }); - }); - Map> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); - List screenProjectCategoryNoCal = groupByStatus.get(false); - if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)){ - List noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); - result.addAll(noCalCategory); + Map> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); + List screenProjectCategoryNoCal = groupByStatus.get(false); + if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)){ + List noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); + result.addAll(noCalCategory); + } + } + }else { + if (!CollectionUtils.isEmpty(screenProjectCategory)){ + result = ConvertUtils.sourceToTarget(screenProjectCategory, ScreenProjectCategoryOrgDailyEntity.class); } } - }else { - if (!CollectionUtils.isEmpty(screenProjectCategory)){ - result = ConvertUtils.sourceToTarget(screenProjectCategory, ScreenProjectCategoryOrgDailyEntity.class); + if (!CollectionUtils.isEmpty(result)){ + result.forEach(r -> {r.setOrgType(level);r.setDateId(dateId);}); } } - if (!CollectionUtils.isEmpty(result)){ - result.forEach(r -> {r.setOrgType(level);r.setDateId(dateId);}); - } deleteAndInsert(customerId,dateId,result); } From ff4f5ffc7029e6a5802673142563a91f9244b57f Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 14 Apr 2021 15:25:12 +0800 Subject: [PATCH 038/121] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9-?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...srootsGovernDataAbsorptionServiceImpl.java | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index a5d539946a..fa38997153 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -244,8 +244,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //项目分类数据 todo 暂时查询所有 List projectCategoryData = projectService.getProjectCategoryData(param.getCustomerId(), null); //key projectId:categoryCode Set - Map> projectCategoryMap = projectCategoryData.stream() - .collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toSet()))); + Map> projectCategoryMap = projectCategoryData.stream() + .collect(Collectors.groupingBy(ProjectCategoryDTO::getProjectId, Collectors.mapping(ProjectCategoryDTO::getCategoryCode, Collectors.toList()))); //2.获取项目的所有节点耗时数据 List projectPeriodList = factOriginProjectMainDailyService.getProjectPeriod(param); @@ -271,9 +271,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Integer handleCount = handleCountMap.getOrDefault(period.getProjectId(), 0); handleCountMap.put(period.getProjectId(), ++handleCount); } - if ("82ac5292612538eaf5c598005b7910ba".equals(period.getProjectId())) { - System.out.println("项目结案时间" + closeProjectDateMap.get(period.getProjectId())); - } + //筛选出 项目的结案时间 未结案的为当前时间(结案只有一条记录) if (period.getHandledDate() != null) { if (period.getHandledDate().getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { @@ -292,7 +290,9 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr List imgDataEntities = new ArrayList<>(); for (FactOriginProjectMainDailyEntity project : difficultyBaseList) { if (agencyMap.get(project.getAgencyId()) == null || bizProjectInfoMap.get(project.getId()) == null) { - log.error("未获取到相关的项目信息或者项目的所属组织信息"); + log.warn("未获取到相关的项目信息或者项目的所属组织信息"); + System.out.println(agencyMap.get(project.getAgencyId())); + System.out.println(bizProjectInfoMap.get(project.getId())); continue; } //判断是否符合难点堵点条件 @@ -350,18 +350,29 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr return true; } - private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { - Set categorySet = projectCategoryMap.get(projectId); + private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { + List categorySet = projectCategoryMap.get(projectId); if (CollectionUtils.isEmpty(categorySet)) { return; } projectCategoryMap.forEach((k, v) -> { - List childCategory = new ArrayList<>(); - v.forEach(categoryCode -> getParentNode(childCategory, categoryList, categoryCode)); - String categoryCodes = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryCode).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); - String categoryNames = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryName).sorted(Comparator.reverseOrder()).collect(Collectors.joining(StrConstant.COMMA)); - diffEntity.setEventCategoryCode(categoryCodes); - diffEntity.setEventCategoryName(categoryNames); + StringBuilder code = new StringBuilder(); + StringBuilder name = new StringBuilder(); + v.forEach(categoryCode -> { + List childCategory = new ArrayList<>(); + getParentNode(childCategory, categoryList, categoryCode); + String categoryCodes = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryCode).collect(Collectors.joining(StrConstant.HYPHEN)); + String categoryNames = childCategory.stream().map(IssueProjectCategoryDictEntity::getCategoryName).collect(Collectors.joining(StrConstant.HYPHEN)); + + code.append(categoryCodes).append(StrConstant.COMMA_ZH); + name.append(categoryNames).append(StrConstant.COMMA_ZH); + }); + code.deleteCharAt(code.length()-1); + name.deleteCharAt(name.length()-1); + diffEntity.setEventCategoryCode(code.toString()); + diffEntity.setEventCategoryName(name.toString()); + log.info("code:{}",code.toString()); + log.info("name:{}",name.toString()); }); } @@ -398,7 +409,6 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr GridInfoDTO gridInfoDTO = gridMap.get(project.getGridId()); diff.setOrgName(gridInfoDTO.getGridName()); String agencyAndGridName = agencyInfoDTO.getAgencyName().concat(StrConstant.HYPHEN.concat(diff.getOrgName())); - //todo 市北区的 allParentname 为什么为空 //if (!project.getPid().equals(NumConstant.ZERO_STR)){ if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())) { diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyAndGridName)); @@ -410,9 +420,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr diff.setEventId(project.getId()); String projectStatus = project.getProjectStatus(); diff.setEventStatusCode(projectStatus); - if ("82ac5292612538eaf5c598005b7910ba".equals(project.getId())) { - System.out.println(JSON.toJSONString(projectDTO)); - } + if (ProjectConstant.PENDING.equals(projectStatus)) { diff.setEventStatusDesc("处理中"); //项目耗时 当前时间-项目创建时间 From b674b20bfd6f6b9e66e0154a72225a8e0df7452d Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Wed, 14 Apr 2021 16:10:54 +0800 Subject: [PATCH 039/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB=20?= =?UTF-8?q?org=20=E5=A4=9A=E5=AE=A2=E6=88=B7=E4=BF=AE=E6=94=B9=E3=80=90?= =?UTF-8?q?=E5=90=8C=E5=8D=95=E5=AE=A2=E6=88=B7=E4=B8=80=E6=A0=B7=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eenProjectCategoryOrgDailyServiceImpl.java | 47 ++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java index e3ebbf82e4..e46b85f91d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java @@ -309,23 +309,23 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl> groupByLevel = agencyIdList.stream().collect(Collectors.groupingBy(CustomerAgencyInfoResultDTO::getLevel)); if (groupByLevel.containsKey(ScreenConstant.COMMUNITY)){ // 社区级别 - disposeMoreCustomerSub(ScreenConstant.COMMUNITY,true,customerId,dateId,relationInfo); + disposeMoreCustomerSub(ScreenConstant.COMMUNITY,true,customerId,dateId,relationInfo,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.STREET)){ // 街道级别 - disposeMoreCustomerSub(ScreenConstant.STREET,false,customerId,dateId,relationInfo); + disposeMoreCustomerSub(ScreenConstant.STREET,false,customerId,dateId,relationInfo,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.DISTRICT)){ // 区级 - disposeMoreCustomerSub(ScreenConstant.DISTRICT,false,customerId,dateId,relationInfo); + disposeMoreCustomerSub(ScreenConstant.DISTRICT,false,customerId,dateId,relationInfo,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.CITY)){ // 市级 - disposeMoreCustomerSub(ScreenConstant.CITY,false,customerId,dateId,relationInfo); + disposeMoreCustomerSub(ScreenConstant.CITY,false,customerId,dateId,relationInfo,agencyIdList); } if (groupByLevel.containsKey(ScreenConstant.PROVINCE)){ // 省级 - disposeMoreCustomerSub(ScreenConstant.PROVINCE,false,customerId,dateId,relationInfo); + disposeMoreCustomerSub(ScreenConstant.PROVINCE,false,customerId,dateId,relationInfo,agencyIdList); } } } @@ -340,7 +340,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl relationInfo){ + private void disposeMoreCustomerSub(String level,Boolean isGrid,String customerId, String dateId, List relationInfo,List agencyIdList){ List result = new ArrayList<>(); if (isGrid){ // community级别走这 @@ -399,6 +399,41 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl> groupByLevel = agencyIdList.stream().collect(Collectors.groupingBy(CustomerAgencyInfoResultDTO::getLevel)); + List levelAgencyInfo = groupByLevel.get(level); + if (!CollectionUtils.isEmpty(levelAgencyInfo)) { + List orgIds = levelAgencyInfo.stream().map(m -> m.getAgencyId()).collect(Collectors.toList()); + List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId); + if (!CollectionUtils.isEmpty(result)) { + if (!CollectionUtils.isEmpty(screenProjectCategory)) { + result.forEach(r -> { + screenProjectCategory.forEach(pc -> { + if (r.getOrgId().equals(pc.getOrgId()) && r.getCategoryCode().equals(pc.getCategoryCode())) { + pc.setStatus(true); + r.setProjectTotal(r.getProjectTotal() + pc.getProjectTotal()); + } + }); + }); + Map> groupByStatus = screenProjectCategory.stream().collect(Collectors.groupingBy(ScreenProjectCategoryGridDailyDTO::getStatus)); + List screenProjectCategoryNoCal = groupByStatus.get(false); + if (!CollectionUtils.isEmpty(screenProjectCategoryNoCal)) { + List noCalCategory = ConvertUtils.sourceToTarget(screenProjectCategoryNoCal, ScreenProjectCategoryOrgDailyEntity.class); + result.addAll(noCalCategory); + } + } + } else { + if (!CollectionUtils.isEmpty(screenProjectCategory)) { + result = ConvertUtils.sourceToTarget(screenProjectCategory, ScreenProjectCategoryOrgDailyEntity.class); + } + } + if (!CollectionUtils.isEmpty(result)) { + result.forEach(r -> { + r.setOrgType(level); + r.setDateId(dateId); + }); + } + } deleteAndInsert(customerId,dateId,result); } From 318ecb2e1814aae211258212f06e08ff5c6225c9 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 16:43:09 +0800 Subject: [PATCH 040/121] del_flag='0' --- .../evaluationindex/screen/ScreenCustomerAgencyDao.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml index fe274542a0..0d7434ba98 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml @@ -410,10 +410,13 @@ ( select m.PARENT_AREA_CODE from screen_customer_agency m where m.AGENCY_ID=#{agencyId} + and m.DEL_FLAG = '0' ) + and sca.DEL_FLAG = '0' From edaeb3c063f34124b0e17dc45635eb1468b8f3fb Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 14 Apr 2021 16:55:47 +0800 Subject: [PATCH 041/121] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9-?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E6=8A=BD=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ScreenExtractServiceImpl.java | 7 +- ...srootsGovernDataAbsorptionServiceImpl.java | 109 ++++++++++-------- 2 files changed, 68 insertions(+), 48 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 23442bedbd..192305e6ad 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -182,10 +182,11 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { //基层治理- 难点赌点 screen_difficulty_data | screen_difficulty_img_data try { log.info("【难点赌点数据上报开始------】 当前客户Id{}",param.getCustomerId()); - screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); + //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); - //todo 初始化全量 param.setDateId(null); - //screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param); + //todo 初始化全量 + param.setDateId(null); + screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param); log.info("【难点赌点数据上报结束------】 当前客户Id{}",param.getCustomerId()); }catch (Exception e){ log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index fa38997153..ef05b4dbcd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -217,7 +217,6 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr @Override public boolean difficultyDataExtract(ScreenCentralZoneDataFormDTO param) { - //TODO //1.根据客户Id 获取所有项目数据 List difficultyBaseList = factOriginProjectMainDailyService.getProjectForDiff(param); if (CollectionUtils.isEmpty(difficultyBaseList)) { @@ -253,50 +252,16 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Map> orgCountMap = new HashMap<>(); //被处理次数 Map handleCountMap = new HashMap<>(); - //已经结案的项目的结案时间 - Set valideProjectIdSet = new HashSet<>(); - Map closeProjectDateMap = projectPeriodList.stream().filter(o -> ProjectConstant.CLOSE.equals(o.getOperation())) - .collect(Collectors.toMap(FactOriginProjectOrgPeriodDailyEntity::getProjectId, FactOriginProjectOrgPeriodDailyEntity::getHandledDate, (o1, o2) -> o1)); - //超期项目阈值 - Integer overtimeConfig = projectService.getOvertimeProjectByParameter(param.getCustomerId()); - Map informDate = new HashMap<>(); - projectPeriodList.forEach(period -> { - Set orgCount = orgCountMap.get(period.getProjectId()); - if (orgCount == null) { - orgCount = new HashSet<>(); - } - orgCount.add(period.getOrgId()); - orgCountMap.put(period.getProjectId(), orgCount); - if (ProjectConstant.RESOLVED.equals(period.getIsResolved())) { - Integer handleCount = handleCountMap.getOrDefault(period.getProjectId(), 0); - handleCountMap.put(period.getProjectId(), ++handleCount); - } - - //筛选出 项目的结案时间 未结案的为当前时间(结案只有一条记录) - if (period.getHandledDate() != null) { - if (period.getHandledDate().getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { - valideProjectIdSet.add(period.getProjectId()); - } - } else { - Date finishDate = closeProjectDateMap.getOrDefault(period.getProjectId(), new Date()); - if (finishDate.getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { - valideProjectIdSet.add(period.getProjectId()); - } - } - - }); + Set valideProjectIdSet = fillAnyCountAndValidProject(param, projectPeriodList, orgCountMap, handleCountMap); List diffList = new ArrayList<>(); List imgDataEntities = new ArrayList<>(); for (FactOriginProjectMainDailyEntity project : difficultyBaseList) { if (agencyMap.get(project.getAgencyId()) == null || bizProjectInfoMap.get(project.getId()) == null) { - log.warn("未获取到相关的项目信息或者项目的所属组织信息"); - System.out.println(agencyMap.get(project.getAgencyId())); - System.out.println(bizProjectInfoMap.get(project.getId())); + log.warn("未获取到相关的项目信息或者项目的所属组织信息,agencyId:{},projectId:{}",project.getAgencyId(),project.getId()); continue; } //判断是否符合难点堵点条件 - if (!valideProjectIdSet.contains(project.getId())) { continue; } @@ -314,8 +279,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr diffEntity.setEventHandledCount(0); } - - diffEntity.setDataEndTime(param.getDateId()); + diffEntity.setDataEndTime(StringUtils.isBlank(param.getDateId())?DateUtils.getBeforeNDay(NumConstant.ONE):param.getDateId()); setCategoryInfo(diffEntity, project.getId(), categoryList, projectCategoryMap); @@ -343,13 +307,62 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr log.info("========:" + JSON.toJSONString(diffList)); log.info("========:" + JSON.toJSONString(imgDataEntities)); - //screenDifficultyDataService.dataClean(param.getCustomerId(),diffList,imgDataEntities); + screenDifficultyDataService.dataClean(param.getCustomerId(),diffList,imgDataEntities); log.info("【大屏数据抽取-难点赌点执行完毕】 客户Id{} 难点赌点数据{}", param.getCustomerId(), JSON.toJSONString(diffList)); - //3.获取项目的最后操作记录 return true; } + /** + * desc:筛选出符合条件的的项目(超过超期时间的为超期项目)和处理的部门数及处理次数 + * @param param + * @param projectPeriodList + * @param orgCountMap + * @param handleCountMap + * @return + */ + private Set fillAnyCountAndValidProject(ScreenCentralZoneDataFormDTO param, List projectPeriodList, Map> orgCountMap, Map handleCountMap) { + //已经结案的项目的结案时间 + Set valideProjectIdSet = new HashSet<>(); + Map closeProjectDateMap = projectPeriodList.stream().filter(o -> ProjectConstant.CLOSE.equals(o.getOperation())) + .collect(Collectors.toMap(FactOriginProjectOrgPeriodDailyEntity::getProjectId, FactOriginProjectOrgPeriodDailyEntity::getHandledDate, (o1, o2) -> o1)); + //超期项目阈值 + Integer overtimeConfig = projectService.getOvertimeProjectByParameter(param.getCustomerId()); + projectPeriodList.forEach(period -> { + Set orgCount = orgCountMap.get(period.getProjectId()); + if (orgCount == null) { + orgCount = new HashSet<>(); + } + orgCount.add(period.getOrgId()); + orgCountMap.put(period.getProjectId(), orgCount); + if (ProjectConstant.RESOLVED.equals(period.getIsResolved())) { + Integer handleCount = handleCountMap.getOrDefault(period.getProjectId(), 0); + handleCountMap.put(period.getProjectId(), ++handleCount); + } + + //筛选出 项目的结案时间 未结案的为当前时间(结案只有一条记录) + if (period.getHandledDate() != null) { + if (period.getHandledDate().getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { + valideProjectIdSet.add(period.getProjectId()); + } + } else { + Date finishDate = closeProjectDateMap.getOrDefault(period.getProjectId(), new Date()); + if (finishDate.getTime() - period.getInformedDate().getTime() > overtimeConfig * 1000 * 60 * 60 * 24) { + valideProjectIdSet.add(period.getProjectId()); + } + } + + }); + return valideProjectIdSet; + } + + /** + * desc:设置项目类别 + * @param diffEntity + * @param projectId + * @param categoryList + * @param projectCategoryMap + */ private void setCategoryInfo(ScreenDifficultyDataEntity diffEntity, String projectId, List categoryList, Map> projectCategoryMap) { List categorySet = projectCategoryMap.get(projectId); if (CollectionUtils.isEmpty(categorySet)) { @@ -367,8 +380,8 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr code.append(categoryCodes).append(StrConstant.COMMA_ZH); name.append(categoryNames).append(StrConstant.COMMA_ZH); }); - code.deleteCharAt(code.length()-1); - name.deleteCharAt(name.length()-1); + code.deleteCharAt(code.length() - NumConstant.ONE); + name.deleteCharAt(name.length() - NumConstant.ONE); diffEntity.setEventCategoryCode(code.toString()); diffEntity.setEventCategoryName(name.toString()); log.info("code:{}",code.toString()); @@ -377,6 +390,14 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr } + /** + * desc:构建难点堵点基础数据 + * @param project + * @param agencyMap + * @param gridMap + * @param bizProjectInfoMap + * @return + */ private ScreenDifficultyDataEntity buildBaseDiffEntity(FactOriginProjectMainDailyEntity project, Map agencyMap, Map gridMap, Map bizProjectInfoMap) { ProjectDTO projectDTO = bizProjectInfoMap.get(project.getId()); @@ -409,7 +430,6 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr GridInfoDTO gridInfoDTO = gridMap.get(project.getGridId()); diff.setOrgName(gridInfoDTO.getGridName()); String agencyAndGridName = agencyInfoDTO.getAgencyName().concat(StrConstant.HYPHEN.concat(diff.getOrgName())); - //if (!project.getPid().equals(NumConstant.ZERO_STR)){ if (StringUtils.isNotBlank(agencyInfoDTO.getAllParentName())) { diff.setEventSource(agencyInfoDTO.getAllParentName().concat(StrConstant.HYPHEN).concat(agencyAndGridName)); } else { @@ -432,7 +452,6 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr } //暂时不放内容 用不到 diff.setLatestOperateDesc(""); - return diff; } From 41032cf2f65976e67e5d17f213e54c23b4a3759f Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Wed, 14 Apr 2021 17:11:34 +0800 Subject: [PATCH 042/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9=20?= =?UTF-8?q?=E5=86=85=E9=83=A8=E5=A4=87=E6=B3=A8=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/ProjectApprovalFormDTO.java | 8 +++++--- .../java/com/epmet/controller/ProjectTraceController.java | 1 + .../com/epmet/service/impl/ProjectTraceServiceImpl.java | 2 +- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java index 4553ab6654..d86d4873c1 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -15,18 +15,20 @@ import java.util.List; @Data public class ProjectApprovalFormDTO implements Serializable { private static final long serialVersionUID = 4859779755214502427L; + public interface ApprovalCategory{} - @NotBlank(message = "项目标题不能为空") + @NotBlank(message = "项目标题不能为空",groups = {ApprovalCategory.class}) private String title; - @NotBlank(message = "项目背景不能为空") + @NotBlank(message = "项目背景不能为空",groups = {ApprovalCategory.class}) @Length(max=1000,message = "项目背景不能超过1000位") private String backGround; - @NotBlank(message = "项目方案不能为空") + @NotBlank(message = "项目方案不能为空",groups = {ApprovalCategory.class}) @Length(max=1000,message = "项目方案不能超过1000位") private String publicReply; + @NotBlank(message = "内部备注不能为空",groups = {ApprovalCategory.class}) @Length(max=1000,message = "内部备注不能超过1000位") private String internalRemark; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 82fe6a5984..199d762a85 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -352,6 +352,7 @@ public class ProjectTraceController { **/ @PostMapping("projectapproval") public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO,ProjectApprovalFormDTO.ApprovalCategory.class); formDTO.setCustomerId(tokenDTO.getCustomerId()); formDTO.setApp(tokenDTO.getApp()); formDTO.setClient(tokenDTO.getClient()); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index fedafc7ac0..c42c1e6933 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -289,7 +289,7 @@ public class ProjectTraceServiceImpl implements ProjectTraceS List staffList = formDTO.getStaffList(); //1.文字内容安全校验 List list = new ArrayList<>(); - list.add(formDTO.getTitle());list.add(formDTO.getBackGround());list.add(formDTO.getPublicReply()); + list.add(formDTO.getTitle());list.add(formDTO.getBackGround());list.add(formDTO.getPublicReply());list.add(formDTO.getInternalRemark()); safetyCheck(list); //2.数据准备,查询需要用到的数据 From fe69f95eb5e3be7299ad3f78aa1449a6479b17f8 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 17:45:03 +0800 Subject: [PATCH 043/121] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8C=BA=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/AreaCodeServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 29cfc457aa..9a793cc0d2 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -702,12 +702,12 @@ public class AreaCodeServiceImpl extends BaseServiceImpl Date: Wed, 14 Apr 2021 17:52:58 +0800 Subject: [PATCH 044/121] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E9=9D=9E=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.8__alter_function_customized.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql new file mode 100644 index 0000000000..67e6bc0ea6 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql @@ -0,0 +1,3 @@ +ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT ''业务域名(可设置多个 用分号分隔)''; + +ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT ''1'' COMMENT ''业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.''; \ No newline at end of file From 4029959dfcbd30c9da66aae603702cb9ece7f019 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 17:53:17 +0800 Subject: [PATCH 045/121] =?UTF-8?q?"agencydetail"=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/service/impl/AgencyServiceImpl.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 155bad550c..2a5bcbb838 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -251,6 +251,28 @@ public class AgencyServiceImpl implements AgencyService { parentList = customerAgencyDao.selectPAgencyById(listStr); agencysResultDTO.setParentList(parentList); agencysResultDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(entity.getCustomerId())); + //查询组织区划的名称 + if (null != entity && StringUtils.isNotBlank(entity.getAreaCode())) { + switch (entity.getLevel()) { + case CustomerAgencyConstant.PROVINCE_LEVEL: + agencysResultDTO.setAreaName(entity.getProvince()); + break; + case CustomerAgencyConstant.CITY_LEVEL: + agencysResultDTO.setAreaName(entity.getCity()); + break; + case CustomerAgencyConstant.DISTRICT: + agencysResultDTO.setAreaName(entity.getDistrict()); + break; + case CustomerAgencyConstant.STREET_LEVEL: + agencysResultDTO.setAreaName(entity.getStreet()); + break; + case CustomerAgencyConstant.COMMUNITY_LEVEL: + agencysResultDTO.setAreaName(entity.getCommunity()); + break; + default: + agencysResultDTO.setAreaName(StrConstant.EPMETY_STR); + } + } return new Result().ok(agencysResultDTO); } From 77a21116a4bbc73a5c42a36f2517a6e0d5901e39 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 14 Apr 2021 18:00:42 +0800 Subject: [PATCH 046/121] =?UTF-8?q?=E9=9A=BE=E7=82=B9=E5=A0=B5=E7=82=B9?= =?UTF-8?q?=E5=9B=BE=E7=89=87=20=E8=AE=BE=E7=BD=AEcustomerId?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 780571ca07..d40fbd8b6a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -297,6 +297,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr imgData.setEventImgUrl(img.getAttachmentUrl()); imgData.setSort(img.getSort()); imgDataEntities.add(imgData); + imgData.setCustomerId(param.getCustomerId()); }); log.info("projectId:{} imgs:{}", project.getId(), imgDataEntities.stream().filter(o -> o.getEventId().equals(project.getId())).count()); } From 017bf883dc1f0cdc2a02896a2414097f3c1478d7 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 18:10:39 +0800 Subject: [PATCH 047/121] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BB=84=E7=BB=87V2?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/AddAgencyV2FormDTO.java | 52 ++++++++++--------- .../epmet/service/impl/AgencyServiceImpl.java | 16 +++++- 2 files changed, 43 insertions(+), 25 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java index c426bc6d41..e5b775c067 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java @@ -59,28 +59,32 @@ public class AddAgencyV2FormDTO implements Serializable { @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) private String areaCode; - /** - * 省份 - */ - private String province; - - /** - * 城市 - */ - private String city; - - /** - * 区县 - */ - private String district; - - /** - * 街道 - */ - private String street; - - /** - * 社区 - */ - private String community; + // /** + // * 省份 + // */ + // private String province; + // + // /** + // * 城市 + // */ + // private String city; + // + // /** + // * 区县 + // */ + // private String district; + // + // /** + // * 街道 + // */ + // private String street; + // + // /** + // * 社区 + // */ + // private String community; + + //区域编码名称 + @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) + private String areaName; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 2a5bcbb838..6202cc038c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -459,7 +459,7 @@ public class AgencyServiceImpl implements AgencyService { customerAgencyDao.insert(insertEntity); //3:返回新组织Id resultDTO.setAgencyId(insertEntity.getId()); - resultDTO.setAreaCode(StrConstant.EPMETY_STR); + resultDTO.setAreaCode(insertEntity.getAreaCode()); return resultDTO; } @@ -482,15 +482,29 @@ public class AgencyServiceImpl implements AgencyService { { case CustomerAgencyConstant.PROVINCE_LEVEL: insertEntity.setLevel(CustomerAgencyConstant.CITY_LEVEL); + insertEntity.setProvince(parent.getProvince()); + insertEntity.setCity(formDTO.getAreaName()); break; case CustomerAgencyConstant.CITY_LEVEL: insertEntity.setLevel(CustomerAgencyConstant.DISTRICT); + insertEntity.setProvince(parent.getProvince()); + insertEntity.setCity(parent.getCity()); + insertEntity.setDistrict(formDTO.getAreaName()); break; case CustomerAgencyConstant.DISTRICT: insertEntity.setLevel(CustomerAgencyConstant.STREET_LEVEL); + insertEntity.setProvince(parent.getProvince()); + insertEntity.setCity(parent.getCity()); + insertEntity.setDistrict(parent.getDistrict()); + insertEntity.setStreet(formDTO.getAreaName()); break; case CustomerAgencyConstant.STREET_LEVEL: insertEntity.setLevel(CustomerAgencyConstant.COMMUNITY_LEVEL); + insertEntity.setProvince(parent.getProvince()); + insertEntity.setCity(parent.getCity()); + insertEntity.setDistrict(parent.getDistrict()); + insertEntity.setStreet(parent.getStreet()); + insertEntity.setCommunity(formDTO.getAreaName()); break; default: log.info("parent.getLevel()="+parent.getLevel()); From ff7a5bed55ee0009fed97c442477b12165b99834 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 14 Apr 2021 18:32:53 +0800 Subject: [PATCH 048/121] departmentdetail --- .../java/com/epmet/dto/result/DepartmentDetailResultDTO.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentDetailResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentDetailResultDTO.java index 8d7ab9dff2..11271d8009 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentDetailResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/DepartmentDetailResultDTO.java @@ -58,5 +58,6 @@ public class DepartmentDetailResultDTO implements Serializable { */ private List staffList; + private String areaCode; } \ No newline at end of file From 4b61d8920a83455a25eafec5c2891fdba1d33662 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 15 Apr 2021 14:16:45 +0800 Subject: [PATCH 049/121] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E6=9E=90?= =?UTF-8?q?=E5=8D=95/=E5=A4=9A=E5=AE=A2=E6=88=B7=E6=9A=82=E6=97=B6?= =?UTF-8?q?=E5=88=86=E5=BC=80=EF=BC=8C=E3=80=90org-=E5=A4=A9=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/ScreenProjectOrgDailyDao.java | 1 + .../ScreenProjectOrgDailyServiceImpl.java | 113 ++++++++++-------- .../screen/ScreenProjectOrgDailyDao.xml | 17 +++ 3 files changed, 79 insertions(+), 52 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java index 731347f2a6..cc8e1fb2a8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectOrgDailyDao.java @@ -47,4 +47,5 @@ public interface ScreenProjectOrgDailyDao extends BaseDao selectOrgProject(@Param("agencyInfos") List agencyInfos, @Param("dateId") String dateId); + List selectOrgProjectByAgency(@Param("agencyInfos") List agencyInfos, @Param("dateId") String dateId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java index c5818bd6fe..be73462ebb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java @@ -35,6 +35,7 @@ import com.epmet.dto.pingyin.result.ProjectTotalResultDTO; import com.epmet.dto.pingyin.result.ResolvedNumResultDTO; import com.epmet.dto.screen.ScreenProjectOrgDailyDTO; import com.epmet.dto.screencoll.ScreenCollFormDTO; +import com.epmet.entity.crm.CustomerRelationEntity; import com.epmet.entity.evaluationindex.screen.ScreenProjectOrgDailyEntity; import com.epmet.entity.org.CustomerAgencyEntity; import com.epmet.service.crm.CustomerRelationService; @@ -161,70 +162,39 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl agencyInfos = new ArrayList<>(); - //如果有子客户要按照跟组织的area_code查询组织列表 if(customerRelationService.haveSubCustomer(customerId)){ - // - CustomerAgencyEntity rootAgency=customerAgencyService.getRootAgencyInfo(customerId); - agencyInfos=agencyDao.selectAgencyByAreaCode(rootAgency.getAreaCode()); + // 多客户处理 + extractionProjectOrgDailyMoreCustomer(customerId,dateId); }else{ - agencyInfos=agencyDao.selectAgencyByCustomer(customerId); + // 单客户处理 + extractionProjectOrgDailyOneCustomer(customerId, dateId); } + } + + /** + * @Description 单客户处理 + * @Param customerId + * @Param dateId + * @author zxc + * @date 2021/4/15 上午9:09 + */ + public void extractionProjectOrgDailyOneCustomer(String customerId, String dateId){ + List agencyInfos=agencyDao.selectAgencyByCustomer(customerId); if (CollectionUtils.isEmpty(agencyInfos)){ log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); return; } - List projectOrgDaily = baseDao.selectOrgProject(agencyInfos, dateId); + List projectOrgDaily = baseDao.selectOrgProjectByAgency(agencyInfos, dateId); if (CollectionUtils.isEmpty(projectOrgDaily)){ log.info(String.format(PingYinConstants.SELECT_GRID_INFO_BY_ORG_IS_NULL,customerId)); return; } - List orgIds = agencyInfos.stream().map(m -> m.getOrgId()).collect(Collectors.toList()); - // 查询 项目总数 - List projectTotal = projectMainDailyService.selectProjectTotalByOrg(orgIds, dateId, null); - // 查询 项目解决数 - List resolvedNum = projectMainDailyService.selectResolvedNumByOrg(orgIds, dateId); - //查询 参与满意度评价的总次数 - String[] activeCodesAll = {PingYinConstants.EVALUATE_BAD,PingYinConstants.EVALUATE_GOOD,PingYinConstants.EVALUATE_PERFECT}; - List evaluateTotal = projectMainDailyService.selectEvaluateCountByOrg(orgIds, dateId, getActiveCode(activeCodesAll)); - //查询 满意+非常满意的总次数 - String[] activeCodesGood = {PingYinConstants.EVALUATE_GOOD,PingYinConstants.EVALUATE_PERFECT}; - List evaluateGood = projectMainDailyService.selectEvaluateCountByOrg(orgIds, dateId, getActiveCode(activeCodesGood)); projectOrgDaily.forEach(p -> { - // 参与满意度评价的总次数 - if (!CollectionUtils.isEmpty(evaluateTotal)){ - evaluateTotal.forEach(e -> { - if (p.getOrgId().equals(e.getOrgId())){ - p.setEvaluateTotal(p.getEvaluateTotal() + e.getEvaluateCount()); - } - }); - } - // 满意+非常满意的总次数 - if (!CollectionUtils.isEmpty(evaluateGood)){ - evaluateGood.forEach(e -> { - if (p.getOrgId().equals(e.getOrgId())){ - p.setGoodTotal(p.getGoodTotal() + e.getEvaluateCount()); - } - }); - } - // 项目总数 - if (!CollectionUtils.isEmpty(projectTotal)) { - projectTotal.forEach(t -> { - if (p.getOrgId().equals(t.getOrgId())){ - p.setProjectTotal(p.getProjectTotal() + t.getProjectTotal()); - } - }); - } - // 已解决的项目总数 - if (!CollectionUtils.isEmpty(resolvedNum)){ - resolvedNum.forEach(r -> { - if (p.getOrgId().equals(r.getOrgId())){ - p.setResolvedNum(p.getResolvedNum() + r.getResolvedNum()); - } - }); - } - // 不满意总次数 - p.setBadTotal(p.getEvaluateTotal() - p.getGoodTotal()); + p.setBadTotal(null == p.getBadTotal() ? NumConstant.ZERO : p.getBadTotal()); + p.setEvaluateTotal(null == p.getEvaluateTotal() ? NumConstant.ZERO : p.getEvaluateTotal()); + p.setGoodTotal(null == p.getGoodTotal() ? NumConstant.ZERO : p.getGoodTotal()); + p.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); + p.setResolvedNum(null == p.getResolvedNum() ? NumConstant.ZERO : p.getResolvedNum()); }); log.info(projectOrgDaily.toString()); agencyInfos.forEach(a -> { @@ -247,6 +217,45 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl agencyInfos = agencyDao.selectAgencyByAreaCode(rootAgency.getAreaCode()); + if (CollectionUtils.isEmpty(agencyInfos)){ + log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); + return; + } + List projectOrgDaily = baseDao.selectOrgProject(agencyInfos, dateId); + if (CollectionUtils.isEmpty(projectOrgDaily)){ + log.info(String.format(PingYinConstants.SELECT_GRID_INFO_BY_ORG_IS_NULL,customerId)); + return; + } + projectOrgDaily.forEach(p -> { + p.setBadTotal(null == p.getBadTotal() ? NumConstant.ZERO : p.getBadTotal()); + p.setEvaluateTotal(null == p.getEvaluateTotal() ? NumConstant.ZERO : p.getEvaluateTotal()); + p.setGoodTotal(null == p.getGoodTotal() ? NumConstant.ZERO : p.getGoodTotal()); + p.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); + p.setResolvedNum(null == p.getResolvedNum() ? NumConstant.ZERO : p.getResolvedNum()); + }); + log.info(projectOrgDaily.toString()); + agencyInfos.forEach(a -> { + a.setDateId(dateId); + projectOrgDaily.forEach(p -> { + if (a.getAreaCode().equals(p.getAreaCode())){ + a.setResolvedRatio(getRatio(p.getResolvedNum(),p.getProjectTotal())); + a.setBadRatio(getRatio(p.getBadTotal(),p.getEvaluateTotal())); + a.setGoodRatio(getRatio(p.getGoodTotal(),p.getEvaluateTotal())); + a.setBadTotal(p.getBadTotal()); + a.setEvaluateTotal(p.getEvaluateTotal()); + a.setGoodTotal(p.getGoodTotal()); + a.setProjectTotal(p.getProjectTotal()); + a.setResolvedNum(p.getResolvedNum()); + } + }); + }); + log.info(agencyInfos.toString()); + del(customerId, dateId); + insert(agencyInfos,customerId,dateId); + } /** * @Description activeCode处理 * @Param actCode diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml index 3ec91a496a..0700977462 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectOrgDailyDao.xml @@ -125,6 +125,23 @@ AND g.DATE_ID #{dateId} + \ No newline at end of file From 07274e5dc0617cd3d26f0d4c88bcb2ec89e48fbf Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 15 Apr 2021 14:29:36 +0800 Subject: [PATCH 050/121] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E6=9E=90?= =?UTF-8?q?=E5=8D=95/=E5=A4=9A=E5=AE=A2=E6=88=B7=E6=9A=82=E6=97=B6?= =?UTF-8?q?=E5=88=86=E5=BC=80=EF=BC=8C=E3=80=90org-=E6=9C=88=E3=80=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScreenProjectQuantityOrgMonthlyDao.java | 2 + .../ScreenProjectOrgDailyServiceImpl.java | 2 +- ...nProjectQuantityOrgMonthlyServiceImpl.java | 80 +++++++++++++++++-- .../ScreenProjectQuantityOrgMonthlyDao.xml | 30 +++++++ 4 files changed, 107 insertions(+), 7 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java index a11d394821..3adec6357e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.java @@ -49,6 +49,7 @@ public interface ScreenProjectQuantityOrgMonthlyDao extends BaseDao selectQuantityOrgMonthly(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId); + List selectQuantityOrgMonthlyByAgency(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId); /** * @Description 项目(事件)数量查询【本月之前的累计】 @@ -58,6 +59,7 @@ public interface ScreenProjectQuantityOrgMonthlyDao extends BaseDao selectQuantityGrandOrgMonthly(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId); + List selectQuantityGrandOrgMonthlyByAgency(@Param("agencyInfos") List agencyInfos, @Param("monthId") String monthId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java index be73462ebb..e1241d23e7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java @@ -154,7 +154,7 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl screenProjectOrgDailyDTOS = new ArrayList<>(); - //如果有子客户要按照跟组织的area_code查询组织列表 if(customerRelationService.haveSubCustomer(customerId)){ - CustomerAgencyEntity rootAgency=customerAgencyService.getRootAgencyInfo(customerId); - screenProjectOrgDailyDTOS=agencyDao.selectAgencyByAreaCode(rootAgency.getAreaCode()); + // 多客户处理 + extractionProjectOrgMonthlyMoreCustomer(customerId, monthId); }else{ - screenProjectOrgDailyDTOS=agencyDao.selectAgencyByCustomer(customerId); + // 单客户处理 + extractionProjectOrgMonthlyOneCustomer(customerId, monthId); } + } + + /** + * @Description 单客户处理 + * @Param customerId + * @Param monthId + * @author zxc + * @date 2021/4/15 下午2:18 + */ + public void extractionProjectOrgMonthlyOneCustomer(String customerId,String monthId){ + List screenProjectOrgDailyDTOS=agencyDao.selectAgencyByCustomer(customerId); + if (CollectionUtils.isEmpty(screenProjectOrgDailyDTOS)){ + log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); + return; + } + + List agencyInfos = ConvertUtils.sourceToTarget(screenProjectOrgDailyDTOS, ScreenProjectQuantityOrgMonthlyDTO.class); + List projectOrg = baseDao.selectQuantityOrgMonthlyByAgency(agencyInfos, monthId); + if (!CollectionUtils.isEmpty(projectOrg)){ + projectOrg.forEach(p -> { + p.setClosedIncr(p.getClosedIncr()); + p.setProjectIncr(p.getProjectIncr()); + }); + } + List projectGrandOrg = baseDao.selectQuantityGrandOrgMonthly(agencyInfos, monthId); + if (!CollectionUtils.isEmpty(projectGrandOrg)){ + projectGrandOrg.forEach(p -> { + p.setClosedTotal(p.getClosedTotal()); + p.setProjectTotal(p.getProjectTotal()); + p.setUnClosedTotal(p.getUnClosedTotal()); + }); + } + agencyInfos.forEach(a -> { + a.setMonthId(monthId); + if (!CollectionUtils.isEmpty(projectOrg)){ + projectOrg.forEach(p -> { + if (a.getAreaCode().equals(p.getAreaCode())){ + a.setClosedIncr(null == p.getClosedIncr() ? NumConstant.ZERO : p.getClosedIncr()); + a.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); + a.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); + } + }); + } + if (!CollectionUtils.isEmpty(projectGrandOrg)){ + projectGrandOrg.forEach(p -> { + if (a.getAreaCode().equals(p.getAreaCode())){ + a.setClosedTotal(null == p.getClosedTotal() ? NumConstant.ZERO : p.getClosedTotal()); + a.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); + a.setUnClosedTotal(null == p.getUnClosedTotal() ? NumConstant.ZERO : p.getUnClosedTotal()); + a.setProjectIncr(null == p.getProjectIncr() ? NumConstant.ZERO : p.getProjectIncr()); + } + }); + } + }); + log.info(agencyInfos.toString()); + del(customerId, monthId); + insert(agencyInfos,customerId,monthId); + } + + /** + * @Description 多客户处理 + * @Param customerId + * @Param monthId + * @author zxc + * @date 2021/4/15 下午2:18 + */ + public void extractionProjectOrgMonthlyMoreCustomer(String customerId,String monthId){ + CustomerAgencyEntity rootAgency=customerAgencyService.getRootAgencyInfo(customerId); + List screenProjectOrgDailyDTOS=agencyDao.selectAgencyByAreaCode(rootAgency.getAreaCode()); if (CollectionUtils.isEmpty(screenProjectOrgDailyDTOS)){ log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); return; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml index 7e0a5cee0e..17385c6462 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectQuantityOrgMonthlyDao.xml @@ -127,5 +127,35 @@ + + + + \ No newline at end of file From 5f1930356c504279e434d763bbf6987e5f09779a Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 15 Apr 2021 15:05:58 +0800 Subject: [PATCH 051/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E7=B1=BB?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E7=9B=B4=E6=8E=A5=E7=AB=8B=E9=A1=B9=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20gridId=E4=BF=AE=E6=94=B9=20=3D=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectCategoryDailyDao.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml index a2aa82a555..8115c5d1ce 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml @@ -75,7 +75,7 @@ P.PIDS, COUNT(DISTINCT p.ID) AS projectTotal FROM fact_origin_project_main_daily p - LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID IS NULL) + LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID = '') WHERE c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} AND ( @@ -95,7 +95,7 @@ P.PIDS, COUNT(distinct p.ID) AS projectTotal FROM fact_origin_project_main_daily p - LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID IS NULL) + LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID = '') WHERE c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} AND ( From ddafed730216ad474b340867ae758512e42a33a7 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Thu, 15 Apr 2021 17:32:26 +0800 Subject: [PATCH 052/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E6=9E=90=20?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E7=9B=B4=E6=8E=A5=E7=AB=8B=E9=A1=B9=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=20gridId=E4=BF=AE=E6=94=B9=20=3D=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/screen/ScreenProjectOrgDailyDTO.java | 11 ++ .../ScreenProjectOrgDailyServiceImpl.java | 104 +++++++++++++++--- .../extract/FactOriginProjectMainDailyDao.xml | 13 ++- 3 files changed, 109 insertions(+), 19 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java index 7b449b50fe..da3ce096ec 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectOrgDailyDTO.java @@ -17,6 +17,7 @@ package com.epmet.dto.screen; +import com.epmet.commons.tools.constant.NumConstant; import lombok.Data; import java.io.Serializable; @@ -144,4 +145,14 @@ public class ScreenProjectOrgDailyDTO implements Serializable { */ private String areaCode; + public ScreenProjectOrgDailyDTO() { + this.projectTotal = NumConstant.ZERO; + this.resolvedNum = NumConstant.ZERO; + this.resolvedRatio = NumConstant.ZERO_DECIMAL; + this.evaluateTotal = NumConstant.ZERO; + this.goodTotal = NumConstant.ZERO; + this.badTotal = NumConstant.ZERO; + this.goodRatio = NumConstant.ZERO_DECIMAL; + this.badRatio = NumConstant.ZERO_DECIMAL; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java index e1241d23e7..628a632c8d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java @@ -179,7 +179,7 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl agencyInfos=agencyDao.selectAgencyByCustomer(customerId); + List agencyInfos = agencyDao.selectAgencyByCustomer(customerId); if (CollectionUtils.isEmpty(agencyInfos)){ log.warn(String.format(PingYinConstants.AGENCY_INFO_IS_ZERO,customerId)); return; @@ -189,14 +189,8 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl { - p.setBadTotal(null == p.getBadTotal() ? NumConstant.ZERO : p.getBadTotal()); - p.setEvaluateTotal(null == p.getEvaluateTotal() ? NumConstant.ZERO : p.getEvaluateTotal()); - p.setGoodTotal(null == p.getGoodTotal() ? NumConstant.ZERO : p.getGoodTotal()); - p.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); - p.setResolvedNum(null == p.getResolvedNum() ? NumConstant.ZERO : p.getResolvedNum()); - }); log.info(projectOrgDaily.toString()); + List createProjects = disposeCreateProject(agencyInfos, dateId); agencyInfos.forEach(a -> { a.setDateId(dateId); projectOrgDaily.forEach(p -> { @@ -212,6 +206,20 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl { + createProjects.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setBadTotal(p.getBadTotal() + a.getBadTotal()); + a.setEvaluateTotal(p.getEvaluateTotal() + a.getEvaluateTotal()); + a.setGoodTotal(p.getGoodTotal() + a.getGoodTotal()); + a.setProjectTotal(p.getProjectTotal() + a.getProjectTotal()); + a.setResolvedNum(p.getResolvedNum() + a.getResolvedNum()); + a.setResolvedRatio(getRatio(a.getResolvedNum(),a.getProjectTotal())); + a.setBadRatio(getRatio(a.getBadTotal(),a.getEvaluateTotal())); + a.setGoodRatio(getRatio(a.getGoodTotal(),a.getEvaluateTotal())); + } + }); + }); log.info(agencyInfos.toString()); del(customerId, dateId); insert(agencyInfos,customerId,dateId); @@ -229,13 +237,6 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl { - p.setBadTotal(null == p.getBadTotal() ? NumConstant.ZERO : p.getBadTotal()); - p.setEvaluateTotal(null == p.getEvaluateTotal() ? NumConstant.ZERO : p.getEvaluateTotal()); - p.setGoodTotal(null == p.getGoodTotal() ? NumConstant.ZERO : p.getGoodTotal()); - p.setProjectTotal(null == p.getProjectTotal() ? NumConstant.ZERO : p.getProjectTotal()); - p.setResolvedNum(null == p.getResolvedNum() ? NumConstant.ZERO : p.getResolvedNum()); - }); log.info(projectOrgDaily.toString()); agencyInfos.forEach(a -> { a.setDateId(dateId); @@ -252,10 +253,83 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl parentAgencyInfos = agencyDao.selectAgencyByCustomer(customerId); + List createProjects = disposeCreateProject(parentAgencyInfos, dateId); + agencyInfos.forEach(a -> { + createProjects.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setBadTotal(p.getBadTotal() + a.getBadTotal()); + a.setEvaluateTotal(p.getEvaluateTotal() + a.getEvaluateTotal()); + a.setGoodTotal(p.getGoodTotal() + a.getGoodTotal()); + a.setProjectTotal(p.getProjectTotal() + a.getProjectTotal()); + a.setResolvedNum(p.getResolvedNum() + a.getResolvedNum()); + a.setResolvedRatio(getRatio(a.getResolvedNum(),a.getProjectTotal())); + a.setBadRatio(getRatio(a.getBadTotal(),a.getEvaluateTotal())); + a.setGoodRatio(getRatio(a.getGoodTotal(),a.getEvaluateTotal())); + } + }); + }); log.info(agencyInfos.toString()); del(customerId, dateId); insert(agencyInfos,customerId,dateId); } + + public List disposeCreateProject(List agencyInfos,String dateId){ + List orgIds = agencyInfos.stream().map(m -> m.getOrgId()).collect(Collectors.toList()); + List projectTotal = projectMainDailyService.selectProjectTotalByOrg(orgIds, dateId, null); + List resolvedNum = projectMainDailyService.selectResolvedNumByOrg(orgIds, dateId); + //查询 参与满意度评价的总次数 + String[] activeCodesAll = {PingYinConstants.EVALUATE_BAD,PingYinConstants.EVALUATE_GOOD,PingYinConstants.EVALUATE_PERFECT}; + List evaluateTotal = projectMainDailyService.selectEvaluateCountByOrg(orgIds, dateId, getActiveCode(activeCodesAll)); + //查询 满意+非常满意的总次数 + String[] activeCodesGood = {PingYinConstants.EVALUATE_GOOD,PingYinConstants.EVALUATE_PERFECT}; + List evaluateGood = projectMainDailyService.selectEvaluateCountByOrg(orgIds, dateId, getActiveCode(activeCodesGood)); + agencyInfos.forEach(a -> { + // 项目总数 + if (!CollectionUtils.isEmpty(projectTotal)){ + projectTotal.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setProjectTotal(p.getProjectTotal()); + } + }); + } + // 未解决项目数 + if (!CollectionUtils.isEmpty(resolvedNum)){ + resolvedNum.forEach(r -> { + if (a.getOrgId().equals(r.getOrgId())){ + a.setResolvedNum(r.getResolvedNum()); + } + }); + } + // 参与满意度评价的总次数 + if (!CollectionUtils.isEmpty(evaluateTotal)){ + evaluateTotal.forEach(e -> { + if (a.getOrgId().equals(e.getOrgId())){ + a.setEvaluateTotal(e.getEvaluateCount()); + } + }); + } + + // 满意+非常满意的总次数 + if (!CollectionUtils.isEmpty(evaluateGood)){ + evaluateGood.forEach(e -> { + if (a.getOrgId().equals(e.getOrgId())){ + a.setGoodTotal(e.getEvaluateCount()); + } + }); + } + // 解决率 + a.setResolvedRatio(getRatio(a.getResolvedNum(),a.getProjectTotal())); + // 不满意总次数 + a.setBadTotal(a.getEvaluateTotal()==NumConstant.ZERO ? NumConstant.ZERO : a.getEvaluateTotal() - a.getGoodTotal()); + // 满意率 + a.setGoodRatio(getRatio(a.getGoodTotal(),a.getEvaluateTotal())); + // 不满意率 + a.setBadRatio(getRatio(a.getBadTotal(),a.getEvaluateTotal())); + }); + return agencyInfos; + } + /** * @Description activeCode处理 * @Param actCode diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 18635a23df..c5846fe3fc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -459,7 +459,7 @@ SELECT - GRID_ID, + GRID_ID AS orgId, COUNT(ID) AS resolvedNum FROM fact_origin_project_main_daily WHERE DEL_FLAG = 0 @@ -614,7 +614,7 @@ IFNULL(COUNT(m.ID),0) AS projectTotal FROM fact_origin_project_main_daily m WHERE m.DEL_FLAG = 0 - AND m.GRID_ID IS NULL + AND m.GRID_ID = '' AND ( m.AGENCY_ID = #{orgId} @@ -639,7 +639,12 @@ AND DATE_ID #{dateId} AND PROJECT_STATUS = 'closed' AND IS_RESOLVED = 'resolved' - AND GRID_ID IS NULL + AND ( + + AGENCY_ID = #{orgId} + + ) + AND GRID_ID = '' GROUP BY AGENCY_ID From 5e410685a9e3e78a502e7fdcd86d7f249dbd3aec Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 16 Apr 2021 10:03:54 +0800 Subject: [PATCH 053/121] =?UTF-8?q?=E8=AF=B7=E9=80=89=E6=8B=A9=E7=BB=84?= =?UTF-8?q?=E7=BB=87=E5=8C=BA=E5=88=92=E9=87=8D=E5=A4=8D=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java index e5b775c067..21867756d5 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/AddAgencyV2FormDTO.java @@ -85,6 +85,6 @@ public class AddAgencyV2FormDTO implements Serializable { // private String community; //区域编码名称 - @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) + @NotBlank(message = "", groups = AreaCodeGroup.class) private String areaName; } From efcf6d4d2aced66715b2d11d4dd427eab3120786 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 16 Apr 2021 10:05:26 +0800 Subject: [PATCH 054/121] =?UTF-8?q?agencydetail=E6=8E=A5=E5=8F=A3=E8=86=9D?= =?UTF-8?q?=E7=9B=96=EF=BC=8CareaName=E8=BF=94=E5=9B=9E=E7=A9=BA=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2not=20null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/AgencyServiceImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 6202cc038c..e34fe06786 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -255,19 +255,19 @@ public class AgencyServiceImpl implements AgencyService { if (null != entity && StringUtils.isNotBlank(entity.getAreaCode())) { switch (entity.getLevel()) { case CustomerAgencyConstant.PROVINCE_LEVEL: - agencysResultDTO.setAreaName(entity.getProvince()); + agencysResultDTO.setAreaName(null == entity.getProvince() ? StrConstant.EPMETY_STR : entity.getProvince()); break; case CustomerAgencyConstant.CITY_LEVEL: - agencysResultDTO.setAreaName(entity.getCity()); + agencysResultDTO.setAreaName(null == entity.getCity() ? StrConstant.EPMETY_STR : entity.getCity()); break; case CustomerAgencyConstant.DISTRICT: - agencysResultDTO.setAreaName(entity.getDistrict()); + agencysResultDTO.setAreaName(null == entity.getDistrict() ? StrConstant.EPMETY_STR : entity.getDistrict()); break; case CustomerAgencyConstant.STREET_LEVEL: - agencysResultDTO.setAreaName(entity.getStreet()); + agencysResultDTO.setAreaName(null == entity.getStreet() ? StrConstant.EPMETY_STR : entity.getStreet()); break; case CustomerAgencyConstant.COMMUNITY_LEVEL: - agencysResultDTO.setAreaName(entity.getCommunity()); + agencysResultDTO.setAreaName(null == entity.getCommunity() ? StrConstant.EPMETY_STR : entity.getCommunity()); break; default: agencysResultDTO.setAreaName(StrConstant.EPMETY_STR); From d6b180806f606744042566ad7c95345b5fd17593 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 16 Apr 2021 10:16:38 +0800 Subject: [PATCH 055/121] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E6=9E=90=20?= =?UTF-8?q?org-=E6=9C=88=20=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pingyin/result/ClosedIncrResultDTO.java | 2 + .../pingyin/result/ProjectIncrResultDTO.java | 2 + .../result/UnClosedTotalResultDTO.java | 2 + .../FactOriginProjectMainDailyDao.java | 28 ++++++ .../FactOriginProjectMainDailyService.java | 28 ++++++ ...FactOriginProjectMainDailyServiceImpl.java | 49 ++++++++++ .../ScreenProjectOrgDailyServiceImpl.java | 15 +++ ...nProjectQuantityOrgMonthlyServiceImpl.java | 98 ++++++++++++++++++- .../extract/FactOriginProjectMainDailyDao.xml | 59 +++++++++++ 9 files changed, 282 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java index d1f9083b30..c253849ab5 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ClosedIncrResultDTO.java @@ -16,4 +16,6 @@ public class ClosedIncrResultDTO implements Serializable { private String gridId; private Integer closedIncr; + + private String orgId; } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java index 6200eb8add..8f880dcf5b 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/ProjectIncrResultDTO.java @@ -16,4 +16,6 @@ public class ProjectIncrResultDTO implements Serializable { private String gridId; private Integer projectIncr; + + private String orgId; } diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java index d31e85ec28..b4d001fa56 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/pingyin/result/UnClosedTotalResultDTO.java @@ -16,4 +16,6 @@ public class UnClosedTotalResultDTO implements Serializable { private String gridId; private Integer projectCount; + + private String orgId; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java index badbd6197c..82ea30952a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java @@ -286,6 +286,15 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectProjectIncr(@Param("customerId")String customerId, @Param("monthId")String monthId); + /** + * @Description 组织查询本月新增项目数 + * @Param orgIds + * @Param monthId + * @author zxc + * @date 2021/4/16 上午9:21 + */ + List selectProjectIncrByOrg(@Param("orgIds") List orgIds, @Param("monthId")String monthId); + /** * @Description 根据状态查询项目数 * @Param customerId @@ -296,6 +305,16 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectProjectCount(@Param("customerId")String customerId, @Param("monthId")String monthId, @Param("status") String status); + /** + * @Description 组织根据状态查询项目数 + * @Param orgIds + * @Param monthId + * @Param status + * @author zxc + * @date 2021/4/16 上午9:26 + */ + List selectProjectCountByOrg(@Param("orgIds") List orgIds, @Param("monthId")String monthId, @Param("status") String status); + /** * @Description 本月新增结案项目数 * @Param customerId @@ -305,6 +324,15 @@ public interface FactOriginProjectMainDailyDao extends BaseDao selectClosedIncr(@Param("customerId")String customerId, @Param("monthId")String monthId); + /** + * @Description 组织本月新增结案项目数 + * @Param orgIds + * @Param monthId + * @author zxc + * @date 2021/4/16 上午9:35 + */ + List selectClosedIncrByOrg(@Param("orgIds") List orgIds, @Param("monthId")String monthId); + /** * @Description 初始化screen_project_data数据 * 如果是dateId不为空,则查询前一天的数据 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index 7b3a3b8d61..f77a01bf4a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -271,6 +271,15 @@ public interface FactOriginProjectMainDailyService extends BaseService selectProjectIncr(String customerId, String monthId); + /** + * @Description 组织查询本月新增项目数 + * @Param orgIds + * @Param monthId + * @author zxc + * @date 2021/4/16 上午9:19 + */ + List selectProjectIncrByOrg(List orgIds, String monthId); + /** * @Description 根据状态查询项目数 * @Param customerId @@ -281,6 +290,16 @@ public interface FactOriginProjectMainDailyService extends BaseService selectProjectCount(String customerId, String monthId, String status); + /** + * @Description 组织根据状态查询项目数 + * @Param orgIds + * @Param monthId + * @Param status + * @author zxc + * @date 2021/4/16 上午9:24 + */ + List selectProjectCountByOrg(List orgIds, String monthId, String status); + /** * @Description 本月新增结案项目数 * @Param customerId @@ -290,6 +309,15 @@ public interface FactOriginProjectMainDailyService extends BaseService selectClosedIncr(String customerId, String monthId); + /** + * @Description 组织本月新增结案项目数 + * @Param orgIds + * @Param monthId + * @author zxc + * @date 2021/4/16 上午9:33 + */ + List selectClosedIncrByOrg(List orgIds, String monthId); + /** * @Description 初始化screen_project_data数据 * 如果是dateId不为空,则查询前一天的数据 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 643ddba8d4..cfb902162f 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -329,6 +329,22 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl(); } + /** + * @Description 组织查询本月新增项目数 + * @Param orgIds + * @Param monthId + * @author zxc + * @date 2021/4/16 上午9:19 + */ + @Override + public List selectProjectIncrByOrg(List orgIds, String monthId) { + if (!CollectionUtils.isEmpty(orgIds) && StringUtils.isNotBlank(monthId)){ + List projectIncrResultDTOS = baseDao.selectProjectIncrByOrg(orgIds, monthId); + return projectIncrResultDTOS; + } + return new ArrayList<>(); + } + /** * @Description 根据状态查询项目数 * @Param customerId @@ -346,6 +362,23 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl(); } + /** + * @Description 组织根据状态查询项目数 + * @Param orgIds + * @Param monthId + * @Param status + * @author zxc + * @date 2021/4/16 上午9:24 + */ + @Override + public List selectProjectCountByOrg(List orgIds, String monthId, String status) { + if (!CollectionUtils.isEmpty(orgIds) && StringUtils.isNotBlank(monthId)){ + List resultDTOS = baseDao.selectProjectCountByOrg(orgIds, monthId, status); + return resultDTOS; + } + return new ArrayList<>(); + } + /** * @Description 本月新增结案项目数 * @Param customerId @@ -362,6 +395,22 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl(); } + /** + * @Description 组织本月新增结案项目数 + * @Param orgIds + * @Param monthId + * @author zxc + * @date 2021/4/16 上午9:33 + */ + @Override + public List selectClosedIncrByOrg(List orgIds, String monthId) { + if (!CollectionUtils.isEmpty(orgIds) && StringUtils.isNotBlank(monthId)){ + List result = baseDao.selectClosedIncrByOrg(orgIds, monthId); + return result; + } + return new ArrayList<>(); + } + /** * @Description 初始化screen_project_data数据 * 如果是dateId不为空,则查询前一天的数据 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java index 628a632c8d..3a37d17a40 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectOrgDailyServiceImpl.java @@ -225,6 +225,13 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl agencyInfos = agencyDao.selectAgencyByAreaCode(rootAgency.getAreaCode()); @@ -253,6 +260,7 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl parentAgencyInfos = agencyDao.selectAgencyByCustomer(customerId); List createProjects = disposeCreateProject(parentAgencyInfos, dateId); agencyInfos.forEach(a -> { @@ -274,6 +282,13 @@ public class ScreenProjectOrgDailyServiceImpl extends BaseServiceImpl disposeCreateProject(List agencyInfos,String dateId){ List orgIds = agencyInfos.stream().map(m -> m.getOrgId()).collect(Collectors.toList()); List projectTotal = projectMainDailyService.selectProjectTotalByOrg(orgIds, dateId, null); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java index 2c4182eee3..b03f7f65b8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectQuantityOrgMonthlyServiceImpl.java @@ -29,13 +29,14 @@ import com.epmet.constant.DataSourceConstant; import com.epmet.constant.PingYinConstants; import com.epmet.dao.evaluationindex.screen.ScreenCustomerAgencyDao; import com.epmet.dao.evaluationindex.screen.ScreenProjectQuantityOrgMonthlyDao; -import com.epmet.dto.pingyin.result.ProjectOrgMonthlyResultDTO; +import com.epmet.dto.pingyin.result.*; import com.epmet.dto.screen.ScreenProjectOrgDailyDTO; import com.epmet.dto.screen.ScreenProjectQuantityOrgMonthlyDTO; import com.epmet.dto.screencoll.ScreenCollFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenProjectQuantityOrgMonthlyEntity; import com.epmet.entity.org.CustomerAgencyEntity; import com.epmet.service.crm.CustomerRelationService; +import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; import com.epmet.service.evaluationindex.screen.ScreenProjectQuantityOrgMonthlyService; import com.epmet.service.org.CustomerAgencyService; import com.google.common.collect.Lists; @@ -51,6 +52,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * 项目(事件)数量分析按组织_按月统计 @@ -69,6 +71,9 @@ public class ScreenProjectQuantityOrgMonthlyServiceImpl extends BaseServiceImpl< private CustomerRelationService customerRelationService; @Autowired private CustomerAgencyService customerAgencyService; + @Autowired + private FactOriginProjectMainDailyService projectMainDailyService; + @Override public PageData page(Map params) { IPage page = baseDao.selectPage( @@ -213,6 +218,19 @@ public class ScreenProjectQuantityOrgMonthlyServiceImpl extends BaseServiceImpl< }); } }); + // 直接立项处理 + List agencyCreateProject = agencyCreateProject(agencyInfos, monthId); + agencyInfos.forEach(a -> { + agencyCreateProject.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setProjectIncr(a.getProjectIncr() + p.getProjectIncr()); + a.setProjectTotal(a.getProjectTotal() + p.getProjectTotal()); + a.setUnClosedTotal(a.getUnClosedTotal() + p.getUnClosedTotal()); + a.setClosedTotal(a.getClosedTotal() + p.getClosedTotal()); + a.setClosedIncr(a.getClosedIncr() + p.getClosedIncr()); + } + }); + }); log.info(agencyInfos.toString()); del(customerId, monthId); insert(agencyInfos,customerId,monthId); @@ -271,11 +289,89 @@ public class ScreenProjectQuantityOrgMonthlyServiceImpl extends BaseServiceImpl< }); } }); + List parentAgency = agencyDao.selectAgencyByCustomer(customerId); + List parentAgencyInfos = ConvertUtils.sourceToTarget(parentAgency, ScreenProjectQuantityOrgMonthlyDTO.class); + List agencyCreateProject = agencyCreateProject(parentAgencyInfos, monthId); + agencyInfos.forEach(a -> { + agencyCreateProject.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setProjectIncr(a.getProjectIncr() + p.getProjectIncr()); + a.setProjectTotal(a.getProjectTotal() + p.getProjectTotal()); + a.setUnClosedTotal(a.getUnClosedTotal() + p.getUnClosedTotal()); + a.setClosedTotal(a.getClosedTotal() + p.getClosedTotal()); + a.setClosedIncr(a.getClosedIncr() + p.getClosedIncr()); + } + }); + }); log.info(agencyInfos.toString()); del(customerId, monthId); insert(agencyInfos,customerId,monthId); } + /** + * @Description 组织直接立项处理 + * @Param agencyInfos + * @Param monthId + * @author zxc + * @date 2021/4/16 上午10:03 + */ + public List agencyCreateProject(List agencyInfos, String monthId){ + List orgIds = agencyInfos.stream().map(m -> m.getOrgId()).collect(Collectors.toList()); + // 本月新增的项目数量 转项目日期在当前月份内 + List projectIncr = projectMainDailyService.selectProjectIncrByOrg(orgIds, monthId); + // 截止到当前月份:累计项目总数 + List projectTotal = projectMainDailyService.selectProjectTotalByOrg(orgIds, null, monthId); + // 截止到当前月份:累计未结项目总数 + List projectUnClosed = projectMainDailyService.selectProjectCountByOrg(orgIds, monthId, PingYinConstants.UN_CLOSED); + // 截止到当前月份:累计已结项目 + List projectClosed = projectMainDailyService.selectProjectCountByOrg(orgIds, monthId, PingYinConstants.CLOSED); + // 本月新增结案项目数 + List closedIncr = projectMainDailyService.selectClosedIncrByOrg(orgIds, monthId); + agencyInfos.forEach(a -> { + a.setMonthId(monthId); + if (!CollectionUtils.isEmpty(projectIncr)){ + projectIncr.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setProjectIncr(p.getProjectIncr()); + } + }); + } + // 截止到当前月份:累计项目总数 + if (!CollectionUtils.isEmpty(projectTotal)){ + projectTotal.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setProjectTotal(p.getProjectTotal()); + } + }); + } + // 截止到当前月份:累计未结项目总数 + if (!CollectionUtils.isEmpty(projectUnClosed)){ + projectUnClosed.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setUnClosedTotal(p.getProjectCount()); + } + }); + } + // 截止到当前月份:累计已结项目 + if (!CollectionUtils.isEmpty(projectClosed)){ + projectClosed.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setClosedTotal(p.getProjectCount()); + } + }); + } + // 本月新增结案项目数 + if (!CollectionUtils.isEmpty(closedIncr)){ + closedIncr.forEach(p -> { + if (a.getOrgId().equals(p.getOrgId())){ + a.setClosedIncr(p.getClosedIncr()); + } + }); + } + }); + return agencyInfos; + } + @Transactional(rollbackFor = Exception.class) public void del(String customerId,String monthId){ Integer flag; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index c5846fe3fc..4e2d66473a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -671,4 +671,63 @@ GROUP BY ORG_ID + + + + + + + + + From 8d647eab78eb1cbc320c189c0406d4ff475177ec Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 16 Apr 2021 10:46:49 +0800 Subject: [PATCH 056/121] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 3 +- .../dto/govorg/form/NextAreaCodeFormDTO.java | 7 ++- .../govorg/impl/GovOrgServiceImpl.java | 9 ++-- .../com/epmet/dto/form/EditAgencyFormDTO.java | 30 ++++++++++- .../epmet/controller/AgencyController.java | 11 ++-- .../java/com/epmet/dao/CustomerAgencyDao.java | 8 ++- .../epmet/service/CustomerAgencyService.java | 2 +- .../epmet/service/impl/AgencyServiceImpl.java | 52 ++++++++++++++----- .../impl/CustomerAgencyServiceImpl.java | 6 +-- .../resources/mapper/CustomerAgencyDao.xml | 18 +++++++ 10 files changed, 116 insertions(+), 30 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java index 79f5421789..2f340981fa 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/exception/EpmetErrorCode.java @@ -71,7 +71,8 @@ public enum EpmetErrorCode { NOT_DEL_DEPARTMENT(8206, "该部门存在工作人员,不允许删除"), NOT_DEL_AGENCY_GRID(8207, "该机关存在网格,不允许删除"), AREA_CODE_ALREADY_EXISTS(8208,"组织区划已被占用,请重新选择"), - AGENCY_NAME_ALREADY_EXISTS(8209,"您当前的组织名称已存在,请重新修改"), + AGENCY_NAME_ALREADY_EXISTS(8209,"当前组织名称已存在,请重新修改"), + SET_PARENT_AREA_CODE(8210,"请先设置上级组织区划"), REQUIRE_PERMISSION(8301, "您没有足够的操作权限"), THIRD_PLAT_REQUEST_ERROR(8302, "请求第三方平台错误"), diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java index ad3783df46..5bdd66cf68 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govorg/form/NextAreaCodeFormDTO.java @@ -14,8 +14,11 @@ import java.io.Serializable; @Data public class NextAreaCodeFormDTO implements Serializable { private static final long serialVersionUID = -1974456701949979946L; + public interface AddUserInternalGroup { + } + @NotBlank(message = "parentAgencyId不能为空",groups = AddUserInternalGroup.class) + private String parentAgencyId; - @NotBlank(message = "areaCode不能为空") private String areaCode; /** @@ -25,7 +28,7 @@ public class NextAreaCodeFormDTO implements Serializable { * 市级: city * 省级:province */ - @NotBlank(message = "level不能为空") + @NotBlank(message = "level不能为空",groups = AddUserInternalGroup.class) private String level; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index ebc8cac4b3..b09414f1bd 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -3,6 +3,7 @@ package com.epmet.dataaggre.service.govorg.impl; import com.alibaba.fastjson.JSON; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.RenException; import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.govorg.CustomerAgencyDao; @@ -20,8 +21,7 @@ import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.opercrm.CustomerRelation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -37,7 +37,6 @@ import java.util.List; @DataSource(DataSourceConstant.GOV_ORG) @Slf4j public class GovOrgServiceImpl implements GovOrgService { - private static final Logger logger = LoggerFactory.getLogger(GovOrgServiceImpl.class); @Autowired private CustomerAgencyDao customerAgencyDao; @@ -133,6 +132,10 @@ public class GovOrgServiceImpl implements GovOrgService { @Override public List queryNextLevelAreaCodeList(NextAreaCodeFormDTO formDTO) { + CustomerAgencyEntity parent=customerAgencyDao.selectById(formDTO.getParentAgencyId()); + if (null == parent || StringUtils.isBlank(parent.getAreaCode())) { + throw new RenException(EpmetErrorCode.SET_PARENT_AREA_CODE.getCode(),EpmetErrorCode.SET_PARENT_AREA_CODE.getMsg()); + } //全部下级 List allList = areaCodeService.queryNextLevelAreaCodeList(formDTO); if (CollectionUtils.isNotEmpty(allList)) { diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java index 276099576a..0202ecd894 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java @@ -17,6 +17,7 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -33,23 +34,48 @@ import java.io.Serializable; public class EditAgencyFormDTO implements Serializable { private static final long serialVersionUID = 1L; + public interface AddUserInternalGroup { + } + + public interface DefaultUserShowGroup extends CustomerClientShowGroup { + } + + public interface AreaCodeGroup extends CustomerClientShowGroup { + } /** * 机关组织Id */ - @NotBlank(message = "机关组织ID不能为空") + @NotBlank(message = "机关组织ID不能为空", groups = AddUserInternalGroup.class) private String agencyId; /** * 机关组织名称 */ @NotBlank(message = "机关组织名称不能为空") - @Length(max=50,message = "机构名称不能超过50个字") + @Length(max=50,message = "机构名称不能超过50个字",groups = DefaultUserShowGroup.class) private String agencyName; /** * token中用户Id */ + @NotBlank(message = "tokenDto获取userId为空", groups = AddUserInternalGroup.class) private String userId; + //2021.04.16 area_code需求 新增入参 + /** + * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 + */ + @NotBlank(message = "areaCodeSwitch不能为空", groups = AddUserInternalGroup.class) + private String areaCodeSwitch; + + /** + * 地区编码 + */ + @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) + private String areaCode; + + //区域编码名称 + @NotBlank(message = "", groups = AreaCodeGroup.class) + private String areaName; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index 74e095de3e..ddd60b569a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -93,13 +93,13 @@ public class AgencyController { **/ @PostMapping("addagency-v2") @RequirePermission(requirePermission = RequirePermissionEnum.ORG_SUBAGENCY_CREATE) - public Result addAgencyV2(@RequestBody AddAgencyV2FormDTO formDTO) { + public Result addAgencyV2(@LoginUser TokenDto tokenDTO,@RequestBody AddAgencyV2FormDTO formDTO) { ValidatorUtils.validateEntity(formDTO, AddAgencyV2FormDTO.DefaultUserShowGroup.class, AddAgencyV2FormDTO.AddUserInternalGroup.class); if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { ValidatorUtils.validateEntity(formDTO, AddAgencyV2FormDTO.AreaCodeGroup.class); } - //组织名称是否存在 - customerAgencyService.checkAgencyName(formDTO.getAgencyName()); + //当前客户下,同级组织中,组织名称不允许重复 + customerAgencyService.checkAgencyName(formDTO.getAgencyName(),tokenDTO.getCustomerId(),formDTO.getLevel(),null); return new Result().ok(agencyService.addAgencyV2(formDTO)); } @@ -127,7 +127,10 @@ public class AgencyController { @RequirePermission(requirePermission = RequirePermissionEnum.ORG_AGENCY_UPDATE) public Result editAgency(@LoginUser TokenDto tokenDTO, @RequestBody EditAgencyFormDTO formDTO) { formDTO.setUserId(tokenDTO.getUserId()); - ValidatorUtils.validateEntity(formDTO); + ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.DefaultUserShowGroup.class, EditAgencyFormDTO.AddUserInternalGroup.class); + if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { + ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.AreaCodeGroup.class); + } return agencyService.editAgency(formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java index f9742f72e3..bdc8814ff4 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerAgencyDao.java @@ -225,5 +225,11 @@ public interface CustomerAgencyDao extends BaseDao { **/ int delByAgencyId(@Param("agencyId") String agencyId, @Param("operateUserId") String operateUserId); - List selectAgencyIdsByAreaCode(String areaCode); + List selectAgencyIdsByAreaCode(@Param("areaCode") String areaCode, + @Param("agencyId") String agencyId); + + List checkAgencyName(@Param("agencyName") String agencyName, + @Param("customerId") String customerId, + @Param("level") String level, + @Param("agencyId") String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java index 464c46c8dc..59941f1f60 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerAgencyService.java @@ -235,5 +235,5 @@ public interface CustomerAgencyService extends BaseService **/ OrganizeTreeResultDTO organizeTree(String agencyId); - void checkAgencyName(String agencyName); + void checkAgencyName(String agencyName,String customerId,String level,String agencyId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index e34fe06786..d3af8846f0 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -51,7 +51,6 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Arrays; -import java.util.Date; import java.util.List; /** @@ -133,9 +132,45 @@ public class AgencyServiceImpl implements AgencyService { @Transactional(rollbackFor = Exception.class) public Result editAgency(EditAgencyFormDTO formDTO) { Result result = new Result(); - CustomerAgencyEntity entity = getUpdateEntity(formDTO); + CustomerAgencyEntity originalEntity = customerAgencyDao.selectById(formDTO.getAgencyId()); + //当前客户下,同级组织中,组织名称不允许重复 + customerAgencyService.checkAgencyName(formDTO.getAgencyName(),originalEntity.getCustomerId(),originalEntity.getLevel(),originalEntity.getId()); + + if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { + //开关开启,areaCode,areaName必填 + if(!formDTO.getAreaCode().equals(originalEntity.getAreaCode())){ + //重新选择了新的area_code + CustomerAgencyDTO parent = customerAgencyService.get(originalEntity.getPid()); + if (null == parent ||StringUtils.isBlank(parent.getAreaCode())) { + throw new RenException(EpmetErrorCode.SET_PARENT_AREA_CODE.getCode(),EpmetErrorCode.SET_PARENT_AREA_CODE.getMsg()); + } + originalEntity.setParentAreaCode(parent.getAreaCode()); + if (!"other".equals(formDTO.getAreaCode())) { + //校验areaCode是否被使用过 + List agencyIds = customerAgencyDao.selectAgencyIdsByAreaCode(formDTO.getAreaCode(),formDTO.getAgencyId()); + if (CollectionUtils.isNotEmpty(agencyIds)) { + //已经被占用,提示 + throw new RenException(EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getCode(), EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getMsg()); + } + originalEntity.setAreaCode(formDTO.getAreaCode()); + }else{ + //如果选择的是other,需要自定义一个编码 + AddAreaCodeFormDTO addAreaCodeFormDTO = new AddAreaCodeFormDTO(); + addAreaCodeFormDTO.setCurrentAreaLevel(originalEntity.getLevel()); + addAreaCodeFormDTO.setParentAreaCode(parent.getAreaCode()); + addAreaCodeFormDTO.setName(formDTO.getAgencyName()); + Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); + if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { + throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); + } + originalEntity.setAreaCode(addAreaCodeResult.getData()); + } + } + } + originalEntity.setOrganizationName(formDTO.getAgencyName()); + //1:更新当前组织信息 - if (customerAgencyDao.updateById(entity) < NumConstant.ONE) { + if (customerAgencyDao.updateById(originalEntity) < NumConstant.ONE) { log.error(CustomerAgencyConstant.UPDATE_EXCEPTION); throw new RenException(CustomerAgencyConstant.UPDATE_EXCEPTION); } @@ -148,7 +183,6 @@ public class AgencyServiceImpl implements AgencyService { } //3:循环组织列表,查询每一个组织的所有上级组织重新拼接所有上级名称(allParentName)字段值 List editList = new ArrayList<>(); - Date date = new Date(); agencyList.forEach(agency->{ //3-1:查询当前组织的所有上级组织 List listStr = Arrays.asList(agency.getPids().split(":")); @@ -178,12 +212,6 @@ public class AgencyServiceImpl implements AgencyService { return result; } - private CustomerAgencyEntity getUpdateEntity(EditAgencyFormDTO formDTO) { - CustomerAgencyEntity entity = customerAgencyDao.selectById(formDTO.getAgencyId()); - entity.setOrganizationName(formDTO.getAgencyName()); - return entity; - } - /** * @param formDTO * @return @@ -429,7 +457,7 @@ public class AgencyServiceImpl implements AgencyService { public AddAgencyResultDTO addAgencyV2(AddAgencyV2FormDTO formDTO) { CustomerAgencyDTO parent = customerAgencyService.get(formDTO.getParentAgencyId()); if (null == parent) { - throw new RenException(String.format("添加组织失败:没有找到跟组织信息,parentAgencyId=%s", formDTO.getParentAgencyId())); + throw new RenException(String.format("添加组织失败:没有找到上级组织信息,agencyId=%s", formDTO.getParentAgencyId())); } AddAgencyResultDTO resultDTO = new AddAgencyResultDTO(); resultDTO.setAreaCodeSwitch(formDTO.getAreaCodeSwitch()); @@ -438,7 +466,7 @@ public class AgencyServiceImpl implements AgencyService { if (CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN.equals(formDTO.getAreaCodeSwitch())) { //校验areaCode是否被使用过 if (!"other".equals(formDTO.getAreaCode())) { - List agencyIds = customerAgencyDao.selectAgencyIdsByAreaCode(insertEntity.getAreaCode()); + List agencyIds = customerAgencyDao.selectAgencyIdsByAreaCode(insertEntity.getAreaCode(),null); if (CollectionUtils.isNotEmpty(agencyIds)) { //已经被占用,提示 throw new RenException(EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getCode(), EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getMsg()); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java index dc81a51b47..3753412331 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerAgencyServiceImpl.java @@ -1060,10 +1060,8 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); - wrapper.eq(StringUtils.isNotBlank(agencyName), "ORGANIZATION_NAME", agencyName); - List entityList = baseDao.selectList(wrapper); + public void checkAgencyName(String agencyName,String customerId,String level,String agencyId) { + List entityList = baseDao.checkAgencyName(agencyName,customerId,level,agencyId); if (CollectionUtils.isNotEmpty(entityList)) { throw new RenException(EpmetErrorCode.AGENCY_NAME_ALREADY_EXISTS.getCode(), EpmetErrorCode.AGENCY_NAME_ALREADY_EXISTS.getMsg()); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml index 27d446f644..ea6f94a1e8 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerAgencyDao.xml @@ -408,5 +408,23 @@ WHERE ca.DEL_FLAG = '0' AND ca.AREA_CODE = #{areaCode} + + AND ca.id !=#{agencyId} + + + + \ No newline at end of file From 3d7e1af75cf2ce17d953efb18fac84920aec7da8 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 16 Apr 2021 10:56:28 +0800 Subject: [PATCH 057/121] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/dto/form/EditAgencyFormDTO.java | 19 ----------- .../epmet/controller/AgencyController.java | 3 -- .../epmet/service/impl/AgencyServiceImpl.java | 33 ------------------- 3 files changed, 55 deletions(-) diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java index 0202ecd894..66984fc62e 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java @@ -40,9 +40,6 @@ public class EditAgencyFormDTO implements Serializable { public interface DefaultUserShowGroup extends CustomerClientShowGroup { } - public interface AreaCodeGroup extends CustomerClientShowGroup { - } - /** * 机关组织Id */ @@ -62,20 +59,4 @@ public class EditAgencyFormDTO implements Serializable { @NotBlank(message = "tokenDto获取userId为空", groups = AddUserInternalGroup.class) private String userId; - //2021.04.16 area_code需求 新增入参 - /** - * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 - */ - @NotBlank(message = "areaCodeSwitch不能为空", groups = AddUserInternalGroup.class) - private String areaCodeSwitch; - - /** - * 地区编码 - */ - @NotBlank(message = "请选择组织区划", groups = AreaCodeGroup.class) - private String areaCode; - - //区域编码名称 - @NotBlank(message = "", groups = AreaCodeGroup.class) - private String areaName; } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java index ddd60b569a..b0ec95dfd2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/AgencyController.java @@ -128,9 +128,6 @@ public class AgencyController { public Result editAgency(@LoginUser TokenDto tokenDTO, @RequestBody EditAgencyFormDTO formDTO) { formDTO.setUserId(tokenDTO.getUserId()); ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.DefaultUserShowGroup.class, EditAgencyFormDTO.AddUserInternalGroup.class); - if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { - ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.AreaCodeGroup.class); - } return agencyService.editAgency(formDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index d3af8846f0..8134ff776a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -135,40 +135,7 @@ public class AgencyServiceImpl implements AgencyService { CustomerAgencyEntity originalEntity = customerAgencyDao.selectById(formDTO.getAgencyId()); //当前客户下,同级组织中,组织名称不允许重复 customerAgencyService.checkAgencyName(formDTO.getAgencyName(),originalEntity.getCustomerId(),originalEntity.getLevel(),originalEntity.getId()); - - if (formDTO.getAreaCodeSwitch().equals(CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN)) { - //开关开启,areaCode,areaName必填 - if(!formDTO.getAreaCode().equals(originalEntity.getAreaCode())){ - //重新选择了新的area_code - CustomerAgencyDTO parent = customerAgencyService.get(originalEntity.getPid()); - if (null == parent ||StringUtils.isBlank(parent.getAreaCode())) { - throw new RenException(EpmetErrorCode.SET_PARENT_AREA_CODE.getCode(),EpmetErrorCode.SET_PARENT_AREA_CODE.getMsg()); - } - originalEntity.setParentAreaCode(parent.getAreaCode()); - if (!"other".equals(formDTO.getAreaCode())) { - //校验areaCode是否被使用过 - List agencyIds = customerAgencyDao.selectAgencyIdsByAreaCode(formDTO.getAreaCode(),formDTO.getAgencyId()); - if (CollectionUtils.isNotEmpty(agencyIds)) { - //已经被占用,提示 - throw new RenException(EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getCode(), EpmetErrorCode.AREA_CODE_ALREADY_EXISTS.getMsg()); - } - originalEntity.setAreaCode(formDTO.getAreaCode()); - }else{ - //如果选择的是other,需要自定义一个编码 - AddAreaCodeFormDTO addAreaCodeFormDTO = new AddAreaCodeFormDTO(); - addAreaCodeFormDTO.setCurrentAreaLevel(originalEntity.getLevel()); - addAreaCodeFormDTO.setParentAreaCode(parent.getAreaCode()); - addAreaCodeFormDTO.setName(formDTO.getAgencyName()); - Result addAreaCodeResult = epmetCommonServiceOpenFeignClient.addAreaCode(addAreaCodeFormDTO); - if (!addAreaCodeResult.success() || StringUtils.isBlank(addAreaCodeResult.getData())) { - throw new RenException("自定义area_code异常" + addAreaCodeResult.getInternalMsg()); - } - originalEntity.setAreaCode(addAreaCodeResult.getData()); - } - } - } originalEntity.setOrganizationName(formDTO.getAgencyName()); - //1:更新当前组织信息 if (customerAgencyDao.updateById(originalEntity) < NumConstant.ONE) { log.error(CustomerAgencyConstant.UPDATE_EXCEPTION); From bf753487ff7a813f475a82c631f5ddce11e53b0f Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 16 Apr 2021 11:09:45 +0800 Subject: [PATCH 058/121] agencyDetail --- .../main/java/com/epmet/service/impl/AgencyServiceImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 8134ff776a..9cb313c547 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -246,6 +246,7 @@ public class AgencyServiceImpl implements AgencyService { parentList = customerAgencyDao.selectPAgencyById(listStr); agencysResultDTO.setParentList(parentList); agencysResultDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(entity.getCustomerId())); + agencysResultDTO.setAreaName(StrConstant.EPMETY_STR); //查询组织区划的名称 if (null != entity && StringUtils.isNotBlank(entity.getAreaCode())) { switch (entity.getLevel()) { @@ -271,6 +272,10 @@ public class AgencyServiceImpl implements AgencyService { return new Result().ok(agencysResultDTO); } + public static void main(String[] args) { + String m="1234"; + System.out.println(m.equals("1234") ? "yes" : "no"); + } /** * @param formDTO * @return From 54106eccd32dd8482cd39ed6e6c68dd41e1dcfd5 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Fri, 16 Apr 2021 11:12:08 +0800 Subject: [PATCH 059/121] agencyDetail --- .../src/main/java/com/epmet/service/impl/AgencyServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java index 9cb313c547..e83b78ba77 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/AgencyServiceImpl.java @@ -247,6 +247,7 @@ public class AgencyServiceImpl implements AgencyService { agencysResultDTO.setParentList(parentList); agencysResultDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(entity.getCustomerId())); agencysResultDTO.setAreaName(StrConstant.EPMETY_STR); + agencysResultDTO.setAreaCode(StringUtils.isNotBlank(entity.getAreaCode())?entity.getAreaCode():StrConstant.EPMETY_STR); //查询组织区划的名称 if (null != entity && StringUtils.isNotBlank(entity.getAreaCode())) { switch (entity.getLevel()) { From ebfa49c6cc46e550f99993d9d54568f0d4c9f9e5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 16 Apr 2021 16:24:56 +0800 Subject: [PATCH 060/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9?= =?UTF-8?q?=E6=A0=87=E9=A2=9820=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java | 1 + 1 file changed, 1 insertion(+) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java index d86d4873c1..dd2001e970 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -18,6 +18,7 @@ public class ProjectApprovalFormDTO implements Serializable { public interface ApprovalCategory{} @NotBlank(message = "项目标题不能为空",groups = {ApprovalCategory.class}) + @Length(max=20,message = "项目标题不能超过20位") private String title; @NotBlank(message = "项目背景不能为空",groups = {ApprovalCategory.class}) From 1c49996f52d18a0aea949e927fa43eac3500dd7a Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 16 Apr 2021 16:32:18 +0800 Subject: [PATCH 061/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=93=8D=E4=BD=9C=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/commons/tools/enums/RequirePermissionEnum.java | 7 ++++++- .../java/com/epmet/controller/ProjectTraceController.java | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java index 60c16f0c01..72d2e072b4 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/RequirePermissionEnum.java @@ -164,7 +164,12 @@ public enum RequirePermissionEnum { MORE_BADGE_MANAGE_LIST("more_badge_manage_list","更多:徽章:徽章管理:列表","徽章列表"), MORE_BADGE_MANAGE_CREATE("more_badge_manage_create","更多:徽章:徽章管理:添加","添加徽章"), MORE_BADGE_MANAGE_EDIT("more_badge_manage_edit","更多:徽章:徽章管理:编辑","编辑徽章"), - MORE_BADGE_MANAGE_DELETE("more_badge_manage_delete","更多:徽章:徽章管理:删除","删除徽章"); + MORE_BADGE_MANAGE_DELETE("more_badge_manage_delete","更多:徽章:徽章管理:删除","删除徽章"), + + /** + * 项目立项 + */ + WORK_PROJECT_APPROVAL("work_project_approval","政务管理:项目立项","项目立项"); private String key; private String name; diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 199d762a85..a91cc3513b 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -351,6 +351,7 @@ public class ProjectTraceController { * @Description 项目立项 **/ @PostMapping("projectapproval") + @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_APPROVAL) public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO,ProjectApprovalFormDTO.ApprovalCategory.class); formDTO.setCustomerId(tokenDTO.getCustomerId()); From 7a623cf1e0e57d6464fc0cac54397d01a47f2858 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 19 Apr 2021 12:37:29 +0800 Subject: [PATCH 062/121] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CustomerGridController.java | 1 + .../com/epmet/controller/GridController.java | 14 +++++- .../java/com/epmet/dao/CustomerGridDao.java | 46 ++++++++++++------- .../epmet/service/CustomerGridService.java | 19 ++++---- .../service/impl/CustomerGridServiceImpl.java | 5 ++ .../main/resources/mapper/CustomerGridDao.xml | 13 ++++++ 6 files changed, 72 insertions(+), 26 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java index 5068d6187f..eec27314ba 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/CustomerGridController.java @@ -104,6 +104,7 @@ public class CustomerGridController { public Result getCustomerGridByGridId(@RequestBody CustomerGridFormDTO customerGridFormDTO) { return customerGridService.getCustomerGridByGridId(customerGridFormDTO); } + /** * @Description 陌生人导览模块调用 根据陌生揽客传入的地区码进行分页查询显示 * @Param ListCustomerGridFormDTO diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java index 6d82530dfe..a51b505b35 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/GridController.java @@ -5,8 +5,9 @@ import com.epmet.commons.tools.annotation.RequirePermission; import com.epmet.commons.tools.enums.RequirePermissionEnum; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; -import com.epmet.dto.form.*; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.CustomerGridService; import com.epmet.service.CustomerStaffAgencyService; @@ -165,4 +166,15 @@ public class GridController { public Result> selectOrgInfo(@RequestBody OrgInfoFormDTO orgInfoFormDTO){ return new Result>().ok(customerGridService.selectOrgInfo(orgInfoFormDTO)); } + /** + * 供epmet-user服务调用 查询客户网格表数据 + * @author sun + * @param customerGridFormDTO + * @return + * @throws Exception + */ + @PostMapping("getbaseinfo") + public Result getBaseInfo(@RequestBody CustomerGridFormDTO customerGridFormDTO) { + return customerGridService.getBaseInfo(customerGridFormDTO); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java index a6c519d1ce..125c7731ed 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/CustomerGridDao.java @@ -18,7 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; -import com.epmet.dto.CustomerAgencyDTO; +import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.UserIdAndPidDTO; import com.epmet.dto.UserIdDTO; @@ -60,11 +60,11 @@ public interface CustomerGridDao extends BaseDao { List selectRestGridWithoutGivenAreaCode(Map paramsMap); /** - * @Description 通过gridId查询网格信息,网格名称格式: 上级组织名称-网格名称 * @param customerGridFormDTO + * @Description 通过gridId查询网格信息,网格名称格式: 上级组织名称-网格名称 * @author wangc * @date 2020.04.30 13:57 - **/ + **/ CustomerGridDTO getCustomerGridByGridId(CustomerGridFormDTO customerGridFormDTO); /** @@ -156,8 +156,8 @@ public interface CustomerGridDao extends BaseDao { List selectGridByIds(@Param("gridIdList") List gridIdList); /** - * @Description 获取所属网格 * @param formDTO + * @Description 获取所属网格 * @author zxc * @date 2020/5/11 18:50 */ @@ -178,12 +178,12 @@ public interface CustomerGridDao extends BaseDao { List selectGridListByIds(@Param("gridIdList") List gridIdList); /** - * @Description 通过网格Id获取网格所需要的数据权限信息 * @param gridId + * @Description 通过网格Id获取网格所需要的数据权限信息 * @author wangc * @date 2020.05.13 11:01 **/ - CommonDataFilterResultDTO getGridDataFilterMsg(@Param("gridId")String gridId); + CommonDataFilterResultDTO getGridDataFilterMsg(@Param("gridId") String gridId); /** * @param agencyId @@ -218,41 +218,55 @@ public interface CustomerGridDao extends BaseDao { List selectThirdRestGridWithoutGivenAreaCode(Map map); /** - * @Description 查询当前客户已有网格数量 * @param customerId + * @Description 查询当前客户已有网格数量 * @author zxc * @date 2020/8/12 5:10 下午 */ - Integer selectGridCount(@Param("customerId")String customerId); + Integer selectGridCount(@Param("customerId") String customerId); /** * 删除工作人员与网格关联 - * @author zhaoqifeng - * @date 2020/8/28 15:32 + * * @param staffId * @return void + * @author zhaoqifeng + * @date 2020/8/28 15:32 */ void deleteGridStaff(@Param("staffId") String staffId); /** * 查询工作人员所在网格 - * @author zhaoqifeng - * @date 2020/8/28 15:41 + * * @param staffId * @return java.util.List + * @author zhaoqifeng + * @date 2020/8/28 15:41 */ List selectGridByStaff(@Param("staffId") String staffId); - List selectOrgInfoByAgency(@Param("orgIds")List orgIds); - List selectOrgInfoByGrid(@Param("orgIds")List orgIds); - List selectOrgInfoByDept(@Param("orgIds")List orgIds); + List selectOrgInfoByAgency(@Param("orgIds") List orgIds); + + List selectOrgInfoByGrid(@Param("orgIds") List orgIds); + + List selectOrgInfoByDept(@Param("orgIds") List orgIds); /** * @param gridId - * @return com.epmet.commons.tools.utils.Result> + * @return com.epmet.commons.tools.utils.Result> * @Author zy * @Description 根据 网格id,查询同属于一个社区下的所有网格id * @Date 2020/12/28 23:16 **/ List selectListGridIdsInCommunity(@Param("gridId") String gridId); + + /** + * desc: 根据网格Id获取网格基础信息 单表查询 + * + * @param gridId + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/4/19 11:56 上午 + */ + Result getGridBaseInfoById(@Param("gridId") String gridId); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java index adb1d3c1e0..4799c38890 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/CustomerGridService.java @@ -23,17 +23,8 @@ import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.form.*; -import com.epmet.dto.result.AddGridResultDTO; -import com.epmet.dto.form.CommonAgencyIdFormDTO; -import com.epmet.dto.form.CustomerGridFormDTO; -import com.epmet.dto.form.ListCustomerGridFormDTO; -import com.epmet.dto.form.SelectGridNameByGridIdFormDTO; -import com.epmet.dto.result.CustomerGridForStrangerResultDTO; -import com.epmet.dto.result.SelectGridNameByGridIdResultDTO; -import com.epmet.dto.result.GridInfoResultDTO; import com.epmet.dto.result.*; import com.epmet.entity.CustomerGridEntity; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; import java.util.Map; @@ -286,4 +277,14 @@ public interface CustomerGridService extends BaseService { * @Date 2020/12/28 23:16 **/ List listGridIdsInCommunity(String gridId); + + /** + * desc: 获取网格基础数据单表查询 + * + * @param customerGridFormDTO + * @return com.epmet.commons.tools.utils.Result + * @author LiuJanJun + * @date 2021/4/19 11:53 上午 + */ + Result getBaseInfo(CustomerGridFormDTO customerGridFormDTO); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index 8302b1252f..3d30cd063a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -696,4 +696,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl listGridIdsInCommunity(String gridId) { return baseDao.selectListGridIdsInCommunity(gridId); } + + @Override + public Result getBaseInfo(CustomerGridFormDTO customerGridFormDTO) { + return baseDao.getGridBaseInfoById(customerGridFormDTO.getGridId()); + } } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index ec5c6143ac..6adafc3cff 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -600,4 +600,17 @@ ) AND DEL_FLAG = 0 + From 1ca746001391ee8317296ace6b5a85f4d6680a57 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 19 Apr 2021 13:12:41 +0800 Subject: [PATCH 063/121] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/CustomerGridDao.xml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml index 6adafc3cff..938a0c3ffe 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/CustomerGridDao.xml @@ -602,12 +602,9 @@ - SELECT * - + SELECT + CUSTOMER_ID, + GRID_ID, + USER_ID, + FIRST_REGISTER, + REGISTER, + PARTICIPATION FROM register_relation WHERE @@ -78,4 +83,4 @@ - \ No newline at end of file + diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml index 260fe0db93..8c664e678e 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserBaseInfoDao.xml @@ -44,8 +44,8 @@ FROM user_base_info ubi WHERE - ubi.DEL_FLAG = '0' - AND ubi.USER_ID = #{userId} + ubi.USER_ID = #{userId} + AND ubi.DEL_FLAG = '0' From 57dab627ccffbf41dae57f66f60d1936c72fff36 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 19 Apr 2021 13:52:01 +0800 Subject: [PATCH 066/121] =?UTF-8?q?=E5=BC=80=E4=B8=AA=E7=BA=BF=E7=A8=8B?= =?UTF-8?q?=E8=AF=95=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RegisterRelationServiceImpl.java | 36 +++++++++---------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index 99120a52ef..17d1c3a2ff 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java @@ -43,6 +43,7 @@ import com.epmet.feign.GovOrgFeignClient; import com.epmet.service.GridVisitedService; import com.epmet.service.RegisterRelationService; import com.epmet.util.ModuleConstant; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -51,6 +52,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.*; /** * 注册关系表 用于统计客户网格的注册居民数 @@ -60,11 +62,11 @@ import java.util.*; */ @Service public class RegisterRelationServiceImpl extends BaseServiceImpl implements RegisterRelationService { -// private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() -// .setNameFormat("registerRelationService-pool-%d").build(); -// private static final ExecutorService threadPool = new ThreadPoolExecutor(2, 3, -// 0L, TimeUnit.MILLISECONDS, -// new ArrayBlockingQueue(1), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); + private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("registerRelationService-pool-%d").build(); + private static final ExecutorService threadPool = new ThreadPoolExecutor(1, 1, + 0L, TimeUnit.MILLISECONDS, + new ArrayBlockingQueue(1), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); private static final Logger log = LoggerFactory.getLogger(RegisterRelationServiceImpl.class); @@ -177,14 +179,11 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl futureUserRole = threadPool.submit(() -> { -// -// return true; -// }); - setUserRoleList(enterGridFormDTO, resultObj); - setGridName(resultObj, gridId); - //setUserRoleList(enterGridFormDTO, resultObj); - //setGridName(resultObj, gridId); + Future futureUserRole = threadPool.submit(() -> { + setUserRoleList(enterGridFormDTO, resultObj); + setGridName(resultObj, gridId); + return true; + }); //4.去网格表中查询网格对应的名称 //Future futureGridName = threadPool.submit(() -> setGridName(resultObj, gridId)); @@ -258,7 +257,6 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl userWechatEntityList=userWechatDao.selectByUserId(enterGridFormDTO.getUserId()); UserBaseInfoResultDTO userBaseInfo = userBaseInfoDao.selectListByUserIdList(enterGridFormDTO.getUserId()); if(null != userBaseInfo){ resultObj.setNickname(StringUtils.isNotBlank(userBaseInfo.getNickname())?userBaseInfo.getNickname(): StrConstant.EPMETY_STR); @@ -276,11 +274,11 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl Date: Mon, 19 Apr 2021 14:06:55 +0800 Subject: [PATCH 067/121] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=A4=9A=E7=BA=BF?= =?UTF-8?q?=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RegisterRelationServiceImpl.java | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java index 17d1c3a2ff..8c6c448689 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/RegisterRelationServiceImpl.java @@ -43,7 +43,6 @@ import com.epmet.feign.GovOrgFeignClient; import com.epmet.service.GridVisitedService; import com.epmet.service.RegisterRelationService; import com.epmet.util.ModuleConstant; -import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -52,7 +51,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; -import java.util.concurrent.*; /** * 注册关系表 用于统计客户网格的注册居民数 @@ -62,12 +60,6 @@ import java.util.concurrent.*; */ @Service public class RegisterRelationServiceImpl extends BaseServiceImpl implements RegisterRelationService { - private static ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() - .setNameFormat("registerRelationService-pool-%d").build(); - private static final ExecutorService threadPool = new ThreadPoolExecutor(1, 1, - 0L, TimeUnit.MILLISECONDS, - new ArrayBlockingQueue(1), namedThreadFactory, new ThreadPoolExecutor.CallerRunsPolicy()); - private static final Logger log = LoggerFactory.getLogger(RegisterRelationServiceImpl.class); @@ -178,16 +170,6 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl futureUserRole = threadPool.submit(() -> { - setUserRoleList(enterGridFormDTO, resultObj); - setGridName(resultObj, gridId); - return true; - }); - - //4.去网格表中查询网格对应的名称 - //Future futureGridName = threadPool.submit(() -> setGridName(resultObj, gridId)); - //1.查找用户注册关系表,如果没有表示当前用户为陌生人(拉取用户微信表信息),如果有表示当前用户已经进行居民认证 if(null == registerRecords || registerRecords.size() <= 0){ //当前用户尚未注册过居民信息 @@ -270,15 +252,13 @@ public class RegisterRelationServiceImpl extends BaseServiceImpl Date: Mon, 19 Apr 2021 14:50:23 +0800 Subject: [PATCH 068/121] =?UTF-8?q?=E4=BC=98=E5=8C=96footBar=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CustomerFootBarController.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java index 924dbc5b4b..7e8f5c4325 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/CustomerFootBarController.java @@ -17,34 +17,35 @@ package com.epmet.controller; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; +import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.AssertUtils; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; -import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.dto.CustomerFootBarDTO; import com.epmet.dto.form.CustomerFootBarFormDTO; import com.epmet.dto.result.CustomerFootBarResultDTO; import com.epmet.entity.CustomerFootBarEntity; import com.epmet.excel.CustomerFootBarExcel; import com.epmet.service.CustomerFootBarService; -import com.epmet.service.impl.CustomerFunctionDetailServiceImpl; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** @@ -127,12 +128,13 @@ public class CustomerFootBarController { // 查询db List footbars = customerFootBarService.listCustomerFootBars(customerId, appType); List barDTOS = new LinkedList<>(); - footbars.forEach(barEntity -> { - CustomerFootBarEntity defaultFootBarEntity = customerFootBarService.getByAppTypeAndBarKeyOfCustomer("default", barEntity.getAppType(), barEntity.getBarKey()); - CustomerFootBarDTO barDTO = new CustomerFootBarDTO(); - BeanUtils.copyProperties(barEntity, barDTO); - barDTO.setDefaultBarName(defaultFootBarEntity.getBarName()); + List defaultFootBarList = customerFootBarService.listCustomerFootBars("default", appType); + Map defaultBarNameMaps = defaultFootBarList.stream().collect(Collectors.toMap(CustomerFootBarEntity::getBarKey, CustomerFootBarEntity::getBarName)); + footbars.forEach(barEntity -> { + String defaultName = defaultBarNameMaps.getOrDefault(barEntity.getBarKey(), StrConstant.EPMETY_STR); + CustomerFootBarDTO barDTO = ConvertUtils.sourceToTarget(barEntity, CustomerFootBarDTO.class); + barDTO.setDefaultBarName(defaultName); barDTOS.add(barDTO); }); @@ -253,4 +255,4 @@ public class CustomerFootBarController { return new Result(); } -} \ No newline at end of file +} From 946603f8c7ad52c60f273a67497f94d2270659b0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 19 Apr 2021 18:00:07 +0800 Subject: [PATCH 069/121] =?UTF-8?q?okhttp=E6=97=B6=E9=97=B4=20=E7=BC=A9?= =?UTF-8?q?=E7=9F=AD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=97=A5=E5=BF=97=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/SysMonitorLogDTO.java | 32 ++++++++++++++ .../controller/SysMonitorLogController.java | 43 +++++++++++++++++++ .../commons/tools/utils/net/OkHttpUtil.java | 6 +-- 3 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysMonitorLogDTO.java create mode 100644 epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java diff --git a/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysMonitorLogDTO.java b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysMonitorLogDTO.java new file mode 100644 index 0000000000..4871719d02 --- /dev/null +++ b/epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/SysMonitorLogDTO.java @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 系统监控日志 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Data +public class SysMonitorLogDTO implements Serializable { + /** + * 访问路径 + */ + private String path; + /** + * 耗时 + */ + private Integer costTime; + +} diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java new file mode 100644 index 0000000000..0d415ca45a --- /dev/null +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java @@ -0,0 +1,43 @@ +/** + * Copyright (c) 2018 人人开源 All rights reserved. + * + * https://www.renren.io + * + * 版权所有,侵权必究! + */ + +package com.epmet.controller; + +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + + +/** + * 异常日志 + * + * @author Mark sunlightcs@gmail.com + * @since 1.0.0 + */ +@Slf4j +@RestController("monitorlog") +public class SysMonitorLogController { + + /** + * desc: 记录监控日志 + * + * @param params + * @return void + * @author LiuJanJun + * @date 2021/4/19 5:56 下午 + */ + @RequestMapping("info") + public void infoLevel(@RequestBody Map params) { + log.info("monitor log info:{}", JSON.toJSONString(params)); + } + +} diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/net/OkHttpUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/net/OkHttpUtil.java index 27fd4c05ef..e329a1f7df 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/net/OkHttpUtil.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/net/OkHttpUtil.java @@ -24,9 +24,9 @@ public class OkHttpUtil { private static final Logger logger = LoggerFactory.getLogger(OkHttpUtil.class); - public final static int READ_TIMEOUT = 100; - public final static int CONNECT_TIMEOUT = 60; - public final static int WRITE_TIMEOUT = 60; + public final static int READ_TIMEOUT = 2; + public final static int CONNECT_TIMEOUT = 1; + public final static int WRITE_TIMEOUT = 5; public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); public static final String CONTENT_TYPE = "Content-Type"; From 77174f92a1287563f15ddf2f88f6c4901dd25239 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Apr 2021 10:41:01 +0800 Subject: [PATCH 070/121] =?UTF-8?q?=E7=A5=9E=E5=A5=87=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/FactOriginProjectMainDailyServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index cfb902162f..1b06f318b7 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -40,6 +40,7 @@ import com.epmet.entity.evaluationindex.extract.FactOriginProjectOrgPeriodDailyE import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,6 +58,7 @@ import java.util.stream.Collectors; * @author generator generator@elink-cn.com * @since v1.0.0 2020-09-16 */ +@Slf4j @Service @DataSource(DataSourceConstant.STATS) public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl implements FactOriginProjectMainDailyService { @@ -429,7 +431,9 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl initNewScreenProjectData(String customerId,Integer rows , String dateId,Integer exceedLimit,Integer about2exceedLimit) { boolean ifBeforeYesterday = true; - if(Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE)) > Integer.parseInt(dateId)){ + int beforeDate = Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE)); + log.info("initNewScreenProjectData beforeDate:{},dateId:{}",beforeDate,dateId); + if(beforeDate > Integer.parseInt(dateId)){ ifBeforeYesterday = false; } List projects = baseDao.initNewScreenProjectData(customerId, rows <= NumConstant.ZERO ? "" : dateId, dateId); From 928db2055ffe98d641c053c7ad08c4e7a5da0917 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Apr 2021 10:50:33 +0800 Subject: [PATCH 071/121] =?UTF-8?q?=E5=85=AC=E7=94=A8=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E9=9A=8F=E6=84=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../toscreen/impl/ScreenExtractServiceImpl.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 192305e6ad..0809e883ef 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -170,9 +170,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.error("公众参与排行抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } - ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); - param.setCustomerId(customerId); - param.setDateId(dateId); + //中央区 screen_user_total_data try { screenCentralZoneDataAbsorptionService.centralZoneDataHub(param); @@ -184,7 +182,8 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.info("【难点赌点数据上报开始------】 当前客户Id{}",param.getCustomerId()); //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); - //todo 初始化全量 + ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); + param.setCustomerId(customerId); param.setDateId(null); screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param); log.info("【难点赌点数据上报结束------】 当前客户Id{}",param.getCustomerId()); @@ -205,6 +204,9 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } //项目分类打标签未上线,暂时屏蔽 try{ + ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); + param.setCustomerId(customerId); + param.setDateId(dateId); //大屏项目数据抽取_按天抽取 screenProjectSettleService.extractScreenData(param); }catch (Exception e){ From aee14fadb90f3679a7444c0d351f669c20d197b9 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Apr 2021 11:12:36 +0800 Subject: [PATCH 072/121] =?UTF-8?q?=E5=85=AC=E7=94=A8=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E9=9A=8F=E6=84=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../toscreen/impl/ScreenExtractServiceImpl.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 0809e883ef..0210ea7b30 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -170,7 +170,9 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.error("公众参与排行抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } - + ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); + param.setCustomerId(customerId); + param.setDateId(dateId); //中央区 screen_user_total_data try { screenCentralZoneDataAbsorptionService.centralZoneDataHub(param); @@ -182,10 +184,10 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.info("【难点赌点数据上报开始------】 当前客户Id{}",param.getCustomerId()); //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); - ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); - param.setCustomerId(customerId); - param.setDateId(null); - screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param); + ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); + param2.setCustomerId(customerId); + param2.setDateId(null); + screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); log.info("【难点赌点数据上报结束------】 当前客户Id{}",param.getCustomerId()); }catch (Exception e){ log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); @@ -204,9 +206,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { } //项目分类打标签未上线,暂时屏蔽 try{ - ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); - param.setCustomerId(customerId); - param.setDateId(dateId); //大屏项目数据抽取_按天抽取 screenProjectSettleService.extractScreenData(param); }catch (Exception e){ From 847f965d4e01c1b06c2ae0bbb3e3ec07a4cf77c1 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Apr 2021 11:21:33 +0800 Subject: [PATCH 073/121] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/FactOriginProjectMainDailyServiceImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 1b06f318b7..9553485a0e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -432,7 +432,6 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl initNewScreenProjectData(String customerId,Integer rows , String dateId,Integer exceedLimit,Integer about2exceedLimit) { boolean ifBeforeYesterday = true; int beforeDate = Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE)); - log.info("initNewScreenProjectData beforeDate:{},dateId:{}",beforeDate,dateId); if(beforeDate > Integer.parseInt(dateId)){ ifBeforeYesterday = false; } From f4a0f1524400a317dcb614b9515d45c9b356e5b7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 20 Apr 2021 13:36:22 +0800 Subject: [PATCH 074/121] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=B7=AF=E7=94=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/controller/SysMonitorLogController.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java index 0d415ca45a..1164bf72b3 100644 --- a/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java +++ b/epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysMonitorLogController.java @@ -24,7 +24,8 @@ import java.util.Map; * @since 1.0.0 */ @Slf4j -@RestController("monitorlog") +@RestController +@RequestMapping("monitorlog") public class SysMonitorLogController { /** From 6c40a0c2c290dc6a8b4991339ffde46fe4ff4b55 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 13:55:39 +0800 Subject: [PATCH 075/121] =?UTF-8?q?=E4=B8=8D=E5=9C=A8=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E6=AD=A4=E5=88=86=E6=94=AF=E7=AE=A1=E7=90=86sql=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.8__alter_function_customized.sql | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql deleted file mode 100644 index 67e6bc0ea6..0000000000 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT ''业务域名(可设置多个 用分号分隔)''; - -ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT ''1'' COMMENT ''业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.''; \ No newline at end of file From 415c57188826f5ba4b174eef1ea616c038b209b4 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 14:02:36 +0800 Subject: [PATCH 076/121] =?UTF-8?q?=E8=BF=90=E8=90=A5=E7=AB=AF=E5=AE=9A?= =?UTF-8?q?=E5=88=B6=E5=8A=9F=E8=83=BD=E4=B8=9A=E5=8A=A1=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=9D=9E=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.8__alter_function_customized.sql | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql new file mode 100644 index 0000000000..67e6bc0ea6 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql @@ -0,0 +1,3 @@ +ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT ''业务域名(可设置多个 用分号分隔)''; + +ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT ''1'' COMMENT ''业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.''; \ No newline at end of file From 67a7d3f3855ca5253c9e22921814e5a1abedef8f Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 14:22:02 +0800 Subject: [PATCH 077/121] =?UTF-8?q?=E8=84=91=E5=A3=B3=E7=96=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.9__alter_function_customized_v2.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql new file mode 100644 index 0000000000..4aa497be86 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql @@ -0,0 +1,7 @@ +ALTER TABLE `function_customized` +DROP COLUMN `IS_DOMAIN_NAME`; + + +ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT '业务域名(可设置多个 用分号分隔)'; + +ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT '1' COMMENT '业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.'; \ No newline at end of file From ca78dbc4ae37b4f8cfbc30398047802742242fd0 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 14:27:02 +0800 Subject: [PATCH 078/121] =?UTF-8?q?=E5=BA=9F=E5=BC=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.11__alter_project.sql | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql deleted file mode 100644 index 2d700d064e..0000000000 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE `project` -ADD COLUMN `BACK_GROUND` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目背景' AFTER `TITLE`; - - -ALTER TABLE `project` -MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency' AFTER `AGENCY_ID`; - From 043bd455fe2951d060bb1f2ff01e108f1a0134f8 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 14:28:37 +0800 Subject: [PATCH 079/121] =?UTF-8?q?=E8=BF=98=E5=8E=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/db/migration/V0.0.11__alter_project.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql new file mode 100644 index 0000000000..2d700d064e --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.11__alter_project.sql @@ -0,0 +1,7 @@ +ALTER TABLE `project` +ADD COLUMN `BACK_GROUND` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目背景' AFTER `TITLE`; + + +ALTER TABLE `project` +MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency' AFTER `AGENCY_ID`; + From e406e839a4ad41a64efd864cf80cf4f6813b7248 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 14:32:42 +0800 Subject: [PATCH 080/121] =?UTF-8?q?=E6=9C=8D=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/migration/V0.0.8__alter_function_customized.sql | 6 ++++-- .../db/migration/V0.0.9__alter_function_customized_v2.sql | 7 ------- 2 files changed, 4 insertions(+), 9 deletions(-) delete mode 100644 epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql index 67e6bc0ea6..6f52c92746 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql @@ -1,3 +1,5 @@ -ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT ''业务域名(可设置多个 用分号分隔)''; -ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT ''1'' COMMENT ''业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.''; \ No newline at end of file + +ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT '业务域名(可设置多个 用分号分隔)'; + +ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT '1' COMMENT '业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.'; \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql deleted file mode 100644 index 4aa497be86..0000000000 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.9__alter_function_customized_v2.sql +++ /dev/null @@ -1,7 +0,0 @@ -ALTER TABLE `function_customized` -DROP COLUMN `IS_DOMAIN_NAME`; - - -ALTER TABLE function_customized MODIFY `DOMAIN_NAME` varchar(128) DEFAULT NULL COMMENT '业务域名(可设置多个 用分号分隔)'; - -ALTER TABLE function_customized add column IS_DOMAIN_NAME varchar(1) NOT NULL DEFAULT '1' COMMENT '业务域名是否必填标识:0 [业务域名]字段 非必填; 1 [业务域名]字段 必填.'; \ No newline at end of file From 347b41c45b005fec1040809faaa6cc815c7255ff Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 14:43:10 +0800 Subject: [PATCH 081/121] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tion_customized.sql => V0.0.10__alter_function_customized.sql} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/{V0.0.8__alter_function_customized.sql => V0.0.10__alter_function_customized.sql} (100%) diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql b/epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.10__alter_function_customized.sql similarity index 100% rename from epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.8__alter_function_customized.sql rename to epmet-module/oper-customize/oper-customize-server/src/main/resources/db/migration/V0.0.10__alter_function_customized.sql From 00c4cd375851ba1f602d325382c99c64ab594fd6 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 15:27:49 +0800 Subject: [PATCH 082/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AB=8B=E9=A1=B920?= =?UTF-8?q?=E5=AD=97=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/form/ProjectApprovalFormDTO.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java index dd2001e970..da162d9622 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -17,19 +17,19 @@ public class ProjectApprovalFormDTO implements Serializable { private static final long serialVersionUID = 4859779755214502427L; public interface ApprovalCategory{} - @NotBlank(message = "项目标题不能为空",groups = {ApprovalCategory.class}) + @NotBlank(message = "项目标题不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) @Length(max=20,message = "项目标题不能超过20位") private String title; - @NotBlank(message = "项目背景不能为空",groups = {ApprovalCategory.class}) + @NotBlank(message = "项目背景不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) @Length(max=1000,message = "项目背景不能超过1000位") private String backGround; - @NotBlank(message = "项目方案不能为空",groups = {ApprovalCategory.class}) + @NotBlank(message = "项目方案不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) @Length(max=1000,message = "项目方案不能超过1000位") private String publicReply; - @NotBlank(message = "内部备注不能为空",groups = {ApprovalCategory.class}) + @NotBlank(message = "内部备注不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) @Length(max=1000,message = "内部备注不能超过1000位") private String internalRemark; From 1e42cd865621fe8ba119698f01c617bb5b5473fa Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Tue, 20 Apr 2021 16:26:48 +0800 Subject: [PATCH 083/121] =?UTF-8?q?=E6=8C=89=E5=A4=A9=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=EF=BC=9A=E7=BD=91=E6=A0=BC=E5=86=85=E5=90=84=E4=B8=AA=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E4=B8=8B=E7=9A=84=E9=A1=B9=E7=9B=AE=E6=80=BB=E6=95=B0?= =?UTF-8?q?=EF=BC=8Csql=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectCategoryDailyDao.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml index 8115c5d1ce..1ed0c4d8c2 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectCategoryDailyDao.xml @@ -32,7 +32,7 @@ c.DEL_FLAG = '0' AND c.CUSTOMER_ID = #{customerId} AND c.`LEVEL` = '2' - + AND p.GRID_ID != '' GROUP BY c.CUSTOMER_ID, c.CATEGORY_CODE, @@ -54,6 +54,7 @@ LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '') WHERE c.DEL_FLAG = '0' + AND p.GRID_ID != '' AND c.CUSTOMER_ID = #{customerId} GROUP BY c.CUSTOMER_ID, @@ -84,6 +85,7 @@ ) AND c.`LEVEL` = '2' + AND p.GRID_ID = '' GROUP BY c.CUSTOMER_ID, c.CATEGORY_CODE, c.`LEVEL`, p.AGENCY_ID, p.PID, P.PIDS UNION ALL SELECT @@ -103,6 +105,7 @@ p.AGENCY_ID = #{orgId} ) + AND p.GRID_ID = '' GROUP BY c.CUSTOMER_ID, left(c.CATEGORY_CODE, 4), c.`LEVEL`, p.PID, p.AGENCY_ID, P.PIDS From 14dc3b6a586587605124295db1ac65988661eb37 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Tue, 20 Apr 2021 16:53:03 +0800 Subject: [PATCH 084/121] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dto/form/ProjectApprovalFormDTO.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java index da162d9622..c79613963f 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -15,24 +16,21 @@ import java.util.List; @Data public class ProjectApprovalFormDTO implements Serializable { private static final long serialVersionUID = 4859779755214502427L; - public interface ApprovalCategory{} - @NotBlank(message = "项目标题不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) - @Length(max=20,message = "项目标题不能超过20位") + @Length(max=20,message = "项目标题不能超过20位",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) private String title; - @NotBlank(message = "项目背景不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) - @Length(max=1000,message = "项目背景不能超过1000位") + @Length(max=1000,message = "项目背景不能超过1000位",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) private String backGround; - @NotBlank(message = "项目方案不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) - @Length(max=1000,message = "项目方案不能超过1000位") + @Length(max=1000,message = "项目方案不能超过1000位",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) private String publicReply; - @NotBlank(message = "内部备注不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) - @Length(max=1000,message = "内部备注不能超过1000位") + @Length(max=1000,message = "内部备注不能超过1000位",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) private String internalRemark; + public interface ApprovalCategory extends CustomerClientShowGroup {} + /** * 吹哨勾选的工作人员信息集合,不可为空 */ From ba9310e16fafa703f4368c5d88e21938af706ad4 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 21 Apr 2021 09:18:52 +0800 Subject: [PATCH 085/121] category-analysis --- .../ScreenProjectCategoryOrgDailyDao.java | 2 +- .../screen/impl/ScreenProjectServiceImpl.java | 2 +- .../ScreenProjectCategoryOrgDailyDao.xml | 33 ++++++++++--------- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java index c3b90ff1c7..3064505cf6 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java @@ -38,5 +38,5 @@ public interface ScreenProjectCategoryOrgDailyDao { * @param agencyId * @return java.util.List */ - List selectCategoryAnalysis(@Param("agencyId") String agencyId); + List selectCategoryAnalysis(@Param("agencyId") String agencyId,@Param("customerId")String customerId); } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index 97dafab068..c7a1e6cfc5 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -112,6 +112,6 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true) @Override public List categoryAnalysis(String customerId, CategoryAnalysisFormDTO formDTO) { - return screenProjectCategoryOrgDailyDao.selectCategoryAnalysis(formDTO.getAgencyId()); + return screenProjectCategoryOrgDailyDao.selectCategoryAnalysis(formDTO.getAgencyId(),customerId); } } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml index d2ac38a7f7..97a692ad07 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml @@ -9,22 +9,25 @@ M.PROJECT_TOTAL AS projectTotal FROM screen_project_category_org_daily m left join customer_project_category_dict d - on(m.CATEGORY_CODE=D.CATEGORY_CODE AND D.DEL_FLAG='0') + on(m.CATEGORY_CODE=D.CATEGORY_CODE + AND D.DEL_FLAG='0' + and d.CUSTOMER_ID=#{customerId}) WHERE M.DEL_FLAG = '0' - AND M.ORG_ID = #{agencyId} - AND M.DATE_ID = ( - select - date_id - from - screen_project_category_org_daily - where - del_flag = '0' - and ORG_ID = #{agencyId} - order by - date_id desc, - created_time desc - limit 1 - ) + AND M.ORG_ID = #{agencyId} + AND M.DATE_ID = ( + select + date_id + from + screen_project_category_org_daily + where + del_flag = '0' + and ORG_ID = #{agencyId} + and CUSTOMER_ID=#{customerId} + order by + date_id desc, + created_time desc + limit 1 + ) ORDER BY M.CATEGORY_CODE ASC \ No newline at end of file From c51284a963c9c127c46363aef69292a95e1fea11 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 21 Apr 2021 09:22:08 +0800 Subject: [PATCH 086/121] =?UTF-8?q?category-analysis,=E6=8C=89=E7=85=A7?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E6=80=BB=E6=95=B0=EF=BC=8C=E5=85=88=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E5=89=8D20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/screen/ScreenProjectCategoryOrgDailyDao.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml index 97a692ad07..2e207479c1 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectCategoryOrgDailyDao.xml @@ -28,6 +28,7 @@ created_time desc limit 1 ) - ORDER BY M.CATEGORY_CODE ASC + ORDER BY M.PROJECT_TOTAL desc,D.CATEGORY_NAME asc + limit 20 \ No newline at end of file From c3813f47e8b3a93936df973c9105f2bc796ba90b Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 21 Apr 2021 10:50:56 +0800 Subject: [PATCH 087/121] =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scan/service/impl/ScanServiceImpl.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java index 44dd0da3de..c7b66b1a26 100644 --- a/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java +++ b/epmet-openapi/epmet-openapi-scan/src/main/java/com/epmet/openapi/scan/service/impl/ScanServiceImpl.java @@ -9,7 +9,6 @@ import com.aliyuncs.http.FormatType; import com.aliyuncs.http.HttpResponse; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.ConvertUtils; -import com.aliyuncs.http.MethodType; import com.epmet.commons.tools.utils.Result; import com.epmet.openapi.scan.common.constant.SysConstant; import com.epmet.openapi.scan.common.enu.*; @@ -33,6 +32,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.io.UnsupportedEncodingException; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -205,12 +205,12 @@ public class ScanServiceImpl implements ScanService { } return result; } else { - log.warn("executeSyncText response not success. code:{}", scrResponse.getInteger(SysConstant.CODE)); - throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + log.error("executeSyncText response not success. response:{}", JSON.toJSONString(scrResponse)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg()); } } else { - log.warn("executeSyncText response status is not success. httpResponse:{}", JSON.toJSONString(httpResponse)); - throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + log.error("executeSyncText response status is not success. httpResponse:{}", JSON.toJSONString(httpResponse)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg()); } } catch (Exception e) { log.error("executeSyncText exception IAcsClientUtil do action exception", e); @@ -223,7 +223,7 @@ public class ScanServiceImpl implements ScanService { try { HttpResponse httpResponse = IAcsClientUtil.getIAcsClient().doAction(request); if (httpResponse.isSuccess()) { - JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), SysConstant.UTF8)); + JSONObject scrResponse = JSON.parseObject(new String(httpResponse.getHttpContent(), StandardCharsets.UTF_8)); if (HttpStatus.SC_OK == scrResponse.getInteger(SysConstant.CODE)) { JSONArray taskResults = scrResponse.getJSONArray(SysConstant.DATA); List scanTaskResults = taskResults.toJavaList(ScanTaskResult.class); @@ -256,12 +256,12 @@ public class ScanServiceImpl implements ScanService { } return result; } else { - log.warn("executeSyncImg detect not success. code:{}", scrResponse.getInteger(SysConstant.CODE)); - throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + log.error("executeSyncImg detect not success. response:{}", JSON.toJSONString(scrResponse)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_CODE_ERROR.getMsg()); } } else { - log.warn("executeSyncImg response status is not success. httpResponse:{}", JSON.toJSONString(httpResponse)); - throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg() + ",status:" + httpResponse.getStatus()); + log.error("executeSyncImg response status is not success. httpResponse:{}", JSON.toJSONString(httpResponse)); + throw new ExecuteHttpException(SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getCode(), SysResponseEnum.THIRD_PLATFORM_RESP_STATUS_ERROR.getMsg()); } } catch (Exception e) { log.error("executeSyncImg exception IAcsClientUtil do action exception", e); From 90e51332b71e185db4a0f545a5751c8fd3370c14 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 21 Apr 2021 17:03:58 +0800 Subject: [PATCH 088/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E5=B8=83?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/govproject/result/ProjectDistributionResultDTO.java | 5 +++++ .../src/main/resources/mapper/govproject/ProjectDao.xml | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectDistributionResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectDistributionResultDTO.java index ba0340c66e..1a974ad7e1 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectDistributionResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/govproject/result/ProjectDistributionResultDTO.java @@ -1,8 +1,10 @@ package com.epmet.dataaggre.dto.govproject.result; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.io.Serializable; +import java.util.Date; /** * 项目分布(实时只适用于e事通客户)返参 @@ -12,6 +14,7 @@ import java.io.Serializable; */ @Data public class ProjectDistributionResultDTO implements Serializable { + private String customerId; private String projectId; private String projectTitle; private String statusDesc; @@ -22,4 +25,6 @@ public class ProjectDistributionResultDTO implements Serializable { // @JsonIgnore private String statusCode; private String gridId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date shiftProjectTime; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml index eb4c0e2d93..d376938904 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/govproject/ProjectDao.xml @@ -130,7 +130,9 @@ p.TITLE AS projectTitle, ( CASE WHEN p.`STATUS` = 'pending' THEN '处理中' WHEN p.`STATUS` = 'closed' THEN '已结案' ELSE '' END ) AS statusDesc, p.`STATUS` as statusCode, - p.ORIGIN_ID as issueId + p.ORIGIN_ID as issueId, + p.customer_id as customerId, + p.CREATED_TIME as shiftProjectTime FROM project p WHERE @@ -140,5 +142,6 @@ #{issueId} + order by p.CREATED_TIME desc \ No newline at end of file From 64185ed87ac03ce3a923742aca166d70d1f565f6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 22 Apr 2021 10:32:27 +0800 Subject: [PATCH 089/121] =?UTF-8?q?=E4=BF=AE=E6=94=B9selectGovernCapacityR?= =?UTF-8?q?atioNew=20=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/screen/ScreenGovernRankDataDao.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml index 5cd4094e36..e95f843d1e 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml @@ -51,9 +51,6 @@ #{orgId} AND rankData.MONTH_ID =#{monthId} - ORDER BY - (rankData.RESPONSE_RATIO + rankData.RESOLVED_RATIO + rankData.GOVERN_RATIO + rankData.SATISFACTION_RATIO) DESC, - rankData.RESPONSE_RATIO DESC,rankData.RESOLVED_RATIO DESC,rankData.GOVERN_RATIO DESC,rankData.SATISFACTION_RATIO DESC ) union ( @@ -78,11 +75,14 @@ #{orgId} AND rankData.MONTH_ID =#{monthId} - ORDER BY - (rankData.RESPONSE_RATIO + rankData.RESOLVED_RATIO + rankData.GOVERN_RATIO + rankData.SATISFACTION_RATIO) DESC, - rankData.RESPONSE_RATIO DESC,rankData.RESOLVED_RATIO DESC,rankData.GOVERN_RATIO DESC,rankData.SATISFACTION_RATIO - DESC ) + ORDER BY + (RESPONSE_RATIO + RESOLVED_RATIO + GOVERN_RATIO + SATISFACTION_RATIO) DESC, + RESPONSE_RATIO DESC, + RESOLVED_RATIO DESC, + GOVERN_RATIO DESC, + SATISFACTION_RATIO DESC + DESC \ No newline at end of file From 2c63e3d0aac3afe9c7106211860bd4b46c04e2e0 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 22 Apr 2021 10:59:52 +0800 Subject: [PATCH 090/121] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E6=98=AF=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/modules/feign/EpmetUserFeignClient.java | 8 ++++---- .../impl/PartyMemberConfirmServiceImpl.java | 7 +++++-- .../com/epmet/controller/UserRoleController.java | 6 ++++++ .../src/main/java/com/epmet/dao/UserRoleDao.java | 10 ++++++++++ .../java/com/epmet/service/UserRoleService.java | 10 ++++++++++ .../epmet/service/impl/UserRoleServiceImpl.java | 14 ++++++++++++++ .../src/main/resources/mapper/UserRoleDao.xml | 14 ++++++++++++++ 7 files changed, 63 insertions(+), 6 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java index a23b38f95d..e1e2753ba4 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java @@ -8,10 +8,7 @@ import com.epmet.dto.form.CreatedTimeByUserIdFormDTO; import com.epmet.dto.form.StaffRoleFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; -import com.epmet.dto.result.CertifiedResultDTO; -import com.epmet.dto.result.CreatedTimeByUserIdResultDTO; -import com.epmet.dto.result.GovStaffRoleResultDTO; -import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.dto.result.*; import com.epmet.modules.feign.fallback.EpmetUserFeignClientFallBack; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -89,4 +86,7 @@ public interface EpmetUserFeignClient { */ @PostMapping("/epmetuser/staffrole/staffsinrole") Result> getStaffsInRole(@RequestBody StaffRoleFormDTO staffRoleFormDTO); + + @PostMapping("/epmetuser/userrole/sgetresidentrole") + Result getUserResidentRole(@RequestBody UserResiInfoFormDTO formDTO); } diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java index eae2c74317..1b52c7e1cc 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/partymember/service/impl/PartyMemberConfirmServiceImpl.java @@ -565,8 +565,11 @@ public class PartyMemberConfirmServiceImpl implements PartyMemberConfirmService UserResiInfoFormDTO userResiInfoFormDTO = new UserResiInfoFormDTO(); userResiInfoFormDTO.setCustomerId(partyMemberInfoDTO.getCustomerId()); userResiInfoFormDTO.setUserId(partyMemberInfoDTO.getUserId()); - Result userResiInfoResult = epmetUserFeignClient.getUserResiInfoDTO(userResiInfoFormDTO); - if (userResiInfoResult.success() && null == userResiInfoResult.getData()) { + Result residentRoleResult = epmetUserFeignClient.getUserResidentRole(userResiInfoFormDTO); + if (!residentRoleResult.success()) { + throw new RenException(residentRoleResult.getCode(), residentRoleResult.getMsg()); + } + if (residentRoleResult.success() && null == residentRoleResult.getData()) { UserResiInfoDTO userResiInfoDTO = ConvertUtils.sourceToTarget(partyMemberInfoDTO, UserResiInfoDTO.class); userResiInfoDTO.setRegMobile(partyMemberInfoDTO.getMobile()); userResiInfoDTO.setResiVisitId(partyMemberInfoDTO.getPartymemberVisitId()); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java index 90ceb71ea0..b753b1a6d7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java @@ -26,6 +26,7 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.UserRoleDTO; +import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserRoleFormDTO; import com.epmet.dto.result.UserRoleResultDTO; import com.epmet.excel.UserRoleExcel; @@ -132,4 +133,9 @@ public class UserRoleController { public Result> getUserRoleInfoByUserId(@PathVariable("userId") String userId) { return userRoleService.getUserRoleInfoByUserId(userId); } + + @PostMapping("getresidentrole") + public Result getUserResidentRole(@RequestBody UserResiInfoFormDTO formDTO) { + return new Result().ok(userRoleService.getUserResidentRole(formDTO.getCustomerId(), formDTO.getUserId())); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java index a9d2f1bded..82ebd8445c 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/UserRoleDao.java @@ -81,4 +81,14 @@ public interface UserRoleDao extends BaseDao { * @date 2020/11/18 上午10:50 */ List selectPartyMemberUserIds(); + + /** + * 获取居民权限 + * @author zhaoqifeng + * @date 2021/4/22 10:44 + * @param customerId + * @param userId + * @return java.util.List + */ + UserRoleResultDTO selectResidentRole(@Param("customerId") String customerId, @Param("userId") String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java index c431331236..0d1f15295b 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/UserRoleService.java @@ -122,4 +122,14 @@ public interface UserRoleService extends BaseService { * @Date 14:24 2020-07-23 **/ Result> getUserRoleInfoByUserId(String userId); + + /** + * 获取用户居民权限 + * @author zhaoqifeng + * @date 2021/4/22 10:48 + * @param customerId + * @param userId + * @return com.epmet.dto.result.UserRoleResultDTO + */ + UserRoleResultDTO getUserResidentRole(String customerId, String userId); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java index 9e48e599e2..88c41f836a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/UserRoleServiceImpl.java @@ -138,4 +138,18 @@ public class UserRoleServiceImpl extends BaseServiceImpl>().ok(list); } + /** + * 获取用户居民权限 + * + * @param customerId + * @param userId + * @return com.epmet.dto.result.UserRoleResultDTO + * @author zhaoqifeng + * @date 2021/4/22 10:48 + */ + @Override + public UserRoleResultDTO getUserResidentRole(String customerId, String userId) { + return baseDao.selectResidentRole(customerId, userId); + } + } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml index 4472c48b77..a453220166 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/UserRoleDao.xml @@ -111,5 +111,19 @@ AND er.DEL_FLAG = 0 AND er.ROLE_KEY = 'partymember' + From 32241979168fdbc686605d2628a3f3c4f360b4cc Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 22 Apr 2021 11:16:09 +0800 Subject: [PATCH 091/121] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E6=98=AF=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/fallback/EpmetUserFeignClientFallBack.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java index 0d8fc352be..87985111b2 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/fallback/EpmetUserFeignClientFallBack.java @@ -9,10 +9,7 @@ import com.epmet.dto.form.CreatedTimeByUserIdFormDTO; import com.epmet.dto.form.StaffRoleFormDTO; import com.epmet.dto.form.UserResiInfoFormDTO; import com.epmet.dto.form.UserResiInfoListFormDTO; -import com.epmet.dto.result.CertifiedResultDTO; -import com.epmet.dto.result.CreatedTimeByUserIdResultDTO; -import com.epmet.dto.result.GovStaffRoleResultDTO; -import com.epmet.dto.result.UserResiInfoResultDTO; +import com.epmet.dto.result.*; import com.epmet.modules.feign.EpmetUserFeignClient; import org.springframework.stereotype.Component; @@ -59,4 +56,9 @@ public class EpmetUserFeignClientFallBack implements EpmetUserFeignClient { public Result> getStaffsInRole(StaffRoleFormDTO staffRoleFormDTO) { return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getStaffsInRole", staffRoleFormDTO); } + + @Override + public Result getUserResidentRole(UserResiInfoFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getUserResidentRole", formDTO); + } } From 5c310392c2396b3615fcc14481cceda164918b14 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 22 Apr 2021 14:42:02 +0800 Subject: [PATCH 092/121] =?UTF-8?q?=E5=85=9A=E5=91=98=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=98=AF=E5=90=A6=E6=98=AF=E5=B1=85=E6=B0=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/modules/feign/EpmetUserFeignClient.java | 9 ++++++++- .../java/com/epmet/controller/UserRoleController.java | 7 +++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java index e1e2753ba4..8c2c28901d 100644 --- a/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java +++ b/epmet-module/resi-partymember/resi-partymember-server/src/main/java/com/epmet/modules/feign/EpmetUserFeignClient.java @@ -87,6 +87,13 @@ public interface EpmetUserFeignClient { @PostMapping("/epmetuser/staffrole/staffsinrole") Result> getStaffsInRole(@RequestBody StaffRoleFormDTO staffRoleFormDTO); - @PostMapping("/epmetuser/userrole/sgetresidentrole") + /** + * 获取用户居民权限 + * @author zhaoqifeng + * @date 2021/4/22 14:41 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @PostMapping("/epmetuser/userrole/getresidentrole") Result getUserResidentRole(@RequestBody UserResiInfoFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java index b753b1a6d7..8752f909d6 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserRoleController.java @@ -134,6 +134,13 @@ public class UserRoleController { return userRoleService.getUserRoleInfoByUserId(userId); } + /** + * 获取用户居民权限 + * @author zhaoqifeng + * @date 2021/4/22 14:41 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ @PostMapping("getresidentrole") public Result getUserResidentRole(@RequestBody UserResiInfoFormDTO formDTO) { return new Result().ok(userRoleService.getUserResidentRole(formDTO.getCustomerId(), formDTO.getUserId())); From 245d4aa44517f94acf1e358135b73838126a2861 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 22 Apr 2021 15:55:05 +0800 Subject: [PATCH 093/121] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/mapper/screen/ScreenGovernRankDataDao.xml | 1 - .../resources/mapper/screen/ScreenIndexDataMonthlyDao.xml | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml index e95f843d1e..91bef91ea4 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml @@ -82,7 +82,6 @@ RESOLVED_RATIO DESC, GOVERN_RATIO DESC, SATISFACTION_RATIO DESC - DESC \ No newline at end of file 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 ec417cbf50..75850f0749 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 @@ -300,8 +300,8 @@ sca.del_flag = '0' AND sca.PARENT_AREA_CODE=#{areaCode} and sy.CUSTOMER_ID=#{customerId} - ORDER BY index_total DESC - LIMIT #{topNum} + ORDER BY (sy.govern_ablity+sy.party_dev_ablity+sy.service_ablity) DESC + LIMIT #{topNum} From 52948ca63a59b58ffbf892d4ad8182c1667a3e60 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 22 Apr 2021 17:41:56 +0800 Subject: [PATCH 094/121] =?UTF-8?q?=E5=B9=B3=E9=98=B4=E8=81=94=E5=8A=A8?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E5=9F=9F=E5=90=8D=E6=9B=B4=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-auth/src/main/resources/bootstrap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-auth/src/main/resources/bootstrap.yml b/epmet-auth/src/main/resources/bootstrap.yml index b7cc83fd9c..87675d742c 100644 --- a/epmet-auth/src/main/resources/bootstrap.yml +++ b/epmet-auth/src/main/resources/bootstrap.yml @@ -145,7 +145,7 @@ thirdplat: appkey: @thirdplat.jcet.g.appkey@ appsecret: @thirdplat.jcet.g.appsecret@ pyld: - domain: https://epmet-ext9.elinkservice.cn/platform + domain: https://epmet-ext1-py.elinkservice.cn/platform appId: 7a5aec009ba4eba8e254ee64fe3775e1 appKey: 14faef9af508d1c253b720ea5a43f9de appSecret: 38e7c2604c8dd33c445705d25eebbfc12a2f7ed8a87111e9e10a40312d3a1595 From ec23370d22ff406e87a91d18e277b415ebbd7d66 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 22 Apr 2021 17:48:11 +0800 Subject: [PATCH 095/121] =?UTF-8?q?=E6=95=88=E7=8E=87=E5=88=86=E6=9E=90?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/screen/ScreenProjectGridDailyDao.xml | 1 + .../main/resources/mapper/screen/ScreenProjectOrgDailyDao.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectGridDailyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectGridDailyDao.xml index c674252a52..056abec87a 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectGridDailyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectGridDailyDao.xml @@ -20,6 +20,7 @@ m.DEL_FLAG = '0' AND a.AREA_CODE LIKE concat( #{areaCode}, '%') AND M.DATE_ID=#{dateId} + order by resolvedRatio desc \ No newline at end of file From a8c854c894adedcc7c7a480845208a67bbb4737c Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 22 Apr 2021 22:10:10 +0800 Subject: [PATCH 096/121] =?UTF-8?q?=E4=BF=AE=E6=94=B9selectGovernCapacityR?= =?UTF-8?q?atioNew=20=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml index 91bef91ea4..dd04bb5130 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml @@ -77,7 +77,6 @@ AND rankData.MONTH_ID =#{monthId} ) ORDER BY - (RESPONSE_RATIO + RESOLVED_RATIO + GOVERN_RATIO + SATISFACTION_RATIO) DESC, RESPONSE_RATIO DESC, RESOLVED_RATIO DESC, GOVERN_RATIO DESC, From 0cc8b9b3a9b1c7ed6d397917510a77eebf75fd70 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Apr 2021 17:37:13 +0800 Subject: [PATCH 097/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8F=98=E5=8A=A8?= =?UTF-8?q?=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epmet-commons/epmet-commons-rocketmq/pom.xml | 6 +- .../messages/ProjectChangedMQMsg.java | 17 +++++ .../epmet-message-client/pom.xml | 6 ++ .../com/epmet/constant/SystemMessageType.java | 5 ++ .../java/com/epmet/send/SendMqMsgUtil.java | 69 +++++++++++++++++++ 5 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java create mode 100644 epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java diff --git a/epmet-commons/epmet-commons-rocketmq/pom.xml b/epmet-commons/epmet-commons-rocketmq/pom.xml index a3761c000f..274ec09b58 100644 --- a/epmet-commons/epmet-commons-rocketmq/pom.xml +++ b/epmet-commons/epmet-commons-rocketmq/pom.xml @@ -17,5 +17,9 @@ rocketmq-spring-boot-starter 2.0.1 + + org.projectlombok + lombok + - \ No newline at end of file + diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java new file mode 100644 index 0000000000..075b3c8ce7 --- /dev/null +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/messages/ProjectChangedMQMsg.java @@ -0,0 +1,17 @@ +package com.epmet.commons.rocketmq.messages; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +/** + * desc:项目变动通知消息实体类 + * @author liujianjun + */ +@Data +@AllArgsConstructor +public class ProjectChangedMQMsg implements Serializable { + + private String customerId; +} diff --git a/epmet-module/epmet-message/epmet-message-client/pom.xml b/epmet-module/epmet-message/epmet-message-client/pom.xml index 4c7ff05c15..6adcaf4a98 100644 --- a/epmet-module/epmet-message/epmet-message-client/pom.xml +++ b/epmet-module/epmet-message/epmet-message-client/pom.xml @@ -26,6 +26,12 @@ io.springfox springfox-swagger-ui + + com.epmet + epmet-commons-rocketmq + 2.0.0 + compile + diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java index 382b96e275..f3f98bac35 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/SystemMessageType.java @@ -10,4 +10,9 @@ public interface SystemMessageType { */ String INIT_CUSTOMER = "init_customer"; + /** + * 项目变动 + */ + String PROJECT_CHANGED = "project_changed"; + } diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java new file mode 100644 index 0000000000..2a382127b9 --- /dev/null +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/send/SendMqMsgUtil.java @@ -0,0 +1,69 @@ +package com.epmet.send; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; +import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.SystemMessageType; +import com.epmet.dto.form.SystemMsgFormDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import lombok.extern.slf4j.Slf4j; + +/** + * desc: 发送mq消息直接到rocketMq 系统 + * + * @author: LiuJanJun + * @date: 2021/4/23 2:39 下午 + * @versio: 1.0 + */ +@Slf4j +public class SendMqMsgUtil { + private static final SendMqMsgUtil INSTANCE = new SendMqMsgUtil(); + + private SendMqMsgUtil() { + + } + + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + + public static SendMqMsgUtil build() { + return INSTANCE; + } + + public SendMqMsgUtil openFeignClient(EpmetMessageOpenFeignClient epmetMessageOpenFeignClient) { + this.epmetMessageOpenFeignClient = epmetMessageOpenFeignClient; + return this; + } + + /** + * desc: 发送小组成就消息,计算小组成就 + * + * @param msgContent + * @return boolean + * @author LiuJanJun + * @date 2021/4/23 3:01 下午 + * @remark 失败重试1次,调用端自行判断如果失败是否要继续执行 + */ + public boolean sendProjectChangedMqMsg(ProjectChangedMQMsg msgContent) { + try { + SystemMsgFormDTO systemMsgFormDTO = new SystemMsgFormDTO(); + systemMsgFormDTO.setMessageType(SystemMessageType.PROJECT_CHANGED); + systemMsgFormDTO.setContent(msgContent); + Result sendMsgResult = null; + log.info("sendProjectChangedMqMsg param:{}",msgContent); + int retryTime = 0; + do { + sendMsgResult = epmetMessageOpenFeignClient.sendSystemMsgByMQ(systemMsgFormDTO); + } while ((sendMsgResult == null || !sendMsgResult.success()) && retryTime++ < NumConstant.TWO); + + if (sendMsgResult != null && sendMsgResult.success()) { + return true; + } + log.error("发送(项目变动)系统消息到message服务失败:{},msg:{}", JSON.toJSONString(sendMsgResult), JSON.toJSONString(systemMsgFormDTO)); + } catch (Exception e) { + log.error("sendMqMsg exception", e); + } + return false; + } + +} From ffcd3d47eb55f49a06dceeec1ec340882e0a8710 Mon Sep 17 00:00:00 2001 From: jianjun Date: Tue, 27 Apr 2021 18:40:31 +0800 Subject: [PATCH 098/121] =?UTF-8?q?stats=20=E9=A1=B9=E7=9B=AE=E5=8F=98?= =?UTF-8?q?=E5=8A=A8=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constants/ConsomerGroupConstants.java | 4 + .../rocketmq/constants/TopicConstants.java | 1 + .../data-statistical-server/pom.xml | 18 ++++ .../mq/GroupAchievementCustomListener.java | 102 ++++++++++++++++++ .../epmet/mq/RocketMQConsumerRegister.java | 66 ++++++++++++ .../todata/FactOriginExtractService.java | 10 ++ .../impl/FactOriginExtractServiceImpl.java | 15 ++- .../toscreen/ScreenExtractService.java | 11 ++ .../impl/ScreenExtractServiceImpl.java | 7 +- .../src/main/resources/bootstrap.yml | 3 + 10 files changed, 232 insertions(+), 5 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java index ded5a9aa8d..de07ea3106 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/ConsomerGroupConstants.java @@ -21,5 +21,9 @@ public interface ConsomerGroupConstants { * 客户初始化议题、项目分类、标签数据 */ String ISSUE_PROJECT_CATEGORY_TAG = "issue_project_category_tag"; + /** + * 项目变动通知消费者组 + */ + String PROJECT_CHANGED_COMPONENTS_GROUP = "project_changed_components_group"; } diff --git a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java index 7687136498..bbf28a5884 100644 --- a/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java +++ b/epmet-commons/epmet-commons-rocketmq/src/main/java/com/epmet/commons/rocketmq/constants/TopicConstants.java @@ -2,4 +2,5 @@ package com.epmet.commons.rocketmq.constants; public interface TopicConstants { String INIT_CUSTOMER = "init_customer"; + String PROJECT_CHANGED = "project_changed"; } diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml index 5917c6bda9..0eb1191613 100644 --- a/epmet-module/data-statistical/data-statistical-server/pom.xml +++ b/epmet-module/data-statistical/data-statistical-server/pom.xml @@ -110,6 +110,12 @@ 4.3 compile + + com.epmet + epmet-commons-rocketmq + 2.0.0 + compile + @@ -248,6 +254,9 @@ https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + 192.168.1.130:9876;192.168.1.132:9876 @@ -364,6 +373,9 @@ https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + 192.168.1.130:9876;192.168.1.132:9876 @@ -479,6 +491,9 @@ https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19 + + + 192.168.10.161:9876 @@ -592,6 +607,9 @@ https://oapi.dingtalk.com/robot/send?access_token=a5f66c3374b1642fe2142dbf56d5997e280172d4e8f2b546c9423a68c82ece6c SEC95f4f40b533ad379ea6a6d1af6dd37029383cfe1b7cd96dfac2678be2c1c3ed1 + + + 192.168.11.187:9876;192.168.11.184:9876 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java new file mode 100644 index 0000000000..2e7b7a9772 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java @@ -0,0 +1,102 @@ +package com.epmet.mq; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.distributedlock.DistributedLock; +import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.utils.SpringContextUtils; +import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import com.epmet.service.evaluationindex.extract.todata.FactOriginExtractService; +import com.epmet.service.evaluationindex.extract.toscreen.ScreenExtractService; +import com.epmet.util.DimIdGenerator; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; +import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.common.message.MessageExt; +import org.redisson.api.RLock; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.PreDestroy; +import java.util.Date; +import java.util.List; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +/** + * @Description 项目变动-监听器 + * @return + * @author wxz + * @date 2021.03.03 16:10 +*/ +@Slf4j +public class GroupAchievementCustomListener implements MessageListenerConcurrently { + + private Logger logger = LoggerFactory.getLogger(getClass()); + + @Override + public ConsumeConcurrentlyStatus consumeMessage(List msgs, ConsumeConcurrentlyContext context) { + long start = System.currentTimeMillis(); + try { + List customerIds = msgs.stream().map(messageExt -> new String(messageExt.getBody())).distinct().collect(Collectors.toList()); + customerIds.forEach(this::consumeMessage); + } catch (Exception e) { + //失败不重发 + logger.error("consumeMessage fail,msg:{}",e.getMessage()); + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + log.info("consumeMessage success, cost:{} ms",System.currentTimeMillis() - start); + return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; + } + + private void consumeMessage(String customerId) { + logger.info("receive customerId:{}", JSON.toJSONString(customerId)); + DistributedLock distributedLock = null; + RLock lock = null; + try { + distributedLock = SpringContextUtils.getBean(DistributedLock.class); + lock = distributedLock.getLock(String.format("lock:project_changed:%s", customerId) + ,30L, 30L, TimeUnit.SECONDS); + + if (StringUtils.isBlank(customerId)){ + logger.error("consumer project_changed fail,msg:{}",customerId); + return; + } + //消息被消费太快 业务数据还没有完成 歇一会先 + try { + Thread.sleep(60L); + } catch (InterruptedException e) { + logger.error("consumeMessage sleep exception",e); + } + ExtractOriginFormDTO extractOriginFormDTO = new ExtractOriginFormDTO(); + extractOriginFormDTO.setCustomerId(customerId); + + String dateId = DimIdGenerator.getDateDimId(new Date()); + extractOriginFormDTO.setDateId(dateId); + Future aBoolean = SpringContextUtils.getBean(FactOriginExtractService.class).submitProjectRelationData(extractOriginFormDTO,null); + if (aBoolean.isDone()){ + SpringContextUtils.getBean(ScreenExtractService.class).extractPartData(customerId,dateId); + } + logger.info("consumer projectChanged msg success,{}",aBoolean); + } catch (RenException e) { + // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 + logger.error("【RocketMQ】消费项目变动消息失败:",e); + } catch (Exception e) { + // 不是我们自己抛出的异常,可以让MQ重试 + logger.error("【RocketMQ】消费项目变动消息失败:",e); + throw e; + } finally { + if (distributedLock != null){ + distributedLock.unLock(lock); + } + } + } + @PreDestroy + public void saveCalStatus() { + //todo + log.info("data-statical-server服务被关闭,执行未执行完的动作"); + + } +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java new file mode 100644 index 0000000000..bc9b5c4a04 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -0,0 +1,66 @@ +package com.epmet.mq; + +import com.epmet.commons.rocketmq.constants.ConsomerGroupConstants; +import com.epmet.commons.rocketmq.constants.TopicConstants; +import com.epmet.commons.tools.constant.NumConstant; +import lombok.extern.slf4j.Slf4j; +import org.apache.rocketmq.client.consumer.DefaultMQPushConsumer; +import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; +import org.apache.rocketmq.client.exception.MQClientException; +import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; + +import javax.annotation.PostConstruct; + +@Slf4j +@Component +public class RocketMQConsumerRegister { + + @Value("${rocketmq.name-server}") + private String nameServer; + + /** + * @return + * @Description 注册监听器 + * @author wxz + * @date 2021.03.03 16:09 + */ + @PostConstruct + public void registerAllListeners() { + try { + register(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new GroupAchievementCustomListener()); + } catch (MQClientException e) { + log.error("registerAllListeners exception", e); + } + } + + public void register(String group, MessageModel messageModel, String topic, String subException, MessageListenerConcurrently listener) throws MQClientException { + // 实例化消费者 + DefaultMQPushConsumer consumer = new DefaultMQPushConsumer(group); + + // 设置NameServer的地址 + consumer.setNamesrvAddr(nameServer); + consumer.setMessageModel(messageModel); + consumer.setInstanceName(buildInstanceName()); + // 订阅一个或者多个Topic,以及Tag来过滤需要消费的消息 + consumer.subscribe(topic, subException); + // 注册回调实现类来处理从broker拉取回来的消息 + consumer.registerMessageListener(listener); + //一次批量拉去10条消息 + consumer.setConsumeMessageBatchMaxSize(NumConstant.TEN); + // 启动消费者实例 + consumer.start(); + } + + private String buildInstanceName() { + String instanceName = ""; + for (int i = 0; i < 4; i++) { + int t = (int) (Math.random() * 10); + instanceName = instanceName.concat(t + ""); + } + + return instanceName; + } + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginExtractService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginExtractService.java index 807fb5067f..8ea0ed4216 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginExtractService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginExtractService.java @@ -2,6 +2,9 @@ package com.epmet.service.evaluationindex.extract.todata; import com.epmet.dto.extract.form.ExtractOriginFormDTO; +import java.util.List; +import java.util.concurrent.Future; + /** * @author zhaoqifeng * @dscription @@ -15,4 +18,11 @@ public interface FactOriginExtractService { * @param extractOriginFormDTO */ void extractAll(ExtractOriginFormDTO extractOriginFormDTO); + + /** + * desc:抽取项目相关业务数据到统计库 + * + * @param param + */ + Future submitProjectRelationData(ExtractOriginFormDTO param, List finalDaysBetween); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java index 1d6e4dc9fd..6cd7a47371 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java @@ -83,7 +83,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { } private void submitJob(ExtractOriginFormDTO param) { - boolean isRange = StringUtils.isBlank(param.getDateId()) ? true : false; + boolean isRange = StringUtils.isBlank(param.getDateId()); List daysBetween = null; if (isRange) { daysBetween = DateUtils.getDaysBetween(param.getStartDate(), param.getEndDate()); @@ -188,9 +188,15 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { } } }); - threadPool.submit(() -> { - ExtractOriginFormDTO paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); - if (!isRange) { + submitProjectRelationData(param, finalDaysBetween); + } + + @Override + public Future submitProjectRelationData(ExtractOriginFormDTO param, List finalDaysBetween) { + Future submit = threadPool.submit(() -> { + ExtractOriginFormDTO paramNew = null; + if (CollectionUtils.isEmpty(finalDaysBetween)) { + paramNew = ConvertUtils.sourceToTarget(param, ExtractOriginFormDTO.class); try { projectExtractService.saveOriginProjectDaily(paramNew); } catch (Exception e) { @@ -237,5 +243,6 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { } }); + return submit; } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenExtractService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenExtractService.java index eefe383408..0877c53129 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenExtractService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/ScreenExtractService.java @@ -25,4 +25,15 @@ public interface ScreenExtractService { */ void extractMonthlyAll(ExtractScreenFormDTO formDTO); + /** + * desc: 实时抽取相关的数据 + * + * @param customerId + * @param dateId + * @return void + * @author LiuJanJun + * @date 2021/4/27 6:12 下午 + */ + void extractPartData(String customerId, String dateId); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index 0210ea7b30..d13a17d2ea 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -170,6 +170,12 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.error("公众参与排行抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } + extractPartData(customerId, dateId); + log.info("===== extractDaily method end ======"); + } + + @Override + public void extractPartData(String customerId, String dateId) { ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); param.setCustomerId(customerId); param.setDateId(dateId); @@ -223,7 +229,6 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch(Exception e){ log.error("按天统计:组织内各个分类下的项目总数,customerId为:"+customerId+"dateId为:"+dateId, e); } - log.info("===== extractDaily method end ======"); } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml index f94ee99777..c0479d72a3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/bootstrap.yml @@ -205,3 +205,6 @@ shutdown: graceful: enable: true #是否开启优雅停机 waitTimeSecs: 30 # 优雅停机等待时间,超过30秒,发出告警 + +rocketmq: + name-server: @rocketmq.nameserver@ From 1d0cf239e301701f5171ba790631b56e6d578049 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 09:42:38 +0800 Subject: [PATCH 099/121] =?UTF-8?q?stats=20=E9=A1=B9=E7=9B=AE=E5=8F=98?= =?UTF-8?q?=E5=8A=A8=E8=AE=A2=E9=98=85=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...java => ProjectChangedCustomListener.java} | 20 ++++++++++++--- .../epmet/mq/RocketMQConsumerRegister.java | 4 ++- .../impl/FactOriginExtractServiceImpl.java | 1 + .../impl/ScreenExtractServiceImpl.java | 25 ++++++++++--------- 4 files changed, 33 insertions(+), 17 deletions(-) rename epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/{GroupAchievementCustomListener.java => ProjectChangedCustomListener.java} (85%) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java similarity index 85% rename from epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java rename to epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java index 2e7b7a9772..d8712f7162 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/GroupAchievementCustomListener.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/ProjectChangedCustomListener.java @@ -1,6 +1,7 @@ package com.epmet.mq; import com.alibaba.fastjson.JSON; +import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.tools.distributedlock.DistributedLock; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.utils.SpringContextUtils; @@ -21,6 +22,7 @@ import org.slf4j.LoggerFactory; import javax.annotation.PreDestroy; import java.util.Date; import java.util.List; +import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -32,7 +34,7 @@ import java.util.stream.Collectors; * @date 2021.03.03 16:10 */ @Slf4j -public class GroupAchievementCustomListener implements MessageListenerConcurrently { +public class ProjectChangedCustomListener implements MessageListenerConcurrently { private Logger logger = LoggerFactory.getLogger(getClass()); @@ -51,11 +53,14 @@ public class GroupAchievementCustomListener implements MessageListenerConcurrent return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; } - private void consumeMessage(String customerId) { - logger.info("receive customerId:{}", JSON.toJSONString(customerId)); + private void consumeMessage(String msg) { + logger.info("receive customerId:{}", JSON.toJSONString(msg)); + ProjectChangedMQMsg msgObj = JSON.parseObject(msg, ProjectChangedMQMsg.class); + DistributedLock distributedLock = null; RLock lock = null; try { + String customerId = msgObj.getCustomerId(); distributedLock = SpringContextUtils.getBean(DistributedLock.class); lock = distributedLock.getLock(String.format("lock:project_changed:%s", customerId) ,30L, 30L, TimeUnit.SECONDS); @@ -76,6 +81,13 @@ public class GroupAchievementCustomListener implements MessageListenerConcurrent String dateId = DimIdGenerator.getDateDimId(new Date()); extractOriginFormDTO.setDateId(dateId); Future aBoolean = SpringContextUtils.getBean(FactOriginExtractService.class).submitProjectRelationData(extractOriginFormDTO,null); + try { + aBoolean.get(); + } catch (InterruptedException e) { + e.printStackTrace(); + } catch (ExecutionException e) { + e.printStackTrace(); + } if (aBoolean.isDone()){ SpringContextUtils.getBean(ScreenExtractService.class).extractPartData(customerId,dateId); } @@ -85,7 +97,7 @@ public class GroupAchievementCustomListener implements MessageListenerConcurrent logger.error("【RocketMQ】消费项目变动消息失败:",e); } catch (Exception e) { // 不是我们自己抛出的异常,可以让MQ重试 - logger.error("【RocketMQ】消费项目变动消息失败:",e); + logger.error("【RocketMQ】消费项目变动消息异常:",e); throw e; } finally { if (distributedLock != null){ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java index bc9b5c4a04..bcec9ddd31 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/mq/RocketMQConsumerRegister.java @@ -9,12 +9,14 @@ import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently; import org.apache.rocketmq.client.exception.MQClientException; import org.apache.rocketmq.common.protocol.heartbeat.MessageModel; import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; @Slf4j @Component +@Order(value = 111) public class RocketMQConsumerRegister { @Value("${rocketmq.name-server}") @@ -29,7 +31,7 @@ public class RocketMQConsumerRegister { @PostConstruct public void registerAllListeners() { try { - register(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new GroupAchievementCustomListener()); + register(ConsomerGroupConstants.PROJECT_CHANGED_COMPONENTS_GROUP, MessageModel.CLUSTERING, TopicConstants.PROJECT_CHANGED, "*", new ProjectChangedCustomListener()); } catch (MQClientException e) { log.error("registerAllListeners exception", e); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java index 6cd7a47371..1cd62fd24a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginExtractServiceImpl.java @@ -242,6 +242,7 @@ public class FactOriginExtractServiceImpl implements FactOriginExtractService { } } + return true; }); return submit; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index d13a17d2ea..ffa1936236 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -170,6 +170,19 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { log.error("公众参与排行抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } + //基层治理- 难点赌点 screen_difficulty_data | screen_difficulty_img_data + try { + ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); + param2.setCustomerId(customerId); + param2.setDateId(null); + log.info("【难点赌点数据上报开始------】 当前客户Id{}",param2.getCustomerId()); + //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); + + screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); + log.info("【难点赌点数据上报结束------】 当前客户Id{}",param2.getCustomerId()); + }catch (Exception e){ + log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); + } extractPartData(customerId, dateId); log.info("===== extractDaily method end ======"); } @@ -185,19 +198,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("中央区抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } - //基层治理- 难点赌点 screen_difficulty_data | screen_difficulty_img_data - try { - log.info("【难点赌点数据上报开始------】 当前客户Id{}",param.getCustomerId()); - //screenGrassrootsGovernDataAbsorptionService.difficultyDataHub(param); - ScreenCentralZoneDataFormDTO param2 = new ScreenCentralZoneDataFormDTO(); - param2.setCustomerId(customerId); - param2.setDateId(null); - screenGrassrootsGovernDataAbsorptionService.difficultyDataExtract(param2); - log.info("【难点赌点数据上报结束------】 当前客户Id{}",param.getCustomerId()); - }catch (Exception e){ - log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); - } try { // 项目(事件)分析按网格_按天统计 screenProjectGridDailyService.extractionProjectGridDaily(customerId, dateId); From 08c121c0801ea15d762c0ea45c9e71144579528f Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 28 Apr 2021 09:57:19 +0800 Subject: [PATCH 100/121] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=AE=9E=E6=97=B6?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ProjectProcessServiceImpl.java | 16 ++++++ .../service/impl/ProjectServiceImpl.java | 52 +++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java index 455e085999..2046de6106 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectProcessServiceImpl.java @@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; @@ -57,6 +58,7 @@ import com.epmet.feign.EpmetUserFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgFeignClient; import com.epmet.redis.ProjectProcessRedis; +import com.epmet.send.SendMqMsgUtil; import com.epmet.service.ProjectProcessService; import com.epmet.service.ProjectService; import com.epmet.service.ProjectStaffService; @@ -384,6 +386,13 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl Date: Wed, 28 Apr 2021 11:12:57 +0800 Subject: [PATCH 101/121] =?UTF-8?q?py=E4=B8=AD=E5=A4=AE=E5=8C=BA=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=AE=9E=E6=97=B6=E6=8A=BD=E5=8F=96=EF=BC=8C=E5=8F=AA?= =?UTF-8?q?=E6=9B=B4=E6=96=B04=E4=B8=AA=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/ScreenProjectDataInfoFormDTO.java | 5 ++- .../mq/ProjectChangedCustomListener.java | 4 +++ .../impl/ScreenExtractServiceImpl.java | 31 ++++++++++++------- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java index 2365ec57f0..da4781f803 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ScreenProjectDataInfoFormDTO.java @@ -4,7 +4,6 @@ import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; -import java.util.Date; /** * @description: @@ -67,6 +66,10 @@ public class ScreenProjectDataInfoFormDTO implements Serializable { /** * 事件级别 红色1级:已超期;黄色2级:即将超期;绿色3级:未超期 + * 2021-04-28平阴定义: + * 1:红色:为刚提交未做任何响应处理未结案的项目; + * 2:黄色: 至少做过一次响应处理答复但未结案的项目; + * 3:绿色:已经结案的项目。 */ private Integer projectLevel; 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 d8712f7162..952d7b4ba5 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 @@ -89,6 +89,10 @@ public class ProjectChangedCustomListener implements MessageListenerConcurrently e.printStackTrace(); } if (aBoolean.isDone()){ + // 指标库,实时数据只更新:【screen_project_data】 + // 【screen_project_process_attachment】 + // 【screen_project_img_data】 + // 【screen_project_process】这四个表 SpringContextUtils.getBean(ScreenExtractService.class).extractPartData(customerId,dateId); } logger.info("consumer projectChanged msg success,{}",aBoolean); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java index ffa1936236..0697a46edd 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenExtractServiceImpl.java @@ -183,12 +183,7 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("基层治理-难点赌点抽取到大屏失败,customerId为:"+customerId+"dateId为:"+dateId, e); } - extractPartData(customerId, dateId); - log.info("===== extractDaily method end ======"); - } - @Override - public void extractPartData(String customerId, String dateId) { ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); param.setCustomerId(customerId); param.setDateId(dateId); @@ -211,25 +206,37 @@ public class ScreenExtractServiceImpl implements ScreenExtractService { }catch (Exception e){ log.error("项目(事件)分析按组织_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); } - //项目分类打标签未上线,暂时屏蔽 - try{ - //大屏项目数据抽取_按天抽取 - screenProjectSettleService.extractScreenData(param); - }catch (Exception e){ - log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); - } + //按天统计:网格内各个分类下的项目总数 try{ projectCategoryGridDailyService.extractProjectCategoryData(customerId,dateId); }catch(Exception e){ log.error("按天统计:网格内各个分类下的项目总数,customerId为:"+customerId+"dateId为:"+dateId, e); } + // 按天统计:组织内各个分类下的项目总数 try{ projectCategoryOrgDailyService.extractProjectCategoryOrgData(customerId,dateId); }catch(Exception e){ log.error("按天统计:组织内各个分类下的项目总数,customerId为:"+customerId+"dateId为:"+dateId, e); } + + extractPartData(customerId, dateId); + log.info("===== extractDaily method end ======"); + } + + @Override + public void extractPartData(String customerId, String dateId) { + ScreenCentralZoneDataFormDTO param = new ScreenCentralZoneDataFormDTO(); + param.setCustomerId(customerId); + param.setDateId(dateId); + + try{ + //大屏项目数据抽取_按天抽取 + screenProjectSettleService.extractScreenData(param); + }catch (Exception e){ + log.error("大屏项目数据抽取_按天抽取_按天统计失败,customerId为:"+customerId+"dateId为:"+dateId, e); + } } /** From 6af2a2da153be83ba528d1dd4add7bf68a4d0ce5 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 14:03:06 +0800 Subject: [PATCH 102/121] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/ResiGroupApplication.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java index 85be2e5128..1f68336cd7 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java @@ -8,11 +8,20 @@ package com.epmet; +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; +import java.util.ArrayList; +import java.util.List; + /** * 模块 * @@ -26,6 +35,37 @@ public class ResiGroupApplication { public static void main(String[] args) { SpringApplication.run(ResiGroupApplication.class, args); + System.out.println("===============started======================"); + testTextSyncScan(); + System.out.println("===============end======================"); + } + + public static void testTextSyncScan(){ + String url = "https://epmet-dev.elinkservice.cn/api/epmetscan/api/textSyncScan"; + TextTaskDTO p = new TextTaskDTO(); + p.setDataId("1"); + p.setContent("开着房车去旅行,已经成了不少人出游的新方式。临近“五一”,房车租赁市场持续火爆,尽管价格比平时贵了不少,可仍一车难求。\n" + + "\n" + + "“临近‘五一’,想开一辆房车拉着一家人去草原旅游,没想到一周前就已经租不到车了。”读者刘先生说,最近一段时间,他总是在一些短视频平台上看到有人开着房车出门旅行的视频。眼下春暖花开,正是出游的好时节,开上一辆房车,不仅节省了住宿费,还能体验一种不同的出行方式。不过,这周起刘先生搜索相关的房车租赁信息时,却发现不少房车租赁公司已经是一车难求了。\n" + + "在某房车租车软件上记者发现,位于房山和顺义的两个取车还车点,五一期间的全部车型已经被租赁一空。而在另一家房车租赁公司的价格目录里,明确标注了租赁价格分为平时价和节假日价,后者是前者的1.2倍。\n" + + "\n" + + "“‘五一’期间,北京的房车租赁情况很紧张,目前只剩一台东风了,你可以考虑一下。”一家房车租赁公司的工作人员介绍,他们公司规定“五一”期间租赁时间为五天起租,仅剩的东风车型每天的租金在1278元。“‘五一’期间的价格会比平时高一些,我建议您在5月6日之后租,一方面没有租赁时长的限制,另一方面租金会便宜不少,每天也就900多元。"); + List list = new ArrayList<>(); + list.add(p); + TextScanParamDTO param = new TextScanParamDTO(); + param.setTasks(list); + Result imgSyncScanResult = ScanContentUtils.textSyncScan(url, param); + System.out.println("==================="+JSON.toJSONString(imgSyncScanResult)); + SyncScanResult result = new SyncScanResult(); + if (imgSyncScanResult != null){ + SyncScanResult imgSyncScanResultData = imgSyncScanResult.getData(); + if (imgSyncScanResult.success()&&imgSyncScanResultData.isAllPass()) { + result.setAllPass(imgSyncScanResultData.isAllPass()); + result.getSuccessDataIds().addAll(imgSyncScanResultData.getSuccessDataIds()); + result.getFailDataIds().addAll(imgSyncScanResultData.getFailDataIds()); + System.out.println("================"+JSON.toJSONString(result)); + } + } } } From 5cf34fbef3a6791fe11ce2afc8166905874db0b7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 14:34:47 +0800 Subject: [PATCH 103/121] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/controller/TestController.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java new file mode 100644 index 0000000000..44a55b19f1 --- /dev/null +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java @@ -0,0 +1,87 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.modules.group.controller; + +import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.scan.param.TextScanParamDTO; +import com.epmet.commons.tools.scan.param.TextTaskDTO; +import com.epmet.commons.tools.scan.result.SyncScanResult; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.ScanContentUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 群组信息表 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2020-03-28 + */ +@RestController +@RequestMapping("test") +public class TestController { + /** + * 小组管理-设置是否允许参观 + * @author zhaoqifeng + * @date 2021/4/7 13:50 + * @param formDTO + * @return com.epmet.commons.tools.utils.Result + */ + @RequestMapping("scan") + public Result setVisitSwitch(@RequestParam String content){ + String url = "https://epmet-dev.elinkservice.cn/api/epmetscan/api/textSyncScan"; + TextTaskDTO p = new TextTaskDTO(); + p.setDataId("1"); + String content1 = "开着房车去旅行,已经成了不少人出游的新方式。临近“五一”,房车租赁市场持续火爆,尽管价格比平时贵了不少,可仍一车难求。\n" + + "\n" + + "“临近‘五一’,想开一辆房车拉着一家人去草原旅游,没想到一周前就已经租不到车了。”读者刘先生说,最近一段时间,他总是在一些短视频平台上看到有人开着房车出门旅行的视频。眼下春暖花开,正是出游的好时节,开上一辆房车,不仅节省了住宿费,还能体验一种不同的出行方式。不过,这周起刘先生搜索相关的房车租赁信息时,却发现不少房车租赁公司已经是一车难求了。\n" + + "在某房车租车软件上记者发现,位于房山和顺义的两个取车还车点,五一期间的全部车型已经被租赁一空。而在另一家房车租赁公司的价格目录里,明确标注了租赁价格分为平时价和节假日价,后者是前者的1.2倍。\n" + + "\n" + + "“‘五一’期间,北京的房车租赁情况很紧张,目前只剩一台东风了,你可以考虑一下。”一家房车租赁公司的工作人员介绍,他们公司规定“五一”期间租赁时间为五天起租,仅剩的东风车型每天的租金在1278元。“‘五一’期间的价格会比平时高一些,我建议您在5月6日之后租,一方面没有租赁时长的限制,另一方面租金会便宜不少,每天也就900多元。"; + if (StringUtils.isBlank(content)){ + p.setContent(content1); + }else{ + p.setContent(content); + } + List list = new ArrayList<>(); + list.add(p); + TextScanParamDTO param = new TextScanParamDTO(); + param.setTasks(list); + Result imgSyncScanResult = ScanContentUtils.textSyncScan(url, param); + System.out.println("==================="+ JSON.toJSONString(imgSyncScanResult)); + SyncScanResult result = new SyncScanResult(); + if (imgSyncScanResult != null){ + SyncScanResult imgSyncScanResultData = imgSyncScanResult.getData(); + if (imgSyncScanResult.success()&&imgSyncScanResultData.isAllPass()) { + result.setAllPass(imgSyncScanResultData.isAllPass()); + result.getSuccessDataIds().addAll(imgSyncScanResultData.getSuccessDataIds()); + result.getFailDataIds().addAll(imgSyncScanResultData.getFailDataIds()); + System.out.println("================"+JSON.toJSONString(result)); + } + } + return new Result().ok(result); + } + + +} From a640156c5492b1171b53305aa44fc39b9bfd54e0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 14:43:40 +0800 Subject: [PATCH 104/121] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/modules/group/controller/TestController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java index 44a55b19f1..dc7886913c 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java @@ -39,7 +39,6 @@ import java.util.List; * @since v1.0.0 2020-03-28 */ @RestController -@RequestMapping("test") public class TestController { /** * 小组管理-设置是否允许参观 From 3e8e5c922c74729bf12dc9a12d6406aef1955c4e Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 14:50:12 +0800 Subject: [PATCH 105/121] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8F=91=E9=80=81?= =?UTF-8?q?=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{TestController.java => TestPController.java} | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) rename epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/{TestController.java => TestPController.java} (95%) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java similarity index 95% rename from epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java rename to epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java index dc7886913c..7f85545f6e 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java @@ -39,14 +39,8 @@ import java.util.List; * @since v1.0.0 2020-03-28 */ @RestController -public class TestController { - /** - * 小组管理-设置是否允许参观 - * @author zhaoqifeng - * @date 2021/4/7 13:50 - * @param formDTO - * @return com.epmet.commons.tools.utils.Result - */ +public class TestPController { + @RequestMapping("scan") public Result setVisitSwitch(@RequestParam String content){ String url = "https://epmet-dev.elinkservice.cn/api/epmetscan/api/textSyncScan"; From 24262f4d09ee7775dce09f1260572ff65792f527 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 28 Apr 2021 14:59:46 +0800 Subject: [PATCH 106/121] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E7=BA=A7=E5=88=AB=E7=BB=9F=E8=AE=A1=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/screen/ScreenProjectDataDTO.java | 2 + .../com/epmet/constant/ProjectConstant.java | 4 ++ .../FactOriginProjectMainDailyDao.java | 2 + .../FactOriginProjectMainDailyService.java | 10 +++ ...FactOriginProjectMainDailyServiceImpl.java | 64 +++++++++++++++++-- .../impl/ScreenProjectSettleServiceImpl.java | 8 ++- .../extract/FactOriginProjectMainDailyDao.xml | 32 ++++++++++ 7 files changed, 113 insertions(+), 9 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index 423a94ebce..aeb148d8e9 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -171,4 +171,6 @@ public class ScreenProjectDataDTO implements Serializable { private String topicId; + private Integer responseCount; + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java index 16530a61a2..e1b0dd8a11 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -14,6 +14,10 @@ public interface ProjectConstant { * 状态-结案 */ String CLOSED = "closed"; + /** + * 状态-结案 + */ + String CLOSED_CASE = "closed_case"; /** * 结案状态-已解决 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java index 82ea30952a..dbc532b90c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java @@ -368,4 +368,6 @@ public interface FactOriginProjectMainDailyDao extends BaseDao getProjectPeriodForDiff(@Param("customerId") String customerId, @Param("dateId") String dateId); + + List selectResponseCount(@Param("customerId") String customerId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index f77a01bf4a..449e546658 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -357,4 +357,14 @@ public interface FactOriginProjectMainDailyService extends BaseService getProjectPeriod(ScreenCentralZoneDataFormDTO param); + /** + * 计算项目事件级别 + * @author zhaoqifeng + * @date 2021/4/28 14:47 + * @param list + * @param customerId + * @return void + */ + void setProjectLevel(List list, String customerId); + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 9553485a0e..756eff7fe3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -23,6 +23,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; +import com.epmet.constant.ProjectConstant; import com.epmet.dao.evaluationindex.extract.FactOriginProjectMainDailyDao; import com.epmet.dao.evaluationindex.extract.FactOriginProjectOrgPeriodDailyDao; import com.epmet.dto.extract.FactOriginProjectMainDailyDTO; @@ -436,16 +437,33 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl projects = baseDao.initNewScreenProjectData(customerId, rows <= NumConstant.ZERO ? "" : dateId, dateId); - //如果不是昨天立项 - if(!CollectionUtils.isEmpty(projects) && !ifBeforeYesterday) - computerIfExceed(projects,exceedLimit,about2exceedLimit); + projects.forEach(project -> { + if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) { + //绿灯事件-结案项目 + project.setProjectLevel(NumConstant.THREE); + } else { + if (NumConstant.ZERO == project.getResponseCount()) { + //红灯事件-未做任何响应处理未结案的项目 + project.setProjectLevel(NumConstant.ONE); + } else { + //黄灯事件-至少做过一次响应处理答复但未结案的项目 + project.setProjectLevel(NumConstant.TWO); + } + } + }); +// //如果不是昨天立项 +// if(!CollectionUtils.isEmpty(projects) && !ifBeforeYesterday) { +// computerIfExceed(projects,exceedLimit,about2exceedLimit); +// } return projects; } @Override public void computerIfExceed(List list,Integer exceedLimit,Integer about2exceedLimit){ - if(CollectionUtils.isEmpty(list)) return; + if(CollectionUtils.isEmpty(list)) { + return; + } Result> costDays = epmetCommonServiceOpenFeignClient.costWorkDays(periodDao.selectProjectNodeStartStopTime(list.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList()))); if(null != costDays && !CollectionUtils.isEmpty(costDays.getData())){ //key : projectId @@ -456,10 +474,11 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl exceedLimit) + if(max > exceedLimit) { o.setProjectLevel(NumConstant.ONE); - else if(max >= about2exceedLimit) + } else if(max >= about2exceedLimit) { o.setProjectLevel(NumConstant.TWO); + } } return o; }).collect(Collectors.toList()); @@ -476,5 +495,38 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl list, String customerId) { + if(CollectionUtils.isEmpty(list)) { + return; + } + List projects = baseDao.selectResponseCount(customerId); + Map map = projects.stream().collect(Collectors.toMap(ScreenProjectDataDTO :: getParentId, v -> v, (v1, v2) -> v1)); + + list.forEach(item -> { + ScreenProjectDataDTO dto = map.get(item.getProjectId()); + if (ProjectConstant.CLOSED.equals(dto.getProjectStatusCode())) { + item.setProjectLevel(NumConstant.THREE); + } else { + if (NumConstant.ZERO == dto.getResponseCount()) { + //红灯事件-未做任何响应处理未结案的项目 + item.setProjectLevel(NumConstant.ONE); + } else { + //黄灯事件-至少做过一次响应处理答复但未结案的项目 + item.setProjectLevel(NumConstant.TWO); + } + } + }); + } + } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index dfb64dfc01..730c2e8f17 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -118,9 +118,10 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic // 给metaData和orientData赋上分类信息 List projectIds = - Optional.ofNullable(metaData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList())).orElse(new ArrayList<>()); - if(!CollectionUtils.isEmpty(orientData)) + Optional.of(metaData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList())).orElse(new ArrayList<>()); + if(!CollectionUtils.isEmpty(orientData)) { projectIds.addAll(orientData.stream().map(ScreenProjectDataDTO::getProjectId).distinct().collect(Collectors.toList())); + } Map> categoryMap = projectService.getProjectCategory(projectIds); if(!CollectionUtils.isEmpty(categoryMap)){ Map integratedProjectCategoryMap = issueService.getIntegratedProjectCategory(categoryMap, param.getCustomerId()); @@ -135,7 +136,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic } //重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily - originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit); +// originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit); + originMainService.setProjectLevel(orientData, param.getCustomerId()); processService.updateProjectCloseTime(metaData); //更新结案时间和结案状态 processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId()); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 4e2d66473a..18aa1d5123 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -571,10 +571,18 @@ 3 as projectLevel, IF(data.PIDS IS NULL || TRIM(data.PIDS) = '',data.AGENCY_ID,CONCAT(REPLACE(data.PIDS,':',','),',',data.AGENCY_ID)) as allParentIds, data.TOPIC_ID, + IFNULL(log.response, 0) AS responseCount, #{dataEndTime} as dataEndTime FROM `fact_origin_project_main_daily` data LEFT JOIN DIM_AGENCY agency on data.agency_id = agency.id + LEFT JOIN ( + SELECT PROJECT_ID, COUNT(IS_ACTIVE) AS response FROM fact_origin_project_log_daily + WHERE (ACTION_CODE = 'close' OR ACTION_CODE = 'response' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'return') + AND IS_ACTIVE = 1 + AND CUSTOMER_ID = #{customerId} + GROUP BY PROJECT_ID + ) log ON data.ID = log.PROJECT_ID WHERE data.DEL_FLAG = '0' AND @@ -729,5 +737,29 @@ AND GRID_ID = '' GROUP BY AGENCY_ID + From fefa070f855b18cf8db1eafab382e90dc6a4f78b Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 15:23:10 +0800 Subject: [PATCH 107/121] =?UTF-8?q?=E6=81=A2=E5=A4=8D=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/ResiGroupApplication.java | 41 ------------------- 1 file changed, 41 deletions(-) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java index 1f68336cd7..b87b17770f 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/ResiGroupApplication.java @@ -8,20 +8,11 @@ package com.epmet; -import com.alibaba.fastjson.JSON; -import com.epmet.commons.tools.scan.param.TextScanParamDTO; -import com.epmet.commons.tools.scan.param.TextTaskDTO; -import com.epmet.commons.tools.scan.result.SyncScanResult; -import com.epmet.commons.tools.utils.Result; -import com.epmet.commons.tools.utils.ScanContentUtils; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; -import java.util.ArrayList; -import java.util.List; - /** * 模块 * @@ -35,37 +26,5 @@ public class ResiGroupApplication { public static void main(String[] args) { SpringApplication.run(ResiGroupApplication.class, args); - System.out.println("===============started======================"); - testTextSyncScan(); - System.out.println("===============end======================"); - } - - public static void testTextSyncScan(){ - String url = "https://epmet-dev.elinkservice.cn/api/epmetscan/api/textSyncScan"; - TextTaskDTO p = new TextTaskDTO(); - p.setDataId("1"); - p.setContent("开着房车去旅行,已经成了不少人出游的新方式。临近“五一”,房车租赁市场持续火爆,尽管价格比平时贵了不少,可仍一车难求。\n" + - "\n" + - "“临近‘五一’,想开一辆房车拉着一家人去草原旅游,没想到一周前就已经租不到车了。”读者刘先生说,最近一段时间,他总是在一些短视频平台上看到有人开着房车出门旅行的视频。眼下春暖花开,正是出游的好时节,开上一辆房车,不仅节省了住宿费,还能体验一种不同的出行方式。不过,这周起刘先生搜索相关的房车租赁信息时,却发现不少房车租赁公司已经是一车难求了。\n" + - "在某房车租车软件上记者发现,位于房山和顺义的两个取车还车点,五一期间的全部车型已经被租赁一空。而在另一家房车租赁公司的价格目录里,明确标注了租赁价格分为平时价和节假日价,后者是前者的1.2倍。\n" + - "\n" + - "“‘五一’期间,北京的房车租赁情况很紧张,目前只剩一台东风了,你可以考虑一下。”一家房车租赁公司的工作人员介绍,他们公司规定“五一”期间租赁时间为五天起租,仅剩的东风车型每天的租金在1278元。“‘五一’期间的价格会比平时高一些,我建议您在5月6日之后租,一方面没有租赁时长的限制,另一方面租金会便宜不少,每天也就900多元。"); - List list = new ArrayList<>(); - list.add(p); - TextScanParamDTO param = new TextScanParamDTO(); - param.setTasks(list); - Result imgSyncScanResult = ScanContentUtils.textSyncScan(url, param); - System.out.println("==================="+JSON.toJSONString(imgSyncScanResult)); - SyncScanResult result = new SyncScanResult(); - if (imgSyncScanResult != null){ - SyncScanResult imgSyncScanResultData = imgSyncScanResult.getData(); - if (imgSyncScanResult.success()&&imgSyncScanResultData.isAllPass()) { - result.setAllPass(imgSyncScanResultData.isAllPass()); - result.getSuccessDataIds().addAll(imgSyncScanResultData.getSuccessDataIds()); - result.getFailDataIds().addAll(imgSyncScanResultData.getFailDataIds()); - System.out.println("================"+JSON.toJSONString(result)); - } - } } - } From f4df2b174810ee2c7307c4fa8ed6cf3106acbe06 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 15:43:44 +0800 Subject: [PATCH 108/121] =?UTF-8?q?=E6=B5=8B=E8=AF=95mq=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/controller/TestPController.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java index 7f85545f6e..903da435a0 100644 --- a/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java +++ b/epmet-module/resi-group/resi-group-server/src/main/java/com/epmet/modules/group/controller/TestPController.java @@ -18,11 +18,13 @@ package com.epmet.modules.group.controller; import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.dto.form.mq.MqBaseMsgDTO; import com.epmet.commons.tools.scan.param.TextScanParamDTO; import com.epmet.commons.tools.scan.param.TextTaskDTO; import com.epmet.commons.tools.scan.result.SyncScanResult; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.ScanContentUtils; +import com.epmet.commons.tools.utils.SendMqMsgUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -76,5 +78,24 @@ public class TestPController { return new Result().ok(result); } + @RequestMapping("test-mq") + public Result testMqMsg(@RequestParam String content){ + MqBaseMsgDTO msg = null; + if (StringUtils.isBlank(content)){ + content = "{\"appId\":\"202007161443499985fa2d397436d10356542134c8f008c48\",\"eventClass\":\"resi_group\",\"eventTag\":\"shift_topic_to_issue\",\"msg\":\"[{\\\"actionFlag\\\":\\\"plus\\\",\\\"agencyId\\\":\\\"e9b55911549fe7b0d0427b557f7c5efc\\\",\\\"customerId\\\":\\\"45687aa479955f9d06204d415238f7cc\\\",\\\"eventClass\\\":\\\"resi_group\\\",\\\"eventTag\\\":\\\"topic_to_issue\\\",\\\"gridId\\\":\\\"708a3567b54ced7219666489f9d838ab\\\",\\\"groupId\\\":\\\"6838a625e4ccc0dc036f9903af833ad9\\\",\\\"isCommon\\\":false,\\\"remark\\\":\\\"小组成就3小组中发布的话题\\\\\\\"还是不行这里在测试测试测试为什么发反反复复反反复复反反复复方法不够爽肤水的分身乏术分身乏术发烧反反复复方法分为玩儿玩儿玩儿啦啦啦啦\\\\\\\"被转为议题\\\",\\\"sourceId\\\":\\\"67a06a217ecf46cd92944040323e70e0\\\",\\\"sourceType\\\":\\\"issue\\\",\\\"userId\\\":\\\"74b5d6792d89fb2fb2d0363de3cbc1aa\\\"},{\\\"actionFlag\\\":\\\"plus\\\",\\\"agencyId\\\":\\\"e9b55911549fe7b0d0427b557f7c5efc\\\",\\\"customerId\\\":\\\"45687aa479955f9d06204d415238f7cc\\\",\\\"eventTag\\\":\\\"shift_topic_to_issue\\\",\\\"gridId\\\":\\\"708a3567b54ced7219666489f9d838ab\\\",\\\"groupId\\\":\\\"6838a625e4ccc0dc036f9903af833ad9\\\",\\\"isCommon\\\":false,\\\"remark\\\":\\\"将话题\\\\\\\"还是不行\\\\\\\"转为议题\\\",\\\"sourceId\\\":\\\"67a06a217ecf46cd92944040323e70e0\\\",\\\"sourceType\\\":\\\"issue\\\",\\\"userId\\\":\\\"74b5d6792d89fb2fb2d0363de3cbc1aa\\\"}]\",\"requestUrl\":\"https://epmet-dev.elinkservice.cn/estos/producerService/producer/sendMsg\",\"token\":\"52d9d9b0e7d0eb5b8b81c205b579e07c\"}"; + msg = JSON.parseObject(content,MqBaseMsgDTO.class); + }else{ + msg = new MqBaseMsgDTO(); + msg.setMsg(content); + msg.setEventClass("resi_group"); + msg.setEventTag("shift_topic_to_issue"); + } + + + Result stringResult = SendMqMsgUtils.sendMsg(msg); + System.out.println("=========="+JSON.toJSONString(stringResult)); + return stringResult; + } + } From 32632686ab1ef1f2e6572b986ad4277fcaae2873 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Wed, 28 Apr 2021 16:40:09 +0800 Subject: [PATCH 109/121] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E7=BA=A7=E5=88=AB=E7=BB=9F=E8=AE=A1=E9=80=BB=E8=BE=91=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/FactOriginProjectMainDailyServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 756eff7fe3..00f8ecbb9c 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -510,7 +510,7 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl projects = baseDao.selectResponseCount(customerId); - Map map = projects.stream().collect(Collectors.toMap(ScreenProjectDataDTO :: getParentId, v -> v, (v1, v2) -> v1)); + Map map = projects.stream().collect(Collectors.toMap(ScreenProjectDataDTO :: getProjectId, v -> v, (v1, v2) -> v1)); list.forEach(item -> { ScreenProjectDataDTO dto = map.get(item.getProjectId()); From 967777be73a2c9c1c72056ea0e99a07fc329fd0c Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Apr 2021 17:20:40 +0800 Subject: [PATCH 110/121] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=8F=98=E5=8A=A8=E6=B6=88=E6=81=AF=E7=B1=BB=E5=9E=8B=E5=8F=91?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/SystemMessageServiceImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java index 64a067af56..c82b22701b 100644 --- a/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java +++ b/epmet-module/epmet-message/epmet-message-server/src/main/java/com/epmet/service/impl/SystemMessageServiceImpl.java @@ -64,6 +64,9 @@ public class SystemMessageServiceImpl implements SystemMessageService { case SystemMessageType.INIT_CUSTOMER: topic = TopicConstants.INIT_CUSTOMER; break; + case SystemMessageType.PROJECT_CHANGED: + topic = TopicConstants.PROJECT_CHANGED; + break; } return topic; } From 6fa7143023b51878f92b5831f938125e6f2e0782 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 28 Apr 2021 18:01:16 +0800 Subject: [PATCH 111/121] =?UTF-8?q?=E4=BF=AE=E6=94=B9"projectdistribution"?= =?UTF-8?q?=20=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/ScreenProjectDistributionFormDTO.java | 6 +++--- .../screen/ScreenProjectDataDao.java | 3 +-- .../screen/impl/ScreenProjectServiceImpl.java | 8 ++++---- .../mapper/screen/ScreenProjectDataDao.xml | 13 +++++++++++-- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/ScreenProjectDistributionFormDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/ScreenProjectDistributionFormDTO.java index aa4a89183e..6a30af17ec 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/ScreenProjectDistributionFormDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/evaluationindex/screen/dto/form/ScreenProjectDistributionFormDTO.java @@ -31,9 +31,9 @@ public class ScreenProjectDistributionFormDTO implements Serializable { private String agencyId; - /** + /* *//** * 不必填;默认查询的是处理中;可选值:all: 全部,pending:处理中 已结案:closed_case ;已关闭:closed * 默认查询pending - */ - private String status; + *//* + private String status;*/ } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java index eeb9831e21..559ce9fe2d 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenProjectDataDao.java @@ -12,8 +12,7 @@ public interface ScreenProjectDataDao { List projectDistribution(@Param("agencyId") String agencyId, @Param("ids") List ids, - @Param("level") String level, - @Param("status")String status); + @Param("level") String level); List selectIdsByAreaCode(@Param("areaCode") String areaCode); diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java index c7a1e6cfc5..81be998afb 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java @@ -70,14 +70,14 @@ public class ScreenProjectServiceImpl implements ScreenProjectService { @Override @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true) public Result projectDistribution(ScreenProjectDistributionFormDTO formDTO) { - if(StringUtils.isBlank(formDTO.getStatus())){ - formDTO.setStatus("pending"); - } + // 1:红色:为刚提交未做任何响应处理未结案的项目; + // 2:黄色: 至少做过一次响应处理答复但未结案的项目; + // 3:绿色:已经结案的项目。 List areaIds = null; if (StringUtils.isNotBlank(formDTO.getAreaCode())){ areaIds = screenProjectDataDao.selectIdsByAreaCode(formDTO.getAreaCode()); } - List resultDTOS = screenProjectDataDao.projectDistribution(formDTO.getAgencyId(),areaIds,formDTO.getLevel(),formDTO.getStatus()); + List resultDTOS = screenProjectDataDao.projectDistribution(formDTO.getAgencyId(),areaIds,formDTO.getLevel()); return new Result().ok(resultDTOS); } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml index 08e88bbeae..6ea4d594d1 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml @@ -27,13 +27,22 @@ and org_id = #{agencyId} + - + + and PROJECT_STATUS_CODE ='pending' + + + and PROJECT_STATUS_CODE ='pending' + + + and PROJECT_STATUS_CODE !='pending' - and PROJECT_STATUS_CODE=#{status} + and PROJECT_STATUS_CODE ='pending' + order by PROJECT_CREATE_TIME desc