From 202d22e67ac0b9b1a2bcbaa21c9836cd2125c51b Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Thu, 19 Aug 2021 09:57:19 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E5=88=86=E7=B1=BB?=
=?UTF-8?q?=E7=BB=9F=E8=AE=A1org-day=E5=8D=95=E5=AE=A2=E6=88=B7=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java | 5 +++++
.../epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java | 5 +++++
.../epmet/dto/screen/result/CategoryProjectResultDTO.java | 5 +++++
.../screen/ScreenProjectCategoryOrgDailyEntity.java | 5 +++++
.../extract/FactOriginProjectCategoryDailyDao.xml | 1 +
.../screen/ScreenProjectCategoryGridDailyDao.xml | 1 +
.../screen/ScreenProjectCategoryOrgDailyDao.xml | 1 +
7 files changed, 23 insertions(+)
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 b80df7b7ff..cd31f554bb 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
@@ -43,6 +43,11 @@ public class ScreenProjectCategoryGridDailyDTO implements Serializable {
*/
private String customerId;
+ /**
+ * 分类来源客户ID
+ */
+ private String categoryOriginCustomerId;
+
/**
* 日期yyyyMMdd
*/
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java
index 117db2716c..368d95f6a2 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryOrgDailyDTO.java
@@ -43,6 +43,11 @@ public class ScreenProjectCategoryOrgDailyDTO implements Serializable {
*/
private String customerId;
+ /**
+ * 分类来源客户ID
+ */
+ private String categoryOriginCustomerId;
+
/**
* 日期yyyyMMdd
*/
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java
index 2ed95c1a35..48af51b5ef 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java
@@ -27,6 +27,11 @@ public class CategoryProjectResultDTO implements Serializable {
*/
private String customerId;
+ /**
+ * 分类来源客户ID
+ */
+ private String categoryOriginCustomerId;
+
/**
* 分类码
*/
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java
index 5591e797cd..bdfba9bbc6 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java
@@ -42,6 +42,11 @@ public class ScreenProjectCategoryOrgDailyEntity extends BaseEpmetEntity {
*/
private String customerId;
+ /**
+ * 分类来源客户ID
+ */
+ private String categoryOriginCustomerId;
+
/**
* 日期yyyyMMdd
*/
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 1ed0c4d8c2..2a466396bd 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
@@ -69,6 +69,7 @@
+
+
+
\ No newline at end of file
From c3059f9c443678ece1d43c1feb5db548590db9f4 Mon Sep 17 00:00:00 2001
From: zxc <1272811460@qq.com>
Date: Thu, 19 Aug 2021 13:47:24 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E5=A4=9A=E5=AE=A2=E6=88=B7=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...eenProjectCategoryOrgDailyServiceImpl.java | 24 ++++++++++++-------
.../V0.0.24__add_categoryOriginCustomerId.sql | 1 +
.../ScreenProjectCategoryOrgDailyDao.xml | 8 ++++++-
3 files changed, 24 insertions(+), 9 deletions(-)
create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql
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 2c0f82343b..4a1ae47b8b 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
@@ -401,12 +401,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl customerIds = relationInfo.stream().map(m -> m.getCustomerId()).collect(Collectors.toList());
// 父客户存在的分类
List categoryProjectExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId, true);
- // 父客户不存在的分类
- List categoryProjectNotExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId, false);
- // 外部客户所有分类 = 父客户存在的分类 + 父客户不存在的分类
- List sonResult = baseDao.selectOrgCategoryMoreCustomerInfoPlus(customerIds, dateId, level, customerId);
- categoryProjectResultDTOS.addAll(sonResult);
- // 此时的 'categoryProjectResultDTOS' 等于 父子客户所有的分类标签
+ // 内部客户进行分组
Map> groupByCategoryCode = categoryProjectResultDTOS.stream().collect(Collectors.groupingBy(CategoryProjectResultDTO::getCategoryCode));
// 这时的result集合要清空,因为被上边使用 【result = ConvertUtils.sourceToTarget(categoryProjectResultDTOS,ScreenProjectCategoryOrgDailyEntity.class);】
result.clear();
@@ -414,6 +409,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl {
ScreenProjectCategoryOrgDailyEntity e = new ScreenProjectCategoryOrgDailyEntity();
e.setCustomerId(customerId);
+ e.setCategoryOriginCustomerId(customerId);
e.setCategoryCode(code);
e.setOrgId(entity.getAgencyId());
e.setProjectTotal(CollectionUtils.isEmpty(list) ? NumConstant.ZERO : list.stream().collect(Collectors.summingInt(CategoryProjectResultDTO::getProjectTotal)));
@@ -423,8 +419,20 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl entities = ConvertUtils.sourceToTarget(sonResult, ScreenProjectCategoryOrgDailyEntity.class);
+ // 内部客户与外部客户 相同的分类累加
+ if (!CollectionUtils.isEmpty(categoryProjectExists)){
+ finalResult.forEach(f -> {
+ categoryProjectExists.forEach(c -> {
+ if (f.getCategoryCode().equals(c.getCategoryCode())){
+ f.setProjectTotal(f.getProjectTotal() + c.getProjectTotal());
+ }
+ });
+ });
+ }
+ // 父客户不存在的分类
+ List categoryProjectNotExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId, false);
+ if (!CollectionUtils.isEmpty(categoryProjectNotExists)){
+ List entities = ConvertUtils.sourceToTarget(categoryProjectNotExists, ScreenProjectCategoryOrgDailyEntity.class);
result.addAll(entities);
}
// 添加此 锦水、孔村、榆山 orgId,删除时使用
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql
new file mode 100644
index 0000000000..0997b46828
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.24__add_categoryOriginCustomerId.sql
@@ -0,0 +1 @@
+alter table `epmet_evaluation_index`.screen_project_category_org_daily add COLUMN `CATEGORY_ORIGIN_CUSTOMER_ID` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '分类来源客户ID' AFTER CUSTOMER_ID;
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml
index aef217b483..372f6c0e6b 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml
@@ -51,8 +51,14 @@
IFNULL(sca.PID,'0') AS pid,
IFNULL(sca.PIDS,'0') AS pids,
#{customerId} as customerId,
+ od.CATEGORY_ORIGIN_CUSTOMER_ID AS categoryOriginCustomerId,
od.level,
- od.CATEGORY_CODE,
+
+ cd.EPMET_CATEGORY_CODE AS categoryCode,
+
+
+ od.CATEGORY_CODE AS categoryCode,
+
SUM(od.PROJECT_TOTAL) AS projectTotal,
#{level} as orgType,
od.DATE_ID