组织模型包括:
组织对象模型
组织层级模型
关于组织架构的维护示例及业务解释,见文档:合并架构维护
|
组织对象(单条) |
保存前置校验 |
+ 组织对象”编码”符合维度编码要求 |
|---|---|---|
|
保存后或删除后-同步维度 |
+ 全量更新EntityFilter维度,范围status=true | |
|
编辑权限 |
+ 组织对象的有效性为有效(status=true) 不允许删除 | |
|
组织对象(批量) |
保存后同步 |
+ 逻辑同单条 |
|
编辑权限 |
+ 组织对象的有效性为有效(status=true) 不允许修改组织编码(意味着不能删除) | |
|
组织层级(单条) |
保存前置校验 |
+ 关系号校验,符号(年 |
|
保存后或删除后-同步维度 |
+ 更新”是否新建”为false | |
|
保存后或删除后-回调流程控制 |
+ 当单条层级数据发生变更,重置合并节点及以上的计算、折算、贡献状态 | |
|
复制上期 |
+ 如果当前期间不是1月,且上期合并方法为当期处置,本期结转为往期处置 | |
|
编辑权限 |
+ 状态为未提交时(process_status=1)允许编辑和删除,其他状态不允许编辑 | |
|
读写权限 |
+ 用作角色的字段:父实体parent | |
|
组织对象(批量) |
复制上期 |
+ 逻辑同单条 |
|
保存后同步维度 |
+ 逻辑同单条 | |
|
编辑权限 |
+ 状态为未提交时(process_status=1)允许编辑,其他状态不允许编辑 |
|
对象 |
元素名称 |
元素类型 |
版本 |
路径 |
|---|---|---|---|---|
|
组织对象 |
Entity |
数据表-MySQL |
1.0 |
根目录/Consolidation_App/Entity/Entity |
|
Entity |
业务模型 |
1.1 |
根目录/Consolidation_App/Entity/Entity | |
|
Entity_Form |
业务明细表 |
1.1 |
根目录/Consolidation_App/Entity/Entity | |
|
Entity_List |
清单表-网页 |
1.2 |
根目录/Consolidation_App/Entity/Entity | |
|
before_save |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/entity_model/action_center | |
|
after_save |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/entity_model/action_center | |
|
before_delete |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/entity_model/action_center | |
|
after_delete |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/entity_model/action_center | |
|
组织层级对象 |
Entity_Hierarchy |
数据表-MySQL |
1.0 |
根目录/Consolidation_App/Entity/Entity_Hierarchy |
|
Entity_Hierarchy |
业务模型 |
1.1 |
根目录/Consolidation_App/Entity/Entity_Hierarchy | |
|
Entity_Hierarchy_Form |
业务明细表 |
1.1 |
根目录/Consolidation_App/Entity/Entity_Hierarchy | |
|
Entity_Hierarchy_List |
清单表-网页 |
1.2 |
根目录/Consolidation_App/Entity/Entity_Hierarchy | |
|
before_save |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/hierarchy_model/action_center | |
|
after_save |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/hierarchy_model/action_center | |
|
after_delete |
Python脚本 |
2.0 |
根目录/Python/hierarchy_management/hierarchy_model/action_center | |
|
通用 |
Scenario |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension |
|
Version |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
Year |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
Period |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
EntityFilter |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
Entity |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
Partner |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
Currency |
维度 |
1.2 |
根目录/Consolidation_App/Common/Dimension | |
|
principle |
值列表 |
1.0 |
根目录/Consolidation_App/Common/ValueList | |
|
entity_type |
值列表 |
1.0 |
根目录/Consolidation_App/Common/ValueList | |
|
consol_method |
值列表 |
1.0 |
根目录/Consolidation_App/Common/ValueList | |
|
boolean |
值列表 |
1.0 |
根目录/Consolidation_App/Common/ValueList | |
|
Y_N |
值列表 |
1.0 |
根目录/Consolidation_App/Common/ValueList |
|
字段 |
描述 |
字段类型 |
值列表/维度 |
必填 |
备注 |
|---|---|---|---|---|---|
|
entity_no |
实体编码 |
文本(255) |
- |
Y |
业务主键 |
|
name_zh_cn |
实体名称(中文简体) |
文本(255) |
- | ||
|
name_en |
实体名称(英文) |
文本(255) | |||
|
name_zh_tw |
实体名称(中文繁体) |
文本(255) | |||
|
currency |
本位币 |
维度 |
Currency |
Y | |
|
isBase |
是否末级组织 |
值列表 |
boolean |
Y | |
|
isICP |
是否交易方 |
值列表 |
boolean |
Y | |
|
principle |
会计准则 |
值列表 |
principle | ||
|
status |
是否生效 |
值列表 |
boolean |
Y | |
|
exec_status |
同步是否成功 |
值列表 |
boolean |
Y | |
|
ud1 |
ud1示例 |
自定义 |
自定义 | ||
|
ud2 |
ud2示例 |
自定义 |
自定义 | ||
|
ud3 |
ud3示例 |
自定义 |
自定义 | ||
|
_id | |||||
|
_modifier |
**** | ||||
|
_modify_time | |||||
|
_creator | |||||
|
_create_time |
|
字段 |
描述 |
字段类型 |
值列表/维度 |
必填 |
备注 |
|---|---|---|---|---|---|
|
str_no |
关系号 |
文本(255) |
- |
Y |
业务主键 |
|
entity |
实体 |
维度 |
EntityFilter |
Y | |
|
parent |
父实体 |
维度 |
EntityFilter |
Y | |
|
scenario |
场景 |
维度 |
Scenario |
Y | |
|
version |
版本 |
维度 |
Version |
Y | |
|
year |
年份 |
维度 |
Year |
Y | |
|
period |
期间 |
维度 |
Period |
Y | |
|
status |
是否激活 |
值列表 |
Y_N |
Y | |
|
entity_type |
实体类型 |
值列表 |
entity_type |
Y | |
|
consol_method |
合并方法 |
值列表 |
consol_method |
Y | |
|
share_percentage |
等效持股比例 |
小数(13,6) |
Y | ||
|
share_move_percentage |
等效持股变动比例 |
小数(13,6) |
Y | ||
|
process_status |
流程控制状态 |
值列表 |
process_status |
Y | |
|
first_input |
是否新建 |
值列表 |
boolean |
Y | |
|
goodwill |
商誉 |
小数(13,6) | |||
|
_id | |||||
|
_modifier |
**** | ||||
|
_modify_time | |||||
|
_creator | |||||
|
_create_time |
|
值列表 |
编码 |
描述 |
备注 |
|---|---|---|---|
|
principle |
PRC_GAAP |
中国准则 | |
|
US_GAAP |
美国准则 | ||
|
IFRS_GAAP |
国际准则 | ||
|
entity_type |
holding |
母公司 |
合并算法调度中使用,不可删改 |
|
subsidiary |
子公司 | ||
|
branch |
分公司 | ||
|
consol_method |
non_ctrl_equ |
非同控权益法 | |
|
same_ctrl_equ |
同控权益法 | ||
|
mgnt_consol |
管理合并 | ||
|
cur_disposal |
当期处置 |
组织层级模型复制逻辑中使用,不要删改 | |
|
pre_disposal |
往期处置 | ||
|
minority |
联合持股(交叉持股) |
组织层级模型同步维度时使用,不要删改 | |
|
none |
不合并 |
在业务模型Entity自定义逻辑中绑定预置python
组织对象编码entity_no符合维度编码要求,实体编码仅可由英文、数字、下划线、小数点组成(^[0-9a-zA-Z_.]+$)
组织层级维护中使用的组织对象,组织对象的有效性status不能从”有效”改为”无效”
更新EntityFilter维度
同步范围:status=true
同步方式:全量
同步字段:
|
EntityFilter维度 |
来源 |
备注 |
|---|---|---|
|
编码 |
字段 | |
|
描述(多语言) |
字段 |
多语言匹配 |
|
父级编码 |
固定值 | |
|
比重 |
固定值 | |
|
共享节点 |
固定值 | |
|
是否有效 |
固定值 | |
|
是否末级组织ud1 |
|
更新Partner维度
同步范围:isICP=true
同步方式:全量
同步字段:
|
Partner维度 |
来源 |
备注 |
|---|---|---|
|
编码 |
| |
|
描述(多语言) |
|
多语言匹配 |
|
父级编码 |
固定值 | |
|
比重 |
固定值 | |
|
共享节点 |
固定值 | |
|
是否有效 |
固定值 |
更新Entity维度的ud
同步范围:status=true
同步方式:全量
同步字段:
不涉及新增entity维度的成员,只是在现有的成员中找到编码一致的去更新ud
同保存后
在业务模型Entity权限管理中设置状态字段”status” (是否生效)
当status=false时允许删除
校验关系号与年、期间、场景、版本、实体、父实体是否符合规则年|期间|场景|版本|实体|父实体
校验组织结构是否成环(不存在循环投资)
更新first_input=false
“是否新建first_input”为true时,可以编辑年、期间、场景、版本、实体、父实体
“是否新建first_input”为false时,不可以编辑关系号、年、期间、场景、版本、实体、父实体
更新Entity维度
同步范围:全部
同步方式:全量
同步字段:
|
Entity维度 |
来源 |
备注 |
|---|---|---|
|
编码 |
字段 | |
|
描述(多语言) |
逻辑:取Entity模型的描述 |
多语言匹配 |
|
ud |
逻辑:取Entity模型的ud字段 |
所有ud |
|
父级编码 |
字段 | |
|
本位币 |
逻辑:取Entity模型的本位币 | |
|
比重 |
固定值 | |
|
共享节点 |
逻辑:依据是否共享判断 | |
|
是否有效 |
固定值 |
同步实体激活表:
同步方式:全量更新当月
季度
半年
全年的激活状态
|
Entity实体激活 |
来源 |
备注 |
|---|---|---|
|
name |
字段 | |
|
parentName |
字段 | |
|
Year |
字段 | |
|
Period |
字段 | |
|
Scenario |
字段 | |
|
Version |
字段 | |
|
is_active |
字段 |
⚠️ 注意,维护组织层级结构时,如果一个”非末级节点”的父级不在任何层级结构中,那么系统会默认把该”非末级节点”挂在#root下激活!( 简单点说就是你维护的父子结构断掉了,那么系统默认把这个断掉的父挂在#root)👇👇👇可以参考下面例子,假设场景4
举个例子–组织层级失效(不纳入合并)
假设2023年1月合并架构如下:

实体激活表同步结果如下:

|
name |
parent_name |
Version |
Scenario |
Year |
Period |
is_active |
|---|---|---|---|---|---|---|
|
TotalEntity |
#root |
Working |
Actual |
2023 |
1 |
Y |
|
A_C |
TotalEntity |
Working |
Actual |
2023 |
1 |
Y |
|
A |
A_C |
Working |
Actual |
2023 |
1 |
Y |
|
B_C |
A_C |
Working |
Actual |
2023 |
1 |
Y |
|
B |
B_C |
Working |
Actual |
2023 |
1 |
Y |
|
C |
B_C |
Working |
Actual |
2023 |
1 |
Y |
|
D |
B_C |
Working |
Actual |
2023 |
1 |
Y |
|
E |
A_C |
Working |
Actual |
2023 |
1 |
Y |
2023年2月层级关系为:
假设场景1:末级节点失效,D父级为B_C失效

实体激活表同步结果如下:

|
name |
parent_name |
Version |
Scenario |
Year |
Period |
is_active |
|---|---|---|---|---|---|---|
|
TotalEntity |
#root |
Working |
Actual |
2023 |
2 |
Y |
|
A_C |
TotalEntity |
Working |
Actual |
2023 |
2 |
Y |
|
A |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B_C |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
C |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
D |
B_C |
Working |
Actual |
2023 |
2 |
N |
|
E |
A_C |
Working |
Actual |
2023 |
2 |
Y |
假设场景2:非末级节点失效,B_C父级为A_C失效

实体激活表同步结果如下:

|
name |
parent_name |
Version |
Scenario |
Year |
Period |
is_active |
|---|---|---|---|---|---|---|
|
TotalEntity |
#root |
Working |
Actual |
2023 |
2 |
Y |
|
A_C |
TotalEntity |
Working |
Actual |
2023 |
2 |
Y |
|
A |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B_C |
A_C |
Working |
Actual |
2023 |
2 |
N |
|
B |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
C |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
D |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
E |
A_C |
Working |
Actual |
2023 |
2 |
Y |
假设场景3:非末级节点失效,A_C父级为TotalEntity失效

实体激活表同步结果如下:

|
name |
parent_name |
Version |
Scenario |
Year |
Period |
is_active |
|---|---|---|---|---|---|---|
|
TotalEntity |
#root |
Working |
Actual |
2023 |
2 |
Y |
|
A_C |
TotalEntity |
Working |
Actual |
2023 |
2 |
N |
|
A |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B_C |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
C |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
D |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
E |
A_C |
Working |
Actual |
2023 |
2 |
Y |
举个例子–组织层级维护断了
假设场景4:2023年2月,新增C父级为F_C,但未维护F_C的父级

实体激活表同步结果如下:

|
name |
parent_name |
Version |
Scenario |
Year |
Period |
is_active |
|---|---|---|---|---|---|---|
|
TotalEntity |
#root |
Working |
Actual |
2023 |
2 |
Y |
|
A_C |
TotalEntity |
Working |
Actual |
2023 |
2 |
Y |
|
A |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B_C |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
B |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
C |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
D |
B_C |
Working |
Actual |
2023 |
2 |
Y |
|
E |
A_C |
Working |
Actual |
2023 |
2 |
Y |
|
F_C |
#root |
Working |
Actual |
2023 |
2 |
Y |
|
F |
F_C |
Working |
Actual |
2023 |
2 |
Y |
举个例子–组织层级变更
2022年2月层级关系为:
假设场景5:末级节点父级变更,D父级变更为A_C

假设场景6:非末级节点父级变更,B_C父级变更为TotalEntity

同保存后
取数:当前月是月层级第一个月,则取月层级最后一个月&取前一年(上年的最后一个月层级);否则取同年的前一个月;scenario和version取pov成员
复制数据
改写字段:
year:入参年份
period:入参期间
str_no:按规则重新生成
consol_method:
如果当前月不是月层级的第一个成员 & 值为cur_disposal,则:改为pre_disposal, 举个🌰🌰🌰:如果1月合并方法是当期处置,2月复制上期后,合并方法改写为往期处置
如果当前月是月层级的第一个成员 & 值为cur_disposal或pre_disposal,清空数据, 举个🌰🌰🌰:如果去年最后一期合并方法是当期处置或往期处置,那么今年1月复制上期后,今年1月没有该条数据
share_move_percentage:
清空
清数:清除当前期间数据
写入:写入当前期间数据
见文档 权限方案
回到顶部
咨询热线
