广西科技大学校医院门诊管理系统.docx

上传人:b****6 文档编号:15970013 上传时间:2023-07-09 格式:DOCX 页数:19 大小:169.88KB
下载 相关 举报
广西科技大学校医院门诊管理系统.docx_第1页
第1页 / 共19页
广西科技大学校医院门诊管理系统.docx_第2页
第2页 / 共19页
广西科技大学校医院门诊管理系统.docx_第3页
第3页 / 共19页
广西科技大学校医院门诊管理系统.docx_第4页
第4页 / 共19页
广西科技大学校医院门诊管理系统.docx_第5页
第5页 / 共19页
广西科技大学校医院门诊管理系统.docx_第6页
第6页 / 共19页
广西科技大学校医院门诊管理系统.docx_第7页
第7页 / 共19页
广西科技大学校医院门诊管理系统.docx_第8页
第8页 / 共19页
广西科技大学校医院门诊管理系统.docx_第9页
第9页 / 共19页
广西科技大学校医院门诊管理系统.docx_第10页
第10页 / 共19页
广西科技大学校医院门诊管理系统.docx_第11页
第11页 / 共19页
广西科技大学校医院门诊管理系统.docx_第12页
第12页 / 共19页
广西科技大学校医院门诊管理系统.docx_第13页
第13页 / 共19页
广西科技大学校医院门诊管理系统.docx_第14页
第14页 / 共19页
广西科技大学校医院门诊管理系统.docx_第15页
第15页 / 共19页
广西科技大学校医院门诊管理系统.docx_第16页
第16页 / 共19页
广西科技大学校医院门诊管理系统.docx_第17页
第17页 / 共19页
广西科技大学校医院门诊管理系统.docx_第18页
第18页 / 共19页
广西科技大学校医院门诊管理系统.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

广西科技大学校医院门诊管理系统.docx

《广西科技大学校医院门诊管理系统.docx》由会员分享,可在线阅读,更多相关《广西科技大学校医院门诊管理系统.docx(19页珍藏版)》请在冰点文库上搜索。

广西科技大学校医院门诊管理系统.docx

广西科技大学校医院门诊管理系统

 

广西科技大学

《校医院门诊管理系统》

课程设计说明书 

 

课程名称:

广西科技大学校医院门诊管理系统

班级:

软件132

姓名:

李广贵

学号:

201300406067

指导老师:

原庆能

 

2016年1月15日

广西科技大学校医院门诊管理系统

1、门诊管理系统需求分析:

广西科技大学校医院门诊管理系统所要处理的数据有:

就诊卡号、姓名、性别、年龄、联系电话、所在部门、就诊科室、就诊大夫、就诊日期、病情描述、处方编号、药品编码、药品名称、类别、库存余量、规格、保质期、用量、数量、金额、医务人员的职工号、姓名、性别、年龄、职称、所在科室、专长、诊病时间,科室名称、科室位置、可容纳医生数等。

完整性要求:

就诊日期在药品的保质期前;使用的药品数量小于库存余量

安全性要求:

用户输入账户、密码进行登录操作

数据统计:

某个医生某个时间段的已诊疗人数和候诊人数

2、概念设计:

根据需求分析,可抽象出“患者”、“就诊”、“医务人员”、“科室”、“用法”、“药品管理”6个实体。

“患者”具有就诊卡号、姓名、性别、年龄、联系电话属性;“就诊”具有处方编号、就诊日期、就诊科室、就诊大夫、就诊科室、病情描述属性;“医务人员”具有职工号、姓名、性别、年龄、职称、所在科室、专长、诊病时间、所在部门属性;“科室”具有科室名称、科室位置、可容纳医生数属性;“药品管理”具有药品编码、药品名称、类别、库存余量、规格、保质期、数量、金额属性;“用法”具有药品编码、处方编号、用量、数量。

门诊管理系统ER图

3、逻辑设计

门诊管理系统ER图有6个实体,可转换成如下的关系模式集:

患者(就诊卡号、姓名、性别、年龄、联系电话)

就诊(处方编号、就诊日期、就诊科室、就诊大夫、就诊科室、病情描述)

