药店管理论文正文.docx
《药店管理论文正文.docx》由会员分享,可在线阅读,更多相关《药店管理论文正文.docx(36页珍藏版)》请在冰点文库上搜索。
药店管理论文正文
药店管理论文
摘要
药品销售系统是适应时代发展的需要,提高管理的效率而开发设计的,为药品销售公司领导及各部门管理人员提供全面、准确的各种数据,实现了药品销售公司管理的简单化和规划化,提高了药品销售公司的工作效率,从而使药品销售公司能够以少的投入获得更好的社会效益与经济效益。
本系统分前台功能模块和后台功能模块,通过对功能模块的操作实现药品和用户的添加,删除,修改,查询,以及对销售记录的查询等。
本文首先是开发背景介绍和对所使用的开发工具的概述以及系统所用后台数据库Oracle的概述,最后详细讲解了各模块的功能。
关键词:
药品销售系统;ncurses;C语言;数据库;Oracle
Abstract
DrugSalesSystemmeetsthetimeneedtodevelop,enhancesthemanagementtheefficiencybuttodevelopthedesign,Theleadershipofvariousdepartmentsfordrugsalescompanymanagerstoprovidecomprehensiveandaccuratethedata.Hasrealizedthedurgsalescompanymanagementsimplificationandtheplan,enhancedthedurgsalescompanyworkingefficiency,thusenablesthedurgsalescompanytoobtainthebettersocialefficiencyandtheeconomicefficiencybythefewinvestments.ThisSystemmodulesfrontandback-officefunctionmodules,Therealizationofdrugsandusersadd,delete,modify,query,aswellassalesrecordsqueriesthroughtheoperationoffunctionalmodules.Firstly,thispaperintroducesthebackgroundofdesignandthetoolusedforthedesignandnarratesthebackstagedatabaseeOracleoftheSystem,Finallyexplainedindetailthefunctionofeachmodule.
Keywords:
DrugSalesSystem;ncurses;CombinedLanguage;database;Oracle
目录
摘要...............................................................2
Abstarct..........................................................3
第一章绪论......................................................6
1.1开发药品销售系统的意义.....................................6
1.2药品销售系统的发展及其前景.................................6
第二章系统开发技术,工具及运行环境...........................6
2.1系统的开发技术.............................................6
2.2系统开发平台介绍(Linux)..................................6
2.3系统开发工具介绍.......................................7
2.3.1C语言简介........................................7
2.3.2gcc介绍..............................................7
2.3.3ncurses介绍......................................7
2.3.4Proc介绍.............................................8
2.3.5数据库简介............................................8
2.4系统运行环境简介...........................................8
2.4.1支持软件..............................................8
2.4.2支持硬件..............................................8
第三章系统需求分析及模块设计.................................9
3.1系统需求分析...............................................9
3.2系统功能需求分析...........................................9
3.3系统功能模块划分...........................................9
3.3.1各角色的功能..........................................9
3.3.2系统流程.............................................10
第四章数据库的设计...........................................11
4.1数据库中表的设计..........................................11
4.1.1数据库中表总览.......................................11
4.1.2数据库中表的详细设计.................................11
4.2数据库的连接..............................................13
第五章、系统详细设计............................................14
5.1系统功能描述..............................................14
5.2系统各模块详细介绍........................................15
5.2.1前台功能模块.........................................15
5.2.2后台功能模块.........................................19
5.3遇到的问题及解决..........................................23
总结..............................................................23
参考文献.........................................................23
致谢..............................................................24
附录(部分代码)..................................................25
药品销售系统的开发设计
第一章、绪论
1.1开发药品销售系统的意义
随着中国加入WTO,医药生产企业也面临着越来越大的压力。
医药企业迫切需要采用新的销售管理方法来加强内部医药代表管理和客户管理,高效地处理销售业务、掌握销售状况,降低运作成本。
同时,医药代表也希望有方便实用的工具,以便进行各类数据的管理、查询及提交。
因此,开发医药销售系统具有重大的意义。
1.2药品销售系统的发展及其前景
随着电子计算机和通信技术的发展,中国已经逐渐地进入信息化社会。
信息和材料、能源一样成为一种社会的基本生产资料,在中国的社会生产活动中发挥着重要的作用。
同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。
第二章、系统开发技术,工具及运行环境
2.1系统的开发技术
药品销售系统是一个功能完善,使用方便的为药品销售公司开发的系统.使用的技术包括C语言,Oracle数据库,ncurses等,应用了proc连接数据库。
2.2系统开发平台介绍(Linux)
简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。
这个系统是由世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux的基本思想有两点:
第一,一切都是文件;第二,每个软件都有确定的用途。
其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。
至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。
2.3系统开发工具介绍
2.3.1C语言简介
C语言是CombinedLanguage(组合语言)的中英混合简称。
是一种计算机程序设计语言。
它既具有高级语言的特点,又具有汇编语言的特点。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
归纳起来C语言具有以下特点:
1.语言简介,紧凑,灵活,关键字少。
2.运算符丰富
3.数据结构丰富
4.结构化语言
5.语法限制不严格
6.能够对硬件和内存进行操作
7.代码质量和效率搞
8.移植性好
2.3.2gcc介绍
GCC是GNU公社的一个项目。
是一个用于编程开发的自由编译器。
最初,GCC只是一个C语言编译器,他是GNUCCompiler的英文缩写。
随着众多自由开发者的加入和GCC自身的发展,如今的GCC已经是一个包含众多语言的编译器了。
其中包括C,C++,Ada,ObjectC和Java等。
所以,GCC也由原来的GNUCCompiler变为GNUCompilerCollection。
也就是GNU编译器家族的意思。
当然,如今的GCC借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译另一个平台的代码。
2.3.3ncurses介绍
ncurses是从最早的SystemVRelease4.0(SVr4)中curses的一个克隆。
这是一个可自由配置的库,完全兼容旧版本的curses。
简而言之,它是一个管理应用程序在字符终端屏幕显示的函数库。
而curses的命名是来自一个叫做“cursoroptimization”(光标最优化)的双关语。
curses构成了一个工作在原始终端代码之上的封装,并向用户提供了一个灵活高效的API(ApplicationProgrammingInterface应用程序接口)。
它提供了移动光标,建立窗口,产生颜色,处理鼠标操作等功能。
2.3.4Proc介绍
Proc属于利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问数据库的开发工具之一,它把过程化语言C和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种类型的报表。
2.3.5数据库简介
Oracle是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。
Oracle引入了共享SQL和多线索服务器体系结构。
这减少了Oracle的资源占用,并增强了Oracle的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
提供了基于角色(ROLE)分工的安全保密管理。
在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。
提供了新的分布式数据库能力。
可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
2.4系统运行环境简介
2.4.1支持软件
语言:
C语言
数据库:
Oracle
运行环境:
Linux平台
操作系统:
MicrosoftWindowsXP
2.4.2支持硬件
主机类型:
PentiumIII800MB以上CPU,内存512MB以上
网络类型:
TCP/IP网络
第三章、系统需求分析及模块设计
3.1系统需求分析
那些功能强大的药品销售系统对中小型药品销售公司来说并不适用,因为小型药品销售公司并没有那么多的流程,针对这一点,我开发设计了该药品销售系统,它可以满足小型药品销售公司处理业务的需要,为公司提供了简单,快捷并全面的服务。
该药品销售系统系统是基于Linux平台用C语言+ncurses+Oracle数据库编写而成。
本系统使用者只需通过简单的操作,都可以了解本系统软件的基本工作原理。
用户只需进行输入一些简单的汉字、数字等即可达到自己想要的目标。
3.2系统功能需求分析
药品销售系统主要提供收银,挂单,取单,撤单,对药品及账户的维护,销售记录的查询等,方便药品销售公司的管理。
前台销售人员可以通过该系统对顾客所购买的药品进行添加,删除,收银等功能。
后台管理者可以通过该系统对药品的库存和前台账户进行增加,删除,修改,查询,以及对销售记录的查询等相关操作。
3.3系统功能模块划分
3.3.1各角色的功能
如图3.1及图3.2所示,本系统有两个角色,分别是前台销售人员和后台管理人员,它们所具有的功能见图3.1、图3.2。
图3.1前台销售人员用例图
图3.2后台管理人员用例图
3.3.2系统流程
系统流程图,见图3.3,图3.4。
图3.3前台销售人员登录流程图
图3.4后台管理员登录流程图
第四章、数据库的设计
4.1数据库中表的设计
4.1.1数据库中表总览
表4.1数据库中表总览
表名
说明
PRODUCT
药品表
STAFF
员工表
SALE
销售表
SALE_DETAIL
销售明细表
4.1.2数据库中表的详细设计
(1)PRODUCT(药品)表的详细设计
表4.2药品表(PRODUCT)
字段名
类型
说明
PRO_BARCODE
VARCHAR2(9)
条形码
PRO_NAME
VARCHAR2(20)
药品名
PRO_UNIT
VARCHAR2(6)
单位
PRO_SPEC
VARCHAR2(6)
规格
PRO_SALE_PRICE
NUMBER(8,2)
销售价格
PRO_GET_PRICE
NUMBER(8,2)
进货价格
PRO_STOCK
NUMBER(38)
商品库存
PRO_DISCOUNT
FLOAT(126)
商品折扣
FLAG
NUMBER(38)
删除标志
FNUM
NUMBER(38)
数量
(2)STAFF(员工)表的详细设计
表4.3员工表(STAFF)
字段名
类型
说明
STAFF_ID
VARCHAR2(7)
员工ID
STAFF_NAME
VARCHAR2(11)
员工账号
STAFF_PASS
VARCHAR2(7)
员工密码
STAFF_TYPE
NUMBER(38)
员工类型
FLAG
NUMBER(38)
删除标志
REMARK
VARCHAR2(30)
备注
(3)SALE(销售)表的详细设计
表4.4销售表(SALE)
字段名
类型
说明
SALE_ID
VARCHAR2(19)
销售ID
STAFF_ID
VARCHAR2(7)
员工ID
SALE_DATE
DATE
销售日期
PAY_SUM
NUMBER(8,2)
所付价格
REAL_SUM
NUMBER(8,2)
实际价格
CHANGE
NUMBER(8,2)
找零
(4)SALE_DETAIL(销售明细)表的详细设计
表4.5销售明细表(SALE_DETAIL)
字段名
类型
说明
DETAIL_ID
NUMBER(38)
销售明细ID
SALE_ID
VARCHAR2(19)
销售ID
PRO_BARCODE
VARCHAR2(9)
条形码
DETAIL_NUM
NUMBER(38)
明细数量
SALE_PRICE
NUMBER(4,2)
销售价格
4.2数据库的连接
Proc属于利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问数据库的开发工具之一,它把过程化语言C和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种类型的报表。
下述代码显示如何连接一个数据库用户:
intdb_import()/**/
{
db_connect("system","manager","orcl");
/*连接system用户,system用户可以授于普通用户权限*/
EXECSQLEXECUTEIMMEDIATEdropuserposcascade;
EXECSQLEXECUTEIMMEDIATEcreateuserposidentifiedbypos;
/*创建一个用户名为pos,密码为pos的用户*/
EXECSQLEXECUTEIMMEDIATEgrantconnect,resourcetopos;
/*授与pos用户connect,resource的权限*/
db_disconnect();
system("imppos/posfile=pos.dmp");/*pos.dmp里已完成表空间的创建*/
return0;
}
intdb_connect(char*user,char*pass,char*db)
/*根据传入的用户名和密码连接一个数据库用户*/
{
EXECSQLWHENEVERSQLERRORgotoerror;
EXECSQLCONNECT:
userIDENTIFIEDBY:
passUSING:
db;
makelog("debug.log","db_connectsucc");
return0;
error:
makelog("debug.log","db_connectfailed");
makelog("debug.log",sqlca.sqlerrm.sqlerrmc);
EXECSQLWHENEVERSQLERRORCONTINUE;
return1;
}
intdb_disconnect()
{
EXECSQLWHENEVERSQLERRORCONTINUE;
EXECSQLCOMMITWORKRELEASE;
return0;
}
以下代码是通常情况下连接数据库的示例:
read_config("ISFIRST",n);/*读取配置文件看是否第一次登录*/
if(strcmp(n,"1")==0)/*读取n为1的话为第一次登录*/
{
db_import();/*第一次登录就创建用户*/
set_config("ISFIRST","0");
}
db_connect("pos","pos","orcl");/*非第一次登录就直接连接用户*/
第五章、系统详细设计
5.1系统功能描述
本系统分为前台结账模块和后台管理模块。
根据输入账号的不同进入不同的模块。
前台销售人员可以通过该系统对顾客所购买的药品进行添加,删除,收银等功能,收银后数据自动更新到数据库。
后台管理者可以通过该系统对药品的库存和前台账户进行增加,删除,修改,查询,以及对销售记录的查询等相关操作。
5.2系统各模块详细介绍
5.2.1前台功能模块
登陆模块:
输入用户账号和密码,验证正确后,根据用户类型进入不同系统界面。
进入此窗口(如图5.1),输入账号和密码,输入错误则有提示重输,输入正确就根据用户的类型进入前台功能界面或后台管理界面。
图5.1登录界面
药品添加模块:
添加多条相同药品信息。
进入前台功能模块,可输入条形码进行药品的添加,若想一次性添加多条某药品,可键入F2进入此窗口(如图5.2),对当前反白的药品进行多条添加。
图:
5.2药品添加界面
药品删除模块:
删除多条相同药品信息。
进入前台功能模块,若当前界面没有药品,则不能进行药品的删除,若当前界面有药品,可键入F3进入此窗口(如图5.3),对当前反白的药品进行多条删除
图:
5.3药品删除界面
结账模块:
确认输入完相应所有商品信息后,付款结账。
若想购买的药品已经确认了,则可以键入F4进入此窗口(如图5.4)对所收购的药品进行结账。
其中应收款自动给出,输入实收款,若实收款大于应收款,且格式正确,则可以点击确定完成结账。
图:
5.4结账界面
挂单模块:
销售中途被迫要求暂停时,可以将正在销售的商品信息保存起来。
键入F5进入此窗口(如图5.6),点击确定就可以把目前的单暂时挂起来。
图:
5.6挂单界面
取单模块:
被暂停的销售可以继续结账时,把所挂的单相应信息恢复回来。
键入F6进入此窗口(如图5.7),选择要恢复的单号,点击确定,即可以对所选择的单继续收银。
图:
5.7取单界面
撤单模块:
要终止销售时,可以清空之前所销售的所有商品信息。
若当前界面有销售记录,则键入F7进入此窗口(如图5.8),点击确定,就可以清空当前界面的销售药品,重新开始新一轮的销售。
图:
5.8撤单界面
5.2.2后台功能模块
药品管理模块:
添加,修改,查询,删除