From 0955e368113318867d3b40ccaf66b8b8c92029e0 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 2 Dec 2021 11:04:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=94=E5=BB=BA=E5=8D=95=E4=BD=8D=E5=92=8C?= =?UTF-8?q?=E6=B4=BB=E5=8A=A8=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/exception/EpmetErrorCode.java | 2 + .../impl/IcPartyActivityServiceImpl.java | 31 ++++++++- .../service/impl/IcPartyUnitServiceImpl.java | 69 ++++++++++++++++--- 3 files changed, 88 insertions(+), 14 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 25d5d46ba2..05e6c7668e 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 @@ -145,6 +145,8 @@ public enum EpmetErrorCode { PATROL_REPEATED_SUBMIT_ERROR(8521, "巡查已结束,请勿重复提交"), PATROL_END_TIME_ERROR(8522, "巡查结束时间不能小于巡查开始时间"), TIME_FORMAT_ERROR(8523, "时间格式错误"), + //社区党建 + PARTY_UNIT_NAME_EXITED(8531, "单位名称已存在"), // 社区自组织 COMMUNITY_SELF_ORGANIZATION_REPART_ERROR(8524, "社区自组织名称已存在"), diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java index 43c6cbce9b..213dacc377 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyActivityServiceImpl.java @@ -217,13 +217,38 @@ public class IcPartyActivityServiceImpl extends BaseServiceImpl iterator = result.iterator(); while (iterator.hasNext()) { IcPartyActivityImportExcel obj = iterator.next(); - //单位名称不能为空,不可重复 - if (StringUtils.isBlank(obj.getUnitName().trim())) { + //单位名称校验 + if (StringUtils.isBlank(obj.getUnitName())) { numList.add(obj.getRowNum()); log.warn(String.format("单位名称为空,行号->%s", obj.getRowNum())); iterator.remove(); + } else if (null == option.get(obj.getUnitName())){ + numList.add(obj.getRowNum()); + log.warn(String.format("单位名称不存在,行号->%s", obj.getRowNum())); + iterator.remove(); + } + //服务事项校验 + if (StringUtils.isBlank(obj.getServiceMatter())) { + numList.add(obj.getRowNum()); + log.warn(String.format("服务事项为空,行号->%s", obj.getRowNum())); + iterator.remove(); + } else if (null == categoryMap.get(obj.getServiceMatter())){ + numList.add(obj.getRowNum()); + log.warn(String.format("服务事项不存在,行号->%s", obj.getRowNum())); + iterator.remove(); + } + //活动标题 活动目标 活动内容 活动时间 活动地址 活动地址经度 活动地址纬度 活动结果 + if(StringUtils.isBlank(obj.getTitle()) || StringUtils.isBlank(obj.getTarget()) || + StringUtils.isBlank(obj.getContent()) || + StringUtils.isBlank(obj.getActivityTime()) || + StringUtils.isBlank(obj.getAddress()) || + StringUtils.isBlank(obj.getLatitude()) || + StringUtils.isBlank(obj.getLongitude()) || + StringUtils.isBlank(obj.getResult())) { + numList.add(obj.getRowNum()); + log.warn(String.format("活动标题、活动目标、活动内容、活动时间、活动地址、活动地址经度、活动地址纬度、活动结果为空,行号->%s", obj.getRowNum())); + iterator.remove(); } - } if (CollectionUtils.isEmpty(result)) { Collections.sort(numList); diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java index 2671888e4e..4931389ae0 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.enums.PartyUnitTypeEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; @@ -36,7 +37,6 @@ import com.epmet.commons.tools.utils.ExcelPoiUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.dao.IcPartyUnitDao; import com.epmet.dto.IcPartyUnitDTO; -import com.epmet.dto.form.GridOptionFormDTO; import com.epmet.dto.form.PartyUnitFormDTO; import com.epmet.dto.form.demand.ServiceQueryFormDTO; import com.epmet.dto.form.demand.SubCodeFormDTO; @@ -169,9 +169,19 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcPartyUnitEntity::getAgencyId, entity.getAgencyId()); + wrapper.eq(IcPartyUnitEntity::getUnitName, entity.getUnitName()); + List list = baseDao.selectList(wrapper); if(StringUtils.isBlank(entity.getId())) { + if (CollectionUtils.isNotEmpty(list)) { + throw new EpmetException(EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getCode(), EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getMsg(), EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getMsg()); + } insert(entity); } else { + if (CollectionUtils.isNotEmpty(list) && list.get(0).getId().equals(entity.getId())) { + throw new EpmetException(EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getCode(), EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getMsg(), EpmetErrorCode.PARTY_UNIT_NAME_EXITED.getMsg()); + } updateById(entity); } } @@ -266,19 +276,59 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl result = importResult.getList(); CustomerStaffInfoCacheResult staffInfoCache = CustomerStaffRedis.getStaffInfo(tokenDto.getCustomerId(), tokenDto.getUserId()); - //获取组织下网格信息 - GridOptionFormDTO formDTO = new GridOptionFormDTO(); - formDTO.setAgencyId(staffInfoCache.getAgencyId()); - //1.数据校验 只允许导入当前组织下的网格的数据 - //网格名称不一样的数据舍弃 + if (null == staffInfoCache) { + throw new EpmetException(8000, "获取用户缓存失败"); + } + SubCodeFormDTO codeFormDTO = new SubCodeFormDTO(); + codeFormDTO.setCustomerId(tokenDto.getCustomerId()); + codeFormDTO.setParentCategoryCode("1010"); + Map categoryMap = icResiDemandDictService.querySubCodeList(codeFormDTO).stream().collect(Collectors.toMap(OptionDTO::getLabel, OptionDTO::getValue)); + //1.数据校验 Iterator iterator = result.iterator(); while (iterator.hasNext()) { IcPartyUnitImportExcel obj = iterator.next(); //单位名称不能为空,不可重复 - if (StringUtils.isBlank(obj.getUnitName().trim())) { + if (StringUtils.isBlank(obj.getUnitName())) { numList.add(obj.getRowNum()); log.warn(String.format("单位名称为空,行号->%s", obj.getRowNum())); iterator.remove(); + } else { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcPartyUnitEntity::getAgencyId, staffInfoCache.getAgencyId()); + wrapper.eq(IcPartyUnitEntity::getUnitName, obj.getUnitName()); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + numList.add(obj.getRowNum()); + log.warn(String.format("单位名称已存在,行号->%s", obj.getRowNum())); + iterator.remove(); + } + } + //分类校验 + if (StringUtils.isBlank(obj.getType()) || null == PartyUnitTypeEnum.getCode(obj.getType())) { + numList.add(obj.getRowNum()); + log.warn(String.format("分类名不存在,行号->%s", obj.getRowNum())); + iterator.remove(); + } + //服务事项校验 + if (StringUtils.isNotBlank(obj.getServiceMatter())) { + List matters = Arrays.asList(obj.getServiceMatter().split(StrConstant.COLON)); + matters.forEach(item -> { + if (null == categoryMap.get(item)) { + numList.add(obj.getRowNum()); + log.warn(String.format("服务事项不存在,行号->%s", obj.getRowNum())); + iterator.remove(); + } + }); + } + //联系人 联系电话 在职党员 地址 中心位置经度 中心位置纬度 校验 + if (StringUtils.isBlank(obj.getContact()) || StringUtils.isBlank(obj.getContactMobile()) || + StringUtils.isBlank(obj.getContact()) || + null == obj.getMemberCount() || + StringUtils.isBlank(obj.getLatitude()) || + StringUtils.isBlank(obj.getLongitude())) { + numList.add(obj.getRowNum()); + log.warn(String.format("联系人、联系电话、在职党员、地址、中心位置经度、中心位置纬度为空,行号->%s", obj.getRowNum())); + iterator.remove(); } } @@ -287,10 +337,7 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl categoryMap = icResiDemandDictService.querySubCodeList(codeFormDTO).stream().collect(Collectors.toMap(OptionDTO::getLabel, OptionDTO::getValue)); + List list = result.stream().map(item -> { IcPartyUnitEntity entity = new IcPartyUnitEntity(); entity.setCustomerId(tokenDto.getCustomerId());