医务人员(职工号、姓名、性别、年龄、职称、所在科室、专长、诊病时间、所在部门)

科室(科室名称、科室位置、可容纳医生数)

用法(药品编码、处方编号、用量、数量)

药品管理(药品编码、药品名称、类别、库存余量、规格、保质期、数量、金额)

4、物理设计

根据逻辑设计的结果创建doctordoor数据库。

数据库的数据文件和日志文件均存放在E:

\图\doctordoor下。

数据文件的初始大小为3MB,增量为1MB,最大文件大小为“不限制文件增长”;日志文件的大小为1MB,增量为10%,最大文件大小为2097152M。

在doctordoor数据库中创建患者表、医务人员表、就诊表、药品管理表、用法表和科室表。

 

患者表

属性

数据类型

长度或取值范围

主键

外键

空值

索引

就诊卡号

int

唯一,非聚簇索引,ASC

姓名

Char

4

性别

Char

2

年龄

int

联系电话

bigint

 

医务人员表

属性

数据类型

长度或取值范围

主键

外键

空值

索引

职工号

int

非聚簇索引,ASC

科室名称

char

10

姓名

char

10

性别

char

2

年龄

int

职称

char

50

所在科室

char

50

专长

char

20

 

就诊表

属性

数据类型

长度或取值范围

主键

外键

空值

索引

处方编号

int

唯一,非聚簇索引,ASC

就诊卡号

int

职工号

int

就诊日期

date

就诊科室

char

20

就诊大夫

char

10

病情描述

char

100

药品管理表

属性

数据类型

长度或取值范围

主键

外键

空值

索引

药品编码

int

唯一,非聚簇索引,ASC

药品名称

char

20

类别

char

5

库存余量

int

规格

char

12

保质期

date

金额

char

money

用法表

属性

数据类型

长度或取值范围

主键

外键

空值

索引

药品编码

int

非聚簇索引,ASC

处方编号

int

用量

char

10

数量

int

 

科室表

属性

数据类型

长度或取值范围

主键

外键

空值

索引

科室名称

char

10

非聚簇索引,ASC

科室位置

char

10

可容纳医生数

char

10

5、功能介绍

环境:

使用sql2008,登录账户:

sa密码:

123456

查询命令:

1、查询指定时间内就诊人数

SELECTcount(*)AS这段时间内就诊人数FROM就诊

WHERE就诊日期BETWEEN'2015-12-19'AND'2015-12-27'

触发器:

1、创建开药时间与药品保质期的比较

USE[doctordoor]

GO

