医药进销存管理系统课程设计实验报告分析_第1页
医药进销存管理系统课程设计实验报告分析_第2页
医药进销存管理系统课程设计实验报告分析_第3页
医药进销存管理系统课程设计实验报告分析_第4页
医药进销存管理系统课程设计实验报告分析_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、 数据库课程设计报告-医药进销存管理系统软件学院软件工程专业*级*班姓名:*学号:*任课教师:彭朝晖实验教师:王诚梅助教:*目录一、系统开发平台. 1二、数据库规划.12.1任务陈述. 12.2任务目标. 1三、系统定义.23.1系统边界. 23.2用户视图. 3四、需求分析.44.1用户需求说明. 44.1.1数据需求.44.1.2事务需求.54.2系统需求说明. 6五、数据库逻辑设计.75.1 ER图.75.2数据字典. 75.3关系表. 12六、数据库物理设计.126.1索引. 126.2视图. 14 63数据流图156.4法律问题. 15七、应用程序设计.167.1功能模块. 167.

2、2界面设计. 167.3事务设计. 35八、测试和运行.41九、总结.42十、本系统特色44 附.参考文献.53题目:医药进销存管理系统本系统特色在于采用了 Spring中整合 Hibernate技术进行组合开发,由于Hibernate框架已经成为了事实上标准的 O/R映射技术,因此在 Spring框架中已经对Hibernate框架进行了最深入的集成,即借助于 SpringIoc和 Spring AOP对 Hibernate框架进了最有效的集成,本系统就是应用这种集成技术进行相关程序开发的。在本系统的开发模式中,Spring框架控制着整个程序的流程,负责调用 Hibernate框架,已完成对后

3、台数据表的各种操作。硬件平台:CPU:P4 1.8GHZ;内存:256 MB以上软件平台:操作系统:Windous 2000/XP以上数据库:SQL Server 2000开发工具:Jbuild 2006开发工具包:JDK Version 1.5.0,Spring-framework-1.2.7和 Hibeinate 3.1任务陈述随着互联网的发展,利用网络技术来实现 “无纸办公”这个概念已经深入人心,医药管理系统作为医院信息化建设的一个重要平台在完成各种医药资源的合理统计与分配,互联网访问,医院管理,电子设备等方面面发挥了重要的作用。但是现在十分缺少类似的能够满足医院需求的医药进销存管理系统

4、,为规范医院的医药进存销管理和数据统计和分析,在较小的代价下满足用户信息需求,设计了这个医药进存销管理系统。 任务目标该医药进存销管理系统是针对医院医药管理方面而开发的一款以医药管理为基础(涉及到医药的基本信息查询和管理,医药采购,医药销售,医药退货,医药商的信息维护,客户的信息维护等)的医药信息管理软件,它以广泛的调查为基础,最大程度上满足使用需求,同时辅助于其他自定义管理的医院管理系统来提升医院的管理水平,优化资源,尽可能地降低成本,统筹安排以实现最大效益化。系统边界医药进销存管理系统管理员(视图定义):3一:药品基本情况维护操作:1:插入药品基本信息2:修改药品基本信息3:删除药品基本信

5、息 4:察看药品的基本信息二:药品采购情况维护操作1:增加药品采购记录 2:察看药品采购信息 3:删除药品采购信息三:药品销售情况维护操作1:增加药品销售记录 2:察看药品销售记录3:删除药品销售记录四:药品退货情况维护操作1:增加退货记录 2:察看药品退货记录3:删除药品退货记录五:药品经销商情况维护操作1:增加药品经销商记录 2:察看药品经销商记录 3:修改药品经销商记录4:删除药品经销商记录六:客户情况维护操作1:增加客户基本信息 2:察看客户基本信息 3:修改客户基本信息4:删除客户基本信息5:察看该客户的销售记录信息用户需求说明:该需求说明明确的表达了设计实现该医药进存销系统所需要的

