连锁药房药品进销存管理系统
1 引言
1.1 概述
在当今这个信息化的社会中,谁能更有效的利用自身资源,掌握更全面、更准确的信息,更快的做出科学的决策,谁就能顺应社会的潮流,在激烈的竞争中站稳脚跟,并同时给企业带来更高的回报[1]。
近年来,随着我国经济与高科技的飞速发展,商业企业间竞争日益激烈,各商家企业都在进行着一场变革,无论是从生产效率、销售渠道或是管理方法,都要求能更好的顺应社会发展的大环境,提高企业自身价值[2]。由于传统的信息处理速度慢、效率低而难以适应当前社会要求经济高效的状况,这就需要通过用计算机的高速处理和大存储量来寻求一种新的办法进行管理。
管理是企业工作的核心,管理信息的重要作用不容忽视,所以每个大企业都把信息管理放在重要位置,管理工作的成败取决于能否做出有效的决策,而有效的、正确的决策则取决于来自外界的、内部的正确信息。科学的进步和生产的发展使人类的意识总量不断增长,生产社会化趋势的扩大和社会对产品需求的多样化,生产经营活动中涉及内外部的信息量的迅速膨胀等因素,对信息进行收集、加工、传递等过程的时间性和准确性都提出了更高要求。计算机这个高效率工具能解决人们的这种客观要求,事实证明计算机被广泛用于军事、科技、经济、商务等各方面,且获得了巨大成功。近些年应用于管理领域也获得了成功。今天,计算机主要应用于科学技术计算、生产控制和管理等方面,成为企业管理中的重要手段,它不仅用于数据处理,而且也成为决策的有力工具。计算机把生产经营过程中巨大的数据流收集、组织起来经过加工处理转换成为对各级管理人员做决策的有用信息,辅助企业各项业务活动的进行。计算机技术与通信技术的结合,促进了现代化信息技术的发展。世界上大多数发达国家都十分重视计算机在管理中的应用,大多企业将全部投资的10%用于计算机方面,其中的70%用于管理,其作用可见一般。在管理方面计算机应用已发展成为专门的管理信息系统(MIS)。连锁药房药品进销存的管理就是管理的一个典型部分。
连锁药房药品进销存管理系统包括该药房药品的进库、药房药品的出库、人药房药品的货存量。它是连锁药房药品信息化管理的重要组成部分. 连锁药房药品进销存管理是一项琐碎、复杂而又十分细致的工作。手工进行药房日常的进销存等工作,容易出现“开空单”的现象,且呆账、错账时有发生。正是药房药品管理的这种重复性、规律性、时间性,使得药房管理计算机信息化成为可能。计算机进行药品的进销存管理工作,不仅能够保证药品的进销存的核算正确无误,而且还可以严格规范企业的应收应付管理,并利用先进的管理模式,推动连锁药房的快速发展。实现药房药品管理工作的系统化、规范化和自动化[3]。
1.2 开发背景
随着我国市场经济的蓬勃发展和人们对医药产品需求的迅速增强,药房行业正处于一个高速发展的时期。行业的快速发展必然导致市场竞争的加剧,要想在激烈的市场竞争中谋求发展,客观上要求药房必须加强药品管理,提高运营效率。而现在我国大部分药房是由原来的国有零售药店改造或医药企业职工下海创办的,虽然经营实现了专业化,但是从信息机制上还没有摆脱原有的销售模式,药房内部没有形成完善、有效的激励和约束的信息化管理机制,药房发展的动力不足,影响了药房的持续、稳定、快速发展[4]。
同时,我国医药经营形式正在向集团化、连锁化发展[5]。在这一发展过程中,旧有的药房药品管理模式已不能适应新型的社会主义市场经济的要求。如何利用现代信息技术使企业拥有快速、高效的市场反映能力和高度的效率,已是医药经营企业,特别是连锁药房特别关心的问题。再者,由于医药产品种类繁多、销售模式特殊、业务量大,单凭手工记账很难适应工作的需要。医药作为一个关系到人们健康的特殊行业,国家对医药行业又有一些不同于其他行业的管理政策,这些都加大了管理的难度。如何尽快建立和完善现代企业的信息化管理机制,已成为连锁药房生存发展的关键所在。
1.3 开发的目的及意义
1.3.1 开发的目的
连锁药房主要从事医药产品的零售、批发等工作。由于企业每天的销售量特别大,而企业一直采用手工操作,尤其药品销售部分存在工作量大效率低、雇用人员多、服务质量差、日常销售数据经常出错、库存查询困难、顾客需求信息不能及时掌握等问题。随着社会经济的迅速发展,面对医药产品销售业日益严酷竞争的现实,加强管理、提高工作效率和改善服务质量成了急待解决的问题。而解决这些问题的关键措施之一就是建立实用、先进、高效的药房药品管理系统,引进创新的经营机制,适应新形式下企业的生存和发展[6]。
1.3.2 开发的意义
连锁药房药品进销存管理系统的开发应用,能集中处理药品的进销存业务,严格规范公司的应收应付管理,并利用先进的管理模式对提高仓储管理的工作效率和对市场的反应能力进行帮助,能高效益、低库存、保证服务质量的满足药品销售日常管理的需要,使其采用现代化管理手段以适应药品销售的发展。
1.4 开发思路和主要内容
1.4.1 开发思路
使用结构化方法将把信息系统开发的初步设想,按照可行性研究后画好的数据流图,根据输出要求沿数据流图回溯,看输出及运算所得到的信息是否满足输出要求。进行总体设计和详细设计,包括设想供选择的方案,选择合理的方案,推荐最佳的方案,功能分解,设计软件结构。自上向下分解,数据库设计根据数据字典进行数据库的逻辑设计。系统实施后转变成为实际可以交付用户使用的信息系统。
1.4.2 开发的主要内容
连锁药房药品进销存管理系统开发包括三个方面的内容:系统分析,系统设计,系统实施。其需要做大量复杂的工作,系统分析阶段就是按系统规划所定的某个开发项目范围内明确系统开发的目标和用户的信息需求,提出系统的逻辑方案。系统设计是根据新系统得逻辑方案进行软、硬件系统的设计。系统实施是系统设计付诸于实施。除此之外,还包括项目管理、系统支持等。这些工作一般需要交叉并行进行。信息系统开发又是在一定的时间范围中进行,从某一时间开始,到另一时间结束。按照时间顺序,以及信息系统开发工作的综合特征,可以把信息系统开发过程划分成开始、细化、构建和移交四个阶段。每一项工作都要经过一个或几个阶段,在每一个工作阶段中,有需要经过多次迭代过程。及时编写文档,并进行复查和复审防止文档和系统脱节,造成维护的困难。
2 系统设计方案
2.1 系统客户要求
系统开发的目标是实现药房药品进销存管理的系统化,规划化和自动化[7]。这是在用户要求的基础上提出来的,用户要求如下:
产销衔接。利用进销存系统后,要求能对整个生产过程进行实时的监控,特别是一些半产品和热销产品的库存量和生产能力。对于即将生产完成的产品,能够提前将信息由生产部门传递到销售部门,这样销售部门可以根据客户订单的要求,提前做好发货的准备。
产品库存。通过本系统,能够清楚的看到企业库存中的产品数量,库存地点等信息。使得生产部门和销售部门都能够根据库存信息作出决策。
订单管理。对于销售部门输入地订单,能够根据电脑一直跟踪下去。企业做到以销订产,在库存中备有一定地储备量。
客户管理。能够对企业地客户有一个清楚地了解,通过客户管理部分保持和客户良好地关系。及时得到客户反馈地意见,上交有关部门及时处理。
发货计划。根据客户订单地要求和企业现有地库存,自订发货数量,发货顺序等计划。
生产计划。根据客户订单地要求和企业现有地库存,自订企业地生产计划。
2.2 系统开发目标
在上面用户要求的基础上,得到下面的系统目标。
产销衔接。能够对整个生产过程进行实时的监控,特别是一些半产品和热销产品的库存量和生产能力。加强企业生产部门和销售部门之间的联系和沟通。
库存管理。能够清楚的看到企业库存中的产品数量,存放地点等信息。对于库存过多和过少地产品进行报警。
订单管理。对于订单能够实现计算机连网输入,查询,跟踪和确认。订单可以根据多个方面进行汇总分析。
客户管理。能够对企业地客户有一个清楚地了解,通过客户管理部分保持和客户良好地关系。能够根据客户查询客户订单完成情况。
发货计划。根据客户订单地要求和企业现有地库存,自订发货数量,发货顺序
等计划,形成货物销售单。
生产计划。根据客户订单地统计和企业现有地库存,制订企业地生产计划。
2.3 系统开发设计思想
尽量采用毕业设计现有地软硬件环境,及先进地开发方案,从而达到充分利用现有地资源,提高系统开发水平和应用效果地目的。
系统应符合生产,销售,库存地规定,满足药房日常工作需要,并达到操作过程中地直观,方便,实用,安全等要求。
系统采用先进的两层体系结构Client(客户端)负责提供表达逻辑,显示用户界面地信息,基本操作;SQL Server(服务器端)负责实现数据服务。
系统采用模块化程序设计方法,既便于系统功能地各种组合和修改,又便于未参与开发地技术人员补充,维护。
系统应具备数据库维护功能,及时根据用户要求进行数据的添加,删除,修改等操作。
2.4 系统功能分析
系统功能分析是系统开发的总体任务的基础上完成。本系统中的进销存管理系统需要完成产销衔接,产品库存管理,订单管理,客户管理,发货管理,生产计划管理,库存管理,订单管理等多个功能,满足企业高效率的需求。
2.5 系统功能模块设计
通常程序中的一个模块完成一个适当的子功能。应该把模块组织成良好的层次系统。我们在对模块设计时应该遵循启发式规则,使得模块规模适中,深度、宽度、扇出和扇入适当,并在设计模块时尽量使模块独立,做到高内聚,低耦合,并保持信息隐蔽和局部化原则。
在基于WEB的网站设计中,对系统的功能进行严格的划分是比较重要的,这样可以进行有效和完善的管理。因此从设计上的需要我把它分为前台信息的浏览、处理和后台数据、文件的管理[8]。
在系统功能分析的基础上,考虑程序编制的特点,得到如图1所示的系统功能模块图。
图1 系统功能模块结构图
登入管理:要求管理员输入账户和密码,只有登录成功的管理员才能使用系统提供的特殊功能,否则无法对系统进行操作。
仓库管理:对药品所在的仓库进行有效的管理,按照规则把药品进行分类,同时掌握药品的出入库。
药品管理:要包括药品的主要信息、药品的效期、价格和销售金额销售量,并根据相应的药品存储信息对是否进对其行计划。
统计管理:对销售和库存的具体信息的一个统计。
个人设置:用户可以修改除账户以外的所有注册时填写的信息。但在修改密码时要求密码重复验证。
退出系统:完成操作或长时间不工作都可以退出系统。
2.6 连锁药房药品进销存管理系统和其它子系统的关系
药品进销存管理系统是整个药房信息管理系统的一个重要部分。它与企业中其它系统之间的接口和关系如下:
与生产子系统的连接
与财务系统的关系。
与销售分支机构的关系。
2.7 数据库需求分析
在仔细调查连锁药房药品进销存管理过程的基础上,得到系统所要处理数据的流程,如图2所示。
图2 数据流程图
通过对连锁药房药品进销存管理的内容和数据流程分析,设计的数据项和数据结构如下
入库、出库功能(仓储管理、供求管理、商品维护(包括增加、删除、修改商品))
价格管理(编制拟调价药品明细,自动生成调拨单/冲调拨单、入库单/冲入库单及调价明细表)
药品管理(登记药品信息(库存上、下限,以便即使购进和补充药品)设置效期药品管理功能,对近效期药品可进行报警提示)
药品计划管理(根据药品实际库存和近几个月的平均消耗人工调整采购计划)
药品化价(药房化价时系统自动生成唯一的处方编号,提高化价准确率)
帐务管理(系统提供各类汇总统计与报表打印)
查询功能(查询任一药品任意时间段的入库、出库、盈亏、报损明细,并汇总相关金额。)
往来单位的管理(往来单位分内部单位(药房和临床科室)、外部单位(药品供应商)录入其地址、联系方式、银行帐号等信息)
数据输出功能(系统设有数据输出功能,凡查询或调出的数据都能转存到Excel中)
2.8 运行环境和开发工具的选择
通过以上各种技术的介绍和比较,结合我自己的实际情况,我主要采用Dreamweaver MX 2004 做管理界面,利用ASP,SQLServer2000实现数据库应用和数据管理的设计方案。除此之外,我选择ASP技术还有以下原因:[9]
ADO(ActiveX Data Objects)技术是微软公司推出的数据库连接技术,运用该技术可以对各种数据库(如SQL Server,Access,Oracle及Sybase等)的链接,查询,存取等操作。
ADO对象给开发人员提供一种快捷,简单,高效的数据库访问方法,ADO可以包含在脚本中来产生对数据库的连接,并从数据库表中读取数据,形成实际要使用的对象集合。而且,对于数据资源,提供了应用程序一级的界面。不过,ADO并不与数据资源直接通信,而是通过称为OLE DB的中间界面。对于数据资源(Microsoft SQL Server),OLE DB提供了系统一级的界面。
ADO是一组优化的访问数据库的对象集,为Web数据库开发者提供完整的网站数据库解决方案。ADO可以与ASP紧密结合,运行在服务器端,从而制作出功能完善的数据库网页。ADO除了支持各种数据库平台外,它还支持VB,VC和Script等多种程序设计语言。
目前,该技术已升级到.NET。尽管它们在脚本语言和构架设计上有很大不同,但从某种意义上来说,这是它为适应未来需要而进行的技术上的更新[10]。
2.8.1 运行环境
软 件:
服务器:Windows2000 server以上,数据库 SQL Server2000标准版(企业版)
客户端:Windows 9X以上操作系统
数据库:SQL Server 2000 等
硬 件:
服务器:CPU:P4 2.8G 以上,RAM:512MB,硬盘:80GB以上,CD-ROM
客户端:CPU:PII 166以上,RAM:64MB,硬盘:2GB以上,CD-ROM
2.8.2 开发工具
Dreamweaver MX 2004 是建立 Web 站点和应用程序的专业工具。 它将可视布局工具、应用程序开发功能和代码编辑支持组合为一个功能强大的工具,使每个级别的开发人员和设计人员都可利用它快速创建界面吸引人并且基于标准的站点和应用程序[11]。
ASP(Active Server Pages) 开发动态Web页的新技术。具有开发简单、功能强等优点。ASP属于ActiveX技术中的Sever端技术,其程序中的语句都是在服务器上解释执行的[12]。
ASP可以利用ADO组件来完成数据库的访问操作。ADO是ASP内置的ActiveX组件,主要使用RecordSets对象作为数据的主要接口,其特点是使用方便、效率高[13]。
Adobe PhotoShop 为建站提供原始的素材,它的强大的功能可以完成大部分图片处理和特殊效果[14]。
3 系统设计过程论述
3.1 系统具体分析
3.1.1 系统综合要求
前台要实现的功能:
由于在连锁药房进行购物的顾客或者单位的数量繁多,类型不同,如何帮助管理员正确使用系统的操作和技巧,必须在这个设计中体现出来。
(1)界面友好,操作简单,提供大量的使用和提示说明。
(2)在仓库管理中,对仓库名称、所在地址、描述能进行查询,同时可以进行编辑;对存储规则的管理中,能够对药房药品的不同仓库的库存上限下限进行调整、编辑,是仓库空间能够充分的利用;对出入库的管理能够明确的知道哪些具体的药品的出库、入库的类型,以及出库、入库的数量和日期进行有效的管理。
(3)在药房管理中,对药房内所有药品的基本信息(药品的名称、药品总的剂量、药品的生产厂家、药品所在的仓库,药品所在的仓库的数量和有效期、药品的进价、售价和能够进行的折扣、药品销售的总量、销售总的资金金额、销售日期、药品的库存状态和采购计划)能够能够查询。
(4)对药房内所有的药品的出入库变化情况和销售情况查询。(在某个时间段内药品的基本变化情况)
(5)显示药品的具体信息时,要详细显示药品的大部分信息,并注明不同厂家和不同产品价格区别。
(6)允许管理员能够对药品信息和库存状态进行修改,并能够对过期的药品和库存不足特殊显示,以便于药品的及时补充。
(7)为了维护系统的安全稳定运行,保证系统信息的及时性和有效性,管理员应该要仔细阅读管理首页的注意事项。
(8)对于药房需要采购药品时,采购订单整个流程要做到简单明了、安全,能够对所需要采购的药品信息进行详细的说明。
(9)本管理系统新颖系统界面增加对药房管理员的吸引力,在一接触的过程中就会留下深刻的印象,使其有种赏心悦目的感觉,而不是以前那种单一无味的表格模式,文字信息,充分调动药房管理员工作的积极性。
(10)整个界面以蓝色、浅紫色为主色调,布局统一,用CSS统一整个版面的样
式。
后台管理功能:
要能够对此管理系统绝大部分的动态信息直接操作,尽量不改动页面。
(1)提供存储规则管理、出入库管理、药品信息管理、药品价格管理、销售和库存采购计划管理等。
(2)提供系统本身信息修改,使用空间查看等附加功能。
安全性:提供数据备份和系统日志查看和管理。
系统性能要求:数据处理速度要快,并能够在短时间内响应管理员的请求。
运行要求:为了使系统安全、稳定的运行,本系统软件运行环境为IIS (Internet Information Server)5.0及以上版本,SQL Server2000及以上版本,通过ASP(Active Server Pages)技术实现。
可靠性:系统运行数据要一致,如果遇到系统不能正常运行要提供快捷恢复方式。
可用性:系统要能够为现在以及以后连锁药房不同业务的发展提供扩展功能。
出错处理:对于用户输入的错误数据或非法数据,要尽量在程序中进行检验并提示相关预定义的错误。对于可能出现的系统错误要尽量隐蔽其细节,并转向相应的出错处理程序进行重新处理。
3.1.2 连锁药房药品进销存管理系统的页面设计
前台浏览:
页面基本上可以划分为管理首页、仓库管理、药品管理、统计查询、个人设置和退出系统六个区域,其中库管理、药品管理、统计查询和个人设置为主要功能模块。主菜单栏以银白色为主;个主菜单的子菜单都一浅蓝色为主,整个页面以浅紫色为主。主菜单可以展开,同时也可以收缩。
后台管理:
由于这主要是一个管理界面,因此从使用方便角度划分为:LEFT和RIGHT区域。LEFT部分要把所有管理功能的一级菜单列入其中,以实现快速操作。RIGHT是操作的显示区,每个显示的页面要包含一级操作以下的所有操作子菜单。以蓝色为主。
3.2 系统具有的功能模块具体介绍
连锁药房药品进销存管理系统是专为药房药品批发零售度身设计的专用进销存管理软件。软件模块结构清晰、操作方便、简单实用,操作人员一般不用培训,参照“帮助文档”自己摸索就能使用。及时反应各种药品的库进销存情况,全面及时掌握经营情况和经济收益。在本系统管理系统中具体的实现了以下几个大的功能:仓库管理、药品管理、统计查询和管理员密码设置,以下我们就分类介绍这几个大功能。如图3:
图3 系统四大功能
3.2.1 仓库管理
仓库管理是一个综合了仓库信息维护、存储规则管理和出|入库管理的总的管理。图4介绍了仓库与其子系统的关系。
图4 仓库管理系统
仓库信息维护:仓库信息维护的作用主要是对现有的药品的存储的仓库名称和存储仓库的地点进行编辑。
表1 仓库信息表(stores)
字段名 |
字段类型 |
说明 |
storeid |
int |
仓库唯一id,自动增量 |
name |
Varchar(200) |
仓库名称 |
address |
Varchar(200) |
仓库所在地址 |
description |
Varchar(200) |
仓库描述 |
图5 仓库信息
存储规则管理:存储规则管理是对药品的储存的仓库名称、药品的名称以及库存的上下限进行全面的系统的管理。
表2 存储规则表(storerule)
字段名 |
字段类型 |
说明 |
uid |
bigint |
规则唯一id,自动增量 |
medicalid |
bigint |
药品id |
storied |
int |
仓库id |
topcount |
int |
存储上限 |
basecount |
int |
存储下限 |
curcount |
int |
当前数量 |
图6 存储规则
出|入库管理:出|入库管理介绍了对出入库药品的名称、是出还是入的类型、出入库的数量和出入库的时间进行具体的管理分析。
表3 出入库记录表(outinrecords)
字段名 |
字段类型 |
说明 |
uid |
bigint |
记录唯一id,自动增量 |
medicalid |
bigint |
药品id |
storied |
int |
仓库id |
stype |
bit |
类型,0表示入库,1表示出库 |
tcunt |
int |
数量 |
managerid |
int |
操作员id |
shandler |
varchar(200) |
经手人 |
opdate |
smalldatetime |
日期 |
图7 出|入库管理
3.2.2 药品管理
药品管理包含了药品信息维护、药品效期管理、药品价格管理、药品销售管理和药品计划管理。如下图11
图8 药品管理
药品信息维护,主要是对药品的编码、药品的名称、药品的剂量,此药品的生产厂家。
药品效期管理,具体分析了所在仓库的哪中药品的数量和有效期时间进行管理。
药品价格管理,它是药品名称具体的进价、原价和折扣进行编辑管理工具。
药品销售管理,是负责药品的出售数量,出售药品的总金额和药品出售的日期。
药品信息表:综合介绍药品信息维护、药品效期管理、药品价格管理和药品销售管理。
表4 药品信息表(medical)
字段名 |
字段类型 |
说明 |
medicalid |
bigint |
药品唯一id,自动增量 |
cname |
Varchar(200) |
药品通用名 |
tiaoma |
Varchar(200) |
药品条码 |
bianma |
Varchar(200) |
药品编码 |
jiliang |
Varchar(200) |
剂量 |
pici |
Varchar(200) |
批号 |
jinjia |
money |
进价 |
shoujia |
money |
定价 |
dazhelv |
float |
折扣 |
outdate |
smalldatetime |
出厂日期 |
pertime |
smalldatetime |
过期日期 |
prodcorp |
Varchar(200) |
生产厂家 |
provider1 |
Varchar(200) |
主供应商 |
provider2 |
Varchar(200) |
次供应商 |
图9 药品信息实体图
药品计划管理:
药品计划管理对药品和药品所在仓库的存储状态进行详细的系统管理。对药品存储不足的仓库进行文字提示,对药品存储接近漫溢状态的仓库进行颜色提示。计划管理就是对药店近期需要采购的药品、采购数量和采购药品的供应商的管理。
表5 药品采购计划表(stockplan)
字段名 |
字段类型 |
说明 |
uid |
int |
计划唯一id,自动增量 |
status |
bt |
计划状态,0-未执行,1-已执行 |
medicalid |
bigint |
药品id |
tcount |
int |
计划采购数量 |
zongjia |
money |
总价 |
provider |
Varchar(200) |
供应商 |
makeuserid |
int |
计划制订人id |
makedate |
smalldatetime |
制订日期 |
execuser |
Varchar(50) |
采购员 |
execdate |
smalldatetime |
采购日期 |