NC65添加自定义按钮

以收款单节点卡片显示添加【退回】按钮为例:

(如果按钮没显示,页面出现按钮注册,不要慌,分别查看配置文件和类是不是正确)

1、先去功能注册里找到这个节点的配置文件:jzpr_receive_config.xml,然后定义按钮bean以及对应的类。(可以复制已有的按钮配置进行修改,我这里就是根据添加按钮修改的)
在这里插入图片描述
在这里插入图片描述
2、定义nc.ui.jzcm.jzpr0505.PrReceiveSendAction这个类,把这个类放在添加按钮类相同的包下。

package nc.ui.jzcm.jzpr0505;

import java.awt.event.ActionEvent;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.List;
import nc.bs.framework.common.NCLocator;
import nc.bs.framework.common.RuntimeEnv;
import nc.bs.logging.Logger;
import nc.bs.trade.business.HYPubBO;
import nc.itf.pubapp.pub.smart.IBillQueryService;
import nc.itf.uap.IUAPQueryBS;
import nc.jdbc.framework.processor.BeanProcessor;
import nc.ui.jzbase.uipub.action.JZBaseAddAction;
import nc.ui.jzbase.uipub.action.JZBaseNCAction;
import nc.ui.jzbase.uipub.model.JZBaseBillManageModel;
import nc.ui.jzbase.uipub.model.datamanager.JZBasePageModelDataManager;
import nc.ui.ml.NCLangRes;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.pubapp.uif2app.view.BillForm;
import nc.ui.uif2.NCAction;
import nc.ui.uif2.model.AbstractAppModel;
import nc.vo.pub.AggregatedValueObject;
import nc.vo.pub.BusinessException;
import nc.vo.pubapp.AppContext;
import nc.vo.pubapp.pattern.model.entity.bill.AbstractBill;

/**
 * i.    财务系统根据【付款申请单】生成的【付款单】提交拜特资金支付成功并回写PM系统支付结果成功后,因为收款账号错误银行返回拜特支付失败信息时,
 *     ,财务系统会生成一张收款单,财务人员将资金系统退回的【收款单】与【付款单】关联,提交审批
 * ii.    资金系统退回的【收款单】与【付款单】关联生效后,调用项目管理系统【付款申请单】支付结果接口,将收款单的金额转为负数及收款单日期回写对应的
 *      【付款申请单】支付明细,并将【收款单】单据号回写到支付明细的备注中
 * @author xueyl
 *
 */
public class PrReceiveSendAction extends JZBaseNCAction {
    IUAPQueryBS queryBS = (IUAPQueryBS) NCLocator.getInstance().lookup(
            IUAPQueryBS.class.getName());
    private static final long serialVersionUID = -974680769981501211L;
    private BillForm billfrom;
    private JZBasePageModelDataManager dataManager;

    public JZBasePageModelDataManager getDataManager() {
        return this.dataManager;
    }

    public void setDataManager(JZBasePageModelDataManager dataManager) {
        this.dataManager = dataManager;
    }

    public PrReceiveSendAction() {
        this.setBtnName("退回");
        this.setCode("sendback");
    }

    public BillForm getBillfrom() {
        return this.billfrom;
    }

    public void setBillfrom(BillForm billfrom) {
        this.billfrom = billfrom;
    }
    private AbstractAppModel model;

    public AbstractAppModel getModel() {
        return this.model;
    }

    public void setModel(AbstractAppModel model) {
        this.model = model;
        model.addAppEventListener(this);
    }
    
    public void doAction(ActionEvent e) throws Exception {
        JZBaseBillManageModel model = (JZBaseBillManageModel) getModel();
        Object[] objs =  model.getSelectedOperaDatas();
//        Object obj = getModel().getSelectedData();
        if(null !=objs && 0<objs.length){
            int flag = MessageDialog.showOkCancelDlg(getBillfrom(), "提示", "确定要退回吗?");
            if(1==flag){
                for (Object object : objs) {
                    AggPrReceiveVO aggvo=(AggPrReceiveVO) object;
                    PrReceiveVO parentVO = aggvo.getParentVO();
                    FKSQData fysqdatavo=new FKSQData();
                    List<FKSQBean> fysqlists=new ArrayList<FKSQBean>();
                    FKSQBean beanvo = transforApplyMX(parentVO);
                    fysqlists.add(beanvo);
                    fysqdatavo.setApply(fysqlists);
                    String xml=JaxbUtil.convertToXml(fysqdatavo);
                    。。。。。。。。。。。
                    getModel().directlyUpdate(aggvo);
                }
            }
            
        }else{
            throw new Exception("请先选择一条数据!");
        }
    }
    
    protected boolean isActionEnable() {
        Object obj = getModel().getSelectedData();
        Boolean flag=true;
        if(null !=obj){
            AggPrReceiveVO aggvo=(AggPrReceiveVO) obj;
            PrReceiveVO parentVO = aggvo.getParentVO();
            //没关联上PM付款单按钮置灰//如果收款单没审批通过按钮也置灰//如果已经同步
            if((null==parentVO.getVdef12() || StringUtils.isEmpty(parentVO.getVdef12())) || 1!=parentVO.getFstatusflag() || "Y".equals(parentVO.getVdef13())){
                flag= false;
            }
        }
        return flag;
    }
    

}

原文链接:https://blog.csdn.net/qq_34951913/article/details/110817071

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值