C++物流管理系统(功能结构图+源代码+论文参考文献) 第12页
m_Grid.m_Edit.PopHide=true;
m_Grid.m_Edit.SetReadOnly(true);
m_Grid.m_Edit.NumberOnly(true);
m_Grid.m_Edit.HideGrid();
break;
}
case 6: {
m_Grid.m_Edit.SetReadOnly(false);
m_Grid.m_Edit.PopHide=true;
m_Grid.m_Edit.NumberOnly(true);
m_Grid.m_Edit.HideGrid();
break;
}
}
}
4.4 业务查询类
1.销售开票查询模块
实现目标
销售开票查询模块主要完成如下功能:
支持多字段查询及模糊查询。
支持销售开票主、明细表的调用。
支持销售开票单据的打印。
销售开票查询及打印模块运行界面如图10所示。
图10 销售开票查询模块运行界面
设计步骤
(1)向项目中添加一个新Dialog资源,资源ID为IDD_OPERATIONQUERY。从Controls面板上向Dialog资源中添加6个Static、1个Edit、2个ListControl、4个ComboBox控件。IDD_OPERATIONQUERY对应的类为DOperationQuery。
(2)与销售开票查询模块对应的类为SellQuery,它从业务基类CDOperation直接派生而来。
代码分析
关键代码如下:
void SellQuery::Init()
{
this->m_StaTitle.SetWindowText("开票日期");
this->SetWindowText("销售开票查询");
this->m_DataBaseName="SELECT a.销售票号, b.全称 AS 客户名称, a.开票日期, a.合计数量,\
a.合计金额, d.姓名 AS 经手人,c.用户名 AS 操作员 \
FROM 销售记录表 a INNER JOIN 往来单位信息表 b ON a.客户编号 = b.编号 \
INNER JOIN 操作员信息表 c ON a.操作员 = c.操作员编号 \
INNER JOIN 员工信息表 d ON a.经手人 = d.编号";
this->m_ListDataBaseName="SELECT a.商品条形码 AS 条形码, b.名称 AS 商品名称,\
b.规格, b.产地, b.计量单位, a.销售数量,b.销售价格 AS 销售单价,a.合计金额 ,a.销售票号\
FROM 销售明细表 a INNER JOIN 商品信息表 b ON a.商品条形码 = b.条形码";
}
2.未付款查询模块
实现目标
未付款查询模块主要完成如下功能:
支持多字段查询及模糊查询。
支持未付款结款主、明细表的调用。
支持销售欠款单的打印。
未付款查询及打印模块运行界面如图11所示。
图11 未付款查询模块运行界面
设计步骤
程序中,与未付款查询模块对应的类为NoPayQuery,它是从业务基类CDOperation直接派生而来。
代码分析
(1)关键代码如下:
void NoPayQuery::Init()
{
this->m_StaTitle.SetWindowText("欠款日期");
this->SetWindowText("未付款查询");
this->m_DataBaseName="SELECT a.销售票号,c.全称 AS 客户全称\
,b.挂帐日期 AS 欠款日期,a.合计金额, b.未付金额,d.姓名 AS 经手人, e.用户名 AS 操作员\
FROM 销售记录表 a INNER JOIN 销售挂帐表 b ON a.销售票号 =b.销售票号 \
INNER JOIN 往来单位信息表 c ON a.客户编号 = c.编号 \
INNER JOIN 员工信息表 d ON a.经手人 = d.编号 \
INNER JOIN 操作员信息表 e ON a.操作员 = e.操作员编号 WHERE b.偿还否=0";
this->m_ListDataBaseName="SELECT a.商品条形码 AS 条形码, b.名称 AS 商品名称,b.规格,\
b.产地, b.计量单位, a.销售数量,b.销售价格 AS 销售单价,a.合计金额 ,a.销售票号 \
FROM 销售明细表 a INNER JOIN 商品信息表 b ON a.商品条形码 = b.条形码";
}
(2)重载入“打印”按钮的消息响应函数:
void NoPayQuery::OnButprint()
{
if(m_HotItem<0) {
MessageBox("请在显示主要信息的表格中双击一条记录!",\
"系统提示",MB_OK|MB_ICONSTOP);
return;
}
RxRecordset rst;
CString sID,sClient,sDate,sMan,sMoney,sNoPay;
……
m_ps.MainCaptionFontSize=400;
m_ps.DeckCaptionFontSize=180;
m_ps.MainCaption="销售欠款单";
m_ps.DeckCaptionNumber=4;
m_ps.DeckCaptions[0]="销售票号:"+sID;
m_ps.DeckCaptions[1]="客户全称:"+sClient;
m_ps.DeckCaptions[2]="欠款日期:"+sDate;
m_ps.DeckCaptions[3]="经 手 人:"+sMan;
m_ps.Grid=&m_ListGrid;
m_ps.TotalNumber=4;
CString sPay;
sPay.Format("%f",atof(sMoney)-atof(sNoPay));
m_ps.Totals[0]="应付金额:"+sMoney;
m_ps.Totals[1]="实付金额:"+sPay;
m_ps.Totals[2]="未付金额:"+sNoPay;
m_ps.Totals[3]="操 作 员:"+OP;
CMyApp* theApp;
theApp=(CMyApp*)::AfxGetApp();
theApp->Print();
<< 上一页 [11] [12] [13] [14] [15] [16] [17] [18] 下一页
C++物流管理系统(功能结构图+源代码+论文参考文献) 第12页下载如图片无法显示或论文不完整,请联系qq752018766