自定义查询模板,调起查询弹框

业务场景:
1. 调用第三方系统接口查询数据,需根据查询条件 组装查询参数,考虑配置一个新的查询模板收集查询条件参数。
2. 问题:初始化模板导入后 调启的模板 都是默认系统已分配的,如果将导入的查询模板设为默认 那就与系统里实际业务查询 冲突了。 理想结果:导入的新模板 可以被客开代码查询调启,不与系统默认模板冲突。 解决方案:功能默认模板设置时填写 节点标识,代码调用是指定该值。

  1. 查询模板初始化 导入一个新的查询模板
    在这里插入图片描述

  2. 配置模板查询内容
    在这里插入图片描述

  3. 将导入的模板 默认是看不到的 必须要分配到对应的单据上

    1. 选中对应的节点 【分配】–>【添加】
      在这里插入图片描述
      在这里插入图片描述
      此处的节点标识一定要填写,调启模板时 通过改标识与系统默认模板做区分。对应数据库表:pub_systemplate
      在这里插入图片描述

在这里插入图片描述
添加完成后,增补到集团
在这里插入图片描述
增补完成后 模板-集团可以看到新增加的模板
在这里插入图片描述

在这里插入图片描述

  1. 调起查询弹框
private IBillReferQuery setConditionClient(String templateId,
			Container parent, String pkOperator, String funNode, String pkCorp) {
		TemplateInfo ti = new TemplateInfo();
		ti.setTemplateId(templateId);
		ti.setPk_Org(this.getModel().getContext().getPk_org());
		ti.setUserid(this.getModel().getContext().getPk_loginUser());
		ti.setCurrentCorpPk(this.getModel().getContext().getPk_group());
		ti.setFunNode("40041000");
		//该 QueryConditionDLG  无法赋值默认值 
		QueryConditionDLG qcDlg = new QueryConditionDLG(parent, ti);
		qcDlg.setVisibleNormalPanel(false);
		return qcDlg;
	}

QueryConditionDLG setConditionClient = (QueryConditionDLG)this.setConditionClient("1001ZZ1000000007IB9H", container, "", "", "");
		if (setConditionClient.showModal()== UIDialog.ID_OK) {
			String whereSQL = setConditionClient.getWhereSQL();
			System.out.println(whereSQL);
			ConditionVO[] conditions = setConditionClient.getQryCondEditor().getGeneralCondtionVOs();
			System.out.println(conditions);
		}

//调起窗口并赋值默认值 
private QueryConditionDLGDelegator getConditionClient(Container parent) {
		String templateId = null;
		try {
			templateId = (String) HYPubBO_Client.findColValue("pub_query_templet","id",
					" node_code='40041000' and model_name='数电发票-金税' ");
		} catch (UifException e) {
			ExceptionUtils.wrappBusinessException("关联数电发票查询模板不存在,请检查!");
		}
		TemplateInfo ti = new TemplateInfo();
		ti.setTemplateId(templateId);
		//ti.setNodekey("400410003");//关键设置 如果不设置该值 回默认按照分配的模板展示 nodekey取值看最后一图 如果看到默认模板配置 则直接按照第4步中 配置的节点标识值 赋值 
		ti.setNodekey("goldtax_nodekey");//==功能模板模板添加时 维护的 节点标识 值
		ti.setPk_Org(this.getModel().getContext().getPk_org());
		ti.setUserid(this.getModel().getContext().getPk_loginUser());
		ti.setCurrentCorpPk(this.getModel().getContext().getPk_group());
		ti.setFunNode("40041000");
		//可赋值默认值
		QueryConditionDLGDelegator conditionDLGDelegator=new QueryConditionDLGDelegator(parent, ti);
		return conditionDLGDelegator;
	}
//调用+默认赋值
QueryConditionDLGDelegator conditionDLG = this.getConditionClient(container);
conditionDLG.setDefaultValue("pk_org", pk_org);
conditionDLG.setDefaultValue("pk_supplier.code", supplierVO.getCode());
conditionDLG.setDefaultValue("pk_supplier.name", supplierVO.getName());

//获取查询条件值
ConditionVO[] generalCondtionVOs = conditionDLG.getGeneralCondtionVOs();
System.out.println(generalCondtionVOs);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值