药店管理信息系统报告.docx
- 文档编号:7146859
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:35
- 大小:497.02KB
药店管理信息系统报告.docx
《药店管理信息系统报告.docx》由会员分享,可在线阅读,更多相关《药店管理信息系统报告.docx(35页珍藏版)》请在冰豆网上搜索。
药店管理信息系统报告
成绩
管理信息系统课程设计报告
系统名称药店信息管理系统
班级管093
姓名张新萌、田新驰、李新雷
学号04、06、12
装订线
2011年12月14日
一、系统分析
系统名称:
药店管理信息系统.
开发背景、目的、意义:
随着人们生活水平的提高,健康意识的增强,对医药产品的需求也迅速增加。
药店作为医药产品的主要销售渠道,也处于高速发展时期,同时也加剧了产业间的竞争。
为了加强企业的内部管理,提高运营效率,利用现代信息技术提高企业的管理水平已非常迫切。
另外,由于医药产品种类繁多、销售模式特殊、业务量大,单凭手工记账已很难适应工作的需要。
医药作为一个关系到人们健良的特殊行业,国家对医药行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。
如何尽快建立和完善现代企业的信息化管理机制问题,已成为医药企业发展的关键所在。
本课题以提高药店的医药管理水平和效率为目标,建立了管理信息系统。
该系统能集中处理药品的进销存业务及其应付账目,实现了药店的现代化管理。
实现目标:
面对医药行业的高速发展及其发展过程中出现的各种情况,药店管理信息系统在实施后,应能够达到以下目标:
(1)实现多点操作的信息共享,相互之间的信息传递准确,快捷和顺畅。
(2)全面自动化管理,可随时掌握药品的库存、销售等情况。
(3)系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全。
(4)能够快速、准确地处理药品进、销、存、退、盘点、变价、折扣等多种业务模式。
(5)提供助记码及支持多种结算方式。
(6)系统维护方便可靠,有较高的安全性,满足实用性,先进性的要求。
(5)
系统功能:
本系统由系统设置、日常业务、查询统计、库存管理、基础信息管理五大分系统组成。
主要功能如下:
(1)系统设置:
初期建账,密码设置,数据备份,数据恢复。
(2)日常业务:
入库单,销售单,入库退单,销售退单。
(3)查询统计:
入库查询,销售查询,入库退货查询,销售退货查询。
(5)库存管理:
库存盘点,库存查询,价格管理。
(6)基础信息管理:
客户管理,供应商管理。
药店管理信息系统E-R图
2.2概念模型
通过对用户需求分析进行综合、归纳与抽象、形成一个独立于具体DBMS的概念模型。
在本药店管理系统中涉及到了2种概念模型的抽象
Ispartof
聚集模型
概况模型
2.3用例图和顶层数据流图
总体分析的用例图
经理与供货商的用例图
顾客与经理间的用例图
顶层数据流图
1.系统总体设计
(1)分解的数据流图
处理消费
处理采购
组织结构或数学方法、构造模型。
药店管理信息系统
二、系统设计
说明:
系统设计较为复杂,源程序代码较长,所以报告中只摘录了一小部分程序代码,其余代码详见程序中,程序先进入登陆界面,登陆后进入主界面,登陆到主界面后即可点击进入相应的窗口。
该系统采用Access数据库,数据库名称为yyjxc,它包括以下8个表:
供应商基础信息表gys,库存表kc,客户基础信息表kh,入库表rkd,入库退单表rktd,密码表ma,销售表xsd,销售退单表xstd。
1、系统登录模块及主程序界面设计
(1)系统登录模块(窗体名:
系统登录.frm)
源程序代码较长,此处省略,详见程序中
实现目标:
程序启动后,首先进入系统登录界面验证操作员密码。
其实现的功能如下:
a.可选择操作员,支持鼠标和键盘操作
b.操作员和密码验证成功后,进入主界面
c.操作员错误或密码错误提醒并返回错误点。
d.输入三次错误的密码,系统自动退出
(2)主程序界面设计(窗体名:
主界面.frm)
PublicSubentercell()
Dimx,yAsString
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.mf1.CellWidth<=0Ormyform.mf1.CellHeight<=0ThenExitSub
x=myform.mf1.TextMatrix(myform.mf1.FixedRows,myform.mf1.Col)
y=myform.mf1.TextMatrix(myform.mf1.Row,0)
Ify<>""Then
Ifmyform.mf1.Col-myform.mf1.LeftCol<=3Then
myform.mf1.LeftCol=myform.mf1.LeftCol+1
EndIf
Ifmyform.mf1.CellWidth>0Andmyform.mf1.CellHeight>0Then
myform.Text1.Width=myform.mf1.CellWidth
myform.Text1.Height=myform.mf1.CellHeight
myform.Text1.Left=myform.mf1.CellLeft+myform.mf1.Left
myform.Text1.Top=myform.mf1.CellTop+myform.mf1.Top
EndIf
x=myform.mf1.TextMatrix(myform.mf1.FixedRows,myform.mf1.Col)
y=myform.mf1.TextMatrix(myform.mf1.Row,0)
p=myform.mf1.TextMatrix(myform.mf1.Row,myform.mf1.Col)
myform.Text1.Text=myform.mf1.Text
myform.Text1.SelStart=0
myform.Text1.SelLength=Len(myform.Text1.Text)
EndIf
EndSub
PublicSubmoveright()
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.Text1.Text<>""Then
myform.Text1.SelStart=0
myform.Text1.SelLength=Len(myform.Text1.Text)
EndIf
Ifmyform.mf1.Col+1<=myform.mf1.Cols-1Then
myform.mf1.Col=myform.mf1.Col+1
Else
Ifmyform.mf1.Row+1<=myform.mf1.Rows-1Then
myform.mf1.Row=myform.mf1.Row+1
myform.mf1.Col=1
EndIf
EndIf
EndSub
PublicSubmoveleft()
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.Text1.Text<>""Then
myform.Text1.SelStart=0
myform.Text1.SelLength=Len(myform.Text1.Text)
EndIf
Ifmyform.mf1.Col-11<=myform.mf1.Cols+1Then
myform.mf1.Col=myform.mf1.Col-1
Ifmyform.mf1.Col=0Thenmyform.mf1.Col=1
Else
Ifmyform.mf1.Row+1<=myform.mf1.Row-1Then
myform.mf1.Row=myform.mf1.Row+1
myform.mf1.Col=1
EndIf
EndIf
EndSub
PublicSubmovereturn()
IfText1.Text="1"ThenSetmyform=main_rcyw_rk
IfText1.Text="2"ThenSetmyform=main_rcyw_rktd
IfText1.Text="3"ThenSetmyform=main_rcyw_xs
IfText1.Text="4"ThenSetmyform=main_rcyw_xstd
Ifmyform.mf1.Col=10Then
myform.mf1.Row=myform.mf1.Row+1
myform.mf1.Col=1
Else
Ifmyform.mf1.Col+1<=myform.mf1.Cols-1Then
myform.mf1.Col=myform.mf1.Col+1
Else
Ifmyform.mf1.Row+1<=myform.mf1.Rows-1Then
myform.mf1.Row=myform.mf1.Row+1
myform.mf1.Col=1
EndIf
EndIf
EndIf
EndSub
PrivateSubForm_Load()
'在标题栏上显示软件名称及版本
Me.Caption=App.Title&"版本:
V"&App.Major&"."&App.Minor&"."&App.Revision
DimiAsInteger'定义一个整型变量
Fori=0To1
Label1(i).Caption=App.Title
Nexti
Label2.Caption="版本:
V"&App.Major&"."&App.Minor&"."&App.Revision
EndSub
PrivateSubrkd_Click()'调入入库单
Loadmain_rcyw_rk
main_rcyw_rk.Show
frm_main.Enabled=False
EndSub
PrivateSubxsd_Click()'调入销售单
Loadmain_rcyw_xs
main_rcyw_xs.Show
frm_main.Enabled=False
EndSub
PrivateSubxsth_Click()'调入销售退货
Loadmain_rcyw_xstd
main_rcyw_xstd.Show
frm_main.Enabled=False
EndSub
PrivateSubrkth_Click()'调入退货返厂
Loadmain_rcyw_rktd
main_rcyw_rktd.Show
frm_main.Enabled=False
EndSub
PrivateSubkccx_Click()'调入库存查询
Loadmain_kcgl_kccx
main_kcgl_kccx.Show
frm_main.Enabled=False
EndSub
PrivateSubkcpd_Click()'调入库存盘点
Loadmain_kcgl_kcpd
main_kcgl_kcpd.Show
frm_main.Enabled=False
EndSub
PrivateSubjggl_Click()'调入价格管理
Loadmain_kcgl_jggl
main_kcgl_jggl.Show
frm_main.Enabled=False
EndSub
PrivateSubrkcx_Click()'调入入库查询
Loadmain_rqDialog
main_rqDialog.Show
main_rqDialog.Text1.Text="0"
frm_main.Enabled=False
EndSub
PrivateSubthfccx_Click()'调入退货返厂
Loadmain_rqDialog
main_rqDialog.Show
main_rqDialog.Text1.Text="1"
frm_main.Enabled=False
EndSub
PrivateSubxscx_Click()'调入销售查询
Loadmain_rqDialog
main_rqDialog.Show
main_rqDialog.Text1.Text="2"
frm_main.Enabled=False
EndSub
PrivateSubxsthcx_Click()'调入销售退货查询
Loadmain_rqDialog
main_rqDialog.Show
main_rqDialog.Text1.Text="3"
frm_main.Enabled=False
EndSub
PrivateSubgysgl_Click()'调入供应商管理
Loadmain_jbxx_gys
main_jbxx_gys.Show
frm_main.Enabled=False
EndSub
PrivateSubkhgl_Click()'调入客户管理
Loadmain_jbxx_kh
main_jbxx_kh.Show
frm_main.Enabled=False
EndSub
PrivateSubcqjz_Click()'调入初期建帐
Loadmain_xt_cqjz
main_xt_cqjz.Show
frm_main.Enabled=False
EndSub
PrivateSubmmsz_Click()'调入密码设置
Loadmain_xt_mmsz
main_xt_mmsz.Show
frm_main.Enabled=False
EndSub
PrivateSubsjbf_Click()'调入数据备份
Loadmain_xt_sjbf
main_xt_sjbf.Show
frm_main.Enabled=False
EndSub
PrivateSubsjhf_Click()'调入数据恢复
Loadmain_xt_sjhf
main_xt_sjhf.Show
frm_main.Enabled=False
EndSub
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Key
CaseIs="rkd"'调入入库单
rkd_Click
CaseIs="xsd"'调入销售单
xsd_Click
CaseIs="xscx"'调入销售查询
xscx_Click
CaseIs="kccx"'调入库存查询
kccx_Click
CaseIs="gys"'调入供应商管理
gysgl_Click
CaseIs="kh"'调入客户管理
khgl_Click
CaseIs="cqjz"'调入初期建帐
cqjz_Click
EndSelect
EndSub
实现目标:
密码验证成功后,进入程序主界面。
其实现的功能如下:
a.选择主界面的菜单或工具栏,调用相应程序,进行相应操作。
b.显示开发者信息、系统日期和时间。
2、日常业务设计
(1)入库单模块设计(窗体名:
入库单.frm)
程序代码过长,内容较多,详见程序中
程序启动后,选择“日常业务”菜单下的“入库单”项,将进入入库单模块。
其实现的功能如下:
a.完成药品入库工作,入库采用智能化表单式录入。
b.自动生成入库票号,可利用键在列表框中选择供应商信息
c.系统自动统计入库品种、入库数量、入库金额。
(2)销售单模块设计(窗体名:
销售单.frm)
程序代码过长,内容较多,详见程序中
程序启动后,选择“日常业务”菜单下的“销售单”项,将进入销售单模块。
其实现的功能如下:
a.完成药品销售的功能。
b.自动生成销售票号、销售日期;统计销售品种、销售数量、销售金额。
c.根据商品名称或简称自动检索相应的商品信息。
(3)销售退单模块设计(窗体名:
销售退单.frm)
程序代码过长,内容较多,详见程序中
程序启动后,选择“日常业务”菜单下的“销售退单”项,将进入销售退单模块。
其实现的功能如下:
a.完成药品销售退货功能。
b.自动生成销售退单票号、销售退单日期;统计退货品种、退货数量、退货金额。
c.根据商品名称或简称自动检索相应的商品信息。
3、库存管理设计
(1)库存查询模块设计(窗体名:
库存查询.frm)
PrivateSubForm_Activate()
'向combo1添加查询项目列表
Combo1.AddItem("商品名称")
Combo1.AddItem("简称")
Combo1.AddItem("批号")
Combo1.ListIndex=0
EndSub
PrivateSubForm_Load()
Data1.DatabaseName=App.Path&"\yyjxc.mdb"'自动识别数据库路径
EndSub
PrivateSubForm_Unload(CancelAsInteger)
frm_main.Enabled=True
EndSub
PrivateSubCommand1_Click()
'查询库存信息
Data1.RecordSource="select*fromkcwhere(kc."&Combo1.Text&""&"like"+Chr(34)+Text1.Text+"*"+Chr(34)+")"
Data1.Refresh
EndSub
PrivateSubCommand2_Click()'删除库存信息
OnErrorResumeNext
Data1.Recordset.Delete
Data1.Refresh
Data2.Refresh
EndSub
PrivateSubCommand3_Click()
frm_main.Enabled=True
UnloadMe
EndSub
程序启动后,选择“库存管理”菜单下的“库存查询”项,将进入库存查询模块。
其实现的功能如下:
a.选择字段查询库存商品信息,可模糊查询。
b.删除库存商品信息。
(2)库存盘点模块设计(窗体名:
库存盘点.frm)
PrivateSubForm_Activate()
'设置ms1表格的列宽
MS1.ColWidth(0)=12*25*0:
MS1.ColWidth
(1)=12*25*8
MS1.ColWidth
(2)=12*25*0:
MS1.ColWidth(5)=12*25*5
MS1.ColWidth(9)=12*25*3:
MS1.ColWidth(10)=12*25*0
EndSub
PrivateSubForm_Load()
Data1.DatabaseName=App.Path&"\yyjxc.mdb"'自动识别数据库路径
EndSub
PrivateSubForm_Unload(CancelAsInteger)
frm_main.Enabled=True
EndSub
PrivateSubCommand1_Click()
'盘点库存大于零的库存信息
Data1.RecordSource="select*fromkcwherekc.库存>0"
Data1.Refresh
MS1.Col=9:
MS1.Sort=flexSortNumericAscending'第9行按升序排序
EndSub
PrivateSubCommand2_Click()
frm_main.Enabled=True
UnloadMe
EndSub
PrivateSubMS1_Click()
EndSub
程序启动后,选择“库存管理”菜单下的“库存盘点”项,将进入库存盘点模块。
其实现的功能是盘点库存商品信息。
(3)价格管理模块设计(窗体名:
价格管理.frm)
PublicSubeval()'定义赋值函数
IfData2.Recordset(0)<>""Thenpz.Caption=Data2.Recordset(0)Elsepz.Caption="0"
IfData2.Recordset
(1)<>""Thenhjsl.Caption=Data2.Recordset
(1)Elsehjsl.Caption="0"
IfData2.Recordset
(2)<>""Thenhjje.Caption=Data2.Recordset
(2)Elsehjje.Caption="0"
EndSub
PrivateSubForm_Load()'自动
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 管理信息系统 报告