蜗牛一般的UAP开发(五)树卡档案

一、本节内容

学习树卡档案的开发。
什么是树卡档案?
在这里插入图片描述
实际上跟单表档案一样,只是形式有点变化而已。

开发流程:
在这里插入图片描述

二、创建元数据

第一步仍然是创建元数据,和单表档案一样,创建组件、创建实体、实现接口。需要注意的一点是,业务属性接口映射时pid的问题:
在这里插入图片描述
接下来就和单表档案没区别了,发布元数据、生成源代码、生成建库脚本并执行

三、自动代码生成

怎么生成?
在这里插入图片描述
在这里插入图片描述
所谓的pk树,实际上就是parentId吧,个人和教程都比较倾向于使用pk树。
继续下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来重启中间件、分配职责就可以了。

四、代码调整

在这里插入图片描述

package nc.ui.train.bd.custclass.ace.handler;

import nc.ui.pubapp.uif2app.event.IAppEventHandler;
import nc.ui.pubapp.uif2app.event.billform.AddEvent;
import nc.vo.bd.cust.custclass.CustClassVO;
import nc.vo.pub.pf.BillStatusEnum;
import nc.vo.pubapp.AppContext;
import nc.ui.pub.beans.UIRefPane;
import nc.ui.pub.bill.BillCardPanel;
import nc.ui.pub.bill.BillItem;

public class AceAddHandler implements IAppEventHandler<AddEvent> {

	@Override
	public void handleAppEvent(AddEvent e) {
		String pk_group = e.getContext().getPk_group();
		String pk_org = e.getContext().getPk_org();
		BillCardPanel panel = e.getBillForm().getBillCardPanel();
		// 设置主组织默认值
		panel.setHeadItem("pk_group", pk_group);
		panel.setHeadItem("pk_org", pk_org);
		/*以下为调整代码,目的是为了新增节点时带出父节点*/
		BillItem parentCode = e.getBillForm().getBillCardPanel().getHeadItem("parent_id");
		if (e.getBillForm().getModel().getSelectedData() != null) {
			CustClassVO vo = (CustClassVO)e.getBillForm().getModel().getSelectedData();
			//若上级客户分类设置了参照,并且参照为自身(客户分类),则使用这段代码,并且需要把客户分类本身发布为参照,才能正常使用
			//但是想要一个多层级的关系,必须要这样并设置参照,不然只有一级。
			((UIRefPane)parentCode.getComponent()).setPK(vo.getPrimaryKey());
			//若没有使用参照,使用这段代码
//			parentCode.setValue(vo.getPrimaryKey());
		} else {
			parentCode.setEdit(true);
		}
	}
}

所谓的参照,也就是在建立元数据的实体属性时的一个参数,如果设置了参照,就需要改变代码,同时还要把节点本身设置为参照。
详细的参照开发下一节介绍。
在这里插入图片描述

五、代码结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值