Net药品管理系统设计报告.docx

上传人:b****7 文档编号:9232551 上传时间:2023-02-03 格式:DOCX 页数:16 大小:944.77KB
下载 相关 举报
Net药品管理系统设计报告.docx_第1页
第1页 / 共16页
Net药品管理系统设计报告.docx_第2页
第2页 / 共16页
Net药品管理系统设计报告.docx_第3页
第3页 / 共16页
Net药品管理系统设计报告.docx_第4页
第4页 / 共16页
Net药品管理系统设计报告.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Net药品管理系统设计报告.docx

《Net药品管理系统设计报告.docx》由会员分享,可在线阅读,更多相关《Net药品管理系统设计报告.docx(16页珍藏版)》请在冰豆网上搜索。

Net药品管理系统设计报告.docx

Net药品管理系统设计报告

药品管理系统设计报告

一、需求分析:

设计药店数据库管理系统的模块可划分为:

基础数据模块、药品库存管理、员工管理模块系统、管理员管理模块系统。

从功能上来说这四个模块的基本功能各是:

基础数据模块(员工基本信息查看等);药品库存管理(新增药品、删除药品);员工管理模块系统(对前台销售的管理,如:

添加销售记录、查看员工和销售信息、修改账户信息以及退货操作);管理员管理模块系统(对药库和员工信息资料的管理,如:

添加销售记录、查看员工和销售信息、修改账户信息、新增药品、删除药品、新增员工等功能)。

 

界面的设计:

共有4个应用窗体程序:

1、欢迎界面窗体——并把此窗体设为首项启动项:

一个背景图片、一个按钮。

(1):

背景按钮的Text文本为:

登陆管理系统.

2、登录窗体:

三个标签,两个文本输入框,两个选项控件以及两个按钮(如下图)

(1)三个标签,的Text文本分别设置:

工号、密码、级别,并把这三个标签的背景颜色设置为透明。

(2)用户输入工号的Text文本框进行相应的验证,使得用户只能在工号文本框中输入阿拉伯数字,当用户输入其他字符串时,则提示错误信息。

(3)两个选项控件Text值分别为:

员工、管理员。

(4)两个按钮的Text值分别为:

登陆、取消。

 

3、员工管理系统窗体(每个选项卡都添加同一张背景图片):

一个tabControl控件,其中的选项卡分别为:

