STUDIO生成主子孙单据开发说明书.docx
- 文档编号:23309071
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:55
- 大小:3.60MB
STUDIO生成主子孙单据开发说明书.docx
《STUDIO生成主子孙单据开发说明书.docx》由会员分享,可在线阅读,更多相关《STUDIO生成主子孙单据开发说明书.docx(55页珍藏版)》请在冰豆网上搜索。
STUDIO生成主子孙单据开发说明书
主子单据开发说明
一.元数据设计
主子单据需要设计如上图的元数据模型,现在以上图元数据模型为例,叙述开发主子单据过程
设计主子元数据,实体之间的对应关系都为组合关系,这和设计主子表单据类似。
只是有几点需要注意:
1.点击主表实体(任务)设计如下
访问策略设置为bodyOfAggVOAccess
2.点击子表实体(分摊任务接收方)设计如下,
访问策略需要设计为PojoAccessor
2.点击表实体(接收方子表)设计如下
3.只有主表实体的类型为AggVO,子表实体和表实体都为NCVO
二.生成VO
点击生成Java代码,会生成如图
几个VO类,需要注意的几点,
必须在子表VO类中加上:
如图的表的属性,属性名字必须和单据模板对应的页签名字一样(这个是SendVO中加的,RecieveVO也是同样的加上),加上这个属性时为了在保存的时候,能够把表的信息一块存入表中.
同时还需要再表的VO类中加上
如图的属性(这个是SendChildVO中加的,RecieveChildVO也同样)。
三.设计模板
设计完元数据和生成VO后,开始进行手工配置,这个节点没法使用向导生成,需要自行进行功能节点注册,菜单注册,单据模板初始化等等操作。
这里需要说明是在设计单据模板。
根据元数据,首先设计一个如下图样的主子表的模板
接着再设计一个表模板:
因为这里表实体是两个,所以还需要再设计一个表模板
最后进行功能节点默认模板设置:
如下图:
这里需要注意,节点标示一定要写,这里会在之后的xml配置中用到这个节点标识。
四.Xml配置
1.设计model,主子界面需要设计如下图的model
2.元数据转换工厂:
一个是主表和子表用,一个是表用
3.数据模型和模板容器,如下图,其中nodekeies和之前配置的节点标识对应上
4.界面元素xml:
--界面元素-->
--是否自动增行-->
--表体行操作按钮注册,与表体右键菜单保持一致-->
--提供了一组默认实现-->
--列表视图-->
init-method="initUI"> class="ponents.grand.action.GrandBodyAddLineAction"> --是否自动增行--> class="ponents.grand.valueStrategy.GrandPanelValueAdapter"/> class="ponents.grand.action.GrandBodyAddLineAction"> --是否自动增行--> --表体页签编码按钮--> --key为页签的tabcode--> --最大化最小化Action--> class="ponents.grand.action.MaxMinCardGrandAction"> init-method="initUI"> --主子列表界面--> init-method="initUI"> --主子的面板--> --主子的MODEL--> --主子的对应关系--> --主子的协调关系--> --表的提示信息,默认为"表信息",可以不配--> --主子卡片界面--> init-method="initUI"> --主子的面板--> --主子的MODEL--> --主子的对应关系--> --主子的空行过滤>--> --主子的协调关系--> --表的提示信息,默认为"表信息",可以不配--> --维持主子中间关系调停者的处理--> class="ponents.grand.mediator.MainGrandMediator"> --主子的BillForm--> --主子的MODEL--> --主子的关系--> 以下这个是表空行过滤,对应的页签code,一定要和你单据模板初始化中的页签code一样 --子之间对应模板关系配置--> class="ponents.grand.MainGrandRelationShip"> --列表的对应关系--> --key为子表的tabcode--> --表的ListForm--> --key为子表的tabcode--> --表的ListForm--> --卡片的对应关系--> --key为子表的tabcode--> --表的BillForm--> --key为子表的tabcode--> --表的BillForm--> --页签与VO的对应关系--> --key为页签的tabcode(下同)--> --value为页签对应的VO(下同)--> 5.单据操作代理 这里的页签code和上面的一样,必须和单据模板里面设置的页签code一样 --单据操作代理--> --key为页签的tabcode、value为页签对应的VO--> 以上XML是比较重要的部分,全部的XML有附件,这里就不全部给出了。 五.开发中需要注意的问题: XML配置完之后,就能够出现如图的主子界面了。 不过主子单据开发和平常的单据会有些区别,这里一一说明: 1.界面初始化数据: 界面初始化会用到ModelDataManager类,这个类又会调用代理类,来执行查询的数据,返回的数据才通过ModelDataManager来初始化到界面上: 首先代理类必须继承AbstractGrandQueryService类 然后开始远程调用查询。 后台查询方法如下: 需要注意的是: 这里会专门用到查询表的方法,不然查询出来的数据没有表数据。 如果不用这个封装好的类,那可以自己定义一个查询出封装好vo的方法,使其是主子VO: Override publicAggMgsSchoolVO[]queryAllData(StringwhereSql)throwsBusinessException{ AggMgsSchoolVO[]aggVOs=null; //EfficientBillQuery是根据sql条件(以and开始)进行单据VO高效查询的工具类 EfficientBillQuery try{ aggVOs=efq.query(whereSql); }catch(Exceptione){ thrownewBusinessException(e.getMessage()); } if(aggVOs.length<1){ //如果查询出的aggVOs数据没有数据,那么直接返回null returnnull; } StringBufferpk_c_a_list=ne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STUDIO 生成 主子 单据 开发 说明书