栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

表头表体编辑后事件自动带出清空表头表体

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

表头表体编辑后事件自动带出清空表头表体

这个写在client上面前端代码

 前端代码自动带出表头表体之后根据字段值清空表头表体

package nc.ui.nc65px.ladana.ace.handler;

import java.util.List;

import nc.bs.framework.common.NCLocator;
import nc.itf.uap.IUAPQueryBS;
import nc.jdbc.framework.processor.BeanListProcessor;
import nc.jdbc.framework.processor.BeanProcessor;
import nc.ui.pubapp.uif2app.event.IAppEventHandler;
import nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent;
import nc.vo.nc65px.ladana.LaDanBvo;
import nc.vo.nc65px.loanytlx.LoanYtlxBVO;
import nc.vo.nc65px.loanytlx.LoanYtlxVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nc.vo.utils.NullValueUtils;


public class AceHeadTailAfterEditHandler implements       
		IAppEventHandler {
                                                        
	@Override
	public void handleAppEvent(CardHeadTailAfterEditEvent e) {

		String key = e.getKey();
		// 这个是判断那个这两个只要有一个就可以 equals(等于) ||(或者)
		try {
		if ("vdef35".equals(key) || "vdef38".equals(key)) {
			mnyAfter(e);
		}
			if ("vdef36".equals(key)) {
				ltlxdh(e);
			}
			} catch (BusinessException e1) {
			// TODO 自动生成的 catch 块
			ExceptionUtils.wrappBusinessException(e1.getMessage());
		
			}
	}
	
	

	private void mnyAfter(CardHeadTailAfterEditEvent e)  {
		//获取面板获取表体获取的值
		// 获取面板 获取表头(需要获取的值) 获取具体的值
		UFDouble vdef35 = NullValueUtils.getNullUFdoubleValue(e
				.getBillCardPanel().getHeadItem("vdef38").getValueObject());
		UFDouble vdef38 = NullValueUtils.getNullUFdoubleValue(e
				.getBillCardPanel().getHeadItem("vdef38")
				.getValueObject());
		if (vdef35.equals("") || vdef38.equals("")) {
			e.getBillCardPanel().setHeadItem("ntotalytlxmny", null);

		} else {
			// 本币 = 本币汇率 乘 原币
			UFDouble ntotalytlxmny = vdef35.multiply(vdef38);
			// 给表头本币字段赋值 头标签 字段 值
			e.getBillCardPanel().setHeadItem("ntotalytlxmny", ntotalytlxmny);
		}
	}
	
	
	
	

	private void ltlxdh(CardHeadTailAfterEditEvent e) throws BusinessException {
		// 获取 预提利息单 预提利息单号主键 非空校验 给对象赋值 获取前端的值
		String ltlxdh = NullValueUtils.getNullStringValue(e.getBillCardPanel()
				.getHeadItem("vdef36").getValueObject());
		// 根据主键查询vo
		String sql = " select * from zyzy_loanytlx where pk_loanytlx='"
				+ ltlxdh + "'  and nvl(dr,0) = 0 ";
		// 去数据库查询数据,查出的数据用对象接收
		IUAPQueryBS bs = NCLocator.getInstance().lookup(IUAPQueryBS.class);
		LoanYtlxVO headvo = (LoanYtlxVO) bs.executeQuery(sql,
				new BeanProcessor(LoanYtlxVO.class));
		if (headvo != null) {
			// 预提开始日期
			e.getBillCardPanel().setHeadItem("vdef40",
					headvo.getDstartdate());
			// 预提截止日期
			e.getBillCardPanel().setHeadItem("vdef39", headvo.getDenddate());
			// 预提利息总额(原币)
			e.getBillCardPanel().setHeadItem(
					"vdef38",
					NullValueUtils.getNullStringValue(headvo
							.getNtotaloriytlxmny()));
			// 预提利息总额(本币)
			e.getBillCardPanel()
					.setHeadItem("vdef37",NullValueUtils.getNullStringValue(headvo.getNtotalytlxmny()));
			
			//预提利息本币汇率
			e.getBillCardPanel().setHeadItem(
					"vdef35",
					NullValueUtils.getNullStringValue(headvo
							.getCurrate()));
			
			
			// 根据主键查询子表vo
			String strsql = "select * from zyzy_loanytlx_b where pk_loanytlx = '"+ ltlxdh + "' and nvl(dr,0) = 0";
			// 获取子表数据
			List executeQuery = (List) bs.executeQuery(strsql, new BeanListProcessor(LoanYtlxBVO.class));
			
			if (executeQuery != null && executeQuery.size() != 0) {
				// 获取页签编码为bodyvos表体总行数
				int rowCount = e.getBillCardPanel().getBillModel("bodyvos").getRowCount();
				int[] rows = new int[rowCount];
				for (int i = 0; i < rows.length; i++) {
					rows[i] = i;
				}
				// 清空页签编码为id_LaDanVo表体
				e.getBillCardPanel().getBillModel("bodyvos").delLine(rows);
		    for (int i = 0; i < executeQuery.size(); i++) {
		    	
		    	LoanYtlxBVO appBVO = executeQuery.get(i);
		    	
		    	LaDanBvo ladanbvo = new LaDanBvo();
				// 金额获取表体子表的数据可以显示在客户端表体中
		    	
		    	ladanbvo.setVdef38(NullValueUtils.getNullStringValue(appBVO.getNrerate()));
		    	
		    	ladanbvo.setVdef39(NullValueUtils.getNullStringValue(appBVO.getNoriytlxmny()));
				// 页签编码为id_loanytlxbvo增行
		    	//计息本金(本币)
		        ladanbvo.setVdef40(NullValueUtils.getNullStringValue(appBVO.getNjxbjmny()));
			// 页签编码为id_loanytlxbvo增行
			e.getBillCardPanel().getBillModel("bodyvos")
					.addLine();
			// 获取到的数据set到页签编码为表体LaDanBvo
			e.getBillCardPanel().getBillModel("bodyvos")
					.setBodyRowVO(ladanbvo, i);
			// 给页签编码为id_loanytlxbvo行号赋值
			e.getBillCardPanel().getBillModel("bodyvos")
					.setValueAt((i + 1) * 10 + "", i, "rowno");

		}
	}

		} else {
			ltlxdh1(e);
		}
	}

	// 要是下面这个表为空的就清空这些表
	private void ltlxdh1(CardHeadTailAfterEditEvent e) throws BusinessException {
        //预提开始日期
		e.getBillCardPanel().setHeadItem("vdef40", null);
		// 预提截止日期
		e.getBillCardPanel().setHeadItem("vdef39", null);
		// 预提利息总额(原币)
		e.getBillCardPanel().setHeadItem("vdef38", null);
		// 预提利息总额(本币)
		e.getBillCardPanel().setHeadItem("vdef37", null);
		//预提利息本币汇率
		e.getBillCardPanel().setHeadItem("vdef35", null);
		
	// 获取表体总行数 id_loanytlxbvo是从前端的获取需要得到的网页的名字的值
			int rowCount = e.getBillCardPanel().getBillModel("bodyvos")
					.getRowCount();

			int[] rows = new int[rowCount];
			// 这个是查询表体的行数
			for (int i = 0; i < rowCount; i++) {
				// 给表体的行数排序
				rows[i] = i;
			}
			// 清空表体 超过了这个行数清空表体表体是bodyvos
			e.getBillCardPanel().getBillModel("bodyvos").delLine(rows);
		}

	}

 这个代码和上面这个相差不多做一个对比

