药店管理论文正文[文书借鉴]_第1页
药店管理论文正文[文书借鉴]_第2页
药店管理论文正文[文书借鉴]_第3页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要药品销售系统是适应时代发展的需要,提高管理的效率而开发设计的,为药品销售公司领导及各部门管理人员提供全面、准确的各种数据,实现了药品销售公司管理的简单化和规划化,提高了药品销售公司的工作效率,从而使药品销售公司能够以少的投入获得更好的社会效益与经济效益。本系统分前台功能模块和后台功能模块,通过对功能模块的操作实现药品和用户的添加,删除,修改,查询,以及对销售记录的查询等。本文首先是开发背景介绍和对所使用的开发工具的概述以及系统所用后台数据库Oracle的概述,最后详细讲解了各模块的功能。关键词:药品销售系统;ncurses;C语言;数据库;OracleAbstractDrug Sales

2、System meets the time need to develop,enhances the management the efficiency but to develop the design, The leadership of various departments for drug sales company managers to provide comprehensive and accurate the data. Has realized the durg sales company management simplification and the plan,enh

3、anced the durg sales company working efficiency, thus enables the durg sales company to obtain the better social efficiency and the economic efficiency by the few investments. This System modules front and back-office function modules, The realization of drugs and users add, delete, modify, query, a

4、s well as sales records queries through the operation of functional modules. Firstly, this paper introduces the background of design and the tool used for the design and narrates the backstage databasee Oracle of the System, Finally explained in detail the function of each module.Key words:Drug Sale

5、s System;ncurses;Combined Language;database;Oracle目录摘要.2Abstarct.3第一章 绪论.61.1 开发药品销售系统的意义. 61.2 药品销售系统的发展及其前景. 6第二章 系统开发技术,工具及运行环境.62.1 系统的开发技术. 62.2 系统开发平台介绍(Linux). 62.3 系统开发工具介绍.72.3.1 C语言简介. 72.3.2 gcc介绍. 72.3.3 ncurses介绍. 72.3.4 Proc介绍.82.3.5 数据库简介.82.4 系统运行环境简介. 82.4.1 支持软件.82.4.2 支持硬件.8第三章 系统

6、需求分析及模块设计.93.1 系统需求分析. 93.2 系统功能需求分析. 93.3 系统功能模块划分. 93.3.1 各角色的功能.93.3.2 系统流程.10第四章 数据库的设计.114.1 数据库中表的设计. 114.1.1 数据库中表总览.114.1.2 数据库中表的详细设计.114.2 数据库的连接. 13第五章、系统详细设计.145.1 系统功能描述. 145.2 系统各模块详细介绍. 155.2.1 前台功能模块.155.2.2 后台功能模块.195.3 遇到的问题及解决. 23总结.23参考文献.23致谢.24附录(部分代码).25药品销售系统的开发设计第一章、绪论1.1 开发

7、药品销售系统的意义随着中国加入WTO,医药生产企业也面临着越来越大的压力。医药企业迫切需要采用新的销售管理方法来加强内部医药代表管理和客户管理,高效地处理销售业务、掌握销售状况,降低运作成本。同时,医药代表也希望有方便实用的工具,以便进行各类数据的管理、查询及提交。因此,开发医药销售系统具有重大的意义。1.2 药品销售系统的发展及其前景随着电子计算机和通信技术的发展,中国已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在中国的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各

8、业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。第二章、系统开发技术,工具及运行环境2.1 系统的开发技术药品销售系统是一个功能完善,使用方便的为药品销售公司开发的系统.使用的技术包括C语言,Oracle数据库,ncurses等,应用了proc连接数据库。2.2 系统开发平台介绍(Linux)简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实

9、现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。2.3 系统开发工具介绍2.3.1 C语言简介C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为工作系

10、统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。归纳起来C语言具有以下特点:1. 语言简介,紧凑,灵活,关键字少。2. 运算符丰富3. 数据结构丰富4. 结构化语言5. 语法限制不严格6. 能够对硬件和内存进行操作7. 代码质量和效率搞8. 移植性好2.3.2 gcc介绍GCC是GNU公社的一个项目。是一个用于编程开发的自由编译器。最初,GCC只是一个C语言编译器,他是GNU C Compiler 的英文缩写。随着众多自由开发者的加入和GC

11、C自身的发展,如今的GCC已经是一个包含众多语言的编译器了。其中包括 C,C+,Ada,Object C和Java等。所以,GCC也由原来的GNU C Compiler变为GNU Compiler Collection。也就是 GNU编译器家族的意思。当然,如今的GCC借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译另一个平台的代码。2.3.3 ncurses介绍ncurses是从最早的System V Release 4.0 (SVr4)中 curses的一个克隆。这是一个可自由配置的库,完全兼容旧版本的curses。简而言之,它是一个管理应用程序在字符终端屏幕显示的函数库。而cu

