模型的实现

一、第一个模型(视图类):列表模型

当然是数据区的列表展示,这一模型作为系统的默认初始模型,模型名称为: INIT, SECTION值的命名为: INIT_DEFAULT,作为列表模型的一个默认的实例。如果有第二个模型可以命名为 INIT_DEFAULT2 的方式进行,实事上很少用到第二种模型实例,不过由于默认的集成了新建,导入、导出等一系列功能性的接口,还缺失一个数据只读的模型,所以又增加了一个模型实例:INIT_CUSTOMER,用以做数据只读的列表。

必须的模型属性里面定义的属性有:

1. tablename = hrms_file

定义模型对象的名称,在数据映射里面这里是指数据库表的名称。一般情况下都有一个 MDA 驱动单元定义,这里重新定义对象名称是可以让一个 MDA 驱动单元包含不同的对象,可以对不同对象的不同模型进行数据映射和处理。

2. tabletitle = listhrms_file

定义模型显示的标题内容,此部分显示的文本通过一个Common_Html变量过滤全局信息, html_etc变量过滤区域信息,从而支持中文和英文两种界面语言,以后遇到界面语言
过滤的作法不再详细说明。

3. tablewidth = 100%

定义模型显示的宽度,支持直接宽度和百分比宽度表示。默认值为百分比表示:80% 。
文法:TableWidth = 80% or Tablewidth = 600。

4. ondblclick_config = init_edit

定义模型在数据列表中,用户双击行记录时所发生的操作,系统支持两种操作,一是针对该行记录的读操作,二是针对该记录的编辑操作。默认为对该记录的读操作。

文法解析:init_view 针对该记录的读操作;init_edit 针对该记录的写操作。

5. nullshow = 1

定义模型在没有数据的状态下,显示的类型表示。真值时表示可以显示没有数据时的结构信息;假值时会提示没有数据。主要用于用户是否有权限增加数据时用到。

用户有用户界面接口权限时如果被定义只有只读权限,那么这个可以被设定为假值;如果被定义为有写写权限时,那么可以被设定为真值;默认值为真。

附:该属性为刚开始设计时所用属性,在设计形成以后,该属性很少用到,不过做了保留。

6. action_model = add_default:new:n,export_default:export:x,import_default:import:i

定义模型行为区的可选动作。主要分为新增操作,导出操作,导入操作等。系统初始化默认时三种操作都被含有。如果被定义为只读操作,那么可以新增操作屏蔽,同理也可以对其它两种操作进行定义。

文法解析:
add_default:new:n :add_default 为动作行为引发新模块的名称,new 为动作的界面语言表示,n 为快捷键表示,使用文法:Alt+n ;
export _default: export:x :export _default 为动作行为引发新模块的名称, export为动作的界面语言表示, x 为快捷键表示,使用文法:Alt+x ;
import _default: import:i :import _default 为动作行为引发新模块的名称, import为动作的界面语言表示, i 为快捷键表示,使用文法:Alt+i。

7. row_element = view:view_default,edit:edit_default,delete:delete_array

定义模型数据区每行操作部分的操作属性定义。主要分为行记录查看,行记录编辑,行记录删除三种行单元操作。三种操作均可以自由选择,以适应不同的权限要求。

文法解析:
view:view_default :行记录查看操作,view 为行记录界面语言表示,view_default 为行记录引发新模型的模型名称表示。
edit: edit _default :行记录查看操作,edit为行记录界面语言表示,edit _default 为行记录引发新模型的模型名称表示。
delete: delete _default :行记录查看操作,delete为行记录界面语言表示,delete_array 为行记录引发新模型的模型名称表示。

8. bottom_element = chooseall:chooseall,delete:delete_array,edit:edit_default
9. primarykey = 0

定义模型对象属性中关键属性的索引值。默认为 0,即对象的第一个属性的索引值。

文法解析:主要用于标记录的唯一性,查看,编辑,删除操作中都以其为主。

10.uniquekey = 0

定义模型对象属性中唯一属性的索引值。默认为 0,即对象的第一个属性的索引值。
文法解析:主要用于防止非重复数据输入。

11. systemorder = 0:desc
12. pagenums_model = 25
13. action_search = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,2

定义模型搜索区中要搜索的表字段属性索引列表。从0开始,用引索引表示,之间用”,”分隔。

14. group_filter = 3:department:1:1,4:hrms_zhiwei_status:1:1,8:gb_national:1:1

定义模型分组区要进行外部分组的对象属性信息定义。每一分组信息中含有父对象名称,KEY 值,NAME 值,以及相联系的参数值索引。不同的对象分组信息之间同样用”,”分开。

文法解析:
3:department:1:1 :3本对象的关联属性索引值,department 父对象数据库表名称,1父对象 KEY值,1 父对象 NAME值。
3:user_priv:0:1 :3 本对象的关联属性索引值,user_priv 父对象数据库表名称,0 父对象 KEY 值,1 父对象NAME 值。

