From e6316a214da240299a1059c4bfdac5a79cf4a799 Mon Sep 17 00:00:00 2001 From: lzh Date: Wed, 17 Nov 2021 19:32:04 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=9B=B4=E6=94=B9level?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ResiCategoryStatsConfigController.java | 4 ++-- .../service/impl/StatsResiWarnServiceImpl.java | 17 ++++++++--------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java index a3d72acc37..fdec343adf 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/ResiCategoryStatsConfigController.java @@ -101,8 +101,8 @@ public class ResiCategoryStatsConfigController { if(null == level2 || level2==0){ return new Result().error(8001,"等级2阈值需大于0"); } - if(level1<=level2){ - return new Result().error(8001,"等级1阈值需大于等级2阈值"); + if(level2<=level1){ + return new Result().error(8001,"等级2阈值需大于等级1阈值"); } } resiCategoryStatsConfigService.update(customerId,formDTO); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java index a9a378cdd0..60d355cbf4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StatsResiWarnServiceImpl.java @@ -102,7 +102,9 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { for (IcStatsResiWarnEntity item : icStatsResiWarnEntityList) { IcStatsResiWarnBuildingResultDTO resiWarnBuildingResultDTO = warnResultMap.get(item.getConfigId()); - + if(null == resiWarnBuildingResultDTO){ + continue; + } //每栋楼的数量 Integer count = Optional.ofNullable(item.getCount()).orElse(0); @@ -114,18 +116,15 @@ public class StatsResiWarnServiceImpl implements StatsResiWarnService { if(0 == count){ continue; } - if(null!=levle1 && count>levle1){ - resiWarnBuildingResultDTO.setLevelCount1(resiWarnBuildingResultDTO.getLevelCount1()+1); - resiWarnBuildingResultDTO.getBuildingIdList1().add(item.getBuildingId()); - } - if(null!=levle1 && null!=levle2 && count<=levle1 && count>=levle2){ + if(null!=levle2 && count>levle2){ resiWarnBuildingResultDTO.setLevelCount2(resiWarnBuildingResultDTO.getLevelCount2()+1); resiWarnBuildingResultDTO.getBuildingIdList2().add(item.getBuildingId()); } - if(null!=levle2 && null!=levle3 && count<=levle2 && count>=levle3){ - resiWarnBuildingResultDTO.setLevelCount3(resiWarnBuildingResultDTO.getLevelCount3()+1); - resiWarnBuildingResultDTO.getBuildingIdList3().add(item.getBuildingId()); + if(null!=levle1 && null!=levle2 && count<=levle2 && count>=levle1){ + resiWarnBuildingResultDTO.setLevelCount1(resiWarnBuildingResultDTO.getLevelCount1()+1); + resiWarnBuildingResultDTO.getBuildingIdList1().add(item.getBuildingId()); } + } return result; From 23cb79f88ad46f983a48e4fa807646ecff080297 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Thu, 18 Nov 2021 09:17:33 +0800 Subject: [PATCH 2/4] =?UTF-8?q?mq=E8=A7=A6=E5=8F=91=E7=9A=84=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=8F=98=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/mq/listener/ICWarnStatsEventListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java index c7462dbc07..d0ff2a10e9 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java @@ -67,7 +67,7 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently { lock = distributedLock.getLock(String.format("lock:ic_warn_stats:%s", obj.getCustomerId()), 30L, 30L, TimeUnit.SECONDS); //待执行方法 - SpringContextUtils.getBean(StatsResiWarnService.class).resiWarnByOne(obj.getCustomerId(), obj.getIcResiUser()); + SpringContextUtils.getBean(StatsResiWarnService.class).resiWarn(obj.getCustomerId()); } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 logger.error("【开放数据事件监听器】-客户居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); From 25c15b68d7c855b08317c05a2d4ceeaf97eca3b5 Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Thu, 18 Nov 2021 12:35:06 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=201.ic=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=20=E4=B8=8A=E4=BC=A0=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/epmet/controller/IcResiUserController.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 073df83da5..0c10ca50ed 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -123,6 +123,8 @@ public class IcResiUserController { log.error("创建数字赋能平台上传目录失败"); } } + IC_RESI_UPLOAD_DIR = importDir; + Path exportDir = Paths.get(home, "epmet_files", "ic_user_export"); if (Files.notExists(exportDir)) { try { From b016bbe6d6ab530d7f2d1e198ee335851a011fb2 Mon Sep 17 00:00:00 2001 From: jianjun Date: Thu, 18 Nov 2021 13:11:26 +0800 Subject: [PATCH 4/4] =?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 --- .../commons/tools/constant/StrConstant.java | 2 ++ .../controller/IcResiUserController.java | 31 ++++++++++++------- .../service/impl/IcResiUserServiceImpl.java | 2 ++ 3 files changed, 23 insertions(+), 12 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java index fd4a97d11e..2e1d7d5bea 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/constant/StrConstant.java @@ -74,6 +74,8 @@ public interface StrConstant { */ String STAR="*"; + String QUESTION_MARK="?"; + /** * 空字符串 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 0c10ca50ed..08187f54b4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -29,6 +29,7 @@ import com.alibaba.fastjson.JSON; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; @@ -357,16 +358,14 @@ public class IcResiUserController { CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(customerId, tokenDto.getUserId()); String staffOrgPath = null; if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) { - staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(":").concat(staffInfoCacheResult.getAgencyId()); + staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(StrConstant.COLON).concat(staffInfoCacheResult.getAgencyId()); } else { staffOrgPath = staffInfoCacheResult.getAgencyId(); } pageFormDTO.setCustomerId(customerId); pageFormDTO.setPageFlag(false); - List resiFormAllItems = icResiUserService.listFormItems(customerId, IC_RESI_FORM_CODE); - Map> otherSheetItems = resiFormAllItems.stream() - .collect(Collectors.groupingBy(FormItemResult::getTableName, Collectors.toMap(FormItemResult::getColumnName, o -> o))); + //获取模版文件 File file = getExportTemplateFile(customerId); @@ -378,27 +377,35 @@ public class IcResiUserController { pageFormDTO.setPageNo(NumConstant.ONE); //子表是否停止查询 Set stopSearchSet = new HashSet<>(); - Map childTableWriteSheetMap = new HashMap<>(); + + //获取表单项 + List resiFormAllItems = icResiUserService.listFormItems(customerId, IC_RESI_FORM_CODE); + //每个表对应的 item ;key:表名,value:<字段名:item对象> + Map> tableItemMap = resiFormAllItems.stream() + .collect(Collectors.groupingBy(FormItemResult::getTableName, + Collectors.toMap(o->o.getColumnName().concat(NumConstant.ZERO == o.getColumnNum()? StrConstant.EPMETY_STR:o.getColumnNum().toString()), o -> o))); + Map childTableWriteSheetMap = new HashMap<>(); //表数据写入 //通过枚举获取相关表并按照sheetNo排序 - List resiTableList = Arrays.stream(IcResiUserTableEnum.values()).sorted(Comparator.comparing(IcResiUserTableEnum::getSheetNo)).collect(Collectors.toList()); + List resiTableList = Arrays.stream(IcResiUserTableEnum.values()) + .sorted(Comparator.comparing(IcResiUserTableEnum::getSheetNo)) + .collect(Collectors.toList()); for (IcResiUserTableEnum tableEnum : resiTableList) { String tableName = tableEnum.getTableName(); pageFormDTO.setPageNo(NumConstant.ONE); //循环一次 写入每个sheet do { - Map itemMap1 = otherSheetItems.get(tableName); - Map> resiChildMap = icResiUserService.getDataForExport(itemMap1, tableName, pageFormDTO, staffInfoCacheResult.getAgencyId(), staffOrgPath); + Map> resiChildMap = icResiUserService.getDataForExport(tableItemMap.get(tableName), tableName, pageFormDTO, staffInfoCacheResult.getAgencyId(), staffOrgPath); //如果 返回的条数小于每页显示的数 则退出查询 if (resiChildMap.keySet().size() < pageFormDTO.getPageSize()) { stopSearchSet.add(tableName); } - //构建新的sheet - WriteSheet childWriteSheet = childTableWriteSheetMap.getOrDefault(tableName,EasyExcel.writerSheet(tableEnum.getSheetNo()).build()); - childTableWriteSheetMap.put(tableName, childWriteSheet); + //如果没有 构建新的writeSheet + WriteSheet writeSheet = childTableWriteSheetMap.getOrDefault(tableName,EasyExcel.writerSheet(tableEnum.getSheetNo()).build()); + childTableWriteSheetMap.putIfAbsent(tableName, writeSheet); //写入数据 - excelWriter.fill(new FillWrapper("t" + (tableEnum.getSheetNo() + NumConstant.ONE), resiChildMap.values()), childWriteSheet); + excelWriter.fill(new FillWrapper("t" + (tableEnum.getSheetNo() + NumConstant.ONE), resiChildMap.values()), writeSheet); pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE); //重置数据 resiChildMap.clear(); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index c953563c81..c97cdbabdd 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -680,6 +680,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl stringMap = icResiUserImportService.listRemoteOptions(columnWrappers, v.getOptionSourceValue(), currentStaffAgencyId);