12、rses的命名是来自一个叫做 “cursor optimization”(光标最优化)的双关语。curses构成了一个工作在原始终端代码之上的封装,并向用户提供了一个灵活高效的API(Application Programming Interface 应用程序接口)。它提供了移动光标,建立窗口,产生颜色,处理鼠标操作等功能。2.3.4 Proc介绍Proc属于利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问数据库的开发工具之一, 它把过程化语言C和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种类型的报表。2

13、.3.5 数据库简介Oracle 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。Oracle引入了共享SQL和多线索服务器体系结构。这减少了Oracle的资源占用,并增强了Oracle的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。提供了与第三代高级语言的接口软件PRO*系列,能在C,C+等主语言中嵌入

14、SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。2.4 系统运行环境简介2.4.1 支持软件语言:C语言数据库:Oracle运行环境:Linux平台操作系统:Microsoft Windows XP2.4.2 支持硬件主机类型:PentiumIII 800MB以上CPU,内存512MB以上网络类型:TCP/IP网络第三章、系统需求分析及模块设计3.1 系统需求分析那些功能强大的药品销售系统对中小型药品销售公司来说并不适用,因为小型药品销售公司并没有那么多的流程,针对这一点,我开发设计了该

15、药品销售系统,它可以满足小型药品销售公司处理业务的需要,为公司提供了简单,快捷并全面的服务。该药品销售系统系统是基于Linux平台用C语言+ncurses+Oracle数据库编写而成。本系统使用者只需通过简单的操作,都可以了解本系统软件的基本工作原理。用户只需进行输入一些简单的汉字、数字等即可达到自己想要的目标。3.2 系统功能需求分析药品销售系统主要提供收银,挂单,取单,撤单,对药品及账户的维护,销售记录的查询等,方便药品销售公司的管理。前台销售人员可以通过该系统对顾客所购买的药品进行添加,删除,收银等功能。后台管理者可以通过该系统对药品的库存和前台账户进行增加,删除,修改,查询,以及对销售

16、记录的查询等相关操作。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(药品)表的详

17、细设计表4.2药品表(PRODUCT)字段名类型说明PRO_BARCODEVARCHAR2(9)条形码PRO_NAMEVARCHAR2(20)药品名PRO_UNITVARCHAR2(6)单位PRO_SPECVARCHAR2(6)规格PRO_SALE_PRICENUMBER(8,2)销售价格PRO_GET_PRICENUMBER(8,2)进货价格PRO_STOCKNUMBER(38)商品库存PRO_DISCOUNTFLOAT(126)商品折扣FLAGNUMBER(38)删除标志FNUMNUMBER(38)数量(2)STAFF(员工)表的详细设计表4.3员工表(STAFF)字段名类型说明STAFF

18、_IDVARCHAR2(7)员工IDSTAFF_NAMEVARCHAR2(11)员工账号STAFF_PASSVARCHAR2(7)员工密码STAFF_TYPENUMBER(38)员工类型FLAGNUMBER(38)删除标志REMARKVARCHAR2(30)备注(3)SALE(销售)表的详细设计表4.4销售表(SALE)字段名类型说明SALE_IDVARCHAR2(19)销售IDSTAFF_IDVARCHAR2(7)员工IDSALE_DATEDATE销售日期PAY_SUMNUMBER(8,2)所付价格REAL_SUMNUMBER(8,2)实际价格CHANGENUMBER(8,2)找零(4)SA

19、LE_DETAIL(销售明细)表的详细设计表4.5销售明细表(SALE_DETAIL)字段名类型说明DETAIL_IDNUMBER(38)销售明细IDSALE_IDVARCHAR2(19)销售IDPRO_BARCODEVARCHAR2(9)条形码DETAIL_NUMNUMBER(38)明细数量SALE_PRICENUMBER(4,2)销售价格4.2 数据库的连接Proc属于利用在第三代语言内嵌入的SQL语言或ORACLE库函数调用来访问数据库的开发工具之一, 它把过程化语言C和非过程化语言SQL最完善地结合起来,具有完备的过程处理能力,又能完成任何数据库的处理品任务,使用户可以通过编程完成各种

20、类型的报表。下述代码显示如何连接一个数据库用户:int db_import()/*/db_connect(system,manager,orcl);/*连接system用户,system用户可以授于普通用户权限*/EXEC SQL EXECUTE IMMEDIATE drop user pos cascade;EXEC SQL EXECUTE IMMEDIATE create user pos identified by pos;/*创建一个用户名为pos,密码为pos的用户*/EXEC SQL EXECUTE IMMEDIATE grant connect,resource to pos;/

