搜档网
当前位置:搜档网 › 药品进销存管理系统

药品进销存管理系统

药品进销存管理系统
药品进销存管理系统

新疆财经大学

毕业(设计)论文

题目:药品进销存管理系统

学生姓名:努尔曼古丽·艾散

学号: 2008100641

院部:计算机科学与工程

专业:计算机科学与技术

班级:计算机08-2班

指导教师

姓名及职称:古丽米热老师

完成日期:2012-11-14

摘要

随着科学技术的进步,计算机行业的迅速发展,大大提高人们的工作效率。计算机信息处理系统的引进已彻底改变了许多公司的经营管理。甚至附近的一个小店主也可能正在用计算机来控制销售、记账及其他活动。在一些大公司里,电子信息处理系统检测全部工作设备的操作与运行。

在药店里,药品进销存管理是一项非常重要的工作,使用人工方式管理各项药品信息不仅效率低下,而且容易出错、安全性很差。并且在实际操作中,数据的查找和维护都不容易实现。药品进销存管理系统,就是为了解决这些问题而设计的。其目的是实现药品信息管理和出入库记录的快速高效检索,使操作简单安全,提高工作效率和质量。药品分类互不雷同。现在国家也没有相关的规范,只是明确了大的分类原则。好多药店理解不同,导致分类各有千秋。药品进销存是药品分类管理要求的主要体现,规范合理的进销存系统有利于零售药店加强处方药与非处方药的分类管理,减少因记录混乱而错拿药品等事件的发生。

本系统使用的开发工具是PB9.0,数据库使用的是PB自带的ASA数据库,它实现了药店的主要数据录入和数据的统计分析处理。为药店整合各药品信息,进药信息,员工信息,退货信息,销售信息与统计提供了很好的统计工具。很好的实现了管理智能化,轻松化,简便化的目标。

关键词:药品进销存管理系统,需求分析,系统设计,系统模块,ASA数据库.

目录

第一章开发背景和意义 (1)

第二章系统分析 (2)

2.1系统应用需求 (2)

2.2可行性分析 (2)

2.3系统主要功能概述 (3)

2.4 系统运行环境 (3)

第三章系统设计 (5)

3.1 系统结构设计 (5)

3.2 业务流程分析 (6)

3.3 数据库实体图 (7)

3.4 系统的功能结构设计 (9)

3.5数据库设计 (10)

3.6 数据库表结构 (10)

第四章系统实现 (12)

4.1登录界面 (12)

4.2系统主界面 (14)

4.3药品进货登记界面 (14)

4.4药品销售登记界面 (16)

4.5销售统计表 (18)

4.6入库退货界面 (18)

第五章总结 (21)

结束语 (22)

致谢 (23)

参考文献 (24)

第一章开发背景和意义

随着当今世界计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业进销存管理势在必行。使用传统的手工管理方式,一方面效率低下,另一方面容易造成错误。企业要实现现代化的主要内容之一就是实现药品的进销存信息管理系统的现代化,只有将计算机引入企业的管理,才能真正形成现代化企业的组织形式、管理和运用方式,才能真正体现企业规范化、科学化、现代化管理的手段。各行各业的管理、控制都越来越离不开计算机的辅助。“药品进销存管理系统”的开发就是为了辅助大多数药房的基本管理,实现信息管理的系统化、规范化和自动化。

以前的手工管理效率低是最明显的缺陷,另外,数据的一致性不好维护,如某个药品信息的某条记录有所改动,那么该要品的其他记录就与此不一致,造成查询的费时费力。要把全部数据都更改又相当不方便。对药品库存的盘点也很不方便,而且需要较多的人来进行管理操作,而且容易出错,造成数据的不一致。因此,运用高效、准确的管理系统来替代手工管理是完善医药业管理的有效手段。

利用药品进销存管理系统可以很好的对数据进行维护,减少由于数据不一致等错误带来的麻烦,方便数据的更新和查询,降低错误率,方便药品信息的维护及库存的盘点。可以运用较少的人员,高效的完成对医药的管理。由于社会的发展不断趋于信息化,各个行业都要加强自身的信息化程度以适应社会的发展。而管理信息化正迎合了这个趋势,数据库系统在医药业的应用业实现了医药业执行工具、业务管理等的信息化,在这个信息化社会为医药业的发展增加了新的动力。相信随着社会的不断发展对该类系统的需求会越来越高。药品进销存管理系统,即服务于个人,又服务于企业,并最终服务于社会,这是让科技为人类服务的最好例证,其开发意义显而易见。

