NCC带审批流的主子表

时间:2024-04-01 21:31:52

一.绘制元数据

1.在项目对应的METADATA目录下,新建元数据文件

NCC带审批流的主子表
NCC带审批流的主子表
输入文件名 ----- finish
NCC带审批流的主子表
将视图切换为MDP资源管理器视图
NCC带审批流的主子表

2.打开bmf文件,点击空白处,修改Properties

注意:
1.必须先修改bmf文件的Properties,再绘制元数据

2.元数据代码风格必须为标准样式

3.所属模块对应META-INF/module.xml中的module name

NCC带审批流的主子表

3.绘制主子表实体

表头访问器类型必须为AggVO

NCC带审批流的主子表

表体访问器类型必须为NCVO

NCC带审批流的主子表

1.两个实体创建出来之后立马先用组合连接(组合连接放到最后的话会出现生成代码错误)
2.名称对应生成类的名称
3.缺省表名对应数据库生成的表名

1.表头VO实现接口包括:IOrgInfo,IAuditInfo,IBDObject,IMakeTime,IRowNo,流程信息获取、回写,业务PK锁,IBillNo,单据主子VO查询。这些接口可以右键表头元数据-特性-添加,只有IBillNo(baseapp/metadata/meta/IBillNo),单据主子VO查询businInterface(baseapp/metadata/pf/businInterface)需要单独添加。

2.表体VO需要实现IRowNo

NCC带审批流的主子表

使用组合连接后,表头VO会出现一个id_entity字段,选择访问策略:nc.md.model.access.BodyOfAggVOAccessor

NCC带审批流的主子表

交易类型pktranstypepk (riart/METADATA/pf/transtype/交易类型),单据类型transtype (baseapp/METADATA/pf/billtype/单据类型)添加参照

NCC带审批流的主子表

表头表体选择好对应的业务接口属性映射

NCC带审批流的主子表

二.发布元数据,生成代码

1.发布元数据

2.生成java源代码

3.生成建库sql脚本并执行

NCC带审批流的主子表

三.生成前后端代码

eclipse回到java视图
NCC带审批流的主子表

右键项目,选择NCCloud应用管理

NCC带审批流的主子表

1.点击添加NCCloud应用

2.选择对应的bmf文件

3.填写应用编码,8位,前6位对应应用注册的应用分类编码**

(注意:这里的前6位对应的应用类编码所属的应用分类,即前4位编码,在应用注册时有个对应4位编码应用分类模块号必须相同,这个模块号对应ncc工程名称与元数据所属模块,且元数据所属模块与4位编码应用分类模块号必须相同)

4.填写功能信息,编码为8位,名称即节点名称

5.填写菜单信息,与功能信息相同

NCC带审批流的主子表
选着业务组件信息-代码风格,为主子单据节点,选择特性以及其他参数

NCC带审批流的主子表
NCC带审批流的主子表
NCC带审批流的主子表

点击生成代码,即可生成前端及后端代码

NCC带审批流的主子表

四.修改代码

1.在生成的后端代码中,在META-INF中找到对应的P_xxx.upm文件,修改当中的类路径,nc改为nccloud

2.在生成的前端代码中,将/模块/节点/constant/index.js中修改FIELD.billStatus,将billstatus改为approvestatus,单据状态字段用以按钮控制

3.在生成的前端代码中,将/模块/节点/list/events/initTemplate.js中,将高级查询区赋予组织的代码注释

// item.initialvalue = { display: org_Name, value: pk_org }

4.在生成的前端代码中,将/模块/节点/card/events/initTemplate.js中,将原来data.context && data.context.pk_org中的信息进行替换

let { pk_org, org_Name } = data.context;
props.form.setFormItemsValue(CARD.form_id, {
[FIELD.org]: { value: pk_org, display: org_Name }
});
afterHeadEvent(props, CARD.form_id, FIELD.org, { display: org_Name, value: pk_org }, { display: null, value: null });

替换为

props.form.setFormItemsValue(CARD.form_id, {
‘billdate’:{value: getBusinessInfo().businessDate,display: getBusinessInfo().businessDate},
‘maketime’:{value: getBusinessInfo().businessDate,display: getBusinessInfo().businessDate},
‘creationtime’:{value: getBusinessInfo().businessDate,display:
getBusinessInfo().businessDate},
‘pk_group’:{display:getBusinessInfo().groupName,value:getBusinessInfo().groupId},
‘approvestatus’:{value: STATUS.NOSTATE, display: ‘*’},
‘billmaker’:{display:getBusinessInfo().userName,value:getBusinessInfo().userId},
‘creator’:{display:getBusinessInfo().userName,value:getBusinessInfo().userId}
});

并在文件顶部引入getBusinessInfo

import { cardCache,getBusinessInfo } from ‘nc-lightapp-front’;

五.启动项目,修改页面

1.集团管理员登录,开发配置,应用注册,找到开发的主子单据,将功能点类型改为"管理+业务类应用"

注:必须改为"管理+业务类应用",否则“集团管理员应用管理”中,无法显示

NCC带审批流的主子表

2.审批单据,生成的审批卡片需要将功能性质改为"附属功能"
NCC带审批流的主子表

3.登录系统管理员,首页-动态建模平台-系统初始化-业务初始化-集团管理员应用管理,点击修改进行分配

4.登录集团管理员即可见到新发布的节点,然后进行权限分配到具体用户

5.集团管理员到职责分配应用

注意:部分参照如人员等在界面点开无数据,因为前台代码没有设置组织信息,查找不到数据,需要到initTemplate.js/createUIDom/data.template/
props.meta.setMeta中进行修改,参照上面前端开发处理参照过滤条件

6.若新建的模块为单独的模块,需更改数据库表bd_billtype表,systemcode字段的值改为已存在的值
select * from bd_billtype order by ts desc
update bd_billtype set systemcode = ‘XXXX’
NCC带审批流的主子表