/******Object:

Trigger[dbo].[触发器_比较保质期]ScriptDate:

01/14/201612:

42:

36******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

ALTERtrigger[dbo].[触发器_比较保质期]on[dbo].[就诊]forinsert

as

begin

declare@tint,@numdate,@num1date

set@t=(selectinserted.处方编号frominserted)

select@num=就诊.就诊日期

from就诊

select@num1=药品管理.保质期

from药品管理

if(@num>=@num1)

print'所配药品已过期'

rollbacktransaction

End

2、比较库存与用法中的数量关系

USE[doctordoor]

GO

/******Object:

Trigger[dbo].[触发器_比较库存]ScriptDate:

01/14/201612:

45:

18******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

ALTERtrigger[dbo].[触发器_比较库存]on[dbo].[药品管理]forinsert

as

begin

declare@tint,@numint,@num1int

set@t=(selectinserted.药品编码frominserted)

select@num=用法.数量

from用法

select@num1=药品管理.库存余量

from药品管理

if(@num>=@num1)

print'配药数量已经超过库存余量'

rollbacktransaction

End

约束:

1、创建库存余量大于零

usedoctordoor

go

altertable药品管理

addconstraintCK_库存CHECK(库存余量>=0)

Go

存储过程:

1、创建插入患者存储过程(在jsp页面插入数据库有乱码,在数据库功能正常)

USEdoctordoor

GO

IFEXISTS(SELECT*FROMsysobjects

WHERENAME='info_患者'ANDtype='P')

DROPPROCEDUREinfo_患者

GO

CREATEPROCEDUREinfo_患者

@idint,

@namechar(4),

@xbchar

(2),

@ageint,

@telbigint

AS

BEGINTRANSACTION

INSERTINTO患者

VALUES(@id,@name,@xb,@age,@tel)

IF@@error<>0

BEGIN

ROLLBACKTRAN

RETURN

END

COMMITTRANSACTION

GO

executeinfo_患者112,'小美','女',19,'20130066'

2、创建插入医生存储过程(未在jsp页面实现)

USEdoctordoor

GO

IFEXISTS(SELECT*FROMsysobjects

WHERENAME='add_医生'ANDtype='P')

DROPPROCEDUREadd_医生

GO

CREATEPROCEDUREadd_医生

@idint,

@kechar(10),

@namechar(10),

@xbchar

(2),

@ageint,

@zcchar(50),

@szkschar(50),

@zchangchar(20)

AS

BEGINTRANSACTION

INSERTINTO医务人员

VALUES(@id,@ke,@name,@xb,@age,@zc,@szks,@zchang)

IF@@error<>0

BEGIN

ROLLBACKTRAN

RETURN

END

COMMITTRANSACTION

GO

executeadd_医生1112,'外科专室','小胡','男',19,'主任','手术科','手术'

3、创建查找指定医生职工号的存储过程

USE[doctordoor]

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

ALTERprocedure[dbo].[select_doctor_id]

@cphint

as

if@cphisnull

print'医生信息'

begintransaction

select职工号,姓名,性别,科室名称,年龄,职称,所在科室,专长

fromdbo.医务人员

where职工号=@cph

if@@ERROR<>0

begin

rollbacktran

return

end

committransaction

print'显示成功'

executeselect_doctor_id101

4、创建查找指定患者就诊卡号的存储过程

USE[doctordoor]

GO

/******Object:

StoredProcedure[dbo].[select_sick_id]ScriptDate:

01/14/201613:

36:

54******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

ALTERprocedure[dbo].[select_sick_id]

@cphint

as

if@cphisnull

print'患者信息'

begintransaction

select就诊卡号,姓名,性别,年龄,联系电话

from患者

where就诊卡号=@cph

if@@ERROR<>0

begin

rollbacktran

return

end

committransaction

print'显示成功'

executeselect_sick_id1

5、创建修改患者联系电话存储过程

USE[doctordoor]

GO

/******Object:

StoredProcedure[dbo].[update_患者]ScriptDate:

01/14/201613:

39:

12******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

ALTERPROCEDURE[dbo].[update_患者]

@idint,

@tel_oldbigint,

@tel_newbigint

AS

BEGINTRANSACTION

updatedbo.患者

set联系电话=@tel_new

where就诊卡号=@id

IF@@error<>0

BEGIN

ROLLBACKTRAN

RETURN

END

COMMITTRANSACTION

executeupdate_患者1,'22','50'(在jsp页面执行时将原电话号码固定只需要输入新电话号码更加方便)

6、建立删除患者信息存储过程

usedoctordoor

go

createprocdelect_患者(@卡号int)

as

deletefrom患者

where就诊卡号=@卡号

go

executedelect_患者99

7、删除医生信息存储过程(此功能未在jsp页面实现)

usedoctordoor

go

createprocdelet_doctor(@卡号int)

as

deletefrom医务人员

where职工号=@卡号

go

executedelet_doctor1112

6、jsp页面功能实现截图

环境:

eclipse登录账户:

sa密码:

123456端口:

1433IP:

127.0.0.1

1、登录页面

2、主页面

3、1—6按钮的实现截图

4、查询页面功能截图

5、操作页面功能截图

7、实训总结

在这段时间的实训中,首先巩固了在之前课堂学到的知识,其次学到了新的知识特别是jsp连接数据库的操作,jsp本身的操作,powerdesigner的基本操作方法,自己设计概念图、逻辑图以及物理图;在实训过程中发现了自己的大量不足,对知识的理解不够充分,以及实际动手能力差,在实训中遇到许多问题,一个是与同学积极的调了,另一个是原庆能老师给予的帮助,在此特别原庆能老师,以及对我帮助的各位同学.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2