deepfos 1.1.8__tar.gz → 1.1.9__tar.gz

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.
Files changed (174) hide show
  1. {deepfos-1.1.8 → deepfos-1.1.9}/PKG-INFO +1 -1
  2. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/_version.py +1 -1
  3. deepfos-1.1.9/deepfos/api/deepmodel.py +30 -0
  4. deepfos-1.1.9/deepfos/api/journal_model.py +110 -0
  5. deepfos-1.1.9/deepfos/api/models/deepmodel.py +133 -0
  6. deepfos-1.1.9/deepfos/api/models/journal_model.py +345 -0
  7. deepfos-1.1.9/deepfos/db/edb.py +94 -0
  8. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/__init__.py +4 -0
  9. deepfos-1.1.9/deepfos/element/deepmodel.py +738 -0
  10. deepfos-1.1.9/deepfos/element/journal.py +628 -0
  11. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/reconciliation.py +1 -1
  12. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/exceptions/__init__.py +18 -0
  13. deepfos-1.1.9/deepfos/lib/serutils.py +110 -0
  14. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/utils.py +4 -4
  15. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/options.py +13 -1
  16. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos.egg-info/PKG-INFO +1 -1
  17. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos.egg-info/SOURCES.txt +8 -0
  18. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos.egg-info/requires.txt +1 -0
  19. {deepfos-1.1.8 → deepfos-1.1.9}/setup.cfg +1 -0
  20. {deepfos-1.1.8 → deepfos-1.1.9}/setup.py +1 -1
  21. {deepfos-1.1.8 → deepfos-1.1.9}/versioneer.py +0 -8
  22. {deepfos-1.1.8 → deepfos-1.1.9}/MANIFEST.in +0 -0
  23. {deepfos-1.1.8 → deepfos-1.1.9}/README.md +0 -0
  24. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/__init__.py +0 -0
  25. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/algo/__init__.py +0 -0
  26. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/algo/graph.py +0 -0
  27. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_1/__init__.py +0 -0
  28. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_1/business_model.py +0 -0
  29. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_1/dimension.py +0 -0
  30. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_1/models/__init__.py +0 -0
  31. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_1/models/business_model.py +0 -0
  32. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_1/models/dimension.py +0 -0
  33. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_2/__init__.py +0 -0
  34. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_2/dimension.py +0 -0
  35. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_2/models/__init__.py +0 -0
  36. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/V1_2/models/dimension.py +0 -0
  37. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/__init__.py +0 -0
  38. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/account.py +0 -0
  39. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/accounting_engines.py +0 -0
  40. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/app.py +0 -0
  41. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/approval_process.py +0 -0
  42. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/base.py +0 -0
  43. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/business_model.py +0 -0
  44. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/consolidation.py +0 -0
  45. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/datatable.py +0 -0
  46. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/deepfos_task.py +0 -0
  47. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/dimension.py +0 -0
  48. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/financial_model.py +0 -0
  49. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/journal_template.py +0 -0
  50. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/memory_financial_model.py +0 -0
  51. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/__init__.py +0 -0
  52. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/account.py +0 -0
  53. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/accounting_engines.py +0 -0
  54. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/app.py +0 -0
  55. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/approval_process.py +0 -0
  56. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/base.py +0 -0
  57. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/business_model.py +0 -0
  58. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/consolidation.py +0 -0
  59. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/datatable_mysql.py +0 -0
  60. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/deepfos_task.py +0 -0
  61. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/dimension.py +0 -0
  62. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/financial_model.py +0 -0
  63. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/journal_template.py +0 -0
  64. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/memory_financial_model.py +0 -0
  65. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/platform.py +0 -0
  66. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/python.py +0 -0
  67. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/reconciliation_engine.py +0 -0
  68. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/reconciliation_report.py +0 -0
  69. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/role_strategy.py +0 -0
  70. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/smartlist.py +0 -0
  71. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/space.py +0 -0
  72. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/system.py +0 -0
  73. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/variable.py +0 -0
  74. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/models/workflow.py +0 -0
  75. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/platform.py +0 -0
  76. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/python.py +0 -0
  77. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/reconciliation_engine.py +0 -0
  78. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/reconciliation_report.py +0 -0
  79. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/role_strategy.py +0 -0
  80. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/smartlist.py +0 -0
  81. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/space.py +0 -0
  82. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/system.py +0 -0
  83. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/variable.py +0 -0
  84. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/api/workflow.py +0 -0
  85. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/__init__.py +0 -0
  86. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/jstream.c +0 -0
  87. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/jstream.pyx +0 -0
  88. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/pandas.c +0 -0
  89. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/pandas.pyx +0 -0
  90. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/py_jstream.py +0 -0
  91. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/boost/py_pandas.py +0 -0
  92. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/cache.py +0 -0
  93. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/config.py +0 -0
  94. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/__init__.py +0 -0
  95. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/__init__.py +0 -0
  96. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/_base.py +0 -0
  97. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/constants.py +0 -0
  98. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/cube.py +0 -0
  99. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/formula.py +0 -0
  100. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/syscube.py +0 -0
  101. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/typing.py +0 -0
  102. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/cube/utils.py +0 -0
  103. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/__init__.py +0 -0
  104. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/_base.py +0 -0
  105. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/dimcreator.py +0 -0
  106. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/dimension.py +0 -0
  107. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/dimexpr.py +0 -0
  108. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/dimmember.py +0 -0
  109. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/eledimension.py +0 -0
  110. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/filters.py +0 -0
  111. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/dimension/sysdimension.py +0 -0
  112. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/logictable/__init__.py +0 -0
  113. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/logictable/_cache.py +0 -0
  114. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/logictable/_operator.py +0 -0
  115. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/logictable/nodemixin.py +0 -0
  116. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/logictable/sqlcondition.py +0 -0
  117. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/core/logictable/tablemodel.py +0 -0
  118. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/__init__.py +0 -0
  119. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/cipher.py +0 -0
  120. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/clickhouse.py +0 -0
  121. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/connector.py +0 -0
  122. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/daclickhouse.py +0 -0
  123. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/dameng.py +0 -0
  124. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/damysql.py +0 -0
  125. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/dbkits.py +0 -0
  126. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/deepengine.py +0 -0
  127. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/gauss.py +0 -0
  128. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/kingbase.py +0 -0
  129. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/mysql.py +0 -0
  130. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/oracle.py +0 -0
  131. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/postgresql.py +0 -0
  132. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/sqlserver.py +0 -0
  133. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/db/utils.py +0 -0
  134. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/accounting.py +0 -0
  135. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/apvlprocess.py +0 -0
  136. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/base.py +0 -0
  137. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/bizmodel.py +0 -0
  138. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/datatable.py +0 -0
  139. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/dimension.py +0 -0
  140. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/fact_table.py +0 -0
  141. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/finmodel.py +0 -0
  142. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/journal_template.py +0 -0
  143. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/pyscript.py +0 -0
  144. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/rolestrategy.py +0 -0
  145. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/smartlist.py +0 -0
  146. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/variable.py +0 -0
  147. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/element/workflow.py +0 -0
  148. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/exceptions/hook.py +0 -0
  149. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lazy.py +0 -0
  150. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/__init__.py +0 -0
  151. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/_javaobj.py +0 -0
  152. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/asynchronous.py +0 -0
  153. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/concurrency.py +0 -0
  154. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/constant.py +0 -0
  155. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/decorator.py +0 -0
  156. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/deepchart.py +0 -0
  157. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/deepux.py +0 -0
  158. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/discovery.py +0 -0
  159. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/eureka.py +0 -0
  160. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/filterparser.py +0 -0
  161. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/httpcli.py +0 -0
  162. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/jsonstreamer.py +0 -0
  163. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/nacos.py +0 -0
  164. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/patch.py +0 -0
  165. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/redis.py +0 -0
  166. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/stopwatch.py +0 -0
  167. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/subtask.py +0 -0
  168. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/lib/sysutils.py +0 -0
  169. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/local.py +0 -0
  170. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos/translation.py +0 -0
  171. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos.egg-info/dependency_links.txt +0 -0
  172. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos.egg-info/not-zip-safe +0 -0
  173. {deepfos-1.1.8 → deepfos-1.1.9}/deepfos.egg-info/top_level.txt +0 -0
  174. {deepfos-1.1.8 → deepfos-1.1.9}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: deepfos
