package com.vci.ubcs.code.service; import com.vci.ubcs.code.vo.pagemodel.*; import com.vci.ubcs.code.vo.universalInter.attrmap.DataObjectVO; import com.vci.ubcs.code.vo.universalInter.result.xml.XMLResultDataObjectDetailDO; import com.vci.starter.poi.bo.SheetDataSet; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.ubcs.code.dto.CodeExportAttrDTO; import com.vci.ubcs.code.dto.CodeOrderDTO; import org.springblade.code.vo.pagemodel.*; import java.io.File; import java.util.LinkedList; import java.util.List; import java.util.Map; /** * 主数据导入导出服务 * @author weidy * @date 2022-3-6 */ public interface MdmIOServiceI { /** * 导出主题库的数据 * @param exportAttrDTO 导出相关的配置,必须要有主题库分类的主键 * @return 导出的excel的文件 */ String exportCode(CodeExportAttrDTO exportAttrDTO); /** * 生成导入的文件 * @param codeClassifyOid 分类的主键 * @param isHistory 是否历史数据导入 * @return excel的文件地址 */ String createImportExcel(String codeClassifyOid,boolean isHistory); /** * 生成导入的文件 * @param codeClassifyOid 分类的主键 * @return excel的文件地址 */ String downloadTopImportExcel(String codeClassifyOid); /** * 批量申请编码数据 * @param orderDTO 编码申请信息,必须包含分类主键和码段的信息 * @param file excel文件的信息 * @return 有错误信息的excel */ CodeImProtRusultVO batchImportCode(CodeOrderDTO orderDTO, File file); /*** *批量申请编码数据 * @param codeClassifyOid 分类的主键 * @param classifyAttr 分类路径使用的属性 * @param file excel文件的信息 * @return 有错误信息的excel */ CodeImProtRusultVO batchTopImportCode(String codeClassifyOid,String classifyAttr, File file); /*** * 批量申请编码数据 * @param orderDTO 编码申请信息,必须包含分类主键和码段的信息 * @param templateVO//模板对象 * @param dataSet//数据对象 * @param isNumType 是否检验枚举/参照 * @return */ List batchImportCode(CodeOrderDTO orderDTO, CodeClassifyTemplateVO templateVO, SheetDataSet dataSet, Map errorMap, boolean isNumType); /** * 导入历史数据 * @param codeClassifyOid 分类的主键 * @param classifyAttr 分类路径使用的属性 * @param file excel文件的信息 * @return 有错误信息的excel */ CodeImProtRusultVO batchImportHistoryData(String codeClassifyOid,String classifyAttr, File file); /** * 集成批量申请数据 * @param orderDTO 分类的主键 * @param dataObjectVO 数据信息 * @param resultDataObjectDetailDOs 错误信息 * @return 有错误信息的excel */ void batchSyncApplyCode(CodeOrderDTO orderDTO, DataObjectVO dataObjectVO, LinkedList resultDataObjectDetailDOs); /** * 集成批量更改数据 * @param codeClassifyVO; * @param dataObjectVO 数据信息 * @param resultDataObjectDetailDOs 错误信息 * @return 有错误信息的excel */ void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList resultDataObjectDetailDOs); /*** * 从redis缓存里获取到导入的数据 * @param oid * @param redisOid * @return */ public DataGrid> gridRowResemble(String oid, String redisOid); /*** * 从redis缓存里获取到导入的数据 * @param codeClssifyOid * @param redisOid * @return */ DataGrid> gridDatas(String codeClssifyOid,String redisOid); /*** * 根据导入缓存id获取分类 * @param redisOid * @return */ public List gridclassifys(String redisOid); /** * 批量申请 * @param codeImprotSaveDatVOList * @param isImprot * @return */ public BaseResult batchImportData(List codeImprotSaveDatVOList, String classifyAttr, boolean isImprot); }