nc解决自定义参照字段前台保存后只显示主键的问题

nc解决自定义参照字段前台保存后只显示主键的问题

  • 自定义参照类VoucherRefModel.java
package nc.ui.jych.ref;

import nc.ui.bd.ref.AbstractRefModel;


/**
 * @desc 凭证号参照
 * @author hanh
 *
 */
public class VoucherRefModel extends AbstractRefModel {

	@Override
	public String[] getFieldCode() {
		// 参照数据的字段编码
		return new String[] { "num", "pk_voucher" };
	}
	
	@Override
	public String[] getFieldName() {
		// 参照数据的字段名称
		return new String[] { "凭证号",  "主键" };
	}

	@Override
	public String getRefCodeField() {
		// TODO 自动生成的方法存根
		return "num";
	}

	@Override
	public String getRefNameField() {
		// TODO 自动生成的方法存根
		return "num";
	}

	@Override
	public String getOrderPart() {
		// TODO 自动生成的方法存根
		return null;
	}
	/**
	 * 隐藏字段
	 * 
	 * @return
	 */
	@Override
	public String[] getHiddenFieldCode() {
		// TODO 自动生成方法存根
		return new String[] { "pk_voucher" };
	}
	@Override
	public String getTableName() {// 参照数据的表名
		return "voucherref_view";
	}

	@Override
	public String getPkFieldCode() {// 参照数据对应表的主键
		return "pk_voucher";
	}

	@Override
	public String getRefTitle() {
		// TODO 自动生成的方法存根
		return "凭证号参照";
	}

	@Override
	public int getDefaultFieldCount() {
		// TODO 自动生成的方法存根
		return getFieldCode().length - 1;
	}

	@Override
	public String getWherePart() {
		String wherePart = super.getWherePart();
		return wherePart;
	}

	@Override
	public void setWherePart(String newWherePart) {
		super.setWherePart(newWherePart);
	}

}

  1. 根据自定义参照的字段新建一个视图
CREATE VIEW voucherref_view AS
(select vou.year||'-'||vou.period as period,
typ.name as name,
typ.shortname || '-' || vou.num  as num,
vou.pk_voucher as pk_voucher,
vou.pk_accountingbook as pk_accountingbook
from gl_voucher vou
left join bd_vouchertype typ
on typ.pk_vouchertype = vou.pk_vouchertype
where nvl(vou.discardflag, 'N') != 'Y'
and nvl(vou.tempsaveflag, 'N') != 'Y')
  1. 根据视图中的字段新建一个元数据,元数据的缺省表名为新建的视图名
    在这里插入图片描述
    在这里插入图片描述
  2. 往参照信息表(bd_refinfo)中插入一条记录
select * from bd_refinfo order by ts desc

insert into bd_refinfo
  (CODE,
   DR,
   ISNEEDPARA,
   ISSPECIALREF,
   LAYER,
   METADATANAMESPACE,
   METADATATYPENAME,
   MODULENAME,
   NAME,
   PARA1,
   PARA2,
   PARA3,
   PK_COUNTRY,
   PK_INDUSTRY,
   PK_REFINFO,
   REFCLASS,
   REFSYSTEM,
   REFTYPE,
   RESERV1,
   RESERV2,
   RESERV3,
   RESID,
   RESIDPATH,
   TS,
   WHEREPART)
values
  ('voucherref',--元数据名
   0,
   'N',
   null,
   null,
   'jych',--模块名
   'voucherref',--元数据名
   'jych',--模块名
   '凭证号参照',--自定义参照名
   null,
   null,
   null,
   null,
   null,
   '1001A11000001100hanh',--自己构造一个20位的主键
   'nc.ui.jych.ref.VoucherRefModel',--参照类路径
   null,
   0,
   null,
   null,
   null,
   '1',
   'voucherref',--元数据名
   '2024-05-30 22:12:25',
   null);
  1. 更新实体表(md_class)中该自定义参照的帮助名称和参照名称
select * from md_class order by ts desc

update md_class
   set help = 'DOC', refmodelname = '凭证号参照'
 where id = '5a202897-d20b-4620-ac3e-214dcfbe613e'

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 20:32:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 20:32:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 20:32:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 20:32:03       18 阅读

热门阅读

  1. 目标检测指标AP50/准确率/召回率说明

    2024-06-06 20:32:03       9 阅读
  2. 力扣283. 移动零

    2024-06-06 20:32:03       11 阅读
  3. Mysql间隙锁死锁避免最佳实践

    2024-06-06 20:32:03       9 阅读
  4. TypeScript 中的声明合并

    2024-06-06 20:32:03       10 阅读
  5. 二叉树的层序遍历-力扣

    2024-06-06 20:32:03       7 阅读
  6. 自定义一个自己的桌面挂件

    2024-06-06 20:32:03       8 阅读
  7. Vue学习-项目化

    2024-06-06 20:32:03       9 阅读
  8. Poll机制实现以及应用实例

    2024-06-06 20:32:03       8 阅读
  9. Linux 文件权限管理中有关rwx的细节

    2024-06-06 20:32:03       10 阅读
  10. 使用element的过渡效果来做动效

    2024-06-06 20:32:03       7 阅读
  11. 设计模式-中介者模式

    2024-06-06 20:32:03       6 阅读
  12. MySQL如何多表关联更新

    2024-06-06 20:32:03       8 阅读
  13. Ubuntu中安装和配置SSH的完全指南

    2024-06-06 20:32:03       8 阅读