资源描述
第一章 需求分析
1.1 商品销售管理功能概述
21世纪是个信息发展的时代,随着电脑普及时代的来临以及互联网的迅速发展,越来越多的进程从单一的人工管理上升到电脑智能管理,企业的发展更不例外,商品的经营管理,经营模式已经慢慢的从手工管理过渡到了计算机管理。对于发展中的绝大多数企业来说,随着规模的不断扩大,商品种类的不断丰富与完善,需要管理的各种商品信息也会大幅度增加,无论是商品管理,订货管理,销售管理,都变得相对复杂。这里开发出了一个“商品销售管理系统”,对企业的发展至关重要,无疑为商品销售的可持续发展,日益壮大提供了保障和解决方案,也节省了大量时间,从而提高了商品销售的运转效率,更有利于企业的管理和维持。商品销售管理系统可以实现企业商品管理的网络化,信息化,现代化,可以有效的提高企业商品的管理效率,节约了管理开支。
通过调查,要求系统需要具有以下功能:
(1) 由于该系统的使用对象多,要求有较好的权限管理。
(2) 方便的数据查询,支持多条件查询。
(3) 基础信息管理与查询,其中包括商品信息、客户信息和员工信息。
(4) 通过计算机,能够直接“透视”商品销售情况。
(5) 完善的商品查询信息、商品销售信息进行管理。
(6) 当外界环境(停电、网络病毒)干扰本系统后,系统可以自动保护原始数据的安全,对数据进行备份与还原。
(7) 数据计算自动完成,尽量减少人工干预。
(8) 系统退出。
商品销售管理系统分为基础信息管理子系统、日常业务管理子系统、查询报表管理子系统、系统信息管理子系统、维护管理子系统。如图1.1所示
1.1商品销售管理系统
1.2 基础信息管理模块
基础信息管理模块主要用于对商品信息,员工信息和客户信息的管理。操作员通过合法的认证登录到该系统中,进行对商品信息,员工信息和客户信息的管理的活动。主要功能如下:
1) 操作员首先登录,身份验证成功后即可登陆商品销售管理系统
2) 操作员进入基础信息功能模块;
3) 操作员管理商品信息;
4) 操作员管理客户信息;
5) 操作员管理员工信息。
该子系统功能分布如图1.2所示
1.2 基础信息管理
1.3 日常业务管理模块
日常业务管理模块主要用于对客户订货,商品销售,销售退货的管理。操作员通过合法的认证登陆到该系统中,进行对客户订货,商品销售,销售退货的管理活动,主要功能如下:
1) 操作员首先登陆,身份验证成功后即可登陆商品销售管理系统
2) 操作员进入日常业务管理模块
3) 管理客户订货
4) 管理商品销售
5) 管理销售退货
该子系统功能分布如图1.3所示
1.3日常业务管理
1.4 查询报表管理模块
查询报表管理模块,主要用于实现操作员对客户订货,商品销售和商品退货的管理,,主要功能如下:
1) 操作员首先登录,身份验证成功后即可登陆商品销售管理系统
2) 操作员进入查询报表功能模块
3) 客户订货查询;
4) 商品销售查询;
5) 销售退货查询。
该子系统功能分布如图1.4所示
1.4查询报表管理
1.5 系统信息管理模块
系统信息管理模块主要用于实现管理操作员,设置操作员的使用权限以及系统管理,主要功能如下:
1) 操作员首先登录,身份验证成功后即可登陆商品销售管理系统
2) 操作员进入系统信息功能模块;
3) 管理操作员的相关信息;
4) 设置操作员的操作权限;
5) 对系统进行管理。
该子系统功能分布如图1.5所示
1.5系统信息管理
1.6 维护管理模块
系统管理模块实现对数据进行备份和恢复,其主要功能如下:
1) 操作员首先登录,身份验证成功后即可登陆商品销售管理系统
2) 操作员进入维护管理功能模块;
3) 设置数据备份路径,对数据进行备份;
4) 对数据进行还原。
该系统功能分布如图1.6所示
1.6维护管理
第二章 数据库的设计
2.1 E-R图
该系统一共涉及到十多个表,ER图如下所示:
2.1.1 操作员
操作员包含的属性有编号,员工编号,名称,密码,头像和简称。如图2.1.1所示:
图2.1.1 操作员
2.1.2 商品
操作员包含的属性有编号,名称产地,销售价格,进货价格,保质期,出厂日期和计量单位。如图2.1.2所示:
图2.1.2 商品
2.1.3 客户
客户包含的属性有编号,名称,地址,电话,联系人电话和厂商。如图2.1.3所示:
图2.1.3 客户
2.1.4 员工
员工包含的属性有编号,薪金,职务,名称和聘用日期。如图2.1.4所示:
图2.1.4 员工
2.1.5 订货
订货包含的属性有票号,借款否,操作员,合计金额,合计数量,订货日期和客户编号。如图2.1.5所示:
图2.1.5 订货
2.1.6 销售
销售包含的属性有票号,找零,未付金额,实付金额,销售类型,操作员,合计金额,合计数量,客户编号和销售时间。如图2.1.6所示:
图2.1.6 销售
2.1.7 退货
退货包含的属性有票号,退货时间,未付金额,找零,实付金额,操作员,合计金额,客户编号和退货时间。如图2.1.7所示:
图2.1.7 退货
2.1.8 退货明细
订货明细包含的属性有票号,商品编号,单价和数量。如图2.1.8所示:
图2.1.8 退货明细
2.1.9 销售明细
销售明细包含的属性有票号,商品编号,单价和数量。如图2.1.9所示:
图2.1.9 销售明细
2.1.10 退货明细
退货明细包含的属性有票号,商品编号,单价和数量。如图2.1.10所示:
图2.1.10 退货明细
2.1.11 库存
库存包含的属性有商品编号和库存数量。如图2.1.11所示:
图2.1.11 库存
2.1.12 权限
权限包含的属性有编号,用户管理,权限管理,系统管理,订货管理,销售管理,退货管理,结款管理,订货管理,销售管理和退货管理。如图2.1.12所示:
图2.1.12 权限
2.1.13 系统设置
系统设置包含的属性有联系人,电话,地址,备份路径和公司名称。如图2.1.13所示:
图2.1.13 系统设置
2.1.14 备份
备份包含的属性有备份日期和备份路径。如图2.1.14所示:
图2.1.14 备份
2.1.15 总的ER图
ER图的实体和实体之间的关系说明如下:
员工销售商品,员工和商品是一对多的关系。
员工管理订货明细,员工和订货明细是多对多的关系。
员工管理退货明细,员工和退货明细是多对多的关系。
员工管理销售明细,员工和销售明细是多对多的关系。
员工管理库存,员工和库存是多对多的关系。
客户购买商品,客户和商品是一对多的关系。
客户可以订货,客户与订货是一对多的关系。
员工管理订货,员工与订货是多对多的关系。
客户可以退货,客户与退货是一对多的关系。
员工管理退货,员工与退货时多对多的关系。
员工管理操作员,员工与操作员是一对多的关系。
操作员拥有操作权限,操作员与权限是一对多的关系。
操作员管理系统设置,操作员与系统设置是一对多的关系。
操作员设置备份,操作员与备份是一对多的关系。如图2.1.15所示:
图2.1.15 总的ER图
2.2 表结构说明
本系统一共涉及到十几个信息表,分为操作员登陆,基础信息,日常业务,查询报表,系统信息和数据备份六个方面。具体信息表如下所示.
2.2.1 操作员信息表
操作员信息表如表2.2.1所示:
列名
数据类型
长度
允许空
编号(主键)
Int
10
否
员工编号
Int
4
是
名称
nvarchar
50
是
密码
nvarchar
50
是
头像
Int
4
是
简称
varchar
50
是
2.2.2 商品信息表
商品信息表如表2.2.2所示:
列名
数据类型
长度
允许空
编号(主键)
char
10
否
名称
nvarchar
50
是
产地
nvarchar
50
是
计量单位
char
8
是
出厂日期
datetime
8
是
保质期
datetime
8
是
进货价格
money
8
是
销售价格
money
8
是
2.2.3 客户信息表
客户信息表如表2.2.3所示:
列名
数据类型
长度
允许空
编号(主键)
char
10
否
名称
nvarchar
50
是
地址
nvarchar
50
是
电话
char
15
是
联系人
char
8
是
联系人电话
char
15
是
2.2.4 员工信息表
员工信息表如表2.2.4所示:
列名
数据类型
长度
允许空
编号(主键)
nchar
10
否
名称
nvarchar
50
是
职务
nvarchar
50
是
聘用日期
datetime
8
是
薪金
money
8
是
2.2.5 订货信息表
订货信息表如表2.2.5所示:
列名
数据类型
长度
允许空
票号
char
15
否
客户编号
char
10
是
订货日期
datetime
8
是
合计数量
float
8
是
合计金额
money
8
是
操作员
Int
4
是
结款否
char
2
是
2.2.6 销售信息表
销售信息表如表2.2.6所示:
列名
数据类型
长度
允许空
票号
char
15
否
销售时间
char
8
是
客户编号
datetime
10
是
合计数量
char
8
是
合计金额
float
8
是
操作员
float
4
是
销售类型
bit
1
是
实付金额
money
8
是
未付金额
money
8
是
找零
money
8
是
2.2.7 退货信息表
列名
数据类型
长度
允许空
票号
char
15
否
退货时间
char
8
是
客户编号
datetime
10
是
合计数量
char
8
是
合计金额
float
8
是
操作员
float
4
是
实付金额
money
8
是
未付金额
money
8
是
找零
money
8
是
2.2.8 订货明细表
列名
数据类型
长度
允许空
票号
nvarchar
50
是
商品编号
nvarchar
50
是
单价
money
8
是
数量
int
4
是
2.2.9 销售明细表
列名
数据类型
长度
允许空
票号
char
15
是
商品编号
char
10
是
单价
money
8
是
数量
int
4
是
2.2.10 退货明细表
列名
数据类型
长度
允许空
票号
char
15
是
商品编号
char
15
是
单价
money
8
是
数量
int
4
是
2.2.11 库存信息表
列名
数据类型
长度
允许空
商品编号
char
10
是
库存数量
float
8
是
2.2.12 权限表
列名
数据类型
长度
允许空
编号(主键)
Int
4
否
用户管理
char
1
是
权限管理
char
1
是
系统管理
char
1
是
订货管理
char
1
是
销售管理
char
1
是
退货管理
char
1
是
结款管理
char
1
是
订货查询
char
1
是
销售查询
char
1
是
退货查询
char
1
是
结款查询
char
1
是
数据备份
char
1
是
数据恢复
char
1
是
商品信息
char
1
是
客户信息
char
1
是
员工信息
char
1
是
2.2.13 系统设置表
列名
数据类型
长度
允许空
公司名称
char
40
是
地址
char
40
是
电话
char
15
是
联系人
char
10
是
备份路径
char
60
是
2.2.14 备份信息表
列名
数据类型
长度
允许空
备份日期
datetime
8
是
备份路径
text
16
是
第三章 商品销售管理系统的功能实现
3.1 基础信息管理模块的实现
3.1.1 操作员登录功能的实现
1) 界面设计
该系统默认有3个操作员并设置了相应头像,双击后输入密码开始验证,若密码成功,即可登陆该系统,若不成功,系统会弹出”您输入的密码不正确,请重新输入”,如果三次输入失败,系统会提示”对不起,请不要登陆该系统,请与管理员联系”,登陆成功后会弹出该系统的主界面,如图3.1.1.1所示:
图3.1.1.1 操作员登陆
登录成功后的主页面如图3.1.1.2所示:
图3.1.1.2 商品销售管理系统
2) 编程的实现
操作员登陆后开始选择用户,这里默认为三个用户,双击后输入正确密码开始验证,如果密码成功,登陆销售管理系统主页面,若错误需要再次重新输入密码。流程图和重要代码如下所示。
流程图如图3.1.1.3所示:
图3.1.1.3 流程图
重要代码如下:
CString sName,sPassWard,sSavePassWard;
if(time>=3)
{
MessageBox("对不起,您不要登录该系统!请与管理员联系!","系统提示",MB_OK|MB_ICONSTOP);
this->OnCancel();
return;
}
m_EdtName.GetWindowText(sName);
m_EdtPassWard.GetWindowText(sPassWard);
if(sName.IsEmpty())
{
MessageBox("请选择一个用户!","系统提示",MB_OK|MB_ICONSTOP);
return;
}
sSavePassWard=ado.FieldToOtherField("操作员信息表","名称",sName,"密码",1);
if(sSavePassWard==sPassWard)
{
OP=sName;
CMyDlg dlg;
this->OnCancel();
dlg.DoModal();
}
else{
MessageBox("您输入的密码不正确,请重新输入!","系统提示",MB_OK|MB_ICONSTOP);
time++;
m_EdtPassWard.SetWindowText("");
m_EdtPassWard.SetFocus();
}.
3.1.2 管理商品信息功能实现
1) 界面设计
管理商品信息功能的界面如下所示,它的主要功能是对商品信息的管理,如下所示的商品按照编号,名称,产地等标识,相应的可以根据编号,名称,产地等条件对商品进行查询,如输入编号为SP00000001可以查询该商品为娃哈哈矿泉水。双击记录可以对其信息进行修改。
商品信息查询如图3.1.2.1所示:
图3.1.2.1 商品信息查询
商品信息管理如图3.1.2.2所示:
图3.1.2.2 商品信息管理
2) 编程的实现
成功登陆商品销售管理系统后,用户选择基础信息管理模块,在商品信息管理中添加商品,修改商品,删除商品,提交到数据库,保存并推出该系统。相应流程图和重要代码如下所示:
流程图如图3.1.2.3所示:
图3.1.2.3 流程图
重要代码:
void CDWare::Display(CString sField,CString sValue){
RxRecordset disRst;
CString sSQL;
sSQL.Format("SELECT * FROM 商品信息表 WHERE %s='%s'",sField,sValue);
disRst.Open(sSQL,adCmdText);
disRst.MoveFirst();
CString EdtUnit,EdtPrice,EdtSellPrice,EdtName,EdtID,EdtArer,DtpOutDate,DtpKeepDate;
CTime tOutDate,tKeepDate;
EdtID=disRst.GetFieldValue("编号");
EdtName=disRst.GetFieldValue("名称");
EdtUnit=disRst.GetFieldValue("计量单位");
EdtArer=disRst.GetFieldValue("产地");
DtpOutDate=disRst.GetFieldValue("出厂日期");
DtpKeepDate=disRst.GetFieldValue("保质期");
EdtPrice=disRst.GetFieldValue("进货价格");
EdtSellPrice=disRst.GetFieldValue("销售价格");
m_EdtID.SetWindowText(EdtID);
m_EdtName.SetWindowText(EdtName);
m_EdtUnit.SetWindowText(EdtUnit);
m_EdtArer.SetWindowText(EdtArer);
m_EdtPrice.SetWindowText(EdtPrice);
m_EdtSellPrice.SetWindowText(EdtSellPrice);
tOutDate=CStringTOCTime(DtpOutDate);
tKeepDate=CStringTOCTime(DtpKeepDate);
m_DtpOutDate.SetTime(&tOutDate);
m_DtpKeepDate.SetTime(&tKeepDate);
disRst.Close();
void CDWare::OnWareButsave()
{
if(MessageBox("确定要保存记录吗?","系统提示",MB_OKCANCEL|MB_ICONQUESTION)==1)
{ if(this->AddOrChange==1) //添加
sSQL.Format("INSERT INTO 商品信息表 VALUES('%s','%s','%s','%s','%s','%s',%s,%s)",EdtID,EdtName,EdtArer,EdtUnit,DtpOutDate,DtpKeepDate,EdtPrice,EdtSellPrice);
if(this->AddOrChange==2) //修改
sSQL.Format("UPDATE 商品信息表 SET 名称='%s',产地='%s',计量单位='%s',出厂日期='%s',保质期='%s',进货价格=%s,销售价格=%s WHERE 编号='%s'",EdtName,EdtArer,EdtUnit,DtpOutDate,DtpKeepDate,EdtPrice,EdtSellPrice,EdtID);
AddRst.Open(sSQL,adCmdText);
sSQL.Format("INSERT INTO 库存信息表 VALUES('%s',0)",EdtID);
AddRst.Open(sSQL,adCmdText);
}
3.1.3 管理客户信息功能实现
1) 界面设计
管理客户信息功能的界面如下所示,它的主要功能是对客户信息的管理,如下所示的客户按照编号,名称等标识,相应的可以根据编号,名称等条件对客户进行查询,如输入编号为KH001可以查询该该客户为佑康食品销售有限公司。双击记录可以对其信息进行修改,如图3.1.3.1所示:
图3.1.3.1 客户信息查询
客户信息管理如图3.1.3.2所示:
图3.1.3.2 客户信息管理
2) 编程的实现
成功登陆商品销售管理系统后,用户选择基础信息管理模块,在客户信息管理中添加客户,修改客户,删除客户,提交到数据库,保存并退出该系统。相应流程图和重要代码如下所示:
流程图如图3.1.3.3所示:
图3.1.3.3 流程图
重要代码:
void CDCliect::Display(CString sField,CString sValue)
{
RxRecordset disRst;
CString sSQL;
sSQL.Format("SELECT * FROM 客户信息表 WHERE %s='%s'",sField,sValue);
disRst.Open(sSQL,adCmdText);
disRst.MoveFirst();
CString EdtLinkManTel,EdtTel,EdtTaxPayer,EdtSName,EdtName,EdtLinkMan,EdtID,EdtFax,EdtEmail,EdtBankID,EdtBank,EdtAddr;
EdtID=disRst.GetFieldValue("编号");
EdtName=disRst.GetFieldValue("名称");
EdtAddr=disRst.GetFieldValue("地址");
EdtTel=disRst.GetFieldValue("电话");
EdtLinkMan=disRst.GetFieldValue("联系人");
EdtLinkManTel=disRst.GetFieldValue("联系人电话");
m_EdtID.SetWindowText(EdtID);
m_EdtName.SetWindowText(EdtName);
m_EdtAddr.SetWindowText(EdtAddr);
m_EdtTel.SetWindowText(EdtTel);
m_EdtLinkMan.SetWindowText(EdtLinkMan);
m_EdtLinkManTel.SetWindowText(EdtLinkManTel);
disRst.Close();
}
3.1.4 管理员工信息功能实现
1) 界面设计
管理客户信息功能的界面如下所示,它的主要功能是对员工信息的管理,如下所示的员工按照编号,名称等标识,相应的可以根据编号,名称等条件对员工进行查询,如输入编号为YG001可以查询该员工名称为李勇。双击记录可以对其信息进行修改,员工信息查询如图3.1.4.1所示:
图3.1.4.1 员工信息查询
员工信息管理如图3.1.4.2所示:
图3.1.4.2 员工信息管理
2) 编程的实现
成功登陆商品销售管理系统后,用户选择基础信息管理模块,在员工信息管理中添加员工,修改员工,删除员工,提交到数据库,保存并推出该系统。相应流程图和重要代码如下所示
流程图如图3.1.4.3所示:
图3.1.4.3 流程图
重要代码:
void CDPerson::Display(CString sField, CString sValue)
{
RxRecordset disRst;
CString sSQL;
sSQL.Format("SELECT * FROM 员工信息表 WHERE %s='%s'",sField,sValue);
disRst.Open(sSQL,adCmdText);
disRst.MoveFirst();
CString sID,sName,sLName,sBusiess,sMoney,sDate;
sID=disRst.GetFieldValue("编号");
sName=disRst.GetFieldValue("名称");
sBusiess=disRst.GetFieldValue("职务");
sMoney=disRst.GetFieldValue("薪金");
sDate=disRst.GetFieldValue("聘用日期");
m_EdtID.SetWindowText(sID);
m_EdtName.SetWindowText(sName);
this->m_EdtBusiess.SetWindowText(sBusiess);
this->m_EdtMoney.SetWindowText(sMoney);
CTime tDate;
tDate=CStringTOCTime(sDate);
this->m_DtDate.SetTime(&tDate);
disRst.Close();
}
3.2 日常业务管理模块的实现
3.2.1 管理客户订货功能实现
1) 界面设计
客户订货管理由订货票号,订货日期,客户名称共同标识,在下方点击登记时,可以在客户名称中输入文字,同时弹出客户信息表方便填写。如图3.2.1.1所示:
图3.2.1.1订货管理
2) 编程的实现
成功登录商品销售管理系统后,用户选择日常业务管理模块,登记客户信息,提交到数据库后,保存并退出。相应流程图及重要代码如下:
流程图如图3.2.1.2所示:
图3.2.1.2 流程图
重要代码:
void CDReserve::OnBUTCleck()
{
CTime time;
CString cTime,NewID;
m_EdtCliect.EnableWindow(true);
m_ButCleck.EnableWindow(false);
m_ButSave.EnableWindow(true);
m_ButUndo.EnableWindow(true);
m_ButExit.EnableWindow(false);
this->m_EdtCliect.SetFocus();
NewID=ado.AutoNumber("订货信息表","票号","DH",3);
this->m_StaID.SetWindowText(NewID);
time=time.GetCurrentTime();
cTime=CTimeToCString(time);
this->m_StaDate.SetWindowText(cTime);
this->clear();
}
3.2.2 管理商品销售功能实现
1) 界面设计
商品销售管理由销售票号,销售日期,客户名称等标识, 在下方点击登记时,可以在客户名称中输入文字,同时弹出客户信息表方便填写。如图3.2.2.1所示:
图3.2.2.1 销售管理
2) 编程的实现
成功登录商品销售管理系统后,用户选择日常业务管理模块,登记商品销售信息,提交到数据库后,保存并退出。相应流程图及重要代码如下
流程图如图3.2.2.2所示:
图3.2.2.2 流程图
重要代码:
void CDSell::OnBUTCleck()
{
CTime time;
CString cTime,NewID;
this->Enabled(true);
this->m_EdtCliect.SetFocus();
NewID=ado.AutoNumber("销售信息表","票号","XS",3);
this->m_StaID.SetWindowText(NewID);
time=time.GetCurrentTime();
cTime=CTimeToCString(time);
this->m_StaDate.SetWindowText(cTime);
this->clear();
}
3.2.3 管理销售退货功能实现
1) 界面设计
销售退货管理由退货票号,退货日期,客户名称共同标识,在下方点击登记时,可以在客户名称中输入文字,同时弹出客户信息表方便填写。如图3.2.3.1所示:
图3.2.3.1 销售退货管理
2) 编程的实现
成功登录商品销售管理系统后,用户选择日常业务管理模块,登记销售管理信息,提交到数据库后,保存并退出。相应流程图及重要代码如下
流程图如图3.2.3.2所示:
图3.2.3.2 流程图
重要代码:
void CDSellBack::OnBUTPrint()
{
CString sName,sDate,sCliect,sSumMoney,sBigMoney,sSumNumber,sID;
RxRecordset brst;
brst.Open("系统设置表");
sName=brst.GetFieldValue("公司名称");
sName=sName+"销售退货发票";
this->m_StaDate.GetWindowText(sDate);
this->m_EdtCliect.GetWindowText(sCliect);
this->m_StaSmallSum.GetWindowText(sSumMoney);
this->m_StaBigSum.GetWindowText(sBigMoney);
this->m_StaSumNumber.GetWindowText(sSumNumber);
this->m_StaID.GetWindowText(sID);
m_ps.MainCaptionFontSize=400;
m_ps.DeckCaptionFontSize=180;
m_ps.DeckCaptionNumber=3;
m_ps.DeckCaptions[0]="退货编号:"+sID;
m_ps.DeckCaptions[1]="退货日期:"+sDate;
m_ps.DeckCaptions[2]="客户:"+sCliect;
m_ps.MainCaption=sName;
m_ps.Grid=&m_Grid;
m_ps.TotalNumber=3;
m_ps.Totals[0]="合计金额(小写):"+sSumMoney;
m_ps.Totals[1]="合计数量:"+sSumNumber;
m_ps.Totals[2]="合计金额(大写):"+sBigMoney;
theApp.Print();
}
3.3 查询报表管理模块的实现
3.3.1 客户订货查询功能的实现
1) 界面设计
用户在右上方输入查询字段及查询条件,单击“查询”按钮,系统会将符合条件的概要订货信息显示在绿色的表格中。用户可以双击某条概要订货信息查询对应的详细订货信息。如图3.3.1.1所示:
图3.3.1.1 订货查询
2) 编程的实现
成功登录商品销售管理系统后,用户选择查询报表管理模块,查询客户订货信息,可以打印。相应流程图及重要代码如下
流程图如图3.2.1.2所示:
图3.2.1.2 流程图
重要代码:
void CDReserve::OnCellKillFocus()
{
CString sNumber,sPrice,sTotal;
float fTotal;
if(m_Grid.GetCol()==5)
{
sNumber=m_Grid.GetItemText(m_Grid.GetRow(),4);
sPrice=m_Grid.GetItemText(m_Grid.GetRow(),5);
fTotal=atof(sNumber)*atof(sPrice);
sTotal.Format("%f",fTotal);
m_Grid.SetItemText(m_Grid.GetRow(),6,sTotal);
int nRecordCount,nSumNumber=0;
float fSumTotal=0.00;
nRecordCount=m_Grid.GetItemCount();
for(int m=0;m<nRecordCount;m++)
{
sNumber=m_Grid.GetItemText(m,4);
sPrice=m_Grid.GetItemText(m,5);
fTotal=atof(sNumber)*atof(sPrice);
nSumNumber=nSumNumber+atoi(sNumber);
fSumTotal=fSumTotal+fTotal;
}
sNumber.Format("%d",nSumNumber);
sTotal.Format("%f",fSumTotal);
this->m_StaSumNumber.SetWindowText(sNumber);
this->m_StaSmallSum.SetWindowText(sTotal);
CString BigTotal;
BigTotal=MoneyToChineseCode(sTotal);
this->m_StaBigSum.SetWindowText(BigTotal);
}
if(m_Grid.GetCol()==6)
m_Grid.m_Edit.NumberOnly(false);
}
3.3.2 商品销售查询功能的实现
1) 界面设计
用户在右上方输入查询字段及查询条件,单击“查询”按钮,系统会将符合条件的概要销售信息显示在绿色的表格中。用户可以双击某条概要销售信息查询对应的详细订货信息。如图3.3.2.1所示:
图3.3.2.1 销售查询
2) 编程的实现
成功登录商品销售管理系统后,用户选择查询报表管理模块,查询商品销售信息,可以打印。相应流程图及重要代码如下
流程图如图3.2.2.2所示:
图3.2.2.2 流程图
重要代码:
BOOL CDSellQuery::OnInitDialog()
{
CDialog::OnInitDialog();
CString ToolText;
m_StaToolText.SetBkColor(RGB(92,92,92));
m_StaToolText.SetTextColor(RGB(255,255,255));
m_StaToolText.SetTextSize(12);
m_ComField.m_CurrentFieldType="文本";
ToolText.Format("用户在右上方输入查询字段及查询条件,单击〖查询〗按钮,系统会将符合条件的概要%s信息显示在绿色的表格中。用户可以双击某条概要%s信息查询对应的详细%s信息。详细
展开阅读全文