ludc
2023-03-30 1dc8a3226e9ccb8b35567a0a55495d53b6352703
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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 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<String> batchImportCode(CodeOrderDTO orderDTO, CodeClassifyTemplateVO templateVO, SheetDataSet dataSet, Map<String,String> 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<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs);
    /**
     * 集成批量更改数据
     * @param codeClassifyVO;
     * @param dataObjectVO 数据信息
     * @param resultDataObjectDetailDOs 错误信息
     * @return 有错误信息的excel
     */
    void batchSyncEditDatas(CodeClassifyVO codeClassifyVO, DataObjectVO dataObjectVO, LinkedList<XMLResultDataObjectDetailDO>  resultDataObjectDetailDOs);
    /***
     * 从redis缓存里获取到导入的数据
     * @param oid
     * @param redisOid
     * @return
     */
    public DataGrid<Map<String,String>> gridRowResemble(String oid, String redisOid);
    /***
     * 从redis缓存里获取到导入的数据
     * @param codeClssifyOid
     * @param redisOid
     * @return
     */
    DataGrid<Map<String,String>> gridDatas(String codeClssifyOid,String redisOid);
    /***
     * 根据导入缓存id获取分类
     * @param redisOid
     * @return
     */
    public List<CodeImportTemplateVO> gridclassifys(String redisOid);
 
    /**
     * 批量申请
     * @param codeImprotSaveDatVOList
     * @param isImprot
     * @return
     */
    public BaseResult batchImportData(List<CodeImprotSaveDatVO> codeImprotSaveDatVOList, String classifyAttr, boolean isImprot);
}