(5)表5 药品产地:Manufacturer 表5 药品产地 别 名 名称 数据类型 大小 空值 默认值 产地名称 Manufacturer Varchar 30 拼音代码 PYDM Varchar 10 √ 产地全称 CDQC Varchar 4 √ 在所有药品入库之前,管理员或系统普通用户需要对药品的基本信息等输入系统中,进行统一管理。由此,可以得出Druginformation表,Druginformation的属性有:Drugnumber(药品型号),Drugname(药品名称),YPGG(药品规格),YPJX(药品剂型)等。由图3-11的关系可以映射出表6
图3-11管理关系图 (6)表6 药品基本信息表:Druginformation 表6 药品基本信息表 别 名 名称 数据类型 大小 空值 默认值 药品型号 Drugnumber Numeric 9(18,0) 药品名称 Drugname Varchar 50 药品规格 YPGG Varchar 20 √ 药品单位 YPDW Varchar 4 √ 药品剂型 YPJX Varchar 8 √ 拼音代码 PYDM Varchar 9(12,4) √ 药品类别 YPLB Varchar 10 √ 低储标准 DCBZ Int 4 √ 药品说明 YPSM Varchar 50 √
(7)表7 用户基本信息表:Userinformation 表7用户基本信息表 别 名 名称 数据类型 大小 空值 默认值 用户ID UserID Numeric 4 用户姓名 Username Varchar 50 用户权限 Purview Boolean 在药品的出入库管理中,一个很重要的部分就是调价,调价由系统管理员来完成,在调价过程中,管理员填写并确认调价单,表现为图3-12:
图3-12调价关系图 (8) 表8 调价明细表ChangePriceBill 表8 调价关系表 别 名 名称 数据类型 大小 空值 默认值 调价单号 ChangePriceNO. Numeric 5(6,0) 药品产地 Manufacturer Varchar 30 √ 药品型号 YPXH Numeric 5(6,0) 调价数量 TJSL Numeric 9(10,2) 新零售价 XLSJ Numeric 9(10,4) √ 新批发价 XPFJ Numeric 9(10,4) √ 原零售价 YLSJ Numeric 9(10,4) √ 原批发价 YPFJ Numeric 9(10,4) √ 调价金额 TJJE Numeric 9(10,4) √ 4 开发系统 这是真正开始实施编程的阶段,有了充分的分析和设计结果,这个阶段的工作就能快速平稳的进行。 4.1 编制代码 根据前阶段开发出来的类图、对象图、活动图,下一步的工作就是编制实现系统的代码。本设计我使用的编程语言是Visual C#。 4.2 系统实现 VS.NET编程环境提供了一个统一的集成开发环境,其中集成了许多可视化辅助工具,因此对于用户界面的建立和代码的生成来说是比较简单的。 4.2.1 用户界面 用户界面决定了系统可使用性的好坏。用户界面的设计同样需要讲究艺术性和科学性,在利用艺术角度的见解和人性因素的研究之外,还要考虑到系统用户的直观感觉。 下面以药品销售出库模块为例,来介绍程序的界面。如图4-1
图4-1药品销售界面 系统界面主要分为三个部分,最上面是菜单栏,包括系统、入库、出库、调价、盘点、查询、药品管理、帮助等,可以方便的进行所对应的操作。为了保证系统的稳定性和数据的安全性,在同一时间下,只能执行一种功能的操作,即当正在进行入库操作时,不可以进行出库、盘点等操作。 界面的中间部分是信息的采集输入部分,当执行某种操作时,在此部分可以输入所需的信息。 在界面的下部是数据区,当符合所需的条件之后,数据将在此部分显示。 4.2.2 代码 药品销售出库模块部分代码如下: /*处理出库单,和出库处理平台对应*/ private void bt Op ToDepositoryClick(object sender, System.EventArgs e) { DialogResult rst = MessageBox.Show("是否确认出库?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if(rst == DialogResult.Yes) { ExcuteUpdateDepository(); strCartNum = lbStockNum.Text; //普通销售一步出库 private void btCertify_Click(object sender, System.EventArgs e) { DialogResult rst = MessageBox.Show("是否售出?", "提示", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if(rst == DialogResult.Yes) { if(AddToOpStockCart()) { ExcuteUpdateDepository(); int count = dtOutdepositorybill.Rows.Count; for(int i=0; i<count; i++) { if((!dtOutdepositorybill.Rows[i].IsNull(dtOutdepositorybill.Columns[0])) || (!dtOutdepositorybill.Rows[i].IsNull(dtOutdepositorybill.Columns[6]))) { dtOutdepositorybill.Rows.RemoveAt(i); //dtOutdepositorybill.Rows.Remove(row); DataRow drow = dtOutdepositorybill.NewRow(); dtOutdepositorybill.Rows.Add(drow); i -= 1; } } //出库单号加1 this.stockNum += 1; this.FormatCartNum(stockNum); } } else if(rst == DialogResult.No) { //清除表格中数据 int count = dtOutdepositorybill.Rows.Count; for(int i=0; i<count; i++) { if((!dtOutdepositorybill.Rows[i].IsNull(dtOutdepositorybill.Columns[0])) || (!dtOutdepositorybill.Rows[i].IsNull(dtOutdepositorybill.Columns[6]))) { dtOutdepositorybill.Rows.RemoveAt(i); //dtOutdepositorybill.Rows.Remove(row); DataRow drow = dtOutdepositorybill.NewRow(); dtOutdepositorybill.Rows.Add(drow); i -= 1; } } } else { } } private void tbReceive_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if(e.KeyCode == Keys.Enter) { if((tbSaleTotal.Text != "") && (tbReceive.Text != "")) { double totalCost = Convert.ToDouble(tbSaleTotal.Text); double receive = Convert.ToDouble(tbReceive.Text); double rest = receive - totalCost; this.tbRest.Text = rest.ToString(); this.tbRest.Focus(); } private void tbRest_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e) { if(e.KeyCode == Keys.Enter) { DialogResult rst = MessageBox.Show("是否售出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if(rst == DialogResult.Yes) { if(AddToOpStockCart()) { UpdateDepository(); MessageBox.Show("开单/更新库存完毕!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); dtOutdepositorybill.Rows.Clear(); DataRow []rows = new DataRow[10]; for(int i=0;i<10;i++) { rows[i]=dtOutdepositorybill.NewRow(); dtOutdepositorybill.Rows.Add(rows[i]); } this.stockNum += 1; this.FormatCartNum(stockNum); } } else {int count = dtOutdepositorybill.Rows.Count; for(int i=0; i<count; i++) } private void cbSaler_SelectedIndexChanged(object sender, System.EventArgs e) { } private void dgOutdepositorybill_Navigate(object sender, System.Windows.Forms.NavigateEventArgs ne) { } public class OutdepositorybillDataGrid : DataGrid { int rowindex; int colindex; }
4.3 部分系统界面及功能简介 4.3.1登录界面 如图4-2 图4-2登录界面 登录界面可以完成用户的登录,如果账号、密码正确,进入系统;如果账号、密码错误,不能进入系统,并给出出错提示。 4.3.2主界面 如图4-3 图4-3 主界面 当账号、密码正确进入系统之后,出现系统主界面,操作员根据自己帐号的权限进行各项功能的操作。 4.3.3用户管理界面 如图4-4 图4-4用户管理界面 在用户管理模块下,普通用户可以修改自己的个人资料和密码;管理员可以修改自己的资料、密码以及修改普通用户资料,增加用户,并设置他们的权限。 4.3.4采购入库平台界面 如图4-5 图4-5采购入库平台界面 采购入库完成的主要功能是完成药品的采购入库,并设立验收审核机制,当入库单经过确认验收后,进入“已确认入库单”,表明药品已实际入库。确认后如图4-6。 图4-6采购入库平台界面(验收后) 4.3.5入库单界面 如图4-7 图4-7采购入库单界面 此界面完成药品采购入库操作,主要操作同4.2.2出库。 4.3.6销售界面 如图4-8 首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6 相关论文
首页 上一页 1 2 3 4 5 6 下一页 尾页 4/6/6