diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ObjectUtil.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ObjectUtil.java new file mode 100644 index 0000000000..fbecab75ee --- /dev/null +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/ObjectUtil.java @@ -0,0 +1,66 @@ +package com.epmet.commons.tools.utils; + +import java.util.*; +import java.lang.reflect.Field; + +public class ObjectUtil { + /** + * 对象字符串属性去空格 + */ + public static void objectToTrim(Object object) { + Map map = new HashMap<>(); + Field[] fields = getAllFields(object); + for (Field field : fields){ + String type = field.getType().getCanonicalName(); + if ("java.lang.String".equals(type)){ + field.setAccessible(true); + Object getObject = null; + + try { + getObject = field.get(object); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + + if (getObject != null) { + String trim = getObject.toString().replace(" ",""); + map.put(field.getName(), trim); + } + } + } + + for (Field field : fields) { + if (map.get(field.getName()) != null){ + String s = map.get(field.getName()); + field.setAccessible(true); + try { + field.set(object, s); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + } + } + + /** + * 获取子类和父类所有字段信息 + */ + private static Field[] getAllFields(Object object) { + Class clazz = object.getClass(); + + List fieldsList = new ArrayList<>(); // 保存属性对象数组到列表 + while (clazz != null) { // 遍历所有父类字节码对象 + Field[] declaredFields = clazz.getDeclaredFields(); // 获取字节码对象的属性对象数组 + fieldsList.add(declaredFields); + + clazz = clazz.getSuperclass(); // 获得父类的字节码对象 + } + + List allFields = new ArrayList<>(); + for (Field[] fields : fieldsList) { + allFields.addAll(Arrays.asList(fields)); + } + + return allFields.toArray(new Field[0]); + } +} diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java index a8e149d199..338e159b49 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/excel/handler/IcEnterpriseExcelImportListener.java @@ -7,6 +7,7 @@ import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ValidateException; import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.commons.tools.utils.ObjectUtil; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.entity.IcEnterpriseEntity; import com.epmet.excel.EnterpriseImportExcelDTO; @@ -57,11 +58,12 @@ public class IcEnterpriseExcelImportListener implements ReadListener dictList = coverageService.dictMap(customerId, CoveragePlaceTypeEnum.ENTERPRISE_PATROL.getCode()); Map placeTypeMap = dictList.stream().collect(Collectors.toMap(IcCoverageCategoryDictListResultDTO::getLabel, IcCoverageCategoryDictListResultDTO::getValue)); - //todo - Map scaleMap=new HashMap<>(); - Map gridMap=new HashMap<>(); + //2、规模名称 + Result> dictMapRes = adminOpenFeignClient.dictDataList(DictTypeEnum.SCALE.getCode()); + Map scaleMap = dictMapRes.success() && CollectionUtils.isNotEmpty(dictMapRes.getData()) ? dictMapRes.getData().stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel,SysDictDataDTO::getDictValue)) : new HashMap<>(); + //3、当前工作人员所属组织下的网格列表 + List gridList = customerGridDao.selectGridList(staffInfo.getAgencyId()); + if (CollectionUtils.isEmpty(gridList)) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "当前组织下没有网格", "当前组织下没有直属网格"); + } + Map gridMap=gridList.stream().collect(Collectors.toMap(GridListResultDTO::getGridName,GridListResultDTO::getGridId)); + IcEnterpriseExcelImportListener listener = new IcEnterpriseExcelImportListener(customerId,staffInfo, this,placeTypeMap,scaleMap,gridMap); EasyExcel.read(filePath.toFile(), EnterpriseImportExcelDTO.class, listener).headRowNumber(2).sheet(0).doRead();