页面自动生成工具设计

页面自动生成工具设计

1功能概述

1.1使用术语

页面自动生成工具:自定义查询条件以及数据显示的一种页面生成工具

1.2功能说明

页面自动生成工具是按照工程人员的需求定义查询条件以及数据显示方式的一种工具,数据显示可以用表格和图表的方式:查询统计以表格的方式显示数据,趋势页面以图表方式显示页面。

1.2.1查询统计页面

查询统计页面的设置如下图:

"设置数据集":整个查询统计显示数据的完整sql语句。

"查询条件设置":写完sql语句后点击"设置查询条件"按钮,将sql语句中的参数带入条件设置中。其中"显示顺序"确定了在生成的页面中该条件显示的顺序;"参数名称"对应sql中的参数;"参数显示名称"确定该参数在查询统计页面上的提示名称;"控件类型"可以确定该参数在页面上的控件(文本框,时间框,下拉框),控件类型会在1.2.4节中说明。

"显示设置":控制sql查询出的数据有哪些列需要显示。" 是否显示"控制该列是否显示;"列名称"对应数据列,"列显示名称"控制该列显示的列头。

"保存":点击"保存"按钮,会把页面的信息才存入数据库以便下次读取。

"预览":点击"预览"可以查看上面的页面设置是否正确。

最终生成的页面效果如下:

其中开始时间大于,开始时间小于选择的是时间控件,回路ID选择的是下拉框控件:SELECT   numCircuitID,varCircuitName from WD_Circuit;

1.2.2趋势页面

趋势页面的设置如下图:

"设置数据集":整个查询统计显示数据的完整sql语句。

"查询条件设置":写完sql语句后点击"设置查询条件"按钮,将sql语句中的参数带入条件设置中。其中"显示顺序"确定了在生成的页面中该条件显示的顺序;"参数名称"对应sql中的参数;"参数显示名称"确定该参数在查询统计页面上的提示名称;"控件类型"可以确定该参数在页面上的控件(文本框,时间框,下拉框),控件类型会在1.2.4节中说明。

"显示设置":控制sql查询出的数据有哪些列需要显示。" 是否显示"控制该列是否显示;"显示位置"确定该列作为x轴或者y轴(只能有一个x轴),"列名称"对应数据列,"列显示名称"是对该列的说明。

"保存":点击"保存"按钮,会把页面的信息才存入数据库以便下次读取。

"预览":点击"预览"可以查看上面的页面设置是否正确。

最终生成的页面效果如下:

其中开始时间,开始时间选择的是时间控件,表ID选择的是下拉框控件:select   numTableID,varIP from WD_Table;列ID选择的是下拉框控件:SELECT   numColID,varCName from WD_Column;

1.2.3增删查找页面

增删查找页面设计如下图:

"主数据库":增删查找所操作的数据表

"设置查询条件":点击该按钮可以查询出所需要操作数据表的所有字段。

"修改设置":"显示顺序"控制查询条件和查询出的数据的显示顺序;"主键"是该表的主键:在更新(update)和删除(delete)时作为条件(where);"是否修改"控制在更新(update)和插入(insert)时是否修改该字段;"查询条件":表示该参数是否作为查询条件;"参数"是该字段对应表的字段;"查询参数名称"是该参数作为查询参数的字符串;"参数显示名称"是作为查询条件的参数的界面提示名称;"控件类型"可以确定该参数在页面上的控件(文本框,时间框,下拉框),控件类型会在1.2.4节中说明。

"保存":点击"保存"按钮,会把页面的信息才存入数据库以便下次读取。

"预览":点击"预览"可以查看上面的页面设置是否正确。

最终生成的页面效果如下:

1.2.4控件类型

控制选择条件时的控件类型:文本框,下拉框,时间控件。

文本框:默认的控件类型

下拉框:输入sql语句来确定下拉框中的显示数据(SELECT   numCircuitID,varCircuitName from WD_Circuit;):第一列是下拉框的value,第二列是下拉框的text.

时间控件:用于时间的选择

2模块设计

2.1页面自动生成工具模块划分

页面自动生成工具将设计保存到数据库,也可以将数据库中的设计读取出来修改,其他系统读取数据库中的设计自动生成页面。

2.2数据相关设计

页面自动生成工具的设计最终以json格式存储数据

2.2.1查询统计页面

json如下:

{

"dataTable":"select numRefID,datStart d1,numCircuitID from WD_CircuitParents   where datStart BETWEEN ‘:start:‘ and ‘:end:‘ and numCircuitID=‘:numCircuitID:‘",

"pageType":"query",

"condition": [

{ "order": "1", "name": ":start:", "showName": "开始时间大于", "control": "DateTimePicker", "controlData": "" },

{ "order": "2",  "name": ":end:", "showName": "开始时间小于", "control": "DateTimePicker", "controlData": ""},

{ "order": "3",  "name": ":numCircuitID:", "showName": "回路ID", "control": "dropdownlist", "controlData": "select   numCircuitID,varCircuitName   from WD_Circuit" }

],

"show": [

{ "isShow": "1", "name": "numRefID", "showName": "ID" },

{ "isShow": "1",  "name": "d1", "showName": "开始时间"},

{ "isShow": "1",  "name": "numCircuitID", "showName": "回路ID"}

]}

