欢迎来到天天文库
浏览记录
ID:33519518
大小:371.50 KB
页数:10页
时间:2019-02-26
《nc业务开发框架-查询模版》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、查询模板作者:陈云云;孔晓东1.查询模板概念查询模板用于动态配置查询对话框的查询条件,接受用户的输入,最后拼出查询SQL用的Where条件。2.查询模板的制作查询模板的制作可以是基于单据模板生成也可以在独立的节点进行定制。2.1.单据模板生成查询模板在刚才作的单据模板里,点模板操作,下点击生成查询模板。选择相应的节点然后点确定最后输入模板名点保存即可2.2.查询模板的独立制作2.21.进入查询模板的配置节点2.22.查询模板的配置点击增加新增查询模板会弹出以下对话框选择元数据有元数据的单据必须基于元数据制作查询模板在界面的左边会把选中的元数据
2、的实体属性都列出来,如果要把某个属性作为查询模板的条件,直接把属性拖到右边即可。最后表头录入模板编码,模板名称,节点编,即可保存制作完毕。2.23.查询模板属性介绍字段编码:该字段在该模板中的唯一标志。字段名称:该字段显示的名称是否锁定:该字段用户不可随意改动是否必选:该字段是否必须有输入值是否缺省显示:是否默认显示在界面上操作符编码:条件中可以选择的操作符,有>、>=、<=、like等等,选择哪个符号决定了最后在生成SQL条件的时候条件中的符号。操作符名称:在界面显示操作符类型,应与编码相对应默认取值:打开查询界面就有的预制条件是否使用:该
3、条件是否默认在面板上显示出来,否时用户需要自行配出来数据类型:设置该字段的类型,不同的类型在界面的显示控件不同,主要有字符,数字,日期,参照,逻辑,下拉等。参照名称:如果是参照这里要选择参照的对象(如果是自定义参照,则输入自定义参照的类路径),如果是下拉框,这里要输入相关格式的下拉框相应值,具体参考查询模板红皮书参照是否包含下级:拼SQL的时候是否把下级档案用in的模式包含进去。是否适用系统函数:有没有用系统函数(比如在设默认值的时候)是否使用属性参照:是否排序:该条件是否参与排序,排序的回拼到sql的orderby里预制约束条件:里面放上约
4、束约束公式(比如日期<当前日期报错))指标条件:根据相应指标决定走那个查询数据库(双引擎用)显示顺序:决定该条件在界面上的显示顺序是否查询条件:该条件是否最后拼到最后的WhereSQL里去,还只是前台用一下2.24.查询模板定制备注如果新增查询模板未选择元数据,这需要手工编辑每一个字段,除了上面的一些属性外,还要额外关注一些特殊的属性。显示类型:显示的值(主要针对语参照),0是名字,1是编码,2是pk返回类型:返回给SQL的值类型(主要针对语参照),0是名字,1是编码,2是pk表名(物理名):此处填入查询的物理表名,则会自动在该条件的遍吗前加
5、上表名,格式为:表名.查询条件编码。3.功能节点默认查询模版的分配制作完单据查询模板需要分配到某个具体的节点下,该模板才会作为该节点的默认系统查询模板,进行加载。3.1.进入功能节点默认模板设置3.2.功能节点默认查询模板配置点击左上角的分配按钮,然后右边的单选框选中查询模板,在点击下面的添加,会弹出以下对话框:在左边的树选者要分配的功能节点,然后再右边选中默认模板,(后面的自定义模板由用户自行分配自己的模板)。在右边的模板选择参照里选中保存的系统模板,如果该节点有多个查询模板,则需要填上节点标志,以用以区分加载。点确定。最后点击保存该配置。
6、4.查询模板的加载及使用方法如果采用UI工厂2框架,单据查询模板的加载和使用都将委托给相应的组件完成,这块在介绍UI工厂2查询Action的时候会介绍到,此处指介绍代码加载模式及使用模式。4.1.查询模版的加载privateQueryConditionDLGqueryDlg=null;privateQueryConditionDLGgetQueryDlg(){if(queryDlg==null){TemplateInfotempinfo=newTemplateInfo();tempinfo.setPk_Org(WorkbenchEnviron
7、ment.getInstance().getGroupVO().getPk_group());tempinfo.setFunNode("4099");tempinfo.setUserid(WorkbenchEnvironment.getInstance().getLoginUser().getPrimaryKey());tempinfo.setNodekey("40991");queryDlg=newQueryConditionDLG(this,tempinfo);}returnqueryDlg;}4.2.查询模版的使用//弹出查询对话框if
8、(getQueryDlg().showModal()==UIDialog.ID_OK){//获得条件sqlStringcondition=getQueryDlg()
此文档下载收益归作者所有