15. showlistfieldlist = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26

定义模型数据区中要显示的表字段属性索引列表,之间用”,”隔开。

16. showlistnull = null,null,null,null,null,null,null,null,null,null,null,null,null,null,null

定义模型数据区输入数据的合法性判断,主要用在ADD 和EDIT模型中,为了使模型结构上保持一种相近性,此属性被保留在INIT 属性中,但在 INIT 中没有使用到。

17. showlistfieldfilter = input,input,tablefiltercolor:department:1:1,userdefine:renshiguanli

定义模型数据区数据的过滤信息定义,与 ShowListFieldList相对应,不同的对象属性在 Filter中按相应的顺序排列,定义其相应属性的过滤附加信息。
文法:ShowListFieldFilter = input ,link:chart_default,password,tablefilter:user_priv:0:1
文法解析:
input:系统默认数据,无过滤
Link:chart_default:联接信息,URL 形式表现,以”:”分隔,前部分是定义类型,后一部分是引发新模型的名称信息。
Password:密码信息过滤,过滤去密码密文信息,统一用”*****”表示。
Tableiflter:user_priv:0:1:表过滤类型;Tablefilter为定义类型为表过滤,user_priv定义父对象名称,0 定义 KEY值,1 定义NAME值。

二、 第二个模型 (视图类):视图模型

对单条记录的查看视图。刚开始设计的时候,查看视图里面也集成了功能性按钮,如新建、编辑、删除等,所以视图模型也分为两个,和第一个模型进行对应,一个有操作区,一个没有操作区,不过后来取消了这样的设计,所的视图全是只读区,不允许其在视图区进行新建、编辑和删除操作。

模型属性定义:

1. tablename = hrms_file
2. tabletitle = viewhrms_file
3. tablewidth = 65%
4. action_submit = print:print:p,cancel:cancel:c
5. primarykey = 0
6. subtablecount = 0
7. uniquekey = 0
8. showlistfieldlist = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
9. showlistnull = null,null,null,null,null,null,null,null,null,null,null
10. showlistfieldfilter = input,input,input,input,input,date,input,input,
11. showlistfieldstopedit = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12. showlistfieldstopdelete = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

三、第三个模型(视图类):新建模型

主要是对表的新增操作。模型属性定义:表名称,模型宽度,表标题、表字段、表过滤类型、模型返回。数据新建完成以后,返回系统定义的模型实例,一般为 INIT_DEFAULT模型实例。

模型属性定义:

1. tablename = hrms_file
2. tabletitle = newhrms_file
3. action_submit = submit:save:s,cancel:cancel:c
4. primarykey = 0
5. subtablecount = 0
6. uniquekey = 0
7. returnmodel = init_default

定义模型对象数据处理完以后,界面返回的模型名称。一般情况下会返回到 INIT_DEFAULT 模型,可以根据需要返回到ADD_DEFAULT,VIEW_DEFAULT 等模型。

8. showlistfieldlist = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24
9. showlistnull = notnull,notnull,null,null,null,null,null,null,null,null,null,null

定义模型数据区输入数据的合法性判断,主要用在 ADD 和EDIT 模型中。 
文法解析:notnull 输入验证非空 ;null 输入可以空值。

10. showlistfieldfilter = input,input,depttoname:1,tablefilter:hrms_zhiwei_status:1:1
11. showlistfieldstopedit = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12. showlistfieldstopdelete = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13. showlistfieldprivate = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

四、 第四个模型(视图类):编辑模型

主要是对表的新增操作。模型属性定义:表名称,模型宽度,表标题、表字段、表过滤类型、模型返回。数据新建完成以后,返回系统定义的模型实例,一般为 INIT_DEFAULT模型实例,也有一部分返回查
看视图 VIEW_DEFAULT模型实例,不过很少这样使用。

1. tablename = hrms_file
2. tabletitle = edithrms_file
3. action_submit = submit:save:s,cancel:cancel:c
4. primarykey = 0
5. subtablecount = 0
6. uniquekey = 0
7. returnmodel = init_default
8. showlistfieldlist = 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,2
9. showlistnull = notnull,notnull,null,null,null,null,null,null,null,null,null,null

10. showlistfieldfilter = input,input,depttoname:1,tablefilter:hrms_zhiwei_status:1:1
11. showlistfieldstopedit = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12. showlistfieldstopdelete = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13. showlistfieldprivate = ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

五、第五个模型(导入类):导入模型

主要是对表的批量导入操作。模型属性定义:表名称,模型宽度,表标题、表字段、表过滤类型、模型返回。数据新建完成以后,返回系统定义的模型实例。一般模型实例为 IMPORT_DEFAULT。

时间: 2024-11-03 22:04:28

模型的实现的相关文章

基于位置信息的聚类算法介绍及模型选择