基本信息查看、添加销售记录、查看销售记录、查找员工信息、退货操作、修改账户资料、退出系统等7大选项卡里都有各自功能的控件和按钮(如下图

(1)基本信息查看:

7个标签,Text的值分别为:

工号、姓名、职位、性别、出生日期、联系号码、家庭住址,并把标签的背景颜色设为透明。

(2)添加销售记录:

两个文本框,两个标签,一个按钮。

两个标签的Text值为:

销售药品编号、销售数量,并把l标签的背景颜色设为透明;按钮的Text值为添加。

(3)查看销售记录:

一个容器分层控件,两个标签,两个日期选择控件,一个数据显示控件,一个按钮。

两个标签的Text值为:

日期从、到,并把label标签的背景颜色设为透明;按钮的Text值为查询。

(4)查找员工信息:

八个标签,一个文本框,一个按钮。

标签的Text的值分别为:

工号、工号、姓名、职位、性别、出生日期、联系号码、家庭住址,并把label标签的背景颜色设为透明;按钮的Text值为查找。

(5)退货操作:

两个标签,两个文本框,一个按钮。

标签的Text的值分别为:

商品编号、数量,并把标签的背景颜色设为透明;按钮的Text值为确认退货。

(6)修改账户资料:

四个标签,四个文本框,一个按钮。

标签的Text的值分别为:

手机号码、新密码,再输一次新密码,联系密码,并把标签的背景颜色设为透明;按钮的Text值为确认修改。

(7)退出系统:

编写该选项卡的加载事件,使得用户却换到该选项卡是系统提示用户是否退出,如果用户点击“退出”那么窗体应用程序结束进程

4、管理员管理系统窗体(每个选项卡都添加同一张背景图片):

一个选项卡控件,其中的子选项卡分别为:

基本信息、查看药品库存、新增药品、删除药品、添加销售记录、查看销售记录、查找员工信息、新增员工信息、修改账户资料、退出系统等7大选项卡里都有各自功能的控件和按钮(如下图)

(1)基本信息查看:

7个标签,Text的值分别为:

工号、姓名、职位、性别、出生日期、联系号码、家庭住址,并把标签的背景颜色设为透明。

(2)添加销售记录:

两个文本框,两个标签,一个按钮。

两个标签的Text值为:

销售药品编号、销售数量,并把标签的背景颜色设为透明;按钮的Text值为添加。

(3)查看销售记录:

一个分层控件,三个标签,两个日期选择控件,一个文本框,一个数据显示控件,一个按钮。

两个标签的Text值为:

日期从、到、工号,并把标签的背景颜色设为透明;按钮的Text值为查询。

(4)查找员工信息:

八个标签,一个文本框,一个按钮。

标签的Text的值分别为:

工号、工号、姓名、职位、性别、出生日期、联系号码、家庭住址,并把标签的背景颜色设为透明;按钮的Text值为查找。

(5)新增员工信息:

九个标签,七个文本框,一个日期选择控件、一个按钮、一个选择项控件。

标签的Text的值分别为:

工号、姓名、职位、性别、出生日期、联系号码、家庭住址,并把标签的背景颜色设为透明;把选择项控件的文本集合设为:

男、女;按钮的Text值为确定添加。

(6)修改账户资料:

四个标签,四个文本框,一个按钮。

标签的Text的值分别为:

手机号码、新密码,再输一次新密码,联系密码,并把标签的背景颜色设为透明;按钮的Text值为确认修改。

(7)查看药品库存:

一个label标签,四个选择控件,一个数据显示控件,一个按钮。

标签的Text的值为:

药品类别,并把标签的背景颜色设为透明;四个选择控件的Text值为:

不限、西药中成、中草、保健品;按钮的Text值为查找。

(8)新增药品:

五个标签,一个选择项控件,四个文本框,一个按钮。

标签的Text的值分别为:

药品编号、药品名称、药品类别、单价、数量,并把标签的背景颜色设为透明;选择项控件的集合值为:

西药中成、中草、保健品;按钮的Text值为添加。

(9)删除药品:

一个标签,一个文本框,一个按钮。

标签的Text的值为:

删除;按钮的Text值为删除。

(10)退出系统:

编写该选项卡的加载事件,使得用户却换到该选项卡是系统提示用户是否退出,如果用户点击“退出”那么窗体应用程序结束进程。

二、概要设计、框架设计

1、数据库的设计:

共四个表,即员工基本信息表(EmployeeInfo)、管理员基本信息表(Seelguanli)、销售记录表(SeelRec)、药库资料表(YaokuRec)——并填写一些相关的数据信息,方便软件使用。

(1)、员工基本信息表(EmployeeInfo)—并把字段“EmployeeNo”设为主键:

字段类型及其含义分别是:

ID(bigint)——数据的排列依据;EmployeeNo(varchar(50))——员工工号;ZhiWei(nvarchar(50))——员工的职位;Password(varchar(50))—员工管理系统的登录密码;FullName(nvarchar(50))——员工的姓名;Gender(nchar

(1))——员工的性别;Birthday(datetime)——员工的出生日期;TelNo(varchar(50))——员工的电话号码;Arrdas(nvarchar(50))——员工的家庭住址。

(2)、管理员基本信息表(Seelguanli)—并把字段“EmployeeNo”设为主键:

字段类型及其含义分别是:

ID(bigint)——数据的排列依据;EmployeeNo(varchar(50))——管理员工号;ZhiWei(nvarchar(50))——管理员的职位;Password(varchar(50))—管理员管理系统的登录密码;FullName(nvarchar(50))——管理员的姓名;Gender(nchar

(1))——管理员的性别;Birthday(datetime)——管理员的出生日期;TelNo(varchar(50))——管理员的电话号码;Arrdas(nvarchar(50))——管理员的家庭住址。

(3)、销售记录表(SeelRec):

ID(bigint)——数据的排列依据;EmployeeNo(varchar(50))——员工工号;FullName(nvarchar(50))——员工的姓名;Gender(nchar

(1))——员工的性别;MemberNo(nvarchar(50))——药品编号;Product(nvarchar(50))——药品名称;DateTimeSold(datetime)——售出时间;Price(decimal(18,2))——售出药品单价;PCount(int)——售出药品数量;Amount(decimal(18,2))——售出药品总额。

(4)、药库资料表(YaokuRec)—并把字段“MemberNo”设为主键:

ID(bigint)——数据的排列依据;MemberNo(nvarchar(50))——药品编号;Leibie(nvarchar(50))——药品的类别;Product(nvarchar(50))——药品名称;DateTimeSold(datetime)——药品入库时间;PricePrice(decimal(18,2))——药品的单价;PCount(int)——药品数量。

2、程序的分层设计:

(界面层(GUI)、业务层(BLL)、数据库访问层(DAL)、实体类项目Entity)。

这四层的相互依赖关系是:

界面层(GUI)——>业务层(BLL)——>数据库访问层(DAL)——>数据库,而且实体类项目(Entity)是三层读可以访问的一个实体类项目(如下图所示)。

而且界面层(GUI)要引用业务层(BLL)和实体类项目(Entity)、业务层(BLL)要引用数据库访问层(DAL)实体类项目(Entity)、数据库访问层(DAL)则要引用实体类项目(Entity)。

(1)、实体类项目(Entity):

项目包含的类有EmployeeInfo类,这个类中声明了一些公有变量,用于存储数据库访问的字段值或登录的工号,方便以后其他三层直接调用其数值。

主要代码如下:

publicclassEmployeeInfo

{

//员工字段

publicstringEmployeeNo;

publicstringPassword;

publicstringZhiWei;

publicstringFullName;

publicstringGender;

publicDateTimeBirthday;

publicstringTelNo;

publicstringArrdas;

//存储用户的登录员工号

publicstaticstringtxtEmployeeNo;

}

(2)、数据库访问层(DAL)——此项目的每个类的方法都需要连接数据库进行操作:

项目包含的类及其功能是:

EmployeeInfoDAO类(对员工表的数据操作)、Seelguanli类(对管理员表的数据操作)、SeelRecDAO类(对销售记录表的数据操作)、YaokuRecDAO类(对药库资料表的数据操作)。

(2.1)EmployeeInfoDAO类:

包含的方法功能及其含义是:

(2.1.1)GetEmployeeInfo(获取一名员工的个人信息,输出结果是员工对象ei(对象当中包含了员工的个人信息)),需要声明的传递参数变量设为:

stringEmployeeNo,主要代码为—Entity.EmployeeInfoei=null;SqlDataReaderdr=cmd.ExecuteReader();用到的SQL语句是:

select*fromEmployeeInfowhereEmployeeNo=@EmployeeNo;

(2.1.2)GetSeelguanli(获取管理员信息,方法原理同上)需要声明的传递参数变量设为:

stringEmployeeNo,用到的SQL语句是:

select*fromSeelguanliwhereEmployeeNo=@EmployeeNo;

(2.1.3)Add(/添加一名员工信息到数据库的员工表)需要声明的传递参数变量设为:

Entity.EmployeeInfoNewEmployee,用到的SQL语句是:

insertintoEmployeeInfo(EmployeeNo,Password,ZhiWei,FullName,Gender,Birthday,TelNo,Arrdas)values(@EmployeeNo,@Password,@ZhiWei,@FullName,@Gender,@Birthday,@TelNo,@Arrdas);

(2.1.4)Xiugai(修改员工的账户信息,如密码、手机号码。

家庭住址)需要声明的传递参数变量设为:

Entity.EmployeeInfoNewEmployee,用到的SQL语句是:

updateEmployeeInfosetTelNo=@TelNo,Password=@Password,Arrdas=@ArrdasfromEmployeeInfowhereEmployeeNo=@EmployeeNo;

Seelguanli类:

包含的方法功能及其含义是:

(2.1.5)Xiugai(修改管理员的账户信息,如密码、手机号码。

家庭住址)需要声明的传递参数变量设为:

Entity.EmployeeInfoNewEmployee,用到的SQL语句是:

updateSeelguanlisetTelNo=@TelNo,Password=@Password,Arrdas=@ArrdasfromSeelguanliwhereEmployeeNo=@EmployeeNo;

(2.1.6)Huoquhao(获取员工表中指定员工的员工编号)需要声明的传递参数变量设为:

stringaa,用到的SQL语句为:

selectEmployeeNofromEmployeeInfowhereEmployeeNo=@EmployeeNo。

 

(2.2)SeelRecDAO类:

包含的方法功能及其含义是:

(2.2.1)Search(查找员工销售记录,其查询返回的结果是一个表单)需要声明的传递参数变量设为:

DateTimeDateMin,DateTimeDateMax,stringEmployeeNo,用到的SQL语句是:

selectIDasID,EmployeeNoas销售员工编号,FullNameas姓名,Genderas性别,MemberNoas药品编号,Productas药品名称,DateTimeSoldas售出时间,Priceas单价,PCountas数量,Amountas总额fromSeelRecwhereDateTimeSold>=@DateMinandDateTimeSold<=@DateMaxandEmployeeNo=@EmployeeNo,其主要代码是:

DataSetds=newDataSet();da.Fill(ds,"sr");conn.Close();returnds.Tables["sr"];;Add(向销售表格添加数据)需要声明的传递参数变量设为:

stringEmployeeNo,stringFullName,stringGender,stringMemberNo,stringProduct,decimalPrice,intCount,decimalAmount,用到的SQL语句是:

insertintoSeelRec(EmployeeNo,FullName,Gender,MemberNo,Product,DateTimeSold,Price,PCount,Amount)values(@EmployeeNo,@FullName,@Gender,@MemberNo,@Product,getdate(),@Price,@Count,@Amount);

(2.2.2)Yaohao(获取表中的药品编号)需要声明的传递参数变量设为:

stringaa,用到的SQL语句是:

selectMemberNofromYaokuRecwhereMemberNo=@MemberNo;

(2.2.3)yaoshu(获取销售表中指定药品的数量,返回值是int)需要声明的传递参数变量设为:

stringMemberNo,用到的SQL语句是:

selectPCountfromSeelRecwhereMemberNo=@MemberNoandEmployeeNo=@EmployeeNo;

(2.2.4)yaojia(获取销售表中指定药品的单价,返回值是decimal)需要声明的传递参数变量设为:

stringMemberNo,用到的SQL语句是:

selectPricefromSeelRecwhereMemberNo=@MemberNoandEmployeeNo=@EmployeeNo;

(2.2.5)gongming(获取表中指定员工工号的名字,返回值是string)需要声明的传递参数变量设为:

stringEmployeeNo,用到的SQL语句是:

selectFullNamefromEmployeeInfowhereEmployeeNo=@EmployeeNo;

(2.2.6)gongxing(获取表中指定员工工号的性别,返回值是string)需要声明的传递参数变量设为:

stringEmployeeNo,用到的SQL语句是:

selectGenderfromEmployeeInfowhereEmployeeNo=@EmployeeNo;

(2.2.7)Tuihuo(退货操作)需要声明的传递参数变量设为:

stringMemberNo,intCount,decimalzongjia,其中需要判断用户输入退货的数量是否小于或等于数据库的销售记录表中所售出的数量,则就可以退货,用到的主要语句是:

 

if(shu2>=Count)

{cmd.CommandText="updateSeelRecsetPCount=(PCount-@Count1),Amount=(Amount-@zongjia1)fromSeelRecwhereMemberNo=@MemberNo1andEmployeeNo=@hao3";。

}

else

{

cmd.CommandText="DeleteSeelRecfromSeelRecwhereMemberNo=@MemberNo2andEmployeeNo=@EmployeeNo";。

}。

 

(2.3)YaokuRecDAO类:

包含的方法功能及其含义是:

(2.3.1)Add(向药库中添加一种药品,如果药库中存在此药品,则增加数量即可,如果不存在则新添加一条数据,需要用到if判断语句)需要声明的传递参数变量设为:

stringMemberNo,stringLeibie,stringProduct,decimalPrice,intCount,其中判断语句的代码是:

if(yaohao1!

=MemberNo)

{

cmd.CommandText="insertintoYaokuRec(MemberNo,Leibie,Product,DateTimeSold,Price,PCount)values(@MemberNo,@Leibie,@Product,getdate(),@Price,@Count)";。

}

else

{

cmd.CommandText="updateYaokuRecsetPCount=(PCount+@Count1)fromYaokuRecwhereMemberNo=@MemberNo1";。

};

(2.3.2)Huosuoyao(获取药库所有药品信息,其返回的查询结果是一个表格信息)需要声明的传递参数变量设为:

stringLeibie,用到的SQL语句是:

selectIDasID,MemberNoas药品编号,Leibieas药品类别,Productas药品名称,DateTimeSoldas入库时间,Priceas药品单价,PCountas药品数量fromYaokuRec;

(2.3.3)Huozhiyao(获取药库中指定类别药品的信息,其返回的查询结果是一个表格信息,原理同上)

需要声明的传递参数变量设为:

stringLeibie,用到的SQL语句是:

selectIDasID,MemberNoas药品编号,Leibieas药品类别,Productas药品名称,DateTimeSoldas入库时间,Priceas药品单价,PCountas药品数量fromYaokuRecwhereLeibie=@Leibie;

(2.3.4)huodanjia(获取药库中指定药品的单价,返回结果是decimal)需要声明的传递参数变量设为:

stringMemberNo,用到的SQL语句是:

selectPricefromYaokuRecwhereMemberNo=@MemberNo;

(2.3.5)huoming(获取药库中指定药品编号的药品名称,返回结果是string)需要声明的传递参数变量设为:

stringMemberNo,用到的SQL语句是:

selectProductfromYaokuRecwhereMemberNo=@MemberNo;

(2.2.6)Delte(删除指定药品编号的数据)需要声明的传递参数变量设为:

stringyaoNo,

用到的SQL语句是:

DeleteYaokuRecfromYaokuRecwhereMemberNo=@yaoNo。

 

(3)、业务层(BLL)——传值并调用DAL层得类方法,最后获取返回值。

项目包含的类及其功能是:

EmployeeService类(对员工表信息的操作和对界面层得相关数值的验证,并调用及传值给DAL层得相关方法)、SeelguanliService类(对管理员相关信息的操作和对界面层得相关数值的验证,并调用及传值给DAL层得相关方法)、SeelRecService类(对销售记录、药库资料相关信息的操作和对界面层得相关数值的验证,并调用及传值给DAL层得相关方法)。

 

(3.1)EmployeeService类:

包含的方法功能及其含义是:

(3.1.1)SaveSalesData(添加销售记录)需要声明的传递参数变量设为:

stringMemberNo,intCount;

(3.1.2)XiugaiSeel(修改员工账号信息)需要声明的传递参数变量设为:

Entity.EmployeeInfoNewEmployee,主要调用代码是:

DAL.EmployeeInfoDAO.Xiugai(NewEmployee);;

(3.1.3)GetEmployeeInfo(获取员工信息,返回值是一个对象)需要声明的传递参数变量设为:

stringEmployeeNo;

(3.1.4)GetSeelguanli1(获取管理员信息,返回值是一个对象)需要声明的传递参数变量设为:

stringEmployeeNo;

(3.1.5)Login(判断用户登录输入的工号和密码是否正确,需要用到if判断语句,返回值是一个布尔值)需要声明的传递参数变量设为:

stringEmployeeNo,stringPassword,Int16a。

 

(3.2)SeelguanliService类:

包含的方法功能及其含义是:

(3.2.1)XiugaiSeelguanli(修改管理员账号信息)需要声明的传递参数变量设为:

Entity.EmployeeInfoNewEmployee;

(3.2.2)AddNewEmployee(添加新的员工信息)需要声明的传递参数变量设为:

Entity.EmployeeInf

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1