21、*授与pos用户connect,resource的权限*/db_disconnect();system(imp pos/pos file=pos.dmp);/*pos.dmp里已完成表空间的创建*/return 0;int db_connect(char* user,char* pass,char* db)/*根据传入的用户名和密码连接一个数据库用户*/EXEC SQL WHENEVER SQLERROR goto error;EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :db;makelog(debug.log,db_connect su

22、cc);return 0;error:makelog(debug.log,db_connect failed);makelog(debug.log,sqlca.sqlerrm.sqlerrmc);EXEC SQL WHENEVER SQLERROR CONTINUE;return 1;int db_disconnect()EXEC SQL WHENEVER SQLERROR CONTINUE;EXEC SQL COMMIT WORK RELEASE;return 0;以下代码是通常情况下连接数据库的示例:read_config(ISFIRST,n);/*读取配置文件看是否第一次登录*/if (

23、strcmp(n,1)=0)/*读取n为1的话为第一次登录*/db_import();/*第一次登录就创建用户*/set_config(ISFIRST,0);db_connect(pos,pos,orcl);/*非第一次登录就直接连接用户*/第五章、系统详细设计5.1 系统功能描述本系统分为前台结账模块和后台管理模块。根据输入账号的不同进入不同的模块。前台销售人员可以通过该系统对顾客所购买的药品进行添加,删除,收银等功能,收银后数据自动更新到数据库。后台管理者可以通过该系统对药品的库存和前台账户进行增加,删除,修改,查询,以及对销售记录的查询等相关操作。5.2 系统各模块详细介绍5.2.1 前

24、台功能模块登陆模块:输入用户账号和密码,验证正确后,根据用户类型进入不同系统界面。进入此窗口(如图5.1),输入账号和密码,输入错误则有提示重输,输入正确就根据用户的类型进入前台功能界面或后台管理界面。图5.1登录界面药品添加模块:添加多条相同药品信息。进入前台功能模块,可输入条形码进行药品的添加,若想一次性添加多条某药品,可键入F2进入此窗口(如图5.2),对当前反白的药品进行多条添加。图:5.2药品添加界面药品删除模块:删除多条相同药品信息。进入前台功能模块,若当前界面没有药品,则不能进行药品的删除,若当前界面有药品,可键入F3进入此窗口(如图5.3),对当前反白的药品进行多条删除图:5.

25、3药品删除界面结账模块:确认输入完相应所有商品信息后,付款结账。若想购买的药品已经确认了,则可以键入F4进入此窗口(如图5.4)对所收购的药品进行结账。其中应收款自动给出,输入实收款,若实收款大于应收款,且格式正确,则可以点击确定完成结账。图:5.4结账界面挂单模块:销售中途被迫要求暂停时,可以将正在销售的商品信息保存起来。键入F5进入此窗口(如图5.6),点击确定就可以把目前的单暂时挂起来。图:5.6挂单界面取单模块:被暂停的销售可以继续结账时,把所挂的单相应信息恢复回来。键入F6进入此窗口(如图5.7),选择要恢复的单号,点击确定,即可以对所选择的单继续收银。图:5.7取单界面撤单模块:要

26、终止销售时,可以清空之前所销售的所有商品信息。若当前界面有销售记录,则键入F7进入此窗口(如图5.8),点击确定,就可以清空当前界面的销售药品,重新开始新一轮的销售。图:5.8撤单界面5.2.2 后台功能模块药品管理模块:添加,修改,查询,删除药品信息。进入后台管理界面,键入1可对药品的信息进行操作(如图5.9)。图:5.9药品管理界面用户管理模块:添加,修改,查询,删除用户信息。进入后台管理界面,键入2可对用户的信息进行操作(如图5.10)。图:5.10用户管理界面销售记录查询模块:按日期,用户,销售单号查询销售记录。进入后台管理界面,键入3可查询销售记录。其中按日期查询(如图5.11):输

27、入起止日期和终止日期查询出再该时间段内的销售记录。按用户查询(如图5.12):输入用户ID 查询出该用户的销售记录。按销售单号查询(如图5.13):输入销售单号,查询出该销售单号的信息。图:5.11按日期查询界面图:5.12按用户查询界面图:5.13按销售单号查询界面5.3 遇到的问题及解决1.数据库连不上,提示错误ORA-12541: TNS: 没有监听器,后来上网查了下资料,是因为监听器没开。开启监听器的方法是:$ lsnrctl start2.在建立关系的时候,由于没有清楚的理解需求分析,关系建错了,后来请教了指导老师,老师给我仔细分析了各个表之间的关系,在老师的帮助下,该问题得以解决、

