STUDIO生成主子孙单据开发说明(3)

2019-06-11 16:03

class=\p\>

5. 单据操作代理

这里的页签code和上面的一样,必须和单据模板里面设置的页签code一样

class=\>

以上XML是比较重要的部分,全部的XML有附件,这里就不全部给出了。

五.开发中需要注意的问题:

XML配置完之后,就能够出现如图的主子孙界面了。

不过主子孙单据开发和平常的单据会有些区别,这里一一说明:

1. 界面初始化数据:

界面初始化会用到ModelDataManager类,这个类又会调用代理类,来执行查询的数据,返回的数据才通过ModelDataManager来初始化到界面上:

首先代理类必须继承AbstractGrandQueryService类

然后开始远程调用查询。

后台查询方法如下:

需要注意的是:这里会专门用到查询孙表的方法,不然查询出来的数据没有孙表数据。

如果不用这个封装好的类,那可以自己定义一个查询出封装好vo的方法,使其是主子孙VO:

@Override

public AggMgsSchoolVO[] queryAllData(String whereSql)throws

AggMgsSchoolVO[] aggVOs = null;

//EfficientBillQuery是根据sql条件(以and开始)进行单据VO高效查询的工具EfficientBillQuery efq = new try { }

if(aggVOs.length < 1){ }

StringBuffer pk_c_a_list = new StringBuffer(); pk_c_a_list.append(\

for (int i = 0; i < aggVOs.length; i++) { }

pk_c_a_list.append(\

AggMgsSchoolVO aggMgsSchoolVO = aggVOs[i]; MgsClassaVO[] acvo = (MgsClassaVO[]) if(acvo.length > 0){ }

for (int j = 0; j < acvo.length; j++) { }

MgsClassaVO mgsClassaVO = acvo[j];

pk_c_a_list.append(mgsClassaVO.getPk_c_a()+\

//如果查询出的aggVOs数据没有数据,那么直接返回null

return null;

aggVOs = efq.query(whereSql);

throw new BusinessException(e.getMessage()); } catch (Exception e) {

BusinessException {

EfficientBillQuery(AggMgsSchoolVO.class);

aggMgsSchoolVO.getChildren(MgsClassaVO.class);

//构造出孙表外键的数组

String pk_c_a_lists = pk_c_a_list.delete(pk_c_a_list.length()-4,

StringBuffer pk_c_b_list = new StringBuffer(); pk_c_b_list.append(\

for (int i = 0; i < aggVOs.length; i++) {

AggMgsSchoolVO aggMgsSchoolVO = aggVOs[i]; MgsClassbVO[] bcvo = (MgsClassbVO[])

pk_c_a_list.length()-2).toString();

aggMgsSchoolVO.getChildren(MgsClassbVO.class);

}

if(bcvo.length > 0){ }

for (int j = 0; j < bcvo.length; j++) {

MgsClassbVO mgsClassaVO = bcvo[j];

pk_c_b_list.append(mgsClassaVO.getPk_c_b()+\

}

pk_c_b_list.append(\

//构造出孙表外键的数组

String pk_c_b_lists = pk_c_b_list.delete(pk_c_b_list.length()-4,

BaseDAO bd = new BaseDAO();

//查询出MgsTeacheraVO数据

List tas = (List)

pk_c_b_list.length()-2).toString();

bd.retrieveByClause(MgsTeacheraVO.class, \in\

//查询出MgsTeacherbVO数据

List tbs = (List)

bd.retrieveByClause(MgsTeacherbVO.class, \in\

//封装为主子孙的VO

for(int k = 0; k < aggVOs.length; k++){

MgsClassaVO[] mgsca = (MgsClassaVO[]) for (int i = 0; i < mgsca.length; i++) {

Set lavos = new HashSet(); String pk_c_a = mgsca[i].getPk_c_a(); for(int j = 0 ; j < tas.size() ; j++){ }

((MgsClassaVO[])

MgsTeacheraVO tavo = tas.get(j); if(tavo.getPk_c_a().equals(pk_c_a)){ }

lavos.add(tavo); tas.remove(tavo);

aggVOs[k].getChildren(MgsClassaVO.class);

aggVOs[k].getChildren(MgsClassaVO.class))[i].setPk_t_a(lavos.toArray(new MgsTeacheraVO[0]));

}

for(int k = 0; k < aggVOs.length; k++){

MgsClassbVO[] mgscb = (MgsClassbVO[]) for (int i = 0; i < mgscb.length; i++) {

Set lbvos = new HashSet(); }

aggVOs[k].getChildren(MgsClassbVO.class);


STUDIO生成主子孙单据开发说明(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:非煤试卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: