用友nc65 uap开发参照节点数据拉单之一
来源:互联网 发布:伍声2009淘宝店服装店 编辑:程序博客网 时间:2024/04/30 03:39
用友nc65 uap开发参照节点数据拉单之一
一.如图所示:通过参照按钮调用查询模版查询合同节点数据,查询出符合条件的数据显示表头数据在面板,通过选择其中一条数据拉单参照到合同变更节点(编辑态)
调用查询面板
弹出框
将选中的数据显示在节点中
二、代码
xml按钮配置
<bean id="refAction" class="nc.ui.fdc_pr.h303113517.actions.RefAction"><property name="model"><ref bean="bmModel"/></property><property name="editor" ref="billForm" /><property name="defaultUIF2RefEditor" ref="defaultUIF2RefEditor"></property><property name="exceptionHandler"><ref bean="exceptionHandler" /></property></bean>
<!-- 导入编辑器 --><bean id="defaultUIF2RefEditor" class="nc.itf.fdc.pub.DefaultUIF2RefEditor"><property name="addAction" ref="addAction" /><property name="billcardPanelEditor" ref="billForm" /><property name="appModel" ref="bmModel" /></bean>按钮类
package nc.ui.fdc_pr.h303113517.actions;import java.awt.Container;import java.awt.event.ActionEvent;import nc.bs.framework.common.NCLocator;import nc.itf.fdc.pub.DefaultUIF2RefEditor;import nc.itf.fdc_pr.IH303113510Maintain;import nc.itf.fdc_pr.IH303201525Maintain;import nc.ui.pub.beans.UIDialog;import nc.ui.pub.pf.BillSourceVar;import nc.ui.pubapp.uif2app.actions.AbstractReferenceAction;import nc.ui.pubapp.uif2app.actions.AddAction;import nc.ui.pubapp.uif2app.view.ShowUpableBillForm;import nc.ui.querytemplate.IBillReferQuery;import nc.ui.querytemplate.QueryConditionDLG;import nc.ui.uif2.model.AbstractAppModel;import nc.vo.fdc_pr.h303113510.AggRentPact;import nc.vo.fdc_pr.h303113510.BailPact;import nc.vo.fdc_pr.h303113510.HousePact;import nc.vo.fdc_pr.h303113510.LesseePact;import nc.vo.fdc_pr.h303113510.StandardPact;import nc.vo.pub.lang.UFBoolean;import nc.vo.pubapp.AppContext;import nc.vo.querytemplate.TemplateInfo;/** * * @author: zenglong * @ClassName: RefAction * @Description: 参照类 * @date: 2017年1月16日 */public class RefAction extends AbstractReferenceAction {private static final long serialVersionUID = -3387516993124229948L;private AbstractAppModel model;private AddAction addAction;private ShowUpableBillForm editor;private DefaultUIF2RefEditor defaultUIF2RefEditor = null;IH303201525Maintain query = NCLocator.getInstance().lookup(IH303201525Maintain.class);public AbstractAppModel getModel() {return model;}public void setModel(AbstractAppModel model) {this.model = model;}private IBillReferQuery dlg = null;private String funNode = "H303113510";public RefAction() {// TODO 自动生成的构造函数存根this.setBtnName("参照");this.setCode("refAction");}@Overridepublic void doAction(ActionEvent arg0) throws Exception {//=====================查询模版显示============================if (dlg == null) {dlg = setConditionClient(null, model.getContext().getEntranceUI(),model.getContext().getPk_loginUser(), funNode, model.getContext().getPk_group());}if (dlg.showModal() != UIDialog.ID_OK) {return;}//======================单据模版显示===========================RefDlg bsDlg = createBillsourceDLG();// 加载模版bsDlg.addBillUI();// 加载数据bsDlg.loadHeadData();if (bsDlg.showModal() != UIDialog.ID_OK) {return;}//======================确定按钮后操作===========================AggRentPact[] m_tmpRetVos = (AggRentPact[]) bsDlg.getRetVos();// 获得单据面板数据if (null == m_tmpRetVos) {return;}bsDlg.setQueyDlg(dlg); // 放入查询模板对话框getDefaultUIF2RefEditor().addNew();getDefaultUIF2RefEditor().setValue(getAggVo(m_tmpRetVos[0]));}/** * 因为只能达到当前显示面板的aggvo 所以还要通过主键查询 * @param vo * @return */public AggRentPact getAggVo(AggRentPact vo){IH303113510Maintain service =NCLocator.getInstance().lookup(IH303113510Maintain.class);AggRentPact[] aggVo=service.query(" and nvl(dr,0)=0 and pk_head='"+vo.getParentVO().getPk_head()+"'");aggVo[0].getParentVO().setBexcgprom(UFBoolean.TRUE);//合同变更区别aggVo[0].getParentVO().setFversion(-2);//版本号设置为-2(便于后面修改)aggVo[0].getParentVO().setVdef20(aggVo[0].getParentVO().getPk_head());aggVo[0].getParentVO().setPk_pact(aggVo[0].getParentVO().getPk_head());aggVo[0].getParentVO().setPk_head("");aggVo[0].getParentVO().setApprovestatus(-1);//状态重新改变aggVo[0].getParentVO().setBillno("");//单据号StandardPact[] stanPact=(StandardPact[]) aggVo[0].getChildren(StandardPact.class);if (stanPact!=null) {for (StandardPact st : stanPact) {st.setReserve5(UFBoolean.TRUE);st.setPk_body("");}}//保证金,租户,房产主键清空BailPact[] bailPact= (BailPact[]) aggVo[0].getChildren(BailPact.class);if (bailPact!=null) {for (BailPact bail : bailPact) {bail.setPk_body(""); }}LesseePact[] lesseePact = (LesseePact[]) aggVo[0].getChildren(LesseePact.class);if (lesseePact!=null) {for (LesseePact lessee : lesseePact) {lessee.setPk_body("");}}HousePact[] houseVos = (HousePact[]) aggVo[0].getChildren(HousePact.class);if (houseVos!=null) {for (HousePact house : houseVos) {house.setPk_body("");}}return aggVo[0];}private RefDlg createBillsourceDLG() {// 载入来源单据展现对话框,并显示BillSourceVar bsVar = new BillSourceVar();bsVar.setBillType("H318");bsVar.setCurrBillOrTranstype("H318");bsVar.setFunNode("H303113511");//查询模板标识bsVar.setNodeKey("ref");bsVar.setPk_group(AppContext.getInstance().getPkGroup());bsVar.setPkField("pk_head");bsVar.setUserId(AppContext.getInstance().getPkUser());bsVar.setWhereStr(dlg.getWhereSQL());return new RefDlg(getModel().getContext().getEntranceUI(),bsVar);}/** * 查询模板构建 * */private IBillReferQuery setConditionClient(String templateId,Container parent, final String pkOperator, final String funNode,String pkCorp) {TemplateInfo ti = new TemplateInfo();ti.setTemplateId(templateId);ti.setPk_Org(pkCorp);ti.setUserid(pkOperator);ti.setCurrentCorpPk(pkCorp);ti.setFunNode(funNode);ti.setNodekey("qt");QueryConditionDLG qcDlg = new QueryConditionDLG(parent, ti);qcDlg.setVisibleNormalPanel(true);return qcDlg;}public AddAction getAdd() {return addAction;}public void setAdd(AddAction addAction) {this.addAction = addAction;}public ShowUpableBillForm getEditor() {return editor;}public void setEditor(ShowUpableBillForm editor) {this.editor = editor;}public DefaultUIF2RefEditor getDefaultUIF2RefEditor() {return defaultUIF2RefEditor;}public void setDefaultUIF2RefEditor(DefaultUIF2RefEditor defaultUIF2RefEditor) {this.defaultUIF2RefEditor = defaultUIF2RefEditor;}}弹窗面板类
package nc.ui.fdc_pr.h303113517.actions;import java.awt.BorderLayout;import java.awt.Container;import java.util.ArrayList;import java.util.List;import javax.swing.JPanel;import nc.bs.framework.common.NCLocator;import nc.bs.logging.Logger;import nc.funcnode.ui.AbstractFunclet;import nc.itf.fdc_pr.IH303113510Maintain;import nc.ui.pub.beans.MessageDialog;import nc.ui.pub.beans.UIButton;import nc.ui.pub.beans.UIDialog;import nc.ui.pub.beans.UIPanel;import nc.ui.pub.bill.BillListPanel;import nc.ui.pub.pf.BillSourceDLG;import nc.ui.pub.pf.BillSourceVar;import nc.vo.fdc_pr.h303113510.AggRentPact;import nc.vo.fdc_pr.h303113510.RentPact;import nc.vo.pub.AggregatedValueObject;/** * * @author: zenglong * @ClassName: RefDlg * @Description:参照查询结果显示面板 * @date: 2017年1月16日 */public class RefDlg extends BillSourceDLG {private static final long serialVersionUID = 1L;public RefDlg(Container parent, BillSourceVar bsVar) {super(parent, bsVar);// TODO 自动生成的构造函数存根}@Overridepublic void loadHeadData() {// TODO 自动生成的方法存根super.loadHeadData();}public String getHeadCondition() {return "approvestatus = 1 and nvl(dr,0)=0 ";}@Overridepublic AggregatedValueObject[] getRetVos() {return super.getRetVos();}public void loadBodyData(int row) {try {} catch (Exception e) {Logger.error(e.getMessage(), e);}}/** * "确定"按钮的响应,从界面获取被选单据VO */public void onOk() {if (getbillListPanel().getHeadBillModel().getRowCount() > 0) {AggregatedValueObject[] selectedBillVOs = getbillListPanel().getMultiSelectedVOs(m_billVo,m_billHeadVo, m_billBodyVo);if(selectedBillVOs.length > 1){MessageDialog.showOkCancelDlg(this.getUIDialogContentPane(),"提示", "只能选择一行数据!");return;}retBillVo = selectedBillVOs.length > 0 ? selectedBillVOs[0] : null;retBillVos = selectedBillVOs;}this.closeOK();}}
0 0
- 用友nc65 uap开发参照节点数据拉单之一
- 用友nc65 uap开发参照节点数据拉单之二----直接通过调用查询模版查询上游单据
- 用友uap开发 nc65中的参照开发
- 用友nc65 uap开发参照多选后显示问题解决
- 用友nc65 uap开发参照多选三种显示情况总结
- 用友uap nc65开发 二次登陆节点打开控制校验
- 用友nc65 uap公式开发
- nc65用友uap开发节点通过按钮调用打开另外一个节点并传数据跳编辑态(推单)
- 用友nc65 uap开发跳转编辑状态自动赋值参照值无法带出解决办法
- 用友uap nc65开发-使用自定义公式解决参照多显问题
- 用友uap nc65开发自定义档案开发
- 用友uap开发nc65按钮配置
- 用友nc65 uap审批流按钮开发
- 用友nc65 uap开发刷新按钮二次开发
- 用友nc65-uap开发将节点分配给当前登录用户可见
- 用友uap nc65开发-单据联查相关开发
- nc65用友uap开发-人力资源模块合同审批流开发
- 用友nc65 uap开发对于小数显示百分号开发
- 用tensorflow实现的,基于mnist数据集上的一个简易模型
- jsp登录小程序实操
- 【matlab】syms x y 用法
- java.util.regex.PatternSyntaxException,在将字符串截成数组时报了这种异常
- zoj1405
- 用友nc65 uap开发参照节点数据拉单之一
- mysql 语句整理和复习(一)
- 【C#】值类型与引用类型
- zoj1383
- 库函数和系统调用的区别
- Unity UGUI的localPosition和中心点Pivot 要注意的问题。
- 数据库索引使用的好处与坏处
- zoj1382
- Android N恢复出厂设置进入Recovery