温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
药品
进销存
系统
药品进销存系统
需求分析:
设计药品进销存系统并分为六个功能模块。主要用来管理一个小型的药品销售公司。主要有药品的入库、出库,供货商的管理,,客户管理以及必要的库存检索。系统用orcal管理数据库,通过MFC实现软件界面可视化,通过函数连接数据库,实现对数据库的基本操作,下面具体分析每个功能模块:
药品清单:
可以建立一张表用于存放药品相关信息。药品的相关信息包括:货号、药品名称、类型、进价、售价、生产日期以及有效期至。可以添加一条记录到药品清单中,也可以删除一条记录,也可以显示药品清单中所有的记录项,实现对这张表的简单管理。
供货商清单:
可以建立一张表存放供货商的相关信息。供货商清单的相关数据项包括:供货商号、供货商名称、供货商地点、联系电话。可以添加一条记录到供货商清单表中,也可以删除掉一条记录,也可以显示供货商清单中的所有记录,实现对供货商信息的简单管理。
客户清单:
可以建立一张表存放客户的相关信息。客户清单的相关数据项包括:客户编号、客户名称、地点、电话。可以添加一条记录到客户清单表中,也可以删除掉一条记录,也可以显示客户清单中的所有记录,实现对客户信息的简单管理。
进货单:
当有药品入库时,进货单中要增加一条相关记录,以记录药品入库信息。进货单包括的数据项有:编号、供货商号、货号、仓库、进货数量以及进货日期,进货单中可以增加上一条记录,但是不可以删除一条记录,可以显示进货单中的所有记录,实现对进货单的相关管理。
售货单:
当有药品出库时,售货单中要增加一条相关记录,以记录药品出库信息。售货单包括的数据项有:编号、客户编号、货号、仓库、销售数量以及销售日期,售货单中可以增加上一条记录,但是不可以删除一条记录,可以显示售货单中的所有记录,实现对售货单的相关管理。
库存库:
当有药品入库时,库存库要增加相关记录或修改相关记录,当有药品出库时,库存库要修改相关记录或当出库不成功时给出相关警告信息。库存库包括以下数据项:货号、仓库、库存数量、库存单价、库存金额。
概念结构设计:
实体间E_R图
关系模型:(带下划线的表示表的主键)
药品清单(货号,药品名称,类型,进价,售价,生产日期,有效期至)
供货商清单(供货商号,供货商名称,供货商地点,联系电话)
客户清单(客户编码,客户简称,地址,电话)
进货单(编号,供货商号,货号,仓库,进货数量,进货日期)
售货单(编号,客户编号,货号,仓库,销售数量,销售日期)
库存库(货号,仓库,库存数量,库存单价,库存金额)
建表:
增加药品清单表
create table 药品清单
(
货号 varchar(15),
药品名称 varchar(20),
类型 varchar(6),
进价 number(3,1),
售价 number(3,1),
生产日期 date,
有效期至 date,
constraint PK_药品清单 primary key (货号)
);
增加供货商清单表
create table 供货商清单
(
供货商号 varchar(15),
供货商名称 varchar(20),
供货商地点 varchar(20),
联系电话 varchar(15),
constraint PK_供货商清单 primary key(供货商号)
);
增加客户清单表
create table 客户清单
(
客户编码 varchar(15),
客户简称 varchar(15),
地址 varchar(15),
电话 varchar(15),
constraint PK_客户清单 PRIMARY KEY (客户编码)
);
增加进货单表
create table 进货单
(
编号 varchar(15),
供货商号 varchar(20),
货号 varchar(20),
仓库 varchar(10),
进货数量 number(5),check(进货数量>=0),
进货日期 date,
constraint PK_进货单 PRIMARY KEY (编号),
constraint FK_进货单_To_药品清单 FOREIGN KEY (货号)
REFERENCES 药品清单(货号),
constraint FK_进货单_To_供销商清单 FOREIGN KEY (供货商号)
REFERENCES 供货商清单(供货商号)
);
增加售货单表
create table 售货单
(
编号 varchar(15),
客户编号 varchar(20),
货号 varchar(15),
仓库 varchar(10),
销售数量 number(5),
销售日期 date,
constraint PK_售货单 primary key (编号),
constraint FK_售货单_To_药品清单 FOREIGN KEY (货号)
REFERENCES 药品清单(货号),
constraint FK_售货单_To_客户清单 FOREIGN KEY (客户编号)
REFERENCES 客户清单(客户编码)
);
增加库存库
create table 库存库
(
货号 varchar(15),
仓库 varchar(15),
库存数量 number(5),
库存单价 number(3,1),
库存金额 number(7)
);
数据库实施与维护:
整个系统的操作过程:
首先进入登陆界面,用户名和密码都为空,直接单击确认即进入操作界面,单击六个模块中的任意一个按钮进入与其有关的操作界面,再选择所要进行的操作即可弹出相关的对话框,输入用户名和密码后就可实现一系列功能如增加记录,删除和显示记录。在操作失误的时候系统会给出相应的提示和警告,以提示用户输入规范的数据和进行当前可以进行的操作。系统优点就是实现了操作并运行成功了,缺点是没有一个人性化的操作界面,操作也让人感到困倦,总的原因还是道行不深,不愿花费太大的精力,属于注重实现,忽略细节的类型。
MFC的代码实现部分:
登陆界面实现代码
void CMedicineProjectView::OnButton1()
{
// TODO: Add your control notification handler code here
CZhuyemian zhuyemian;
CADMINSET adminset;
CString yonghuming;
CString mima;
UpdateData(TRUE);
//CCzhuyemian dlg;
adminset.Open();
GetDlgItem(IDC_EDIT1)->GetWindowText(yonghuming);
GetDlgItem(IDC_EDIT2)->GetWindowText(mima);
if(adminset.m_SA_NAME!=yonghuming||adminset.m_SA_VALUE!=mima)
MessageBox("用户名或密码错误!");
else
zhuyemian.DoModal();
//zhuyemian.EndDialog(IDD_MEDICINEPROJECT_FORM);
//EndDialog(GetSafeHwnd( ),IDD_MEDICINEPROJECT_FORM);
}
主界面操作代码
void CZhuyemian::OnButton2()
{
// TODO: Add your control notification handler code here
CClientZhujiemian clientzhujiemian;
clientzhujiemian.DoModal();
}
void CZhuyemian::OnButton3()
{
// TODO: Add your control notification handler code here
CProviderzhujiemian providerzhujiemian;
providerzhujiemian.DoModal();
}
void CZhuyemian::OnButton1()
{
// TODO: Add your control notification handler code here
CMedicinezhujiemian medicinezhujiemian;
medicinezhujiemian.DoModal();
}
void CZhuyemian::OnButton5()
{
// TODO: Add your control notification handler code here
CInlistzhujiemian inlistzhujiemian;
inlistzhujiemian.DoModal();
}
void CZhuyemian::OnButton4()
{
// TODO: Add your control notification handler code here
COutlistzhujiemian outlistzhujiemian;
outlistzhujiemian.DoModal();
}
void CZhuyemian::OnButton6()
{
// TODO: Add your control notification handler code here
CKucunkuzhujiemian kucunkuzhujiemian;
kucunkuzhujiemian.DoModal();
}
客户操作的实现代码(药品清单、供货商操作代码类似,在此省略)
// ClientZhujiemian.cpp : implementation file
//
#include "stdafx.h"
#include "MedicineProject.h"
#include "ClientZhujiemian.