6、各种数据和操作需求,建立在这个基础上设计的系统在最大程度上满足了用户的需求而且代价相对较小,其中主要包括有关医药的各种基本信息以及管理人员在处理医药的过程中所体现出来的各种操作特性及相关信息4.1.1数据需求 1:药品在录入信息前要提供药品的基本信息:药品编号、药品名称、通用码、拼音码、单位、规格、剂型、包装数量、产地、有效期质量标准、经营方式、批号、零售价格、进货价格、批发价格、药品类别、医疗编号等。 2:客户的基本情况信息,客户名,客户号(唯一标识这个客户),客户联系方式(所在地、邮编、电话、联系人),汇款账号,客户的联系方式等基本信息。 3:供应商的基本信息包括:供应商的代号,供应商的地

7、区,供应商的联系方式,以及收款银行信息等。 4:药品的采购情况信息,入库时间,药品数量,相应供应商的信息,经办人,库存状态(采购之后及时调整库存,以便于销售)。 5:药品的销售情况:销售单据,客户编号,销售数量,收款信息,退货状态(如果客户不满意退货是则修改该状态,并将数据库里的库存修改)等 6:实时提供库存的信息,以便于在进行库存盘点的时候:定期或临时对库存商品的实际数量进行清查、清点的作业,即为了掌握货物的流动情况(入库、在库、出库的流动状况),对仓库现有物品的实际数量与保管账上记录的数量相核对,以便准确地掌握库存数量。 7:需要用户的信息,以便于权限管理和系统维护。 8:由于在顾客购买药

8、品的时候可能不能一次性付清账,所以需要二次回款,因而必须在销售的过程中提供收款信息,并在提供回款信息,以便于及时清理账目。4.1.2事务需求根据一些大中型医药公司、药店、以及药品批发零售商的实际需求,要求本系统具有一下功能; 统一友好的操作界面,能保证系统的易用性。 规范、完善的基础信息设置。、 全方位、多功能的信息查询。 连续录入式的用户添加及维护。 对药品的录入、采购、销售、退货、盘点等数据信息进行全面的管理。具体而言: a)在基本信息的功能模块里可以进行: )查询药品的基本情况查询,可进行模糊查询、也可根据不同的字段进行匹配查询。 )药品的基本录入,可以添加药品的信息,并存盘,在这个过程

