From 0946f63b45896acbb7b94ed70182777ee19b2706 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 12 Nov 2021 09:45:08 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ectCategoryGridAndOrgDailyServiceImpl.java | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java index 352ccc9d76..4d531ddc90 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java @@ -65,6 +65,8 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr */ @Override public void extractCategoryProjectGridData(String customerId, String dateId) { + log.info("开始执行网格项目分类统计"); + long start = System.currentTimeMillis(); List relationInfo = relationService.selectSubCustomer(customerId); List customerIds = new ArrayList<>(); customerIds.add(customerId); @@ -81,10 +83,15 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr allList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.TWO); closedList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.TWO); } + log.info("网格-所有项目分类{}",allList); + log.info("网格-所有已关闭项目分类{}",closedList); List finalClosedList = closedList; allList.forEach(a -> finalClosedList.stream().filter(c -> c.getGridId().equals(a.getGridId()) && c.getCategoryCode().equals(a.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); gridDel(customerId,dateId); + log.info("网格-所有项目分类即将插入的集合{}",allList); gridInsert(allList); + long end = System.currentTimeMillis(); + log.info("网格项目分类统计结束,耗时:"+ (end-start/1000) + "s"); } /** @@ -128,6 +135,8 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr */ @Override public void extractCategoryProjectOrgData(String customerId, String dateId) { + log.info("开始执行组织项目分类统计"); + long start = System.currentTimeMillis(); List relationInfo = relationService.selectSubCustomer(customerId); List customerIds = new ArrayList<>(); customerIds.add(customerId); @@ -136,16 +145,22 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr // one customer List agencies = screenCustomerAgencyDao.selectAgencyByCustomer(customerId); List allAgencies = ConvertUtils.sourceToTarget(agencies, GridAndOrgCategoryCountResultDTO.class); + log.info("客户下所有组织{}",allAgencies); result = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); + log.info("组织2级项目{}",result); List oneLevelList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); + log.info("1级组织所有项目{}",oneLevelList); List oneLevelClosedList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); + log.info("组织-1级已结案所有项目{}",oneLevelClosedList); oneLevelList.forEach(a -> oneLevelClosedList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); result.addAll(oneLevelList); List closedList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); + log.info("组织-2级已结案所有项目{}",oneLevelClosedList); result.forEach(r -> closedList.stream().filter(c -> r.getOrgId().equals(c.getOrgId()) && r.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> r.setClosedProjectTotal(c.getClosedProjectTotal()))); }else { // more customers // 去除孔村的客户ID,孔村镇的单独查😡 + log.info("子级客户{}",relationInfo); List subCustomerIds = relationInfo.stream().map(CustomerRelationEntity::getCustomerId).collect(Collectors.toList()); for (int i = NumConstant.ZERO; i < subCustomerIds.size(); i++) { if (subCustomerIds.get(i).equals(PingYinConstant.KONG_CUN_CUSTOMER_ID)){ @@ -154,21 +169,30 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr } } List allAgencies = screenCustomerAgencyDao.selectParentSonAgency(subCustomerIds, PingYinConstant.KONG_CUN_CUSTOMER_ID); + log.info("父子关系所有组织{}",allAgencies); List> partition = ListUtils.partition(allAgencies, NumConstant.FIFTY); List allOrgCategoryList = result; + log.info("开始分批查询数据,每次50"); partition.forEach(p -> { List allOrgList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.TWO, p); + log.info("组织-2级项目分类{}",allOrgList); List oneLevelList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); + log.info("组织-1级所有项目分类{}",oneLevelList); List oneLevelClosedList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); + log.info("组织-1级所有已结案项目分类{}",oneLevelClosedList); oneLevelList.forEach(a -> oneLevelClosedList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); allOrgList.addAll(oneLevelList); List closedOrgList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.TWO, p); + log.info("组织-2级已结案项目分类{}",closedOrgList); allOrgList.forEach(a -> closedOrgList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); allOrgCategoryList.addAll(allOrgList); }); } orgDel(customerId,dateId); + log.info("组织-即将插入的项目分类{}",result); orgInsert(result); + long end = System.currentTimeMillis(); + log.info("组织项目分类统计结束,耗时:"+ (end-start/1000) + "s"); } /** From fee2eb17579600a56b3e4c177c60cb1eabf69835 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 12 Nov 2021 10:15:03 +0800 Subject: [PATCH 02/12] emm --- .../screen/ScreenProjectDataDao.java | 2 +- ...jectCategoryGridAndOrgDailyServiceImpl.java | 14 ++++++++++---- .../screen/ScreenProjectDataDao.xml | 18 ++++++------------ 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java index e402f3268f..26aa8892d9 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectDataDao.java @@ -80,7 +80,7 @@ public interface ScreenProjectDataDao extends BaseDao { * @author zxc * @date 2021/11/10 3:12 下午 */ - List selectGridCategoryProjectCount(@Param("customerIds") List customerIds,@Param("dateId") String dateId, + List selectGridCategoryProjectCount(@Param("dateId") String dateId,@Param("parentCustomerId") String parentCustomerId, @Param("status")String status,@Param("customerId") String customerId, @Param("subCount")Integer subCount); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java index 4d531ddc90..ebb9099071 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java @@ -74,14 +74,20 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr List closedList = new ArrayList<>(); if (CollectionUtils.isEmpty(relationInfo)){ // 单客户 - allList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.FOUR); - closedList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.FOUR); + allList = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.FOUR); + closedList = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.FOUR); }else { // 多客户 List subCustomerIds = relationInfo.stream().map(CustomerRelationEntity::getCustomerId).collect(Collectors.toList()); customerIds.addAll(subCustomerIds); - allList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_ALL,customerId, NumConstant.TWO); - closedList = screenProjectDataDao.selectGridCategoryProjectCount(customerIds, dateId, ProjectConstant.PROJECT_STATUS_CLOSED,customerId, NumConstant.TWO); + List finalAllList = allList; + List finalClosedList1 = closedList; + customerIds.forEach(c -> { + List all = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_ALL, c, NumConstant.TWO); + finalAllList.addAll(all); + List closed = screenProjectDataDao.selectGridCategoryProjectCount(dateId, customerId, ProjectConstant.PROJECT_STATUS_CLOSED, c, NumConstant.TWO); + finalClosedList1.addAll(closed); + }); } log.info("网格-所有项目分类{}",allList); log.info("网格-所有已关闭项目分类{}",closedList); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml index 775ee259cb..8304142172 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml @@ -274,7 +274,7 @@ From 375503b885d2651dcd3df92a0ba22f19ca8b0671 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 12 Nov 2021 15:36:49 +0800 Subject: [PATCH 08/12] not null --- .../evaluationindex/screen/ScreenProjectDataDao.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml index 8304142172..a15debd1c6 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectDataDao.xml @@ -287,7 +287,7 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - inner JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + inner JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' AND pd.CUSTOMER_ID =#{customerId} AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} @@ -313,7 +313,7 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - INNER JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + INNER JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' AND pd.CUSTOMER_ID = #{customerId} AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} @@ -344,7 +344,7 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - inner JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + inner JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' AND pc.level = 2 AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} @@ -375,7 +375,7 @@ COUNT(DISTINCT pc.PROJECT_ID) AS projectTotal FROM screen_project_data pd - INNER JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0') + INNER JOIN screen_project_category pc ON (pc.PROJECT_ID = pd.PROJECT_ID AND pc.DEL_FLAG = '0' AND pc.CATEGORY_CODE IS NOT NULL) WHERE pd.DEL_FLAG = '0' AND DATE_FORMAT(pd.PROJECT_CREATE_TIME,'%Y%m%d') #{dateId} AND ALL_PARENT_IDS LIKE CONCAT('%',#{a.orgId},'%') From 96c734490c1753000b2106819367f975f96263eb Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 12 Nov 2021 15:43:46 +0800 Subject: [PATCH 09/12] shijian --- .../impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java index 93343327bd..5e82efba75 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java @@ -97,7 +97,7 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr log.info("网格-所有项目分类即将插入的集合{}",allList); gridInsert(allList); long end = System.currentTimeMillis(); - log.info("网格项目分类统计结束,耗时:"+ (end-start/1000) + "s"); + log.info("网格项目分类统计结束,耗时:"+ (end-start)/1000 + "s"); } /** @@ -205,7 +205,7 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr log.info("组织-即将插入的项目分类{}",result); orgInsert(result); long end = System.currentTimeMillis(); - log.info("组织项目分类统计结束,耗时:"+ (end-start/1000) + "s"); + log.info("组织项目分类统计结束,耗时:"+ (end-start)/1000 + "s"); } /** From d8f0da1bc9ce78c1b1066cb924e9ec70d1601c20 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 12 Nov 2021 16:17:11 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapper/screen/ScreenProjectDataDao.xml | 47 ++++++++++--------- 1 file changed, 24 insertions(+), 23 deletions(-) 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 8ca09bf5cb..370f73fdf8 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 @@ -162,28 +162,29 @@ From 885ec69e204aad2b65ffef82b782ed3cc7d80e16 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 12 Nov 2021 16:32:49 +0800 Subject: [PATCH 11/12] =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=B2=BE=E7=AE=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...jectCategoryGridAndOrgDailyServiceImpl.java | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java index 5e82efba75..b1eb748aef 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryGridAndOrgDailyServiceImpl.java @@ -89,12 +89,10 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr finalClosedList1.addAll(closed); }); } - log.info("网格-所有项目分类{}",allList); - log.info("网格-所有已关闭项目分类{}",closedList); List finalClosedList = closedList; allList.forEach(a -> finalClosedList.stream().filter(c -> c.getGridId().equals(a.getGridId()) && c.getCategoryCode().equals(a.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); gridDel(customerId,dateId); - log.info("网格-所有项目分类即将插入的集合{}",allList); + log.info("网格-所有项目分类即将插入的集合{}",JSON.toJSONString(allList)); gridInsert(allList); long end = System.currentTimeMillis(); log.info("网格项目分类统计结束,耗时:"+ (end-start)/1000 + "s"); @@ -151,26 +149,20 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr // one customer List agencies = screenCustomerAgencyDao.selectAgencyByCustomer(customerId); List allAgencies = ConvertUtils.sourceToTarget(agencies, GridAndOrgCategoryCountResultDTO.class); - log.info("客户下所有组织{}",allAgencies); result = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); - log.info("组织2级项目{}",result); List closedList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); - log.info("组织-2级已结案所有项目{}",closedList); result.forEach(r -> closedList.stream().filter(c -> r.getOrgId().equals(c.getOrgId()) && r.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> r.setClosedProjectTotal(c.getClosedProjectTotal()))); List oneLevelList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.FOUR, allAgencies); - log.info("1级组织所有项目{}",oneLevelList); List oneLevelClosedList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.FOUR, allAgencies); - log.info("组织-1级已结案所有项目{}",oneLevelClosedList); oneLevelList.forEach(a -> oneLevelClosedList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); result.addAll(oneLevelList); }else { // more customers // 去除孔村的客户ID,孔村镇的单独查😡 - log.info("子级客户{}",relationInfo); List subCustomerIds = relationInfo.stream().map(CustomerRelationEntity::getCustomerId).collect(Collectors.toList()); for (int i = NumConstant.ZERO; i < subCustomerIds.size(); i++) { if (subCustomerIds.get(i).equals(PingYinConstant.KONG_CUN_CUSTOMER_ID)){ @@ -180,21 +172,15 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr } subCustomerIds.add(customerId); List allAgencies = screenCustomerAgencyDao.selectParentSonAgency(subCustomerIds, PingYinConstant.KONG_CUN_CUSTOMER_ID); - log.info("父子关系所有组织{}",allAgencies); List> partition = ListUtils.partition(allAgencies, NumConstant.FIFTY); List allOrgCategoryList = result; - log.info("开始分批查询数据,每次50"); partition.forEach(p -> { List allOrgList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.TWO, p); - log.info("组织-2级项目分类{}",allOrgList); List closedOrgList = screenProjectDataDao.selectOrgCategoryProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.TWO, p); - log.info("组织-2级已结案项目分类{}",closedOrgList); allOrgList.forEach(a -> closedOrgList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); List oneLevelList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_ALL, customerId, NumConstant.TWO, p); - log.info("组织-1级所有项目分类{}",oneLevelList); List oneLevelClosedList = screenProjectDataDao.selectOrgCategoryOneLevelProjectCount(dateId, ProjectConstant.PROJECT_STATUS_CLOSED, customerId, NumConstant.TWO, p); - log.info("组织-1级所有已结案项目分类{}",oneLevelClosedList); oneLevelList.forEach(a -> oneLevelClosedList.stream().filter(c -> a.getOrgId().equals(c.getOrgId()) && a.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> a.setClosedProjectTotal(c.getClosedProjectTotal()))); allOrgList.addAll(oneLevelList); @@ -202,7 +188,7 @@ public class ScreenProjectCategoryGridAndOrgDailyServiceImpl implements ScreenPr }); } orgDel(customerId,dateId); - log.info("组织-即将插入的项目分类{}",result); + log.info("组织-即将插入的项目分类{}",JSON.toJSONString(result)); orgInsert(result); long end = System.currentTimeMillis(); log.info("组织项目分类统计结束,耗时:"+ (end-start)/1000 + "s"); From 609055d2e9a01dc58782879e439e25e5cc8f3955 Mon Sep 17 00:00:00 2001 From: jianjun Date: Fri, 12 Nov 2021 16:34:41 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E7=BB=93=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/redis/RedisKeys.java | 10 ++++++++++ .../java/com/epmet/controller/DemoController.java | 14 ++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 388927ce5a..2ac7d19f96 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -12,6 +12,7 @@ import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.utils.DateUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.ss.formula.functions.T; /** * @author Mark sunlightcs@gmail.com @@ -559,4 +560,13 @@ public class RedisKeys { public static String blockedMqMsgKey(String blockedMsgLabel) { return rootPrefix.concat("message:mq:blocked:").concat(blockedMsgLabel); } + + /** + * desc:获取执行完毕的 业务 参数结果key + * @param bizMethod + * @return + */ + public static String getBackDoorbizExcuteResult(String bizMethod) { + return rootPrefix.concat("backdoor:").concat(bizMethod); + } } 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 98cfbaf838..e47ce1845e 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 @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.exception.RenException; +import com.epmet.commons.tools.redis.RedisKeys; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; @@ -60,9 +62,7 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -73,7 +73,8 @@ import java.util.concurrent.Future; public class DemoController { @Autowired private StatsDemoService demoService; - + @Autowired + private RedisUtils redisUtils; @Autowired private ExecutorService executorService; @@ -1084,16 +1085,21 @@ public class DemoController { @RequestParam(name = "startDate",required = false)String startDate, @RequestParam(name = "endDate",required = false)String endDate ){ + long start = System.currentTimeMillis(); + Set result = new LinkedHashSet<>(); if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)){ List daysBetween = DateUtils.getDaysBetween(startDate, endDate); daysBetween.forEach(d -> { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,d); screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,d); + result.add(d); + redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L); }); }else { screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectGridData(customerId,dateId); screenProjectCategoryGridAndOrgDailyService.extractCategoryProjectOrgData(customerId,dateId); + redisUtils.hSet(RedisKeys.getBackDoorbizExcuteResult("gridandorgdailynew"),customerId,result,3*24*60*60L); } long end = System.currentTimeMillis(); long l = (end - start) / 1000;