www.pudn.com > cygl.rar > Krkd.cpp


// Krkd.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "cyglxt.h" 
#include "Krkd.h" 
#include "ADOConn.h" 
#include "yydlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
extern CString FJLX,FJH; 
///////////////////////////////////////////////////////////////////////////// 
// CKrkd dialog 
 
 
CKrkd::CKrkd(CWnd* pParent /*=NULL*/) 
	: CJieMian(pParent) 
{ 
	//{{AFX_DATA_INIT(CKrkd) 
	shuliang = 1; 
	jiage = 0; 
	Bjf = 0; 
	//}}AFX_DATA_INIT 
} 
 
 
void CKrkd::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CKrkd) 
	DDX_Control(pDX, IDC_BUTTON2, m_SHANCHU); 
	DDX_Control(pDX, IDC_BUTTON1, m_TIANJIA); 
	DDX_Control(pDX, IDCANCEL, m_TUICHU); 
	DDX_Control(pDX, IDOK, m_KAIDAN); 
	DDX_Control(pDX, IDC_EDIT8, m_heji); 
	DDX_Control(pDX, IDC_EDIT6, m_beizhu); 
	DDX_Control(pDX, IDC_LIST2, m_DCB); 
	DDX_Control(pDX, IDC_EDIT7, m_shuliang); 
	DDX_Control(pDX, IDC_EDIT3, m_jiage); 
	DDX_Control(pDX, IDC_EDIT5, m_cpmc); 
	DDX_Control(pDX, IDC_LIST1, m_CPB); 
	DDX_Control(pDX, IDC_COMBO2, m_cpfl); 
	DDX_Control(pDX, IDC_EDIT4, m_bjf); 
	DDX_Control(pDX, IDC_COMBO1, m_fws); 
	DDX_Control(pDX, IDC_EDIT1, m_bh); 
	DDX_Control(pDX, IDC_EDIT2, m_leixing); 
	DDX_Text(pDX, IDC_EDIT7, shuliang); 
	DDX_Text(pDX, IDC_EDIT3, jiage); 
	DDX_Text(pDX, IDC_EDIT4, Bjf); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CKrkd, CDialog) 
	//{{AFX_MSG_MAP(CKrkd) 
	ON_WM_PAINT() 
	ON_WM_SYSCOMMAND() 
	ON_WM_NCLBUTTONDOWN() 
	ON_WM_NCMOUSEMOVE() 
	ON_WM_CTLCOLOR() 
	ON_CBN_SELCHANGE(IDC_COMBO2, OnCPFL) 
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnCPB) 
	ON_BN_CLICKED(IDC_BUTTON1, OnTianJia) 
	ON_NOTIFY(NM_CLICK, IDC_LIST2, OnDCB) 
	ON_BN_CLICKED(IDC_BUTTON2, OnShanChu) 
	ON_BN_CLICKED(IDOK, OnKD) 
	ON_WM_SETCURSOR() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CKrkd message handlers 
int DCheji=0; 
int BJf=0; 
void CKrkd::OnPaint()  
{ 
	CJieMian::OnPaint(); 
} 
 
BOOL CKrkd::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	m_TIANJIA.LoadBitmaps(IDB_TIANJIA1); 
	m_TIANJIA.SizeToContent(); 
	m_KAIDAN.LoadBitmaps(IDB_KAIDAN); 
	m_KAIDAN.SizeToContent(); 
	m_SHANCHU.LoadBitmaps(IDB_SHANCHU1); 
	m_SHANCHU.SizeToContent(); 
	m_TUICHU.LoadBitmaps(IDB_TUICHU); 
	m_TUICHU.SizeToContent(); 
	_variant_t var; 
	m_leixing.SetWindowText(FJLX); 
	m_bh.SetWindowText(FJH); 
	CString BJF; 
	SXfws(); 
 
	ADOConn rst; 
	rst.OnInitADOConn(); 
	CString sql; 
	sql.Format("SELECT*from Czb where 餐桌编号='%s'",FJH); 
	_RecordsetPtr m_pRecordset; 
	m_pRecordset=rst.GetRecordSet((_bstr_t)sql); 
	var=m_pRecordset->GetCollect("包间费"); 
	if(var.vt!=VT_NULL) 
	BJF=(LPCSTR)_bstr_t(var); 
	m_bjf.SetWindowText(BJF); 
	rst.ExitConnect(); 
	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); 
	 
	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,106); 
	m_DCB.ModifyStyle(0,LVS_REPORT | LVS_SHOWSELALWAYS | LVS_SINGLESEL); 
	m_DCB.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP); 
	UpdateData(true); 
		DCheji=Bjf; 
	return TRUE;   
} 
 
void CKrkd::OnSysCommand(UINT nID, LPARAM lParam)  
{ 
	CJieMian::OnSysCommand(nID, lParam); 
} 
 
void CKrkd::OnNcLButtonDown(UINT nHitTest, CPoint point)  
{ 
	CJieMian::OnNcLButtonDown(nHitTest, point); 
} 
 
void CKrkd::OnNcMouseMove(UINT nHitTest, CPoint point)  
{ 
	CJieMian::OnNcMouseMove(nHitTest, point); 
} 
 
