药店管理信息系统报告.docx

上传人:b****5 文档编号:7146859 上传时间:2023-01-21 格式:DOCX 页数:35 大小:497.02KB
下载 相关 举报
药店管理信息系统报告.docx_第1页
第1页 / 共35页
药店管理信息系统报告.docx_第2页
第2页 / 共35页
药店管理信息系统报告.docx_第3页
第3页 / 共35页
药店管理信息系统报告.docx_第4页
第4页 / 共35页
药店管理信息系统报告.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

药店管理信息系统报告.docx

《药店管理信息系统报告.docx》由会员分享,可在线阅读,更多相关《药店管理信息系统报告.docx(35页珍藏版)》请在冰豆网上搜索。

药店管理信息系统报告.docx

药店管理信息系统报告

成绩

 

管理信息系统课程设计报告

 

系统名称药店信息管理系统

 

班级管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()'自动

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

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1