package nc.ui.nc65px.loanytlx.ace.handler;

import java.util.List;

import nc.bcmanage.ui.NCLangRefPane;
import nc.bs.framework.common.NCLocator;
import nc.itf.uap.IUAPQueryBS;
import nc.jdbc.framework.processor.BeanListProcessor;
import nc.jdbc.framework.processor.BeanProcessor;
import nc.ui.pubapp.uif2app.event.IAppEventHandler;
import nc.ui.pubapp.uif2app.event.card.CardHeadTailAfterEditEvent;
import nc.vo.nc65px.loanytlx.LoanYtlxBVO;
import nc.vo.nc65px.loanytlx.LoanYtlxVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDouble;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nc.vo.utils.NullValueUtils;


public class AceHeadTailAfterEditHandler implements
		IAppEventHandler {

	@Override
	public void handleAppEvent(CardHeadTailAfterEditEvent e) {

		String key = e.getKey();
		// 这个是判断那个这两个只要有一个就可以 equals(等于) ||(或者)
		try {
			if ("currate".equals(key) || "ntotaloriytlxmny".equals(key)) {
				mnyAfter(e);
			}
			if ("ltlxdh".equals(key)) {
				ltlxdh(e);
			}
			
		} catch (BusinessException e1) {
			//
			ExceptionUtils.wrappBusinessException(e1.getMessage());
		}
	}

	private void mnyAfter(CardHeadTailAfterEditEvent e) {

		// 获取面板 获取表头(需要获取的值) 获取具体的值
		UFDouble currate = NullValueUtils.getNullUFdoubleValue(e
				.getBillCardPanel().getHeadItem("currate").getValueObject());
		UFDouble noriappmny = NullValueUtils.getNullUFdoubleValue(e
				.getBillCardPanel().getHeadItem("ntotaloriytlxmny")
				.getValueObject());
		if (currate.equals("") || noriappmny.equals("")) {
			e.getBillCardPanel().setHeadItem("ntotalytlxmny", null);

		} else {
			// 本币 = 本币汇率 乘 原币
			UFDouble ntotalytlxmny = currate.multiply(noriappmny);
			// 给表头本币字段赋值 头标签 字段 值
			e.getBillCardPanel().setHeadItem("ntotalytlxmny", ntotalytlxmny);
		}
	}

	private void ltlxdh(CardHeadTailAfterEditEvent e) throws BusinessException {
		// 获取 预提利息单的字段            非空校验 给对象赋值 获取前端的值
		String ltlxdh = NullValueUtils.getNullStringValue(e.getBillCardPanel()
				.getHeadItem("ltlxdh").getValueObject());
		// 根据主键查询vo
		String sql = " select * from zyzy_loanytlx where pk_loanytlx='"
				+ ltlxdh + "' ";
		// 去数据库查询数据,查出的数据用对象接收
		IUAPQueryBS bs = NCLocator.getInstance().lookup(IUAPQueryBS.class);
		LoanYtlxVO headvo = (LoanYtlxVO) bs.executeQuery(sql,
				new BeanProcessor(LoanYtlxVO.class));
		if (headvo != null) {
			// 预提开始日期       	headvo.getDstartdate这个是把"dstartdate"这个字段赋值给headvo
			e.getBillCardPanel().setHeadItem("dstartdate",headvo.getDstartdate());
			// 预提截止日期
			e.getBillCardPanel().setHeadItem("denddate", headvo.getDenddate());
			// 预提利息总额(原币)
			e.getBillCardPanel().setHeadItem("ntotaloriytlxmny",NullValueUtils.getNullStringValue(headvo.getNtotaloriytlxmny()));
			// 预提利息总额(本币)
			e.getBillCardPanel()
					.setHeadItem(
							"ntotalytlxmny",
							NullValueUtils.getNullStringValue(headvo
									.getNtotalytlxmny()));
			// 调整利息总额(原币)
			e.getBillCardPanel().setHeadItem(
					"ntotaloriadmny",
					NullValueUtils.getNullStringValue(headvo
							.getNtotaloriadmny()));
			// 调整利息总额(本币)
			e.getBillCardPanel().setHeadItem("ntotaladmny",
					NullValueUtils.getNullStringValue(headvo.getNtotaladmny()));
			// 实际预提利息金额(原币)
			e.getBillCardPanel().setHeadItem(
					"ntotalorisjytlxmny",
					NullValueUtils.getNullStringValue(headvo
							.getNtotalorisjytlxmny()));
			// 实际预提利息金额(本币)
			e.getBillCardPanel().setHeadItem(
					"ntotalsjytlxmn",
					NullValueUtils.getNullStringValue(headvo
							.getNtotalsjytlxmny()));

			// 根据主键查询子表vo
			String strsql = "select * from zyzy_loanytlx_b where pk_loanytlx = '"
					+ ltlxdh + "' and nvl(dr,0) = 0";
			// 获取子表数据
			List executeQuery = (List) bs
					.executeQuery(strsql, new BeanListProcessor(
							LoanYtlxBVO.class));

			if (executeQuery != null && executeQuery.size() != 0) {
				// 获取页签编码为id_loanytlxbvo表体总行数
				int rowCount = e.getBillCardPanel()
						.getBillModel("id_loanytlxbvo").getRowCount();
				int[] rows = new int[rowCount];
				for (int i = 0; i < rows.length; i++) {
					rows[i] = i;

				}
				// 清空页签编码为id_loanytlxbvo表体
				e.getBillCardPanel().getBillModel("id_loanytlxbvo")
						.delLine(rows);
				for (int i = 0; i < executeQuery.size(); i++) {
					LoanYtlxBVO appBVO = executeQuery.get(i);
					LoanYtlxBVO LoanYtlxBVO = new LoanYtlxBVO();
					// 金额获取表体子表的数据可以显示在客户端表体中
					LoanYtlxBVO.setLoanctno(appBVO.getLoanctno());
					LoanYtlxBVO.setNjxbjmny(appBVO.getNjxbjmny());
					LoanYtlxBVO.setNorijxbjmny(appBVO.getNorijxbjmny());
					LoanYtlxBVO.setNoriytlxmny(appBVO.getNoriytlxmny());
					LoanYtlxBVO.setNadjustmny(appBVO.getNoriytlxmny());

					// 页签编码为id_loanytlxbvo增行
					e.getBillCardPanel().getBillModel("id_loanytlxbvo")
							.addLine();
					// 获取到的数据set到页签编码为id_loanytlxbvo表体
					e.getBillCardPanel().getBillModel("id_loanytlxbvo")
							.setBodyRowVO(LoanYtlxBVO, i);
					// 给页签编码为id_loanytlxbvo行号赋值
					e.getBillCardPanel().getBillModel("id_loanytlxbvo")
							.setValueAt((i + 1) * 10 + "", i, "rowno");

				}
			}
		} else {
			ltlxdh1(e);
		}
	}

	// 要是下面这个表为空的就清空这些表
	private void ltlxdh1(CardHeadTailAfterEditEvent e) throws BusinessException {
      //获取e.getBillCardPanel().setHeadItem("dstartdate"这个字段之后为空
		e.getBillCardPanel().setHeadItem("dstartdate", null);
		// 预提截止日期
		e.getBillCardPanel().setHeadItem("denddate", null);
		// 预提利息总额(原币)
		e.getBillCardPanel().setHeadItem("ntotaloriytlxmny", null);
		// 预提利息总额(本币)
		e.getBillCardPanel().setHeadItem("ntotalytlxmny", null);
		// 调整利息总额(原币)
		e.getBillCardPanel().setHeadItem("ntotaloriadmny", null);
		// 调整利息总额(本币)
		e.getBillCardPanel().setHeadItem("ntotaladmny", null);
		// 实际预提利息金额(原币)
		e.getBillCardPanel().setHeadItem("ntotalorisjytlxmny", null);
		// 实际预提利息金额(本币)
		e.getBillCardPanel().setHeadItem("ntotalsjytlxmn", null);
		// 获取表体总行数 id_loanytlxbvo是从前端的获取需要得到的网页的名字的值
		int rowCount = e.getBillCardPanel().getBillModel("id_loanytlxbvo")
				.getRowCount();

		int[] rows = new int[rowCount];
		// 这个是查询表体的行数
		for (int i = 0; i < rowCount; i++) {
			// 给表体的行数排序
			rows[i] = i;
		}
		// 清空表体 超过了这个行数清空表体表体是id_loanytlxbvo
		e.getBillCardPanel().getBillModel("id_loanytlxbvo").delLine(rows);
	}

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号