固定代码项的扩展.doc_第1页
固定代码项的扩展.doc_第2页
固定代码项的扩展.doc_第3页
固定代码项的扩展.doc_第4页
固定代码项的扩展.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

固定代码项的扩展使用场景系统建设时通常会遇到各类数据字典,泽元框架为了保证项目上线后运营过程中能够有效的识别这些数据字典,而通过代码扩展的方式提供了固定代码项的扩展功能。在项目实施过程中要求开发团队能够按照固定代码项的方式来扩展相关代码,并添加相应注释,以便后期维护人员理解代码项的作用及意义。相关数据结构ZDCode表结构主要字段如下图:主要字段包括:CodeType表示代码项的ID,用于区分各个代码项;parentCode用于表示该字段的父代码ID,通常为某项代码的CodeType,当perentCode的值为System时表示该项为顶级代码项,但此项不作为表示的状态或数据字典仅用来记录某个代码项或数据的属性,其下代码的parentCode均以该项的CodeType表示。涉及的类说明继承类com.zving.platform.FixedCodeType,扩展服务com.zving.platform.service.CodeService,该扩展服务主要用于系统代码项详细说明第一步:在相应的插件配置中新增一个扩展服务项,填写相关的信息,ID可使用Class的包路径+类名(com.zving.test.service.AddFixedCodeService),便于识别。选择扩展服务com.zving.platform.service.CodeService(需当前插件依赖platform插件),点击Class可弹出新建Class窗口,默认继承FixedCodeType类,定义包名和类名(com.zving.test.service和AddFixedCodeService),确定保存。第二步:进入com.zving.test.service.AddFixedCodeService类中,实现相应的方法,代码如下:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687packagecom.zving.test.service;importcom.zving.framework.data.DataRow;importcom.zving.framework.data.DataTable;importcom.zving.platform.FixedCodeType;/*authorzdq**date2013-12-18*测试代码项*/publicclassAddFixedCodeServiceextendsFixedCodeTypepublicstaticfinalStringID=Test.TestCode;publicstaticfinalStringSTR=KEY;publicstaticfinalStringSTR1=KEY1;publicstaticfinalStringSTR2=KEY2;publicstaticfinalStringSTR3=KEY3;publicstaticfinalStringSTR4=KEY4;publicAddFixedCodeService()super(ID,固定代码项扩展测试,false,false);addFixedItem(STR,Value,null);addFixedItem(STR1,Value1,null);addFixedItem(STR2,Value2,null);addFixedItem(STR3,Value3,null);addFixedItem(STR4,Value4,null);publicstaticvoiddecode(DataTabledt,Stringcolumn)if(dt.containsColumn(column)dt.insertColumn(column+Name);for(DataRowdr:dt)if(STR.equals(dr.getString(column)dr.set(column+Name,Value);elseif(STR1.equals(dr.getString(column)dr.set(column+Name,Value1);elseif(STR2.equals(dr.getString(column)dr.set(column+Name,Value2);elseif(STR3.equals(dr.getString(column)dr.set(column+Name,Value3);elseif(STR4.equals(dr.getString(column)dr.set(column+Name,Value4);上述Class中除了定义一个公共构造器外还添加了decode方法,该方法的参数一个DataTable和一个String,其中String为需要decode的字段在DataTable中的字段名称即columnName。该方法可在dt中插入一列用于保存该column代表的含义,如dt中某列名为KEY,存储值为KEY、KEY1、KEY2,经过decode方法处理后会新增一列KEYName,值对应为Value、Value1、Value2,以便于前台的使用。完成以上操作后重启应用即可看到在系统管理代码管理中已包含上述的代码项Test.TestCode,且其下代码项KEYValue等都可查看,如下图:至此代码项的添加已经完成,常见的使用场景如下:datagrid数据,通常在datagrid中会用到,在后台直接通过DataTable的decode方法,例如dt.decodeColumn(KEY,PlatformUtil.getCodeMap(Test.TestCode),或者AddFixedCodeService.decode(dt,”KEY”);完成之后会在dt中多出一列KEYName,便于datagrid中显示使用。直接通过PlatformUtil.getCodeMap(“Test.TestCode”)获取一个map来使用,可转化为html元

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论