药品进销存管理系统可以实现药品商家的高效管理,还可以节约资源。通过集中式的信息数据库,将商家的进、销、存等经营业务有机的结合起来中,达到数据共享、降低成本、提高效率、改进服务等目的。

第二章系统分析

2.1系统应用需求

1、需求分析:

随着计算机网络技术以及数据库技术的迅速发展,管理信息系统得到了广泛应用。对于一个药店来讲:货品数量少则数以百计,多则数以万计;另外,不同超市的实际情况也有所不同。要对这些药品进行统一、高效的管理,靠人工完成工作量庞大、难免有错漏之处。为此,一个自动化的药品进销存管理系统的开发非常必要。

2、功能需求:

1. 登陆功能

要使用药品进销存管理系统,需要有用户名和密码,用户类别才能进入进行操作。按用户类别的不同,他们能做的操作也不同。

2. 用户登陆后可以添加、查询、修改和删除药品信息,处理进货、售货、退货。进货和售货的时候可以不用记住药品的太多的信息,可以通过选择药品架位号来进行操作。退货操作只能管理员才能实现。仓库员和销售员没有退货的权力。

3.销售员销售药品后,及时录入药品信息等数据,在数据库中进行数据更新。

4.在查询的时候,用户不用记住药品的太多信息,可以通过选择药品名称,架位号,药品分类来进行操作。在进行了有关药品的数量操作后,库存可以自动实现同步功能。

5.在收银处,随时录入卖出商品信息,如名称,架位号,数量,单价等,及时更新数据库数据。

6.在销售统计表中,随时可以录入几个月的销售量查询时可以显示出月总额和销售量的统计的图标。

2.2可行性分析

通过对药店的各个方面进行了具体的了解和分析之后,现对该单位进行药品进销存管理系统的开发可行性进行分析。

技术:该系统所需硬件设备,市场上销售价格较低,甚至可以使用原有的设备,软件上,操作系统采用Windows系列操作系统,数据库管理系统采用ASA数据库,开发工具采用power builder 9.0,这些软件在开发中已被大量应用,技术上都比较成熟。因此在技术上是可行的。本系统开发需求的软件有: Windows XP 操作系统、 PB 9.0、ASA 数据库。

药品进销存管理系统并不仅仅能代替传统的书面操作,更重要的是它提供了信息分析的功能,只要单击一个按钮就可以查看到目前销售最好的药品或者是库存最多的药品,从而起到指导经营的作用。使药店节省货物管理中的人力,减少劳动强度。降低成本及其他费用。改进薄弱环节,提高工作效率。提高数据处理的及时性和准确性。提高了企业的经济效益,所以从经济上是完全可行的。

2.3系统主要功能概述

1、基础信息的管理

员工信息的管理:包括员工信息的新增、修改和删除等。

药品基本信息管理:包括药品基本信息的新增、修改和删除等。

2、进货管理

药品进货信息管理:药品进货信息包括药品架位号,药品名称,进货数量、进货价、销售价、进货日期,进货人员等。药品进货管理功能完成信息登记等。

药品登记查询:可以根据药品架位号,药品名称,药品分类来查看某种药品的进货情况。

退货管理:批发进货的药品如果有什么问题,那么药店对药品厂家退货药品。退货信息的变动直接关系到库存的变化,已经退货的药品保存在退货表中,库存表的数量会减小的。

库存报表:对库存在某一段时间内的情况统计,提醒进货等信息。

3、销售管理

药品销售登记:药品销售登记包括药品架位号,药品名称,药品分类,销售数量,销售价,销售日期,销售人员,销售日期等。药品销售管理功能完成销售信息登记、修改和删除等。销售信息的变动直接关系到库存的变化。

销售登记查询:可以根据药品的名称,架位号,药品分类来查看某种药品的销售情况。

销售统计表:在这里对销售表在一段时间内的销售情况可以统计,提高操作者对药品的销售情况的理解。

2.4 系统运行环境

为了保证该系统运行的效率和可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。其运行要求如下:

(1)软件环境

开发工具:Powe rbu ild er9.0。

数据库:Powe rbu ild er提供的ASA(A dap ti ve S erv er Any whe re 9)。

开发环境:Windows98/2000/XP/WIN7/VISTA等。

(2)硬件环境

CPU:P200MMX以上, P/233及以上机型内存64M及以上容量,40G 以上的硬盘空间。

第三章系统设计3.1 系统结构设计

图 3.1药品进销存管理系统功能模块图

2、系统管理

修改密码。

数据备份。

3、药品销售管理模块

药品销售的操作。

药品销售信息。

药品销售统计。

4、库房管理模块

库存表浏览。

库存信息管理

5、药品进货管理模块

药品进货操作。

药品进货信息。

药品退货。

库存报表。

6、基础信息管理模块

药品基本信息,添加、删除、查询商品信息。

员工信息管理。

3.2 业务流程分析

超市货品管理系统主要是以先进的管理理念和科学的计算机技术来取代原始的手工操作。

图3.2药品管理系统业务流程图

系统主要业务分析:

1、进货业务

进货管理是药店经营活动中极其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。

2、库存业务

库存管理是指在生产经营中为销售和耗用而储存的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是寻求最佳存货数量,使库存的成本总额最小化。其主要业务如下:药品入库、出库等日常处理。科学合理地确定某库存物资的库存控制参数。

3、销售业务

销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务、生产等信息。此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,企业要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使企业在激烈的市场竞争中立于不败之地。

3.3 数据库实体图

实体图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。构成E-R图的基本要素:构成E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体;在E-R图中用矩形表示,矩形框内写明实体名;属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在E-R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;联系(Relationship):联系也称关系,信息世界中反映实体内部或实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。

主要的数据库实体图如下:

图3.3 药品类型信息实体图

图3.4 药品信息实体图

图3.5 销售信息实体图

3.4 系统的功能结构设计

在设药品进销存管理系统的整个过程中,我们对整个问题进行分解,从而把设计过程划分为几个阶段,每个阶段都有相对独立的任务,然后逐步完成每个阶段的任务。前阶段任务的完成为以后工作的进行提供了前提和基础,而后一阶段任务的完成,则使前一阶段提出的解法更进一步具体化。

结构如图所示:

图3.6药品进销存管理系统流程图

3.5数据库设计

数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库(flat-file)和关系数据库(relational)。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,象记录、域等。

创建任何一个数据库的第一步是仔细的规划数据库,设计必须是灵活的、有逻辑的。创建一个数据库结构的过程被认为是数据模型设计。

1.标识需要的数据;

2.收集被标识的字段到表中;

3.标识主关键字字段;

4.绘制一个简单的数据图表;

5.规范数据;

6.标识指定字段的信息;

数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。

3.6 数据库表结构

根据超市的业务量,本系统采用了小型的Asa数据库。数据库名称是药品进销存管理系统Sjk。数据表如下:用户表、库存表、销售表、退货表、职工表,一共5张表。

表3.1用户表

表3.2 药品信息表

表3.3销售表

表3.4员工信息表

第四章系统实现

4.1登录界面

首先给大家详细地介绍系统的登陆窗体的功能;用户登录窗体中在这一模块的设计中使用了文本框, 标签,并用了下拉列表框,按用户类型的不同,给他们分配权限,然后把它们绑定到用户表。如果登录者用户表中的用户那么他可以进入系统菜单窗口打开后,按自己权限范围来适应相应的功能,这是为了系统的安全性而设计的. 如果添错了就系统提醒“密码错误重新输入”再登录,如果想修改密码就按“修改密码”可以进行操作,如不想登录按“取消”可以退出了;

登陆界面设计:

图4.1系统登录界面

代码分析:

string a1,a2,a3

a1=sle_1.text

a2=sle_2.text

a3=ddlb_1.text

if sle_1.text=""OR isNULL(sle_1.text) then

messagebox("缺少数据!","请输入用户名!")

sle_1.setfocus()

return

end if

if sle_2.text=""OR isNULL(sle_2.text) then

messagebox("缺少数据!","请输入正确的密码!")

sle_2.setfocus()

return

end if

if a3="" then

messagebox("警告","请你选择准确的用户类型!")

