deepfos 1.1.60__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- deepfos/__init__.py +6 -0
- deepfos/_version.py +21 -0
- deepfos/algo/__init__.py +0 -0
- deepfos/algo/graph.py +171 -0
- deepfos/algo/segtree.py +31 -0
- deepfos/api/V1_1/__init__.py +0 -0
- deepfos/api/V1_1/business_model.py +119 -0
- deepfos/api/V1_1/dimension.py +599 -0
- deepfos/api/V1_1/models/__init__.py +0 -0
- deepfos/api/V1_1/models/business_model.py +1033 -0
- deepfos/api/V1_1/models/dimension.py +2768 -0
- deepfos/api/V1_2/__init__.py +0 -0
- deepfos/api/V1_2/dimension.py +285 -0
- deepfos/api/V1_2/models/__init__.py +0 -0
- deepfos/api/V1_2/models/dimension.py +2923 -0
- deepfos/api/__init__.py +0 -0
- deepfos/api/account.py +167 -0
- deepfos/api/accounting_engines.py +147 -0
- deepfos/api/app.py +626 -0
- deepfos/api/approval_process.py +198 -0
- deepfos/api/base.py +983 -0
- deepfos/api/business_model.py +160 -0
- deepfos/api/consolidation.py +129 -0
- deepfos/api/consolidation_process.py +106 -0
- deepfos/api/datatable.py +341 -0
- deepfos/api/deep_pipeline.py +61 -0
- deepfos/api/deepconnector.py +36 -0
- deepfos/api/deepfos_task.py +92 -0
- deepfos/api/deepmodel.py +188 -0
- deepfos/api/dimension.py +486 -0
- deepfos/api/financial_model.py +319 -0
- deepfos/api/journal_model.py +119 -0
- deepfos/api/journal_template.py +132 -0
- deepfos/api/memory_financial_model.py +98 -0
- deepfos/api/models/__init__.py +3 -0
- deepfos/api/models/account.py +483 -0
- deepfos/api/models/accounting_engines.py +756 -0
- deepfos/api/models/app.py +1338 -0
- deepfos/api/models/approval_process.py +1043 -0
- deepfos/api/models/base.py +234 -0
- deepfos/api/models/business_model.py +805 -0
- deepfos/api/models/consolidation.py +711 -0
- deepfos/api/models/consolidation_process.py +248 -0
- deepfos/api/models/datatable_mysql.py +427 -0
- deepfos/api/models/deep_pipeline.py +55 -0
- deepfos/api/models/deepconnector.py +28 -0
- deepfos/api/models/deepfos_task.py +386 -0
- deepfos/api/models/deepmodel.py +308 -0
- deepfos/api/models/dimension.py +1576 -0
- deepfos/api/models/financial_model.py +1796 -0
- deepfos/api/models/journal_model.py +341 -0
- deepfos/api/models/journal_template.py +854 -0
- deepfos/api/models/memory_financial_model.py +478 -0
- deepfos/api/models/platform.py +178 -0
- deepfos/api/models/python.py +221 -0
- deepfos/api/models/reconciliation_engine.py +411 -0
- deepfos/api/models/reconciliation_report.py +161 -0
- deepfos/api/models/role_strategy.py +884 -0
- deepfos/api/models/smartlist.py +237 -0
- deepfos/api/models/space.py +1137 -0
- deepfos/api/models/system.py +1065 -0
- deepfos/api/models/variable.py +463 -0
- deepfos/api/models/workflow.py +946 -0
- deepfos/api/platform.py +199 -0
- deepfos/api/python.py +90 -0
- deepfos/api/reconciliation_engine.py +181 -0
- deepfos/api/reconciliation_report.py +64 -0
- deepfos/api/role_strategy.py +234 -0
- deepfos/api/smartlist.py +69 -0
- deepfos/api/space.py +582 -0
- deepfos/api/system.py +372 -0
- deepfos/api/variable.py +154 -0
- deepfos/api/workflow.py +264 -0
- deepfos/boost/__init__.py +6 -0
- deepfos/boost/py_jstream.py +89 -0
- deepfos/boost/py_pandas.py +20 -0
- deepfos/cache.py +121 -0
- deepfos/config.py +6 -0
- deepfos/core/__init__.py +27 -0
- deepfos/core/cube/__init__.py +10 -0
- deepfos/core/cube/_base.py +462 -0
- deepfos/core/cube/constants.py +21 -0
- deepfos/core/cube/cube.py +408 -0
- deepfos/core/cube/formula.py +707 -0
- deepfos/core/cube/syscube.py +532 -0
- deepfos/core/cube/typing.py +7 -0
- deepfos/core/cube/utils.py +238 -0
- deepfos/core/dimension/__init__.py +11 -0
- deepfos/core/dimension/_base.py +506 -0
- deepfos/core/dimension/dimcreator.py +184 -0
- deepfos/core/dimension/dimension.py +472 -0
- deepfos/core/dimension/dimexpr.py +271 -0
- deepfos/core/dimension/dimmember.py +155 -0
- deepfos/core/dimension/eledimension.py +22 -0
- deepfos/core/dimension/filters.py +99 -0
- deepfos/core/dimension/sysdimension.py +168 -0
- deepfos/core/logictable/__init__.py +5 -0
- deepfos/core/logictable/_cache.py +141 -0
- deepfos/core/logictable/_operator.py +663 -0
- deepfos/core/logictable/nodemixin.py +673 -0
- deepfos/core/logictable/sqlcondition.py +609 -0
- deepfos/core/logictable/tablemodel.py +497 -0
- deepfos/db/__init__.py +36 -0
- deepfos/db/cipher.py +660 -0
- deepfos/db/clickhouse.py +191 -0
- deepfos/db/connector.py +195 -0
- deepfos/db/daclickhouse.py +171 -0
- deepfos/db/dameng.py +101 -0
- deepfos/db/damysql.py +189 -0
- deepfos/db/dbkits.py +358 -0
- deepfos/db/deepengine.py +99 -0
- deepfos/db/deepmodel.py +82 -0
- deepfos/db/deepmodel_kingbase.py +83 -0
- deepfos/db/edb.py +214 -0
- deepfos/db/gauss.py +83 -0
- deepfos/db/kingbase.py +83 -0
- deepfos/db/mysql.py +184 -0
- deepfos/db/oracle.py +131 -0
- deepfos/db/postgresql.py +192 -0
- deepfos/db/sqlserver.py +99 -0
- deepfos/db/utils.py +135 -0
- deepfos/element/__init__.py +89 -0
- deepfos/element/accounting.py +348 -0
- deepfos/element/apvlprocess.py +215 -0
- deepfos/element/base.py +398 -0
- deepfos/element/bizmodel.py +1269 -0
- deepfos/element/datatable.py +2467 -0
- deepfos/element/deep_pipeline.py +186 -0
- deepfos/element/deepconnector.py +59 -0
- deepfos/element/deepmodel.py +1806 -0
- deepfos/element/dimension.py +1254 -0
- deepfos/element/fact_table.py +427 -0
- deepfos/element/finmodel.py +1485 -0
- deepfos/element/journal.py +840 -0
- deepfos/element/journal_template.py +943 -0
- deepfos/element/pyscript.py +412 -0
- deepfos/element/reconciliation.py +553 -0
- deepfos/element/rolestrategy.py +243 -0
- deepfos/element/smartlist.py +457 -0
- deepfos/element/variable.py +756 -0
- deepfos/element/workflow.py +560 -0
- deepfos/exceptions/__init__.py +239 -0
- deepfos/exceptions/hook.py +86 -0
- deepfos/lazy.py +104 -0
- deepfos/lazy_import.py +84 -0
- deepfos/lib/__init__.py +0 -0
- deepfos/lib/_javaobj.py +366 -0
- deepfos/lib/asynchronous.py +879 -0
- deepfos/lib/concurrency.py +107 -0
- deepfos/lib/constant.py +39 -0
- deepfos/lib/decorator.py +310 -0
- deepfos/lib/deepchart.py +778 -0
- deepfos/lib/deepux.py +477 -0
- deepfos/lib/discovery.py +273 -0
- deepfos/lib/edb_lexer.py +789 -0
- deepfos/lib/eureka.py +156 -0
- deepfos/lib/filterparser.py +751 -0
- deepfos/lib/httpcli.py +106 -0
- deepfos/lib/jsonstreamer.py +80 -0
- deepfos/lib/msg.py +394 -0
- deepfos/lib/nacos.py +225 -0
- deepfos/lib/patch.py +92 -0
- deepfos/lib/redis.py +241 -0
- deepfos/lib/serutils.py +181 -0
- deepfos/lib/stopwatch.py +99 -0
- deepfos/lib/subtask.py +572 -0
- deepfos/lib/sysutils.py +703 -0
- deepfos/lib/utils.py +1003 -0
- deepfos/local.py +160 -0
- deepfos/options.py +670 -0
- deepfos/translation.py +237 -0
- deepfos-1.1.60.dist-info/METADATA +33 -0
- deepfos-1.1.60.dist-info/RECORD +175 -0
- deepfos-1.1.60.dist-info/WHEEL +5 -0
- deepfos-1.1.60.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"""
|
|
2
|
+
APIs provided by financial-model-server1-0
|
|
3
|
+
|
|
4
|
+
generated by api_code_gen.py
|
|
5
|
+
- **filename** : ``financial_model.py``
|
|
6
|
+
- **json timestamp** : ``2022-11-28 17:27:51``
|
|
7
|
+
"""
|
|
8
|
+
from deepfos.api.base import get, post, DynamicRootAPI, ChildAPI
|
|
9
|
+
from .models.financial_model import *
|
|
10
|
+
from deepfos.lib.decorator import cached_property
|
|
11
|
+
from typing import List, Dict, Union, Any, Awaitable
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
__all__ = ['FinancialModelAPI']
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Block(ChildAPI):
|
|
18
|
+
endpoint = '/block'
|
|
19
|
+
|
|
20
|
+
@post('pc-init')
|
|
21
|
+
def pc_init(self, params: PcParams) -> Union[Any, Awaitable[Any]]:
|
|
22
|
+
"""
|
|
23
|
+
初始化财务模型状态
|
|
24
|
+
|
|
25
|
+
"""
|
|
26
|
+
return {'body': params}
|
|
27
|
+
|
|
28
|
+
@post('pc-status')
|
|
29
|
+
def pc_status(self, params: PcParams) -> Union[Any, Awaitable[Any]]:
|
|
30
|
+
"""
|
|
31
|
+
更新财务模型权限状态
|
|
32
|
+
|
|
33
|
+
"""
|
|
34
|
+
return {'body': params}
|
|
35
|
+
|
|
36
|
+
@post('pc-status-upsert')
|
|
37
|
+
def pc_status_upsert(self, params: PcParams) -> Union[Any, Awaitable[Any]]:
|
|
38
|
+
"""
|
|
39
|
+
upsert更新财务模型权限状态
|
|
40
|
+
|
|
41
|
+
"""
|
|
42
|
+
return {'body': params}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class Extra(ChildAPI):
|
|
46
|
+
endpoint = '/'
|
|
47
|
+
|
|
48
|
+
@post('copyCalculate')
|
|
49
|
+
def copyCalculate(self, calculateDTO: CopyCalculateDTO) -> Union[Any, Awaitable[Any]]:
|
|
50
|
+
"""
|
|
51
|
+
copy计算接口API
|
|
52
|
+
|
|
53
|
+
"""
|
|
54
|
+
return {'body': calculateDTO}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
class CubeDataAPI(ChildAPI):
|
|
58
|
+
endpoint = '/cube-data'
|
|
59
|
+
|
|
60
|
+
@post('query')
|
|
61
|
+
def query(self, cubeQueryForOutVo: CubeQueryForOutVo) -> Union[Any, Awaitable[Any]]:
|
|
62
|
+
"""
|
|
63
|
+
财务数据模型外部取数接口
|
|
64
|
+
|
|
65
|
+
财务数据模型取数查询
|
|
66
|
+
"""
|
|
67
|
+
return {'body': cubeQueryForOutVo}
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class CubeAPI(ChildAPI):
|
|
71
|
+
endpoint = '/cube'
|
|
72
|
+
|
|
73
|
+
@get('cube-dimension')
|
|
74
|
+
def cube_dimension(self, cubeName: str, folderId: str = None, path: str = None, version: str = None) -> Union[Any, Awaitable[Any]]:
|
|
75
|
+
"""
|
|
76
|
+
给电子表格使用,获取cube及其数据表、维度相关数据信息
|
|
77
|
+
|
|
78
|
+
查询财务数据模型列属性数据,并归类.1为维度列集合;999为属性维集合
|
|
79
|
+
;1000为财务数据模型主数据
|
|
80
|
+
"""
|
|
81
|
+
return {
|
|
82
|
+
'param': {
|
|
83
|
+
'cubeName': cubeName,
|
|
84
|
+
'folderId': folderId,
|
|
85
|
+
'path': path,
|
|
86
|
+
'version': version,
|
|
87
|
+
},
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@get('data')
|
|
91
|
+
def data(self, cubeName: str, folderId: str = None, path: str = None) -> Union[FinancialModelDto, Awaitable[FinancialModelDto]]:
|
|
92
|
+
"""
|
|
93
|
+
cube使用视图,查询接口
|
|
94
|
+
|
|
95
|
+
"""
|
|
96
|
+
return {'param': {'cubeName': cubeName, 'folderId': folderId, 'path': path}}
|
|
97
|
+
|
|
98
|
+
@post('delete-other')
|
|
99
|
+
def delete_other(self, param: ElementDeleteFrontRearDTO) -> Union[bool, Awaitable[bool]]:
|
|
100
|
+
"""
|
|
101
|
+
cube元素删除--后置逻辑
|
|
102
|
+
|
|
103
|
+
该接口为配置到平台的接口--见module.json中的配置,如果有配
|
|
104
|
+
置,在平台的元素删除后,会触发此接口
|
|
105
|
+
"""
|
|
106
|
+
return {'body': param}
|
|
107
|
+
|
|
108
|
+
@get('find-cube-data')
|
|
109
|
+
def find_cube_data(self, cubeName: str, folderId: str = None, path: str = None) -> Union[FinancialDataDto, Awaitable[FinancialDataDto]]:
|
|
110
|
+
"""
|
|
111
|
+
查询cube的基本数据
|
|
112
|
+
|
|
113
|
+
"""
|
|
114
|
+
return {'param': {'cubeName': cubeName, 'folderId': folderId, 'path': path}}
|
|
115
|
+
|
|
116
|
+
@post('right')
|
|
117
|
+
def right(self, cubeInfo: FinancialDataDto) -> Union[FinancialDataDto, Awaitable[FinancialDataDto]]:
|
|
118
|
+
"""
|
|
119
|
+
cube权限页面,新建、编辑接口
|
|
120
|
+
|
|
121
|
+
"""
|
|
122
|
+
return {'body': cubeInfo}
|
|
123
|
+
|
|
124
|
+
@get('right/query')
|
|
125
|
+
def right_query(self, cubeName: str, folderId: str = None, path: str = None) -> Union[FinancialModelDto, Awaitable[FinancialModelDto]]:
|
|
126
|
+
"""
|
|
127
|
+
cube权限页面,查询接口
|
|
128
|
+
|
|
129
|
+
"""
|
|
130
|
+
return {'param': {'cubeName': cubeName, 'folderId': folderId, 'path': path}}
|
|
131
|
+
|
|
132
|
+
@post('save')
|
|
133
|
+
def save(self, financialModelDto: FinancialModelDto) -> Union[FinancialModelDto, Awaitable[FinancialModelDto]]:
|
|
134
|
+
"""
|
|
135
|
+
cube使用视图,新建、编辑接口
|
|
136
|
+
|
|
137
|
+
cube每一次新建、编辑都会触发两次接口,saveType为0表示校验
|
|
138
|
+
,1表示新建/保存
|
|
139
|
+
"""
|
|
140
|
+
return {'body': financialModelDto}
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class CubeDataLogAPI(ChildAPI):
|
|
144
|
+
endpoint = '/cube/data/log'
|
|
145
|
+
|
|
146
|
+
@post('list')
|
|
147
|
+
def list(self, cubeDataLogForm: CubeDataLogForm) -> Union[List[Any], Awaitable[List[Any]]]:
|
|
148
|
+
"""
|
|
149
|
+
财务模型数据审计查询
|
|
150
|
+
|
|
151
|
+
"""
|
|
152
|
+
return {'body': cubeDataLogForm}
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
class CubeCalculateAPI(ChildAPI):
|
|
156
|
+
endpoint = '/cubeCalculate'
|
|
157
|
+
|
|
158
|
+
@post('clearData')
|
|
159
|
+
def clear_data(self, clearDataDTO: ClearDataDTO) -> Union[ResultObj, Awaitable[ResultObj]]:
|
|
160
|
+
"""
|
|
161
|
+
根据财务数据模型名称 所在文件夹Id 维度表达式 清除相关的数据
|
|
162
|
+
|
|
163
|
+
"""
|
|
164
|
+
return {'body': clearDataDTO}
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
class ReactSpreadsheet(ChildAPI):
|
|
168
|
+
endpoint = '/react/spreadsheet'
|
|
169
|
+
|
|
170
|
+
@post('save')
|
|
171
|
+
def save(self, spreadsheetSaveForm: ReactSpreadsheetSaveForm) -> Union[Any, Awaitable[Any]]:
|
|
172
|
+
"""
|
|
173
|
+
电子表格数据保存
|
|
174
|
+
|
|
175
|
+
"""
|
|
176
|
+
return {'body': spreadsheetSaveForm}
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
class SpreadSheetAPI(ChildAPI):
|
|
180
|
+
endpoint = '/spreadsheets'
|
|
181
|
+
|
|
182
|
+
@get('query-pov-dimension-tree')
|
|
183
|
+
def query_pov_dimension_tree(self, sheetPovTreeParam: SheetPovTreeParam) -> Union[SheetPovTreeDto, Awaitable[SheetPovTreeDto]]:
|
|
184
|
+
"""
|
|
185
|
+
电子表格pov查询,树形结构
|
|
186
|
+
|
|
187
|
+
"""
|
|
188
|
+
return {'body': sheetPovTreeParam}
|
|
189
|
+
|
|
190
|
+
@get('query-pov-member')
|
|
191
|
+
def query_pov_member(self, workbookName: str, folderId: str) -> Union[List[SheetPovInfoDto], Awaitable[List[SheetPovInfoDto]]]:
|
|
192
|
+
"""
|
|
193
|
+
电子表格pov查询,仪表盘用
|
|
194
|
+
|
|
195
|
+
"""
|
|
196
|
+
return {'param': {'folderId': folderId, 'workbookName': workbookName}}
|
|
197
|
+
|
|
198
|
+
@post('query-workbook-data')
|
|
199
|
+
def query_workbook_data(self, wookbookParamDto: WookbookParamDto) -> Union[WorkbookInfoDto, Awaitable[WorkbookInfoDto]]:
|
|
200
|
+
"""
|
|
201
|
+
电子表格查询接口
|
|
202
|
+
|
|
203
|
+
"""
|
|
204
|
+
return {'body': wookbookParamDto}
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
class WorkbookAPI(ChildAPI):
|
|
208
|
+
endpoint = '/workbookcontroller'
|
|
209
|
+
|
|
210
|
+
@get('findworkbookinfo')
|
|
211
|
+
def findworkbookinfo(self, workbookName: str, workbookFolderId: str = None, workbookPath: str = None) -> Union[Any, Awaitable[Any]]:
|
|
212
|
+
"""
|
|
213
|
+
电子表格编辑视图查询
|
|
214
|
+
|
|
215
|
+
根据电子表格唯一标识
|
|
216
|
+
(workbookName+workbookFolderId),查询出
|
|
217
|
+
电子表格相关数据信息
|
|
218
|
+
"""
|
|
219
|
+
return {
|
|
220
|
+
'param': {
|
|
221
|
+
'workbookFolderId': workbookFolderId,
|
|
222
|
+
'workbookName': workbookName,
|
|
223
|
+
'workbookPath': workbookPath,
|
|
224
|
+
},
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
class MdxTask(ChildAPI):
|
|
229
|
+
endpoint = '/mdx/task'
|
|
230
|
+
|
|
231
|
+
@post('execution')
|
|
232
|
+
def execution(self, param: TaskExecutionParam) -> Union[TaskExecutionResult, Awaitable[TaskExecutionResult]]:
|
|
233
|
+
"""
|
|
234
|
+
execution
|
|
235
|
+
|
|
236
|
+
"""
|
|
237
|
+
return {'body': param}
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class FinancialModelAPI(DynamicRootAPI, builtin=True):
|
|
241
|
+
"""财务模型组件接口"""
|
|
242
|
+
module_type = 'CUB'
|
|
243
|
+
default_version = (1, 0)
|
|
244
|
+
multi_version = False
|
|
245
|
+
cls_name = 'FinancialModelAPI'
|
|
246
|
+
module_name = 'deepfos.api.financial_model'
|
|
247
|
+
api_version = (1, 0)
|
|
248
|
+
|
|
249
|
+
@cached_property
|
|
250
|
+
def block(self) -> Block:
|
|
251
|
+
"""
|
|
252
|
+
财务模型状态表初始化
|
|
253
|
+
"""
|
|
254
|
+
return Block(self)
|
|
255
|
+
|
|
256
|
+
@cached_property
|
|
257
|
+
def extra(self) -> Extra:
|
|
258
|
+
"""
|
|
259
|
+
copy计算
|
|
260
|
+
"""
|
|
261
|
+
return Extra(self)
|
|
262
|
+
|
|
263
|
+
@cached_property
|
|
264
|
+
def data(self) -> CubeDataAPI:
|
|
265
|
+
"""
|
|
266
|
+
财务数据模型外部取数接口
|
|
267
|
+
"""
|
|
268
|
+
return CubeDataAPI(self)
|
|
269
|
+
|
|
270
|
+
@cached_property
|
|
271
|
+
def cube(self) -> CubeAPI:
|
|
272
|
+
"""
|
|
273
|
+
财务数据模型cube相关接口
|
|
274
|
+
"""
|
|
275
|
+
return CubeAPI(self)
|
|
276
|
+
|
|
277
|
+
@cached_property
|
|
278
|
+
def data_log(self) -> CubeDataLogAPI:
|
|
279
|
+
"""
|
|
280
|
+
财务数据模型数据审计接口
|
|
281
|
+
"""
|
|
282
|
+
return CubeDataLogAPI(self)
|
|
283
|
+
|
|
284
|
+
@cached_property
|
|
285
|
+
def calculate(self) -> CubeCalculateAPI:
|
|
286
|
+
"""
|
|
287
|
+
财务数据模型清数接口
|
|
288
|
+
"""
|
|
289
|
+
return CubeCalculateAPI(self)
|
|
290
|
+
|
|
291
|
+
@cached_property
|
|
292
|
+
def reactspreadsheet(self) -> ReactSpreadsheet:
|
|
293
|
+
"""
|
|
294
|
+
财务模型相关联数据保存
|
|
295
|
+
"""
|
|
296
|
+
return ReactSpreadsheet(self)
|
|
297
|
+
|
|
298
|
+
@cached_property
|
|
299
|
+
def spreadsheet(self) -> SpreadSheetAPI:
|
|
300
|
+
"""
|
|
301
|
+
电子表格查询
|
|
302
|
+
"""
|
|
303
|
+
return SpreadSheetAPI(self)
|
|
304
|
+
|
|
305
|
+
@cached_property
|
|
306
|
+
def workbook(self) -> WorkbookAPI:
|
|
307
|
+
"""
|
|
308
|
+
电子表格编辑视图相关接口
|
|
309
|
+
"""
|
|
310
|
+
return WorkbookAPI(self)
|
|
311
|
+
|
|
312
|
+
@cached_property
|
|
313
|
+
def mdxtask(self) -> MdxTask:
|
|
314
|
+
"""
|
|
315
|
+
mdx-script-calculation-controller
|
|
316
|
+
"""
|
|
317
|
+
return MdxTask(self)
|
|
318
|
+
|
|
319
|
+
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
from deepfos.api.base import get, post, DynamicRootAPI, ChildAPI
|
|
2
|
+
from .models.journal_model import *
|
|
3
|
+
from deepfos.lib.decorator import cached_property
|
|
4
|
+
from typing import Union, Awaitable
|
|
5
|
+
|
|
6
|
+
__all__ = ['JournalModelAPI']
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class JournalModelData(ChildAPI):
|
|
10
|
+
endpoint = '/business/model'
|
|
11
|
+
|
|
12
|
+
@get('/config')
|
|
13
|
+
def get_config(self, base: ElementDetailDTO) -> Union[JournalModelConfig, Awaitable[JournalModelConfig]]:
|
|
14
|
+
return {'param': base}
|
|
15
|
+
|
|
16
|
+
@post('data/sync/batch/save')
|
|
17
|
+
def save(self, batch: ModelDataBatchDTO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
18
|
+
"""
|
|
19
|
+
【★】凭证模型-数据-异步-批量保存-只支持保存,不支持更新
|
|
20
|
+
|
|
21
|
+
基于凭证模型的数据批量保存
|
|
22
|
+
"""
|
|
23
|
+
return {'body': batch}
|
|
24
|
+
|
|
25
|
+
@post('/data/batch/save')
|
|
26
|
+
def sync_save(self, batch: ModelDataBatchDTO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
27
|
+
"""
|
|
28
|
+
【★】凭证模型-数据-同步-批量保存-只支持保存,不支持更新
|
|
29
|
+
|
|
30
|
+
基于凭证模型的数据批量保存
|
|
31
|
+
"""
|
|
32
|
+
return {'body': batch}
|
|
33
|
+
|
|
34
|
+
@post('/data/update')
|
|
35
|
+
def update(self, batch: ModelDataBatchDTO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
36
|
+
"""
|
|
37
|
+
【★】凭证模型-数据-单条更新-只支持头行更新及行插入和删除
|
|
38
|
+
|
|
39
|
+
基于凭证模型的数据更新
|
|
40
|
+
"""
|
|
41
|
+
return {'body': batch}
|
|
42
|
+
|
|
43
|
+
@post('data/calc/net/amount')
|
|
44
|
+
def calc_net_amount(self, param: JmPostParamVO) -> Union[JmPostResultVO, Awaitable[JmPostResultVO]]:
|
|
45
|
+
"""
|
|
46
|
+
【★】凭证模型-数据-净额计算
|
|
47
|
+
|
|
48
|
+
"""
|
|
49
|
+
return {'body': param}
|
|
50
|
+
|
|
51
|
+
@post('data/check')
|
|
52
|
+
def check(self, param: CheckStandardVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
53
|
+
"""
|
|
54
|
+
【★】凭证模型-数据-标准校验
|
|
55
|
+
|
|
56
|
+
标准校验
|
|
57
|
+
"""
|
|
58
|
+
return {'body': param}
|
|
59
|
+
|
|
60
|
+
@post('data/check/dc/balance')
|
|
61
|
+
def check_dc_balance(self, param: JmPostParamVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
62
|
+
"""
|
|
63
|
+
【★】凭证模型-数据-借贷平衡校验
|
|
64
|
+
|
|
65
|
+
"""
|
|
66
|
+
return {'body': param}
|
|
67
|
+
|
|
68
|
+
@post('data/delete')
|
|
69
|
+
def delete(self, model_data: ModelDataDeleteDTO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
70
|
+
"""
|
|
71
|
+
【★】凭证模型-数据-删除
|
|
72
|
+
|
|
73
|
+
基于凭证模型的数据删除。应用场景:清单表关联凭证模型进行数据删除
|
|
74
|
+
"""
|
|
75
|
+
return {'body': model_data}
|
|
76
|
+
|
|
77
|
+
@post('data/query/by/where')
|
|
78
|
+
def query(self, param: ModelDataQueryVO) -> Union[dict, Awaitable[dict]]:
|
|
79
|
+
"""
|
|
80
|
+
【★】凭证模型-数据-查询
|
|
81
|
+
|
|
82
|
+
基于凭证模型的数据查询
|
|
83
|
+
"""
|
|
84
|
+
return {'body': param}
|
|
85
|
+
|
|
86
|
+
@post('deal/posting')
|
|
87
|
+
def posting(self, param: JmPostParamVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
88
|
+
"""
|
|
89
|
+
【★】凭证模型-数据-过账
|
|
90
|
+
|
|
91
|
+
基于凭证模型的数据过账
|
|
92
|
+
"""
|
|
93
|
+
return {'body': param}
|
|
94
|
+
|
|
95
|
+
@post('deal/cancel-post')
|
|
96
|
+
def cancel_post(self, param: JmPostParamVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
|
|
97
|
+
"""
|
|
98
|
+
【★】凭证模型-数据-取消过账
|
|
99
|
+
|
|
100
|
+
基于凭证模型的数据取消过账
|
|
101
|
+
"""
|
|
102
|
+
return {'body': param}
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class JournalModelAPI(DynamicRootAPI, builtin=True):
|
|
106
|
+
"""凭证组件接口"""
|
|
107
|
+
module_type = 'JM'
|
|
108
|
+
default_version = (1, 0)
|
|
109
|
+
multi_version = False
|
|
110
|
+
cls_name = 'JournalModelAPI'
|
|
111
|
+
module_name = 'deepfos.api.journal_model'
|
|
112
|
+
api_version = (1, 0)
|
|
113
|
+
|
|
114
|
+
@cached_property
|
|
115
|
+
def journal_model_data(self) -> JournalModelData:
|
|
116
|
+
"""
|
|
117
|
+
凭证模型数据相关接口
|
|
118
|
+
"""
|
|
119
|
+
return JournalModelData(self)
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"""
|
|
2
|
+
APIs provided by journal-template-server1-0
|
|
3
|
+
|
|
4
|
+
generated by api_code_gen.py
|
|
5
|
+
- **filename** : ``journal_template.py``
|
|
6
|
+
- **json timestamp** : ``2022-09-23 15:10:19``
|
|
7
|
+
"""
|
|
8
|
+
from deepfos.api.base import get, post, DynamicRootAPI, ChildAPI
|
|
9
|
+
from .models.journal_template import *
|
|
10
|
+
from deepfos.lib.decorator import cached_property
|
|
11
|
+
from typing import List, Dict, Union, Any, Awaitable
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
__all__ = ['JournalTemplateAPI']
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class JournalTemplate(ChildAPI):
|
|
18
|
+
endpoint = '/journal-template'
|
|
19
|
+
|
|
20
|
+
@post('query-detail')
|
|
21
|
+
def query_detail(self, elementBasicInfoVO: JournalTemplateQuery) -> Union[JournalTemplateDetail, Awaitable[JournalTemplateDetail]]:
|
|
22
|
+
"""
|
|
23
|
+
单据模板定义全量信息查询
|
|
24
|
+
|
|
25
|
+
查询信息包括头体尾及审批流,按钮,过账等信息
|
|
26
|
+
"""
|
|
27
|
+
return {'body': elementBasicInfoVO}
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class Journal(ChildAPI):
|
|
31
|
+
endpoint = '/journal'
|
|
32
|
+
|
|
33
|
+
@post('batch-save')
|
|
34
|
+
def batch_save(self, dto: JournalBatchDataDTO) -> Union[Any, Awaitable[Any]]:
|
|
35
|
+
"""
|
|
36
|
+
批量保存单据信息(后台调用)
|
|
37
|
+
|
|
38
|
+
"""
|
|
39
|
+
return {'body': dto}
|
|
40
|
+
|
|
41
|
+
@post('delete-by-filter')
|
|
42
|
+
def delete_by_filter(self, delete: JournalDataBatchDel) -> Union[DataTableCustomSqlResultDTO, Awaitable[DataTableCustomSqlResultDTO]]:
|
|
43
|
+
"""
|
|
44
|
+
根据条件删除单据
|
|
45
|
+
|
|
46
|
+
"""
|
|
47
|
+
return {'body': delete}
|
|
48
|
+
|
|
49
|
+
@post('get-aggregate-data')
|
|
50
|
+
def get_aggregate_data(self, batchQuery: JournalOrderDataBatchQuery) -> Union[List[JournalAggregateResultDTO], Awaitable[List[JournalAggregateResultDTO]]]:
|
|
51
|
+
"""
|
|
52
|
+
聚合数据获取
|
|
53
|
+
|
|
54
|
+
"""
|
|
55
|
+
return {'body': batchQuery}
|
|
56
|
+
|
|
57
|
+
@post('get-batch-data')
|
|
58
|
+
def get_batch_data(self, query: JournalOrderDataBatchQuery) -> Union[DataTableCustomSqlResultDTO, Awaitable[DataTableCustomSqlResultDTO]]:
|
|
59
|
+
"""
|
|
60
|
+
批量查询单据数据
|
|
61
|
+
|
|
62
|
+
"""
|
|
63
|
+
return {'body': query}
|
|
64
|
+
|
|
65
|
+
@post('get-total-data')
|
|
66
|
+
def get_total_data(self, batchQuery: JournalOrderDataBatchQuery) -> Union[DataTableCustomSqlResultDTO, Awaitable[DataTableCustomSqlResultDTO]]:
|
|
67
|
+
"""
|
|
68
|
+
查询统计数据
|
|
69
|
+
|
|
70
|
+
"""
|
|
71
|
+
return {'body': batchQuery}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
class Posting(ChildAPI):
|
|
75
|
+
endpoint = '/posting'
|
|
76
|
+
|
|
77
|
+
@post('cancel-posting')
|
|
78
|
+
def cancel_posting(self, requestPostingParamDTO: PostingRequestDto) -> Union[Any, Awaitable[Any]]:
|
|
79
|
+
"""
|
|
80
|
+
取消过账请求
|
|
81
|
+
|
|
82
|
+
"""
|
|
83
|
+
return {'body': requestPostingParamDTO}
|
|
84
|
+
|
|
85
|
+
@post('get-posting')
|
|
86
|
+
def get_posting(self, requestPostingParamDTO: PostingRequestDto) -> Union[Any, Awaitable[Any]]:
|
|
87
|
+
"""
|
|
88
|
+
过账请求
|
|
89
|
+
|
|
90
|
+
"""
|
|
91
|
+
return {'body': requestPostingParamDTO}
|
|
92
|
+
|
|
93
|
+
@post('query-posting-param')
|
|
94
|
+
def query_posting_param(self, postingInfoParamQuery: PostingParamQueryDto) -> Union[PostingParam, Awaitable[PostingParam]]:
|
|
95
|
+
"""
|
|
96
|
+
过账参数查询
|
|
97
|
+
|
|
98
|
+
"""
|
|
99
|
+
return {'body': postingInfoParamQuery}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class JournalTemplateAPI(DynamicRootAPI, builtin=True):
|
|
103
|
+
"""日记账模板组件接口"""
|
|
104
|
+
module_type = 'JT'
|
|
105
|
+
default_version = (1, 0)
|
|
106
|
+
multi_version = False
|
|
107
|
+
cls_name = 'JournalTemplateAPI'
|
|
108
|
+
module_name = 'deepfos.api.journal_template'
|
|
109
|
+
api_version = (1, 0)
|
|
110
|
+
|
|
111
|
+
@cached_property
|
|
112
|
+
def journaltemplate(self) -> JournalTemplate:
|
|
113
|
+
"""
|
|
114
|
+
单据模板定义信息接口
|
|
115
|
+
"""
|
|
116
|
+
return JournalTemplate(self)
|
|
117
|
+
|
|
118
|
+
@cached_property
|
|
119
|
+
def journal(self) -> Journal:
|
|
120
|
+
"""
|
|
121
|
+
单据数据操作接口
|
|
122
|
+
"""
|
|
123
|
+
return Journal(self)
|
|
124
|
+
|
|
125
|
+
@cached_property
|
|
126
|
+
def posting(self) -> Posting:
|
|
127
|
+
"""
|
|
128
|
+
过账接口
|
|
129
|
+
"""
|
|
130
|
+
return Posting(self)
|
|
131
|
+
|
|
132
|
+
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"""
|
|
2
|
+
APIs provided by memory-financial-model-server1-0
|
|
3
|
+
|
|
4
|
+
generated by model_code_gen.py
|
|
5
|
+
- **filename** : ``memory_financial_model.py``
|
|
6
|
+
- **json timestamp** : ``2022-08-16 18:00:32``
|
|
7
|
+
"""
|
|
8
|
+
from .base import get, post, DynamicRootAPI, ChildAPI
|
|
9
|
+
from .models.memory_financial_model import *
|
|
10
|
+
from deepfos.lib.decorator import cached_property
|
|
11
|
+
from typing import List, Dict, Union, Any, Awaitable
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
__all__ = ['MemFinancialModelAPI']
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class CubeData(ChildAPI):
|
|
18
|
+
endpoint = '/cube-data'
|
|
19
|
+
|
|
20
|
+
@post('cell-data')
|
|
21
|
+
def cell_data(self, pythonQuery: PythonQueryCubeDTO = None) -> Union[List[Any], Awaitable[List[Any]]]:
|
|
22
|
+
"""
|
|
23
|
+
合并算法-获取模型POV数据条件下单元格数据
|
|
24
|
+
|
|
25
|
+
"""
|
|
26
|
+
return {'body': pythonQuery}
|
|
27
|
+
|
|
28
|
+
@post('clear-cube-data')
|
|
29
|
+
def clear_cube_data(self, pythonQuery: PythonQueryCubeDTO = None) -> Union[Any, Awaitable[Any]]:
|
|
30
|
+
"""
|
|
31
|
+
清除模型数据
|
|
32
|
+
|
|
33
|
+
"""
|
|
34
|
+
return {'body': pythonQuery}
|
|
35
|
+
|
|
36
|
+
@post('general-query')
|
|
37
|
+
def general_query(self, params: CubeGeneralQuery) -> Union[List[dict], Awaitable[List[dict]]]:
|
|
38
|
+
"""
|
|
39
|
+
内存财务模型对外数据查询接口
|
|
40
|
+
|
|
41
|
+
内存财务模型对外提供数据查询接口
|
|
42
|
+
"""
|
|
43
|
+
return {'body': params}
|
|
44
|
+
|
|
45
|
+
@post('python-exp')
|
|
46
|
+
def python_exp(self, pythonExpParam: PythonQueryCubeDTO = None) -> Union[List[PythonResultDTO], Awaitable[List[PythonResultDTO]]]:
|
|
47
|
+
"""
|
|
48
|
+
合并算法-处理python公式
|
|
49
|
+
|
|
50
|
+
"""
|
|
51
|
+
return {'body': pythonExpParam}
|
|
52
|
+
|
|
53
|
+
@post('query')
|
|
54
|
+
def query(self, multiReportQuery: QueryParamInfoVo) -> Union[SheetDataResultVo, Awaitable[SheetDataResultVo]]:
|
|
55
|
+
"""
|
|
56
|
+
透视表查询内存财务模型数据
|
|
57
|
+
|
|
58
|
+
透视表查询内存财务模型数据(下钻)
|
|
59
|
+
"""
|
|
60
|
+
return {'body': multiReportQuery}
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class Cube(ChildAPI):
|
|
64
|
+
endpoint = '/cube'
|
|
65
|
+
|
|
66
|
+
@get('find-cube-data')
|
|
67
|
+
def find_cube_data(self, folderId: str, cubeCode: str) -> Union[MemFinancialModelVo, Awaitable[MemFinancialModelVo]]:
|
|
68
|
+
"""
|
|
69
|
+
查询内存财务数据模型数据
|
|
70
|
+
|
|
71
|
+
"""
|
|
72
|
+
return {'body': {'cubeCode': cubeCode, 'folderId': folderId}}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class MemFinancialModelAPI(DynamicRootAPI, builtin=True):
|
|
76
|
+
"""内存财务模型组件接口"""
|
|
77
|
+
module_type = 'IMFM'
|
|
78
|
+
default_version = (1, 0)
|
|
79
|
+
multi_version = False
|
|
80
|
+
cls_name = 'MemFinancialModelAPI'
|
|
81
|
+
module_name = 'deepfos.api.memory_financial_model'
|
|
82
|
+
api_version = (1, 0)
|
|
83
|
+
|
|
84
|
+
@cached_property
|
|
85
|
+
def cubedata(self) -> CubeData:
|
|
86
|
+
"""
|
|
87
|
+
内存财务对外数据接口
|
|
88
|
+
"""
|
|
89
|
+
return CubeData(self)
|
|
90
|
+
|
|
91
|
+
@cached_property
|
|
92
|
+
def cube(self) -> Cube:
|
|
93
|
+
"""
|
|
94
|
+
内存财务数据模型相关接口
|
|
95
|
+
"""
|
|
96
|
+
return Cube(self)
|
|
97
|
+
|
|
98
|
+
|