3
- Version: 1.1.8
3
+ Version: 1.1.9
4
4
  Summary: Collecions of useful and handy tools for deepfos platform
5
5
  Home-page: http://py.deepfos.com
6
6
  Author: deepfos-python-team
@@ -43,7 +43,7 @@ def get_config():
43
43
  cfg.style = "pep440"
44
44
  cfg.tag_prefix = "v"
45
45
  cfg.parentdir_prefix = "deepfos-"
46
- cfg.versionfile_source = "deepfos_1_1/_version.py"
46
+ cfg.versionfile_source = "deepfos/_version.py"
47
47
  cfg.verbose = False
48
48
  return cfg
49
49
 
@@ -0,0 +1,30 @@
1
+ from typing import Union, Awaitable, List
2
+
3
+ from deepfos.lib.decorator import cached_property
4
+ from .base import DynamicRootAPI, ChildAPI, get
5
+ from .models.deepmodel import *
6
+
7
+
8
+ class ObjectAPI(ChildAPI):
9
+ endpoint = '/object'
10
+
11
+ @get('all/get')
12
+ def get_all(self, ) -> Union[ObjectOperationParam, Awaitable[ObjectOperationParam]]:
13
+ return {}
14
+
15
+ @get('list')
16
+ def list(self, ) -> Union[List[ObjectBasicDTO], Awaitable[List[ObjectBasicDTO]]]:
17
+ return {}
18
+
19
+
20
+ class DeepModelAPI(DynamicRootAPI, builtin=True):
21
+ module_type = 'MAINVIEW'
22
+ default_version = (1, 0)
23
+ multi_version = False
24
+ cls_name = 'DeepModelAPI'
25
+ module_name = 'deepfos.api.deepmodel'
26
+ api_version = (1, 0)
27
+
28
+ @cached_property
29
+ def object(self) -> ObjectAPI:
30
+ return ObjectAPI(self)
@@ -0,0 +1,110 @@
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 {'body': 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/calc/net/amount')
35
+ def calc_net_amount(self, param: JmPostParamVO) -> Union[JmPostResultVO, Awaitable[JmPostResultVO]]:
36
+ """
37
+ 【★】凭证模型-数据-净额计算
38
+
39
+ """
40
+ return {'body': param}
41
+
42
+ @post('data/check')
43
+ def check(self, param: CheckStandardVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
44
+ """
45
+ 【★】凭证模型-数据-标准校验
46
+
47
+ 标准校验
48
+ """
49
+ return {'body': param}
50
+
51
+ @post('data/check/dc/balance')
52
+ def check_dc_balance(self, param: JmPostParamVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
53
+ """
54
+ 【★】凭证模型-数据-借贷平衡校验
55
+
56
+ """
57
+ return {'body': param}
58
+
59
+ @post('data/delete')
60
+ def delete(self, model_data: ModelDataDeleteDTO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
61
+ """
62
+ 【★】凭证模型-数据-删除
63
+
64
+ 基于凭证模型的数据删除。应用场景:清单表关联凭证模型进行数据删除
65
+ """
66
+ return {'body': model_data}
67
+
68
+ @post('data/query/by/where')
69
+ def query(self, param: ModelDataQueryVO) -> Union[dict, Awaitable[dict]]:
70
+ """
71
+ 【★】凭证模型-数据-查询
72
+
73
+ 基于凭证模型的数据查询
74
+ """
75
+ return {'body': param}
76
+
77
+ @post('deal/posting')
78
+ def posting(self, param: JmPostParamVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
79
+ """
80
+ 【★】凭证模型-数据-过账
81
+
82
+ 基于凭证模型的数据过账
83
+ """
84
+ return {'body': param}
85
+
86
+ @post('deal/cancel-post')
87
+ def cancel_post(self, param: JmPostParamVO) -> Union[CommonResultDTO, Awaitable[CommonResultDTO]]:
88
+ """
89
+ 【★】凭证模型-数据-取消过账
90
+
91
+ 基于凭证模型的数据取消过账
92
+ """
93
+ return {'body': param}
94
+
95
+
96
+ class JournalModelAPI(DynamicRootAPI, builtin=True):
97
+ """凭证组件接口"""
98
+ module_type = 'JM'
99
+ default_version = (1, 0)
100
+ multi_version = False
101
+ cls_name = 'JournalModelAPI'
102
+ module_name = 'deepfos.api.journal_model'
103
+ api_version = (1, 0)
104
+
105
+ @cached_property
106
+ def journal_model_data(self) -> JournalModelData:
107
+ """
108
+ 凭证模型数据相关接口
109
+ """
110
+ return JournalModelData(self)
@@ -0,0 +1,133 @@
1
+ from typing import List, Optional, Dict
2
+
3
+ from .base import BaseModel
4
+
5
+ __all__ = [
6
+ "ObjectBasicDTO",
7
+ "ObjectInfo",
8
+ "ObjectLinkParam",
9
+ "ObjectPropertyParamRes",
10
+ "ObjectParam",
11
+ "ObjectOperationParam"
12
+ ]
13
+
14
+
15
+ class ObjectBasicDTO(BaseModel):
16
+ #: 对象所属应用
17
+ app: Optional[str]
18
+ #: 对象所属应用名称
19
+ appName: Optional[str]
20
+ #: 对象编码
21
+ code: Optional[str]
22
+ #: 对象名称
23
+ name: Optional[Dict[str, str]]
24
+ #: 对象范围 1:应用级对象 2:空间级对象
25
+ objectScope: Optional[int]
26
+
27
+
28
+ class ObjectInfo(BaseModel):
29
+ #: 链接目标对象所在应用id,如果传过来的是_system代表链接的是空间级对象
30
+ app: Optional[str]
31
+ #: 链接目标对象所在应用名称
32
+ appName: Optional[str]
33
+ #: 链接对象的编码
34
+ code: Optional[str]
35
+ #: 引用对象当前语种名称
36
+ objectName: Optional[str]
37
+ #: 是否为引用对象的链接
38
+ whetherQuotedRelation: Optional[bool]
39
+ #: 是否是为对象指向的链接
40
+ whetherSelfRelation: Optional[bool]
41
+
42
+
43
+ class ObjectLinkParam(BaseModel):
44
+ app: Optional[str]
45
+ code: Optional[str]
46
+ currentObjectUnique: Optional[bool]
47
+ deleteCategory: Optional[str]
48
+ inferBase: Optional[str]
49
+ inferType: Optional[str]
50
+ linkId: Optional[str]
51
+ linkObjectOption: Optional[int]
52
+ linkObjectRequired: Optional[bool]
53
+ linkType: Optional[int]
54
+ name: Optional[Dict[str, str]]
55
+ sourceObjectCode: Optional[str]
56
+ state: Optional[int]
57
+ targetApp: Optional[str]
58
+ targetObject: Optional['ObjectParam']
59
+ targetObjectCode: Optional[str]
60
+ targetObjectInfo: Optional[ObjectInfo]
61
+ whetherSystem: Optional[bool]
62
+
63
+
64
+ class ObjectPropertyParamRes(BaseModel):
65
+ #: 应用id
66
+ app: Optional[str]
67
+ #: 是否自动赋值
68
+ autoValue: Optional[bool]
69
+ #: 属性编码
70
+ code: str
71
+ #: 约束
72
+ constraint: Optional[str]
73
+ #: 默认值 默认值类型(0 无,1 定值,2 当前时间 3 枚举)
74
+ defaultValue: Optional[str]
75
+ #: 默认值类型 默认值类型(0 无,1 定值)
76
+ defaultValueType: Optional[int]
77
+ #: 推断基数: AT_LEAST_ONE, AT_MOST_ONE, MANY, ONE
78
+ inferBase: Optional[str]
79
+ #: 最大长度
80
+ maxLength: Optional[int]
81
+ #: 最大数量
82
+ maxNum: Optional[int]
83
+ #: 最大值
84
+ maxValue: Optional[str]
85
+ #: 最大值条件,枚举值 LESS_OR_EQUALS 小于等于;LESS 小于
86
+ maxValueCondition: Optional[str]
87
+ #: 最小值
88
+ minValue: Optional[str]
89
+ #: 最小值条件 GREATER_OR_EQUALS 大于等于;GREATER大于
90
+ minValueCondition: Optional[str]
91
+ #: 属性名称
92
+ name: Dict[str, str]
93
+ #: 对象编码
94
+ objectCode: Optional[str]
95
+ #: 是否是业务主键
96
+ whetherBusinessKey: bool
97
+ #: 是否是计算属性
98
+ whetherCalculation: bool
99
+ #: 是否唯一
100
+ whetherOnly: bool
101
+ #: 是否只读
102
+ whetherReadOnly: bool
103
+ #: 是否必填
104
+ whetherRequired: bool
105
+ #: 是否系统属性
106
+ whetherSystemProperties: bool
107
+
108
+
109
+ class ObjectParam(BaseModel):
110
+ app: Optional[str]
111
+ appName: Optional[str]
112
+ code: Optional[str]
113
+ linkCodes: Optional[List[str]]
114
+ linkParamList: Optional[List[ObjectLinkParam]]
115
+ name: Optional[Dict[str, str]]
116
+ objectId: Optional[str]
117
+ objectScope: Optional[int]
118
+ objectTypeList: Optional[List[str]]
119
+ propertyCodes: Optional[List[str]]
120
+ propertyParamList: Optional[List[ObjectPropertyParamRes]]
121
+ selfLinkOrder: Optional[int]
122
+ state: Optional[int]
123
+ #: 对象类型: BUILTIN, STANDARD, VIEW
124
+ type: Optional[str]
125
+ whetherSelfReference: Optional[bool]
126
+
127
+
128
+ class ObjectOperationParam(BaseModel):
129
+ objectList: List[ObjectParam]
130
+
131
+
132
+ ObjectParam.update_forward_refs()
133
+ ObjectLinkParam.update_forward_refs()
@@ -0,0 +1,345 @@
1
+ """
2
+ Models used by /journal-model-server1-0
3
+ """
4
+
5
+ from deepfos.api.models.base import BaseModel
6
+ from typing import List, Optional, Any, Dict
7
+
8
+ __all__ = [
9
+ 'CheckStandardDataVO',
10
+ 'CheckStandardVO',
11
+ 'ColumnAliasDTO',
12
+ 'ElementDetailDTO',
13
+ 'MessageDTO',
14
+ 'ModelDataColumnDTO',
15
+ 'ModelDataQueryVO',
16
+ 'QueryWhereDTO',
17
+ 'JmPostParamVO',
18
+ 'JmPostResultVO',
19
+ 'JournalModelExecCallbackPythonDTO',
20
+ 'CommonResultDTO',
21
+ 'ModelDataBatchDTO',
22
+ 'ModelDataDeleteDTO',
23
+ 'ModelDataDTO',
24
+ 'JournalModelConfig',
25
+ 'ModelColumnVO',
26
+ 'ModelDataTableVO',
27
+ 'ModelTableVO',
28
+ 'JournalModelTypeVo',
29
+ 'JournalSortConfig'
30
+ ]
31
+
32
+
33
+ class ElementDetailDTO(BaseModel):
34
+ #: 是否绝对路径
35
+ absoluteTag: Optional[bool]
36
+ #: 多语言
37
+ description: Optional[Any]
38
+ #: 元素名称
39
+ elementName: Optional[str]
40
+ #: 元素类型
41
+ elementType: Optional[str]
42
+ #: 目录id
43
+ folderId: Optional[str]
44
+ #: 多语言使用的key
45
+ languageKey: Optional[str]
46
+ #: 元素对应组件版本
47
+ moduleVersion: Optional[str]
48
+ #: 元素绝对路径
49
+ path: Optional[str]
50
+ #: 元素相对路径
51
+ relativePath: Optional[str]
52
+ #: 组件id
53
+ serverName: Optional[str]
54
+ #: 凭证类型代码
55
+ vmTypeCode: Optional[str]
56
+
57
+
58
+ class ModelColumnVO(BaseModel):
59
+ name: Optional[str]
60
+ operation: Optional[str]
61
+
62
+
63
+ class ModelDataTableVO(BaseModel):
64
+ id: Optional[str]
65
+ #: 元素编码
66
+ name: Optional[str]
67
+ #: 真实表名
68
+ actualTableName: Optional[str]
69
+ #: 文件夹ID
70
+ folderId: Optional[str]
71
+ #: 元素详细信息
72
+ elementDetail: Optional[ElementDetailDTO]
73
+ #: 子表
74
+ children: Optional[List[Any]]
75
+
76
+
77
+ class ModelTableVO(BaseModel):
78
+ #: 表的uuid
79
+ tableUuid: Optional[str]
80
+ #: 父表的uuid
81
+ parentUuid: Optional[str]
82
+ #: 数据表信息
83
+ dataTableInfo: Optional[ModelDataTableVO]
84
+ #: 字段列集合
85
+ columns: Optional[List[ModelColumnVO]]
86
+ #: 子表集合
87
+ children: Optional[List['ModelTableVO']]
88
+
89
+
90
+ class JournalModelTypeVo(BaseModel):
91
+ #: 凭证Tag
92
+ journalTag: Optional[str]
93
+ #: 凭证类型代码
94
+ typeCode: Optional[str]
95
+
96
+
97
+ class JournalModelConfig(BaseModel):
98
+ #: 逻辑表信息
99
+ logicTable: Optional[ModelTableVO]
100
+ #: 层级,0为顶层
101
+ level: Optional[int]
102
+ #:
103
+ type: Optional[str]
104
+ #: 凭证基础信息
105
+ baseInfo: Optional[Any]
106
+ #: 凭证自定义逻辑
107
+ customLogic: Optional[Any]
108
+ #: 报错集合
109
+ errorList: Optional[Any]
110
+ #: 警告集合
111
+ warningList: Optional[Any]
112
+ #: 凭证类型集合
113
+ journalModelType: Optional[List[JournalModelTypeVo]]
114
+
115
+
116
+ class CheckStandardDataVO(BaseModel):
117
+ #: mainId
118
+ mainId: Optional[str]
119
+ #: 凭证id
120
+ journalId: Optional[str]
121
+ #: 凭证类型代码
122
+ journalTypeCode: Optional[str]
123
+
124
+
125
+ class CheckStandardVO(BaseModel):
126
+ #: 凭证id和凭证类型代码集合
127
+ dataList: Optional[List[CheckStandardDataVO]]
128
+ #: 凭证模型名称
129
+ elementName: Optional[str]
130
+ #: 凭证模型文件夹ID
131
+ folderId: Optional[str]
132
+ #: 凭证模型路径
133
+ path: Optional[str]
134
+ # 筛选条件
135
+ whereStr: Optional[str]
136
+
137
+
138
+ class ColumnAliasDTO(BaseModel):
139
+ #: field
140
+ field: Optional[str]
141
+ #: id
142
+ id: Optional[str]
143
+ #: sort
144
+ sort: Optional[str]
145
+ #: viewKey
146
+ viewKey: Optional[str]
147
+
148
+
149
+ class MessageDTO(BaseModel):
150
+ #: 别名
151
+ alias: Optional[ColumnAliasDTO]
152
+ #: 描述
153
+ description: Optional[str]
154
+ #: msg
155
+ msg: Optional[str]
156
+ #: title
157
+ title: Optional[str]
158
+
159
+
160
+ class ModelDataColumnDTO(BaseModel):
161
+ #: 权限值
162
+ accessRight: Optional[int]
163
+ #: 字段别名,用于定位字段在明细表中位置
164
+ alias: Optional[ColumnAliasDTO]
165
+ #: 字段名
166
+ columnName: Optional[str]
167
+ #: 原始字段值
168
+ oldValue: Optional[Any]
169
+ #: 操作类型
170
+ operateType: Optional[str]
171
+ #: 字段值
172
+ value: Optional[Any]
173
+
174
+
175
+ class JournalSortConfig(BaseModel):
176
+ #: 字段名
177
+ col: Optional[str]
178
+ #: 排序类型 :ASC 或 DESC, 默认为 ASC
179
+ type: Optional[str]
180
+
181
+
182
+ class ModelDataQueryVO(BaseModel):
183
+ #: 数据表目录id
184
+ dataTableFolderId: Optional[str]
185
+ #: 数据表名称(从该数据表开始查,此时对应mainKeys为该表业务主键)
186
+ dataTableName: Optional[str]
187
+ #: 数据表目录(与dataTableFolderId传一个即可)
188
+ dataTablePath: Optional[str]
189
+ #: 凭证模型名称
190
+ elementName: Optional[str]
191
+ #: 返回结果中排除指定表的目录id
192
+ excludeDataTableFolderId: Optional[str]
193
+ #: 返回结果中排除指定表的表名(返回结果中排除指定表下子表的数据)
194
+ excludeDataTableName: Optional[str]
195
+ #: 返回结果中排除指定表的目录
196
+ excludeDataTablePath: Optional[str]
197
+ #: 凭证模型所在目录id(与path传一个即可)
198
+ folderId: Optional[str]
199
+ #: 返回结果中是否包含字段权限信息 默认值:false
200
+ includeAccess: Optional[bool]
201
+ #: 凭证模型主表(或传入表)的业务主键的值集合
202
+ mainKeys: Optional[List[Dict]]
203
+ #: 凭证模型所在路径
204
+ path: Optional[str]
205
+ #: 数据查询时的where条件
206
+ whereStr: Optional[str]
207
+ #: 返回的头表列名 集合,不指定,则取头表所有字段
208
+ headQueryCols: Optional[List[str]]
209
+ #: 返回的行表列名 集合,不指定,则取行表所有字段
210
+ lineQueryCols: Optional[List[str]]
211
+ #: 返回的列名 集合
212
+ sortConfig: Optional[List[JournalSortConfig]]
213
+
214
+
215
+
216
+ class QueryWhereDTO(BaseModel):
217
+ #: 字段名
218
+ columnName: Optional[str]
219
+ #: 操作符
220
+ operationCode: Optional[str]
221
+ #: 字段值
222
+ value: Optional[Any]
223
+
224
+
225
+ class JmPostParamVO(BaseModel):
226
+ #: 需过账|取消过账数据ID集合
227
+ dataIds: Optional[List[str]]
228
+ #: 凭证模型名称
229
+ elementName: Optional[str]
230
+ #: 凭证模型文件夹ID
231
+ folderId: Optional[str]
232
+ #: 凭证模型路径
233
+ path: Optional[str]
234
+ #: 筛选条件
235
+ whereStr: Optional[str]
236
+
237
+
238
+ class JmPostResultVO(BaseModel):
239
+ #: fmPostMsg
240
+ fmPostMsg: Optional[Any]
241
+ #: msg
242
+ msg: Optional[str]
243
+ #: 过账结果
244
+ postResult: Optional[Any]
245
+ #: success
246
+ success: Optional[bool]
247
+
248
+
249
+ class JournalModelExecCallbackPythonDTO(BaseModel):
250
+ #: PY所在路径,与folderId二选一
251
+ path: Optional[str]
252
+ #: PY所在文件夹ID,与path二选一
253
+ folderId: Optional[str]
254
+ #: PY的元素名称
255
+ elementName: str
256
+ #: 类型 默认值 PY
257
+ elementType: Optional[str]
258
+ #: Python服务名,如:python-server2-0
259
+ serverName: Optional[str]
260
+ #: 传给回调的参数,{key1:value1,key2:value2}
261
+ callbackParams: Optional[Dict]
262
+
263
+
264
+ class CommonResultDTO(BaseModel):
265
+ #: errors
266
+ errors: Optional[List[MessageDTO]]
267
+ #: is_success
268
+ is_success: Optional[bool]
269
+ #: notification
270
+ notification: Optional[Any]
271
+ #: success
272
+ success: Optional[bool]
273
+ #: warnings
274
+ warnings: Optional[List[MessageDTO]]
275
+ # infos
276
+ infos: Optional[List[MessageDTO]]
277
+ # successInfo
278
+ successInfo: Optional[List[MessageDTO]]
279
+ #: error_refresh
280
+ errorRefresh: Optional[bool]
281
+ # 业务主键
282
+ mainKey: Optional[Dict]
283
+
284
+
285
+ class ModelDataBatchDTO(BaseModel):
286
+ #: 数据集合
287
+ dataMap: Optional[Any]
288
+ #: 是否启用创建人、创建时间自动赋值,默认为True
289
+ enableCreate: Optional[bool]
290
+ #: 是否启用字段值为空时使用默认值填充,默认为False
291
+ enableDefaultValue: Optional[bool]
292
+ #: 是否启用业务主键重复的校验,默认为True
293
+ enableRepeatCheck: Optional[bool]
294
+ #: 是否启用必填字段的校验,默认为False
295
+ enableRequired: Optional[bool]
296
+ #: 是否启用有效性范围的校验,默认为True
297
+ enableValidRange: Optional[bool]
298
+ #: 是否启用一次性校验所有规则和数据,默认为True
299
+ enableAllErrors: Optional[bool]
300
+ #: 是否启用凭证行表至少需要一条数据的校验,默认为True
301
+ enableNeedOneLine: Optional[bool]
302
+ #: modelInfo
303
+ modelInfo: Optional[ElementDetailDTO]
304
+ #: 执行参数值列表{key1:value1,key2:value2}
305
+ paramValueMap: Optional[Any]
306
+ #: 回调信息
307
+ callbackInfo: Optional[JournalModelExecCallbackPythonDTO]
308
+
309
+
310
+ class ModelDataDeleteDTO(BaseModel):
311
+ #: 元素名
312
+ elementName: Optional[str]
313
+ #: 所属目录id
314
+ folderId: Optional[str]
315
+ #: 业务字段数据集合
316
+ mainKeyList: Optional[List[Dict]]
317
+ #: 子模型分区ID
318
+ partitionId: Optional[str]
319
+ #: 所属目录
320
+ path: Optional[str]
321
+ #: 数据删除时的where条件
322
+ whereList: Optional[List[QueryWhereDTO]]
323
+ #: 数据删除时的where条件
324
+ whereStr: Optional[str]
325
+
326
+
327
+
328
+ class ModelDataDTO(BaseModel):
329
+ #: 子数据信息
330
+ children: Optional[List['ModelDataDTO']]
331
+ #: 数据表字段及值
332
+ columns: Optional[List[ModelDataColumnDTO]]
333
+ #: 数据表目录编码
334
+ dataTableFolderId: Optional[str]
335
+ #: 数据表名(元素名)
336
+ dataTableName: Optional[str]
337
+ #: 数据表目录
338
+ dataTablePath: Optional[str]
339
+ #: mainId
340
+ mainId: Optional[str]
341
+
342
+
343
+
344
+ ModelTableVO.update_forward_refs()
345
+ ModelDataDTO.update_forward_refs()