return

end if

select 用户名,密码,用户类别 into :a1,:a2,:a3 from 用户表 where 用户名=:a1 and 密码=:a2 and 用户类别=:a3;

if sqlca.sqlcode=0 then

messagebox("提示!","登陆成功!")

open(w_main)

choose case a3

case "销售员"

main.m_进货管理.m_入库退货.enabled=false

main.m_进货管理.m_入库报表.enabled=false

main.m_进货管理.m_入库登记.enabled=false

main.m_库房管理.enabled=false

main.m_系统管理.m_数据备份.enabled=false

main.m_基础信息管理.enabled=false

case "仓库员"

main.m_进货管理.m_入库退货.enabled=false

main.m_基础信息管理.m_员工信息.enabled=false

main.m_系统管理.m_数据备份.enabled=false

main.m_销售管理.m_销售登记.enabled=false

main.m_销售管理.m_销售登记查询.enabled=false

main.m_销售管理.m_销售报表.enabled=false

case "管理员"

main.m_进货管理.enabled=true

main.m_销售管理.enabled=true

main.m_库房管理.enabled=true

main.m_基础信息管理.enabled=true

main.m_系统管理.enabled=true

end choose

close(w_denglu)

else

messagebox("提示!","登陆失败!请重新输入")

sle_1.text=""

sle_2.text=""

ddlb_1.text=""

end if

ss1=a1

4.2系统主界面

本系统采框架顶部里是系统的标题。主框架顶树型功能菜单,整个系统功能模块的跳转主要在这里完成。右部框架用来显示和操作各主要功能模块。系统主界面如下图所示

图4.2系统主界面

4.3药品进货登记界面

在本系统中,“入库表”模块包括商品编号,商品名称,数量,单价,日期等。进货窗口的界面如图所示;

就要功能是:进货人员打开该窗口只要输入商品编号,系统自动按照商品编号来名称,类型等一些列信息自动单出,进货者只要输入数量就添加到入库表,如果要进以前没有的货需要每个信息自己填写,从第二次开始不用一个一个的填写。

图4.3药品进货登记窗口

通过代码:

string s1,s2,s3,s4,s5,s7,s8,s9,s10,s11,s12

dec s6

date t1

s1=sle_1.text

s2=sle_2.text

s3=sle_3.text

s4=sle_4.text

s5=sle_5.text

s6=dec(sle_6.text)

s7=sle_7.text

s8=sle_8.text

s9=sle_9.text

s10=sle_10.text

s11=sle_11.text

t1=today()

select 架位号 into :s12 from 库存表 where 架位号=:s1;

if sqlca.sqlcode<>0 then

insert into 库存表(架位号,药品名称,规格,产地,单位,数量,进货价,销售价,批号,药品分类,有效期,进货日期)

values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:t1);

else

update 库存表 set 数量=数量+:s6 where 架位号=:s1;

end if

messagebox("恭喜","进货成功")

dw_1.retrieve()

sle_1.text=""

sle_2.text=""

sle_3.text=""

sle_4.text=""

sle_5.text=""

sle_6.text=""

sle_7.text=""

sle_8.text=""

sle_9.text=""

sle_10.text=""

sle_11.text=""

sle_1.setfocus()

4.4药品销售登记界面

在本系统中,“销售表”模块包括药品架位号,药品名称,数量,进货价,销售价,销售日期等。

销售窗口的界面如图所示;

就要功能是:销售人员打开该窗口只要输入药品架位号,系统自动按照药品架位号来名称,类型等一些列信息自动单出,销售者只要输入数量就可以销售成功并且这些信息到销售表,库存表的数量自然会减小。

图—4.4销售操作窗口

通过代码:

if sle_1.text=""OR isNULL(sle_1.text) then

messagebox("缺少数据!","请输入架位号!")

sle_1.setfocus()

return

end if

if sle_4.text=""OR isNULL(sle_4.text) then

messagebox("缺少数据!","请输入销售数量!")

sle_4.setfocus()

return

end if

sle_9.text=string(dec(sle_8.text) - dec(sle_6.text)) messagebox("恭喜","销售成功")

int n1

n1=messagebox("提示","是否要打印?",question!,yesno!) if n1=1 then

open(w_dayin)

end if

相关主题