📄 cashieroperationdlg.cpp
字号:
// CashierOperationDLg.cpp : implementation file
//
#include "stdafx.h"
#include "supermarketcahsier.h"
#include "CashierOperationDLg.h"
#include "SupermarketCahsierView.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCashierOperationDLg dialog
CCashierOperationDLg::CCashierOperationDLg(CWnd* pParent /*=NULL*/)
: CDialog(CCashierOperationDLg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCashierOperationDLg)
m_strEdit1 = _T("");
m_strEdit2 = _T("");
m_strEdit3 = _T("");
m_strEdit4 = _T("");
m_strEdit5 = _T("");
m_strStatic1 = _T("");
m_strStatic2 = _T("");
m_strStatic3 = _T("");
m_strStatic4 = _T("");
m_strStatic5 = _T("");
m_strEdit6 = _T("");
m_strStatic6 = _T("");
//}}AFX_DATA_INIT
}
void CCashierOperationDLg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCashierOperationDLg)
DDX_Control(pDX, IDOK, m_strBtnLeft);
DDX_Control(pDX, IDCANCEL, m_strBtnRight);
DDX_Text(pDX, IDC_EDIT1, m_strEdit1);
DDX_Text(pDX, IDC_EDIT2, m_strEdit2);
DDX_Text(pDX, IDC_EDIT3, m_strEdit3);
DDX_Text(pDX, IDC_EDIT4, m_strEdit4);
DDX_Text(pDX, IDC_EDIT5, m_strEdit5);
DDX_Text(pDX, IDC_STATIC1, m_strStatic1);
DDX_Text(pDX, IDC_STATIC2, m_strStatic2);
DDX_Text(pDX, IDC_STATIC3, m_strStatic3);
DDX_Text(pDX, IDC_STATIC4, m_strStatic4);
DDX_Text(pDX, IDC_STATIC5, m_strStatic5);
DDX_Text(pDX, IDC_EDIT6, m_strEdit6);
DDX_Text(pDX, IDC_STATIC6, m_strStatic6);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCashierOperationDLg, CDialog)
//{{AFX_MSG_MAP(CCashierOperationDLg)
ON_BN_CLICKED(IDOK, OnOKBtnClicked)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCashierOperationDLg message handlers
void CCashierOperationDLg::setStype(STYPE stype)
{
this->stype = stype;
}
BOOL CCashierOperationDLg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CString strWinText;
UINT nCount;
BOOL bQuery = FALSE;
CMainFrame * m_Frm=(CMainFrame *)::AfxGetMainWnd();
m_Frm->m_ListView->ctl->DeleteAllItems();
CListCtrl* pmyListCtrl = m_Frm->m_ListView->ctl;
int nColumnCount = pmyListCtrl->GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0;i < nColumnCount;i++)
{
pmyListCtrl->DeleteColumn(0);
}
switch(stype)
{
case CASHIER_ADD:
strWinText=_T("添加新收银员信息");
m_strStatic1=_T("收银员编号");
m_strStatic2=_T("收银员姓名");
m_strStatic3=_T("收银员性别");
m_strStatic4=_T("收银员用户名");
m_strStatic5=_T("密码");
m_strStatic6=_T("确认密码");
m_strEdit3 = _T("男");
strSQL.Format("select * from Cashier");
break;
case CASHIER_DELETE:
strWinText=_T("删除收银员信息");
m_strStatic1=_T("收银员编号");
m_strStatic2=_T("收银员姓名");
m_strStatic3=_T("收银员性别");
m_strStatic4=_T("收银员用户名");
m_strStatic5=_T("");
m_strStatic6=_T("");
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Cashier");
break;
case CASHIER_EDIT:
strWinText=_T("修改收银员信息");
m_strStatic1=_T("收银员编号");
m_strStatic2=_T("收银员姓名");
m_strStatic3=_T("收银员性别");
m_strStatic4=_T("收银员用户名");
m_strStatic5=_T("密码");
m_strStatic6=_T("确认密码");
strSQL.Format("select * from Cashier");
break;
case CASHIER_QUERY:
strWinText=_T("收银员信息");
m_strStatic1=_T("收银员编号");
m_strStatic2=_T("收银员姓名");
m_strStatic3=_T("收银员性别");
m_strStatic4=_T("收银员用户名");
m_strStatic5=_T("");
m_strStatic6=_T("");
bQuery = TRUE;
nCount = 4 ;
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Cashier");
break;
case CUSTOMER_ADD:
strWinText=_T("添加新客户信息");
m_strStatic1=_T("客户编号");
m_strStatic2=_T("客户姓名");
m_strStatic3=_T("客户性别");
m_strStatic4=_T("");
m_strStatic5=_T("");
m_strStatic6=_T("");
m_strEdit3 = _T("男");
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Customer");
break;
case CUSTOMER_DELETE:
strWinText=_T("删除客户信息");
m_strStatic1=_T("客户编号");
m_strStatic2=_T("客户姓名");
m_strStatic3=_T("客户性别");
m_strStatic4=_T("");
m_strStatic5=_T("");
m_strStatic6=_T("");
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Customer");
break;
case CUSTOMER_EDIT:
strWinText=_T("修改客户信息");
m_strStatic1=_T("客户编号");
m_strStatic2=_T("客户姓名");
m_strStatic3=_T("客户性别");
m_strStatic4=_T("消费金额");
m_strStatic5=_T("");
m_strStatic6=_T("");
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Customer");
break;
case CUSTOMER_QUERY:
bQuery = TRUE;
strWinText=_T("查询客户信息");
m_strStatic1=_T("客户编号");
m_strStatic2=_T("客户姓名");
m_strStatic3=_T("客户性别");
m_strStatic4=_T("注册时间");
m_strStatic5=_T("会员");
m_strStatic6=_T("消费金额");
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
nCount = 6 ;
strSQL.Format("select * from Customer");
break;
case GOODS_ADD:
strWinText=_T("添加商品信息");
m_strStatic1=_T("商品编号");
m_strStatic2=_T("商品名称");
m_strStatic3=_T("商品单价");
m_strStatic4=_T("剩余库存");
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Goods");
break;
case GOODS_DELETE:
strWinText=_T("删除商品信息");
m_strStatic1=_T("商品编号");
m_strStatic2=_T("商品名称");
m_strStatic3=_T("商品单价");
m_strStatic4=_T("剩余库存");
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Goods");
break;
case GOODS_EDIT:
strWinText=_T("修改商品信息");
m_strStatic1=_T("商品编号");
m_strStatic2=_T("商品名称");
m_strStatic3=_T("商品单价");
m_strStatic4=_T("剩余库存");
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Goods");
break;
case GOODS_QUERY:
bQuery = TRUE;
strWinText=_T("查询商品信息");
m_strStatic1=_T("商品编号");
m_strStatic2=_T("商品名称");
m_strStatic3=_T("商品单价");
m_strStatic4=_T("剩余库存");
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
nCount = 4 ;
strSQL.Format("select * from Goods");
break;
case CASHINFO_ADD:
strWinText=_T("添加收银信息");
m_strStatic1=_T("收款金额");
m_strStatic2=_T("收银员编号");
m_strStatic3=_T("上班时间");
m_strStatic4=_T("下班时间");
GetDlgItem(IDC_STATIC2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT3)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Cashinfo");
break;
case CASHINFO_QUERY:
bQuery = TRUE;
strWinText=_T("查询收银信息");
m_strStatic1=_T("收银员编号");
m_strStatic2=_T("收银员姓名");
m_strStatic3=_T("收款金额");
m_strStatic4=_T("上班时间");
m_strStatic5=_T("下班时间");
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
nCount = 5 ;
strSQL.Format("select * from Query_Cashinfo");
break;
case TRADE_ADD:
strWinText=_T("添加交易信息");
m_strStatic1=_T("顾客编号");
m_strStatic2=_T("商品编号");
m_strStatic3=_T("交易数量");
m_strStatic4=_T("交易时间");
GetDlgItem(IDC_STATIC4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT4)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
strSQL.Format("select * from Tradeinfo");
break;
case TRADE_QUERY:
bQuery = TRUE;
strWinText=_T("查询交易信息");
m_strStatic1=_T("顾客编号");
m_strStatic2=_T("顾客姓名");
m_strStatic3=_T("商品编号");
m_strStatic4=_T("商品名称");
m_strStatic5=_T("交易数量");
m_strStatic6=_T("交易时间");
GetDlgItem(IDC_STATIC5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC6)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT5)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT6)->ShowWindow(SW_HIDE);
nCount = 6 ;
strSQL.Format("select * from Query_Tradeinfo");
break;
}
SetWindowText(strWinText);
if(bQuery)
{
CString strColumns[6];
strColumns[0]=(m_strStatic1);
strColumns[1]=(m_strStatic2);
strColumns[2]=(m_strStatic3);
strColumns[3]=(m_strStatic4);
strColumns[4]=(m_strStatic5);
strColumns[5]=(m_strStatic6);
CRect rect;
m_Frm->m_ListView->GetClientRect(&rect);
int width = rect.Width() / nCount;
for (UINT i=0; i<nCount; ++i)
{
m_Frm->m_ListView->ctl->InsertColumn(i, strColumns[i],
LVCFMT_LEFT, width);
}
m_Frm->m_ListView->ctl->SetExtendedStyle(m_Frm->m_ListView->ctl->GetExtendedStyle() | \
LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
}
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCashierOperationDLg::OnOKBtnClicked()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CMainFrame * m_Frm=(CMainFrame *)::AfxGetMainWnd();
int i,j=0;
BOOL bRet;
BOOL bFirst = FALSE;
CString strFilter = _T("");
double dMoney = 0;
char cMoney[10] = _T("");
m_Frm->m_ListView->ctl->DeleteAllItems();
switch(stype)
{
case CASHIER_ADD:
if (m_strEdit1.IsEmpty())
{
AfxMessageBox("请输入收银员编号!");
return;
}
if (m_strEdit2.IsEmpty())
{
AfxMessageBox("请输入收银员姓名!");
return;
}
if (m_strEdit3 != "男" && m_strEdit3 != "女")
{
AfxMessageBox("请正确输入收银员性别!");
return;
}
if (m_strEdit5.GetLength() < 6)
{
AfxMessageBox("密码必须是6位以上!");
return;
}
try
{
if(m_Cashier.IsOpen())
m_Cashier.Close();
m_Cashier.m_strFilter.Format("Cno = '%s'",m_strEdit1);
m_Cashier.Open(CCashierRecordSet::snapshot,NULL,CCashierRecordSet::none);
if(!m_Cashier.IsEOF())
{
m_Cashier.Close();
AfxMessageBox("收银员编号已经存在!");
return;
}
if(m_Cashier.IsOpen())
m_Cashier.Close();
m_Cashier.m_strFilter.Format("Clogname = '%s'",m_strEdit4);
m_Cashier.Open(CCashierRecordSet::snapshot,NULL,CCashierRecordSet::none);
if(!m_Cashier.IsEOF())
{
m_Cashier.Close();
AfxMessageBox("收银员登录名已经被使用,请更换!");
return;
}
if(m_strEdit5 == m_strEdit6)
{
m_Cashier.AddNew();
m_Cashier.m_Cno = m_strEdit1;
m_Cashier.m_Cname = m_strEdit2;
m_Cashier.m_Csex = m_strEdit3;
m_Cashier.m_Clogname = m_strEdit4;
m_Cashier.m_Clogpass = m_strEdit5;
if(m_Cashier.CanUpdate())
{
bRet = m_Cashier.Update();
AfxMessageBox("新收银员信息添加成功!");
}
}
else
{
AfxMessageBox("密码输入不一致!");
return;
}
if(m_Cashier.IsOpen())
m_Cashier.Close();
}
catch (CDBException* e)
{
e->ReportError();
//e->Delete();
return;
}
break;
case CASHIER_DELETE:
if (m_strEdit3 != "男" && m_strEdit3 != "女" && m_strEdit3.GetLength())
{
AfxMessageBox("请正确输入收银员性别!");
return;
}
try{
if(m_Cashier.IsOpen())
m_Cashier.Close();
if(m_strEdit1.GetLength())
{
if(bFirst)
m_Cashier.m_strFilter += " and ";
strFilter.Format("Cno = '%s'",m_strEdit1);
m_Cashier.m_strFilter += strFilter;
bFirst = TRUE;
}
if(m_strEdit2.GetLength())
{
if(bFirst)
m_Cashier.m_strFilter += " and ";
strFilter.Format("Cname = '%s'",m_strEdit2);
m_Cashier.m_strFilter += strFilter;
bFirst = TRUE;
}
if(m_strEdit3.GetLength())
{
if(bFirst)
m_Cashier.m_strFilter += " and ";
strFilter.Format("Csex = '%s'",m_strEdit3);
m_Cashier.m_strFilter += strFilter;
bFirst = TRUE;
}
if(m_strEdit4.GetLength())
{
if(bFirst)
m_Cashier.m_strFilter += " and ";
strFilter.Format("Clogname = '%s'",m_strEdit4);
m_Cashier.m_strFilter += strFilter;
bFirst = TRUE;
}
m_Cashier.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if (m_Cashier.IsOpen() && !m_Cashier.IsEOF())
{
m_Cashier.Delete();
if(m_Cashier.IsOpen())
m_Cashier.Close();
AfxMessageBox("删除成功!");
}
else
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -