www.pudn.com > cygl.rar > Krgd.cpp
// Krgd.cpp : implementation file
//
#include "stdafx.h"
#include "cyglxt.h"
#include "Krgd.h"
#include "ADOConn.h"
#include "Jiezhang.h"
#include "yydlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern CString FJLX,FJH;
/////////////////////////////////////////////////////////////////////////////
// CKrgd dialog
CKrgd::CKrgd(CWnd* pParent /*=NULL*/)
: CJieMian(pParent)
{
//{{AFX_DATA_INIT(CKrgd)
shoujia = 0;
shuliang = 1;
jiage1 = 0;
heji1 = 0;
//}}AFX_DATA_INIT
}
void CKrgd::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CKrgd)
DDX_Control(pDX, IDC_BUTTON4, m_JIEZHANG);
DDX_Control(pDX, IDCANCEL, m_TUICHU);
DDX_Control(pDX, IDOK, m_TIANDAN);
DDX_Control(pDX, IDC_BUTTON3, m_TIANCAI);
DDX_Control(pDX, IDC_BUTTON2, m_SHANCHU);
DDX_Control(pDX, IDC_BUTTON1, m_XIUGAI);
DDX_Control(pDX, IDC_LIST3, m_DCB);
DDX_Control(pDX, IDC_EDIT8, m_heji);
DDX_Control(pDX, IDC_EDIT9, m_beizhu);
DDX_Control(pDX, IDC_EDIT7, m_jiage);
DDX_Control(pDX, IDC_EDIT6, m_shuliang);
DDX_Control(pDX, IDC_EDIT5, m_shoujia);
DDX_Control(pDX, IDC_EDIT4, m_cpmc);
DDX_Control(pDX, IDC_EDIT3, m_fws);
DDX_Control(pDX, IDC_LIST2, m_CPB);
DDX_Control(pDX, IDC_COMBO1, m_cpfl);
DDX_Control(pDX, IDC_LIST1, m_YDCP);
DDX_Control(pDX, IDC_EDIT2, m_bh);
DDX_Control(pDX, IDC_EDIT1, m_leixing);
DDX_Text(pDX, IDC_EDIT5, shoujia);
DDX_Text(pDX, IDC_EDIT6, shuliang);
DDX_Text(pDX, IDC_EDIT7, jiage1);
DDX_Text(pDX, IDC_EDIT8, heji1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CKrgd, CDialog)
//{{AFX_MSG_MAP(CKrgd)
ON_WM_PAINT()
ON_WM_NCLBUTTONDOWN()
ON_WM_NCMOUSEMOVE()
ON_WM_SYSCOMMAND()
ON_CBN_SELCHANGE(IDC_COMBO1, OnCpfl)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnYDCP)
ON_BN_CLICKED(IDC_BUTTON1, OnXiuGai)
ON_BN_CLICKED(IDC_BUTTON2, OnShanChu)
ON_BN_CLICKED(IDC_BUTTON3, OnTianJia)
ON_NOTIFY(NM_CLICK, IDC_LIST2, OnCPB)
ON_BN_CLICKED(IDOK, OnTianDan)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTTON4, OnJieZhang)
ON_WM_SETCURSOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CKrgd message handlers
BOOL CKrgd::OnInitDialog()
{
CDialog::OnInitDialog();
m_TIANCAI.LoadBitmaps(IDB_TIANCAI);
m_TIANCAI.SizeToContent();
m_SHANCHU.LoadBitmaps(IDB_SHANCHU1);
m_SHANCHU.SizeToContent();
m_TIANDAN.LoadBitmaps(IDB_TIANDAN);
m_TIANDAN.SizeToContent();
m_XIUGAI.LoadBitmaps(IDB_XIUGAI1);
m_XIUGAI.SizeToContent();
m_TUICHU.LoadBitmaps(IDB_TUICHU);
m_TUICHU.SizeToContent();
m_JIEZHANG.LoadBitmaps(IDB_JIEZHANG);
m_JIEZHANG.SizeToContent();
CString fws;
m_leixing.SetWindowText(FJLX);
m_bh.SetWindowText(FJH);
m_YDCP.SetTextColor(RGB (0, 255, 255));
m_YDCP.SetTextBkColor(RGB (140, 180, 20));
m_YDCP.SetBkColor(RGB (175, 190, 0));
m_YDCP.InsertColumn(0,"菜品名称",LVCFMT_LEFT,100);
m_YDCP.InsertColumn(1,"数量",LVCFMT_LEFT,38);
m_YDCP.InsertColumn(2,"价格",LVCFMT_LEFT,74);
m_YDCP.ModifyStyle(0,LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL);
m_YDCP.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP);
SXydcp();
m_cpfl.AddString("凉菜类");
m_cpfl.AddString("熟食类");
m_cpfl.AddString("汤类");
m_cpfl.AddString("套餐类");
m_cpfl.AddString("小吃类");
m_cpfl.AddString("零售品");
m_CPB.SetTextColor(RGB (0, 255, 255));
m_CPB.SetTextBkColor(RGB (140, 180, 20));
m_CPB.SetBkColor(RGB (175, 190, 0));
m_CPB.InsertColumn(0,"菜品名称",LVCFMT_LEFT,100);
m_CPB.InsertColumn(1,"单位",LVCFMT_LEFT,38);
m_CPB.InsertColumn(2,"售价(元)",LVCFMT_LEFT,74);
m_CPB.ModifyStyle(0,LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL);
m_CPB.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP);
ADOConn rst;
rst.OnInitADOConn();
CString ssql;
_variant_t var;
ssql.Format("SELECT*FROM Dcb WHERE 餐桌编号='%s'",FJH);
_RecordsetPtr m_pRecordset;
m_pRecordset=rst.GetRecordSet((_bstr_t)ssql);
var=m_pRecordset->GetCollect("服务生");
if(var.vt!=VT_NULL)
fws=(LPCSTR)_bstr_t(var);
m_fws.SetWindowText(fws.GetBuffer(50));
var=m_pRecordset->GetCollect("合计");
if(var.vt!=VT_NULL)
fws=(LPCSTR)_bstr_t(var);
m_heji.SetWindowText(fws);
rst.ExitConnect();
m_DCB.SetTextColor(RGB (0, 255, 255));
m_DCB.SetTextBkColor(RGB (140, 180, 20));
m_DCB.SetBkColor(RGB (175, 190, 0));
m_DCB.InsertColumn(0,"菜品名称",LVCFMT_LEFT,95);
m_DCB.InsertColumn(1,"单位",LVCFMT_LEFT,38);
m_DCB.InsertColumn(2,"售价(元)",LVCFMT_LEFT,65);
m_DCB.InsertColumn(3,"数量",LVCFMT_LEFT,38);
m_DCB.InsertColumn(4,"价格(元)",LVCFMT_LEFT,65);
m_DCB.InsertColumn(5,"备注",LVCFMT_LEFT,135);
m_DCB.ModifyStyle(0,LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL);
m_DCB.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP);
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CKrgd::OnPaint()
{
CJieMian::OnPaint();
}
void CKrgd::OnNcLButtonDown(UINT nHitTest, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CJieMian::OnNcLButtonDown(nHitTest, point);
}
void CKrgd::OnNcMouseMove(UINT nHitTest, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CJieMian::OnNcMouseMove(nHitTest, point);
}
void CKrgd::OnSysCommand(UINT nID, LPARAM lParam)
{
// TODO: Add your message handler code here and/or call default
CJieMian::OnSysCommand(nID, lParam);
}
void CKrgd::SXydcp()
{
CString data;
m_YDCP.DeleteAllItems();
_variant_t var;
ADOConn rst;
rst.OnInitADOConn();
CString ssql;
ssql.Format("SELECT*FROM Dcb WHERE 餐桌编号='%s'",FJH);
_RecordsetPtr m_pRecordset;
m_pRecordset=rst.GetRecordSet((_bstr_t)ssql);
int recordcount=rst.GetRecordCount();
int ii;
int a=0;
for(ii=1;ii<=recordcount;ii++)
{
m_YDCP.InsertItem(a,"");
var=m_pRecordset->GetCollect("菜品名称");
if(var.vt!=VT_NULL)
data=(LPCSTR)_bstr_t(var);
m_YDCP.SetItemText(a,0,data.GetBuffer(50));
var=m_pRecordset->GetCollect("数量");
if(var.vt!=VT_NULL)
data=(LPCSTR)_bstr_t(var);
m_YDCP.SetItemText(a,1,data.GetBuffer(50));
var=m_pRecordset->GetCollect("价格");
if(var.vt!=VT_NULL)
data=(LPCSTR)_bstr_t(var);
m_YDCP.SetItemText(a,2,data.GetBuffer(50));
a++;
rst.Move(ii);
}
rst.ExitConnect();
}
void CKrgd::OnCpfl()
{
m_CPB.DeleteAllItems();
UpdateData(true);
ADOConn rst;
rst.OnInitADOConn();
int ii;
int a=0;
CString tiaojian;
m_cpfl.GetWindowText(tiaojian);
if(tiaojian=="凉菜类")
{
rst.Open("select * from Cpb",adCmdText);
int recordcount=rst.GetRecordCount();
for(ii=1;ii<=recordcount;ii++)
{
tiaojian=rst.GetFieldValue("类别");
if(tiaojian=="凉菜类")
{
m_CPB.InsertItem(a,"");
m_CPB.SetItemText(a,0,rst.GetFieldValue("菜品名称"));
m_CPB.SetItemText(a,1,rst.GetFieldValue("单位"));
m_CPB.SetItemText(a,2,rst.GetFieldValue("售价"));
a++;
}
rst.Move(ii);
}
}
else if(tiaojian=="零售品")
{
rst.Open("select * from Lsp",adCmdText);
int recordcount=rst.GetRecordCount();
for(ii=1;ii<=recordcount;ii++)
{
m_CPB.InsertItem(ii-1,"");
m_CPB.SetItemText(ii-1,0,rst.GetFieldValue("零售品名称"));
m_CPB.SetItemText(ii-1,1,rst.GetFieldValue("单位"));
m_CPB.SetItemText(ii-1,2,rst.GetFieldValue("售价"));
rst.Move(ii);
}
}
else if(tiaojian=="熟食类")
{
rst.Open("select * from Cpb",adCmdText);
int recordcount=rst.GetRecordCount();
for(ii=1;ii<=recordcount;ii++)
{
tiaojian=rst.GetFieldValue("类别");
if(tiaojian=="熟食类")
{
m_CPB.InsertItem(a,"");
m_CPB.SetItemText(a,0,rst.GetFieldValue("菜品名称"));
m_CPB.SetItemText(a,1,rst.GetFieldValue("单位"));
m_CPB.SetItemText(a,2,rst.GetFieldValue("售价"));
a++;
}
rst.Move(ii);
}
}
else if(tiaojian=="汤类")
{
rst.Open("select * from Cpb",adCmdText);
int recordcount=rst.GetRecordCount();
for(ii=1;ii<=recordcount;ii++)
{
tiaojian=rst.GetFieldValue("类别");
if(tiaojian=="汤类")
{
m_CPB.InsertItem(a,"");
m_CPB.SetItemText(a,0,rst.GetFieldValue("菜品名称"));
m_CPB.SetItemText(a,1,rst.GetFieldValue("单位"));
m_CPB.SetItemText(a,2,rst.GetFieldValue("售价"));
a++;
}
rst.Move(ii);
}
}
else if(tiaojian=="套餐类")
{
rst.Open("select * from Cpb",adCmdText);
int recordcount=rst.GetRecordCount();
for(ii=1;ii<=recordcount;ii++)
{
tiaojian=rst.GetFieldValue("类别");
if(tiaojian=="套餐类")
{
m_CPB.InsertItem(a,"");
m_CPB.SetItemText(a,0,rst.GetFieldValue("菜品名称"));
m_CPB.SetItemText(a,1,rst.GetFieldValue("单位"));
m_CPB.SetItemText(a,2,rst.GetFieldValue("售价"));
a++;
}
rst.Move(ii);
}
}
else if(tiaojian=="小吃类")
{
rst.Open("select * from Cpb",adCmdText);
int recordcount=rst.GetRecordCount();
for(ii=1;ii<=recordcount;ii++)
{
tiaojian=rst.GetFieldValue("类别");
if(tiaojian=="小吃类")
{
m_CPB.InsertItem(a,"");
m_CPB.SetItemText(a,0,rst.GetFieldValue("菜品名称"));
m_CPB.SetItemText(a,1,rst.GetFieldValue("单位"));
m_CPB.SetItemText(a,2,rst.GetFieldValue("售价"));
a++;
}
rst.Move(ii);
}
}
rst.ExitConnect();
UpdateData(false);
}
void CKrgd::OnYDCP(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int i=m_YDCP.GetSelectionMark();
if(i!=-1)
{
UpdateData(true);
m_cpmc.SetWindowText(m_YDCP.GetItemText(i,0));
m_jiage.SetWindowText(m_YDCP.GetItemText(i,2));
m_shuliang.SetWindowText(m_YDCP.GetItemText(i,1));
}
else
return;
ADOConn rst;
rst.OnInitADOConn();
_variant_t var;
CString ssql;
ssql.Format("SELECT*FROM Dcb WHERE 餐桌编号='%s' AND 菜品名称='%s'",FJH,m_YDCP.GetItemText(i,0));
_RecordsetPtr m_pRecordset;
m_pRecordset=rst.GetRecordSet((_bstr_t)ssql);
var=m_pRecordset->GetCollect("售价");
if(var.vt!=VT_NULL)
ssql=(LPCSTR)_bstr_t(var);
m_shoujia.SetWindowText(ssql.GetBuffer(50));
var=m_pRecordset->GetCollect("备注");
if(var.vt!=VT_NULL)
ssql=(LPCSTR)_bstr_t(var);
m_beizhu.SetWindowText(ssql.GetBuffer(50));
rst.ExitConnect();
*pResult = 0;
}
void CKrgd::OnXiuGai()
{
UpdateData(true);
int i=m_YDCP.GetSelectionMark();
if(i==-1)
{
MessageBox("请选择要修改的菜品","餐饮管理系统");
return;
}
CString sl,bz;
m_shuliang.GetWindowText(sl);
m_beizhu.GetWindowText(bz);
int jiage,hj2;
jiage=shuliang*shoujia;
if(jiagejiage1)
{
hj2=heji1+(jiage-jiage1);
}
CString jg,heji2;
jg.Format("%d",jiage);
heji2.Format("%d",hj2);
ADOConn rst;
_bstr_t vSQL;
vSQL="UPDATE Dcb SET 数量='"+sl+"',备注='"+bz+"',价格='"+jg+"' WHERE 餐桌编号="+" '"+FJH+"' AND 菜品名称="+" '"+m_YDCP.GetItemText(i,0)+"'";
rst.ExecuteSQL(vSQL);
vSQL="UPDATE Dcb SET 合计='"+heji2+"' WHERE 餐桌编号="+" '"+FJH+"'";
rst.ExecuteSQL(vSQL);
rst.ExitConnect();
MessageBox("修改成功","餐饮管理系统");
m_heji.SetWindowText(heji2);
SXydcp();
}
void CKrgd::OnShanChu()
{
UpdateData(true);
int i=m_YDCP.GetSelectionMark();
if(i==-1)
{
MessageBox("请选择要删除的菜品","餐饮管理系统");
return;
}
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
CString sql;
sql.Format("delete from Dcb where 菜品名称='%s'",m_YDCP.GetItemText(i,0));
m_AdoConn.ExecuteSQL((_bstr_t)sql);
int hj2;
CString heji2;
hj2=heji1-jiage1;
heji2.Format("%d",hj2);
sql.Format("UPDATE Dcb SET 合计='%s' WHERE 餐桌编号='%s'",heji2,FJH);
m_AdoConn.ExecuteSQL((_bstr_t)sql);
m_AdoConn.ExitConnect();
int a=m_YDCP.GetItemCount();
if(a==1)
{
m_heji.SetWindowText("0");
}
m_heji.SetWindowText(heji2);
SXydcp();
m_cpmc.SetWindowText("");
m_shuliang.SetWindowText("1");
m_shoujia.SetWindowText("0");
m_jiage.SetWindowText("0");
m_beizhu.SetWindowText("");
}
void CKrgd::OnTianJia()
{
// TODO: Add your control notification handler code here
UpdateData(true);
int i=m_CPB.GetSelectionMark();
CString sl,jia,bz,heji2;
m_beizhu.GetWindowText(bz);
m_shuliang.GetWindowText(sl);
int hj2,jiage;
jiage=shuliang*shoujia;
hj2=jiage+heji1;
heji2.Format("%d",hj2);
jia.Format("%d",jiage);
if(i==-1)
{
MessageBox("请选择要添加的菜品","餐饮管理系统");
return;
}
int a=m_DCB.GetItemCount();
m_DCB.InsertItem(a,"");
m_DCB.SetItemText(a,0,m_CPB.GetItemText(i,0));
m_DCB.SetItemText(a,1,m_CPB.GetItemText(i,1));
m_DCB.SetItemText(a,2,m_CPB.GetItemText(i,2));
m_DCB.SetItemText(a,3,sl);
m_DCB.SetItemText(a,4,jia);
m_DCB.SetItemText(a,5,bz);
m_heji.SetWindowText(heji2);
}
void CKrgd::OnCancel()
{
CDialog::OnCancel();
}
void CKrgd::OnCPB(NMHDR* pNMHDR, LRESULT* pResult)
{
int i=m_CPB.GetSelectionMark();
m_cpmc.SetWindowText(m_CPB.GetItemText(i,0));
m_shoujia.SetWindowText(m_CPB.GetItemText(i,2));
m_shuliang.SetWindowText("1");
*pResult = 0;
}
void CKrgd::OnTianDan()
{
CString cpmc,shoujia1,shuliang1,jiage2,bz,fws,hj;
m_heji.GetWindowText(hj);
m_fws.GetWindowText(fws);
ADOConn rst;
_bstr_t vSQL;
int i=m_DCB.GetItemCount();
if(i==0)
{
MessageBox("请再添加完菜品后再点击添单按钮!","餐饮管理系统");
return;
}
for(int ii=0;iiCreate(IDD_YY);
pMyDlg->ShowWindow(SW_SHOW);
CDialog::OnOK();
}
HBRUSH CKrgd::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch (nCtlColor) {
case CTLCOLOR_DLG :
case CTLCOLOR_LISTBOX:
case CTLCOLOR_MSGBOX:
case CTLCOLOR_SCROLLBAR:
case CTLCOLOR_EDIT:
case CTLCOLOR_STATIC:
{
pDC->SetBkMode(TRANSPARENT);
HBRUSH B = CreateSolidBrush(RGB(105,200,148));
return (HBRUSH) B;
}
}
}
void CKrgd::OnJieZhang()
{
CJiezhang *pMyDlg;
pMyDlg = new CJiezhang;
pMyDlg->Create(IDD_JIEZHANG);
pMyDlg->ShowWindow(SW_SHOW);
CDialog::OnOK();
}
BOOL CKrgd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if (pWnd==GetDlgItem(IDOK) || pWnd==GetDlgItem(IDCANCEL)||pWnd==GetDlgItem(IDC_BUTTON1)||pWnd==GetDlgItem(IDC_BUTTON2)||pWnd==GetDlgItem(IDC_BUTTON3)||pWnd==GetDlgItem(IDC_BUTTON4))
{
SetCursor(LoadCursor(NULL,IDC_HAND));
return TRUE;
}
return CDialog::OnSetCursor(pWnd, nHitTest, message);
}