9、中药品编号是自动生成的,以便于管理。 )可以修改已有的药品的信息(药品的编号不能改动),并将改动存盘。 )供应商的基本情况查询,例如(like,,=,=等查询。也可以单击“全部查看”按钮,程序自动检索数据库中所有的药品信息。图 3.2数据浏览选项卡客户情况选择菜单栏中的“基本信息” /“客户情况”命令,弹出如图 3.3所示的“客户基本情况”模块。此模块主要包括两个选项卡,分别为“基本信息录入”和“浏览全部数据 ”。图 3.3客户基本信息情况基本信息录入进入此模块默认为该选项卡,此选项卡主要实现添加、修改客户基本信息等功能。其操作方法与药品基本信息模块中的基本录入选项卡相同,敬请参考,此处不再重

10、复讲解。浏览全部数据选择“浏览全部数据”选项卡,如图 3.4所示。此选项卡主要用于查询客户基本信息,其操作方法与药品基本信息模块中的数据浏览选项卡相同,敬请参考,此处不再重复讲解。图 3.4浏览全部数据选项卡供应商情况选择菜单栏中的“基本信息 ”/“供应商情况 ”命令,弹出如图 3.5所示的“供应商基本信息 ”模块,此模块主要包括两个选项卡,分别为“基本信息录入”和“浏览全部数据 ”。此模块的操作方法与药品情况模块相同,敬请参考,此处不再重复讲解。图 3.5供应商基本信息情况添加图 3.5供应商基本信息情况查询药品采购选择菜单栏中的“业务管理” /“药品采购”命令,弹出如图 4.1所示的“药品

11、采购”模块,此模块主要实现药品入库等功能。图 4.1药品采购药品入库的操作步骤如下:(1)单击“登记”按钮,“采购编号”和“录单日期”自动生成。在“供应商名称”下拉列表中选择将要入库的药品的供应商,在“经办人 ”处填写经办人姓名。“采购品种 ”、“采购总数”和“合计金额”由程序自动计算,不用填写。(2)单击“添加”按钮,自动生成一条记录,“流水号”自动生成,在“药品编号”处单击,在弹出的下拉列表中选择将要入库的药品编号。在“进货数量 ”处填写入库数量,“进货金额 ”自动计算。注意:如要在同一个采购编号下添加多个药品记录,可在存盘前连续单击“添加”按钮。如果要删除某条药品记录,可选中记录然后单击

12、“删除”按钮即可。(3)单击“存盘”按钮,完成采购操作。如果继续执行入库操作,请重新单击“登记”按钮。药品销售选择菜单栏中的“业务管理” /“药品销售”命令,弹出如图 4.2所示的药品销售模块。此模块主要用于执行销售操作。图 4.2药品销售药品销售的操作步骤如下:(1)单击“登记”按钮,“销售票号”和“录单日期”自动生成,在“销售客户”下拉列表中选择客户名称,在“经办人”处填写经办人姓名。(2)单击“添加 ”按钮,程序自动添加一条记录,“流水号 ”自动生成,单击“药品编号 ”,在弹出的下拉列表中选择将要销售的药品编号,在“销售数量”处输入销售数量按下“ Enter”键,程序自动计算销售金额。此

13、时,下方编辑框中的“销售品种”、“销售总数”、“合计金额”自动生成,只需将其余的编辑框信息填写完整。(3)单击“存盘”按钮,完成操作。如果继续执行入库操作,请重新单击“登记”按钮。注意:如要在同一个销售票号下添加多个药品记录,可在存盘前连续单击“添加”按钮。如果要删除某条药品记录,可选中记录然后单击“删除”按钮即可。库存盘点选择菜单栏中的“业务管理” /“库存盘点”命令,弹出如图 4.3所示的库存盘点模块。此模块主要实现查询库存及盘点的功能。图 4.3库存盘点库存盘点模块的操作方法如下:(1)查询库存。单击“查询库存”按钮,将显示所有库存数量不为 0的商品。(2)盘点。在“盘点数量”处输入盘点

14、数。单击“盘点”按钮,完成盘点操作。销售退货选择菜单栏中的“业务管理” /“销售退货”命令,弹出如图 4.4所示的销售退货模块。此模块主要用于执行退货操作。图 4.4销售退货销售退货的操作步骤如下:(1)在“销售单据号 ”处输入销售票号,单击“查询 ”按钮,查询结果显示在列表栏中,单击该记录,在下方列表栏中显示此销售票号的所有销售药品记录。(2)在“经办人 ”处输入经办人姓名,此模块是一次性退货,所以退货数量由程序自动生成,不可以手动填写。(3)单击“退货”按钮,完成退货操作。客户回款选择菜单栏中的“业务管理” /“客户回款”命令,弹出如图 4.5所示的客户回款模块。此模块主要用于执行客户结款

15、操作。图 4.5客户回款客户回款模块的操作方法如上:(1)在“输入客户编号 ”处输入需要回款的客户编号,单击“查询 ”按钮,将显示此客户的购买记录。(2)在“回款金额”处输入未收的金额,单击“存盘”按钮,完成回款操作。注意:此回款为一次性回款,所以在输入回款金额时,必须与未收金额相同,否则不执行回款操作。查询基本信息选择菜单栏中的“业务查询” /“基本信息”命令,弹出如图 5.1所示的基本信息查询模块。此模块主要用于查询基本信息,此查询支持模糊查询。图 5.1基本信息查询基本信息查询的操作方法如下:输入正确的查询条件,单击“查询”按钮,下方列表栏中显示查询结果,完成查询操作。入库明细选择菜单栏

16、中的“业务查询” /“入库明细”命令,弹出如图 5.2所示的入库明细查询模块。此模块主要用于查询药品入库记录。此模块提供了两种查询方式,分别条件查询和日期查询。图 5.2入库明细查询入库明细表查询的操作方法如下:(1)条件查询。勾选“查询条件 ”复选框,输入正确的查询条件,单击“查询 ”按钮,下方列表栏中显示查询结果。(2)日期查询。勾选“入库日期 ”复选框,选择需要查询的时间段,单击“查询 ”按钮,下方列表栏中显示查询结果。销售明细选择菜单栏中的“业务查询” /“销售明细”命令,弹出如图 5.3所示的销售明细查询模块。此模块提供了两种查询方式,分别为条件查询和日期查询,这两种查询方式的操作方

17、法请参考入库明细模块,此处不再重复讲解。图 5.3销售明细查询回款信息选择菜单栏中的“业务查询” /“回款信息”命令,弹出如图 5.4所示的客户回款查询模块,此模块主要用于查询客户的回款记录。其操作方法请参见入库明细查询模块。图 5.4客户回款查询系统管理系统管理菜单主要包括“系统退出 ”命令,选择该命令,弹出如图 6.1所示的提示信息,单击“是 ”按钮,退出程序。图 6.1系统提示关键或复杂的事务操作的设计,可附相应 SQL语句进行分析介绍。 (1)药品销售药品销售也是本系统中比较有特色的功能,可以实现 “销售票号”和“录单日期”自动生成,单击下拉列表直接生成药品信息,实现了打折,预付款等功

18、能,并自动计算销售金额,可谓简单快捷,使用方便,现将代码与实现思想简单介绍如下,由于篇幅有限,代码只截取了比较重要的方法,还请见谅: public JF_view_sell() try buildTable(); jbInit(); catch (Exception ex) ex.printStackTrace(); public void jBreg_actionPerformed(ActionEvent e) /*-对销售主表操作-*/ String xsph; xsph = new appjxc.constrol.GenalLsh().getPh(); jTxsph.setText(xs

19、ph); jTxsph.setEnabled(false); java.text.SimpleDateFormat sdf = new java. text.SimpleDateFormat(yyyy-mm-dd); 通过 Calendr类获得日期对象,然后生成销Locale loc = new Locale(CN); 日期数据String lsh = null; calendar = Calendar.getInstance(loc); calendar.setTimeInMillis(System.currentTimeMillis(); int year = calendar.get(C

20、alendar.YEAR); int month = calendar.get(Calendar.MONTH) + 1; int day = calendar.get(Calendar.DAY_OF_MONTH); /System.out.println( + year + + month + + day); jTldrq.setText(year + - + month + - + day ); jTldrq.setEnabled(false); jComboBox2.requestFocus();/此处简洁处理为一次读入完成之后,在进行登记添加的时候不进行读取以提高效率 if (jComb

21、oBox2.getItemCount() = 0 ) 通过公共类的 String queryClient = ; QueryObject方法查询客户的信queryClient = from Obj_client; 息数据,为列表List listClient = AdapterDao.QueryObject(queryClient); 组件进行附值Iterator iteratorclient = listClient.iterator(); jComboBox2.removeAllItems();jComboBox21.removeAllItems(); while(iteratorclie

22、nt.hasNext() Obj_client object = (Obj_client)iteratorclient.next(); jComboBox2.addItem(object.getKhmc(); jComboBox21.addItem(object.getKhbh(); jComboBox2.addItemListener(new JF_view_sell_jCbox_itemAdapter(this); jTjbr.requestFocus(); jBreg.setEnabled(false); jBadd.setEnabled(true); public void build

23、Table() String tname =流水号,药品编号,药品名称,药品批号,规格,产地,单位,零售价,销售数量,销售金额,库存数量; java.util.Vector vname = new java.util.Vector(); 创建查询表for (int i = 0 ; i tname.length ; i+) 格vname.addElement(tnamei); tableModel = new DefaultTableModel(vname,0); tableModel.addTableModelListener(this); jTable1.setModel(tableMode

24、l); TableColumnModel tcm = jTable1.getColumnModel(); public void jBadd_actionPerformed(ActionEvent e) 添加药品详细记/*-添加药品详细记录-*/ 录,首先通过公共类 GenaLsh的 java.util.Vector vdata = new java.util.Vector();getLsh方法,生成采购明细数据37 的流水号码,然后通过公共类 AdaperDao的 QueryObject()String lsh = new appjxc.constrol.GenalLsh().getLsh().trim(); vdata.addElement(lsh); tableModel.addRow(vdata); jTable1.setModel(tableModel);/此处简洁处理为一次读入完成之后,在进

温馨提示

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

评论

0/150

提交评论