From f9ac6488493f2f01c1295d63a80fb2ab8de89854 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 19 Mar 2022 12:35:40 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=A0=91=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=B4=E6=97=B6=E7=BC=93=E5=AD=98=20=E8=A6=81?= =?UTF-8?q?=E4=B8=8D=E7=84=B6=E5=89=8D=E7=AB=AF=E5=AE=B9=E6=98=93=E6=8C=82?= =?UTF-8?q?=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataaggre/service/govorg/impl/GovOrgServiceImpl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 e943dd5894..94cb0edb83 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 @@ -594,12 +594,12 @@ public class GovOrgServiceImpl implements GovOrgService { if (staffInfo == null || StringUtils.isBlank(staffInfo.getAgencyId())){ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"工作人员所属组织不存在"); } + String agencyId = staffInfo.getAgencyId(); + String client = formDTO.getClient(); //组织缓存key - String treeCacheKey = RedisKeys.getOrgTreeCacheKey(formDTO.getAgencyId()).concat(StrConstant.COLON).concat(formDTO.getClient()); + String treeCacheKey = RedisKeys.getOrgTreeCacheKey(agencyId).concat(StrConstant.COLON).concat(client); Long expiryTime = redisUtils.getTTL(treeCacheKey); List orgTreeResultDTOS = (List) redisUtils.get(treeCacheKey); - String agencyId = staffInfo.getAgencyId(); - String client = formDTO.getClient(); //如果接近过期或已经过期且缓存数据不为空 则异步查询 if ((expiryTime == null || expiryTime <= NumConstant.ONE_THOUSAND) && CollectionUtils.isNotEmpty(orgTreeResultDTOS)) { executorService.submit(() -> { From f08678d3f1213301aa45e49d130d963b87c61e8c Mon Sep 17 00:00:00 2001 From: jianjun Date: Sat, 19 Mar 2022 12:52:08 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=A0=91=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E4=B8=B4=E6=97=B6=E7=BC=93=E5=AD=98=20=E8=A6=81?= =?UTF-8?q?=E4=B8=8D=E7=84=B6=E5=89=8D=E7=AB=AF=E5=AE=B9=E6=98=93=E6=8C=82?= =?UTF-8?q?=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 94cb0edb83..b10b6648fc 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 @@ -606,7 +606,7 @@ public class GovOrgServiceImpl implements GovOrgService { List list = buildTempOrgTree(agencyId, client); redisUtils.set(treeCacheKey, list, RedisUtils.HOUR_FOUR_EXPIRE); }); - } else { + } else if (CollectionUtils.isEmpty(orgTreeResultDTOS)){ orgTreeResultDTOS = buildTempOrgTree(staffInfo.getAgencyId(), formDTO.getClient()); redisUtils.set(treeCacheKey, orgTreeResultDTOS, RedisUtils.HOUR_FOUR_EXPIRE); } From ecaecdf67de6c998122f96cb3c04a3e8d0539288 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Mon, 21 Mar 2022 17:34:29 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E6=B2=BB=E7=90=86=E6=8C=87=E6=95=B0?= =?UTF-8?q?=E5=8A=9E=E7=BB=93=E6=95=88=E7=8E=87=E5=92=8C=E5=93=8D=E5=BA=94?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/FactOriginProjectLogDailyDao.java | 2 +- .../impl/IndexCollCommunityServiceImpl.java | 2 +- .../impl/IndexCollDistrictServiceImpl.java | 2 +- .../impl/IndexCollStreetServiceImpl.java | 2 +- .../FactOriginProjectLogDailyService.java | 2 +- .../FactOriginProjectLogDailyServiceImpl.java | 44 +++------------ .../extract/FactOriginProjectLogDailyDao.xml | 53 +++++++++++++------ .../FactOriginProjectOrgPeriodDailyDao.xml | 17 ++++-- 8 files changed, 61 insertions(+), 63 deletions(-) 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 15aee4e27c..c4f2055050 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 @@ -171,7 +171,7 @@ public interface FactOriginProjectLogDailyDao extends BaseDao selectProjectIdHandledByAgency(@Param("customerId") String customerId, @Param("dimId") String dimId); + List selectProjectIdHandledByAgency(@Param("customerId") String customerId, @Param("level") String level, @Param("dimId") String dimId); /** * @param projectIds diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java index 13a3103e83..54f9d45421 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java @@ -141,7 +141,7 @@ public class IndexCollCommunityServiceImpl implements IndexCollCommunityService //办结率 Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies, customerId, dimId.getMonthId()); //处理效率 - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, dimId.getMonthId()); + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, OrgTypeConstant.COMMUNITY, dimId.getMonthId()); list.forEach(entity -> { //办结数 entity.setClosedProjectCount(Optional.ofNullable(agencyHandleCount.get(entity.getAgencyId())).orElse(NumConstant.ZERO)); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java index 494f8f51c1..1b5a724ded 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java @@ -134,7 +134,7 @@ public class IndexCollDistrictServiceImpl implements IndexCollDistrictService { //办结率 Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies, customerId, dimId.getMonthId()); //处理效率 - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, dimId.getMonthId()); + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, OrgTypeConstant.DISTRICT, dimId.getMonthId()); list.forEach(entity -> { //办结数 entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null ? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java index 4d21057556..90ce11c239 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java @@ -132,7 +132,7 @@ public class IndexCollStreetServiceImpl implements IndexCollStreetService { //办结率 Map handlingRatioMap = factOriginProjectLogDailyService.getHandlingRatio(agencies, customerId, dimId.getMonthId()); //处理效率 - Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, dimId.getMonthId()); + Map efficiencyMap = factOriginProjectLogDailyService.getAgencyWorkPieceRatio(customerId, OrgTypeConstant.STREET, dimId.getMonthId()); list.forEach(entity -> { //办结数 entity.setClosedProjectCount(agencyHandleCount.get(entity.getAgencyId()) == null ? NumConstant.ZERO : agencyHandleCount.get(entity.getAgencyId())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java index 0dca827c0a..b1ac2c8557 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectLogDailyService.java @@ -195,7 +195,7 @@ public interface FactOriginProjectLogDailyService extends BaseService getAgencyWorkPieceRatio(String customerId, String dimId); + Map getAgencyWorkPieceRatio(String customerId, String level, String dimId); /** * 网格项目响应度 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 5efb3cd2fc..7dc8bac0be 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 @@ -230,50 +230,18 @@ public class FactOriginProjectLogDailyServiceImpl extends BaseServiceImpl getAgencyWorkPieceRatio(String customerId, String dimId) { + public Map getAgencyWorkPieceRatio(String customerId, String level, String dimId) { //计算方法 : 评价周期内办结项目的平均处理时长的倒数 - - //1.评价周期内结案了的项目 - List projectsHandledByAgency = baseDao.selectProjectIdHandledByAgency(customerId, dimId); + //评价周期内每个机关结案了的项目耗时和项目数 + List projectsHandledByAgency = baseDao.selectProjectIdHandledByAgency(customerId, level, dimId); Map efficiencyMap = new HashMap<>(); - List projects = new LinkedList<>(); if (!CollectionUtils.isEmpty(projectsHandledByAgency)) { - Map> agencyProjectsMap = new HashMap<>(); - projectsHandledByAgency.forEach(o -> { String agencyId = o.getAgencyId(); - String projectId = o.getProjectId(); - if(CollectionUtils.isEmpty(agencyProjectsMap.get(agencyId))){ - List projectUnit = new LinkedList<>(); - projectUnit.add(projectId); - agencyProjectsMap.put(agencyId,projectUnit); - }else{ - agencyProjectsMap.get(agencyId).add(projectId); - } - projects.add(projectId); - }); - - //2.结案项目的总耗时 - List costTimes = baseDao.selectProjectCostTime(projects); - - Map projectCostTime = costTimes.stream().collect(Collectors.toMap(ProjectParticipatedAgencyResultDTO::getProjectId,ProjectParticipatedAgencyResultDTO::getCount)); - agencyProjectsMap.forEach((k,v) -> { - //k -> agencyId v -> projects - int total = NumConstant.ZERO; - if(!CollectionUtils.isEmpty(v)){ - for(String p : v){ - Integer cost = projectCostTime.get(p); - total = total + (null == cost ? NumConstant.ZERO : cost); - } - //每个机关的项目平均耗时 - BigDecimal avgCost = new BigDecimal(total).divide(new BigDecimal(v.size()),4, BigDecimal.ROUND_HALF_UP); - - //efficiencyMap.put(k,BigDecimal.ONE.divide(avgCost,4, BigDecimal.ROUND_HALF_UP)); - efficiencyMap.put(k, null == avgCost ? BigDecimal.ZERO : avgCost.setScale(6, BigDecimal.ROUND_HALF_UP)); - }else{ - efficiencyMap.put(k,BigDecimal.ZERO); - } + //每个机关的项目平均耗时 + BigDecimal avgCost = new BigDecimal(o.getSum()).divide(new BigDecimal(o.getCount()),6, RoundingMode.HALF_UP); + efficiencyMap.put(agencyId, avgCost); }); } 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 36c72e368b..83158a9711 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 @@ -291,24 +291,45 @@ ORG_ID - SELECT - ID AS projectId, - SUBSTRING_INDEX(FINISH_ORG_IDS,':',1) AS agencyId - FROM - fact_origin_project_main_daily - WHERE - DEL_FLAG = '0' - AND ID IN ( - - SELECT DISTINCT PROJECT_ID FROM fact_origin_project_log_daily - WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId} - AND ACTION_CODE = 'close' - + agencyId, + COUNT(projectId) AS count, + SUM(total) AS sum + FROM + ( + SELECT + a.ID AS projectId, + b.ID AS agencyId, + IF( + TIMESTAMPDIFF( DAY, DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ), DATE_FORMAT( c.DATE_ID, '%Y-%m-%d' ) ) = 0, + 1, + TIMESTAMPDIFF( DAY, DATE_FORMAT( a.DATE_ID, '%Y-%m-%d' ), DATE_FORMAT( c.DATE_ID, '%Y-%m-%d' ) ) + ) * 8 * 60 AS total + FROM + fact_origin_project_main_daily a + INNER JOIN dim_agency b ON a.PIDS LIKE CONCAT( '%', b.ID, '%' ) + AND b.AGENCY_DIM_TYPE = 'all' + AND b.DEL_FLAG = '0' + AND b.`LEVEL` = #{level} + INNER JOIN ( + SELECT DISTINCT + DATE_ID, + PROJECT_ID + FROM fact_origin_project_log_daily + WHERE DEL_FLAG = '0' + AND ACTION_CODE = 'close' + AND IS_ACTIVE = '1' + AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{dimId} - - ) - ORDER BY agencyId + ) c ON a.ID = c.PROJECT_ID + WHERE + a.DEL_FLAG = '0' + AND a.CUSTOMER_ID = #{customerId} + AND a.PROJECT_STATUS = 'closed' + ) t + GROUP BY + agencyId SELECT f.CUSTOMER_ID, - f.ORG_ID AS "agencyId", + + da.ID AS "agencyId", + f.ORG_ID AS "agencyId", + SUM( TIMESTAMPDIFF( MINUTE, ( DATE_FORMAT( f.INFORMED_DATE, '%Y-%m-%d %H:%i' )), ( DATE_FORMAT( f.PERIOD_TILL_REPLY_FIRSTLY, '%Y-%m-%d %H:%i' )) ) ) AS "sum", COUNT(DISTINCT f.PROJECT_ID) AS "count" FROM fact_origin_project_org_period_daily f - INNER JOIN dim_agency da ON f.ORG_ID = da.ID + INNER JOIN dim_agency da ON (f.PIDS LIKE CONCAT( '%', da.ID, '%' ) OR f.ORG_ID = da.ID) AND da.`LEVEL` = #{level} WHERE - f.ORG_TYPE = #{orgType} + f.DEL_FLAG = '0' + + AND f.ORG_TYPE = #{orgType} + AND DATE_FORMAT(INFORMED_DATE, '%Y%m') = #{monthId} AND PERIOD_TILL_REPLY_FIRSTLY IS NOT NULL AND f.CUSTOMER_ID = #{customerId} GROUP BY f.CUSTOMER_ID, - f.ORG_ID + + da.ID + f.ORG_ID + From 16cab43752365102085c822e816b71df1b9e2d08 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 23 Mar 2022 14:59:02 +0800 Subject: [PATCH 4/7] =?UTF-8?q?/gov/org/agency/editagency=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=BB=84=E7=BB=87=E4=BF=A1=E6=81=AFbugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/dto/form/EditAgencyFormDTO.java | 4 +++- .../src/main/java/com/epmet/controller/AgencyController.java | 1 + .../main/java/com/epmet/service/impl/AgencyServiceImpl.java | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) 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 7473027fde..57e535ad25 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 @@ -75,7 +75,7 @@ public class EditAgencyFormDTO implements Serializable { /** * open: 选择地区编码必填;closed: 无需选择地区编码;0409新增返参 */ - @NotBlank(message = "areaCodeSwitch不能为空", groups = AddUserInternalGroup.class) + // @NotBlank(message = "areaCodeSwitch不能为空", groups = AddUserInternalGroup.class) private String areaCodeSwitch; /** @@ -108,4 +108,6 @@ public class EditAgencyFormDTO implements Serializable { * 中心点位位置 */ private String centerAddress; + + private String customerId; } \ 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 363f7b7297..6ede7c8216 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 @@ -150,6 +150,7 @@ public class AgencyController { @RequirePermission(requirePermission = RequirePermissionEnum.ORG_AGENCY_UPDATE) public Result editAgency(@LoginUser TokenDto tokenDTO, @RequestBody EditAgencyFormDTO formDTO) { formDTO.setUserId(tokenDTO.getUserId()); + formDTO.setCustomerId(tokenDTO.getCustomerId()); ValidatorUtils.validateEntity(formDTO, EditAgencyFormDTO.DefaultUserShowGroup.class, EditAgencyFormDTO.AddUserInternalGroup.class); Result result = 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 c20fd83965..5ca472eff8 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,6 +165,8 @@ public class AgencyServiceImpl implements AgencyService { originalEntity.setLongitude(formDTO.getLongitude()); } originalEntity.setCenterAddress(formDTO.getCenterAddress()); + //平阴的工作端小程序与产品入参有差距,接口兼容,这个参数不让前端传了... + formDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(formDTO.getCustomerId())); //当前客户开启了area_code_switch参数:open: 选择地区编码必填;closed: 无需选择地区编码 if (CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN.equals(formDTO.getAreaCodeSwitch())) { CustomerAgencyEntity parent = customerAgencyDao.selectById(originalEntity.getPid()); From 3a0cf66e6339e20a1419316aaa9f8ebc7ee026e6 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 23 Mar 2022 15:21:27 +0800 Subject: [PATCH 5/7] =?UTF-8?q?/gov/org/agency/editagency=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=BB=84=E7=BB=87=E4=BF=A1=E6=81=AFbugfix2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/AgencyServiceImpl.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 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 5ca472eff8..ee711fae0c 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,7 +165,7 @@ public class AgencyServiceImpl implements AgencyService { originalEntity.setLongitude(formDTO.getLongitude()); } originalEntity.setCenterAddress(formDTO.getCenterAddress()); - //平阴的工作端小程序与产品入参有差距,接口兼容,这个参数不让前端传了... + //平阴的工作端小程序与产品入参有差距,为了接口兼容,这个参数不让前端传了... formDTO.setAreaCodeSwitch(customerOrgParameterService.getAreaCodeSwitch(formDTO.getCustomerId())); //当前客户开启了area_code_switch参数:open: 选择地区编码必填;closed: 无需选择地区编码 if (CustomerAgencyConstant.AREA_CODE_SWITCH_OPEN.equals(formDTO.getAreaCodeSwitch())) { @@ -184,7 +184,7 @@ public class AgencyServiceImpl implements AgencyService { } //什么时候要全部置为空呢?原来没有现在有 || 原来与现在不一致 if ((StringUtils.isBlank(originalAreaCode) && StringUtils.isNotBlank(formDTO.getAreaCode())) - || (!formDTO.getAreaCode().equals(originalAreaCode))) { + || (StringUtils.isNotBlank(formDTO.getAreaCode()) && !formDTO.getAreaCode().equals(originalAreaCode))) { updateSubOrg(originalEntity.getCustomerId(), formDTO, originalAreaCode); } } @@ -319,12 +319,13 @@ public class AgencyServiceImpl implements AgencyService { private void checkEditAgencyFormDTO(EditAgencyFormDTO formDTO,CustomerAgencyEntity originalEntity) { //根组织不允许修改 if (StringUtils.isNotBlank(originalEntity.getPid()) && !NumConstant.ZERO_STR.equals(originalEntity.getPid())) { - if (StringUtils.isBlank(formDTO.getAreaCode())) { + //03.23:平阴线上版本与产品主线版本差距太大,平阴的修改组织只能修改组织名称。 + /*if (StringUtils.isBlank(formDTO.getAreaCode())) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "area_code_switch is open areaCode不能为空", "组织区划不能为空"); } if (StringUtils.isBlank(formDTO.getParentAreaCode())) { throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "area_code_switch is open parentAreaCode不能为空", "请先设置上级组织的组织区划"); - } + }*/ //如果当前组织已经使用了自定义编码,不允许在选择其他。 if (StringUtils.isNotBlank(originalEntity.getAreaCode()) && originalEntity.getAreaCode().contains("UD") From 2bffec01ec5e2ad72e119c14fbc06f6f5a5a05a0 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 23 Mar 2022 17:59:42 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=88=BF=E9=97=B4?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/controller/HouseController.java | 21 +++++-------------- .../epmet/service/impl/HouseServiceImpl.java | 20 +++--------------- 2 files changed, 8 insertions(+), 33 deletions(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java index acdd00b556..ab86eb425b 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/controller/HouseController.java @@ -19,9 +19,6 @@ package com.epmet.controller; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.ExcelReader; -import com.alibaba.excel.read.metadata.ReadSheet; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; @@ -32,40 +29,32 @@ import com.epmet.commons.tools.feign.ResultDataResolver; 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.constant.ImportErrorMsgConstants; import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcBuildingDao; import com.epmet.dto.form.*; -import com.epmet.dto.result.*; +import com.epmet.dto.result.HouseInfoDTO; +import com.epmet.dto.result.IcNeighborHoodResultDTO; +import com.epmet.dto.result.ImportTaskCommonResultDTO; +import com.epmet.dto.result.LoginUserDetailsResultDTO; import com.epmet.excel.IcHouseExcel; import com.epmet.feign.EpmetCommonServiceOpenFeignClient; import com.epmet.feign.EpmetUserOpenFeignClient; -import com.epmet.feign.GovOrgOpenFeignClient; -import com.epmet.model.HouseInfoModel; -import com.epmet.model.ImportHouseInfoListener; import com.epmet.redis.IcHouseRedis; import com.epmet.service.HouseService; import com.epmet.service.IcHouseService; -import com.epmet.service.IcNeighborHoodService; import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.apache.tomcat.util.http.MimeHeaders; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.lang.reflect.Field; import java.util.*; -import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; @@ -283,7 +272,7 @@ public class HouseController implements ResultDataResolver { input.setTaskId(importTask.getData().getTaskId()); input.setProcessStatus(ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); epmetCommonServiceOpenFeignClient.finishImportTask(input); - log.error("读取文件失败"); + log.error("读取文件失败",e); } houseService.dispose(inputStream,formDTO,importTask); return new Result<>(); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index 0ec7984b85..36ace6672d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -1,14 +1,12 @@ package com.epmet.service.impl; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; -import cn.hutool.core.bean.BeanUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.read.metadata.ReadSheet; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; @@ -18,9 +16,8 @@ import com.epmet.commons.tools.feign.ResultDataResolver; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.Result; -import com.epmet.constants.ImportTaskConstants; -import com.epmet.commons.tools.utils.Result; import com.epmet.constant.CustomerGridConstant; +import com.epmet.constants.ImportTaskConstants; import com.epmet.dao.IcBuildingDao; import com.epmet.dao.IcBuildingUnitDao; import com.epmet.dao.IcHouseDao; @@ -29,11 +26,7 @@ import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.IcBuildingDTO; import com.epmet.dto.IcBuildingUnitDTO; import com.epmet.dto.IcHouseDTO; -import com.epmet.dto.form.IcHouseFormDTO; -import com.epmet.dto.form.ImportInfoFormDTO; -import com.epmet.dto.form.ImportTaskCommonFormDTO; -import com.epmet.dto.form.ListIcNeighborHoodFormDTO; -import com.epmet.dto.form.NeighborHoodManageDelFormDTO; +import com.epmet.dto.form.*; import com.epmet.dto.result.HouseInfoDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.dto.result.ImportTaskCommonResultDTO; @@ -49,25 +42,17 @@ import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.model.HouseInfoModel; import com.epmet.model.ImportHouseInfoListener; import com.epmet.redis.IcHouseRedis; -import com.epmet.service.HouseService; -import com.epmet.service.IcBuildingService; -import com.epmet.service.IcBuildingUnitService; -import com.epmet.service.IcHouseService; import com.epmet.service.*; import com.epmet.util.ExcelPoiUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; -import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.IOException; import java.io.InputStream; import java.util.*; import java.util.concurrent.ExecutorService; @@ -376,6 +361,7 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { .build(); excelReader.read(readSheet); } catch (Exception e){ + log.error("dispose exception",e); ImportTaskCommonFormDTO input = new ImportTaskCommonFormDTO(); input.setOperatorId(formDTO.getUserId()); input.setTaskId(importTask.getData().getTaskId()); From e16c68732b54bffc0b8fe3414882dc8c540dc2fa Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 24 Mar 2022 12:11:38 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E6=8A=A5=E4=BA=8B=E4=BA=BA=E5=A4=A7?= =?UTF-8?q?=E4=BB=A3=E8=A1=A8=E5=92=8C=E6=8A=A5=E7=BB=99=E7=BB=84=E7=BB=87?= =?UTF-8?q?=EF=BC=8Cpids=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/ResiEventServiceImpl.java | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java index fa19f94f14..e7d6749e4f 100644 --- a/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java +++ b/epmet-module/resi-home/resi-home-server/src/main/java/com/epmet/service/impl/ResiEventServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.impl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.feign.ResultDataResolver; @@ -20,7 +21,6 @@ import org.springframework.stereotype.Service; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; /** * @author wxz @@ -68,6 +68,12 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve npcData.stream().forEach(npc -> { if (StringUtils.isBlank(excludeUserId) || !npc.getUserId().equals(excludeUserId)) { OrgInfoResultDTO gridInfo = npcGridInfoMap.get(npc.getGridId()); + String pids; + if (StringUtils.isNotBlank(gridInfo.getPids()) && !NumConstant.ZERO_STR.equals(gridInfo.getPids())) { + pids = gridInfo.getPids().concat(":").concat(gridInfo.getAgencyId()); + } else { + pids = gridInfo.getAgencyId(); + } ResiEventNpcResultDTO resiEventNpcInfo = new ResiEventNpcResultDTO( npc.getUserId(), npc.getGridId(), @@ -75,7 +81,8 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve npc.getRealName(), npc.getHeadImgUrl(), gridInfo != null ? gridInfo.getAgencyId() : null, - gridInfo != null ? gridInfo.getPids().concat(":").concat(gridInfo.getAgencyId()) : null); + // gridInfo != null ? gridInfo.getPids().concat(":").concat(gridInfo.getAgencyId()) : null + pids); npcResultList.add(resiEventNpcInfo); } } @@ -122,7 +129,13 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve OrgInfoResultDTO currentGridInfo = currentGridInfos.get(0); // 因为上游接口的值对应问题,这里只好做一个适配,拼接起来,希望上游代码不要再改了... - String pids = currentGridInfo.getPids().concat(":").concat(currentGridInfo.getAgencyId()); + // String pids = currentGridInfo.getPids().concat(":").concat(currentGridInfo.getAgencyId()); + String pids; + if (StringUtils.isNotBlank(currentGridInfo.getPids()) && !NumConstant.ZERO_STR.equals(currentGridInfo.getPids())) { + pids = currentGridInfo.getPids().concat(":").concat(currentGridInfo.getAgencyId()); + } else { + pids = currentGridInfo.getAgencyId(); + } // 父ID列表的index排序字段是从0开始,网格要排在他们前面,则网格的index为-1 targetLevels.add(new ResiEventTargetLevelResultDTO(OrgLevelEnums.GRID.getLevel(), OrgLevelEnums.GRID.getLevelName(), currentGridInfo.getOrgId(), currentGridInfo.getAgencyId(), pids, -1)); @@ -135,7 +148,12 @@ public class ResiEventServiceImpl implements ResiEventService, ResultDataResolve throw new RenException(String.format("根据级别%s没有找到对应的组织级别枚举", porg.getLevel())); } //parentOrgIds.indexOf(porg.getOrgId()为当前orgId在pids中的位置,得到之后,赋值给index字段,treeset会利用这个字段进行排序 - ResiEventTargetLevelResultDTO pLevel = new ResiEventTargetLevelResultDTO(porg.getLevel(), levelName, porg.getOrgId(), porg.getPid(), porg.getPids(), parentOrgIds.indexOf(porg.getOrgId())); + ResiEventTargetLevelResultDTO pLevel = new ResiEventTargetLevelResultDTO(porg.getLevel(), + levelName, + porg.getOrgId(), + porg.getPid(), + porg.getPids(), + parentOrgIds.indexOf(porg.getOrgId())); targetLevels.add(pLevel); });