28、总结本次毕业设计基于Linux平台的药品销售系统已经完成了。它是理论与实践中遇到的问题相结合而产生的。因此它有着自身的优点:操作简单,易于理解,应用面广。但同时它也存在着一些不足之处,比如:它只是单机版的,并非网络版;并没有多个客户端,因此只能应用于小型药品销售公司。目前,本系统基本的功能都已经具备,但在以下几个方面,仍然需要作进一步的完善:本系统并非多线程,所以有一定的局限性,该方面应该进一步完善。功能还有待进一步加强,比如可以再加入退货,数据挖掘等模块,让系统功能更加强大,应用面更广。通过该系统的设计,让我对Linux平台有了一定的认识,同时也使我的编程水平有了一定的提高。参考文献1Mat

29、thew N. Stones R. Linux程序设计:第3版. 北京:人民邮电出版社,2007.7(2009.1重印)2严桂栏. C语言程序设计与应用教程. 厦门: 大学出版社,2001.8.3罗晓沛. 数据库技术(中级). 北京:清华大学出版社,1999.4罗晓沛. 数据库技术(高级). 北京:清华大学出版社,1999.5Murphy,L.L. Oracle9i:SQL与PL/SQL开发指南. 北京:清华大学出版社,2005.1.6何明. 从实践中学习Oracle/SQL. 北京:清华大学出版社,2004.致谢经过近四个月的埋头苦干,我的毕业设计药品销售系统已经顺利完成了。回首四年的大学时

30、光,在此即将毕业之际,向众多给予我帮助和建议的领导,老师,同学,亲人和朋友们表示衷心的感谢! 首先,要感谢我的毕业论文指导老师孙锋,从课题的选择到项目的最终完成,孙老师都始终给予我细心的指导和不懈的支持,在此,谨向孙老师表示最深厚的感谢和最诚挚的敬意。其次,我还要感谢我的辅导员,老师和学校领导们,没有辅导员的关心和鼓励,就没有我难忘的四年大学时光;没有老师们的悉心教育,我就学不到如此多的基础知识,专业知识及实践经验;没有领导们为学生的学习创造良好的环境和氛围,就没有认真学习的我。再次,我要感谢我的同学和朋友们,是你们,让我的大学生活丰富多彩,在此,我还要特别感谢那些在学习上帮助过我的人,每次考

31、前复习时,不懂的问题,是你们不厌其烦的教会我做题的方法,谢谢你们。最后,我要感谢我的家人,没有你们的支持,就没有今天的我,你们辛苦了。附录 (部分代码)alter table SALE drop constraint FK_SALE_STAF;alter table SALE_DETAIL drop constraint FK_SALDET_SALE;alter table SALE_DETAIL drop constraint FK_SALE_PROD;drop table PRODUCT cascade constraints;drop table SALE cascade constra

32、ints;drop table SALE_DETAIL cascade constraints;drop table STAFF cascade constraints;drop sequence SEQ_DETAIL;drop sequence SEQ_SALE;drop sequence SEQ_STAFF;create sequence SEQ_DETAILincrement by 1start with 1 maxvalue 9999999 minvalue 1cycle cache 20;create sequence SEQ_SALEincrement by 1start with

33、 1 maxvalue 9999cycle cache 20;create sequence SEQ_STAFFincrement by 1start with 3 maxvalue 999999nocycle cache 20;/*=*/* Table: PRODUCT */*=*/create table PRODUCT ( PRO_BARCODE VARCHAR2(9) not null, PRO_NAME VARCHAR2(20), PRO_UNIT VARCHAR2(6), PRO_SPEC VARCHAR2(6), PRO_SALE_PRICE NUMBER(8,2), PRO_G

34、ET_PRICE NUMBER(8,2), PRO_STOCK INT, PRO_DISCOUNT FLOAT, FLAG INT, FNUM INT, constraint PK_PRODUCT primary key (PRO_BARCODE);/*=*/* Table: SALE */*=*/create table SALE ( SALE_ID VARCHAR2(19) not null, STAFF_ID VARCHAR2(7), SALE_DATE DATE, PAY_SUM NUMBER(8,2), REAL_SUM NUMBER(8,2), CHANGE NUMBER(8,2)

35、, constraint PK_SALE primary key (SALE_ID);/*=*/* Table: SALE_DETAIL */*=*/create table SALE_DETAIL ( DETAIL_ID INT not null, SALE_ID VARCHAR2(19), PRO_BARCODE VARCHAR2(9), DETAIL_NUM INT, SALE_PRICE NUMBER(4,2), constraint PK_SALE_DETAIL primary key (DETAIL_ID);/*=*/* Table: STAFF */*=*/create table STAFF ( STAFF_ID VARCHAR2(7) not null, STAFF_NAME VARCHAR2(11), STAFF_PASS VARCHAR2(7), STAFF_TYPE INT, FLAG INT, REMARK VARCHAR2(30) not null, constraint PK_STAFF primary key (STAFF_ID);alter table SALE add constraint FK_SALE_STAF foreign key (STAFF_ID) re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论