百度百科 聚类:将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类.由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异."物以类聚,人以群分",在自然科学和社会科学中,存在着大量的分类问题.聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法.聚类分析起源于分类学,但是聚类不等于分类.聚类与分类的不同在于,聚类所要求划分的类是未知的. 分类和聚类算法一直以来都是数据挖掘,机器学习领域的热门课题,因此产生了众多的

Laravel5.1 模型--ModelFactory

今天要说的是模型工厂,它是可以快速生成一些测试数据的东西,之前我们介绍过Seeder,当我们使用模型访问数据时 可以用模型工厂搭配Seeder使用. 1 编写一个ModelFactory ModelFactory的路径在 database/factories/ 下: // 这是系统自带的工厂 $factory->define(App\User::class, function ($faker) { return [ 'name' => $faker->name, 'email' =>

15.1-全栈Java笔记:Java事件模型是什么?事件控制的过程有哪几步??

应用前边两节上一章节的内容,大家可以完成一个简单的界面,但是没有任何的功能,界面完全是静态的,如果要实现具体功能的话,必须要学习事件模型. 事件模型简介及常见事件模型 对于采用了图形用户界面的程序来说,事件控制是非常重要的. 一个源(事件源)产生一个事件并把它(事件对象)送到一个或多个监听器那里,监听器只是简单地等待,直到它收到一个事件,一旦事件被接收,监听器将处理这些事件. 一个事件源必须注册监听器以便监听器可以接收关于一个特定事件的通知. 每种类型的事件都有其自己的注册方法,一般形式为: v

11.python并发入门(part13 了解事件驱动模型))

一.事件驱动模型的引入. 在引入事件驱动模型之前,首先来回顾一下传统的流水线式编程. 开始--->代码块A--->代码块B--->代码块C--->代码块D--->......--->结束 每一个代码块里是完成各种各样事情的代码,但编程者知道代码块A,B,C,D...的执行顺序,唯一能够改变这个流程的是数据.输入不同的数据,根据条件语句判断,流程或许就改为A--->C--->E...--->结束.每一次程序运行顺序或许都不同,但它的控制流程是由输入数据和

Linux的I/O模式、事件驱动编程模型

大纲: (1)基础概念回顾 (2)Linux的I/O模式 (3)事件驱动编程模型 (4)select/poll/epoll的区别和Python示例 网络编程里常听到阻塞IO.非阻塞IO.同步IO.异步IO等概念,总听别人装13不如自己下来钻研一下.不过,搞清楚这些概念之前,还得先回顾一些基础的概念. 1.基础知识回顾 注意:咱们下面说的都是Linux环境下,跟Windows不一样哈~~~ 1.1 用户空间和内核空间 现在操作系统都采用虚拟寻址,处理器先产生一个虚拟地址,通过地址翻译成物理地址(内

Storm介绍及核心组件和编程模型

离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据.MapReduce批量计算数据.Hive批量计算数据.azkaban/oozie任务调度 流式计算 流式计算:数据实时产生.数据实时传输.数据实时计算.实时展示 代表技术:Flume实时获取数据.Kafka/metaq实时数据存储.Storm/JStorm实时数据计算.Redis实时结果缓存.持久化存储(mysql). 一句话总结:将源源不断产生的数据实时收集并实

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(4)- 其它

1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常,路由规则如下: (1)当前为EL1,则陷阱异常传递给EL1(HCR_EL2.TGE定义为1时,会路由到EL2); (2)当前为EL2,则陷阱异常传递给EL2; (3)当前为EL3,则陷阱异常传递给EL3; 3. 系统调用 SVC 默认情况下SVC产生supervisor call,同步异常目标级别

【统计学习】随机梯度下降法求解感知机模型

1. 感知机学习模型 感知机是一个二分类的线性分类问题,求解是使误分类点到超平面距离总和的损失函数最小化问题.采用的是随机梯度下降法,首先任意选取一个超平面w0和b0,然后用梯度下降法不断地极小化目标损失函数,极小化过程中不是一次使所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降.假设误分类点集合M是固定的,那么损失函数L(w,b)的梯度: 随机选取一个误分类点,对w和b进行更新: 其中n是步长,又称为学习率(learning rate),这样通过迭代可以使损失函数L(w,b)不

4.利用python生成器实现简单的“生产者消费者”模型

假如说,没有生成器这种对象,那么如何实现这种简单的"生产者消费者"模型呢? import time def producer(): pro_list = [] for i in range(10000): print "包子%s制作ing" %(i) time.sleep(0.5) pro_list.append("包子%s" %i) return pro_list def consumer(pro_list): for index,stuffe

Java实现多线程生产者消费模型及优化方案

生产者-消费者模型是进程间通信的重要内容之一.其原理十分简单,但自己用语言实现往往会出现很多的问题,下面我们用一系列代码来展现在编码中容易出现的问题以及最优解决方案. /* 单生产者.单消费者生产烤鸭 */class Resource { private String name; private int count = 1; //计数器,记录有多少只烤鸭被生产及消费 private boolean flag = false; //停止标记 public synchronized void set