dataTable:页面显示数据的sql

pageType:页面类型(admin:管理页面, trend:趋势页面,query:查询统计页面)

condition:查询条件:“order”是条件显示顺序,“name”是该条件对应sql语句中的字符串,“showName”是该条件的提示名称,“control”是条件适宜的控件,“controlData”是条件控件的值集合

show:表格数据显示:“isShow”该列是否显示,“name”该列对应列名,“showName”该列显示的列头

2.2.2趋势页面

json如下:

{

"dataTable":"select   datBuild,varValue,numColID,numTableID from WD_TableData WHERE datBuild BETWEEN ‘:start:‘ and ‘:end:‘ numTableID=:numTableID: and numColID=:numColID:;",

"pageType":"trend",

"condition": [

{ "order": "1", "name": ":start:", "showName": "开始时间", "control": "DateTimePicker", "controlData": "" },

{ "order": "2",  "name": ":end:", "showName": "结束时间", "control": "DateTimePicker", "controlData": ""},

{ "order": "3",  "name": ":numTableID:", "showName": "表ID", "control": "dropdownlist", "controlData": "select   numTableID,varIP from WD_Table" },

{ "order": "4",  "name": ":numColID:", "showName": "列ID", "control": "dropdownlist", "controlData": "select numColID,varCName from WD_Column" }

],

"show": [

{ "isShow": "x", "name": "datBuild", "showName": "时间" },

{ "isShow": "y",  "name": "varValue", "showName": "值"},

{ "isShow": "",  "name": "numColID", "showName": "列ID"},

{ "isShow": "",  "name": "numColID", "showName": "表ID"}

]}

dataTable:页面显示数据的sql

pageType:页面类型(admin:管理页面, trend:趋势页面,query:查询统计页面)

condition:查询条件:“order”是条件显示顺序,“name”是该条件对应sql语句中的字符串,“showName”是该条件的提示名称,“control”是条件适宜的控件,“controlData”是条件控件的值集合

show:表格数据显示:“isShow”在x轴或者y轴显示数据,“name”该列对应列名,“showName”该列显示的列头

2.2.3增删查找页面

json如下:

{

"dataTable":"select * from WD_User",

"pageType":"admin",

"condition": [

{"order": "1","key":"1","modify":"0","show":"0","name": "numUser", "showName": "用户ID", "control": "text", "controlData": ""},

{"order": "2","key":"0","modify":"1","show":"1","name": "varUserName", "showName": "用户名称", "control": "text", "controlData": ""},

{"order": "3","key":"0","modify":"1","show":"1","name": "varLoginName", "showName": "登录名", "control": "text", "controlData": ""},

{"order": "4","key":"0","modify":"0","show":"0","name": "varPassword", "showName": "密码", "control": "text", "controlData": ""},

{"order": "5","key":"0","modify":"1","show":"1","name": "datCreate", "showName": "创建时间", "control": "DateTimePicker", "controlData": ""},

{"order": "6","key":"0","modify":"1","show":"1","name": "numOrganizeID", "showName": "机构", "control": "dropdownlist", "controlData": "SELECT  numOrganizeId,varOrganizeName from WD_Organize"},

{"order": "7","key":"0","modify":"1","show":"1","name": "numPositionId", "showName": "职位", "control": "dropdownlist", "controlData": "SELECT numPositionId,varPositionName from WD_Position"}

]}

dataTable:页面显示数据的sql

pageType:页面类型(admin:管理页面, trend:趋势页面,query:查询统计页面)

condition:查询条件:"order": 控制查询条件和查询出的数据的显示顺序,"key":是否作为主键,"modify":控制在更新(update)和插入(insert)时是否修改该字段,"show":是否作为查询条件,"name": 该参数作为查询参数的字符串, "showName":作为查询条件的参数的界面提示名称, "control": 可以确定该参数在页面上的控件(文本框,时间框,下拉框), "controlData": 默认数据

页面的增删查找sql如下:

INSERT into WD_User(varUserName,varLoginName,datCreate,numOrganizeID,numPositionID) VALUES(:varUserName:,:varLoginName:,:datCreate:,:numOrganizeID:,:numPositionID:)

UPDATE WD_User SET varUserName=:varUserName:,varLoginName=:varLoginName:,datCreate=:datCreate:,numOrganizeID:numOrganizeID:,numPositionID=:numPositionID: where numUserID=:numUserID:

DELETE   from WD_User where numUserID=:numUserID:

3接口设计

4系统性能设计

5系统出错处理

时间: 2024-11-05 13:01:30

页面自动生成工具设计的相关文章

h5自动生成工具

