From 72d36b6bb8599b4936d73059dc3eb11e5c683898 Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 25 Apr 2022 15:22:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E4=BB=A3=E7=A0=81=E6=9A=82?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/IcExportTemplateQueryFormDTO.java | 10 -- .../impl/IcExportTemplateServiceImpl.java | 2 +- .../epmet/dto/form/IcResiUserPageFormDTO.java | 10 +- .../controller/IcResiUserController.java | 9 +- .../service/IcResiUserImportService.java | 19 ++- .../impl/IcResiUserExportServiceImpl.java | 151 +++++++++++++----- .../impl/IcResiUserImportServiceImpl.java | 26 +-- 7 files changed, 159 insertions(+), 68 deletions(-) diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateQueryFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateQueryFormDTO.java index 9c97e6a75b..0b5f472f72 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateQueryFormDTO.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/IcExportTemplateQueryFormDTO.java @@ -29,14 +29,4 @@ public class IcExportTemplateQueryFormDTO implements Serializable { @NotBlank(message = "客户Id不能为空",groups = ExportGroup.class) private String customerId; - /** - * 表单CODE,从字典获取 - */ - private String formCode; - - /** - * 模板名称 - */ - private String name; - } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java index 8cd200b59e..38f4aeb2cb 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcExportTemplateServiceImpl.java @@ -131,7 +131,7 @@ public class IcExportTemplateServiceImpl extends BaseServiceImpl> resultTemp, IcExportTemplateForExportResultDTO root, List> headerList, List showSqlColumns, List hiddenSqlColumns, Set hasExistColumnSet) { if (StringUtils.isNotBlank(root.getColumnName())) { showSqlColumns.add(new IcCustomExportResultDTO.SqlColumn(root.getItemId(),root.getTableName(), root.getColumnName(),root.getOptionSourceType(),root.getOptionSourceValue())); - if (StringUtils.isNotBlank(root.getOptionSourceValue())) { + if (StringUtils.isNotBlank(root.getOptionSourceValue())&&root.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)) { String[] paramArr = root.getOptionSourceValue().split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK); //先remote中再添加 然后移除item中有的 hasExistColumnSet.addAll(Arrays.asList(paramArr)); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java index 7c9ac813c7..272a3c6fdc 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcResiUserPageFormDTO.java @@ -18,10 +18,10 @@ public class IcResiUserPageFormDTO extends PageFormDTO implements Serializable { public interface AddUserInternalGroup { } - @NotBlank(message = "formCode不能为空", groups = AddUserInternalGroup.class) + @NotBlank(message = "formCode不能为空", groups = {AddUserInternalGroup.class,ExportGroup.class}) private String formCode; - @NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) + @NotBlank(message = "customerId不能为空", groups = {AddUserInternalGroup.class,ExportGroup.class}) private String customerId; /** @@ -29,7 +29,7 @@ public class IcResiUserPageFormDTO extends PageFormDTO implements Serializable { */ private List conditions; - @NotBlank(message = "当前用户id不能为空", groups = AddUserInternalGroup.class) + @NotBlank(message = "当前用户id不能为空", groups = {AddUserInternalGroup.class,ExportGroup.class}) private String staffId; /** @@ -37,7 +37,9 @@ public class IcResiUserPageFormDTO extends PageFormDTO implements Serializable { */ private String keyword; - @NotBlank(message = "模板id不能为空", groups = ExportGroup.class) + /** + * 模板id + */ private String templateId; } 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 c47c09eb8a..d8b61f1937 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 @@ -415,9 +415,12 @@ public class IcResiUserController implements ResultDataResolver { @NoRepeatSubmit @RequestMapping(value = "/exportExcelCustom") public void exportExcelCustom(/*@LoginUser*/ TokenDto tokenDto, @RequestBody IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) throws Exception { - //tokenDto.setUserId("9e37adcce6472152e6508a19d3683e02"); - //tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); - ValidatorUtils.validateEntity(pageFormDTO, ExportGroup.class); + //TODO 去掉 + tokenDto.setUserId("73ae6280e46a6653a5605d51d5462725"); + tokenDto.setCustomerId("45687aa479955f9d06204d415238f7cc"); + pageFormDTO.setCustomerId(tokenDto.getCustomerId()); + pageFormDTO.setStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(pageFormDTO, IcResiUserPageFormDTO.AddUserInternalGroup.class,ExportGroup.class); pageFormDTO.setIsPage(false); //获取导出配置 icResiUserExportService.exportIcResiUser(pageFormDTO,response); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java index f3451f3e13..e35eabdace 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserImportService.java @@ -1,10 +1,12 @@ package com.epmet.service; import com.epmet.dto.result.FormItemResult; +import com.epmet.service.impl.IcResiUserImportServiceImpl; import javax.servlet.http.HttpServletResponse; import java.nio.file.Path; import java.util.List; +import java.util.Map; /** *@Description 居民信息导入service @@ -33,5 +35,20 @@ public interface IcResiUserImportService { */ void finishImportTask(String importTaskId, String operatorId, String processStatus, String resultDesc, String resultDescPath); - Object testAsync(); + /** + * 分割sourceUrl为纯url和父itemId + * @param fullUri + * @return [ pureUri, cascadeItemId(父itemId) ] + */ + String[] splitOptionSourceUrl(String fullUri); + /** + * desc:获取远程 选项 + * @param pureUri + * @param cascadeItemId + * @param columnWrappers + * @param currUserAgencyId + * @param purpose + * @return + */ + Map listRemoteOptions(String pureUri, String cascadeItemId, Map columnWrappers, String currUserAgencyId, String purpose); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java index 8df9a74770..e7051a7710 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserExportServiceImpl.java @@ -4,35 +4,44 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.fastjson.JSON; +import com.epmet.commons.tools.constant.Constant; 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.enums.FormItemTypeEnum; +import com.epmet.commons.tools.enums.IcFormCodeEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; -import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ExcelUtils; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.utils.SpringContextUtils; import com.epmet.commons.tools.utils.poi.excel.FreezeAndFilter; import com.epmet.constant.IcResiUserConstant; import com.epmet.dto.form.IcExportTemplateQueryFormDTO; import com.epmet.dto.form.IcResiUserPageFormDTO; +import com.epmet.dto.result.FormItemResult; import com.epmet.dto.result.IcCustomExportResultDTO; +import com.epmet.dto.result.OptionDTO; +import com.epmet.excel.support.ExportResiUserItemDTO; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcResiUserExportService; +import com.epmet.service.IcResiUserImportService; import com.epmet.service.IcResiUserService; import com.github.pagehelper.Page; import com.github.pagehelper.PageHelper; import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.jetbrains.annotations.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; /** @@ -48,9 +57,9 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { @Autowired private OperCustomizeOpenFeignClient operCustomizeOpenFeignClient; @Autowired - private LoginUserUtil loginUserUtil; - @Autowired private IcResiUserService icResiUserService; + @Autowired + private IcResiUserImportService icResiUserImportService; /** * desc: 根据条件查询居民信息并根据配置模板导出 @@ -65,22 +74,20 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { public void exportIcResiUser(IcResiUserPageFormDTO pageFormDTO, HttpServletResponse response) { ExcelWriter excelWriter = null; try { - //获取模板条件 - IcExportTemplateQueryFormDTO param = new IcExportTemplateQueryFormDTO(); - param.setCustomerId(loginUserUtil.getLoginUserCustomerId()); - param.setTempId(pageFormDTO.getTemplateId()); - Result exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param); - if (!exportConfigResult.success() || exportConfigResult.getData() == null) { - log.error("获取模板失败"); - return; - } + //获取用户配置的导出条件 + Result exportConfigResult = getIcCustomExportConfig(pageFormDTO); + + Map itemOriginMap = getItemMap(pageFormDTO.getCustomerId()); IcCustomExportResultDTO exportConfigData = exportConfigResult.getData(); log.info("查询到的模板配置信息:{}", JSON.toJSONString(exportConfigData)); FreezeAndFilter writeHandler = new FreezeAndFilter(); excelWriter = EasyExcel.write(ExcelUtils.getOutputStreamForExcel("居民基本信息.xlsx", response)).registerWriteHandler(writeHandler).build(); WriteSheet writeSheet = EasyExcel.writerSheet().head(exportConfigData.getHeaders()).build(); - CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(loginUserUtil.getLoginUserCustomerId(), loginUserUtil.getLoginUserId()); + CustomerStaffInfoCacheResult staffInfoCacheResult = CustomerStaffRedis.getStaffInfo(pageFormDTO.getCustomerId(), pageFormDTO.getStaffId()); + if (staffInfoCacheResult == null){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取工作人员信息失败"); + } String staffOrgPath = null; if (StringUtils.isNotBlank(staffInfoCacheResult.getAgencyPIds()) && !NumConstant.ZERO_STR.equals(staffInfoCacheResult.getAgencyPIds())) { staffOrgPath = staffInfoCacheResult.getAgencyPIds().concat(StrConstant.COLON).concat(staffInfoCacheResult.getAgencyId()); @@ -93,34 +100,54 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { do { String finalStaffOrgPath = staffOrgPath; mapListPage = PageHelper.startPage(pageFormDTO.getPageNo(), pageFormDTO.getPageSize(), pageFormDTO.getIsPage()).doSelectPage(() -> { - icResiUserService.dynamicQuery(loginUserUtil.getLoginUserCustomerId(), pageFormDTO.getFormCode(), IcResiUserConstant.IC_RESI_USER, allShowColumns, pageFormDTO.getConditions(), staffInfoCacheResult.getAgencyId(), finalStaffOrgPath); + icResiUserService.dynamicQuery(pageFormDTO.getCustomerId(), pageFormDTO.getFormCode(), IcResiUserConstant.IC_RESI_USER, allShowColumns, pageFormDTO.getConditions(), staffInfoCacheResult.getAgencyId(), finalStaffOrgPath); }); pageFormDTO.setPageNo(pageFormDTO.getPageNo() + NumConstant.ONE); List> result = mapListPage.getResult(); List> resultData = new ArrayList<>(); + result.forEach(o -> { List singleResult = new ArrayList<>(); + Map originalConditionMap = new ConcurrentHashMap<>(); o.forEach((key,value) -> { List showSqlColumns = exportConfigData.getShowSqlColumns(); Map itemMap = showSqlColumns.stream().collect(Collectors.toMap(IcCustomExportResultDTO.SqlColumn::getColumnName, item -> item)); + + IcCustomExportResultDTO.SqlColumn columnDTO = itemMap.get(key); if (singleResult.size() < showSqlColumns.size()) { - singleResult.add(value); + IcCustomExportResultDTO.SqlColumn sqlColumn = itemMap.get(key); + String tableName = sqlColumn.getTableName(); + String itemId = sqlColumn.getItemId(); + String columnName = columnDTO.getColumnName(); + String vauleStr = value == null ? StrConstant.EPMETY_STR : value.toString(); - /* if (Constant.OPITON_SOURCE_REMOTE.equals(sqlColumn.getOptionSourceType()) && StringUtils.isNotBlank(vauleStr)) { - putRemoteValue(formItemMap.getRemoteItemConditionMap().get(e.getItemId()), currentStaffAgencyId, resiUser,originalConditionMap, e, columnName, vauleStr); - } else { - putOptionValue(resiUser, e, columnName, vauleStr); - }*/ + //保留原始值 便于remote条件获取 + originalConditionMap.putIfAbsent(columnName,vauleStr); + ExportResiUserItemDTO exportResiUserItemDTO = itemOriginMap.get(tableName); + FormItemResult formItemResult = exportResiUserItemDTO.getItemMap().get(columnName); + + if (StringUtils.isBlank(vauleStr)){ + return; + } + String newValue = vauleStr; + if (Constant.OPITON_SOURCE_REMOTE.equals(sqlColumn.getOptionSourceType())) { + putRemoteValue(exportResiUserItemDTO.getRemoteItemConditionMap().get(itemId), staffInfoCacheResult.getAgencyId(), o,originalConditionMap, formItemResult, columnName, vauleStr); + } else if (Constant.OPITON_SOURCE_LOCAL.equals(sqlColumn.getOptionSourceType())){ + newValue = putOptionValue(formItemResult, vauleStr); + } + singleResult.add(newValue); } }); resultData.add(singleResult); }); log.info("需要写入的data长度:{}", resultData.size()); excelWriter.write(resultData, writeSheet); + //todo + break; } while (mapListPage.getResult().size() == pageFormDTO.getPageSize()); } catch (IOException e) { log.error("exportIcResiUser exception", e); @@ -131,20 +158,31 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { } } + @Nullable + public Result getIcCustomExportConfig(IcResiUserPageFormDTO pageFormDTO) { + IcExportTemplateQueryFormDTO param = new IcExportTemplateQueryFormDTO(); + param.setCustomerId(pageFormDTO.getCustomerId()); + param.setTempId(pageFormDTO.getTemplateId()); + Result exportConfigResult = operCustomizeOpenFeignClient.getExcelHeaderAndSqlColumnForExport(param); + if (!exportConfigResult.success() || exportConfigResult.getData() == null) { + log.error("获取模板失败"); + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"获取模板失败"); + } + return exportConfigResult; + } /** * key:itemId,value: key:columnName,中文 */ private static Map> remoteOptionCacheMap = new HashMap<>(); - /*private void putRemoteValue(Set conditionItemSet, String currentStaffAgencyId, Map map, Map originalConditionMap, FormItemResult e, String columnName, String vauleStr) { + private void putRemoteValue(Set conditionItemSet, String currentStaffAgencyId, Map map, Map originalConditionMap, FormItemResult e, String columnName, String vauleStr) { try { Map columnWrappers = new HashMap<>(); if (e.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){ for (FormItemResult o : conditionItemSet) { - String column = getColumnName(o); - Object conditionValue = originalConditionMap.getOrDefault(column, map.get(column)); - originalConditionMap.putIfAbsent(column,conditionValue.toString()); + Object conditionValue = originalConditionMap.getOrDefault(columnName, map.get(columnName)); + originalConditionMap.putIfAbsent(columnName,conditionValue.toString()); IcResiUserImportServiceImpl.ColumnWrapper value = new IcResiUserImportServiceImpl.ColumnWrapper(); value.setColValue(conditionValue.toString()); columnWrappers.put(o.getItemId(), value); @@ -171,28 +209,67 @@ public class IcResiUserExportServiceImpl implements IcResiUserExportService { } } } catch (Exception ex) { - log.error("listRemoteOptions url:{}", e.getOptionSourceValue()); + log.error("listRemoteOptions url", ex); } } - private void putOptionValue(Map map, FormItemResult e, String columnName, String vauleStr) { + private String putOptionValue(FormItemResult e, String vauleStr) { FormItemTypeEnum itemTypeEnum = FormItemTypeEnum.getEnum(e.getItemType()); switch (itemTypeEnum) { case CHECKBOX: - e.getOptions().forEach(optionDTO -> { - map.put(optionDTO.getValue(), vauleStr.contains(optionDTO.getValue()) ? StrConstant.YES : StrConstant.NO); - }); + for (OptionDTO dto : e.getOptions()) { + return vauleStr.contains(dto.getValue()) ? StrConstant.YES : StrConstant.NO; + } break; case SELECT: case RADIO: - e.getOptions().forEach(optionDTO -> { + for (OptionDTO optionDTO : e.getOptions()) { if (optionDTO.getValue().equals(vauleStr)) { - map.put(columnName, optionDTO.getLabel()); + return optionDTO.getLabel(); } - }); + } break; default: } - }*/ + return vauleStr; + } + + /** + * desc:获取表单配置 + * @param customerId + * @return map key:tableName ,value:ExportResiUserItemDTO + */ + private Map getItemMap(String customerId){ + //获取表单项 + IcResiUserService icResiUserService = SpringContextUtils.getBean(IcResiUserService.class); + if (icResiUserService == null){ + log.error("获取bean IcResiUserService 失败"); + return null; + } + List resiFormAllItems = icResiUserService.listFormItems(customerId, IcFormCodeEnum.RESI_BASE_INFO.getCode()); + Map allItemMap = resiFormAllItems.stream().collect(Collectors.toMap(FormItemResult::getItemId, o -> o)); + Map map = new HashMap<>(); + allItemMap.values().forEach(item->{ + String tableName = item.getTableName(); + ExportResiUserItemDTO exportItem = map.getOrDefault(tableName, new ExportResiUserItemDTO()); + map.putIfAbsent(tableName,exportItem); + String columnName = item.getColumnName().concat(item.getColumnNum() == NumConstant.ZERO ? StrConstant.EPMETY_STR : item.getColumnNum().toString()); + exportItem.getItemMap().put(columnName,item); + if (Constant.OPITON_SOURCE_REMOTE.equals(item.getOptionSourceType())&&item.getOptionSourceValue().contains(StrConstant.QUESTION_MARK)){ + //多个参数 + String[] paramArr = item.getOptionSourceValue().split(StrConstant.QUESTION_MARK_TRANSFER)[NumConstant.ONE].split(StrConstant.AND_MARK); + Arrays.stream(paramArr).forEach(o->{ + FormItemResult value = allItemMap.get(o); + if (value == null){ + return; + } + Set conditionSet = exportItem.getRemoteItemConditionMap().getOrDefault(item.getItemId(),new HashSet<>()); + conditionSet.add(value); + exportItem.getRemoteItemConditionMap().putIfAbsent(item.getItemId(),conditionSet); + }); + } + }); + return map; + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 882c6dcf42..824c8329eb 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -8,8 +8,8 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.EasyExcelFactory; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.bean.ResiImportCategoryData; -import com.epmet.bean.ResiImportResiCategoryChangedCache; import com.epmet.bean.ResiImportChangedData; +import com.epmet.bean.ResiImportResiCategoryChangedCache; import com.epmet.commons.tools.constant.AppClientConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; @@ -33,7 +33,10 @@ import com.epmet.dao.IcUserChangeDetailedDao; import com.epmet.dao.IcUserChangeRecordDao; import com.epmet.dao.IcUserTransferRecordDao; import com.epmet.dto.*; -import com.epmet.dto.form.*; +import com.epmet.dto.form.GridOptionFormDTO; +import com.epmet.dto.form.HouseFormDTO; +import com.epmet.dto.form.IcResiUserOrgMsgFormDTO; +import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcUserChangeDetailedEntity; @@ -43,14 +46,14 @@ import com.epmet.enums.IcResiUserTableEnum; import com.epmet.excel.handler.IcResiImportDynamicExcelListener; import com.epmet.excel.handler.IcResiVirtualSheetImportListener; import com.epmet.feign.*; -import com.epmet.service.*; +import com.epmet.service.IcResiUserImportService; +import com.epmet.service.UserService; import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.FileItemFactory; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.lang3.StringUtils; import org.apache.http.entity.ContentType; @@ -60,7 +63,9 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.commons.CommonsMultipartFile; import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; import java.nio.file.Path; import java.time.LocalDate; import java.time.Period; @@ -1151,6 +1156,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res * @param fullUri * @return [ pureUri, cascadeItemId(父itemId) ] */ + @Override public String[] splitOptionSourceUrl(String fullUri) { String pureUri = null; String cascadeItemId = null; @@ -1170,6 +1176,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res * 远程获取options * @return */ + @Override public Map listRemoteOptions(String pureUri, String cascadeItemId, Map columnWrappers, String currUserAgencyId, String purpose) { ColumnWrapper cascadeItemColumnWrapper = null; @@ -1971,6 +1978,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res * @param bizType * @return */ + @Override public String createImportTaskRecord(String operatorId, String bizType, String originFilename) { ImportTaskCommonFormDTO importTaskForm = new ImportTaskCommonFormDTO(); importTaskForm.setOperatorId(operatorId); @@ -1992,6 +2000,7 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res * @param resultDesc 结果描述,非必填 * @param resultDescPath 结果描述文件,excel等文件,有错误的话需要传入,成功则不需要 */ + @Override public void finishImportTask(String importTaskId, String operatorId, String processStatus, String resultDesc, String resultDescPath) { ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); importFinishTaskForm.setTaskId(importTaskId); @@ -2006,11 +2015,4 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res importTaskId, processStatus, operatorId, resultDesc, resultDescPath); } } - - @Override - public Object testAsync() { - IcNeighborHoodDTO nform = new IcNeighborHoodDTO(); - govOrgOpenFeignClient.getNeighborHoodOptions(nform); - return null; - } }