UAP61培训案例课堂案例操作手册单据开发Word文档格式.docx
《UAP61培训案例课堂案例操作手册单据开发Word文档格式.docx》由会员分享,可在线阅读,更多相关《UAP61培训案例课堂案例操作手册单据开发Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
菜单项编码TR,虚菜单
4.二级菜单
菜单项编码TR10,虚菜单
5.模块初始化
若为新增模块,则还需使用“系统管理员”登陆,并在“业务初始化”节点,对新增模块做初始化操作
四、Wizard生成代码
1.选择向导
选择菜单“新建(new)—>
其他(other)”,在弹出向导对话框中,选择“UAP开发”下的“主子表单据节点”向导
2.节点基本信息
功能信息:
功能编码“TR1001”,功能名称“销售报价单”
上级节点编码“TR10”,组织类型“销售组织”
菜单信息:
菜单编码“TR1001”,菜单名称“销售报价单”
单据类型信息:
单据类型“QUO”,单据类型名称“报价单类型”
注意如下几点:
✓上级节点对应的虚菜单若没有,需要手动通过“菜单注册”添加虚菜单。
✓功能编码要唯一(原数据库中不存在)
✓上级节点编码要存在,上级节点编码一般只是比功能编码少后面两个数字。
上级节点编码的虚菜单必须存在
✓菜单编码唯一,可以设置为与功能编码一致。
3.界面功能
4.包名、接口方法
✓client包名,private包名称为生成代码中client,private代码的包名称。
✓接口类名对应生成代码中public中的业务接口类名称。
实现类名为private业务接口实现类的名称。
✓单表档案的业务操作bpf文件中,只包含一个查询方法。
✓若勾选“自动生成bpf文件”,向导会自动完成bpf文件的创建。
生成对应的方法。
✓若勾选“选择已有bpf文件”,需要选择自己手动绘制的bpf文件,为接口方法名选择bpf文件中的对应的接口方法名称。
5.参数设置
是否发布资源默认已经勾选,表示向导配置完成后,向导最终将所生成的脚本在数据库中执行。
若不勾选,需要自己手动在数据库中运行脚本。
6.多语资源
生成“功能注册”和“菜单注册”的多语资源。
生成的多语资源信息在代码中的resource文件夹下。
7.生成资源信息
五、节点权限分配
在“用户”、“角色”、“职责”等节点,为新节点分配相应权限。
六、其它功能实现
1.添加数量、金额汇总
在Quotation_config.xml的Bean(id="
eventMediator"
)中增加如下表体字段编辑后事件:
<
beanclass="
nc.ui.pubapp.uif2app.event.EventHandlerGroup"
>
<
propertyname="
event"
value="
nc.ui.pubapp.uif2app.event.card.CardBodyAfterEditEvent"
/>
picky"
ref="
childrenPicky"
handler"
<
nc.ui.train.quotation.handler.TotalCountHandler"
/property>
/bean>
nc.ui.train.quotation.handler.TotalCountHandler.java
packagenc.ui.train.quotation.handler;
importnc.ui.pub.bill.BillCardPanel;
importnc.ui.pub.bill.BillModel;
importnc.ui.pubapp.uif2app.event.IAppEventHandler;
importnc.ui.pubapp.uif2app.event.card.CardBodyAfterEditEvent;
importnc.vo.pub.lang.UFDouble;
importnc.vo.train.entity.QuotationBVO;
importnc.vo.train.entity.QuotationHVO;
publicclassTotalCountHandlerimplementsIAppEventHandler<
CardBodyAfterEditEvent>
{
@Override
publicvoidhandleAppEvent(CardBodyAfterEditEvente){
Stringkey=e.getKey();
if(QuotationBVO.NORIGTAXMNY.equals(key)){
//将表体价税合计的和写入表头总金额
BillCardPanelcardPanel=e.getBillCardPanel();
BillModelmodel=cardPanel.getBillModel();
cardPanel.setHeadItem(QuotationHVO.NTOTALMNY,
getTotalValue(model,QuotationBVO.NORIGTAXMNY));
}elseif(QuotationBVO.NNUM.equals(key)){
//将表体主数量的和写入表头总数量
cardPanel.setHeadItem(QuotationHVO.NTOTALNUM,
getTotalValue(model,QuotationBVO.NNUM));
}
}
privateUFDoublegetTotalValue(BillModelmodel,Stringkey){
introwCount=model.getRowCount();
UFDoubletotal=newUFDouble();
Objectvalue=null;
for(inti=0;
i<
rowCount;
i++){
value=model.getValueAt(i,key);
if(valueinstanceofUFDouble){
total=total.add((UFDouble)value);
}
returntotal;
}
2.制单人默认赋值
为nc.bs.train.quotation.ace.bp.AceQuotationInsertBP新增一条前规则(填写制单人)
打开UI下面的TR1001.service,选择nc.bs.train.quotation.ace.bp.AceQuotationInsertBP,并为其添加前规则nc.bs.train.quotation.bp.rule.FillBillMakerInfo
nc.bs.train.quotation.bp.rule.FillBillMakerInfo.java
packagenc.bs.train.quotation.bp.rule;
importnc.impl.pubapp.pattern.rule.IRule;
importnc.itf.uap.pf.metadata.IFlowBizItf;
importnc.md.MDBaseQueryFacade;
importnc.md.model.IBusinessEntity;
importnc.md.model.MetaDataException;
importnc.vo.pub.ISuperVO;
importnc.vo.pubapp.AppContext;
importnc.vo.pubapp.pattern.exception.ExceptionUtils;
importnc.vo.pubapp.pattern.model.entity.bill.IBill;
publicclassFillBillMakerInfoimplementsIRule{
publicvoidprocess(Object[]bills){
setBillMakerInfo((IBill[])bills);
privatevoidsetBillMakerInfo(IBill[]bills){
for(IBillbill:
bills){
setBillMakerInfo(bill.getParent());
privatevoidsetBillMakerInfo(ISuperVObill){
StringbillMakerKey=null;
try{
StringentityName=bill.getMetaData().getEntityName();
IBusinessEntityentity=MDBaseQueryFacade.getInstance()
.getBusinessEntityByFullName(entityName);
if(null!
=entity){
billMakerKey=entity.getBizInterfaceMapInfo(
IFlowBizItf.class.getName()).get(
IFlowBizItf.ATTRIBUTE_BILLMAKER);
}catch(MetaDataExceptione){
ExceptionUtils.wrappException(e);
if(billMakerKey!
=null)
bill.setAttributeValue(billMakerKey,AppContext.getInstance()
.getPkUser());
3.审批流程配置
注意:
请先执行本文档末的调整步骤
1)在“企业建模平台->
流程管理->
流程设计->
审批流定义”节点,配置审批流程图,测试配置建议如下:
人工活动(制单):
参与者(操作员、u1)
人工活动(审核):
参与者(操作员、u2|u3)
条件分支:
以元数据方式,采用销售报价单表头的“总数量”字段定制流程分支条件
2)启用新建流程
3)用户u1新增一张单据,并“提交”,依流程定义,用户u2(或u3)登陆系统即可收到待办通知消息
附:
基于UAP-Studio(Wizards1.1.18.201209101446)通过向导生成代码后,还需做如下调整:
1.md_module注册新模块信息
insertintomd_module(createtime,creator,description,displayname,dr,help,id,