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); 
}