HBRUSH CKrkd::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 CKrkd::SXfws() 
{ 
	for(int i=0;i<50;i++) 
	{ 
		m_fws.DeleteString(i); 
	} 
	ADOConn rst; 
	rst.OnInitADOConn(); 
	rst.Open("select * from Ygmd",adCmdText); 
	int recordcount=rst.GetRecordCount(); 
	int ii; 
	CString tiaojian; 
	for(ii=1;ii<=recordcount;ii++) 
	{	 
		tiaojian=rst.GetFieldValue("状态"); 
		if(tiaojian=="空闲") 
		{ 
			tiaojian=rst.GetFieldValue("员工姓名"); 
			m_fws.AddString(tiaojian); 
		} 
		rst.Move(ii); 
	} 
	rst.ExitConnect(); 
} 
 
 
void CKrkd::OnCPFL()  
{ 
	// TODO: Add your control notification handler code here 
	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 CKrkd::OnCPB(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
	if(m_CPB.GetItemCount()==0) 
	{ 
		return; 
	} 
	else 
	{ 
		UpdateData(true); 
		int i=m_CPB.GetSelectionMark(); 
		m_cpmc.SetWindowText(m_CPB.GetItemText(i,0)); 
		m_jiage.SetWindowText(m_CPB.GetItemText(i,2)); 
		 
		 
	} 
	 
	*pResult = 0; 
} 
 
void CKrkd::OnTianJia()  
{ 
	UpdateData(true); 
	int count,i; 
	i=m_CPB.GetSelectionMark(); 
	if(i==-1) 
	{ 
		MessageBox("请选择要添加的菜品","餐饮管理系统"); 
		return; 
	} 
	CString cpmc,shuliang1,shoujia1,beizhu,heji; 
	m_beizhu.GetWindowText(beizhu); 
	m_shuliang.GetWindowText(shuliang1); 
	 
	count=m_DCB.GetItemCount(); 
	int shoujia=jiage*shuliang; 
	shoujia1.Format("%d",shoujia); 
	m_DCB.InsertItem(count,""); 
	m_DCB.SetItemText(count,0,m_CPB.GetItemText(i,0)); 
	m_DCB.SetItemText(count,1,m_CPB.GetItemText(i,1)); 
	m_DCB.SetItemText(count,2,m_CPB.GetItemText(i,2)); 
	m_DCB.SetItemText(count,3,shuliang1); 
	m_DCB.SetItemText(count,4,shoujia1); 
	m_DCB.SetItemText(count,5,beizhu); 
	DCheji=DCheji+shoujia; 
	heji.Format("%d",DCheji); 
	m_heji.SetWindowText(heji); 
	shuliang=1; 
	m_cpmc.SetWindowText(""); 
	m_jiage.SetWindowText(""); 
	BJf=Bjf; 
	UpdateData(false); 
} 
 
void CKrkd::OnDCB(NMHDR* pNMHDR, LRESULT* pResult)  
{ 
	// TODO: Add your control notification handler code here 
	int i=m_DCB.GetSelectionMark(); 
	m_jiage.SetWindowText(m_DCB.GetItemText(i,4)); 
	 
	*pResult = 0; 
} 
 
void CKrkd::OnShanChu()  
{ 
	UpdateData(true); 
	int i=m_DCB.GetSelectionMark(); 
	if(i==-1) 
	{ 
		MessageBox("请选择要删除的菜品","餐饮管理系统"); 
		return; 
	} 
	m_DCB.DeleteItem(i); 
	DCheji=DCheji-jiage; 
	CString heji; 
	heji.Format("%d",DCheji); 
	m_heji.SetWindowText(heji); 
	int a=m_DCB.GetItemCount(); 
	if(a==0) 
	{ 
		m_heji.SetWindowText("0"); 
	} 
 
} 
 
void CKrkd::OnCancel()  
{ 
	// TODO: Add extra cleanup here 
	DCheji=0; 
	Cyydlg *pMyDlg; 
	pMyDlg = new Cyydlg; 
	pMyDlg->Create(IDD_YY); 
	pMyDlg->ShowWindow(SW_SHOW); 
	CDialog::OnCancel(); 
} 
 
void CKrkd::OnKD()  
{ 
	UpdateData(true); 
	int i=m_DCB.GetItemCount(); 
	CString czbh,cpmc,shoujia,shuliang,jiage,hj,bz,gongzuo,fws; 
	m_fws.GetWindowText(fws); 
	gongzuo="工作"; 
	m_bh.GetWindowText(czbh); 
	ADOConn rst; 
	_bstr_t vSQL; 
	hj.Format("%d",DCheji); 
	if(i==0) 
	{ 
		MessageBox("请在点菜单完毕后再提交点菜单","餐饮管理系统"); 
		return; 
	} 
	if(fws=="") 
	{ 
		MessageBox("请选择服务生后再提交点菜单","餐饮管理系统"); 
		return; 
	} 
	for(int ii=0;iiCreate(IDD_YY); 
	pMyDlg->ShowWindow(SW_SHOW); 
	CDialog::OnOK(); 
	 
} 
 
BOOL CKrkd::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)  
{ 
	if   (pWnd==GetDlgItem(IDOK) || pWnd==GetDlgItem(IDCANCEL)||pWnd==GetDlgItem(IDC_BUTTON1)||pWnd==GetDlgItem(IDC_BUTTON2))    
      {    
          SetCursor(LoadCursor(NULL,IDC_HAND));  
			return   TRUE;   
		}    
	 
	return CDialog::OnSetCursor(pWnd, nHitTest, message); 
}