=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
index 9c4403f..6b5aebc 100644
--- a/.settings/org.eclipse.jdt.core.prefs
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -1,13 +1,13 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
index 14b697b..f897a7f 100644
--- a/.settings/org.eclipse.m2e.core.prefs
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -1,4 +1,4 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/.settings/org.eclipse.m2e.wtp.prefs b/.settings/org.eclipse.m2e.wtp.prefs
index 0492759..ef86089 100644
--- a/.settings/org.eclipse.m2e.wtp.prefs
+++ b/.settings/org.eclipse.m2e.wtp.prefs
@@ -1,2 +1,2 @@
-eclipse.preferences.version=1
-org.eclipse.m2e.wtp.enabledProjectSpecificPrefs=false
+eclipse.preferences.version=1
+org.eclipse.m2e.wtp.enabledProjectSpecificPrefs=false
diff --git a/.settings/org.eclipse.wst.common.component b/.settings/org.eclipse.wst.common.component
index 3e7c761..2f0cb67 100644
--- a/.settings/org.eclipse.wst.common.component
+++ b/.settings/org.eclipse.wst.common.component
@@ -1,10 +1,10 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
index 3084b6c..5ba2419 100644
--- a/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -1,8 +1,8 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/.settings/org.eclipse.wst.validation.prefs b/.settings/org.eclipse.wst.validation.prefs
index 6f1cba6..04cad8c 100644
--- a/.settings/org.eclipse.wst.validation.prefs
+++ b/.settings/org.eclipse.wst.validation.prefs
@@ -1,2 +1,2 @@
-disabled=06target
-eclipse.preferences.version=1
+disabled=06target
+eclipse.preferences.version=1
diff --git a/README.md b/README.md
index 7e499b4..d113eec 100644
--- a/README.md
+++ b/README.md
@@ -1,74 +1,74 @@
-
-
-
-
-
-
-
- 让你的自动化体系建设更简单
-
- LuckyFrame官网
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 捐赠 | 感谢
-> [【捐赠支持(微信)】](https://git.oschina.net/uploads/images/2017/0913/175706_f58b543b_1215415.jpeg) [【捐赠支持(支付宝)】](https://git.oschina.net/uploads/images/2017/0913/175750_e96add72_1215415.jpeg)
-
-> 感谢你们的认可与支持 [【捐赠记录】](https://git.oschina.net/seagull1985/LuckyFrameWeb/wikis/pages?title=捐赠列表&parent=捐赠)
-
-
-# 介绍
-
-LuckyFrame 开源自动化测试平台 - 自动化测试 X 时代来了
-> LuckyFrame QQ官方交流群 487954492
-
-# 我能做什么?
-
-- **分布式测试**:使用Web-Client的方式,Web端负责基本信息管理展示,Client负责用例执行,任意无限扩展客户端。
-- **多途径用例管理**:您即可以使用Web端自带的用例管理模块,也可以使用testlink来管理自动化用例。
-- **质量管理**:Web端不仅仅有用来管理自动化相关的模块,更可以做一些简单的质量数据收集分析以及数据的多图表展示。
-- **多线程执行用例**:客户端执行用例可以指定线程数量,用例运行更快速。
-- **在线编辑用例**:专属自动化用例设计结构,使用bootstrap table x_edit插件,更快捷、方便的编辑、调试自动化用例。
-- **定时任务调度**:支持自定义配置调度任务,包括指定线程数,指定执行客户端,远程执行shell重启tomcat,对jenkins中的项目进行构建等。
-- **测试过程监控**:客户端运行用例采用命令行的方式,在客户端可以实时查看过程。Web端可以通过任务查询查看测试进度。
-- **日志定位**:客户端LOG4J+数据库记录测试过程日志,2种方式都可以通过Web端实时查看定位问题。
-- **接口+Web UI双纬度自动化**:支持接口+Web UI自动化,客户端OS必须为Windows系统,UI自动化采用WebDriver3.0封装,纯关键字驱动,0编码。
-- **HTTP+Socket接口免编码**:完全封装HTTP以及Socket接口,协议模板+纯关键字驱动,免编码,初级测试人员的福音,与其他类似开源工具相比优势明显
-- **在线调试用例**:直接通过页面的步骤编辑界面调试用例,省心、省力、省脑子,但是不能不要脑子。
-- **Bootstrap 小清新风格界面**:整套Web系统基于Bootstrap风格,以及多种其下的插件,构建清爽界面。
-- **更多...**:还有更多自动化的创意,期待你的体验发现... 更多详细介绍
-
-# 瞅一眼吧
-
-
-
-
-
-
-
-
-
-# 更新日志
-> [【查看版本Releases日志】](https://git.oschina.net/seagull1985/LuckyFrameWeb/wikis/pages?title=更新日志&parent=项目信息)
-
-# 大家安静下,我再说一句
-此项目是LuckyFrame的Web端项目,此外还有一个LuckyFrame的项目做为客户端,如果您只需要先看看界面,那么单独下载这个项目就够了,如果您需要搭建整套环境,那还要把LuckyFrame项目下载下来。
-
-# 期待您更多的意见
-
+
+
+
+
+
+
+
+ 让你的自动化体系建设更简单
+
+ LuckyFrame官网
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# 捐赠 | 感谢
+> [【捐赠支持(微信)】](https://git.oschina.net/uploads/images/2017/0913/175706_f58b543b_1215415.jpeg) [【捐赠支持(支付宝)】](https://git.oschina.net/uploads/images/2017/0913/175750_e96add72_1215415.jpeg)
+
+> 感谢你们的认可与支持 [【捐赠记录】](https://git.oschina.net/seagull1985/LuckyFrameWeb/wikis/pages?title=捐赠列表&parent=捐赠)
+
+
+# 介绍
+
+LuckyFrame 开源自动化测试平台 - 自动化测试 X 时代来了
+> LuckyFrame QQ官方交流群 487954492
+
+# 我能做什么?
+
+- **分布式测试**:使用Web-Client的方式,Web端负责基本信息管理展示,Client负责用例执行,任意无限扩展客户端。
+- **多途径用例管理**:您即可以使用Web端自带的用例管理模块,也可以使用testlink来管理自动化用例。
+- **质量管理**:Web端不仅仅有用来管理自动化相关的模块,更可以做一些简单的质量数据收集分析以及数据的多图表展示。
+- **多线程执行用例**:客户端执行用例可以指定线程数量,用例运行更快速。
+- **在线编辑用例**:专属自动化用例设计结构,使用bootstrap table x_edit插件,更快捷、方便的编辑、调试自动化用例。
+- **定时任务调度**:支持自定义配置调度任务,包括指定线程数,指定执行客户端,远程执行shell重启tomcat,对jenkins中的项目进行构建等。
+- **测试过程监控**:客户端运行用例采用命令行的方式,在客户端可以实时查看过程。Web端可以通过任务查询查看测试进度。
+- **日志定位**:客户端LOG4J+数据库记录测试过程日志,2种方式都可以通过Web端实时查看定位问题。
+- **接口+Web UI双纬度自动化**:支持接口+Web UI自动化,客户端OS必须为Windows系统,UI自动化采用WebDriver3.0封装,纯关键字驱动,0编码。
+- **HTTP+Socket接口免编码**:完全封装HTTP以及Socket接口,协议模板+纯关键字驱动,免编码,初级测试人员的福音,与其他类似开源工具相比优势明显
+- **在线调试用例**:直接通过页面的步骤编辑界面调试用例,省心、省力、省脑子,但是不能不要脑子。
+- **Bootstrap 小清新风格界面**:整套Web系统基于Bootstrap风格,以及多种其下的插件,构建清爽界面。
+- **更多...**:还有更多自动化的创意,期待你的体验发现... 更多详细介绍
+
+# 瞅一眼吧
+
+
+
+
+
+
+
+
+
+# 更新日志
+> [【查看版本Releases日志】](https://git.oschina.net/seagull1985/LuckyFrameWeb/wikis/pages?title=更新日志&parent=项目信息)
+
+# 大家安静下,我再说一句
+此项目是LuckyFrame的Web端项目,此外还有一个LuckyFrame的项目做为客户端,如果您只需要先看看界面,那么单独下载这个项目就够了,如果您需要搭建整套环境,那还要把LuckyFrame项目下载下来。
+
+# 期待您更多的意见
+
> 如果你有任何的想法或是建议那就给我留个言吧
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V1.0初始化.sql b/mysqldb/initialization(create table)/V1.0初始化.sql
index bece540..3ce22e4 100644
--- a/mysqldb/initialization(create table)/V1.0初始化.sql
+++ b/mysqldb/initialization(create table)/V1.0初始化.sql
@@ -1,451 +1,451 @@
-create table OPERATION_LOG
-(
- id int(9) not null AUTO_INCREMENT,
- tablename VARCHAR(30) not null COMMENT '被记录日志表名',
- tableid int(8) not null COMMENT '被记录日志ID',
- operation_time VARCHAR(30) not null COMMENT '操作时间',
- operationer VARCHAR(20) not null COMMENT '操作人员',
- operation_description VARCHAR(200) not null COMMENT '描述',
- projectid int(8) COMMENT '项目ID',
- primary key (ID)
-)default character set utf8;
-create table QA_ACCIDENT
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- accstatus VARCHAR(80) not null COMMENT '事故状态',
- eventtime VARCHAR(30) COMMENT '事故发生时间',
- reporter VARCHAR(20) not null COMMENT '报告人',
- reporttime VARCHAR(30) not null COMMENT '事故报告时间',
- accdescription VARCHAR(500) not null COMMENT '事故描述',
- acclevel VARCHAR(60) not null COMMENT '事故等级',
- causalanalysis VARCHAR(500) COMMENT '原因分析',
- causaltype VARCHAR(100) COMMENT '原因类型',
- consequenceanalysis VARCHAR(300) COMMENT '后果分析',
- correctiveaction VARCHAR(300) COMMENT '纠正措施',
- resolutiontime VARCHAR(30) COMMENT '解决时间',
- resolutioner VARCHAR(20) COMMENT '解决处理人',
- preventiveaction VARCHAR(300) COMMENT '预防措施',
- preventiver VARCHAR(20) COMMENT '预防措施责任人',
- preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
- preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
- trouble_duration int(8) COMMENT '事故持续时间',
- impact_time int(8),
- filename VARCHAR(100) COMMENT '附件路径',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWCHECK
-(
- id int(10) not null AUTO_INCREMENT,
- checkid int(10) not null COMMENT '检查id',
- projectid int(10) not null COMMENT '项目id',
- projectphase VARCHAR(20) not null COMMENT '项目阶段',
- phasenode VARCHAR(50) not null COMMENT '阶段节点',
- checkentry VARCHAR(100) not null COMMENT '检查内容',
- checkresult VARCHAR(20) COMMENT '检查结果',
- checkdate VARCHAR(20) COMMENT '检查日期',
- checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
- stateupdate VARCHAR(20) COMMENT '状态更新',
- updatedate VARCHAR(20) COMMENT '更新日期',
- remark VARCHAR(200) COMMENT '备注',
- versionnum VARCHAR(30) COMMENT '版本号',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWINFO
-(
- id int(10) not null AUTO_INCREMENT,
- phaseid int(10) not null,
- phasename VARCHAR(20) not null,
- phasenodeid int(10) not null,
- phasenodename VARCHAR(20) not null,
- checkentryid int(10) not null,
- checkentry VARCHAR(200) not null,
- remark VARCHAR(100),
- primary key (ID)
-)default character set utf8;
-create table QA_PLANFLOWCHECK
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- versionnum VARCHAR(30) COMMENT '版本号',
- checkentryid VARCHAR(20) not null COMMENT '检查ID',
- plandate VARCHAR(20) not null COMMENT '计划检查日期',
- status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
- primary key (ID)
-)default character set utf8;
-create table QA_PROJECTVERSION
-(
- versionid int(10) not null AUTO_INCREMENT,
- versionnumber VARCHAR(20) COMMENT '版本号',
- plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
- actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
- plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
- plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
- actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
- actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
- plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
- plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
- actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
- actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
- plan_demand int(10) COMMENT '计划上线需求数',
- actually_demand int(10) COMMENT '实际上线需求数',
- codeline FLOAT(10) COMMENT '代码变动行数',
- testcasenum int(10) COMMENT '测试用例数',
- changetestingreturn int(10) COMMENT '版本转测试打回次数',
- dev_member VARCHAR(50) COMMENT '开发投入人力',
- test_member VARCHAR(50) COMMENT '测试投入人力',
- human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
- per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
- per_test VARCHAR(20) COMMENT '用例编写/用例执行',
- code_di VARCHAR(20) COMMENT '代码DI值',
- qualityreview VARCHAR(500) COMMENT '质量回溯',
- imprint VARCHAR(500) COMMENT '版本说明',
- remark VARCHAR(500) COMMENT '备注',
- projectid int(10) COMMENT '项目ID',
- devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
- devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
- testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
- testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
- protime_deviation VARCHAR(20),
- prodelay_days VARCHAR(20),
- bug_zm int(10),
- bug_yz int(10),
- bug_yb int(10),
- bug_ts int(10),
- versiontype int(8) default 1 not null COMMENT '版本类型',
- perdemand FLOAT(8) default 0.00,
- codestandard_zd int(10) default 0 not null,
- codestandard_yz int(10) default 0 not null,
- codestandard_zy int(10) default 0 not null,
- zt_versionlink VARCHAR(100) COMMENT '禅道链接',
- human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
- human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
- primary key (versionid)
-)default character set utf8;
-create table QA_REVIEW
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- version VARCHAR(20) not null COMMENT '版本号',
- review_type VARCHAR(20) COMMENT '评审类型',
- review_date VARCHAR(20) COMMENT '评审日期',
- bug_num int(8) COMMENT '问题数',
- repair_num int(8) COMMENT '已修复问题数',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- review_object VARCHAR(100) COMMENT '评审对象',
- review_result VARCHAR(50) COMMENT '评审结果',
- result_confirmor VARCHAR(50) COMMENT '结果确认人',
- remark VARCHAR(500) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-create table QA_REVIEWINFO
-(
- id int(8) not null AUTO_INCREMENT,
- review_id int(8) not null COMMENT '评审ID',
- bug_description VARCHAR(500) COMMENT '问题描述',
- status VARCHAR(20) COMMENT '状态',
- duty_officer VARCHAR(100) COMMENT '责任人',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- corrective VARCHAR(500) COMMENT '纠正措施',
- primary key (id)
-)default character set utf8;
-create table QA_SECONDARYSECTOR
-(
- sectorid int(10) not null AUTO_INCREMENT,
- departmenthead VARCHAR(20),
- departmentname VARCHAR(20),
- primary key (sectorid)
-)default character set utf8;
-create table QA_SECTORPROJECTS
-(
- projectid int(10) not null AUTO_INCREMENT,
- projectname VARCHAR(100) not null,
- projectmanager VARCHAR(100) not null,
- sectorid int(10) not null,
- projecttype int(4) default 0 not null,
- primary key (projectid)
-)default character set utf8;
-create table QA_ZTTASK
-(
- id int(8) not null AUTO_INCREMENT,
- versionid int(8) COMMENT '版本ID',
- versionname VARCHAR(100) COMMENT '版本名称',
- taskname VARCHAR(300) COMMENT '任务名称',
- assigneddate VARCHAR(50) COMMENT '完成时间',
- estimate int(8) COMMENT '预期工时',
- consumed int(8) COMMENT '实际工时',
- finishedby VARCHAR(40) COMMENT '完成人账号',
- finishedname VARCHAR(40) COMMENT '完成人姓名',
- deadline VARCHAR(40) COMMENT '计划截止日期',
- delaystatus int(4) COMMENT '延期状态',
- primary key (id)
-)default character set utf8;
-create table TEST_JOBS
-(
- id int(10) not null AUTO_INCREMENT,
- name VARCHAR(100) not null COMMENT '调度名称',
- startdate VARCHAR(100) COMMENT '开始日期',
- starttime VARCHAR(100) COMMENT '开始时间',
- enddate VARCHAR(100) COMMENT '结束日期',
- endtime VARCHAR(100) COMMENT '结束时间',
- runtime datetime COMMENT '执行时间',
- remark VARCHAR(800) COMMENT '备注',
- planproj VARCHAR(100) COMMENT '项目名(testlink)中',
- state VARCHAR(4) not null COMMENT '状态',
- tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
- starttimestr VARCHAR(100) COMMENT '执行时间表达式',
- endtimestr VARCHAR(100) COMMENT '结束时间',
- createtime datetime not null,
- noenddate VARCHAR(10) COMMENT '是否有结束日期',
- time int default 0,
- timetype VARCHAR(4),
- issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
- emailer VARCHAR(250) COMMENT '邮件地址',
- threadcount int default 1 COMMENT '客户端线程数(接口)',
- testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
- isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
- buildname VARCHAR(100) COMMENT '构建链接',
- isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
- restartcomm VARCHAR(200) COMMENT '重启脚本',
- extype int(4) default 0 not null COMMENT '执行类型',
- browsertype int(4) COMMENT 'UI自动化浏览器类型',
- timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
- clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
- primary key (id)
-)default character set utf8;
-create table TEST_CASEDETAIL
-(
- id int(10) not null AUTO_INCREMENT,
- taskid int(10) not null,
- caseno VARCHAR(20) not null COMMENT '用例编号',
- caseversion VARCHAR(20) not null COMMENT '用例版本',
- casetime datetime not null COMMENT '执行时间',
- casename VARCHAR(200) not null COMMENT '用例名称',
- casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
- primary key (id)
-)default character set utf8;
-create table TEST_LOGDETAIL
-(
- logid int(10) not null AUTO_INCREMENT,
- logtime datetime not null COMMENT '日志时间',
- detail VARCHAR(1000) not null COMMENT '日志',
- loggrade VARCHAR(20) COMMENT '日志级别',
- caseid int(10) not null COMMENT '用例编号',
- taskid int(10),
- step VARCHAR(20) COMMENT '用例步骤',
- imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
- primary key (logid)
-)default character set utf8;
-create table TEST_TASKEXCUTE
-(
- id int(10) not null AUTO_INCREMENT,
- taskid VARCHAR(150) not null,
- casetotal_count int(10) COMMENT '总用例数',
- casesucc_count int(10) COMMENT '成功数',
- casefail_count int(10) COMMENT '失败数',
- caselock_count int(10) COMMENT '锁定数',
- createtime datetime COMMENT '时间',
- jobid int(10) not null,
- finishtime datetime COMMENT '完成时间',
- taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
- casenoexec_count int default 0 COMMENT '未执行用例',
- caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
- primary key (id)
-)default character set utf8;
-create table USERINFO
-(
- id int(8) not null AUTO_INCREMENT,
- usercode VARCHAR(20) not null,
- password VARCHAR(200) not null,
- username VARCHAR(20),
- role VARCHAR(100) COMMENT '角色',
- sectorid int(8) default 0 not null COMMENT '所属部门',
- primary key (id)
-)default character set utf8;
-
-create table USER_AUTHORITY
-(
- id int(9) not null AUTO_INCREMENT,
- module VARCHAR(50) not null COMMENT '模块',
- auth_type VARCHAR(50) not null COMMENT '权限类型',
- alias VARCHAR(50) not null COMMENT '别名',
- primary key (id)
-)default character set utf8;
-create table USER_ROLE
-(
- id int(9) not null AUTO_INCREMENT,
- role VARCHAR(50) not null COMMENT '角色',
- permission VARCHAR(1000) COMMENT '权限',
- primary key (id)
-)default character set utf8;
-
-/*插入索引
-CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
-CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
-
-/*插入权限默认定义*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (1, '质量-版本信息', '增加', 'pv_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (2, '质量-版本信息', '删除', 'pv_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (3, '质量-版本信息', '修改', 'pv_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (4, '质量-版本计划信息', '增加', 'pvp_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (5, '质量-流程检查信息', '增加', 'fc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (6, '质量-流程检查信息', '删除', 'fc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (7, '质量-流程检查信息', '修改', 'fc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (8, '质量-生产故障信息', '增加', 'acc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (9, '质量-生产故障信息', '删除', 'acc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (10, '质量-生产故障信息', '修改', 'acc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (21, '自动化-任务调度', '启动', 'tast_run');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (22, '自动化-任务调度', '移除', 'tast_remove');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (23, '自动化-任务调度', '执行', 'tast_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (24, '自动化-任务调度', '增加', 'tast_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (25, '自动化-任务调度', '删除', 'tast_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (26, '自动化-任务调度', '修改', 'tast_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (27, '自动化-任务调度', '上传', 'tast_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (11, '质量-流程检查计划', '增加', 'pfc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (12, '质量-流程检查计划', '删除', 'pfc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (13, '质量-流程检查计划', '修改', 'pfc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (15, '质量-评审信息详情', '增加', 'revinfo_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (16, '质量-评审信息详情', '删除', 'revinfo_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (17, '质量-评审信息详情', '修改', 'revinfo_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (18, '质量-评审信息', '删除', 'rev_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (19, '质量-评审信息', '修改', 'rev_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (20, '质量-生产故障信息', '上传', 'acc_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (41, '用户管理', '增加', 'ui_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (42, '用户管理', '删除', 'ui_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (43, '用户管理', '修改', 'ui_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (44, '用户管理', '查看', 'ui_4');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (45, '用户管理-权限角色', '查看修改', 'role_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (28, '自动化-任务列表', '删除', 'tastex_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (29, '自动化-用例列表', '执行', 'case_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (46, '用户管理-权限角色', '增加', 'role_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (47, '用户管理-权限角色', '删除', 'role_2');
-
-/*插入角色默认定义*/
-insert into USER_ROLE (id, role, permission)
-values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
-insert into USER_ROLE (id, role, permission)
-values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
-insert into USER_ROLE (id, role, permission)
-values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
-insert into USER_ROLE (id, role, permission)
-values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,');
-
-/*插入默认部门分级*/
-insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
-values (99, '系统管理员', '总部');
-/*插入默认项目*/
-insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
-values (99, '全部项目/未知项目', '系统管理员', 99, 0);
-/*插入默认管理员*/
-insert into USERINFO (id, usercode, password, username, role, sectorid)
-values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
-/*插入流程检查定义数据*/
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(1000) not null COMMENT '日志',
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ primary key (id)
+)default character set utf8;
+
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ primary key (id)
+)default character set utf8;
+
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V1.1初始化.sql b/mysqldb/initialization(create table)/V1.1初始化.sql
index d67f514..8ed8cb2 100644
--- a/mysqldb/initialization(create table)/V1.1初始化.sql
+++ b/mysqldb/initialization(create table)/V1.1初始化.sql
@@ -1,457 +1,457 @@
-create table OPERATION_LOG
-(
- id int(9) not null AUTO_INCREMENT,
- tablename VARCHAR(30) not null COMMENT '被记录日志表名',
- tableid int(8) not null COMMENT '被记录日志ID',
- operation_time VARCHAR(30) not null COMMENT '操作时间',
- operationer VARCHAR(20) not null COMMENT '操作人员',
- operation_description VARCHAR(200) not null COMMENT '描述',
- projectid int(8) COMMENT '项目ID',
- primary key (ID)
-)default character set utf8;
-create table QA_ACCIDENT
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- accstatus VARCHAR(80) not null COMMENT '事故状态',
- eventtime VARCHAR(30) COMMENT '事故发生时间',
- reporter VARCHAR(20) not null COMMENT '报告人',
- reporttime VARCHAR(30) not null COMMENT '事故报告时间',
- accdescription VARCHAR(500) not null COMMENT '事故描述',
- acclevel VARCHAR(60) not null COMMENT '事故等级',
- causalanalysis VARCHAR(500) COMMENT '原因分析',
- causaltype VARCHAR(100) COMMENT '原因类型',
- consequenceanalysis VARCHAR(300) COMMENT '后果分析',
- correctiveaction VARCHAR(300) COMMENT '纠正措施',
- resolutiontime VARCHAR(30) COMMENT '解决时间',
- resolutioner VARCHAR(20) COMMENT '解决处理人',
- preventiveaction VARCHAR(300) COMMENT '预防措施',
- preventiver VARCHAR(20) COMMENT '预防措施责任人',
- preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
- preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
- trouble_duration int(8) COMMENT '事故持续时间',
- impact_time int(8),
- filename VARCHAR(100) COMMENT '附件路径',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWCHECK
-(
- id int(10) not null AUTO_INCREMENT,
- checkid int(10) not null COMMENT '检查id',
- projectid int(10) not null COMMENT '项目id',
- projectphase VARCHAR(20) not null COMMENT '项目阶段',
- phasenode VARCHAR(50) not null COMMENT '阶段节点',
- checkentry VARCHAR(100) not null COMMENT '检查内容',
- checkresult VARCHAR(20) COMMENT '检查结果',
- checkdate VARCHAR(20) COMMENT '检查日期',
- checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
- stateupdate VARCHAR(20) COMMENT '状态更新',
- updatedate VARCHAR(20) COMMENT '更新日期',
- remark VARCHAR(200) COMMENT '备注',
- versionnum VARCHAR(30) COMMENT '版本号',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWINFO
-(
- id int(10) not null AUTO_INCREMENT,
- phaseid int(10) not null,
- phasename VARCHAR(20) not null,
- phasenodeid int(10) not null,
- phasenodename VARCHAR(20) not null,
- checkentryid int(10) not null,
- checkentry VARCHAR(200) not null,
- remark VARCHAR(100),
- primary key (ID)
-)default character set utf8;
-create table QA_PLANFLOWCHECK
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- versionnum VARCHAR(30) COMMENT '版本号',
- checkentryid VARCHAR(20) not null COMMENT '检查ID',
- plandate VARCHAR(20) not null COMMENT '计划检查日期',
- status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
- primary key (ID)
-)default character set utf8;
-create table QA_PROJECTVERSION
-(
- versionid int(10) not null AUTO_INCREMENT,
- versionnumber VARCHAR(20) COMMENT '版本号',
- plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
- actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
- plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
- plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
- actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
- actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
- plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
- plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
- actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
- actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
- plan_demand int(10) COMMENT '计划上线需求数',
- actually_demand int(10) COMMENT '实际上线需求数',
- codeline FLOAT(10) COMMENT '代码变动行数',
- testcasenum int(10) COMMENT '测试用例数',
- changetestingreturn int(10) COMMENT '版本转测试打回次数',
- dev_member VARCHAR(50) COMMENT '开发投入人力',
- test_member VARCHAR(50) COMMENT '测试投入人力',
- human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
- per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
- per_test VARCHAR(20) COMMENT '用例编写/用例执行',
- code_di VARCHAR(20) COMMENT '代码DI值',
- qualityreview VARCHAR(500) COMMENT '质量回溯',
- imprint VARCHAR(500) COMMENT '版本说明',
- remark VARCHAR(500) COMMENT '备注',
- projectid int(10) COMMENT '项目ID',
- devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
- devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
- testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
- testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
- protime_deviation VARCHAR(20),
- prodelay_days VARCHAR(20),
- bug_zm int(10),
- bug_yz int(10),
- bug_yb int(10),
- bug_ts int(10),
- versiontype int(8) default 1 not null COMMENT '版本类型',
- perdemand FLOAT(8) default 0.00,
- codestandard_zd int(10) default 0 not null,
- codestandard_yz int(10) default 0 not null,
- codestandard_zy int(10) default 0 not null,
- zt_versionlink VARCHAR(100) COMMENT '禅道链接',
- human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
- human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
- primary key (versionid)
-)default character set utf8;
-create table QA_REVIEW
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- version VARCHAR(20) not null COMMENT '版本号',
- review_type VARCHAR(20) COMMENT '评审类型',
- review_date VARCHAR(20) COMMENT '评审日期',
- bug_num int(8) COMMENT '问题数',
- repair_num int(8) COMMENT '已修复问题数',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- review_object VARCHAR(100) COMMENT '评审对象',
- review_result VARCHAR(50) COMMENT '评审结果',
- result_confirmor VARCHAR(50) COMMENT '结果确认人',
- remark VARCHAR(500) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-create table QA_REVIEWINFO
-(
- id int(8) not null AUTO_INCREMENT,
- review_id int(8) not null COMMENT '评审ID',
- bug_description VARCHAR(500) COMMENT '问题描述',
- status VARCHAR(20) COMMENT '状态',
- duty_officer VARCHAR(100) COMMENT '责任人',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- corrective VARCHAR(500) COMMENT '纠正措施',
- primary key (id)
-)default character set utf8;
-create table QA_SECONDARYSECTOR
-(
- sectorid int(10) not null AUTO_INCREMENT,
- departmenthead VARCHAR(20),
- departmentname VARCHAR(20),
- primary key (sectorid)
-)default character set utf8;
-create table QA_SECTORPROJECTS
-(
- projectid int(10) not null AUTO_INCREMENT,
- projectname VARCHAR(100) not null,
- projectmanager VARCHAR(100) not null,
- sectorid int(10) not null,
- projecttype int(4) default 0 not null,
- primary key (projectid)
-)default character set utf8;
-create table QA_ZTTASK
-(
- id int(8) not null AUTO_INCREMENT,
- versionid int(8) COMMENT '版本ID',
- versionname VARCHAR(100) COMMENT '版本名称',
- taskname VARCHAR(300) COMMENT '任务名称',
- assigneddate VARCHAR(50) COMMENT '完成时间',
- estimate int(8) COMMENT '预期工时',
- consumed int(8) COMMENT '实际工时',
- finishedby VARCHAR(40) COMMENT '完成人账号',
- finishedname VARCHAR(40) COMMENT '完成人姓名',
- deadline VARCHAR(40) COMMENT '计划截止日期',
- delaystatus int(4) COMMENT '延期状态',
- primary key (id)
-)default character set utf8;
-create table TEST_JOBS
-(
- id int(10) not null AUTO_INCREMENT,
- name VARCHAR(100) not null COMMENT '调度名称',
- startdate VARCHAR(100) COMMENT '开始日期',
- starttime VARCHAR(100) COMMENT '开始时间',
- enddate VARCHAR(100) COMMENT '结束日期',
- endtime VARCHAR(100) COMMENT '结束时间',
- runtime datetime COMMENT '执行时间',
- remark VARCHAR(800) COMMENT '备注',
- planproj VARCHAR(100) COMMENT '项目名(testlink)中',
- state VARCHAR(4) not null COMMENT '状态',
- tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
- starttimestr VARCHAR(100) COMMENT '执行时间表达式',
- endtimestr VARCHAR(100) COMMENT '结束时间',
- createtime datetime not null,
- noenddate VARCHAR(10) COMMENT '是否有结束日期',
- time int default 0,
- timetype VARCHAR(4),
- issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
- emailer VARCHAR(250) COMMENT '邮件地址',
- threadcount int default 1 COMMENT '客户端线程数(接口)',
- testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
- isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
- buildname VARCHAR(100) COMMENT '构建链接',
- isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
- restartcomm VARCHAR(200) COMMENT '重启脚本',
- extype int(4) default 0 not null COMMENT '执行类型',
- browsertype int(4) COMMENT 'UI自动化浏览器类型',
- timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
- clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
- primary key (id)
-)default character set utf8;
-create table TEST_CASEDETAIL
-(
- id int(10) not null AUTO_INCREMENT,
- taskid int(10) not null,
- caseno VARCHAR(20) not null COMMENT '用例编号',
- caseversion VARCHAR(20) not null COMMENT '用例版本',
- casetime datetime not null COMMENT '执行时间',
- casename VARCHAR(200) not null COMMENT '用例名称',
- casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
- primary key (id)
-)default character set utf8;
-create table TEST_LOGDETAIL
-(
- logid int(10) not null AUTO_INCREMENT,
- logtime datetime not null COMMENT '日志时间',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- loggrade VARCHAR(20) COMMENT '日志级别',
- caseid int(10) not null COMMENT '用例编号',
- taskid int(10),
- step VARCHAR(20) COMMENT '用例步骤',
- imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
- primary key (logid)
-)default character set utf8;
-create table TEST_TASKEXCUTE
-(
- id int(10) not null AUTO_INCREMENT,
- taskid VARCHAR(150) not null,
- casetotal_count int(10) COMMENT '总用例数',
- casesucc_count int(10) COMMENT '成功数',
- casefail_count int(10) COMMENT '失败数',
- caselock_count int(10) COMMENT '锁定数',
- createtime datetime COMMENT '时间',
- jobid int(10) not null,
- finishtime datetime COMMENT '完成时间',
- taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
- casenoexec_count int default 0 COMMENT '未执行用例',
- caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
- primary key (id)
-)default character set utf8;
-create table USERINFO
-(
- id int(8) not null AUTO_INCREMENT,
- usercode VARCHAR(20) not null,
- password VARCHAR(200) not null,
- username VARCHAR(20),
- role VARCHAR(100) COMMENT '角色',
- sectorid int(8) default 0 not null COMMENT '所属部门',
- primary key (id)
-)default character set utf8;
-
-create table USER_AUTHORITY
-(
- id int(9) not null AUTO_INCREMENT,
- module VARCHAR(50) not null COMMENT '模块',
- auth_type VARCHAR(50) not null COMMENT '权限类型',
- alias VARCHAR(50) not null COMMENT '别名',
- primary key (id)
-)default character set utf8;
-create table USER_ROLE
-(
- id int(9) not null AUTO_INCREMENT,
- role VARCHAR(50) not null COMMENT '角色',
- permission VARCHAR(1000) COMMENT '权限',
- primary key (id)
-)default character set utf8;
-
-/*插入索引
-CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
-CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
-
-/*插入权限默认定义*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (1, '质量-版本信息', '增加', 'pv_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (2, '质量-版本信息', '删除', 'pv_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (3, '质量-版本信息', '修改', 'pv_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (4, '质量-版本计划信息', '增加', 'pvp_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (5, '质量-流程检查信息', '增加', 'fc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (6, '质量-流程检查信息', '删除', 'fc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (7, '质量-流程检查信息', '修改', 'fc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (8, '质量-生产故障信息', '增加', 'acc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (9, '质量-生产故障信息', '删除', 'acc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (10, '质量-生产故障信息', '修改', 'acc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (21, '自动化-任务调度', '启动', 'tast_run');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (22, '自动化-任务调度', '移除', 'tast_remove');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (23, '自动化-任务调度', '执行', 'tast_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (24, '自动化-任务调度', '增加', 'tast_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (25, '自动化-任务调度', '删除', 'tast_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (26, '自动化-任务调度', '修改', 'tast_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (27, '自动化-任务调度', '上传', 'tast_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (11, '质量-流程检查计划', '增加', 'pfc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (12, '质量-流程检查计划', '删除', 'pfc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (13, '质量-流程检查计划', '修改', 'pfc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (15, '质量-评审信息详情', '增加', 'revinfo_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (16, '质量-评审信息详情', '删除', 'revinfo_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (17, '质量-评审信息详情', '修改', 'revinfo_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (18, '质量-评审信息', '删除', 'rev_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (19, '质量-评审信息', '修改', 'rev_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (20, '质量-生产故障信息', '上传', 'acc_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (41, '用户管理', '增加', 'ui_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (42, '用户管理', '删除', 'ui_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (43, '用户管理', '修改', 'ui_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (44, '用户管理', '查看', 'ui_4');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (45, '用户管理-权限角色', '查看修改', 'role_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (28, '自动化-任务列表', '删除', 'tastex_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (29, '自动化-用例列表', '执行', 'case_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (46, '用户管理-权限角色', '增加', 'role_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (47, '用户管理-权限角色', '删除', 'role_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (48, '项目管理', '增加', 'pro_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (49, '项目管理', '删除', 'pro_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (50, '项目管理', '修改', 'pro_3');
-
-/*插入角色默认定义*/
-insert into USER_ROLE (id, role, permission)
-values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
-insert into USER_ROLE (id, role, permission)
-values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
-insert into USER_ROLE (id, role, permission)
-values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
-insert into USER_ROLE (id, role, permission)
-values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,');
-
-/*插入默认部门分级*/
-insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
-values (99, '系统管理员', '总部');
-/*插入默认项目*/
-insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
-values (99, '全部项目/未知项目', '系统管理员', 99, 0);
-/*插入默认管理员*/
-insert into USERINFO (id, usercode, password, username, role, sectorid)
-values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
-/*插入流程检查定义数据*/
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ primary key (id)
+)default character set utf8;
+
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ primary key (id)
+)default character set utf8;
+
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, '项目管理', '增加', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, '项目管理', '删除', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (50, '项目管理', '修改', 'pro_3');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V2.0 初始化 .sql b/mysqldb/initialization(create table)/V2.0 初始化 .sql
index 4c4ef44..c0bb583 100644
--- a/mysqldb/initialization(create table)/V2.0 初始化 .sql
+++ b/mysqldb/initialization(create table)/V2.0 初始化 .sql
@@ -1,541 +1,541 @@
-create table OPERATION_LOG
-(
- id int(9) not null AUTO_INCREMENT,
- tablename VARCHAR(30) not null COMMENT '被记录日志表名',
- tableid int(8) not null COMMENT '被记录日志ID',
- operation_time VARCHAR(30) not null COMMENT '操作时间',
- operationer VARCHAR(20) not null COMMENT '操作人员',
- operation_description VARCHAR(200) not null COMMENT '描述',
- projectid int(8) COMMENT '项目ID',
- primary key (ID)
-)default character set utf8;
-create table QA_ACCIDENT
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- accstatus VARCHAR(80) not null COMMENT '事故状态',
- eventtime VARCHAR(30) COMMENT '事故发生时间',
- reporter VARCHAR(20) not null COMMENT '报告人',
- reporttime VARCHAR(30) not null COMMENT '事故报告时间',
- accdescription VARCHAR(500) not null COMMENT '事故描述',
- acclevel VARCHAR(60) not null COMMENT '事故等级',
- causalanalysis VARCHAR(500) COMMENT '原因分析',
- causaltype VARCHAR(100) COMMENT '原因类型',
- consequenceanalysis VARCHAR(300) COMMENT '后果分析',
- correctiveaction VARCHAR(300) COMMENT '纠正措施',
- resolutiontime VARCHAR(30) COMMENT '解决时间',
- resolutioner VARCHAR(20) COMMENT '解决处理人',
- preventiveaction VARCHAR(300) COMMENT '预防措施',
- preventiver VARCHAR(20) COMMENT '预防措施责任人',
- preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
- preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
- trouble_duration int(8) COMMENT '事故持续时间',
- impact_time int(8),
- filename VARCHAR(100) COMMENT '附件路径',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWCHECK
-(
- id int(10) not null AUTO_INCREMENT,
- checkid int(10) not null COMMENT '检查id',
- projectid int(10) not null COMMENT '项目id',
- projectphase VARCHAR(20) not null COMMENT '项目阶段',
- phasenode VARCHAR(50) not null COMMENT '阶段节点',
- checkentry VARCHAR(100) not null COMMENT '检查内容',
- checkresult VARCHAR(20) COMMENT '检查结果',
- checkdate VARCHAR(20) COMMENT '检查日期',
- checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
- stateupdate VARCHAR(20) COMMENT '状态更新',
- updatedate VARCHAR(20) COMMENT '更新日期',
- remark VARCHAR(200) COMMENT '备注',
- versionnum VARCHAR(30) COMMENT '版本号',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWINFO
-(
- id int(10) not null AUTO_INCREMENT,
- phaseid int(10) not null,
- phasename VARCHAR(20) not null,
- phasenodeid int(10) not null,
- phasenodename VARCHAR(20) not null,
- checkentryid int(10) not null,
- checkentry VARCHAR(200) not null,
- remark VARCHAR(100),
- primary key (ID)
-)default character set utf8;
-create table QA_PLANFLOWCHECK
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- versionnum VARCHAR(30) COMMENT '版本号',
- checkentryid VARCHAR(20) not null COMMENT '检查ID',
- plandate VARCHAR(20) not null COMMENT '计划检查日期',
- status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
- primary key (ID)
-)default character set utf8;
-create table QA_PROJECTVERSION
-(
- versionid int(10) not null AUTO_INCREMENT,
- versionnumber VARCHAR(20) COMMENT '版本号',
- plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
- actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
- plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
- plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
- actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
- actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
- plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
- plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
- actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
- actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
- plan_demand int(10) COMMENT '计划上线需求数',
- actually_demand int(10) COMMENT '实际上线需求数',
- codeline FLOAT(10) COMMENT '代码变动行数',
- testcasenum int(10) COMMENT '测试用例数',
- changetestingreturn int(10) COMMENT '版本转测试打回次数',
- dev_member VARCHAR(50) COMMENT '开发投入人力',
- test_member VARCHAR(50) COMMENT '测试投入人力',
- human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
- per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
- per_test VARCHAR(20) COMMENT '用例编写/用例执行',
- code_di VARCHAR(20) COMMENT '代码DI值',
- qualityreview VARCHAR(500) COMMENT '质量回溯',
- imprint VARCHAR(500) COMMENT '版本说明',
- remark VARCHAR(500) COMMENT '备注',
- projectid int(10) COMMENT '项目ID',
- devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
- devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
- testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
- testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
- protime_deviation VARCHAR(20),
- prodelay_days VARCHAR(20),
- bug_zm int(10),
- bug_yz int(10),
- bug_yb int(10),
- bug_ts int(10),
- versiontype int(8) default 1 not null COMMENT '版本类型',
- perdemand FLOAT(8) default 0.00,
- codestandard_zd int(10) default 0 not null,
- codestandard_yz int(10) default 0 not null,
- codestandard_zy int(10) default 0 not null,
- zt_versionlink VARCHAR(100) COMMENT '禅道链接',
- human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
- human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
- primary key (versionid)
-)default character set utf8;
-create table QA_REVIEW
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- version VARCHAR(20) not null COMMENT '版本号',
- review_type VARCHAR(20) COMMENT '评审类型',
- review_date VARCHAR(20) COMMENT '评审日期',
- bug_num int(8) COMMENT '问题数',
- repair_num int(8) COMMENT '已修复问题数',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- review_object VARCHAR(100) COMMENT '评审对象',
- review_result VARCHAR(50) COMMENT '评审结果',
- result_confirmor VARCHAR(50) COMMENT '结果确认人',
- remark VARCHAR(500) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-create table QA_REVIEWINFO
-(
- id int(8) not null AUTO_INCREMENT,
- review_id int(8) not null COMMENT '评审ID',
- bug_description VARCHAR(500) COMMENT '问题描述',
- status VARCHAR(20) COMMENT '状态',
- duty_officer VARCHAR(100) COMMENT '责任人',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- corrective VARCHAR(500) COMMENT '纠正措施',
- primary key (id)
-)default character set utf8;
-create table QA_SECONDARYSECTOR
-(
- sectorid int(10) not null AUTO_INCREMENT,
- departmenthead VARCHAR(20),
- departmentname VARCHAR(20),
- primary key (sectorid)
-)default character set utf8;
-create table QA_SECTORPROJECTS
-(
- projectid int(10) not null AUTO_INCREMENT,
- projectname VARCHAR(100) not null,
- projectmanager VARCHAR(100) not null,
- sectorid int(10) not null,
- projecttype int(4) default 0 not null,
- projectsign VARCHAR(20) default 'sign' not null,
- primary key (projectid)
-)default character set utf8;
-create table QA_ZTTASK
-(
- id int(8) not null AUTO_INCREMENT,
- versionid int(8) COMMENT '版本ID',
- versionname VARCHAR(100) COMMENT '版本名称',
- taskname VARCHAR(300) COMMENT '任务名称',
- assigneddate VARCHAR(50) COMMENT '完成时间',
- estimate int(8) COMMENT '预期工时',
- consumed int(8) COMMENT '实际工时',
- finishedby VARCHAR(40) COMMENT '完成人账号',
- finishedname VARCHAR(40) COMMENT '完成人姓名',
- deadline VARCHAR(40) COMMENT '计划截止日期',
- delaystatus int(4) COMMENT '延期状态',
- primary key (id)
-)default character set utf8;
-create table TEST_JOBS
-(
- id int(10) not null AUTO_INCREMENT,
- name VARCHAR(100) not null COMMENT '调度名称',
- startdate VARCHAR(100) COMMENT '开始日期',
- starttime VARCHAR(100) COMMENT '开始时间',
- enddate VARCHAR(100) COMMENT '结束日期',
- endtime VARCHAR(100) COMMENT '结束时间',
- runtime datetime COMMENT '执行时间',
- remark VARCHAR(800) COMMENT '备注',
- planproj VARCHAR(100) COMMENT '项目名(testlink)中',
- state VARCHAR(4) not null COMMENT '状态',
- tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
- starttimestr VARCHAR(100) COMMENT '执行时间表达式',
- endtimestr VARCHAR(100) COMMENT '结束时间',
- createtime datetime not null,
- noenddate VARCHAR(10) COMMENT '是否有结束日期',
- time int default 0,
- timetype VARCHAR(4),
- issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
- emailer VARCHAR(250) COMMENT '邮件地址',
- threadcount int default 1 COMMENT '客户端线程数(接口)',
- testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
- isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
- buildname VARCHAR(100) COMMENT '构建链接',
- isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
- restartcomm VARCHAR(200) COMMENT '重启脚本',
- extype int(4) default 0 not null COMMENT '执行类型',
- browsertype int(4) COMMENT 'UI自动化浏览器类型',
- timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
- clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
- projecttype int(4) default "0" COMMENT '项目类型 0 testlink 1 系统内项目',
- projectid int(8) COMMENT '系统内项目ID',
- planid int(8) COMMENT '系统内项目关联测试计划ID',
- primary key (id)
-)default character set utf8;
-create table TEST_CASEDETAIL
-(
- id int(10) not null AUTO_INCREMENT,
- taskid int(10) not null,
- caseno VARCHAR(20) not null COMMENT '用例编号',
- caseversion VARCHAR(20) not null COMMENT '用例版本',
- casetime datetime not null COMMENT '执行时间',
- casename VARCHAR(200) not null COMMENT '用例名称',
- casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
- primary key (id)
-)default character set utf8;
-create table TEST_LOGDETAIL
-(
- logid int(10) not null AUTO_INCREMENT,
- logtime datetime not null COMMENT '日志时间',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- loggrade VARCHAR(20) COMMENT '日志级别',
- caseid int(10) not null COMMENT '用例编号',
- taskid int(10),
- step VARCHAR(20) COMMENT '用例步骤',
- imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
- primary key (logid)
-)default character set utf8;
-create table TEST_TASKEXCUTE
-(
- id int(10) not null AUTO_INCREMENT,
- taskid VARCHAR(150) not null,
- casetotal_count int(10) COMMENT '总用例数',
- casesucc_count int(10) COMMENT '成功数',
- casefail_count int(10) COMMENT '失败数',
- caselock_count int(10) COMMENT '锁定数',
- createtime datetime COMMENT '时间',
- jobid int(10) not null,
- finishtime datetime COMMENT '完成时间',
- taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
- casenoexec_count int default 0 COMMENT '未执行用例',
- caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
- primary key (id)
-)default character set utf8;
-create table USERINFO
-(
- id int(8) not null AUTO_INCREMENT,
- usercode VARCHAR(20) not null,
- password VARCHAR(200) not null,
- username VARCHAR(20),
- role VARCHAR(100) COMMENT '角色',
- sectorid int(8) default 0 not null COMMENT '所属部门',
- projectid int(4) default 0 not null COMMENT '默认选择项目',
- primary key (id)
-)default character set utf8;
-
-create table USER_AUTHORITY
-(
- id int(9) not null AUTO_INCREMENT,
- module VARCHAR(50) not null COMMENT '模块',
- auth_type VARCHAR(50) not null COMMENT '权限类型',
- alias VARCHAR(50) not null COMMENT '别名',
- primary key (id)
-)default character set utf8;
-create table USER_ROLE
-(
- id int(9) not null AUTO_INCREMENT,
- role VARCHAR(50) not null COMMENT '角色',
- permission VARCHAR(1000) COMMENT '权限',
- primary key (id)
-)default character set utf8;
-
-/*用例管理模块*/
-create table PROJECT_CASE
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- name VARCHAR(200) not null COMMENT '用例名称',
- projectid int(8) not null COMMENT '关联项目ID',
- moduleid int(8) not null COMMENT '关联项目模块ID',
- projectindex int(8) not null COMMENT '项目用例编号',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- casetype int(2) not null COMMENT '0 接口 1 UI',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPS
-(
- id int(8) not null AUTO_INCREMENT,
- path VARCHAR(100) COMMENT '包路径|定位路径',
- operation VARCHAR(100) COMMENT '方法名|操作',
- parameters VARCHAR(500) COMMENT '参数',
- action VARCHAR(50) COMMENT '步骤动作',
- caseid int(8) not null COMMENT '用例ID',
- stepnum int(2) not null COMMENT '步骤编号',
- expectedresult VARCHAR(2000) COMMENT '预期结果',
- projectid int(8) not null COMMENT '项目ID',
- steptype int(2) not null COMMENT '0 接口 1 UI',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLAN
-(
- id int(9) not null AUTO_INCREMENT,
- name VARCHAR(50) not null COMMENT '测试计划名称',
- casecount int(8) COMMENT '计划中用例总数',
- remark VARCHAR(200) COMMENT '备注',
- projectid int(8) not null COMMENT '项目ID',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLANCASE
-(
- id int(9) not null AUTO_INCREMENT,
- caseid int(8) not null COMMENT '用例ID',
- planid int(8) not null COMMENT '项目计划ID',
- priority int(8) not null COMMENT '用例优先级',
- primary key (ID),
- index (caseid),
- index (planid)
-)default character set utf8;
-
-create table PROJECT_MODULE
-(
- id int(9) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- modulename VARCHAR(50) COMMENT '模块名字',
- pid int(4) COMMENT '层级关系',
- primary key (ID)
-)default character set utf8;
-/*插入索引
-CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
-CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
-
-/*插入权限默认定义*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (1, '质量-版本信息', '增加', 'pv_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (2, '质量-版本信息', '删除', 'pv_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (3, '质量-版本信息', '修改', 'pv_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (4, '质量-版本计划信息', '增加', 'pvp_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (5, '质量-流程检查信息', '增加', 'fc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (6, '质量-流程检查信息', '删除', 'fc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (7, '质量-流程检查信息', '修改', 'fc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (8, '质量-生产故障信息', '增加', 'acc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (9, '质量-生产故障信息', '删除', 'acc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (10, '质量-生产故障信息', '修改', 'acc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (21, '自动化-任务调度', '启动', 'tast_run');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (22, '自动化-任务调度', '移除', 'tast_remove');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (23, '自动化-任务调度', '执行', 'tast_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (24, '自动化-任务调度', '增加', 'tast_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (25, '自动化-任务调度', '删除', 'tast_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (26, '自动化-任务调度', '修改', 'tast_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (27, '自动化-任务调度', '上传', 'tast_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (11, '质量-流程检查计划', '增加', 'pfc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (12, '质量-流程检查计划', '删除', 'pfc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (13, '质量-流程检查计划', '修改', 'pfc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (15, '质量-评审信息详情', '增加', 'revinfo_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (16, '质量-评审信息详情', '删除', 'revinfo_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (17, '质量-评审信息详情', '修改', 'revinfo_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (18, '质量-评审信息', '删除', 'rev_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (19, '质量-评审信息', '修改', 'rev_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (20, '质量-生产故障信息', '上传', 'acc_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (41, '用户管理', '增加', 'ui_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (42, '用户管理', '删除', 'ui_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (43, '用户管理', '修改', 'ui_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (44, '用户管理', '查看', 'ui_4');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (45, '用户管理-权限角色', '查看修改', 'role_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (28, '自动化-任务列表', '删除', 'tastex_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (29, '自动化-用例列表', '执行', 'case_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (46, '用户管理-权限角色', '增加', 'role_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (47, '用户管理-权限角色', '删除', 'role_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (48, '项目管理', '增加', 'pro_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (49, '项目管理', '删除', 'pro_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (50, '项目管理', '修改', 'pro_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (51, '用例管理', '增加', 'case_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (52, '用例管理', '删除', 'case_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (53, '用例管理', '修改', 'case_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (54, '步骤管理', '增删改查', 'case_step');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (55, '测试计划管理', '增加', 'proplan_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (56, '测试计划管理', '删除', 'proplan_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (57, '测试计划管理', '修改', 'proplan_3');
-
-/*插入角色默认定义*/
-insert into USER_ROLE (id, role, permission)
-values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
-insert into USER_ROLE (id, role, permission)
-values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
-insert into USER_ROLE (id, role, permission)
-values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
-insert into USER_ROLE (id, role, permission)
-values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,');
-
-/*插入默认部门分级*/
-insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
-values (99, '系统管理员', '总部');
-/*插入默认项目*/
-insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
-values (99, '全部项目/未知项目', '系统管理员', 99, 0);
-/*插入默认管理员*/
-insert into USERINFO (id, usercode, password, username, role, sectorid)
-values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
-/*插入流程检查定义数据*/
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ projectsign VARCHAR(20) default 'sign' not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ projecttype int(4) default "0" COMMENT '项目类型 0 testlink 1 系统内项目',
+ projectid int(8) COMMENT '系统内项目ID',
+ planid int(8) COMMENT '系统内项目关联测试计划ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ projectid int(4) default 0 not null COMMENT '默认选择项目',
+ primary key (id)
+)default character set utf8;
+
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ primary key (id)
+)default character set utf8;
+
+/*用例管理模块*/
+create table PROJECT_CASE
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ name VARCHAR(200) not null COMMENT '用例名称',
+ projectid int(8) not null COMMENT '关联项目ID',
+ moduleid int(8) not null COMMENT '关联项目模块ID',
+ projectindex int(8) not null COMMENT '项目用例编号',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ casetype int(2) not null COMMENT '0 接口 1 UI',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPS
+(
+ id int(8) not null AUTO_INCREMENT,
+ path VARCHAR(100) COMMENT '包路径|定位路径',
+ operation VARCHAR(100) COMMENT '方法名|操作',
+ parameters VARCHAR(500) COMMENT '参数',
+ action VARCHAR(50) COMMENT '步骤动作',
+ caseid int(8) not null COMMENT '用例ID',
+ stepnum int(2) not null COMMENT '步骤编号',
+ expectedresult VARCHAR(2000) COMMENT '预期结果',
+ projectid int(8) not null COMMENT '项目ID',
+ steptype int(2) not null COMMENT '0 接口 1 UI',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLAN
+(
+ id int(9) not null AUTO_INCREMENT,
+ name VARCHAR(50) not null COMMENT '测试计划名称',
+ casecount int(8) COMMENT '计划中用例总数',
+ remark VARCHAR(200) COMMENT '备注',
+ projectid int(8) not null COMMENT '项目ID',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLANCASE
+(
+ id int(9) not null AUTO_INCREMENT,
+ caseid int(8) not null COMMENT '用例ID',
+ planid int(8) not null COMMENT '项目计划ID',
+ priority int(8) not null COMMENT '用例优先级',
+ primary key (ID),
+ index (caseid),
+ index (planid)
+)default character set utf8;
+
+create table PROJECT_MODULE
+(
+ id int(9) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ modulename VARCHAR(50) COMMENT '模块名字',
+ pid int(4) COMMENT '层级关系',
+ primary key (ID)
+)default character set utf8;
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, '项目管理', '增加', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, '项目管理', '删除', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (50, '项目管理', '修改', 'pro_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (51, '用例管理', '增加', 'case_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (52, '用例管理', '删除', 'case_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (53, '用例管理', '修改', 'case_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (54, '步骤管理', '增删改查', 'case_step');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (55, '测试计划管理', '增加', 'proplan_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (56, '测试计划管理', '删除', 'proplan_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (57, '测试计划管理', '修改', 'proplan_3');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V2.1 初始化.sql b/mysqldb/initialization(create table)/V2.1 初始化.sql
index 5a48546..8200092 100644
--- a/mysqldb/initialization(create table)/V2.1 初始化.sql
+++ b/mysqldb/initialization(create table)/V2.1 初始化.sql
@@ -1,547 +1,547 @@
-create table OPERATION_LOG
-(
- id int(9) not null AUTO_INCREMENT,
- tablename VARCHAR(30) not null COMMENT '被记录日志表名',
- tableid int(8) not null COMMENT '被记录日志ID',
- operation_time VARCHAR(30) not null COMMENT '操作时间',
- operationer VARCHAR(20) not null COMMENT '操作人员',
- operation_description VARCHAR(200) not null COMMENT '描述',
- projectid int(8) COMMENT '项目ID',
- primary key (ID)
-)default character set utf8;
-create table QA_ACCIDENT
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- accstatus VARCHAR(80) not null COMMENT '事故状态',
- eventtime VARCHAR(30) COMMENT '事故发生时间',
- reporter VARCHAR(20) not null COMMENT '报告人',
- reporttime VARCHAR(30) not null COMMENT '事故报告时间',
- accdescription VARCHAR(500) not null COMMENT '事故描述',
- acclevel VARCHAR(60) not null COMMENT '事故等级',
- causalanalysis VARCHAR(500) COMMENT '原因分析',
- causaltype VARCHAR(100) COMMENT '原因类型',
- consequenceanalysis VARCHAR(300) COMMENT '后果分析',
- correctiveaction VARCHAR(300) COMMENT '纠正措施',
- resolutiontime VARCHAR(30) COMMENT '解决时间',
- resolutioner VARCHAR(20) COMMENT '解决处理人',
- preventiveaction VARCHAR(300) COMMENT '预防措施',
- preventiver VARCHAR(20) COMMENT '预防措施责任人',
- preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
- preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
- trouble_duration int(8) COMMENT '事故持续时间',
- impact_time int(8),
- filename VARCHAR(100) COMMENT '附件路径',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWCHECK
-(
- id int(10) not null AUTO_INCREMENT,
- checkid int(10) not null COMMENT '检查id',
- projectid int(10) not null COMMENT '项目id',
- projectphase VARCHAR(20) not null COMMENT '项目阶段',
- phasenode VARCHAR(50) not null COMMENT '阶段节点',
- checkentry VARCHAR(100) not null COMMENT '检查内容',
- checkresult VARCHAR(20) COMMENT '检查结果',
- checkdate VARCHAR(20) COMMENT '检查日期',
- checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
- stateupdate VARCHAR(20) COMMENT '状态更新',
- updatedate VARCHAR(20) COMMENT '更新日期',
- remark VARCHAR(200) COMMENT '备注',
- versionnum VARCHAR(30) COMMENT '版本号',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWINFO
-(
- id int(10) not null AUTO_INCREMENT,
- phaseid int(10) not null,
- phasename VARCHAR(20) not null,
- phasenodeid int(10) not null,
- phasenodename VARCHAR(20) not null,
- checkentryid int(10) not null,
- checkentry VARCHAR(200) not null,
- remark VARCHAR(100),
- primary key (ID)
-)default character set utf8;
-create table QA_PLANFLOWCHECK
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- versionnum VARCHAR(30) COMMENT '版本号',
- checkentryid VARCHAR(20) not null COMMENT '检查ID',
- plandate VARCHAR(20) not null COMMENT '计划检查日期',
- status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
- primary key (ID)
-)default character set utf8;
-create table QA_PROJECTVERSION
-(
- versionid int(10) not null AUTO_INCREMENT,
- versionnumber VARCHAR(20) COMMENT '版本号',
- plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
- actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
- plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
- plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
- actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
- actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
- plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
- plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
- actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
- actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
- plan_demand int(10) COMMENT '计划上线需求数',
- actually_demand int(10) COMMENT '实际上线需求数',
- codeline FLOAT(10) COMMENT '代码变动行数',
- testcasenum int(10) COMMENT '测试用例数',
- changetestingreturn int(10) COMMENT '版本转测试打回次数',
- dev_member VARCHAR(50) COMMENT '开发投入人力',
- test_member VARCHAR(50) COMMENT '测试投入人力',
- human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
- per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
- per_test VARCHAR(20) COMMENT '用例编写/用例执行',
- code_di VARCHAR(20) COMMENT '代码DI值',
- qualityreview VARCHAR(500) COMMENT '质量回溯',
- imprint VARCHAR(500) COMMENT '版本说明',
- remark VARCHAR(500) COMMENT '备注',
- projectid int(10) COMMENT '项目ID',
- devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
- devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
- testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
- testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
- protime_deviation VARCHAR(20),
- prodelay_days VARCHAR(20),
- bug_zm int(10),
- bug_yz int(10),
- bug_yb int(10),
- bug_ts int(10),
- versiontype int(8) default 1 not null COMMENT '版本类型',
- perdemand FLOAT(8) default 0.00,
- codestandard_zd int(10) default 0 not null,
- codestandard_yz int(10) default 0 not null,
- codestandard_zy int(10) default 0 not null,
- zt_versionlink VARCHAR(100) COMMENT '禅道链接',
- human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
- human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
- primary key (versionid)
-)default character set utf8;
-create table QA_REVIEW
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- version VARCHAR(20) not null COMMENT '版本号',
- review_type VARCHAR(20) COMMENT '评审类型',
- review_date VARCHAR(20) COMMENT '评审日期',
- bug_num int(8) COMMENT '问题数',
- repair_num int(8) COMMENT '已修复问题数',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- review_object VARCHAR(100) COMMENT '评审对象',
- review_result VARCHAR(50) COMMENT '评审结果',
- result_confirmor VARCHAR(50) COMMENT '结果确认人',
- remark VARCHAR(500) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-create table QA_REVIEWINFO
-(
- id int(8) not null AUTO_INCREMENT,
- review_id int(8) not null COMMENT '评审ID',
- bug_description VARCHAR(500) COMMENT '问题描述',
- status VARCHAR(20) COMMENT '状态',
- duty_officer VARCHAR(100) COMMENT '责任人',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- corrective VARCHAR(500) COMMENT '纠正措施',
- primary key (id)
-)default character set utf8;
-create table QA_SECONDARYSECTOR
-(
- sectorid int(10) not null AUTO_INCREMENT,
- departmenthead VARCHAR(20),
- departmentname VARCHAR(20),
- primary key (sectorid)
-)default character set utf8;
-create table QA_SECTORPROJECTS
-(
- projectid int(10) not null AUTO_INCREMENT,
- projectname VARCHAR(100) not null,
- projectmanager VARCHAR(100) not null,
- sectorid int(10) not null,
- projecttype int(4) default 0 not null,
- projectsign VARCHAR(20) default 'sign' not null,
- primary key (projectid)
-)default character set utf8;
-create table QA_ZTTASK
-(
- id int(8) not null AUTO_INCREMENT,
- versionid int(8) COMMENT '版本ID',
- versionname VARCHAR(100) COMMENT '版本名称',
- taskname VARCHAR(300) COMMENT '任务名称',
- assigneddate VARCHAR(50) COMMENT '完成时间',
- estimate int(8) COMMENT '预期工时',
- consumed int(8) COMMENT '实际工时',
- finishedby VARCHAR(40) COMMENT '完成人账号',
- finishedname VARCHAR(40) COMMENT '完成人姓名',
- deadline VARCHAR(40) COMMENT '计划截止日期',
- delaystatus int(4) COMMENT '延期状态',
- primary key (id)
-)default character set utf8;
-create table TEST_JOBS
-(
- id int(10) not null AUTO_INCREMENT,
- name VARCHAR(100) not null COMMENT '调度名称',
- startdate VARCHAR(100) COMMENT '开始日期',
- starttime VARCHAR(100) COMMENT '开始时间',
- enddate VARCHAR(100) COMMENT '结束日期',
- endtime VARCHAR(100) COMMENT '结束时间',
- runtime datetime COMMENT '执行时间',
- remark VARCHAR(800) COMMENT '备注',
- planproj VARCHAR(100) COMMENT '项目名(testlink)中',
- state VARCHAR(4) not null COMMENT '状态',
- tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
- starttimestr VARCHAR(100) COMMENT '执行时间表达式',
- endtimestr VARCHAR(100) COMMENT '结束时间',
- createtime datetime not null,
- noenddate VARCHAR(10) COMMENT '是否有结束日期',
- time int default 0,
- timetype VARCHAR(4),
- issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
- emailer VARCHAR(250) COMMENT '邮件地址',
- threadcount int default 1 COMMENT '客户端线程数(接口)',
- testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
- isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
- buildname VARCHAR(100) COMMENT '构建链接',
- isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
- restartcomm VARCHAR(200) COMMENT '重启脚本',
- extype int(4) default 0 not null COMMENT '执行类型',
- browsertype int(4) COMMENT 'UI自动化浏览器类型',
- timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
- clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
- projecttype int(4) default "0" COMMENT '项目类型 0 testlink 1 系统内项目',
- projectid int(8) COMMENT '系统内项目ID',
- planid int(8) COMMENT '系统内项目关联测试计划ID',
- primary key (id)
-)default character set utf8;
-create table TEST_CASEDETAIL
-(
- id int(10) not null AUTO_INCREMENT,
- taskid int(10) not null,
- caseno VARCHAR(20) not null COMMENT '用例编号',
- caseversion VARCHAR(20) not null COMMENT '用例版本',
- casetime datetime not null COMMENT '执行时间',
- casename VARCHAR(200) not null COMMENT '用例名称',
- casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
- primary key (id)
-)default character set utf8;
-create table TEST_LOGDETAIL
-(
- logid int(10) not null AUTO_INCREMENT,
- logtime datetime not null COMMENT '日志时间',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- loggrade VARCHAR(20) COMMENT '日志级别',
- caseid int(10) not null COMMENT '用例编号',
- taskid int(10),
- step VARCHAR(20) COMMENT '用例步骤',
- imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
- primary key (logid)
-)default character set utf8;
-create table TEST_TASKEXCUTE
-(
- id int(10) not null AUTO_INCREMENT,
- taskid VARCHAR(150) not null,
- casetotal_count int(10) COMMENT '总用例数',
- casesucc_count int(10) COMMENT '成功数',
- casefail_count int(10) COMMENT '失败数',
- caselock_count int(10) COMMENT '锁定数',
- createtime datetime COMMENT '时间',
- jobid int(10) not null,
- finishtime datetime COMMENT '完成时间',
- taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
- casenoexec_count int default 0 COMMENT '未执行用例',
- caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
- primary key (id)
-)default character set utf8;
-create table USERINFO
-(
- id int(8) not null AUTO_INCREMENT,
- usercode VARCHAR(20) not null,
- password VARCHAR(200) not null,
- username VARCHAR(20),
- role VARCHAR(100) COMMENT '角色',
- sectorid int(8) default 0 not null COMMENT '所属部门',
- projectid int(4) default 0 not null COMMENT '默认选择项目',
- primary key (id)
-)default character set utf8;
-
-create table USER_AUTHORITY
-(
- id int(9) not null AUTO_INCREMENT,
- module VARCHAR(50) not null COMMENT '模块',
- auth_type VARCHAR(50) not null COMMENT '权限类型',
- alias VARCHAR(50) not null COMMENT '别名',
- primary key (id)
-)default character set utf8;
-create table USER_ROLE
-(
- id int(9) not null AUTO_INCREMENT,
- role VARCHAR(50) not null COMMENT '角色',
- permission VARCHAR(1000) COMMENT '权限',
- primary key (id)
-)default character set utf8;
-
-/*用例管理模块*/
-create table PROJECT_CASE
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- name VARCHAR(200) not null COMMENT '用例名称',
- projectid int(8) not null COMMENT '关联项目ID',
- moduleid int(8) not null COMMENT '关联项目模块ID',
- projectindex int(8) not null COMMENT '项目用例编号',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- casetype int(2) not null COMMENT '0 接口 1 UI',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPS
-(
- id int(8) not null AUTO_INCREMENT,
- path VARCHAR(100) COMMENT '包路径|定位路径',
- operation VARCHAR(100) COMMENT '方法名|操作',
- parameters VARCHAR(500) COMMENT '参数',
- action VARCHAR(50) COMMENT '步骤动作',
- caseid int(8) not null COMMENT '用例ID',
- stepnum int(2) not null COMMENT '步骤编号',
- expectedresult VARCHAR(2000) COMMENT '预期结果',
- projectid int(8) not null COMMENT '项目ID',
- steptype int(2) not null COMMENT '0 接口 1 UI',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLAN
-(
- id int(9) not null AUTO_INCREMENT,
- name VARCHAR(50) not null COMMENT '测试计划名称',
- casecount int(8) COMMENT '计划中用例总数',
- remark VARCHAR(200) COMMENT '备注',
- projectid int(8) not null COMMENT '项目ID',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLANCASE
-(
- id int(9) not null AUTO_INCREMENT,
- caseid int(8) not null COMMENT '用例ID',
- planid int(8) not null COMMENT '项目计划ID',
- priority int(8) not null COMMENT '用例优先级',
- primary key (ID),
- index (caseid),
- index (planid)
-)default character set utf8;
-
-create table PROJECT_MODULE
-(
- id int(9) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- modulename VARCHAR(50) COMMENT '模块名字',
- pid int(4) COMMENT '层级关系',
- primary key (ID)
-)default character set utf8;
-/*插入索引
-CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
-CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
-
-/*插入权限默认定义*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (1, '质量-版本信息', '增加', 'pv_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (2, '质量-版本信息', '删除', 'pv_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (3, '质量-版本信息', '修改', 'pv_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (4, '质量-版本计划信息', '增加', 'pvp_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (5, '质量-流程检查信息', '增加', 'fc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (6, '质量-流程检查信息', '删除', 'fc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (7, '质量-流程检查信息', '修改', 'fc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (8, '质量-生产故障信息', '增加', 'acc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (9, '质量-生产故障信息', '删除', 'acc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (10, '质量-生产故障信息', '修改', 'acc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (21, '自动化-任务调度', '启动', 'tast_run');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (22, '自动化-任务调度', '移除', 'tast_remove');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (23, '自动化-任务调度', '执行', 'tast_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (24, '自动化-任务调度', '增加', 'tast_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (25, '自动化-任务调度', '删除', 'tast_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (26, '自动化-任务调度', '修改', 'tast_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (27, '自动化-任务调度', '上传', 'tast_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (11, '质量-流程检查计划', '增加', 'pfc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (12, '质量-流程检查计划', '删除', 'pfc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (13, '质量-流程检查计划', '修改', 'pfc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (15, '质量-评审信息详情', '增加', 'revinfo_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (16, '质量-评审信息详情', '删除', 'revinfo_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (17, '质量-评审信息详情', '修改', 'revinfo_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (18, '质量-评审信息', '删除', 'rev_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (19, '质量-评审信息', '修改', 'rev_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (20, '质量-生产故障信息', '上传', 'acc_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (41, '用户管理', '增加', 'ui_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (42, '用户管理', '删除', 'ui_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (43, '用户管理', '修改', 'ui_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (44, '用户管理', '查看', 'ui_4');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (45, '用户管理-权限角色', '查看修改', 'role_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (28, '自动化-任务列表', '删除', 'tastex_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (29, '自动化-用例列表', '执行', 'case_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (46, '用户管理-权限角色', '增加', 'role_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (47, '用户管理-权限角色', '删除', 'role_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (48, '项目管理', '增加', 'pro_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (49, '项目管理', '删除', 'pro_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (50, '项目管理', '修改', 'pro_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (51, '用例管理', '增加', 'case_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (52, '用例管理', '删除', 'case_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (53, '用例管理', '修改', 'case_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (54, '步骤管理', '增删改查', 'case_step');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (55, '测试计划管理', '增加', 'proplan_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (56, '测试计划管理', '删除', 'proplan_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (57, '测试计划管理', '修改', 'proplan_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (58, '部门管理', '增加', 'dpmt_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (59, '部门管理', '删除', 'dpmt_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (60, '部门管理', '修改', 'dpmt_3');
-
-/*插入角色默认定义*/
-insert into USER_ROLE (id, role, permission)
-values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
-insert into USER_ROLE (id, role, permission)
-values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
-insert into USER_ROLE (id, role, permission)
-values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
-insert into USER_ROLE (id, role, permission)
-values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,');
-
-/*插入默认部门分级*/
-insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
-values (99, '系统管理员', '总部');
-/*插入默认项目*/
-insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
-values (99, '全部项目/未知项目', '系统管理员', 99, 0);
-/*插入默认管理员*/
-insert into USERINFO (id, usercode, password, username, role, sectorid)
-values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
-/*插入流程检查定义数据*/
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ projectsign VARCHAR(20) default 'sign' not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ projecttype int(4) default "0" COMMENT '项目类型 0 testlink 1 系统内项目',
+ projectid int(8) COMMENT '系统内项目ID',
+ planid int(8) COMMENT '系统内项目关联测试计划ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ projectid int(4) default 0 not null COMMENT '默认选择项目',
+ primary key (id)
+)default character set utf8;
+
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ primary key (id)
+)default character set utf8;
+
+/*用例管理模块*/
+create table PROJECT_CASE
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ name VARCHAR(200) not null COMMENT '用例名称',
+ projectid int(8) not null COMMENT '关联项目ID',
+ moduleid int(8) not null COMMENT '关联项目模块ID',
+ projectindex int(8) not null COMMENT '项目用例编号',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ casetype int(2) not null COMMENT '0 接口 1 UI',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPS
+(
+ id int(8) not null AUTO_INCREMENT,
+ path VARCHAR(100) COMMENT '包路径|定位路径',
+ operation VARCHAR(100) COMMENT '方法名|操作',
+ parameters VARCHAR(500) COMMENT '参数',
+ action VARCHAR(50) COMMENT '步骤动作',
+ caseid int(8) not null COMMENT '用例ID',
+ stepnum int(2) not null COMMENT '步骤编号',
+ expectedresult VARCHAR(2000) COMMENT '预期结果',
+ projectid int(8) not null COMMENT '项目ID',
+ steptype int(2) not null COMMENT '0 接口 1 UI',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLAN
+(
+ id int(9) not null AUTO_INCREMENT,
+ name VARCHAR(50) not null COMMENT '测试计划名称',
+ casecount int(8) COMMENT '计划中用例总数',
+ remark VARCHAR(200) COMMENT '备注',
+ projectid int(8) not null COMMENT '项目ID',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLANCASE
+(
+ id int(9) not null AUTO_INCREMENT,
+ caseid int(8) not null COMMENT '用例ID',
+ planid int(8) not null COMMENT '项目计划ID',
+ priority int(8) not null COMMENT '用例优先级',
+ primary key (ID),
+ index (caseid),
+ index (planid)
+)default character set utf8;
+
+create table PROJECT_MODULE
+(
+ id int(9) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ modulename VARCHAR(50) COMMENT '模块名字',
+ pid int(4) COMMENT '层级关系',
+ primary key (ID)
+)default character set utf8;
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, '项目管理', '增加', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, '项目管理', '删除', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (50, '项目管理', '修改', 'pro_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (51, '用例管理', '增加', 'case_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (52, '用例管理', '删除', 'case_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (53, '用例管理', '修改', 'case_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (54, '步骤管理', '增删改查', 'case_step');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (55, '测试计划管理', '增加', 'proplan_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (56, '测试计划管理', '删除', 'proplan_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (57, '测试计划管理', '修改', 'proplan_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (58, '部门管理', '增加', 'dpmt_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (59, '部门管理', '删除', 'dpmt_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (60, '部门管理', '修改', 'dpmt_3');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V2.2 初始化 .sql b/mysqldb/initialization(create table)/V2.2 初始化 .sql
index 85b36f5..f64c15f 100644
--- a/mysqldb/initialization(create table)/V2.2 初始化 .sql
+++ b/mysqldb/initialization(create table)/V2.2 初始化 .sql
@@ -1,690 +1,690 @@
-create table OPERATION_LOG
-(
- id int(9) not null AUTO_INCREMENT,
- tablename VARCHAR(30) not null COMMENT '被记录日志表名',
- tableid int(8) not null COMMENT '被记录日志ID',
- operation_time VARCHAR(30) not null COMMENT '操作时间',
- operationer VARCHAR(20) not null COMMENT '操作人员',
- operation_description VARCHAR(200) not null COMMENT '描述',
- projectid int(8) COMMENT '项目ID',
- primary key (ID)
-)default character set utf8;
-create table QA_ACCIDENT
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- accstatus VARCHAR(80) not null COMMENT '事故状态',
- eventtime VARCHAR(30) COMMENT '事故发生时间',
- reporter VARCHAR(20) not null COMMENT '报告人',
- reporttime VARCHAR(30) not null COMMENT '事故报告时间',
- accdescription VARCHAR(500) not null COMMENT '事故描述',
- acclevel VARCHAR(60) not null COMMENT '事故等级',
- causalanalysis VARCHAR(500) COMMENT '原因分析',
- causaltype VARCHAR(100) COMMENT '原因类型',
- consequenceanalysis VARCHAR(300) COMMENT '后果分析',
- correctiveaction VARCHAR(300) COMMENT '纠正措施',
- resolutiontime VARCHAR(30) COMMENT '解决时间',
- resolutioner VARCHAR(20) COMMENT '解决处理人',
- preventiveaction VARCHAR(300) COMMENT '预防措施',
- preventiver VARCHAR(20) COMMENT '预防措施责任人',
- preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
- preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
- trouble_duration int(8) COMMENT '事故持续时间',
- impact_time int(8),
- filename VARCHAR(100) COMMENT '附件路径',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWCHECK
-(
- id int(10) not null AUTO_INCREMENT,
- checkid int(10) not null COMMENT '检查id',
- projectid int(10) not null COMMENT '项目id',
- projectphase VARCHAR(20) not null COMMENT '项目阶段',
- phasenode VARCHAR(50) not null COMMENT '阶段节点',
- checkentry VARCHAR(100) not null COMMENT '检查内容',
- checkresult VARCHAR(20) COMMENT '检查结果',
- checkdate VARCHAR(20) COMMENT '检查日期',
- checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
- stateupdate VARCHAR(20) COMMENT '状态更新',
- updatedate VARCHAR(20) COMMENT '更新日期',
- remark VARCHAR(200) COMMENT '备注',
- versionnum VARCHAR(30) COMMENT '版本号',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWINFO
-(
- id int(10) not null AUTO_INCREMENT,
- phaseid int(10) not null,
- phasename VARCHAR(20) not null,
- phasenodeid int(10) not null,
- phasenodename VARCHAR(20) not null,
- checkentryid int(10) not null,
- checkentry VARCHAR(200) not null,
- remark VARCHAR(100),
- primary key (ID)
-)default character set utf8;
-create table QA_PLANFLOWCHECK
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- versionnum VARCHAR(30) COMMENT '版本号',
- checkentryid VARCHAR(20) not null COMMENT '检查ID',
- plandate VARCHAR(20) not null COMMENT '计划检查日期',
- status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
- primary key (ID)
-)default character set utf8;
-create table QA_PROJECTVERSION
-(
- versionid int(10) not null AUTO_INCREMENT,
- versionnumber VARCHAR(20) COMMENT '版本号',
- plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
- actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
- plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
- plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
- actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
- actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
- plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
- plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
- actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
- actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
- plan_demand int(10) COMMENT '计划上线需求数',
- actually_demand int(10) COMMENT '实际上线需求数',
- codeline FLOAT(10) COMMENT '代码变动行数',
- testcasenum int(10) COMMENT '测试用例数',
- changetestingreturn int(10) COMMENT '版本转测试打回次数',
- dev_member VARCHAR(50) COMMENT '开发投入人力',
- test_member VARCHAR(50) COMMENT '测试投入人力',
- human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
- per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
- per_test VARCHAR(20) COMMENT '用例编写/用例执行',
- code_di VARCHAR(20) COMMENT '代码DI值',
- qualityreview VARCHAR(500) COMMENT '质量回溯',
- imprint VARCHAR(500) COMMENT '版本说明',
- remark VARCHAR(500) COMMENT '备注',
- projectid int(10) COMMENT '项目ID',
- devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
- devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
- testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
- testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
- protime_deviation VARCHAR(20),
- prodelay_days VARCHAR(20),
- bug_zm int(10),
- bug_yz int(10),
- bug_yb int(10),
- bug_ts int(10),
- versiontype int(8) default 1 not null COMMENT '版本类型',
- perdemand FLOAT(8) default 0.00,
- codestandard_zd int(10) default 0 not null,
- codestandard_yz int(10) default 0 not null,
- codestandard_zy int(10) default 0 not null,
- zt_versionlink VARCHAR(100) COMMENT '禅道链接',
- human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
- human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
- primary key (versionid)
-)default character set utf8;
-create table QA_REVIEW
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- version VARCHAR(20) not null COMMENT '版本号',
- review_type VARCHAR(20) COMMENT '评审类型',
- review_date VARCHAR(20) COMMENT '评审日期',
- bug_num int(8) COMMENT '问题数',
- repair_num int(8) COMMENT '已修复问题数',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- review_object VARCHAR(100) COMMENT '评审对象',
- review_result VARCHAR(50) COMMENT '评审结果',
- result_confirmor VARCHAR(50) COMMENT '结果确认人',
- remark VARCHAR(500) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-create table QA_REVIEWINFO
-(
- id int(8) not null AUTO_INCREMENT,
- review_id int(8) not null COMMENT '评审ID',
- bug_description VARCHAR(500) COMMENT '问题描述',
- status VARCHAR(20) COMMENT '状态',
- duty_officer VARCHAR(100) COMMENT '责任人',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- corrective VARCHAR(500) COMMENT '纠正措施',
- primary key (id)
-)default character set utf8;
-create table QA_SECONDARYSECTOR
-(
- sectorid int(10) not null AUTO_INCREMENT,
- departmenthead VARCHAR(20),
- departmentname VARCHAR(20),
- primary key (sectorid)
-)default character set utf8;
-create table QA_SECTORPROJECTS
-(
- projectid int(10) not null AUTO_INCREMENT,
- projectname VARCHAR(100) not null,
- projectmanager VARCHAR(100) not null,
- sectorid int(10) not null,
- projecttype int(4) default 0 not null,
- projectsign VARCHAR(20) default 'sign' not null,
- primary key (projectid)
-)default character set utf8;
-create table QA_ZTTASK
-(
- id int(8) not null AUTO_INCREMENT,
- versionid int(8) COMMENT '版本ID',
- versionname VARCHAR(100) COMMENT '版本名称',
- taskname VARCHAR(300) COMMENT '任务名称',
- assigneddate VARCHAR(50) COMMENT '完成时间',
- estimate int(8) COMMENT '预期工时',
- consumed int(8) COMMENT '实际工时',
- finishedby VARCHAR(40) COMMENT '完成人账号',
- finishedname VARCHAR(40) COMMENT '完成人姓名',
- deadline VARCHAR(40) COMMENT '计划截止日期',
- delaystatus int(4) COMMENT '延期状态',
- primary key (id)
-)default character set utf8;
-create table TEST_JOBS
-(
- id int(10) not null AUTO_INCREMENT,
- name VARCHAR(100) not null COMMENT '调度名称',
- startdate VARCHAR(100) COMMENT '开始日期',
- starttime VARCHAR(100) COMMENT '开始时间',
- enddate VARCHAR(100) COMMENT '结束日期',
- endtime VARCHAR(100) COMMENT '结束时间',
- runtime datetime COMMENT '执行时间',
- remark VARCHAR(800) COMMENT '备注',
- planproj VARCHAR(100) COMMENT '项目名(testlink)中',
- state VARCHAR(4) not null COMMENT '状态',
- tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
- starttimestr VARCHAR(100) COMMENT '执行时间表达式',
- endtimestr VARCHAR(100) COMMENT '结束时间',
- createtime datetime not null,
- noenddate VARCHAR(10) COMMENT '是否有结束日期',
- time int default 0,
- timetype VARCHAR(4),
- issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
- emailer VARCHAR(250) COMMENT '邮件地址',
- threadcount int default 1 COMMENT '客户端线程数(接口)',
- testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
- isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
- buildname VARCHAR(100) COMMENT '构建链接',
- isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
- restartcomm VARCHAR(200) COMMENT '重启脚本',
- extype int(4) default 0 not null COMMENT '执行类型',
- browsertype int(4) COMMENT 'UI自动化浏览器类型',
- timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
- clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
- projecttype int(4) default "0" COMMENT '项目类型 0 testlink 1 系统内项目',
- projectid int(8) COMMENT '系统内项目ID',
- planid int(8) COMMENT '系统内项目关联测试计划ID',
- primary key (id)
-)default character set utf8;
-create table TEST_CASEDETAIL
-(
- id int(10) not null AUTO_INCREMENT,
- taskid int(10) not null,
- caseno VARCHAR(20) not null COMMENT '用例编号',
- caseversion VARCHAR(20) not null COMMENT '用例版本',
- casetime datetime not null COMMENT '执行时间',
- casename VARCHAR(200) not null COMMENT '用例名称',
- casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
- primary key (id)
-)default character set utf8;
-create table TEST_LOGDETAIL
-(
- logid int(10) not null AUTO_INCREMENT,
- logtime datetime not null COMMENT '日志时间',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- loggrade VARCHAR(20) COMMENT '日志级别',
- caseid int(10) not null COMMENT '用例编号',
- taskid int(10),
- step VARCHAR(20) COMMENT '用例步骤',
- imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
- primary key (logid)
-)default character set utf8;
-create table TEST_TASKEXCUTE
-(
- id int(10) not null AUTO_INCREMENT,
- taskid VARCHAR(150) not null,
- casetotal_count int(10) COMMENT '总用例数',
- casesucc_count int(10) COMMENT '成功数',
- casefail_count int(10) COMMENT '失败数',
- caselock_count int(10) COMMENT '锁定数',
- createtime datetime COMMENT '时间',
- jobid int(10) not null,
- finishtime datetime COMMENT '完成时间',
- taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
- casenoexec_count int default 0 COMMENT '未执行用例',
- caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
- primary key (id)
-)default character set utf8;
-create table USERINFO
-(
- id int(8) not null AUTO_INCREMENT,
- usercode VARCHAR(20) not null,
- password VARCHAR(200) not null,
- username VARCHAR(20),
- role VARCHAR(100) COMMENT '角色',
- sectorid int(8) default 0 not null COMMENT '所属部门',
- projectid int(4) default 0 not null COMMENT '默认选择项目',
- primary key (id)
-)default character set utf8;
-
-create table USER_AUTHORITY
-(
- id int(9) not null AUTO_INCREMENT,
- module VARCHAR(50) not null COMMENT '模块',
- auth_type VARCHAR(50) not null COMMENT '权限类型',
- alias VARCHAR(50) not null COMMENT '别名',
- primary key (id)
-)default character set utf8;
-create table USER_ROLE
-(
- id int(9) not null AUTO_INCREMENT,
- role VARCHAR(50) not null COMMENT '角色',
- permission VARCHAR(1000) COMMENT '权限',
- primary key (id)
-)default character set utf8;
-
-/*用例管理模块*/
-create table PROJECT_CASE
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- name VARCHAR(200) not null COMMENT '用例名称',
- projectid int(8) not null COMMENT '关联项目ID',
- moduleid int(8) not null COMMENT '关联项目模块ID',
- projectindex int(8) not null COMMENT '项目用例编号',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- casetype int(2) not null COMMENT '0 接口 1 UI',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPS
-(
- id int(8) not null AUTO_INCREMENT,
- path VARCHAR(100) COMMENT '包路径|定位路径',
- operation VARCHAR(100) COMMENT '方法名|操作',
- parameters VARCHAR(500) COMMENT '参数',
- action VARCHAR(50) COMMENT '步骤动作',
- caseid int(8) not null COMMENT '用例ID',
- stepnum int(2) not null COMMENT '步骤编号',
- expectedresult VARCHAR(2000) COMMENT '预期结果',
- projectid int(8) not null COMMENT '项目ID',
- steptype int(2) not null COMMENT '0 接口 1 UI',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLAN
-(
- id int(9) not null AUTO_INCREMENT,
- name VARCHAR(50) not null COMMENT '测试计划名称',
- casecount int(8) COMMENT '计划中用例总数',
- remark VARCHAR(200) COMMENT '备注',
- projectid int(8) not null COMMENT '项目ID',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLANCASE
-(
- id int(9) not null AUTO_INCREMENT,
- caseid int(8) not null COMMENT '用例ID',
- planid int(8) not null COMMENT '项目计划ID',
- priority int(8) not null COMMENT '用例优先级',
- primary key (ID),
- index (caseid),
- index (planid)
-)default character set utf8;
-
-create table PROJECT_MODULE
-(
- id int(9) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- modulename VARCHAR(50) COMMENT '模块名字',
- pid int(4) COMMENT '层级关系',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PROTOCOLTEMPLATE
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- name VARCHAR(50) not null COMMENT '模板名称',
- protocoltype VARCHAR(20) not null COMMENT '协议类型',
- contentencoding VARCHAR(20) not null COMMENT '编码格式',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_TEMPLATEPARAMS
-(
- id int(9) not null AUTO_INCREMENT,
- templateid int(8) not null COMMENT '模块ID',
- paramname VARCHAR(50) not null COMMENT '参数名',
- param VARCHAR(2000) COMMENT '参数默认值',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPSPARAMS
-(
- id int(8) not null AUTO_INCREMENT,
- steptype int(2) not null COMMENT '步骤类型',
- parentid int(8) not null COMMENT '父节点ID',
- fieldname VARCHAR(50) COMMENT '所属字段名',
- paramvalue VARCHAR(200) COMMENT '参数值',
- description VARCHAR(50) COMMENT '描述',
- primary key (ID)
-)default character set utf8;
-
-create table TEMP_CASESTEPDEBUG
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- executor VARCHAR(20) not null COMMENT '执行人',
- loglevel VARCHAR(10) not null COMMENT '日志级别',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- primary key (ID)
-)default character set utf8;
-/*插入索引
-CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
-CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
-
-/*插入权限默认定义*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (1, '质量-版本信息', '增加', 'pv_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (2, '质量-版本信息', '删除', 'pv_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (3, '质量-版本信息', '修改', 'pv_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (4, '质量-版本计划信息', '增加', 'pvp_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (5, '质量-流程检查信息', '增加', 'fc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (6, '质量-流程检查信息', '删除', 'fc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (7, '质量-流程检查信息', '修改', 'fc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (8, '质量-生产故障信息', '增加', 'acc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (9, '质量-生产故障信息', '删除', 'acc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (10, '质量-生产故障信息', '修改', 'acc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (21, '自动化-任务调度', '启动', 'tast_run');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (22, '自动化-任务调度', '移除', 'tast_remove');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (23, '自动化-任务调度', '执行', 'tast_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (24, '自动化-任务调度', '增加', 'tast_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (25, '自动化-任务调度', '删除', 'tast_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (26, '自动化-任务调度', '修改', 'tast_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (27, '自动化-任务调度', '上传', 'tast_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (11, '质量-流程检查计划', '增加', 'pfc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (12, '质量-流程检查计划', '删除', 'pfc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (13, '质量-流程检查计划', '修改', 'pfc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (15, '质量-评审信息详情', '增加', 'revinfo_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (16, '质量-评审信息详情', '删除', 'revinfo_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (17, '质量-评审信息详情', '修改', 'revinfo_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (18, '质量-评审信息', '删除', 'rev_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (19, '质量-评审信息', '修改', 'rev_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (20, '质量-生产故障信息', '上传', 'acc_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (41, '用户管理', '增加', 'ui_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (42, '用户管理', '删除', 'ui_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (43, '用户管理', '修改', 'ui_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (44, '用户管理', '查看', 'ui_4');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (45, '用户管理-权限角色', '查看修改', 'role_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (28, '自动化-任务列表', '删除', 'tastex_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (29, '自动化-用例列表', '执行', 'case_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (46, '用户管理-权限角色', '增加', 'role_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (47, '用户管理-权限角色', '删除', 'role_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (48, '项目管理', '增加', 'pro_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (49, '项目管理', '删除', 'pro_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (50, '项目管理', '修改', 'pro_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (51, '用例管理', '增加', 'case_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (52, '用例管理', '删除', 'case_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (53, '用例管理', '修改', 'case_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (54, '步骤管理', '增删改查', 'case_step');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (55, '测试计划管理', '增加', 'proplan_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (56, '测试计划管理', '删除', 'proplan_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (57, '测试计划管理', '修改', 'proplan_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (58, '部门管理', '增加', 'dpmt_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (59, '部门管理', '删除', 'dpmt_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (60, '部门管理', '修改', 'dpmt_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (61, '协议模板', '增加', 'ptct_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (62, '协议模板', '删除', 'ptct_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (63, '协议模板', '修改', 'ptct_3');
-
-/*插入步骤界面定义各个字段的默认值*/
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (10, 1, 0, 'operation','click','点击对象');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (11, 1, 0, 'operation','sendkeys','输入');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (12, 1, 0, 'operation','clear','清除输入框');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (17, 1, 0, 'operation','gettext','获取对象文本属性');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (24, 1, 0, 'operation','open','打开URL');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (25, 1, 0, 'operation','exjs','执行js脚本');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (27, 1, 0, 'operation','gettitle','获取窗口标题');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (30, 1, 0, 'operation','wait','等待时间(S)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (46, 1, 0, 'operation','runcase','调用指定接口用例');
-
-/*插入角色默认定义*/
-insert into USER_ROLE (id, role, permission)
-values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
-insert into USER_ROLE (id, role, permission)
-values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
-insert into USER_ROLE (id, role, permission)
-values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
-insert into USER_ROLE (id, role, permission)
-values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,');
-
-/*插入默认部门分级*/
-insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
-values (99, '系统管理员', '总部');
-/*插入默认项目*/
-insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
-values (99, '全部项目/未知项目', '系统管理员', 99, 0);
-/*插入默认管理员*/
-insert into USERINFO (id, usercode, password, username, role, sectorid)
-values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
-/*插入流程检查定义数据*/
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ projectsign VARCHAR(20) default 'sign' not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ projecttype int(4) default "0" COMMENT '项目类型 0 testlink 1 系统内项目',
+ projectid int(8) COMMENT '系统内项目ID',
+ planid int(8) COMMENT '系统内项目关联测试计划ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ projectid int(4) default 0 not null COMMENT '默认选择项目',
+ primary key (id)
+)default character set utf8;
+
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ primary key (id)
+)default character set utf8;
+
+/*用例管理模块*/
+create table PROJECT_CASE
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ name VARCHAR(200) not null COMMENT '用例名称',
+ projectid int(8) not null COMMENT '关联项目ID',
+ moduleid int(8) not null COMMENT '关联项目模块ID',
+ projectindex int(8) not null COMMENT '项目用例编号',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ casetype int(2) not null COMMENT '0 接口 1 UI',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPS
+(
+ id int(8) not null AUTO_INCREMENT,
+ path VARCHAR(100) COMMENT '包路径|定位路径',
+ operation VARCHAR(100) COMMENT '方法名|操作',
+ parameters VARCHAR(500) COMMENT '参数',
+ action VARCHAR(50) COMMENT '步骤动作',
+ caseid int(8) not null COMMENT '用例ID',
+ stepnum int(2) not null COMMENT '步骤编号',
+ expectedresult VARCHAR(2000) COMMENT '预期结果',
+ projectid int(8) not null COMMENT '项目ID',
+ steptype int(2) not null COMMENT '0 接口 1 UI',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLAN
+(
+ id int(9) not null AUTO_INCREMENT,
+ name VARCHAR(50) not null COMMENT '测试计划名称',
+ casecount int(8) COMMENT '计划中用例总数',
+ remark VARCHAR(200) COMMENT '备注',
+ projectid int(8) not null COMMENT '项目ID',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLANCASE
+(
+ id int(9) not null AUTO_INCREMENT,
+ caseid int(8) not null COMMENT '用例ID',
+ planid int(8) not null COMMENT '项目计划ID',
+ priority int(8) not null COMMENT '用例优先级',
+ primary key (ID),
+ index (caseid),
+ index (planid)
+)default character set utf8;
+
+create table PROJECT_MODULE
+(
+ id int(9) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ modulename VARCHAR(50) COMMENT '模块名字',
+ pid int(4) COMMENT '层级关系',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PROTOCOLTEMPLATE
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ name VARCHAR(50) not null COMMENT '模板名称',
+ protocoltype VARCHAR(20) not null COMMENT '协议类型',
+ contentencoding VARCHAR(20) not null COMMENT '编码格式',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_TEMPLATEPARAMS
+(
+ id int(9) not null AUTO_INCREMENT,
+ templateid int(8) not null COMMENT '模块ID',
+ paramname VARCHAR(50) not null COMMENT '参数名',
+ param VARCHAR(2000) COMMENT '参数默认值',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPSPARAMS
+(
+ id int(8) not null AUTO_INCREMENT,
+ steptype int(2) not null COMMENT '步骤类型',
+ parentid int(8) not null COMMENT '父节点ID',
+ fieldname VARCHAR(50) COMMENT '所属字段名',
+ paramvalue VARCHAR(200) COMMENT '参数值',
+ description VARCHAR(50) COMMENT '描述',
+ primary key (ID)
+)default character set utf8;
+
+create table TEMP_CASESTEPDEBUG
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ executor VARCHAR(20) not null COMMENT '执行人',
+ loglevel VARCHAR(10) not null COMMENT '日志级别',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ primary key (ID)
+)default character set utf8;
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, '项目管理', '增加', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, '项目管理', '删除', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (50, '项目管理', '修改', 'pro_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (51, '用例管理', '增加', 'case_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (52, '用例管理', '删除', 'case_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (53, '用例管理', '修改', 'case_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (54, '步骤管理', '增删改查', 'case_step');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (55, '测试计划管理', '增加', 'proplan_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (56, '测试计划管理', '删除', 'proplan_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (57, '测试计划管理', '修改', 'proplan_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (58, '部门管理', '增加', 'dpmt_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (59, '部门管理', '删除', 'dpmt_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (60, '部门管理', '修改', 'dpmt_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (61, '协议模板', '增加', 'ptct_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (62, '协议模板', '删除', 'ptct_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (63, '协议模板', '修改', 'ptct_3');
+
+/*插入步骤界面定义各个字段的默认值*/
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (10, 1, 0, 'operation','click','点击对象');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (11, 1, 0, 'operation','sendkeys','输入');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (12, 1, 0, 'operation','clear','清除输入框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (17, 1, 0, 'operation','gettext','获取对象文本属性');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (24, 1, 0, 'operation','open','打开URL');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (25, 1, 0, 'operation','exjs','执行js脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (27, 1, 0, 'operation','gettitle','获取窗口标题');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (30, 1, 0, 'operation','wait','等待时间(S)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (46, 1, 0, 'operation','runcase','调用指定接口用例');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V2.3 初始化.sql b/mysqldb/initialization(create table)/V2.3 初始化.sql
index 1b4c2e1..9625d83 100644
--- a/mysqldb/initialization(create table)/V2.3 初始化.sql
+++ b/mysqldb/initialization(create table)/V2.3 初始化.sql
@@ -1,706 +1,706 @@
-create table OPERATION_LOG
-(
- id int(9) not null AUTO_INCREMENT,
- tablename VARCHAR(30) not null COMMENT '被记录日志表名',
- tableid int(8) not null COMMENT '被记录日志ID',
- operation_time VARCHAR(30) not null COMMENT '操作时间',
- operationer VARCHAR(20) not null COMMENT '操作人员',
- operation_description VARCHAR(200) not null COMMENT '描述',
- projectid int(8) COMMENT '项目ID',
- primary key (ID)
-)default character set utf8;
-create table QA_ACCIDENT
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- accstatus VARCHAR(80) not null COMMENT '事故状态',
- eventtime VARCHAR(30) COMMENT '事故发生时间',
- reporter VARCHAR(20) not null COMMENT '报告人',
- reporttime VARCHAR(30) not null COMMENT '事故报告时间',
- accdescription VARCHAR(500) not null COMMENT '事故描述',
- acclevel VARCHAR(60) not null COMMENT '事故等级',
- causalanalysis VARCHAR(500) COMMENT '原因分析',
- causaltype VARCHAR(100) COMMENT '原因类型',
- consequenceanalysis VARCHAR(300) COMMENT '后果分析',
- correctiveaction VARCHAR(300) COMMENT '纠正措施',
- resolutiontime VARCHAR(30) COMMENT '解决时间',
- resolutioner VARCHAR(20) COMMENT '解决处理人',
- preventiveaction VARCHAR(300) COMMENT '预防措施',
- preventiver VARCHAR(20) COMMENT '预防措施责任人',
- preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
- preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
- trouble_duration int(8) COMMENT '事故持续时间',
- impact_time int(8),
- filename VARCHAR(100) COMMENT '附件路径',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWCHECK
-(
- id int(10) not null AUTO_INCREMENT,
- checkid int(10) not null COMMENT '检查id',
- projectid int(10) not null COMMENT '项目id',
- projectphase VARCHAR(20) not null COMMENT '项目阶段',
- phasenode VARCHAR(50) not null COMMENT '阶段节点',
- checkentry VARCHAR(100) not null COMMENT '检查内容',
- checkresult VARCHAR(20) COMMENT '检查结果',
- checkdate VARCHAR(20) COMMENT '检查日期',
- checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
- stateupdate VARCHAR(20) COMMENT '状态更新',
- updatedate VARCHAR(20) COMMENT '更新日期',
- remark VARCHAR(200) COMMENT '备注',
- versionnum VARCHAR(30) COMMENT '版本号',
- primary key (ID)
-)default character set utf8;
-create table QA_FLOWINFO
-(
- id int(10) not null AUTO_INCREMENT,
- phaseid int(10) not null,
- phasename VARCHAR(20) not null,
- phasenodeid int(10) not null,
- phasenodename VARCHAR(20) not null,
- checkentryid int(10) not null,
- checkentry VARCHAR(200) not null,
- remark VARCHAR(100),
- primary key (ID)
-)default character set utf8;
-create table QA_PLANFLOWCHECK
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- versionnum VARCHAR(30) COMMENT '版本号',
- checkentryid VARCHAR(20) not null COMMENT '检查ID',
- plandate VARCHAR(20) not null COMMENT '计划检查日期',
- status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
- primary key (ID)
-)default character set utf8;
-create table QA_PROJECTVERSION
-(
- versionid int(10) not null AUTO_INCREMENT,
- versionnumber VARCHAR(20) COMMENT '版本号',
- plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
- actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
- plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
- plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
- actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
- actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
- plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
- plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
- actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
- actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
- plan_demand int(10) COMMENT '计划上线需求数',
- actually_demand int(10) COMMENT '实际上线需求数',
- codeline FLOAT(10) COMMENT '代码变动行数',
- testcasenum int(10) COMMENT '测试用例数',
- changetestingreturn int(10) COMMENT '版本转测试打回次数',
- dev_member VARCHAR(50) COMMENT '开发投入人力',
- test_member VARCHAR(50) COMMENT '测试投入人力',
- human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
- per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
- per_test VARCHAR(20) COMMENT '用例编写/用例执行',
- code_di VARCHAR(20) COMMENT '代码DI值',
- qualityreview VARCHAR(500) COMMENT '质量回溯',
- imprint VARCHAR(500) COMMENT '版本说明',
- remark VARCHAR(500) COMMENT '备注',
- projectid int(10) COMMENT '项目ID',
- devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
- devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
- testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
- testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
- protime_deviation VARCHAR(20),
- prodelay_days VARCHAR(20),
- bug_zm int(10),
- bug_yz int(10),
- bug_yb int(10),
- bug_ts int(10),
- versiontype int(8) default 1 not null COMMENT '版本类型',
- perdemand FLOAT(8) default 0.00,
- codestandard_zd int(10) default 0 not null,
- codestandard_yz int(10) default 0 not null,
- codestandard_zy int(10) default 0 not null,
- zt_versionlink VARCHAR(100) COMMENT '禅道链接',
- human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
- human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
- primary key (versionid)
-)default character set utf8;
-create table QA_REVIEW
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- version VARCHAR(20) not null COMMENT '版本号',
- review_type VARCHAR(20) COMMENT '评审类型',
- review_date VARCHAR(20) COMMENT '评审日期',
- bug_num int(8) COMMENT '问题数',
- repair_num int(8) COMMENT '已修复问题数',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- review_object VARCHAR(100) COMMENT '评审对象',
- review_result VARCHAR(50) COMMENT '评审结果',
- result_confirmor VARCHAR(50) COMMENT '结果确认人',
- remark VARCHAR(500) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-create table QA_REVIEWINFO
-(
- id int(8) not null AUTO_INCREMENT,
- review_id int(8) not null COMMENT '评审ID',
- bug_description VARCHAR(500) COMMENT '问题描述',
- status VARCHAR(20) COMMENT '状态',
- duty_officer VARCHAR(100) COMMENT '责任人',
- confirm_date VARCHAR(20) COMMENT '最后确认日期',
- corrective VARCHAR(500) COMMENT '纠正措施',
- primary key (id)
-)default character set utf8;
-create table QA_SECONDARYSECTOR
-(
- sectorid int(10) not null AUTO_INCREMENT,
- departmenthead VARCHAR(20),
- departmentname VARCHAR(20),
- primary key (sectorid)
-)default character set utf8;
-create table QA_SECTORPROJECTS
-(
- projectid int(10) not null AUTO_INCREMENT,
- projectname VARCHAR(100) not null,
- projectmanager VARCHAR(100) not null,
- sectorid int(10) not null,
- projecttype int(4) default 0 not null,
- projectsign VARCHAR(20) default 'sign' not null,
- primary key (projectid)
-)default character set utf8;
-create table QA_ZTTASK
-(
- id int(8) not null AUTO_INCREMENT,
- versionid int(8) COMMENT '版本ID',
- versionname VARCHAR(100) COMMENT '版本名称',
- taskname VARCHAR(300) COMMENT '任务名称',
- assigneddate VARCHAR(50) COMMENT '完成时间',
- estimate int(8) COMMENT '预期工时',
- consumed int(8) COMMENT '实际工时',
- finishedby VARCHAR(40) COMMENT '完成人账号',
- finishedname VARCHAR(40) COMMENT '完成人姓名',
- deadline VARCHAR(40) COMMENT '计划截止日期',
- delaystatus int(4) COMMENT '延期状态',
- primary key (id)
-)default character set utf8;
-create table TEST_JOBS
-(
- id int(10) not null AUTO_INCREMENT,
- name VARCHAR(100) not null COMMENT '调度名称',
- startdate VARCHAR(100) COMMENT '开始日期',
- starttime VARCHAR(100) COMMENT '开始时间',
- enddate VARCHAR(100) COMMENT '结束日期',
- endtime VARCHAR(100) COMMENT '结束时间',
- runtime datetime COMMENT '执行时间',
- remark VARCHAR(800) COMMENT '备注',
- planproj VARCHAR(100) COMMENT '项目名(testlink)中',
- state VARCHAR(4) not null COMMENT '状态',
- tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
- starttimestr VARCHAR(100) COMMENT '执行时间表达式',
- endtimestr VARCHAR(100) COMMENT '结束时间',
- createtime datetime not null,
- noenddate VARCHAR(10) COMMENT '是否有结束日期',
- time int default 0,
- timetype VARCHAR(4),
- issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
- emailer VARCHAR(250) COMMENT '邮件地址',
- threadcount int default 1 COMMENT '客户端线程数(接口)',
- testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
- isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
- buildname VARCHAR(100) COMMENT '构建链接',
- isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
- restartcomm VARCHAR(200) COMMENT '重启脚本',
- extype int(4) default 0 not null COMMENT '执行类型',
- browsertype int(4) COMMENT 'UI自动化浏览器类型',
- timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
- clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
- projecttype int(4) default "0" COMMENT '项目类型 系统内项目 0 testlink 1',
- projectid int(8) COMMENT '系统内项目ID',
- planid int(8) COMMENT '系统内项目关联测试计划ID',
- primary key (id)
-)default character set utf8;
-create table TEST_CASEDETAIL
-(
- id int(10) not null AUTO_INCREMENT,
- taskid int(10) not null,
- caseno VARCHAR(20) not null COMMENT '用例编号',
- caseversion VARCHAR(20) not null COMMENT '用例版本',
- casetime datetime not null COMMENT '执行时间',
- casename VARCHAR(200) not null COMMENT '用例名称',
- casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
- primary key (id)
-)default character set utf8;
-create table TEST_LOGDETAIL
-(
- logid int(10) not null AUTO_INCREMENT,
- logtime datetime not null COMMENT '日志时间',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- loggrade VARCHAR(20) COMMENT '日志级别',
- caseid int(10) not null COMMENT '用例编号',
- taskid int(10),
- step VARCHAR(20) COMMENT '用例步骤',
- imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
- primary key (logid)
-)default character set utf8;
-create table TEST_TASKEXCUTE
-(
- id int(10) not null AUTO_INCREMENT,
- taskid VARCHAR(150) not null,
- casetotal_count int(10) COMMENT '总用例数',
- casesucc_count int(10) COMMENT '成功数',
- casefail_count int(10) COMMENT '失败数',
- caselock_count int(10) COMMENT '锁定数',
- createtime datetime COMMENT '时间',
- jobid int(10) not null,
- finishtime datetime COMMENT '完成时间',
- taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
- casenoexec_count int default 0 COMMENT '未执行用例',
- caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
- primary key (id)
-)default character set utf8;
-create table USERINFO
-(
- id int(8) not null AUTO_INCREMENT,
- usercode VARCHAR(20) not null,
- password VARCHAR(200) not null,
- username VARCHAR(20),
- role VARCHAR(100) COMMENT '角色',
- sectorid int(8) default 0 not null COMMENT '所属部门',
- projectid int(4) default 0 not null COMMENT '默认选择项目',
- primary key (id)
-)default character set utf8;
-create table USER_AUTHORITY
-(
- id int(9) not null AUTO_INCREMENT,
- module VARCHAR(50) not null COMMENT '模块',
- auth_type VARCHAR(50) not null COMMENT '权限类型',
- alias VARCHAR(50) not null COMMENT '别名',
- primary key (id)
-)default character set utf8;
-create table USER_ROLE
-(
- id int(9) not null AUTO_INCREMENT,
- role VARCHAR(50) not null COMMENT '角色',
- permission VARCHAR(1000) COMMENT '权限',
- opprojectid VARCHAR(200) COMMENT '可操作的项目',
- primary key (id)
-)default character set utf8;
-create table TEST_CLIENT
-(
- id int(8) not null AUTO_INCREMENT,
- clientip VARCHAR(30) not null COMMENT '客户端IP',
- name VARCHAR(30) not null COMMENT '客户端名称',
- projectper VARCHAR(200) COMMENT '使用项目',
- status int(2) COMMENT '客户端超时 0 正常 1 链接失败 2 状态未知',
- checkinterval int(6) not null COMMENT '检查客户端状态心跳间隔时间 单位:秒',
- remark VARCHAR(100) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-/*用例管理模块*/
-create table PROJECT_CASE
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- name VARCHAR(200) not null COMMENT '用例名称',
- projectid int(8) not null COMMENT '关联项目ID',
- moduleid int(8) not null COMMENT '关联项目模块ID',
- projectindex int(8) not null COMMENT '项目用例编号',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- casetype int(2) not null COMMENT '0 接口 1 UI',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPS
-(
- id int(8) not null AUTO_INCREMENT,
- path VARCHAR(100) COMMENT '包路径|定位路径',
- operation VARCHAR(100) COMMENT '方法名|操作',
- parameters VARCHAR(500) COMMENT '参数',
- action VARCHAR(50) COMMENT '步骤动作',
- caseid int(8) not null COMMENT '用例ID',
- stepnum int(2) not null COMMENT '步骤编号',
- expectedresult VARCHAR(2000) COMMENT '预期结果',
- projectid int(8) not null COMMENT '项目ID',
- steptype int(2) not null COMMENT '0 接口 1 UI',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLAN
-(
- id int(9) not null AUTO_INCREMENT,
- name VARCHAR(50) not null COMMENT '测试计划名称',
- casecount int(8) COMMENT '计划中用例总数',
- remark VARCHAR(200) COMMENT '备注',
- projectid int(8) not null COMMENT '项目ID',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLANCASE
-(
- id int(9) not null AUTO_INCREMENT,
- caseid int(8) not null COMMENT '用例ID',
- planid int(8) not null COMMENT '项目计划ID',
- priority int(8) not null COMMENT '用例优先级',
- primary key (ID),
- index (caseid),
- index (planid)
-)default character set utf8;
-
-create table PROJECT_MODULE
-(
- id int(9) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- modulename VARCHAR(50) COMMENT '模块名字',
- pid int(4) COMMENT '层级关系',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PROTOCOLTEMPLATE
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- name VARCHAR(50) not null COMMENT '模板名称',
- protocoltype VARCHAR(20) not null COMMENT '协议类型',
- contentencoding VARCHAR(20) not null COMMENT '编码格式',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_TEMPLATEPARAMS
-(
- id int(9) not null AUTO_INCREMENT,
- templateid int(8) not null COMMENT '模块ID',
- paramname VARCHAR(50) not null COMMENT '参数名',
- param VARCHAR(2000) COMMENT '参数默认值',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPSPARAMS
-(
- id int(8) not null AUTO_INCREMENT,
- steptype int(2) not null COMMENT '步骤类型',
- parentid int(8) not null COMMENT '父节点ID',
- fieldname VARCHAR(50) COMMENT '所属字段名',
- paramvalue VARCHAR(200) COMMENT '参数值',
- description VARCHAR(50) COMMENT '描述',
- primary key (ID)
-)default character set utf8;
-
-create table TEMP_CASESTEPDEBUG
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- executor VARCHAR(20) not null COMMENT '执行人',
- loglevel VARCHAR(10) not null COMMENT '日志级别',
- detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
- primary key (ID)
-)default character set utf8;
-/*插入索引
-CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
-CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
-
-/*插入权限默认定义*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (1, '质量-版本信息', '增加', 'pv_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (2, '质量-版本信息', '删除', 'pv_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (3, '质量-版本信息', '修改', 'pv_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (4, '质量-版本计划信息', '增加', 'pvp_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (5, '质量-流程检查信息', '增加', 'fc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (6, '质量-流程检查信息', '删除', 'fc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (7, '质量-流程检查信息', '修改', 'fc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (8, '质量-生产故障信息', '增加', 'acc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (9, '质量-生产故障信息', '删除', 'acc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (10, '质量-生产故障信息', '修改', 'acc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (21, '自动化-任务调度', '启动', 'tast_run');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (22, '自动化-任务调度', '移除', 'tast_remove');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (23, '自动化-任务调度', '执行', 'tast_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (24, '自动化-任务调度', '增加', 'tast_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (25, '自动化-任务调度', '删除', 'tast_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (26, '自动化-任务调度', '修改', 'tast_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (27, '自动化-任务调度', '上传', 'tast_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (11, '质量-流程检查计划', '增加', 'pfc_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (12, '质量-流程检查计划', '删除', 'pfc_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (13, '质量-流程检查计划', '修改', 'pfc_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (15, '质量-评审信息详情', '增加', 'revinfo_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (16, '质量-评审信息详情', '删除', 'revinfo_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (17, '质量-评审信息详情', '修改', 'revinfo_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (18, '质量-评审信息', '删除', 'rev_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (19, '质量-评审信息', '修改', 'rev_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (20, '质量-生产故障信息', '上传', 'acc_upload');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (41, '用户管理', '增加', 'ui_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (42, '用户管理', '删除', 'ui_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (43, '用户管理', '修改', 'ui_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (44, '用户管理', '查看', 'ui_4');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (45, '用户管理-权限角色', '查看修改', 'role_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (28, '自动化-任务列表', '删除', 'tastex_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (29, '自动化-用例列表', '执行', 'case_ex');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (46, '用户管理-权限角色', '增加', 'role_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (47, '用户管理-权限角色', '删除', 'role_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (48, '项目管理', '增加', 'pro_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (49, '项目管理', '删除', 'pro_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (50, '项目管理', '修改', 'pro_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (51, '用例管理', '增加', 'case_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (52, '用例管理', '删除', 'case_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (53, '用例管理', '修改', 'case_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (54, '步骤管理', '增删改查', 'case_step');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (55, '测试计划管理', '增加', 'proplan_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (56, '测试计划管理', '删除', 'proplan_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (57, '测试计划管理', '修改', 'proplan_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (58, '部门管理', '增加', 'dpmt_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (59, '部门管理', '删除', 'dpmt_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (60, '部门管理', '修改', 'dpmt_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (61, '协议模板', '增加', 'ptct_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (62, '协议模板', '删除', 'ptct_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (63, '协议模板', '修改', 'ptct_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (64, '客户端管理', '增加', 'client_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (65, '客户端管理', '删除', 'client_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (66, '客户端管理', '修改', 'client_3');
-
-/*插入步骤界面定义各个字段的默认值*/
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (10, 1, 0, 'operation','click','点击对象');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (11, 1, 0, 'operation','sendkeys','输入');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (12, 1, 0, 'operation','clear','清除输入框');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (17, 1, 0, 'operation','gettext','获取对象文本属性');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (24, 1, 0, 'operation','open','打开URL');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (25, 1, 0, 'operation','exjs','执行js脚本');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (27, 1, 0, 'operation','gettitle','获取窗口标题');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (30, 1, 0, 'operation','wait','等待时间(S)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (46, 1, 0, 'operation','runcase','调用指定接口用例');
-
-/*插入角色默认定义*/
-insert into USER_ROLE (id, role, permission)
-values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
-insert into USER_ROLE (id, role, permission)
-values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
-insert into USER_ROLE (id, role, permission)
-values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
-insert into USER_ROLE (id, role, permission)
-values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,case_1,case_2,case_3,case_step,proplan_1,proplan_2,proplan_3,dpmt_1,dpmt_2,dpmt_3,ptct_1,ptct_2,ptct_3,client_1,client_2,client_3,');
-
-/*插入默认部门分级*/
-insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
-values (99, '系统管理员', '总部');
-/*插入默认项目*/
-insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
-values (99, '全部项目/未知项目', '系统管理员', 99, 0);
-/*插入默认管理员*/
-insert into USERINFO (id, usercode, password, username, role, sectorid)
-values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
-/*插入流程检查定义数据*/
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
-values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
-insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ projectsign VARCHAR(20) default 'sign' not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ projecttype int(4) default "0" COMMENT '项目类型 系统内项目 0 testlink 1',
+ projectid int(8) COMMENT '系统内项目ID',
+ planid int(8) COMMENT '系统内项目关联测试计划ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ projectid int(4) default 0 not null COMMENT '默认选择项目',
+ primary key (id)
+)default character set utf8;
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ opprojectid VARCHAR(200) COMMENT '可操作的项目',
+ primary key (id)
+)default character set utf8;
+create table TEST_CLIENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ clientip VARCHAR(30) not null COMMENT '客户端IP',
+ name VARCHAR(30) not null COMMENT '客户端名称',
+ projectper VARCHAR(200) COMMENT '使用项目',
+ status int(2) COMMENT '客户端超时 0 正常 1 链接失败 2 状态未知',
+ checkinterval int(6) not null COMMENT '检查客户端状态心跳间隔时间 单位:秒',
+ remark VARCHAR(100) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+/*用例管理模块*/
+create table PROJECT_CASE
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ name VARCHAR(200) not null COMMENT '用例名称',
+ projectid int(8) not null COMMENT '关联项目ID',
+ moduleid int(8) not null COMMENT '关联项目模块ID',
+ projectindex int(8) not null COMMENT '项目用例编号',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ casetype int(2) not null COMMENT '0 接口 1 UI',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPS
+(
+ id int(8) not null AUTO_INCREMENT,
+ path VARCHAR(100) COMMENT '包路径|定位路径',
+ operation VARCHAR(100) COMMENT '方法名|操作',
+ parameters VARCHAR(500) COMMENT '参数',
+ action VARCHAR(50) COMMENT '步骤动作',
+ caseid int(8) not null COMMENT '用例ID',
+ stepnum int(2) not null COMMENT '步骤编号',
+ expectedresult VARCHAR(2000) COMMENT '预期结果',
+ projectid int(8) not null COMMENT '项目ID',
+ steptype int(2) not null COMMENT '0 接口 1 UI',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLAN
+(
+ id int(9) not null AUTO_INCREMENT,
+ name VARCHAR(50) not null COMMENT '测试计划名称',
+ casecount int(8) COMMENT '计划中用例总数',
+ remark VARCHAR(200) COMMENT '备注',
+ projectid int(8) not null COMMENT '项目ID',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLANCASE
+(
+ id int(9) not null AUTO_INCREMENT,
+ caseid int(8) not null COMMENT '用例ID',
+ planid int(8) not null COMMENT '项目计划ID',
+ priority int(8) not null COMMENT '用例优先级',
+ primary key (ID),
+ index (caseid),
+ index (planid)
+)default character set utf8;
+
+create table PROJECT_MODULE
+(
+ id int(9) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ modulename VARCHAR(50) COMMENT '模块名字',
+ pid int(4) COMMENT '层级关系',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PROTOCOLTEMPLATE
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ name VARCHAR(50) not null COMMENT '模板名称',
+ protocoltype VARCHAR(20) not null COMMENT '协议类型',
+ contentencoding VARCHAR(20) not null COMMENT '编码格式',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_TEMPLATEPARAMS
+(
+ id int(9) not null AUTO_INCREMENT,
+ templateid int(8) not null COMMENT '模块ID',
+ paramname VARCHAR(50) not null COMMENT '参数名',
+ param VARCHAR(2000) COMMENT '参数默认值',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPSPARAMS
+(
+ id int(8) not null AUTO_INCREMENT,
+ steptype int(2) not null COMMENT '步骤类型',
+ parentid int(8) not null COMMENT '父节点ID',
+ fieldname VARCHAR(50) COMMENT '所属字段名',
+ paramvalue VARCHAR(200) COMMENT '参数值',
+ description VARCHAR(50) COMMENT '描述',
+ primary key (ID)
+)default character set utf8;
+
+create table TEMP_CASESTEPDEBUG
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ executor VARCHAR(20) not null COMMENT '执行人',
+ loglevel VARCHAR(10) not null COMMENT '日志级别',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ primary key (ID)
+)default character set utf8;
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, '项目管理', '增加', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, '项目管理', '删除', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (50, '项目管理', '修改', 'pro_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (51, '用例管理', '增加', 'case_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (52, '用例管理', '删除', 'case_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (53, '用例管理', '修改', 'case_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (54, '步骤管理', '增删改查', 'case_step');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (55, '测试计划管理', '增加', 'proplan_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (56, '测试计划管理', '删除', 'proplan_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (57, '测试计划管理', '修改', 'proplan_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (58, '部门管理', '增加', 'dpmt_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (59, '部门管理', '删除', 'dpmt_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (60, '部门管理', '修改', 'dpmt_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (61, '协议模板', '增加', 'ptct_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (62, '协议模板', '删除', 'ptct_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (63, '协议模板', '修改', 'ptct_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (64, '客户端管理', '增加', 'client_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (65, '客户端管理', '删除', 'client_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (66, '客户端管理', '修改', 'client_3');
+
+/*插入步骤界面定义各个字段的默认值*/
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (10, 1, 0, 'operation','click','点击对象');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (11, 1, 0, 'operation','sendkeys','输入');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (12, 1, 0, 'operation','clear','清除输入框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (17, 1, 0, 'operation','gettext','获取对象文本属性');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (24, 1, 0, 'operation','open','打开URL');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (25, 1, 0, 'operation','exjs','执行js脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (27, 1, 0, 'operation','gettitle','获取窗口标题');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (30, 1, 0, 'operation','wait','等待时间(S)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (46, 1, 0, 'operation','runcase','调用指定接口用例');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,case_1,case_2,case_3,case_step,proplan_1,proplan_2,proplan_3,dpmt_1,dpmt_2,dpmt_3,ptct_1,ptct_2,ptct_3,client_1,client_2,client_3,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/initialization(create table)/V2.4 初始化 .sql b/mysqldb/initialization(create table)/V2.4 初始化 .sql
new file mode 100644
index 0000000..44b1605
--- /dev/null
+++ b/mysqldb/initialization(create table)/V2.4 初始化 .sql
@@ -0,0 +1,708 @@
+create table OPERATION_LOG
+(
+ id int(9) not null AUTO_INCREMENT,
+ tablename VARCHAR(30) not null COMMENT '被记录日志表名',
+ tableid int(8) not null COMMENT '被记录日志ID',
+ operation_time VARCHAR(30) not null COMMENT '操作时间',
+ operationer VARCHAR(20) not null COMMENT '操作人员',
+ operation_description VARCHAR(200) not null COMMENT '描述',
+ projectid int(8) COMMENT '项目ID',
+ primary key (ID)
+)default character set utf8;
+create table QA_ACCIDENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ accstatus VARCHAR(80) not null COMMENT '事故状态',
+ eventtime VARCHAR(30) COMMENT '事故发生时间',
+ reporter VARCHAR(20) not null COMMENT '报告人',
+ reporttime VARCHAR(30) not null COMMENT '事故报告时间',
+ accdescription VARCHAR(500) not null COMMENT '事故描述',
+ acclevel VARCHAR(60) not null COMMENT '事故等级',
+ causalanalysis VARCHAR(500) COMMENT '原因分析',
+ causaltype VARCHAR(100) COMMENT '原因类型',
+ consequenceanalysis VARCHAR(300) COMMENT '后果分析',
+ correctiveaction VARCHAR(300) COMMENT '纠正措施',
+ resolutiontime VARCHAR(30) COMMENT '解决时间',
+ resolutioner VARCHAR(20) COMMENT '解决处理人',
+ preventiveaction VARCHAR(300) COMMENT '预防措施',
+ preventiver VARCHAR(20) COMMENT '预防措施责任人',
+ preventiveplandate VARCHAR(30) COMMENT '预防措施计划完成时间',
+ preventiveaccdate VARCHAR(30) COMMENT '预防措施实际完成时间',
+ trouble_duration int(8) COMMENT '事故持续时间',
+ impact_time int(8),
+ filename VARCHAR(100) COMMENT '附件路径',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWCHECK
+(
+ id int(10) not null AUTO_INCREMENT,
+ checkid int(10) not null COMMENT '检查id',
+ projectid int(10) not null COMMENT '项目id',
+ projectphase VARCHAR(20) not null COMMENT '项目阶段',
+ phasenode VARCHAR(50) not null COMMENT '阶段节点',
+ checkentry VARCHAR(100) not null COMMENT '检查内容',
+ checkresult VARCHAR(20) COMMENT '检查结果',
+ checkdate VARCHAR(20) COMMENT '检查日期',
+ checkdescriptions VARCHAR(400) COMMENT '不符合项描述',
+ stateupdate VARCHAR(20) COMMENT '状态更新',
+ updatedate VARCHAR(20) COMMENT '更新日期',
+ remark VARCHAR(200) COMMENT '备注',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ primary key (ID)
+)default character set utf8;
+create table QA_FLOWINFO
+(
+ id int(10) not null AUTO_INCREMENT,
+ phaseid int(10) not null,
+ phasename VARCHAR(20) not null,
+ phasenodeid int(10) not null,
+ phasenodename VARCHAR(20) not null,
+ checkentryid int(10) not null,
+ checkentry VARCHAR(200) not null,
+ remark VARCHAR(100),
+ primary key (ID)
+)default character set utf8;
+create table QA_PLANFLOWCHECK
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ versionnum VARCHAR(30) COMMENT '版本号',
+ checkentryid VARCHAR(20) not null COMMENT '检查ID',
+ plandate VARCHAR(20) not null COMMENT '计划检查日期',
+ status int(4) not null COMMENT '计划状态:1 检查计划 2 已检查',
+ primary key (ID)
+)default character set utf8;
+create table QA_PROJECTVERSION
+(
+ versionid int(10) not null AUTO_INCREMENT,
+ versionnumber VARCHAR(20) COMMENT '版本号',
+ plan_launchdate VARCHAR(20) COMMENT '计划上线日期',
+ actually_launchdate VARCHAR(20) COMMENT '实际上线日期',
+ plan_devstart VARCHAR(20) COMMENT '计划开发开始时间',
+ plan_devend VARCHAR(20) COMMENT '计划开发结束时间',
+ actually_devstart VARCHAR(20) COMMENT '实际开发开始时间',
+ actually_devend VARCHAR(20) COMMENT '实际开发结束时间',
+ plan_teststart VARCHAR(20) COMMENT '计划测试开始时间',
+ plan_testend VARCHAR(20) COMMENT '计划测试结束时间',
+ actually_teststart VARCHAR(20) COMMENT '实际测试开始时间',
+ actually_testend VARCHAR(20) COMMENT '实际测试结束时间',
+ plan_demand int(10) COMMENT '计划上线需求数',
+ actually_demand int(10) COMMENT '实际上线需求数',
+ codeline FLOAT(10) COMMENT '代码变动行数',
+ testcasenum int(10) COMMENT '测试用例数',
+ changetestingreturn int(10) COMMENT '版本转测试打回次数',
+ dev_member VARCHAR(50) COMMENT '开发投入人力',
+ test_member VARCHAR(50) COMMENT '测试投入人力',
+ human_cost VARCHAR(20) COMMENT '耗费人力 人/天',
+ per_dev VARCHAR(20) COMMENT '开发平均生产率 人/天/行',
+ per_test VARCHAR(20) COMMENT '用例编写/用例执行',
+ code_di VARCHAR(20) COMMENT '代码DI值',
+ qualityreview VARCHAR(500) COMMENT '质量回溯',
+ imprint VARCHAR(500) COMMENT '版本说明',
+ remark VARCHAR(500) COMMENT '备注',
+ projectid int(10) COMMENT '项目ID',
+ devtime_deviation VARCHAR(20) COMMENT '开发偏移率',
+ devdelay_days VARCHAR(20) COMMENT '开发延迟时间',
+ testtime_deviation VARCHAR(20) COMMENT '测试偏移率',
+ testdelay_days VARCHAR(20) COMMENT '测试延迟时间',
+ protime_deviation VARCHAR(20),
+ prodelay_days VARCHAR(20),
+ bug_zm int(10),
+ bug_yz int(10),
+ bug_yb int(10),
+ bug_ts int(10),
+ versiontype int(8) default 1 not null COMMENT '版本类型',
+ perdemand FLOAT(8) default 0.00,
+ codestandard_zd int(10) default 0 not null,
+ codestandard_yz int(10) default 0 not null,
+ codestandard_zy int(10) default 0 not null,
+ zt_versionlink VARCHAR(100) COMMENT '禅道链接',
+ human_costdev VARCHAR(20) default '0' COMMENT '开发人力成本',
+ human_costtest VARCHAR(20) default '0' COMMENT '测试人力成本',
+ primary key (versionid)
+)default character set utf8;
+create table QA_REVIEW
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ version VARCHAR(20) not null COMMENT '版本号',
+ review_type VARCHAR(20) COMMENT '评审类型',
+ review_date VARCHAR(20) COMMENT '评审日期',
+ bug_num int(8) COMMENT '问题数',
+ repair_num int(8) COMMENT '已修复问题数',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ review_object VARCHAR(100) COMMENT '评审对象',
+ review_result VARCHAR(50) COMMENT '评审结果',
+ result_confirmor VARCHAR(50) COMMENT '结果确认人',
+ remark VARCHAR(500) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+create table QA_REVIEWINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ review_id int(8) not null COMMENT '评审ID',
+ bug_description VARCHAR(500) COMMENT '问题描述',
+ status VARCHAR(20) COMMENT '状态',
+ duty_officer VARCHAR(100) COMMENT '责任人',
+ confirm_date VARCHAR(20) COMMENT '最后确认日期',
+ corrective VARCHAR(500) COMMENT '纠正措施',
+ primary key (id)
+)default character set utf8;
+create table QA_SECONDARYSECTOR
+(
+ sectorid int(10) not null AUTO_INCREMENT,
+ departmenthead VARCHAR(20),
+ departmentname VARCHAR(20),
+ primary key (sectorid)
+)default character set utf8;
+create table QA_SECTORPROJECTS
+(
+ projectid int(10) not null AUTO_INCREMENT,
+ projectname VARCHAR(100) not null,
+ projectmanager VARCHAR(100) not null,
+ sectorid int(10) not null,
+ projecttype int(4) default 0 not null,
+ projectsign VARCHAR(20) default 'sign' not null,
+ primary key (projectid)
+)default character set utf8;
+create table QA_ZTTASK
+(
+ id int(8) not null AUTO_INCREMENT,
+ versionid int(8) COMMENT '版本ID',
+ versionname VARCHAR(100) COMMENT '版本名称',
+ taskname VARCHAR(300) COMMENT '任务名称',
+ assigneddate VARCHAR(50) COMMENT '完成时间',
+ estimate int(8) COMMENT '预期工时',
+ consumed int(8) COMMENT '实际工时',
+ finishedby VARCHAR(40) COMMENT '完成人账号',
+ finishedname VARCHAR(40) COMMENT '完成人姓名',
+ deadline VARCHAR(40) COMMENT '计划截止日期',
+ delaystatus int(4) COMMENT '延期状态',
+ primary key (id)
+)default character set utf8;
+create table TEST_JOBS
+(
+ id int(10) not null AUTO_INCREMENT,
+ name VARCHAR(100) not null COMMENT '调度名称',
+ startdate VARCHAR(100) COMMENT '开始日期',
+ starttime VARCHAR(100) COMMENT '开始时间',
+ enddate VARCHAR(100) COMMENT '结束日期',
+ endtime VARCHAR(100) COMMENT '结束时间',
+ runtime datetime COMMENT '执行时间',
+ remark VARCHAR(800) COMMENT '备注',
+ planproj VARCHAR(100) COMMENT '项目名(testlink)中',
+ state VARCHAR(4) not null COMMENT '状态',
+ tasktype VARCHAR(4) not null COMMENT '执行类型 O执行一次 D每天执行',
+ starttimestr VARCHAR(100) COMMENT '执行时间表达式',
+ endtimestr VARCHAR(100) COMMENT '结束时间',
+ createtime datetime not null,
+ noenddate VARCHAR(10) COMMENT '是否有结束日期',
+ time int default 0,
+ timetype VARCHAR(4),
+ issendmail VARCHAR(4) default "0" COMMENT '是否发送邮件通知',
+ emailer VARCHAR(250) COMMENT '邮件地址',
+ threadcount int default 1 COMMENT '客户端线程数(接口)',
+ testlinkname VARCHAR(200) COMMENT 'TESTLINK中的计划名称',
+ isbuilding VARCHAR(4) default '0' not null COMMENT '是否自动构建',
+ buildname VARCHAR(100) COMMENT '构建链接',
+ isrestart VARCHAR(4) default '0' not null COMMENT '是否自动重启',
+ restartcomm VARCHAR(200) COMMENT '重启脚本',
+ extype int(4) default 0 not null COMMENT '执行类型',
+ browsertype int(4) COMMENT 'UI自动化浏览器类型',
+ timeout int(8) default 60 not null COMMENT '任务超时中断时间(分钟)',
+ clientip VARCHAR(30) default '127.0.0.1' not null COMMENT '版本ID',
+ clientpath VARCHAR(100) COMMENT '客户端测试驱动桩路径',
+ projecttype int(4) default "0" COMMENT '项目类型 系统内项目 0 testlink 1',
+ projectid int(8) COMMENT '系统内项目ID',
+ planid int(8) COMMENT '系统内项目关联测试计划ID',
+ primary key (id)
+)default character set utf8;
+create table TEST_CASEDETAIL
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid int(10) not null,
+ caseno VARCHAR(20) not null COMMENT '用例编号',
+ caseversion VARCHAR(20) not null COMMENT '用例版本',
+ casetime datetime not null COMMENT '执行时间',
+ casename VARCHAR(200) not null COMMENT '用例名称',
+ casestatus VARCHAR(2) default '4' not null COMMENT ' pass:0 fail:1 lock:2 unexcute:4',
+ primary key (id)
+)default character set utf8;
+create table TEST_LOGDETAIL
+(
+ logid int(10) not null AUTO_INCREMENT,
+ logtime datetime not null COMMENT '日志时间',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ loggrade VARCHAR(20) COMMENT '日志级别',
+ caseid int(10) not null COMMENT '用例编号',
+ taskid int(10),
+ step VARCHAR(20) COMMENT '用例步骤',
+ imgname VARCHAR(30) COMMENT 'UI自动化自动截图地址',
+ primary key (logid)
+)default character set utf8;
+create table TEST_TASKEXCUTE
+(
+ id int(10) not null AUTO_INCREMENT,
+ taskid VARCHAR(150) not null,
+ casetotal_count int(10) COMMENT '总用例数',
+ casesucc_count int(10) COMMENT '成功数',
+ casefail_count int(10) COMMENT '失败数',
+ caselock_count int(10) COMMENT '锁定数',
+ createtime datetime COMMENT '时间',
+ jobid int(10) not null,
+ finishtime datetime COMMENT '完成时间',
+ taskstatus VARCHAR(2) default '' COMMENT '状态 0未执行 1执行中 2 成功 4失败 ',
+ casenoexec_count int default 0 COMMENT '未执行用例',
+ caseisexec VARCHAR(2) COMMENT '任务是否被成功吊起 0 成功吊起 3 吊起失败',
+ primary key (id)
+)default character set utf8;
+create table USERINFO
+(
+ id int(8) not null AUTO_INCREMENT,
+ usercode VARCHAR(20) not null,
+ password VARCHAR(200) not null,
+ username VARCHAR(20),
+ role VARCHAR(100) COMMENT '角色',
+ sectorid int(8) default 0 not null COMMENT '所属部门',
+ projectid int(4) default 0 not null COMMENT '默认选择项目',
+ primary key (id)
+)default character set utf8;
+create table USER_AUTHORITY
+(
+ id int(9) not null AUTO_INCREMENT,
+ module VARCHAR(50) not null COMMENT '模块',
+ auth_type VARCHAR(50) not null COMMENT '权限类型',
+ alias VARCHAR(50) not null COMMENT '别名',
+ primary key (id)
+)default character set utf8;
+create table USER_ROLE
+(
+ id int(9) not null AUTO_INCREMENT,
+ role VARCHAR(50) not null COMMENT '角色',
+ permission VARCHAR(1000) COMMENT '权限',
+ opprojectid VARCHAR(200) COMMENT '可操作的项目',
+ primary key (id)
+)default character set utf8;
+create table TEST_CLIENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ clientip VARCHAR(30) not null COMMENT '客户端IP',
+ name VARCHAR(30) not null COMMENT '客户端名称',
+ projectper VARCHAR(200) COMMENT '使用项目',
+ status int(2) COMMENT '客户端超时 0 正常 1 链接失败 2 状态未知',
+ checkinterval int(6) not null COMMENT '检查客户端状态心跳间隔时间 单位:秒',
+ clientpath VARCHAR(100) COMMENT '客户端测试驱动桩路径 多个;做分隔';
+ remark VARCHAR(100) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+/*用例管理模块*/
+create table PROJECT_CASE
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ name VARCHAR(200) not null COMMENT '用例名称',
+ projectid int(8) not null COMMENT '关联项目ID',
+ moduleid int(8) not null COMMENT '关联项目模块ID',
+ projectindex int(8) not null COMMENT '项目用例编号',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ casetype int(2) not null COMMENT '0 接口 1 UI',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPS
+(
+ id int(8) not null AUTO_INCREMENT,
+ path VARCHAR(100) COMMENT '包路径|定位路径',
+ operation VARCHAR(100) COMMENT '方法名|操作',
+ parameters VARCHAR(500) COMMENT '参数',
+ action VARCHAR(50) COMMENT '步骤动作',
+ caseid int(8) not null COMMENT '用例ID',
+ stepnum int(2) not null COMMENT '步骤编号',
+ expectedresult VARCHAR(2000) COMMENT '预期结果',
+ projectid int(8) not null COMMENT '项目ID',
+ steptype int(2) not null COMMENT '0 接口 1 UI',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLAN
+(
+ id int(9) not null AUTO_INCREMENT,
+ name VARCHAR(50) not null COMMENT '测试计划名称',
+ casecount int(8) COMMENT '计划中用例总数',
+ remark VARCHAR(200) COMMENT '备注',
+ projectid int(8) not null COMMENT '项目ID',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLANCASE
+(
+ id int(9) not null AUTO_INCREMENT,
+ caseid int(8) not null COMMENT '用例ID',
+ planid int(8) not null COMMENT '项目计划ID',
+ priority int(8) not null COMMENT '用例优先级',
+ primary key (ID),
+ index (caseid),
+ index (planid)
+)default character set utf8;
+
+create table PROJECT_MODULE
+(
+ id int(9) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ modulename VARCHAR(50) COMMENT '模块名字',
+ pid int(4) COMMENT '层级关系',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PROTOCOLTEMPLATE
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ name VARCHAR(50) not null COMMENT '模板名称',
+ protocoltype VARCHAR(20) not null COMMENT '协议类型',
+ contentencoding VARCHAR(20) not null COMMENT '编码格式',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_TEMPLATEPARAMS
+(
+ id int(9) not null AUTO_INCREMENT,
+ templateid int(8) not null COMMENT '模块ID',
+ paramname VARCHAR(50) not null COMMENT '参数名',
+ param VARCHAR(2000) COMMENT '参数默认值',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPSPARAMS
+(
+ id int(8) not null AUTO_INCREMENT,
+ steptype int(2) not null COMMENT '步骤类型',
+ parentid int(8) not null COMMENT '父节点ID',
+ fieldname VARCHAR(50) COMMENT '所属字段名',
+ paramvalue VARCHAR(200) COMMENT '参数值',
+ description VARCHAR(50) COMMENT '描述',
+ primary key (ID)
+)default character set utf8;
+
+create table TEMP_CASESTEPDEBUG
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ executor VARCHAR(20) not null COMMENT '执行人',
+ loglevel VARCHAR(10) not null COMMENT '日志级别',
+ detail VARCHAR(5000) not null COMMENT '日志', /*V1.1 扩展日志明细字段到2000*/
+ primary key (ID)
+)default character set utf8;
+/*插入索引
+CREATE INDEX index_caseid ON TEST_LOGDETAIL (caseid);
+CREATE INDEX index_taskid ON TEST_CASEDETAIL (taskid);*/
+
+/*插入权限默认定义*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (1, '质量-版本信息', '增加', 'pv_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (2, '质量-版本信息', '删除', 'pv_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (3, '质量-版本信息', '修改', 'pv_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (4, '质量-版本计划信息', '增加', 'pvp_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (5, '质量-流程检查信息', '增加', 'fc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (6, '质量-流程检查信息', '删除', 'fc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (7, '质量-流程检查信息', '修改', 'fc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (8, '质量-生产故障信息', '增加', 'acc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (9, '质量-生产故障信息', '删除', 'acc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (10, '质量-生产故障信息', '修改', 'acc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (21, '自动化-任务调度', '启动', 'tast_run');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (22, '自动化-任务调度', '移除', 'tast_remove');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (23, '自动化-任务调度', '执行', 'tast_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (24, '自动化-任务调度', '增加', 'tast_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (25, '自动化-任务调度', '删除', 'tast_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (26, '自动化-任务调度', '修改', 'tast_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (27, '自动化-任务调度', '上传', 'tast_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (11, '质量-流程检查计划', '增加', 'pfc_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (12, '质量-流程检查计划', '删除', 'pfc_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (13, '质量-流程检查计划', '修改', 'pfc_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (14, '质量-流程检查计划', '转计划', 'fc_tocheck');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (15, '质量-评审信息详情', '增加', 'revinfo_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (16, '质量-评审信息详情', '删除', 'revinfo_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (17, '质量-评审信息详情', '修改', 'revinfo_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (18, '质量-评审信息', '删除', 'rev_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (19, '质量-评审信息', '修改', 'rev_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (20, '质量-生产故障信息', '上传', 'acc_upload');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (41, '用户管理', '增加', 'ui_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (42, '用户管理', '删除', 'ui_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (43, '用户管理', '修改', 'ui_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (44, '用户管理', '查看', 'ui_4');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (45, '用户管理-权限角色', '查看修改', 'role_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (28, '自动化-任务列表', '删除', 'tastex_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (29, '自动化-用例列表', '执行', 'case_ex');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (46, '用户管理-权限角色', '增加', 'role_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (47, '用户管理-权限角色', '删除', 'role_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, '项目管理', '增加', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, '项目管理', '删除', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (50, '项目管理', '修改', 'pro_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (51, '用例管理', '增加', 'case_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (52, '用例管理', '删除', 'case_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (53, '用例管理', '修改', 'case_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (54, '步骤管理', '增删改查', 'case_step');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (55, '测试计划管理', '增加', 'proplan_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (56, '测试计划管理', '删除', 'proplan_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (57, '测试计划管理', '修改', 'proplan_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (58, '部门管理', '增加', 'dpmt_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (59, '部门管理', '删除', 'dpmt_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (60, '部门管理', '修改', 'dpmt_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (61, '协议模板', '增加', 'ptct_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (62, '协议模板', '删除', 'ptct_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (63, '协议模板', '修改', 'ptct_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (64, '客户端管理', '增加', 'client_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (65, '客户端管理', '删除', 'client_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (66, '客户端管理', '修改', 'client_3');
+
+/*插入步骤界面定义各个字段的默认值*/
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (10, 1, 0, 'operation','click','点击对象');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (11, 1, 0, 'operation','sendkeys','输入');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (12, 1, 0, 'operation','clear','清除输入框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (17, 1, 0, 'operation','gettext','获取对象文本属性');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (24, 1, 0, 'operation','open','打开URL');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (25, 1, 0, 'operation','exjs','执行js脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (27, 1, 0, 'operation','gettitle','获取窗口标题');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (30, 1, 0, 'operation','wait','等待时间(S)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (46, 1, 0, 'operation','runcase','调用指定接口用例');
+
+/*插入角色默认定义*/
+insert into USER_ROLE (id, role, permission)
+values (2, '测试工程师', 'acc_1,acc_2,acc_3,');
+insert into USER_ROLE (id, role, permission)
+values (3, '自动化工程师', 'acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,');
+insert into USER_ROLE (id, role, permission)
+values (4, '质量工程师', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,');
+insert into USER_ROLE (id, role, permission)
+values (1, '管理员', 'pv_1,pv_2,pv_3,pvp_1,fc_1,fc_2,fc_3,acc_1,acc_2,acc_3,tast_run,tast_remove,tast_ex,tast_1,tast_3,tast_2,tast_upload,tastex_2,case_ex,pfc_1,pfc_2,pfc_3,fc_tocheck,revinfo_1,revinfo_2,revinfo_3,rev_2,rev_3,acc_upload,ui_1,ui_2,ui_3,ui_4,role_3,role_1,role_2,pro_1,pro_2,pro_3,case_1,case_2,case_3,case_step,proplan_1,proplan_2,proplan_3,dpmt_1,dpmt_2,dpmt_3,ptct_1,ptct_2,ptct_3,client_1,client_2,client_3,');
+
+/*插入默认部门分级*/
+insert into QA_SECONDARYSECTOR (sectorid, departmenthead, departmentname)
+values (99, '系统管理员', '总部');
+/*插入默认项目*/
+insert into QA_SECTORPROJECTS (projectid, projectname, projectmanager, sectorid, projecttype)
+values (99, '全部项目/未知项目', '系统管理员', 99, 0);
+/*插入默认管理员*/
+insert into USERINFO (id, usercode, password, username, role, sectorid)
+values (1, 'admin', 'uJ45aIeS9N80kaSFDjvk%2FA%3D%3D', '系统管理员', '1', 99);
+/*插入流程检查定义数据*/
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (36, 5, '总结阶段', 2, '计划变更', 1, '如与计划不合,是否提交计划变更邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (37, 5, '总结阶段', 3, '代码质量', 1, 'sonar代码检查是否刷新构建', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (38, 5, '总结阶段', 3, '代码质量', 2, 'sonar代码问题数是否符合要求', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (35, 2, '开发阶段', 3, '开发与编码', 6, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (34, 4, '验收与上线', 2, '上线部署', 3, 'SVN代码是否提交并标注', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (1, 1, '需求阶段', 1, '需求编制', 1, '《产品需求说明书》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (2, 1, '需求阶段', 1, '需求编制', 2, '《产品需求说明书》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (3, 1, '需求阶段', 1, '需求编制', 3, '《产品需求说明书》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (4, 1, '需求阶段', 1, '需求编制', 4, '《产品需求说明书》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (5, 2, '开发阶段', 1, '需求分解', 1, '是否有需求分解/任务讨论会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (6, 2, '开发阶段', 1, '需求分解', 2, '《项目计划》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (7, 2, '开发阶段', 1, '需求分解', 3, '《项目计划》邮件内容是否完整', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (10, 2, '开发阶段', 2, '软件设计', 1, '《产品开发概要设计》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (11, 2, '开发阶段', 2, '软件设计', 2, '《产品开发概要设计》评审是否通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (12, 2, '开发阶段', 2, '软件设计', 3, '《产品开发概要设计》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (13, 2, '开发阶段', 2, '软件设计', 4, '《产品开发概要设计》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (14, 2, '开发阶段', 3, '开发与编码', 1, '是否进行每日晨会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (15, 2, '开发阶段', 3, '开发与编码', 2, '是否进行代码走读', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (16, 2, '开发阶段', 3, '开发与编码', 3, '是否每一条禅道开发任务都提交转测申请', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (17, 2, '开发阶段', 3, '开发与编码', 4, '转测邮件是否合格', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (18, 2, '开发阶段', 3, '开发与编码', 5, '转测邮件打回次数为0', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (19, 3, '测试阶段', 1, '软件测试', 1, '是否回复测试计划', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (20, 3, '测试阶段', 1, '软件测试', 2, '是否回复测试用例', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (21, 3, '测试阶段', 1, '软件测试', 3, '测试用例是否通过评审/确认', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (22, 3, '测试阶段', 1, '软件测试', 4, '《软件测试报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (23, 3, '测试阶段', 1, '软件测试', 5, '《软件测试报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (24, 3, '测试阶段', 1, '软件测试', 6, '《软件测试报告》/测试结果是否发出邮件', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (25, 3, '测试阶段', 1, '软件测试', 7, '《软件测试报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (26, 4, '验收与上线', 1, '产品验收', 1, '《产品验收报告》是否组织评审会', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (27, 4, '验收与上线', 1, '产品验收', 2, '《产品验收报告》是否评审通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (28, 4, '验收与上线', 1, '产品验收', 3, '《产品验收报告》是否归档到SVN', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (29, 4, '验收与上线', 1, '产品验收', 4, '《产品验收报告》评审记录表是否签字通过', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (30, 4, '验收与上线', 2, '上线部署', 1, '产品/开发是否提交上线流程(OA)', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (31, 4, '验收与上线', 2, '上线部署', 2, '开发是否提交上线相关资料', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (32, 5, '总结阶段', 1, '项目总结', 1, '《项目总结》邮件是否及时发出', null);
+insert into QA_FLOWINFO (id, phaseid, phasename, phasenodeid, phasenodename, checkentryid, checkentry, remark)
+values (33, 5, '总结阶段', 1, '项目总结', 2, '《项目总结》邮件内容是否完整', null);
\ No newline at end of file
diff --git a/mysqldb/update(alter table)/V1.0 upgrade V1.1/V1.1.sql b/mysqldb/update(alter table)/V1.0 upgrade V1.1/V1.1.sql
index 339682c..2aa4fb1 100644
--- a/mysqldb/update(alter table)/V1.0 upgrade V1.1/V1.1.sql
+++ b/mysqldb/update(alter table)/V1.0 upgrade V1.1/V1.1.sql
@@ -1,9 +1,9 @@
-/*չ־ϸֶε5000*/
-alter table test_logdetail modify column detail varchar(5000);
-/*ĿȨ*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (48, 'Ŀ', '', 'pro_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (49, 'Ŀ', 'ɾ', 'pro_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
+/*չ־ϸֶε5000*/
+alter table test_logdetail modify column detail varchar(5000);
+/*ĿȨ*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (48, 'Ŀ', '', 'pro_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (49, 'Ŀ', 'ɾ', 'pro_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
values (50, 'Ŀ', '', 'pro_3');
\ No newline at end of file
diff --git a/mysqldb/update(alter table)/V1.1 upgrade V2.0/V2.0.sql b/mysqldb/update(alter table)/V1.1 upgrade V2.0/V2.0.sql
index b983e7c..e731eaf 100644
--- a/mysqldb/update(alter table)/V1.1 upgrade V2.0/V2.0.sql
+++ b/mysqldb/update(alter table)/V1.1 upgrade V2.0/V2.0.sql
@@ -1,88 +1,88 @@
-create table PROJECT_CASE
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- name VARCHAR(200) not null COMMENT '用例名称',
- projectid int(8) not null COMMENT '关联项目ID',
- moduleid int(8) not null COMMENT '关联项目模块ID',
- projectindex int(8) not null COMMENT '项目用例编号',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- casetype int(2) not null COMMENT '0 接口 1 UI',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPS
-(
- id int(8) not null AUTO_INCREMENT,
- path VARCHAR(100) COMMENT '包路径|定位路径',
- operation VARCHAR(100) COMMENT '方法名|操作',
- parameters VARCHAR(500) COMMENT '参数',
- action VARCHAR(50) COMMENT '步骤动作',
- caseid int(8) not null COMMENT '用例ID',
- stepnum int(2) not null COMMENT '步骤编号',
- expectedresult VARCHAR(2000) COMMENT '预期结果',
- projectid int(8) not null COMMENT '项目ID',
- steptype int(2) not null COMMENT '0 接口 1 UI',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLAN
-(
- id int(9) not null AUTO_INCREMENT,
- name VARCHAR(50) not null COMMENT '测试计划名称',
- casecount int(8) COMMENT '计划中用例总数',
- remark VARCHAR(200) COMMENT '备注',
- projectid int(8) not null COMMENT '项目ID',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_PLANCASE
-(
- id int(9) not null AUTO_INCREMENT,
- caseid int(8) not null COMMENT '用例ID',
- planid int(8) not null COMMENT '项目计划ID',
- priority int(8) not null COMMENT '用例优先级',
- primary key (ID),
- index (caseid),
- index (planid)
-)default character set utf8;
-
-create table PROJECT_MODULE
-(
- id int(9) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- modulename VARCHAR(50) COMMENT '模块名字',
- pid int(4) COMMENT '层级关系',
- primary key (ID)
-)default character set utf8;
-
-/*用户增加默认选择字段*/
-alter table userinfo add projectid int(4) default '0';
-/*项目管理表增加项目标识字段*/
-alter table QA_SECTORPROJECTS add projectsign VARCHAR(20) default 'sign' not null;
-/*调度任务配置增加三个支持内部项目字段*/
-alter table TEST_JOBS add projecttype int(8) default '0' COMMENT '项目类型 0 testlink 1 系统内项目';
-alter table TEST_JOBS add projectid int(8) COMMENT '系统内项目ID';
-alter table TEST_JOBS add planid int(8) COMMENT '系统内项目关联测试计划ID';
-/*增加权限标识*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (51, '用例管理', '增加', 'case_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (52, '用例管理', '删除', 'case_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (53, '用例管理', '修改', 'case_3');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (54, '步骤管理', '增删改查', 'case_step');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (55, '测试计划管理', '增加', 'proplan_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (56, '测试计划管理', '删除', 'proplan_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
+create table PROJECT_CASE
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ name VARCHAR(200) not null COMMENT '用例名称',
+ projectid int(8) not null COMMENT '关联项目ID',
+ moduleid int(8) not null COMMENT '关联项目模块ID',
+ projectindex int(8) not null COMMENT '项目用例编号',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ casetype int(2) not null COMMENT '0 接口 1 UI',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPS
+(
+ id int(8) not null AUTO_INCREMENT,
+ path VARCHAR(100) COMMENT '包路径|定位路径',
+ operation VARCHAR(100) COMMENT '方法名|操作',
+ parameters VARCHAR(500) COMMENT '参数',
+ action VARCHAR(50) COMMENT '步骤动作',
+ caseid int(8) not null COMMENT '用例ID',
+ stepnum int(2) not null COMMENT '步骤编号',
+ expectedresult VARCHAR(2000) COMMENT '预期结果',
+ projectid int(8) not null COMMENT '项目ID',
+ steptype int(2) not null COMMENT '0 接口 1 UI',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLAN
+(
+ id int(9) not null AUTO_INCREMENT,
+ name VARCHAR(50) not null COMMENT '测试计划名称',
+ casecount int(8) COMMENT '计划中用例总数',
+ remark VARCHAR(200) COMMENT '备注',
+ projectid int(8) not null COMMENT '项目ID',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_PLANCASE
+(
+ id int(9) not null AUTO_INCREMENT,
+ caseid int(8) not null COMMENT '用例ID',
+ planid int(8) not null COMMENT '项目计划ID',
+ priority int(8) not null COMMENT '用例优先级',
+ primary key (ID),
+ index (caseid),
+ index (planid)
+)default character set utf8;
+
+create table PROJECT_MODULE
+(
+ id int(9) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ modulename VARCHAR(50) COMMENT '模块名字',
+ pid int(4) COMMENT '层级关系',
+ primary key (ID)
+)default character set utf8;
+
+/*用户增加默认选择字段*/
+alter table userinfo add projectid int(4) default '0';
+/*项目管理表增加项目标识字段*/
+alter table QA_SECTORPROJECTS add projectsign VARCHAR(20) default 'sign' not null;
+/*调度任务配置增加三个支持内部项目字段*/
+alter table TEST_JOBS add projecttype int(8) default '0' COMMENT '项目类型 0 testlink 1 系统内项目';
+alter table TEST_JOBS add projectid int(8) COMMENT '系统内项目ID';
+alter table TEST_JOBS add planid int(8) COMMENT '系统内项目关联测试计划ID';
+/*增加权限标识*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (51, '用例管理', '增加', 'case_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (52, '用例管理', '删除', 'case_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (53, '用例管理', '修改', 'case_3');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (54, '步骤管理', '增删改查', 'case_step');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (55, '测试计划管理', '增加', 'proplan_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (56, '测试计划管理', '删除', 'proplan_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
values (57, '测试计划管理', '修改', 'proplan_3');
\ No newline at end of file
diff --git a/mysqldb/update(alter table)/V2.0 upgrade V2.1/V2.1.sql b/mysqldb/update(alter table)/V2.0 upgrade V2.1/V2.1.sql
index fafb356..658e4b8 100644
--- a/mysqldb/update(alter table)/V2.0 upgrade V2.1/V2.1.sql
+++ b/mysqldb/update(alter table)/V2.0 upgrade V2.1/V2.1.sql
@@ -1,7 +1,7 @@
-/*插入部门管理权限*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (58, '部门管理', '增加', 'dpmt_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (59, '部门管理', '删除', 'dpmt_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
+/*插入部门管理权限*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (58, '部门管理', '增加', 'dpmt_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (59, '部门管理', '删除', 'dpmt_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
values (60, '部门管理', '修改', 'dpmt_3');
\ No newline at end of file
diff --git a/mysqldb/update(alter table)/V2.1 upgrade V2.2/V2.2.sql b/mysqldb/update(alter table)/V2.1 upgrade V2.2/V2.2.sql
index 0c5ca21..b163c70 100644
--- a/mysqldb/update(alter table)/V2.1 upgrade V2.2/V2.2.sql
+++ b/mysqldb/update(alter table)/V2.1 upgrade V2.2/V2.2.sql
@@ -1,146 +1,146 @@
-/*增加支持协议模板表*/
-create table PROJECT_PROTOCOLTEMPLATE
-(
- id int(8) not null AUTO_INCREMENT,
- projectid int(8) not null COMMENT '项目ID',
- name VARCHAR(50) not null COMMENT '模板名称',
- protocoltype VARCHAR(20) not null COMMENT '协议类型',
- contentencoding VARCHAR(20) not null COMMENT '编码格式',
- connecttimeout int(8) not null COMMENT '超时时间',
- time VARCHAR(30) COMMENT '最后更新时间',
- operationer VARCHAR(20) COMMENT '最后更新人员',
- remark VARCHAR(200) COMMENT '备注',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_TEMPLATEPARAMS
-(
- id int(9) not null AUTO_INCREMENT,
- templateid int(8) not null COMMENT '模块ID',
- paramname VARCHAR(50) not null COMMENT '参数名',
- param VARCHAR(2000) COMMENT '参数默认值',
- primary key (ID)
-)default character set utf8;
-
-create table PROJECT_CASESTEPSPARAMS
-(
- id int(8) not null AUTO_INCREMENT,
- steptype int(2) not null COMMENT '步骤类型',
- parentid int(8) not null COMMENT '父节点ID',
- fieldname VARCHAR(50) COMMENT '所属字段名',
- paramvalue VARCHAR(200) COMMENT '参数值',
- description VARCHAR(50) COMMENT '描述',
- primary key (ID)
-)default character set utf8;
-
-create table TEMP_CASESTEPDEBUG
-(
- id int(8) not null AUTO_INCREMENT,
- sign VARCHAR(20) not null COMMENT '用例标识',
- executor VARCHAR(20) not null COMMENT '执行人',
- loglevel VARCHAR(10) not null COMMENT '日志级别',
- detail VARCHAR(5000) not null COMMENT '日志',
- primary key (ID)
-)default character set utf8;
-
-/*插入部门管理权限*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (61, '协议模板', '增加', 'ptct_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (62, '协议模板', '删除', 'ptct_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (63, '协议模板', '修改', 'ptct_3');
-
-/*插入步骤界面定义各个字段的默认值*/
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (10, 1, 0, 'operation','click','点击对象');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (11, 1, 0, 'operation','sendkeys','输入');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (12, 1, 0, 'operation','clear','清除输入框');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (17, 1, 0, 'operation','gettext','获取对象文本属性');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (24, 1, 0, 'operation','open','打开URL');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (25, 1, 0, 'operation','exjs','执行js脚本');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (27, 1, 0, 'operation','gettitle','获取窗口标题');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (30, 1, 0, 'operation','wait','等待时间(S)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
-values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
-insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+/*增加支持协议模板表*/
+create table PROJECT_PROTOCOLTEMPLATE
+(
+ id int(8) not null AUTO_INCREMENT,
+ projectid int(8) not null COMMENT '项目ID',
+ name VARCHAR(50) not null COMMENT '模板名称',
+ protocoltype VARCHAR(20) not null COMMENT '协议类型',
+ contentencoding VARCHAR(20) not null COMMENT '编码格式',
+ connecttimeout int(8) not null COMMENT '超时时间',
+ time VARCHAR(30) COMMENT '最后更新时间',
+ operationer VARCHAR(20) COMMENT '最后更新人员',
+ remark VARCHAR(200) COMMENT '备注',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_TEMPLATEPARAMS
+(
+ id int(9) not null AUTO_INCREMENT,
+ templateid int(8) not null COMMENT '模块ID',
+ paramname VARCHAR(50) not null COMMENT '参数名',
+ param VARCHAR(2000) COMMENT '参数默认值',
+ primary key (ID)
+)default character set utf8;
+
+create table PROJECT_CASESTEPSPARAMS
+(
+ id int(8) not null AUTO_INCREMENT,
+ steptype int(2) not null COMMENT '步骤类型',
+ parentid int(8) not null COMMENT '父节点ID',
+ fieldname VARCHAR(50) COMMENT '所属字段名',
+ paramvalue VARCHAR(200) COMMENT '参数值',
+ description VARCHAR(50) COMMENT '描述',
+ primary key (ID)
+)default character set utf8;
+
+create table TEMP_CASESTEPDEBUG
+(
+ id int(8) not null AUTO_INCREMENT,
+ sign VARCHAR(20) not null COMMENT '用例标识',
+ executor VARCHAR(20) not null COMMENT '执行人',
+ loglevel VARCHAR(10) not null COMMENT '日志级别',
+ detail VARCHAR(5000) not null COMMENT '日志',
+ primary key (ID)
+)default character set utf8;
+
+/*插入部门管理权限*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (61, '协议模板', '增加', 'ptct_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (62, '协议模板', '删除', 'ptct_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (63, '协议模板', '修改', 'ptct_3');
+
+/*插入步骤界面定义各个字段的默认值*/
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (1, 2, 0, 'operation','HttpURLPost','使用HttpURLConnection发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (2, 2, 0, 'operation','URLPost','使用URLConnection发送post');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (3, 2, 0, 'operation','GetAndSaveFile','发送get请求保存下载文件到客户端');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (4, 2, 0, 'operation','HttpURLGet','使用HttpURLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (5, 2, 0, 'operation','URLGet','使用URLConnection发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (6, 2, 0, 'operation','HttpClientPost','使用HttpClient发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (7, 2, 0, 'operation','HttpClientGet','使用HttpClient发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (8, 3, 0, 'operation','SocketPost','使用socket发送post请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (9, 3, 0, 'operation','SocketGet','使用socket发送get请求');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (10, 1, 0, 'operation','click','点击对象');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (11, 1, 0, 'operation','sendkeys','输入');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (12, 1, 0, 'operation','clear','清除输入框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (13, 1, 0, 'operation','gotoframe','跳转框架(iframe)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (14, 1, 0, 'operation','isenabled','判断对象是否可用');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (15, 1, 0, 'operation','isdisplayed','判断对象是否可见');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (16, 1, 0, 'operation','exjsob','针对对象执行JS脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (17, 1, 0, 'operation','gettext','获取对象文本属性');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (18, 1, 0, 'operation','gettagname','获取对象标签类型');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (19, 1, 0, 'operation','getcaptcha','获取对象中的验证码(识别率较低)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (20, 1, 0, 'operation','selectbyvisibletext','通过下拉框的文本进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (21, 1, 0, 'operation','selectbyvalue','通过下拉框的VALUE属性进行选择');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (22, 1, 0, 'operation','selectbyindex','通过下拉框的index属性进行选择(从0开始)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (23, 1, 0, 'operation','isselect','判断是否已经被选择,同用于单选\复选框');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (24, 1, 0, 'operation','open','打开URL');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (25, 1, 0, 'operation','exjs','执行js脚本');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (26, 1, 0, 'operation','gotodefaultcontent','跳转回到默认iframe');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (27, 1, 0, 'operation','gettitle','获取窗口标题');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (28, 1, 0, 'operation','getwindowhandle','获取窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (29, 1, 0, 'operation','gotowindow','跳转窗口句柄');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (30, 1, 0, 'operation','wait','等待时间(S)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (31, 1, 0, 'operation','alertaccept','弹出框点击OK');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (32, 1, 0, 'operation','alertdismiss','弹出框点击取消');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (33, 1, 0, 'operation','alertgettext','获取弹出框TEXT');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (34, 1, 0, 'operation','mouselkclick','模拟鼠标左键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (35, 1, 0, 'operation','mouserkclick','模拟鼠标右键单击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (36, 1, 0, 'operation','mousedclick','模拟鼠标双击(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (37, 1, 0, 'operation','mouseclickhold','模拟鼠标左键单击后不释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (38, 1, 0, 'operation','mousedrag','模拟鼠标拖拽(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (39, 1, 0, 'operation','mouseto','模拟鼠标移动到指定坐标(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (40, 1, 0, 'operation','mouserelease','模拟鼠标释放(可带页面对象)');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (41, 1, 0, 'operation','mousekey(tab)','模拟键盘Tab键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (42, 1, 0, 'operation','mousekey(space)','模拟键盘Space键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (43, 1, 0, 'operation','mousekey(ctrl)','模拟键盘Ctrl键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (44, 1, 0, 'operation','mousekey(shift)','模拟键盘Shift键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
+values (45, 1, 0, 'operation','mousekey(enter)','模拟键盘Enter键');
+insert into PROJECT_CASESTEPSPARAMS (id, steptype, parentid, fieldname,paramvalue,description)
values (46, 1, 0, 'operation','runcase','调用指定接口用例');
\ No newline at end of file
diff --git a/mysqldb/update(alter table)/V2.2 upgrade V2.3/V2.3.sql b/mysqldb/update(alter table)/V2.2 upgrade V2.3/V2.3.sql
index 700ae16..0b4016a 100644
--- a/mysqldb/update(alter table)/V2.2 upgrade V2.3/V2.3.sql
+++ b/mysqldb/update(alter table)/V2.2 upgrade V2.3/V2.3.sql
@@ -1,21 +1,21 @@
-/*创建客户端IP管理表*/
-create table TEST_CLIENT
-(
- id int(8) not null AUTO_INCREMENT,
- clientip VARCHAR(30) not null COMMENT '客户端IP',
- name VARCHAR(30) not null COMMENT '客户端名称',
- projectper VARCHAR(200) COMMENT '使用项目',
- status int(2) COMMENT '客户端超时 0 正常 1 链接失败 2 状态未知',
- checkinterval int(6) not null COMMENT '检查客户端状态心跳间隔时间 单位:秒',
- remark VARCHAR(100) COMMENT '备注',
- primary key (id)
-)default character set utf8;
-/*角色权限表增加操作项目权限字段*/
-alter table USER_ROLE add opprojectid VARCHAR(200);
-/*增加客户端操作相关权限*/
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (64, '客户端管理', '增加', 'client_1');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
-values (65, '客户端管理', '删除', 'client_2');
-insert into USER_AUTHORITY (id, module, auth_type, alias)
+/*创建客户端IP管理表*/
+create table TEST_CLIENT
+(
+ id int(8) not null AUTO_INCREMENT,
+ clientip VARCHAR(30) not null COMMENT '客户端IP',
+ name VARCHAR(30) not null COMMENT '客户端名称',
+ projectper VARCHAR(200) COMMENT '使用项目',
+ status int(2) COMMENT '客户端超时 0 正常 1 链接失败 2 状态未知',
+ checkinterval int(6) not null COMMENT '检查客户端状态心跳间隔时间 单位:秒',
+ remark VARCHAR(100) COMMENT '备注',
+ primary key (id)
+)default character set utf8;
+/*角色权限表增加操作项目权限字段*/
+alter table USER_ROLE add opprojectid VARCHAR(200);
+/*增加客户端操作相关权限*/
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (64, '客户端管理', '增加', 'client_1');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
+values (65, '客户端管理', '删除', 'client_2');
+insert into USER_AUTHORITY (id, module, auth_type, alias)
values (66, '客户端管理', '修改', 'client_3');
\ No newline at end of file
diff --git a/mysqldb/update(alter table)/V2.3 upgrade V2.4/V2.4.sql b/mysqldb/update(alter table)/V2.3 upgrade V2.4/V2.4.sql
new file mode 100644
index 0000000..0b11530
--- /dev/null
+++ b/mysqldb/update(alter table)/V2.3 upgrade V2.4/V2.4.sql
@@ -0,0 +1,4 @@
+/*调度表增加客户端load驱动桩路径字段*/
+alter table TEST_JOBS add clientpath VARCHAR(100) COMMENT '客户端测试驱动桩路径';
+/*调度表增加客户端load驱动桩路径字段*/
+alter table TEST_CLIENT add clientpath VARCHAR(100) COMMENT '客户端测试驱动桩路径 多个;做分隔';
diff --git a/pom.xml b/pom.xml
index a5a16ef..5457d87 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,364 +1,364 @@
-
- 4.0.0
- com.seagull
- LuckyFrameServer
- war
- 0.0.1-SNAPSHOT
- LuckyFrameServer Maven Webapp
- http://maven.apache.org
-
- LuckyFrameServer
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.3
-
- 1.7
- 1.7
-
-
-
- org.apache.maven.plugins
- maven-surefire-plugin
-
- true
-
-
-
-
-
- src/main/resources
-
- **/*.properties
- **/*.xml
-
- true
-
-
-
-
- UTF-8
-
-
-
- junit
- junit
- 3.8.1
- test
-
-
- antlr
- antlr
- 2.7.7
-
-
- aopalliance
- aopalliance
- 1.0
-
-
- org.aspectj
- aspectjweaver
- 1.8.10
-
-
- org.hibernate
- hibernate-validator
- 5.4.0.Final
-
-
- c3p0
- c3p0
- 0.9.1.2
-
-
-
- commons-beanutils
- commons-beanutils
- 1.9.3
-
-
- commons-codec
- commons-codec
- 1.10
-
-
- commons-collections
- commons-collections
- 3.2.2
-
-
- commons-dbcp
- commons-dbcp
- 1.4
-
-
- commons-digester
- commons-digester
- 2.1
-
-
- commons-discovery
- commons-discovery
- 0.5
-
-
- commons-fileupload
- commons-fileupload
- 1.3.2
-
-
- commons-httpclient
- commons-httpclient
- 3.1
-
-
- commons-io
- commons-io
- 2.5
-
-
- commons-lang
- commons-lang
- 2.6
-
-
- commons-logging
- commons-logging
- 1.2
-
-
- commons-pool
- commons-pool
- 1.6
-
-
- dom4j
- dom4j
- 1.6.1
-
-
- commons-validator
- commons-validator
- 1.5.1
-
-
- org.hibernate
- ejb3-persistence
- 3.3.2.Beta1
-
-
- net.sf.ezmorph
- ezmorph
- 1.0.6
-
-
- org.springframework
- spring-hibernate3
- 2.0.8
-
-
- org.hibernate
- hibernate-annotations
- 3.5.6-Final
-
-
- org.hibernate.javax.persistence
- hibernate-jpa-2.0-api
- 1.0.1.Final
-
-
- org.hibernate
- hibernate-validator-annotation-processor
- 5.3.4.Final
-
-
- org.javassist
- javassist
- 3.21.0-GA
-
-
- javax.servlet.jsp
- javax.servlet.jsp-api
- 2.3.1
-
-
- javax.servlet
- javax.servlet-api
- 3.1.0
-
-
- net.sf.json-lib
- json-lib
- 2.4
- jdk15
-
-
- jstl
- jstl
- 1.2
-
-
- javax.transaction
- jta
- 1.1
-
-
- log4j
- log4j
- 1.2.17
-
-
- mysql
- mysql-connector-java
- 6.0.5
-
-
- org.quartz-scheduler
- quartz
- 1.8.6
-
-
- opensymphony
- quartz-all
- 1.6.2
-
-
- org.quartz-scheduler
- quartz-commonj
- 1.8.6
-
-
- org.quartz-scheduler
- quartz-oracle
- 1.8.6
-
-
- org.w3c.css
- sac
- 1.3
-
-
- org.slf4j
- slf4j-api
- 1.7.22
-
-
- org.slf4j
- slf4j-log4j12
- 1.7.22
-
-
- org.springframework
- spring-aop
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-aspects
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-beans
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-context
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-context-support
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-core
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-expression
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-instrument
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-instrument-tomcat
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-jdbc
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-jms
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-orm
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-oxm
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-struts
- 3.2.18.RELEASE
-
-
- org.springframework
- spring-test
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-tx
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-web
- 4.3.6.RELEASE
-
-
- org.springframework
- spring-webmvc
- 4.3.6.RELEASE
-
-
- taglibs
- standard
- 1.1.2
-
-
- javax.validation
- validation-api
- 1.1.0.Final
-
-
-
-
+
+ 4.0.0
+ com.seagull
+ LuckyFrameServer
+ war
+ 0.0.1-SNAPSHOT
+ LuckyFrameServer Maven Webapp
+ http://maven.apache.org
+
+ LuckyFrameServer
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.3
+
+ 1.7
+ 1.7
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+ true
+
+
+
+
+
+ src/main/resources
+
+ **/*.properties
+ **/*.xml
+
+ true
+
+
+
+
+ UTF-8
+
+
+
+ junit
+ junit
+ 3.8.1
+ test
+
+
+ antlr
+ antlr
+ 2.7.7
+
+
+ aopalliance
+ aopalliance
+ 1.0
+
+
+ org.aspectj
+ aspectjweaver
+ 1.8.10
+
+
+ org.hibernate
+ hibernate-validator
+ 5.4.0.Final
+
+
+ c3p0
+ c3p0
+ 0.9.1.2
+
+
+
+ commons-beanutils
+ commons-beanutils
+ 1.9.3
+
+
+ commons-codec
+ commons-codec
+ 1.10
+
+
+ commons-collections
+ commons-collections
+ 3.2.2
+
+
+ commons-dbcp
+ commons-dbcp
+ 1.4
+
+
+ commons-digester
+ commons-digester
+ 2.1
+
+
+ commons-discovery
+ commons-discovery
+ 0.5
+
+
+ commons-fileupload
+ commons-fileupload
+ 1.3.2
+
+
+ commons-httpclient
+ commons-httpclient
+ 3.1
+
+
+ commons-io
+ commons-io
+ 2.5
+
+
+ commons-lang
+ commons-lang
+ 2.6
+
+
+ commons-logging
+ commons-logging
+ 1.2
+
+
+ commons-pool
+ commons-pool
+ 1.6
+
+
+ dom4j
+ dom4j
+ 1.6.1
+
+
+ commons-validator
+ commons-validator
+ 1.5.1
+
+
+ org.hibernate
+ ejb3-persistence
+ 3.3.2.Beta1
+
+
+ net.sf.ezmorph
+ ezmorph
+ 1.0.6
+
+
+ org.springframework
+ spring-hibernate3
+ 2.0.8
+
+
+ org.hibernate
+ hibernate-annotations
+ 3.5.6-Final
+
+
+ org.hibernate.javax.persistence
+ hibernate-jpa-2.0-api
+ 1.0.1.Final
+
+
+ org.hibernate
+ hibernate-validator-annotation-processor
+ 5.3.4.Final
+
+
+ org.javassist
+ javassist
+ 3.21.0-GA
+
+
+ javax.servlet.jsp
+ javax.servlet.jsp-api
+ 2.3.1
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1.0
+
+
+ net.sf.json-lib
+ json-lib
+ 2.4
+ jdk15
+
+
+ jstl
+ jstl
+ 1.2
+
+
+ javax.transaction
+ jta
+ 1.1
+
+
+ log4j
+ log4j
+ 1.2.17
+
+
+ mysql
+ mysql-connector-java
+ 6.0.5
+
+
+ org.quartz-scheduler
+ quartz
+ 1.8.6
+
+
+ opensymphony
+ quartz-all
+ 1.6.2
+
+
+ org.quartz-scheduler
+ quartz-commonj
+ 1.8.6
+
+
+ org.quartz-scheduler
+ quartz-oracle
+ 1.8.6
+
+
+ org.w3c.css
+ sac
+ 1.3
+
+
+ org.slf4j
+ slf4j-api
+ 1.7.22
+
+
+ org.slf4j
+ slf4j-log4j12
+ 1.7.22
+
+
+ org.springframework
+ spring-aop
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-aspects
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-beans
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-context
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-context-support
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-core
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-expression
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-instrument
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-instrument-tomcat
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-jdbc
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-jms
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-orm
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-oxm
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-struts
+ 3.2.18.RELEASE
+
+
+ org.springframework
+ spring-test
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-tx
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-web
+ 4.3.6.RELEASE
+
+
+ org.springframework
+ spring-webmvc
+ 4.3.6.RELEASE
+
+
+ taglibs
+ standard
+ 1.1.2
+
+
+ javax.validation
+ validation-api
+ 1.1.0.Final
+
+
+
+
diff --git a/src/main/java/luckyweb/seagull/comm/QueueListener.java b/src/main/java/luckyweb/seagull/comm/QueueListener.java
index b65fd3e..720b213 100644
--- a/src/main/java/luckyweb/seagull/comm/QueueListener.java
+++ b/src/main/java/luckyweb/seagull/comm/QueueListener.java
@@ -1,82 +1,82 @@
-package luckyweb.seagull.comm;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
-
-import org.apache.log4j.Logger;
-import org.hibernate.Session;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-import org.quartz.SchedulerFactory;
-import org.springframework.web.context.ContextLoaderListener;
-
-import luckyweb.seagull.spring.dao.TestJobsDaoImpl;
-import luckyweb.seagull.spring.entity.SectorProjects;
-import luckyweb.seagull.spring.entity.TestClient;
-import luckyweb.seagull.spring.entity.TestJobs;
-import luckyweb.seagull.util.HibernateSessionFactoryUtil;
-
-public class QueueListener extends ContextLoaderListener implements
- ServletContextListener {
-
- private static final Logger log = Logger.getLogger(QueueListener.class);
- public static List list = new ArrayList();
- public static List projlist = new ArrayList();
- public static List qa_projlist = new ArrayList();
- public static List listen_Clientlist = new ArrayList();
- public static Session session = HibernateSessionFactoryUtil.getCurrentSession();
-
- public static SchedulerFactory gSchedulerFactory = null;
- public static Scheduler sched = null;
- public static String JOB_GROUP_NAME = "EXTJWEB_JOBGROUP_NAME";
- public static String TRIGGER_GROUP_NAME = "EXTJWEB_TRIGGERGROUP_NAME";
-
- @Override
- public void contextInitialized(ServletContextEvent arg0) {
- // Session session=HibernateSessionFactoryUtil.getCurrentSession();
-
- // 加载定时任务,tomcat启动时则启动
- try {
- TestJobsDaoImpl.init(session);
- log.info("服务器启动时则启动,加载定时任务");
- } catch (Exception e) {
- log.error(" 服务启动异常 :" + e);
- try {
- HibernateSessionFactoryUtil.closeSession();
- } catch (Exception e1) {
- log.error(" 关闭sessionFactory 异常 :" + e);
- }
- }
-
- }
-
-
- @Override
- public void contextDestroyed(ServletContextEvent arg0) {
- // 服务关闭时,定时任务关闭
-
- try {
- if (QueueListener.sched.isStarted()) {
- QueueListener.sched.shutdown();
- Thread.sleep(1000);
- }
- } catch (SchedulerException | InterruptedException e2) {
- e2.printStackTrace();
- }
-
- try {
- TestJobsDaoImpl.stop(session);
- log.info(" 服务关闭时,定时任务关闭");
- } catch (Exception e) {
- log.error(" 服务关闭异常 :" + e);
-
- }
-
- }
-
-
-
-}
+package luckyweb.seagull.comm;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+import org.apache.log4j.Logger;
+import org.hibernate.Session;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+import org.quartz.SchedulerFactory;
+import org.springframework.web.context.ContextLoaderListener;
+
+import luckyweb.seagull.spring.dao.TestJobsDaoImpl;
+import luckyweb.seagull.spring.entity.SectorProjects;
+import luckyweb.seagull.spring.entity.TestClient;
+import luckyweb.seagull.spring.entity.TestJobs;
+import luckyweb.seagull.util.HibernateSessionFactoryUtil;
+
+public class QueueListener extends ContextLoaderListener implements
+ ServletContextListener {
+
+ private static final Logger log = Logger.getLogger(QueueListener.class);
+ public static List list = new ArrayList();
+ public static List projlist = new ArrayList();
+ public static List qa_projlist = new ArrayList();
+ public static List listen_Clientlist = new ArrayList();
+ public static Session session = HibernateSessionFactoryUtil.getCurrentSession();
+
+ public static SchedulerFactory gSchedulerFactory = null;
+ public static Scheduler sched = null;
+ public static String JOB_GROUP_NAME = "EXTJWEB_JOBGROUP_NAME";
+ public static String TRIGGER_GROUP_NAME = "EXTJWEB_TRIGGERGROUP_NAME";
+
+ @Override
+ public void contextInitialized(ServletContextEvent arg0) {
+ // Session session=HibernateSessionFactoryUtil.getCurrentSession();
+
+ // 加载定时任务,tomcat启动时则启动
+ try {
+ TestJobsDaoImpl.init(session);
+ log.info("服务器启动时则启动,加载定时任务");
+ } catch (Exception e) {
+ log.error(" 服务启动异常 :" + e);
+ try {
+ HibernateSessionFactoryUtil.closeSession();
+ } catch (Exception e1) {
+ log.error(" 关闭sessionFactory 异常 :" + e);
+ }
+ }
+
+ }
+
+
+ @Override
+ public void contextDestroyed(ServletContextEvent arg0) {
+ // 服务关闭时,定时任务关闭
+
+ try {
+ if (QueueListener.sched.isStarted()) {
+ QueueListener.sched.shutdown();
+ Thread.sleep(1000);
+ }
+ } catch (SchedulerException | InterruptedException e2) {
+ e2.printStackTrace();
+ }
+
+ try {
+ TestJobsDaoImpl.stop(session);
+ log.info(" 服务关闭时,定时任务关闭");
+ } catch (Exception e) {
+ log.error(" 服务关闭异常 :" + e);
+
+ }
+
+ }
+
+
+
+}
diff --git a/src/main/java/luckyweb/seagull/quartz/QuartzJob.java b/src/main/java/luckyweb/seagull/quartz/QuartzJob.java
index 4f59e37..d93751d 100644
--- a/src/main/java/luckyweb/seagull/quartz/QuartzJob.java
+++ b/src/main/java/luckyweb/seagull/quartz/QuartzJob.java
@@ -1,242 +1,242 @@
-package luckyweb.seagull.quartz;
-
-import java.io.IOException;
-import java.rmi.Naming;
-import java.rmi.RemoteException;
-import java.text.SimpleDateFormat;
-
-import javax.annotation.Resource;
-
-import org.apache.log4j.Logger;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.quartz.Job;
-import org.quartz.JobExecutionContext;
-import org.quartz.JobExecutionException;
-
-import luckyweb.seagull.comm.QueueListener;
-import luckyweb.seagull.spring.entity.TestClient;
-import luckyweb.seagull.spring.entity.TestJobs;
-import luckyweb.seagull.spring.entity.TestTaskexcute;
-import luckyweb.seagull.spring.service.TestJobsService;
-import luckyweb.seagull.spring.service.TestTastExcuteService;
-import luckyweb.seagull.util.DateUtil;
-import luckyweb.seagull.util.HibernateSessionFactoryUtil;
-import luckyweb.seagull.util.StrLib;
-import rmi.model.RunBatchCaseEntity;
-import rmi.model.RunCaseEntity;
-import rmi.model.RunTaskEntity;
-import rmi.service.RunService;
-
-public class QuartzJob implements Job {
- private static final Logger log = Logger.getLogger(QuartzJob.class);
- @Resource(name = "tastExcuteService")
- private TestTastExcuteService tastExcuteService;
-
- @Resource(name = "testJobsService")
- private TestJobsService testJobsService;
-
- public static Session session = HibernateSessionFactoryUtil.getCurrentSession();
- @Override
- public void execute(JobExecutionContext context)
- throws JobExecutionException {
- try {
- String name = context.getJobDetail().getName();
-
- if(name.indexOf("*JOB")>-1){
- TestJobs job = new TestJobs();
- String id=name.substring(0,name.indexOf("*JOB"));
- System.out.println("执行命令中。。。");
- for (int i = 0; i < QueueListener.list.size(); i++) {
- job = QueueListener.list.get(i);
- if (id.equals("" + job.getId())) {
- break;
- }else{
- job=null;
- }
- }
- if(null!=job){
- toRunTask(job.getPlanproj(), job.getId(),job.getTaskName(),job.getClientip(),job.getClientpath());
- System.out.println("调用程序结束。。。");
- }else{
- System.out.println("没有定时任务需要启动。。。");
- }
- }else if(name.indexOf("*CLIENT")>-1){
- TestClient tc = new TestClient();
- String id=name.substring(0,name.indexOf("*CLIENT"));
- for (int i = 0; i < QueueListener.listen_Clientlist.size(); i++) {
- tc = QueueListener.listen_Clientlist.get(i);
- if (id.equals("" + tc.getId())) {
- if(null!=tc){
- String clientip=tc.getClientip();
- try{
- //调用远程对象,注意RMI路径与接口必须与服务器配置一致
- RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
- String result=service.getClientStatus();
- if("success".equals(result)){
- if(tc.getStatus()!=0){
- tc.setStatus(0);
- QueueListener.listen_Clientlist.set(i, tc);
- Query query = session.createQuery("update TestClient t set t.status =0 where id="+tc.getId());
- query.executeUpdate();
- }
- }else{
- if(tc.getStatus()!=1){
- tc.setStatus(1);
- QueueListener.listen_Clientlist.set(i, tc);
- Query query = session.createQuery("update TestClient t set t.status =1 where id="+tc.getId());
- query.executeUpdate();
- }
- }
- }catch (RemoteException e) {
- if(tc.getStatus()!=1){
- tc.setStatus(1);
- QueueListener.listen_Clientlist.set(i, tc);
- Query query = session.createQuery("update TestClient t set t.status =1 where id="+tc.getId());
- query.executeUpdate();
- }
- break;
- }
- }
- break;
- }
- }
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public String toRunTask(String projname,int jobId,String jobname,String clientip,String loadpath){
- Session s = null;
- Transaction tx = null;
- //System.out.println(tastId);
- String tastName = "";
- String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date().getTime());
- tastName ="【"+jobname+ "】_"+time;
-
- TestTaskexcute task=add(tastName, jobId, s, tx);
- projname = projname.replaceAll(" ","\" \""); //防止计划名称或是项目名称带了空格符号,在run.exec中会执行出错
- String result="启动失败!";
- try{
- //调用远程对象,注意RMI路径与接口必须与服务器配置一致
- RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
-
- RunTaskEntity tasken = new RunTaskEntity();
- tasken.setProjectname(projname);
- tasken.setTaskid(String.valueOf(task.getId()));
- if(StrLib.isEmpty(loadpath)){
- loadpath="/TestDriven";
- }
- result=service.runtask(tasken,loadpath);
- System.out.println(result);
- return result;
- }catch (Exception e) {
- execFail(s, tx,task.getId(),jobId,tastName);
- e.printStackTrace();
- return result;
- }
-
- }
-
-
- public String toRunCase(String projname,int tastId,String caseName,String casVersion,String clientip,String loadpath) {
- String result="启动失败!";
- try{
- //调用远程对象,注意RMI路径与接口必须与服务器配置一致
- RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
- RunCaseEntity onecase = new RunCaseEntity();
- onecase.setProjectname(projname);
- onecase.setTaskid(String.valueOf(tastId));
- onecase.setTestCaseExternalId(caseName);
- onecase.setVersion(casVersion);
- if(StrLib.isEmpty(loadpath)){
- loadpath="/TestDriven";
- }
- result=service.runcase(onecase,loadpath);
- System.out.println(result);
- return result;
- } catch (Exception e) {
- e.printStackTrace();
- return result;
- }
- }
-
-
-
- public String toRunCaseBatch(String projname,int taskid,String caseInfo,String clientip,String loadpath) {
- String result="启动失败!";
- try{
- //调用远程对象,注意RMI路径与接口必须与服务器配置一致
- RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
- RunBatchCaseEntity batchcase = new RunBatchCaseEntity();
- batchcase.setProjectname(projname);
- batchcase.setTaskid(String.valueOf(taskid));
- batchcase.setBatchcase(caseInfo);
- if(StrLib.isEmpty(loadpath)){
- loadpath="/TestDriven";
- }
- result=service.runbatchcase(batchcase,loadpath);
- System.out.println(result);
- return result;
- } catch (Exception e) {
- e.printStackTrace();
- return result;
- }
- }
-
- /**
- * 加入 testJobs表
- * @param tastId
- * @param name
- * @param jobId
- * @param s
- * @param tx
- */
- private TestTaskexcute add(String tastName,int jobId,Session s,Transaction tx){
- TestTaskexcute tast = new TestTaskexcute();
- try {
- tast.getTestJob().setId(jobId);
- tast.setTaskId(tastName);
- tast.setCaseIsExec("0");
- tast.setTaskStatus("0");
- tast.setCreateTime(DateUtil.now());
- s = HibernateSessionFactoryUtil.openSession();
- tx = s.beginTransaction();
- s.save(tast);
- System.out.println("tastId:"+tast.getId());
- tx.commit();
- } catch (Exception e) {
- tx.rollback();
- e.printStackTrace();
- } finally {
- s.close();
-
- }
- return tast;
- }
-
- private void execFail(Session s,Transaction tx,int id,int jobId,String tastId){
- //执行失败时,写入任务表记录为执行失败
- TestTaskexcute tast = new TestTaskexcute();
- s = HibernateSessionFactoryUtil.openSession();
- tx = s.beginTransaction();
- tast=(TestTaskexcute) s.load(TestTaskexcute.class, id);
- tast.setTaskStatus("3");
- tast.setJobid(jobId);
- tast.setTaskId(tastId);
- tast.setCaseIsExec("1");
- tast.setTaskStatus("3");
- s.update(tast);
- tx.commit();
- s.close();
-
- }
-
-
- public static void main(String[] args) throws IOException {
-
- }
-}
+package luckyweb.seagull.quartz;
+
+import java.io.IOException;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
+import java.text.SimpleDateFormat;
+
+import javax.annotation.Resource;
+
+import org.apache.log4j.Logger;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.Transaction;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import luckyweb.seagull.comm.QueueListener;
+import luckyweb.seagull.spring.entity.TestClient;
+import luckyweb.seagull.spring.entity.TestJobs;
+import luckyweb.seagull.spring.entity.TestTaskexcute;
+import luckyweb.seagull.spring.service.TestJobsService;
+import luckyweb.seagull.spring.service.TestTastExcuteService;
+import luckyweb.seagull.util.DateUtil;
+import luckyweb.seagull.util.HibernateSessionFactoryUtil;
+import luckyweb.seagull.util.StrLib;
+import rmi.model.RunBatchCaseEntity;
+import rmi.model.RunCaseEntity;
+import rmi.model.RunTaskEntity;
+import rmi.service.RunService;
+
+public class QuartzJob implements Job {
+ private static final Logger log = Logger.getLogger(QuartzJob.class);
+ @Resource(name = "tastExcuteService")
+ private TestTastExcuteService tastExcuteService;
+
+ @Resource(name = "testJobsService")
+ private TestJobsService testJobsService;
+
+ public static Session session = HibernateSessionFactoryUtil.getCurrentSession();
+ @Override
+ public void execute(JobExecutionContext context)
+ throws JobExecutionException {
+ try {
+ String name = context.getJobDetail().getName();
+
+ if(name.indexOf("*JOB")>-1){
+ TestJobs job = new TestJobs();
+ String id=name.substring(0,name.indexOf("*JOB"));
+ System.out.println("执行命令中。。。");
+ for (int i = 0; i < QueueListener.list.size(); i++) {
+ job = QueueListener.list.get(i);
+ if (id.equals("" + job.getId())) {
+ break;
+ }else{
+ job=null;
+ }
+ }
+ if(null!=job){
+ toRunTask(job.getPlanproj(), job.getId(),job.getTaskName(),job.getClientip(),job.getClientpath());
+ System.out.println("调用程序结束。。。");
+ }else{
+ System.out.println("没有定时任务需要启动。。。");
+ }
+ }else if(name.indexOf("*CLIENT")>-1){
+ TestClient tc = new TestClient();
+ String id=name.substring(0,name.indexOf("*CLIENT"));
+ for (int i = 0; i < QueueListener.listen_Clientlist.size(); i++) {
+ tc = QueueListener.listen_Clientlist.get(i);
+ if (id.equals("" + tc.getId())) {
+ if(null!=tc){
+ String clientip=tc.getClientip();
+ try{
+ //调用远程对象,注意RMI路径与接口必须与服务器配置一致
+ RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
+ String result=service.getClientStatus();
+ if("success".equals(result)){
+ if(tc.getStatus()!=0){
+ tc.setStatus(0);
+ QueueListener.listen_Clientlist.set(i, tc);
+ Query query = session.createQuery("update TestClient t set t.status =0 where id="+tc.getId());
+ query.executeUpdate();
+ }
+ }else{
+ if(tc.getStatus()!=1){
+ tc.setStatus(1);
+ QueueListener.listen_Clientlist.set(i, tc);
+ Query query = session.createQuery("update TestClient t set t.status =1 where id="+tc.getId());
+ query.executeUpdate();
+ }
+ }
+ }catch (RemoteException e) {
+ if(tc.getStatus()!=1){
+ tc.setStatus(1);
+ QueueListener.listen_Clientlist.set(i, tc);
+ Query query = session.createQuery("update TestClient t set t.status =1 where id="+tc.getId());
+ query.executeUpdate();
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ public String toRunTask(String projname,int jobId,String jobname,String clientip,String loadpath){
+ Session s = null;
+ Transaction tx = null;
+ //System.out.println(tastId);
+ String tastName = "";
+ String time = new SimpleDateFormat("yyyyMMddHHmmss").format(new java.util.Date().getTime());
+ tastName ="【"+jobname+ "】_"+time;
+
+ TestTaskexcute task=add(tastName, jobId, s, tx);
+ projname = projname.replaceAll(" ","\" \""); //防止计划名称或是项目名称带了空格符号,在run.exec中会执行出错
+ String result="启动失败!";
+ try{
+ //调用远程对象,注意RMI路径与接口必须与服务器配置一致
+ RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
+
+ RunTaskEntity tasken = new RunTaskEntity();
+ tasken.setProjectname(projname);
+ tasken.setTaskid(String.valueOf(task.getId()));
+ if(StrLib.isEmpty(loadpath)){
+ loadpath="/TestDriven";
+ }
+ result=service.runtask(tasken,loadpath);
+ System.out.println(result);
+ return result;
+ }catch (Exception e) {
+ execFail(s, tx,task.getId(),jobId,tastName);
+ e.printStackTrace();
+ return result;
+ }
+
+ }
+
+
+ public String toRunCase(String projname,int tastId,String caseName,String casVersion,String clientip,String loadpath) {
+ String result="启动失败!";
+ try{
+ //调用远程对象,注意RMI路径与接口必须与服务器配置一致
+ RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
+ RunCaseEntity onecase = new RunCaseEntity();
+ onecase.setProjectname(projname);
+ onecase.setTaskid(String.valueOf(tastId));
+ onecase.setTestCaseExternalId(caseName);
+ onecase.setVersion(casVersion);
+ if(StrLib.isEmpty(loadpath)){
+ loadpath="/TestDriven";
+ }
+ result=service.runcase(onecase,loadpath);
+ System.out.println(result);
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return result;
+ }
+ }
+
+
+
+ public String toRunCaseBatch(String projname,int taskid,String caseInfo,String clientip,String loadpath) {
+ String result="启动失败!";
+ try{
+ //调用远程对象,注意RMI路径与接口必须与服务器配置一致
+ RunService service=(RunService)Naming.lookup("rmi://"+clientip+":6633/RunService");
+ RunBatchCaseEntity batchcase = new RunBatchCaseEntity();
+ batchcase.setProjectname(projname);
+ batchcase.setTaskid(String.valueOf(taskid));
+ batchcase.setBatchcase(caseInfo);
+ if(StrLib.isEmpty(loadpath)){
+ loadpath="/TestDriven";
+ }
+ result=service.runbatchcase(batchcase,loadpath);
+ System.out.println(result);
+ return result;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return result;
+ }
+ }
+
+ /**
+ * 加入 testJobs表
+ * @param tastId
+ * @param name
+ * @param jobId
+ * @param s
+ * @param tx
+ */
+ private TestTaskexcute add(String tastName,int jobId,Session s,Transaction tx){
+ TestTaskexcute tast = new TestTaskexcute();
+ try {
+ tast.getTestJob().setId(jobId);
+ tast.setTaskId(tastName);
+ tast.setCaseIsExec("0");
+ tast.setTaskStatus("0");
+ tast.setCreateTime(DateUtil.now());
+ s = HibernateSessionFactoryUtil.openSession();
+ tx = s.beginTransaction();
+ s.save(tast);
+ System.out.println("tastId:"+tast.getId());
+ tx.commit();
+ } catch (Exception e) {
+ tx.rollback();
+ e.printStackTrace();
+ } finally {
+ s.close();
+
+ }
+ return tast;
+ }
+
+ private void execFail(Session s,Transaction tx,int id,int jobId,String tastId){
+ //执行失败时,写入任务表记录为执行失败
+ TestTaskexcute tast = new TestTaskexcute();
+ s = HibernateSessionFactoryUtil.openSession();
+ tx = s.beginTransaction();
+ tast=(TestTaskexcute) s.load(TestTaskexcute.class, id);
+ tast.setTaskStatus("3");
+ tast.setJobid(jobId);
+ tast.setTaskId(tastId);
+ tast.setCaseIsExec("1");
+ tast.setTaskStatus("3");
+ s.update(tast);
+ tx.commit();
+ s.close();
+
+ }
+
+
+ public static void main(String[] args) throws IOException {
+
+ }
+}
diff --git a/src/main/java/luckyweb/seagull/quartz/QuartzManager.java b/src/main/java/luckyweb/seagull/quartz/QuartzManager.java
index cb7a134..842b618 100644
--- a/src/main/java/luckyweb/seagull/quartz/QuartzManager.java
+++ b/src/main/java/luckyweb/seagull/quartz/QuartzManager.java
@@ -1,226 +1,226 @@
-package luckyweb.seagull.quartz;
-
-import org.apache.log4j.Logger;
-import org.quartz.CronTrigger;
-import org.quartz.JobDetail;
-import org.quartz.Scheduler;
-import org.quartz.SchedulerException;
-
-import luckyweb.seagull.comm.QueueListener;
-
-
-public class QuartzManager {
-
- //private static SchedulerFactory gSchedulerFactory = new StdSchedulerFactory();
- //private static String JOB_GROUP_NAME = "EXTJWEB_JOBGROUP_NAME";
- //private static String TRIGGER_GROUP_NAME = "EXTJWEB_TRIGGERGROUP_NAME";
-
- private static final Logger log = Logger.getLogger(QuartzManager.class);
-
-
- /**
- * @Description: 添加一个定时任务,使用默认的任务组名,触发器名,触发器组名
- *
- * @param jobName
- * 任务名
- * @param cls
- * 任务
- * @param time
- * 时间设置,参考quartz说明文档
- *
- */
- @SuppressWarnings("unchecked")
- public static void addJob(String jobName, Class cls, String time) {
- try {
- JobDetail jobDetail = new JobDetail(jobName, QueueListener.JOB_GROUP_NAME, cls);// 任务名,任务组,任务执行类
- //System.out.println("jobDetail 's Name :"+jobDetail.getName());
- // 触发器
- CronTrigger trigger = new CronTrigger(jobDetail.getName(), QueueListener.TRIGGER_GROUP_NAME);// 触发器名,触发器组
- trigger.setCronExpression(time);// 触发器时间设定
- QueueListener.sched.scheduleJob(jobDetail, trigger);
- // 启动
- if (!QueueListener.sched.isShutdown()) {
- System.out.println("启动。。"+jobName +" ,时间:"+time);
- QueueListener.sched.start();
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @Description: 添加一个定时任务
- *
- * @param jobName
- * 任务名
- * @param jobGroupName
- * 任务组名
- * @param triggerName
- * 触发器名
- * @param triggerGroupName
- * 触发器组名
- * @param jobClass
- * 任务
- * @param time
- * 时间设置,参考quartz说明文档
- * @throws SchedulerException
- *
- * @Title: QuartzManager.java
- *
- */
- @SuppressWarnings("unchecked")
- public static void addJob(String jobName, String jobGroupName,
- String triggerName, String triggerGroupName, Class jobClass,
- String time) throws SchedulerException {
- // QueueListener.sched=QueueListener.gSchedulerFactory.getScheduler();
- try {
- JobDetail jobDetail = new JobDetail(jobName, jobGroupName, jobClass);// 任务名,任务组,任务执行类
- // 触发器
- CronTrigger trigger = new CronTrigger(triggerName, triggerGroupName);// 触发器名,触发器组
- trigger.setCronExpression(time);// 触发器时间设定
- QueueListener.sched.scheduleJob(jobDetail, trigger);
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @Description: 修改一个任务的触发时间(使用默认的任务组名,触发器名,触发器组名)
- *
- * @param jobName
- * @param time
- *
- * @Title: QuartzManager.java
- *
- */
- @SuppressWarnings("unchecked")
- public static String modifyJobTime(String jobName, String time) {
- try {
- Scheduler sched=QueueListener.gSchedulerFactory.getScheduler();
-
- CronTrigger trigger = (CronTrigger) sched.getTrigger(jobName,QueueListener.TRIGGER_GROUP_NAME);
- if (trigger == null) {
- return "任务已经执行过或者不在队列中,请暂定运行后,重启再修改时间.";
- }
- String oldTime = trigger.getCronExpression();
- if (!oldTime.equalsIgnoreCase(time)) {
- JobDetail jobDetail = sched.getJobDetail(jobName, QueueListener.JOB_GROUP_NAME);
- Class objJobClass = jobDetail.getJobClass();
- removeJob(jobName);
- addJob(jobName, objJobClass, time);
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- return "";
- }
-
- /**
- * @Description: 修改一个任务的触发时间
- *
- * @param triggerName
- * @param triggerGroupName
- * @param time
- *
- */
- public static void modifyJobTime(String triggerName,
- String triggerGroupName, String time) {
- try {
- QueueListener.sched = QueueListener.gSchedulerFactory.getScheduler();
- CronTrigger trigger = (CronTrigger) QueueListener.sched.getTrigger(triggerName,
- triggerGroupName);
- if (trigger == null) {
- return;
- }
- String oldTime = trigger.getCronExpression();
- if (!oldTime.equalsIgnoreCase(time)) {
- CronTrigger ct = (CronTrigger) trigger;
- // 修改时间
- ct.setCronExpression(time);
- // 重启触发器
- QueueListener.sched.resumeTrigger(triggerName, triggerGroupName);
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @Description: 移除一个任务(使用默认的任务组名,触发器名,触发器组名)
- *
- * @param jobName
- *
- * @Title: QuartzManager.java
- */
- public static void removeJob(String jobName) {
- try {
- QueueListener.sched = QueueListener.gSchedulerFactory.getScheduler();
- QueueListener.sched.pauseTrigger(jobName, QueueListener.TRIGGER_GROUP_NAME);// 停止触发器
- QueueListener.sched.unscheduleJob(jobName, QueueListener.TRIGGER_GROUP_NAME);// 移除触发器
- QueueListener.sched.deleteJob(jobName, QueueListener.TRIGGER_GROUP_NAME);// 删除任务
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @Description: 移除一个任务
- *
- * @param jobName
- * @param jobGroupName
- * @param triggerName
- * @param triggerGroupName
- *
- * @Title: QuartzManager.java
- */
- public static void removeJob(String jobName, String jobGroupName,
- String triggerName, String triggerGroupName) {
- try {
- Scheduler sched = QueueListener.gSchedulerFactory.getScheduler();
- sched.pauseTrigger(triggerName, triggerGroupName);// 停止触发器
- sched.unscheduleJob(triggerName, triggerGroupName);// 移除触发器
- sched.deleteJob(jobName, jobGroupName);// 删除任务
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @Description:启动所有定时任务
- *
- *
- * @Title: QuartzManager.java
- */
- public static void startJobs() {
- try {
- Scheduler sched = QueueListener.gSchedulerFactory.getScheduler();
- sched.start();
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * @Description:关闭所有定时任务
- *
- *
- * @Title: QuartzManager.java
- * @Copyright: Copyright (c) 2014
- *
- * @author Comsys-LZP
- * @date 2014-6-26 下午03:50:26
- * @version V2.0
- */
- public static void shutdownJobs() {
- try {
- Scheduler sched = QueueListener.gSchedulerFactory.getScheduler();
- if (!sched.isShutdown()) {
- sched.shutdown();
- }
- } catch (Exception e) {
- throw new RuntimeException(e);
- }
- }
-
-
-}
+package luckyweb.seagull.quartz;
+
+import org.apache.log4j.Logger;
+import org.quartz.CronTrigger;
+import org.quartz.JobDetail;
+import org.quartz.Scheduler;
+import org.quartz.SchedulerException;
+
+import luckyweb.seagull.comm.QueueListener;
+
+
+public class QuartzManager {
+
+ //private static SchedulerFactory gSchedulerFactory = new StdSchedulerFactory();
+ //private static String JOB_GROUP_NAME = "EXTJWEB_JOBGROUP_NAME";
+ //private static String TRIGGER_GROUP_NAME = "EXTJWEB_TRIGGERGROUP_NAME";
+
+ private static final Logger log = Logger.getLogger(QuartzManager.class);
+
+
+ /**
+ * @Description: 添加一个定时任务,使用默认的任务组名,触发器名,触发器组名
+ *
+ * @param jobName
+ * 任务名
+ * @param cls
+ * 任务
+ * @param time
+ * 时间设置,参考quartz说明文档
+ *
+ */
+ @SuppressWarnings("unchecked")
+ public static void addJob(String jobName, Class cls, String time) {
+ try {
+ JobDetail jobDetail = new JobDetail(jobName, QueueListener.JOB_GROUP_NAME, cls);// 任务名,任务组,任务执行类
+ //System.out.println("jobDetail 's Name :"+jobDetail.getName());
+ // 触发器
+ CronTrigger trigger = new CronTrigger(jobDetail.getName(), QueueListener.TRIGGER_GROUP_NAME);// 触发器名,触发器组
+ trigger.setCronExpression(time);// 触发器时间设定
+ QueueListener.sched.scheduleJob(jobDetail, trigger);
+ // 启动
+ if (!QueueListener.sched.isShutdown()) {
+ System.out.println("启动。。"+jobName +" ,时间:"+time);
+ QueueListener.sched.start();
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @Description: 添加一个定时任务
+ *
+ * @param jobName
+ * 任务名
+ * @param jobGroupName
+ * 任务组名
+ * @param triggerName
+ * 触发器名
+ * @param triggerGroupName
+ * 触发器组名
+ * @param jobClass
+ * 任务
+ * @param time
+ * 时间设置,参考quartz说明文档
+ * @throws SchedulerException
+ *
+ * @Title: QuartzManager.java
+ *
+ */
+ @SuppressWarnings("unchecked")
+ public static void addJob(String jobName, String jobGroupName,
+ String triggerName, String triggerGroupName, Class jobClass,
+ String time) throws SchedulerException {
+ // QueueListener.sched=QueueListener.gSchedulerFactory.getScheduler();
+ try {
+ JobDetail jobDetail = new JobDetail(jobName, jobGroupName, jobClass);// 任务名,任务组,任务执行类
+ // 触发器
+ CronTrigger trigger = new CronTrigger(triggerName, triggerGroupName);// 触发器名,触发器组
+ trigger.setCronExpression(time);// 触发器时间设定
+ QueueListener.sched.scheduleJob(jobDetail, trigger);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @Description: 修改一个任务的触发时间(使用默认的任务组名,触发器名,触发器组名)
+ *
+ * @param jobName
+ * @param time
+ *
+ * @Title: QuartzManager.java
+ *
+ */
+ @SuppressWarnings("unchecked")
+ public static String modifyJobTime(String jobName, String time) {
+ try {
+ Scheduler sched=QueueListener.gSchedulerFactory.getScheduler();
+
+ CronTrigger trigger = (CronTrigger) sched.getTrigger(jobName,QueueListener.TRIGGER_GROUP_NAME);
+ if (trigger == null) {
+ return "任务已经执行过或者不在队列中,请暂定运行后,重启再修改时间.";
+ }
+ String oldTime = trigger.getCronExpression();
+ if (!oldTime.equalsIgnoreCase(time)) {
+ JobDetail jobDetail = sched.getJobDetail(jobName, QueueListener.JOB_GROUP_NAME);
+ Class objJobClass = jobDetail.getJobClass();
+ removeJob(jobName);
+ addJob(jobName, objJobClass, time);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ return "";
+ }
+
+ /**
+ * @Description: 修改一个任务的触发时间
+ *
+ * @param triggerName
+ * @param triggerGroupName
+ * @param time
+ *
+ */
+ public static void modifyJobTime(String triggerName,
+ String triggerGroupName, String time) {
+ try {
+ QueueListener.sched = QueueListener.gSchedulerFactory.getScheduler();
+ CronTrigger trigger = (CronTrigger) QueueListener.sched.getTrigger(triggerName,
+ triggerGroupName);
+ if (trigger == null) {
+ return;
+ }
+ String oldTime = trigger.getCronExpression();
+ if (!oldTime.equalsIgnoreCase(time)) {
+ CronTrigger ct = (CronTrigger) trigger;
+ // 修改时间
+ ct.setCronExpression(time);
+ // 重启触发器
+ QueueListener.sched.resumeTrigger(triggerName, triggerGroupName);
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @Description: 移除一个任务(使用默认的任务组名,触发器名,触发器组名)
+ *
+ * @param jobName
+ *
+ * @Title: QuartzManager.java
+ */
+ public static void removeJob(String jobName) {
+ try {
+ QueueListener.sched = QueueListener.gSchedulerFactory.getScheduler();
+ QueueListener.sched.pauseTrigger(jobName, QueueListener.TRIGGER_GROUP_NAME);// 停止触发器
+ QueueListener.sched.unscheduleJob(jobName, QueueListener.TRIGGER_GROUP_NAME);// 移除触发器
+ QueueListener.sched.deleteJob(jobName, QueueListener.TRIGGER_GROUP_NAME);// 删除任务
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @Description: 移除一个任务
+ *
+ * @param jobName
+ * @param jobGroupName
+ * @param triggerName
+ * @param triggerGroupName
+ *
+ * @Title: QuartzManager.java
+ */
+ public static void removeJob(String jobName, String jobGroupName,
+ String triggerName, String triggerGroupName) {
+ try {
+ Scheduler sched = QueueListener.gSchedulerFactory.getScheduler();
+ sched.pauseTrigger(triggerName, triggerGroupName);// 停止触发器
+ sched.unscheduleJob(triggerName, triggerGroupName);// 移除触发器
+ sched.deleteJob(jobName, jobGroupName);// 删除任务
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @Description:启动所有定时任务
+ *
+ *
+ * @Title: QuartzManager.java
+ */
+ public static void startJobs() {
+ try {
+ Scheduler sched = QueueListener.gSchedulerFactory.getScheduler();
+ sched.start();
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * @Description:关闭所有定时任务
+ *
+ *
+ * @Title: QuartzManager.java
+ * @Copyright: Copyright (c) 2014
+ *
+ * @author Comsys-LZP
+ * @date 2014-6-26 下午03:50:26
+ * @version V2.0
+ */
+ public static void shutdownJobs() {
+ try {
+ Scheduler sched = QueueListener.gSchedulerFactory.getScheduler();
+ if (!sched.isShutdown()) {
+ sched.shutdown();
+ }
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+
+}
diff --git a/src/main/java/luckyweb/seagull/quartz/QuratzJobDataMgr.java b/src/main/java/luckyweb/seagull/quartz/QuratzJobDataMgr.java
index e3cd2e5..546bce6 100644
--- a/src/main/java/luckyweb/seagull/quartz/QuratzJobDataMgr.java
+++ b/src/main/java/luckyweb/seagull/quartz/QuratzJobDataMgr.java
@@ -1,44 +1,44 @@
-package luckyweb.seagull.quartz;
-
-import org.apache.log4j.Logger;
-
-import luckyweb.seagull.spring.entity.TestClient;
-import luckyweb.seagull.spring.entity.TestJobs;
-
-public class QuratzJobDataMgr
-{
- private static final Logger logger = Logger.getLogger(QuratzJobDataMgr.class);
-
- public void addJobRunTime(TestJobs tj, int id) throws Exception
- {
- // 比较任务的开始时间和当前时间。如果是返回1,说明任务的开始时间是还没有过,如果返回2 说明任务的开时间应过去
- try
- {
- String startTime = tj.getStartTimestr();
- // String startTime=setStartTime(tj);
- QuartzManager.addJob(id + "*JOB", QuartzJob.class, startTime);
- }
- catch (Exception e)
- {
- logger.error(e);
- throw e;
- }
- }
-
- public void addTestClient(TestClient tc, int id) throws Exception
- {
- // 比较任务的开始时间和当前时间。如果是返回1,说明任务的开始时间是还没有过,如果返回2 说明任务的开时间应过去
- try
- {
- int checkTime = tc.getCheckinterval();
- String startTime="0/"+checkTime+" * * * * ?";
- QuartzManager.addJob(id + "*CLIENT", QuartzJob.class, startTime);
- }
- catch (Exception e)
- {
- logger.error(e);
- throw e;
- }
- }
-
-}
+package luckyweb.seagull.quartz;
+
+import org.apache.log4j.Logger;
+
+import luckyweb.seagull.spring.entity.TestClient;
+import luckyweb.seagull.spring.entity.TestJobs;
+
+public class QuratzJobDataMgr
+{
+ private static final Logger logger = Logger.getLogger(QuratzJobDataMgr.class);
+
+ public void addJobRunTime(TestJobs tj, int id) throws Exception
+ {
+ // 比较任务的开始时间和当前时间。如果是返回1,说明任务的开始时间是还没有过,如果返回2 说明任务的开时间应过去
+ try
+ {
+ String startTime = tj.getStartTimestr();
+ // String startTime=setStartTime(tj);
+ QuartzManager.addJob(id + "*JOB", QuartzJob.class, startTime);
+ }
+ catch (Exception e)
+ {
+ logger.error(e);
+ throw e;
+ }
+ }
+
+ public void addTestClient(TestClient tc, int id) throws Exception
+ {
+ // 比较任务的开始时间和当前时间。如果是返回1,说明任务的开始时间是还没有过,如果返回2 说明任务的开时间应过去
+ try
+ {
+ int checkTime = tc.getCheckinterval();
+ String startTime="0/"+checkTime+" * * * * ?";
+ QuartzManager.addJob(id + "*CLIENT", QuartzJob.class, startTime);
+ }
+ catch (Exception e)
+ {
+ logger.error(e);
+ throw e;
+ }
+ }
+
+}
diff --git a/src/main/java/luckyweb/seagull/spring/dao/AccidentDao.java b/src/main/java/luckyweb/seagull/spring/dao/AccidentDao.java
index a2bf399..733c33f 100644
--- a/src/main/java/luckyweb/seagull/spring/dao/AccidentDao.java
+++ b/src/main/java/luckyweb/seagull/spring/dao/AccidentDao.java
@@ -1,48 +1,48 @@
-package luckyweb.seagull.spring.dao;
-
-import java.util.List;
-
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
-import luckyweb.seagull.spring.entity.Accident;
-
-
-@Transactional
-public interface AccidentDao {
- public int add(Accident accident) throws Exception;
-
- public void modify(Accident accident) throws Exception;
-
- public void modifyState(Accident accident) throws Exception;
-
- public void modifyInfo(Accident accident) throws Exception;
-
- public void delete(int id) throws Exception;
-
- @Transactional(propagation = Propagation.NOT_SUPPORTED)
- public List list(Accident accident) throws Exception;
-
- @Transactional(propagation = Propagation.NOT_SUPPORTED)
- public List list(String hql) throws Exception;
-
- @Transactional(propagation = Propagation.NOT_SUPPORTED)
- public List listavgpro(String sql) throws Exception;
-
- public Accident load(int id) throws Exception;
-
- public List load(String name, String cmdType, String planPath)
- throws Exception;
-
- public Accident get(int id) throws Exception;
-
-// public List findByPage(final String hql, final int offset,final int pageSize);
-//
-// public List findByPage(final String hql, final Object[] values,final int offset, final int pageSize);
-
- public List findByPage(final String hql, final Object value,final int offset, final int pageSize);
-
- public int findRows(Accident accident,String hql);
-
- public List findJobsList();
-}
+package luckyweb.seagull.spring.dao;
+
+import java.util.List;
+
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import luckyweb.seagull.spring.entity.Accident;
+
+
+@Transactional
+public interface AccidentDao {
+ public int add(Accident accident) throws Exception;
+
+ public void modify(Accident accident) throws Exception;
+
+ public void modifyState(Accident accident) throws Exception;
+
+ public void modifyInfo(Accident accident) throws Exception;
+
+ public void delete(int id) throws Exception;
+
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ public List list(Accident accident) throws Exception;
+
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ public List list(String hql) throws Exception;
+
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ public List listavgpro(String sql) throws Exception;
+
+ public Accident load(int id) throws Exception;
+
+ public List load(String name, String cmdType, String planPath)
+ throws Exception;
+
+ public Accident get(int id) throws Exception;
+
+// public List findByPage(final String hql, final int offset,final int pageSize);
+//
+// public List findByPage(final String hql, final Object[] values,final int offset, final int pageSize);
+
+ public List findByPage(final String hql, final Object value,final int offset, final int pageSize);
+
+ public int findRows(Accident accident,String hql);
+
+ public List findJobsList();
+}
diff --git a/src/main/java/luckyweb/seagull/spring/dao/AccidentDaoImpl.java b/src/main/java/luckyweb/seagull/spring/dao/AccidentDaoImpl.java
index 488679e..2c8bea7 100644
--- a/src/main/java/luckyweb/seagull/spring/dao/AccidentDaoImpl.java
+++ b/src/main/java/luckyweb/seagull/spring/dao/AccidentDaoImpl.java
@@ -1,204 +1,204 @@
-package luckyweb.seagull.spring.dao;
-
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.springframework.orm.hibernate3.HibernateCallback;
-import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
-import org.springframework.stereotype.Repository;
-
-import luckyweb.seagull.spring.entity.Accident;
-
-@Repository("accidentDao")
-public class AccidentDaoImpl extends HibernateDaoSupport implements AccidentDao{
-
- @Resource(name = "sessionFactory")
- public void setSuperSessionFactory(SessionFactory sessionFactory) {
- super.setSessionFactory(sessionFactory);
- }
-
-
-
- @Override
- public void delete(int id) throws Exception {
- try{
- Accident accident = this.load(id);
- this.getHibernateTemplate().delete(accident);
- }catch(Exception e){
- e.printStackTrace();
- }
-
- }
-
- private void whereParameter(Accident accident, Query query) {
-
- if (accident.getProjectid()!=0) {
- query.setParameter("projectid", accident.getProjectid());
- }
- if (accident.getAccstatus()!=null&&!accident.getAccstatus().equals("")&&!accident.getAccstatus().equals("00")) {
- query.setParameter("accstatus", accident.getAccstatus());
- }
- if (accident.getAccstarttime()!=null&&!"".equals(accident.getAccstarttime())) {
- query.setParameter("accstarttime", accident.getAccstarttime());
- }
- if (accident.getAccendtime()!=null&&!"".equals(accident.getAccendtime())) {
- query.setParameter("accendtime", accident.getAccendtime());
- }
- if (null!=accident.getAccdescription()&&!"".equals(accident.getAccdescription())) {
- query.setParameter("accdescription", "%"+accident.getAccdescription()+"%");
- }
- if (null!=accident.getCausaltype()&&!"".equals(accident.getCausaltype())) {
- query.setParameter("causaltype", "%"+accident.getCausaltype()+"%");
- }
- }
-
- @Override
- public List findByPage(final String hql, final Object value, final int offset, final int pageSize) {
- // TODO Auto-generated method stub
- // 通过一个HibernateCallback 对象来执行查询
- //System.out.println(hql);
- List list = getHibernateTemplate().executeFind(new HibernateCallback() {
- // 实现hibernateCallback接口必须实现的方法
-
- public Object doInHibernate(Session session)
- throws HibernateException {
- // 执行hibernate 分页查询
- Query query= session.createQuery(hql);
- whereParameter((Accident)value, query);
- List result =query
- .setFirstResult(offset).setMaxResults(pageSize).list();
- session.close();
- return result;
- }
-
- });
- return list;
- }
-
- @Override
- public int findRows(Accident accident, String hql) {
- int s=0;
- Session session=this.getSession(true);
- try {
- Query query=session.createQuery(hql);
- whereParameter(accident, query);
- s= Integer.valueOf(
- query
- .list().get(0)
- .toString());
- } catch (Exception e) {
- e.printStackTrace();
- }finally{
- session.close();
- }
- return s;
- }
-
-
-
- @Override
- public int add(Accident accident) throws Exception {
- this.getHibernateTemplate().save(accident);
- return accident.getId();
- }
-
-
-
- @Override
- public void modify(Accident accident) throws Exception {
- this.getHibernateTemplate().update(accident);
-
- }
-
-
-
- @Override
- public void modifyState(Accident accident) throws Exception {
- // TODO Auto-generated method stub
-
- }
-
-
-
- @Override
- public void modifyInfo(Accident accident) throws Exception {
- // TODO Auto-generated method stub
-
- }
-
-
-
- @Override
- public List list(Accident accident)
- throws Exception {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
- @SuppressWarnings("unchecked")
- @Override
- public List list(String hql) throws Exception {
- return this.getHibernateTemplate().find(hql);
- }
-
-
-
- @Override
- public Accident load(int id) throws Exception {
-
- return (Accident) this.getHibernateTemplate().get(Accident.class, id);
- //return (Accident) this.getSession().load(Accident.class, id);
- }
-
-
-
- @Override
- public List load(String name, String cmdType,
- String planPath) throws Exception {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
- @Override
- public Accident get(int id) throws Exception {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
- @Override
- public List findJobsList() {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
- @SuppressWarnings("rawtypes")
- @Override
- public List listavgpro(String sql) throws Exception {
- // TODO Auto-generated method stub
- List count=null;
- Session session=this.getSession(true);
- try {
- count = session.createSQLQuery(sql).list();
- } catch (Exception e) {
- e.printStackTrace();
- }finally{
- session.close();
- }
- return count;
- }
-
-
-}
+package luckyweb.seagull.spring.dao;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.hibernate.HibernateException;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.springframework.orm.hibernate3.HibernateCallback;
+import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
+import org.springframework.stereotype.Repository;
+
+import luckyweb.seagull.spring.entity.Accident;
+
+@Repository("accidentDao")
+public class AccidentDaoImpl extends HibernateDaoSupport implements AccidentDao{
+
+ @Resource(name = "sessionFactory")
+ public void setSuperSessionFactory(SessionFactory sessionFactory) {
+ super.setSessionFactory(sessionFactory);
+ }
+
+
+
+ @Override
+ public void delete(int id) throws Exception {
+ try{
+ Accident accident = this.load(id);
+ this.getHibernateTemplate().delete(accident);
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+
+ }
+
+ private void whereParameter(Accident accident, Query query) {
+
+ if (accident.getProjectid()!=0) {
+ query.setParameter("projectid", accident.getProjectid());
+ }
+ if (accident.getAccstatus()!=null&&!accident.getAccstatus().equals("")&&!accident.getAccstatus().equals("00")) {
+ query.setParameter("accstatus", accident.getAccstatus());
+ }
+ if (accident.getAccstarttime()!=null&&!"".equals(accident.getAccstarttime())) {
+ query.setParameter("accstarttime", accident.getAccstarttime());
+ }
+ if (accident.getAccendtime()!=null&&!"".equals(accident.getAccendtime())) {
+ query.setParameter("accendtime", accident.getAccendtime());
+ }
+ if (null!=accident.getAccdescription()&&!"".equals(accident.getAccdescription())) {
+ query.setParameter("accdescription", "%"+accident.getAccdescription()+"%");
+ }
+ if (null!=accident.getCausaltype()&&!"".equals(accident.getCausaltype())) {
+ query.setParameter("causaltype", "%"+accident.getCausaltype()+"%");
+ }
+ }
+
+ @Override
+ public List findByPage(final String hql, final Object value, final int offset, final int pageSize) {
+ // TODO Auto-generated method stub
+ // 通过一个HibernateCallback 对象来执行查询
+ //System.out.println(hql);
+ List list = getHibernateTemplate().executeFind(new HibernateCallback() {
+ // 实现hibernateCallback接口必须实现的方法
+
+ public Object doInHibernate(Session session)
+ throws HibernateException {
+ // 执行hibernate 分页查询
+ Query query= session.createQuery(hql);
+ whereParameter((Accident)value, query);
+ List result =query
+ .setFirstResult(offset).setMaxResults(pageSize).list();
+ session.close();
+ return result;
+ }
+
+ });
+ return list;
+ }
+
+ @Override
+ public int findRows(Accident accident, String hql) {
+ int s=0;
+ Session session=this.getSession(true);
+ try {
+ Query query=session.createQuery(hql);
+ whereParameter(accident, query);
+ s= Integer.valueOf(
+ query
+ .list().get(0)
+ .toString());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }finally{
+ session.close();
+ }
+ return s;
+ }
+
+
+
+ @Override
+ public int add(Accident accident) throws Exception {
+ this.getHibernateTemplate().save(accident);
+ return accident.getId();
+ }
+
+
+
+ @Override
+ public void modify(Accident accident) throws Exception {
+ this.getHibernateTemplate().update(accident);
+
+ }
+
+
+
+ @Override
+ public void modifyState(Accident accident) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+ @Override
+ public void modifyInfo(Accident accident) throws Exception {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+ @Override
+ public List list(Accident accident)
+ throws Exception {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public List list(String hql) throws Exception {
+ return this.getHibernateTemplate().find(hql);
+ }
+
+
+
+ @Override
+ public Accident load(int id) throws Exception {
+
+ return (Accident) this.getHibernateTemplate().get(Accident.class, id);
+ //return (Accident) this.getSession().load(Accident.class, id);
+ }
+
+
+
+ @Override
+ public List load(String name, String cmdType,
+ String planPath) throws Exception {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+ @Override
+ public Accident get(int id) throws Exception {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+ @Override
+ public List findJobsList() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+
+
+ @SuppressWarnings("rawtypes")
+ @Override
+ public List listavgpro(String sql) throws Exception {
+ // TODO Auto-generated method stub
+ List count=null;
+ Session session=this.getSession(true);
+ try {
+ count = session.createSQLQuery(sql).list();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }finally{
+ session.close();
+ }
+ return count;
+ }
+
+
+}
diff --git a/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDao.java b/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDao.java
index 8735549..816a6f3 100644
--- a/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDao.java
+++ b/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDao.java
@@ -1,53 +1,53 @@
-package luckyweb.seagull.spring.dao;
-
-import java.util.List;
-
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
-import luckyweb.seagull.spring.entity.FlowCheck;
-
-@Transactional
-public interface FlowCheckDao {
- public int add(FlowCheck flowcheck) throws Exception;
-
- public void modify(FlowCheck flowcheck) throws Exception;
-
- public void modifyState(FlowCheck flowcheck) throws Exception;
-
- public void modifyVersion(String sql) throws Exception;
-
- public void delete(int id) throws Exception;
-
- @Transactional(propagation = Propagation.NOT_SUPPORTED)
- public List list(FlowCheck flowcheck) throws Exception;
-
- @Transactional(propagation = Propagation.NOT_SUPPORTED)
- public List list(String hql) throws Exception;
-
- @Transactional(propagation = Propagation.NOT_SUPPORTED)
- public List listcheckinfo(String sql) throws Exception;
-
- public FlowCheck load(int id) throws Exception;
-
- public List load(String name, String cmdType, String planPath)
- throws Exception;
-
- public String get(String sql) throws Exception;
-
-// public List findByPage(final String hql, final int offset,final int pageSize);
-//
-// public List findByPage(final String hql, final Object[] values,final int offset, final int pageSize);
-
- public List findByPage(final String hql, final Object value,final int offset, final int pageSize);
-
- public int findRows(FlowCheck flowcheck,String hql);
-
- public List findByPageTable(final String hql, final Object value,final int offset, final int pageSize);
-
- public int findRowsTable(FlowCheck flowcheck,String hql);
-
- /*public List findRows(String sql);*/
-
- public List findJobsList();
-}
+package luckyweb.seagull.spring.dao;
+
+import java.util.List;
+
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import luckyweb.seagull.spring.entity.FlowCheck;
+
+@Transactional
+public interface FlowCheckDao {
+ public int add(FlowCheck flowcheck) throws Exception;
+
+ public void modify(FlowCheck flowcheck) throws Exception;
+
+ public void modifyState(FlowCheck flowcheck) throws Exception;
+
+ public void modifyVersion(String sql) throws Exception;
+
+ public void delete(int id) throws Exception;
+
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ public List list(FlowCheck flowcheck) throws Exception;
+
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ public List list(String hql) throws Exception;
+
+ @Transactional(propagation = Propagation.NOT_SUPPORTED)
+ public List listcheckinfo(String sql) throws Exception;
+
+ public FlowCheck load(int id) throws Exception;
+
+ public List load(String name, String cmdType, String planPath)
+ throws Exception;
+
+ public String get(String sql) throws Exception;
+
+// public List findByPage(final String hql, final int offset,final int pageSize);
+//
+// public List findByPage(final String hql, final Object[] values,final int offset, final int pageSize);
+
+ public List findByPage(final String hql, final Object value,final int offset, final int pageSize);
+
+ public int findRows(FlowCheck flowcheck,String hql);
+
+ public List findByPageTable(final String hql, final Object value,final int offset, final int pageSize);
+
+ public int findRowsTable(FlowCheck flowcheck,String hql);
+
+ /*public List findRows(String sql);*/
+
+ public List findJobsList();
+}
diff --git a/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDaoImpl.java b/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDaoImpl.java
index 20a87cb..333836d 100644
--- a/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDaoImpl.java
+++ b/src/main/java/luckyweb/seagull/spring/dao/FlowCheckDaoImpl.java
@@ -1,264 +1,264 @@
-package luckyweb.seagull.spring.dao;
-
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.springframework.orm.hibernate3.HibernateCallback;
-import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
-import org.springframework.stereotype.Repository;
-
-import luckyweb.seagull.spring.entity.Accident;
-import luckyweb.seagull.spring.entity.FlowCheck;
-import luckyweb.seagull.spring.entity.FlowInfo;
-
-@Repository("flowcheckDao")
-public class FlowCheckDaoImpl extends HibernateDaoSupport implements FlowCheckDao{
-
- @Resource(name = "sessionFactory")
- public void setSuperSessionFactory(SessionFactory sessionFactory) {
- super.setSessionFactory(sessionFactory);
- }
-
-
-
- @Override
- public void delete(int id) throws Exception {
- FlowCheck flowcheck = this.load(id);
- this.getHibernateTemplate().delete(flowcheck);
-
- }
-
- private void whereParameter(FlowCheck flowcheck, Query query) {
- if (flowcheck.getId()!=0) {
- query.setParameter("id", flowcheck.getId());
- }
- if (flowcheck.getProjectid()!=0) {
- query.setParameter("projectid", flowcheck.getProjectid());
- }
- if (flowcheck.getCheckid()!=0) {
- query.setParameter("checkid", flowcheck.getCheckid());
- }
- if (flowcheck.getVersionnum()!=null&&!flowcheck.getVersionnum().equals("")) {
- query.setParameter("versionnum", flowcheck.getVersionnum());
- }
- if (flowcheck.getCheckenddate()!=null&&flowcheck.getCheckstartdate()!=null&&
- !flowcheck.getCheckenddate().equals("")&&!flowcheck.getCheckstartdate().equals("")) {
- query.setParameter("checkstartdate", flowcheck.getCheckstartdate());
- query.setParameter("checkenddate", flowcheck.getCheckenddate());
- }
- }
-
- private void whereParameter(FlowInfo flowinfo, Query query) {
- if (flowinfo.getId()!=0&&flowinfo.getId()!=99) {
- query.setParameter("projectid", flowinfo.getId());
- }
- }
-
- @Override
- public List findByPage(final String hql, final Object value, final int offset, final int pageSize) {
- // TODO Auto-generated method stub
- // 通过一个HibernateCallback 对象来执行查询
- //System.out.println(hql);
- List list = getHibernateTemplate().executeFind(new HibernateCallback() {
- // 实现hibernateCallback接口必须实现的方法
-
- public Object doInHibernate(Session session)
- throws HibernateException {
- // 执行hibernate 分页查询
- //Query query= session.createQuery(hql);
- Query query= session.createSQLQuery(hql);
- whereParameter((FlowCheck)value, query);
- List result =query
- .setFirstResult(offset).setMaxResults(pageSize).list();
- session.close();
- return result;
- }
-
- });
- return list;
- }
-
- @Override
- public List findByPageTable(final String hql, final Object value, final int offset, final int pageSize) {
- // TODO Auto-generated method stub
- // 通过一个HibernateCallback 对象来执行查询
- //System.out.println(hql);
- List list = getHibernateTemplate().executeFind(new HibernateCallback() {
- // 实现hibernateCallback接口必须实现的方法
-
- public Object doInHibernate(Session session)
- throws HibernateException {
- // 执行hibernate 分页查询
- Query query= session.createQuery(hql);
- whereParameter((FlowCheck)value, query);
- List result =query
- .setFirstResult(offset).setMaxResults(pageSize).list();
- session.close();
- return result;
- }
-
- });
- return list;
- }
-
-
- @Override
- public int findRows(FlowCheck flowcheck, String hql) {
- int s=0;
- Session session=this.getSession(true);
- try {
- /*Query query=session.createQuery(hql);*/
- Query query= session.createSQLQuery(hql);
- whereParameter(flowcheck, query);
- s= Integer.valueOf(
- query.list().size());
- } catch (Exception e) {
- e.printStackTrace();
- }finally{
- session.close();
- }
- return s;
- }
-
-
- @Override
- public int findRowsTable(FlowCheck flowcheck, String hql) {
- int s=0;
- Session session=this.getSession(true);
- try {
- Query query=session.createQuery(hql);
- whereParameter(flowcheck, query);
- s= Integer.valueOf(
- query.list().get(0)
- .toString());
- } catch (Exception e) {
- e.printStackTrace();
- }finally{
- session.close();
- }
- return s;
- }
-
-
- @Override
- public int add(FlowCheck flowcheck) throws Exception {
- this.getHibernateTemplate().save(flowcheck);
- return flowcheck.getCheckid();
- }
-
-
-
- @Override
- public void modify(FlowCheck flowcheck) throws Exception {
- this.getHibernateTemplate().update(flowcheck);
-
- }
-
-
-
- @Override
- public void modifyState(FlowCheck flowcheck) throws Exception {
- // TODO Auto-generated method stub
-
- }
-
-
-
- @Override
- public void modifyVersion(String sql) throws Exception {
- // TODO Auto-generated method stub
- Session session=this.getSession(true);
- try {
- session.beginTransaction();
- Query query =session .createQuery(sql);
- query.executeUpdate();
-
- session.getTransaction().commit();
- } catch (Exception e) {
- e.printStackTrace();
- }finally
- {
- session.close();
- }
- }
-
-
-
- @Override
- public List list(FlowCheck flowcheck)
- throws Exception {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
- @SuppressWarnings("unchecked")
- @Override
- public List list(String hql) throws Exception {
- return this.getHibernateTemplate().find(hql);
- }
-
-
-
- @Override
- public FlowCheck load(int id) throws Exception {
- return (FlowCheck) this.getHibernateTemplate().get(FlowCheck.class, id);
- //return (FlowCheck) this.getSession().load(FlowCheck.class, id);
- }
-
-
-
- @Override
- public List load(String name, String cmdType,
- String planPath) throws Exception {
- // TODO Auto-generated method stub
- return null;
- }
-
-
-
- @Override
- public String get(String sql) throws Exception {
- String result = "";
- Session session = this.getSession(true);
- @SuppressWarnings("unchecked")
- List