一.前言 写了很多h5之后,对于写手写html和css已经麻木的我决定动手写个工具自动生成h5结构和样式.其实这个想法由来已久,但总是觉得自己技术不够,所以一直没实行.直到某天我真的写够了,我决定动手了.在此也要感谢我周围的小伙伴.是波波同学告诉了我如何使用ps中的脚本批量把图层导出成图片,嘉哥告诉了我怎么裁剪png图片.站在了巨人肩膀上的我,利用这两个方法和我自己的聪明才智,经过2/3天的努力,终于完成了我的工具.个人感觉非常满意. 二.规范说明 设计稿要求为640x1006尺寸,设计人员给的

代码自动生成工具,2小时搞定智能硬件产品Demo

常见的智能硬件设备多是由单片机.微处理器.微控制器等构成的嵌入式系统,通过WIFI.蓝牙.GPRS等无线通信技术连接云服务器,传统的开发方式需要开发人员根据自己的产品功能完成MCU 通过无线通信/芯片模组与云服务器交互的协议,而通过MCU代码自动生成工具,云端会根据产品定义的数据点生成对应产品的设备端代码.使用自动生成的代码开发产品,就不必再处理协议相关的部分,开发者可以将节省出来的精力集中在产品的核心功能开发上,不必重复"造轮子". 使用MCU.手机APP代码自动生成工具,2小时搞定

iBatis 代码自动生成工具 iBator 及 Example 使用

iBator的下载和安装 官方下载地址:http://people.apache.org/builds/ibatis/ibator/ 安装:见<Eclipse 插件安装> 安装完成后,“File” —> "New" —> "Other..." iBatis 代码自动生成工具 iBator - 低调的华丽 - 辉色空间 选择项目名 —> "New" —> "Other..." —> “N

Asp.net mvc 5 CRUD代码自动生成工具- vs.net 2013 Saffolding功能扩展

Asp.net mvc 5 CRUD代码自动生成工具 -Visual Studio.net2013 Saffolding功能扩展 上次做过一个<Asp.net webform scaffolding结合Generic Unit of Work & (Extensible) Repositories Framework代码生成向导> 是生存Web Form的. 这次看到网上有生成MVC Saffolding扩展原作者的代码 https://github.com/robinli/MVC5-

mybaits generator 代码自动生成工具使用

mybaits generator 代码自动生成工具使用MyBatis Generator (MBG) 是一个Mybatis的代码生成器,它可以帮助我们根据数据库中表的设计生成对应的实体类,xml Mapper文件,接口以及帮助类(也就是我们可以借助该类来进行简单的CRUD操作),这样就避免了我们每使用到一张表的数据就需要手动去创建对应的类和xml文件,这就帮我们节约了大量的时间去开发和业务逻辑有关的功能,但是如果对联合查询和存储过程您仍然需要手写SQL和对象. 生成方式主要有 Maven 和

STM32代码自动生成工具使用说明

1.什么是"代码自动生成工具" 为了降低开发者的开发门槛,缩短开发周期,降低开发资源投入,机智云推出了代码自动生成服务.云端会根据产品定义的数据点生成对应产品的设备端代码. 自动生成的代码实现了机智云通信协议的解析与封包.传感器数据与通信数据的转换逻辑,并封装成了简单的API,且提供了多种平台的实例代码.当设备收到云端或APP端的数据后,程序会将数据转换成对应的事件并通知到应用层,开发者只需要在对应的事件处理逻辑中添加传感器的控制函数,就可以完成产品的开发. 使用自动生成的代码开发产品

Makefile自动生成工具-----autotools的使用(详细)

相信每个学习Linux的人都知道Makefile,这是一个很有用的东西,但是编写它是比较复杂,今天介绍一个它的自动生成工具,autotools的使用.很多GNULinux的的软件都是用它生成Makefile的,包括我们非常熟悉的Linux内核源代码. 1.准备: 需要工具 autoscan aclocal autoheader automake autoconf auto make 在终端敲入命令,哪个没有安装哪个,一般是第一个autoscan没有,其它的我用的Ubuntu10.04下全部都有

mybatis-generator 代码自动生成工具(maven方式)

由于MyBatis属于一种半自动的ORM框架,所以主要的工作将是书写Mapping映射文件,但是由于手写映射文件很容易出错,mybatis-gennerator插件帮我们自动生成mybatis所需要的dao.bean.mapper xml文件. 这里主要通过eclipse工具,来讲解实现; 1.建表语句 CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRI

C/C++ makefile自动生成工具(comake2,autotools,linux),希望能为开源做点微薄的贡献!

序 在linux下C或C++项目开发,Makefile是必备的力气,但是发现手写很麻烦. 在百度有个comake2工具,用于自动生成Makefile工具,而在外边本想找一个同类工具,但发现很难做到,只发现有个类似的智能生成工具autotools,但是操作比较麻烦,奔着“一人学习,大家共享”的原则,手动写了一个工具类,帮助自己和大家生成现成的c或者cpp框架. 代码比较简单,希望我们能一起改善下. git路径:https://github.com/chuanshanjia/ccpp/blob/ma