📄 selldlg.cpp
字号:
// SellDlg.cpp : implementation file
//
#include "stdafx.h"
#include "resource.h"
#include "SellDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSellDlg dialog
static int i = 0;
static BOOL stocknum;
/////////////////////////////////////////////////////////////////////////////
// CSellDlg dialog
CSellDlg::CSellDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSellDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSellDlg)
m_SellISBN = _T("");
m_SellVip = _T("");
m_SellNum = 1;
m_SellDis = 1;
stocknum = TRUE;
//}}AFX_DATA_INIT
}
CSellDlg::~CSellDlg()
{
}
void CSellDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSellDlg)
DDX_Control(pDX, IDC_SPINNUM, m_Spin);
DDX_Control(pDX, IDC_SELLLIST, m_SellList);
DDX_Text(pDX, IDC_SELLISBN, m_SellISBN);
DDX_Text(pDX, IDC_SELLVIP, m_SellVip);
DDX_Text(pDX, IDC_SELLNUM, m_SellNum);
DDX_Text(pDX, IDC_SELLDISCOUNT, m_SellDis);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSellDlg, CDialog)
//{{AFX_MSG_MAP(CSellDlg)
ON_BN_CLICKED(IDC_SELLSAVECONTINUE, OnSellsavecontinue)
ON_WM_LBUTTONDOWN()
ON_BN_CLICKED(IDC_SELLDELETE, OnSelldelete)
ON_WM_PAINT()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSellDlg message handlers
BOOL CSellDlg::OnInitDialog()
{
CDialog::OnInitDialog();
i = 0;
///初始化列表框
m_SellList.SetTextColor(RGB (0, 0, 0));
m_SellList.SetBkColor(RGB(255,255,255));
m_SellList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
m_SellList.InsertColumn(0,_T("ISBN"),LVCFMT_CENTER,100);
m_SellList.InsertColumn(1,_T("书名"),LVCFMT_CENTER,100);
m_SellList.InsertColumn(2,_T("作者"),LVCFMT_CENTER,80);
m_SellList.InsertColumn(3,_T("数量"),LVCFMT_CENTER,60);
m_SellList.InsertColumn(4,_T("类别"),LVCFMT_CENTER,80);
m_SellList.InsertColumn(5,_T("出版社"),LVCFMT_CENTER,100);
m_SellList.InsertColumn(6,_T("版本"),LVCFMT_CENTER,60);
m_SellList.InsertColumn(7,_T("册数"),LVCFMT_CENTER,60);
m_SellList.InsertColumn(8,_T("折扣"),LVCFMT_CENTER,60);
m_SellList.InsertColumn(9,_T("价格"),LVCFMT_CENTER,60);
m_Spin.SetRange(0,1000);
m_Spin.SetPos(1);
return TRUE;
}
BOOL CSellDlg::OnSellsavecontinue()
{
this->UpdateData(true);
if(m_SellISBN!="")
{
SHOP::_RecordsetPtr pRst,pRst1;
CString _sql;
CString _sql1;
int m_num = 0;
_sql.Format("select * from BOOK where ISBN = \'%s\'",m_SellISBN);
_sql1.Format("select NUM from STOCK where ISBN = \'%s\'",m_SellISBN);
_bstr_t sql = _sql;
_bstr_t sql1 = _sql1;
try
{
pRst1 = pConn->Execute(sql1,NULL,SHOP::adCmdText);
while(!pRst1->End)
{
_variant_t vNUM = pRst1->Fields->GetItem("NUM")->Value;
m_num = vNUM.iVal;
if(m_num < m_SellNum)
{
AfxMessageBox("对不起,库存数量不足!");
stocknum = FALSE;
return FALSE;
}
pRst1->MoveNext();
}
pRst1->Close();
pRst1.Release();
pRst = pConn->Execute(sql,NULL,SHOP::adCmdText);
while(!pRst->End)
{
_variant_t vISBN = pRst->Fields->GetItem("ISBN")->Value;
_variant_t vNAME = pRst->Fields->GetItem(long(1))->Value;
_variant_t vCLASS = pRst->Fields->GetItem(long(2))->Value;
_variant_t vAUTHOR = pRst->Fields->GetItem(long(3))->Value;
_variant_t vPRESS = pRst->Fields->GetItem(long(4))->Value;
_variant_t vVER = pRst->Fields->GetItem(long(6))->Value;
_variant_t vPRICE = pRst->Fields->GetItem(long(7))->Value;
_variant_t vVOLUME = pRst->Fields->GetItem(long(9))->Value;
CString m_isbn = vISBN.bstrVal;
CString m_name = vNAME.bstrVal;
CString m_class = vCLASS.bstrVal;
CString m_author = vAUTHOR.bstrVal;
CString m_press = vPRESS.bstrVal;
int m_ver = vVER.iVal;
int m_price = vPRICE.iVal;
int m_volume = vVOLUME.iVal;
CString version,price,volume,num,dis;
version.Format("%d",m_ver);
price.Format("%d",m_price);
volume.Format("%d",m_volume);
num.Format("%d",m_SellNum);
dis.Format("%d",m_SellDis);
price.Insert(price.GetLength()-2,".");
sell s;
s.isbn = m_isbn;
s.name = m_name;
s.author = m_author;
s.classes = m_class;
s.press = m_press;
s.version = version;
s.volume = volume;
s.price = m_price/100;
s.discount = m_SellDis;
s.num = m_SellNum;
s.vipid = m_SellVip;
s.empid = "1000";
sells.push_back(s);
m_SellList.InsertItem(i,s.isbn);
m_SellList.SetItemText(i,1,s.name);
m_SellList.SetItemText(i,2,s.author);
m_SellList.SetItemText(i,3,num);
m_SellList.SetItemText(i,4,s.classes);
m_SellList.SetItemText(i,5,s.press);
m_SellList.SetItemText(i,6,s.version);
m_SellList.SetItemText(i,7,s.volume);
m_SellList.SetItemText(i,8,dis);
m_SellList.SetItemText(i,9,price);
i++;
pRst->MoveNext();
}
pRst->Close();
pRst.Release();
}
catch(_com_error& e)
{
AfxMessageBox(e.Description());
}
m_SellISBN = "";
m_SellVip = "";
m_SellNum = 1;
m_SellDis = 1;
this->UpdateData(false);
}
else
AfxMessageBox("请输入图书号!");
return TRUE;
}
void CSellDlg::OnOK()
{
if(stocknum == FALSE)
{
AfxMessageBox("对不起,库存数量不足!");
return;
}
if(!sells.size() == 0)
{
for(int in = 0; in < sells.size(); in++)
{
CString _sql;
_sql.Format("insert into SELL values(sysdate,\'%s\',\'%s\',%d,%d,%d,\'%s\',\'%s\',\'%s\')",sells[in].isbn,sells[in].name,sells[in].num,sells[in].price,sells[in].discount,sells[in].empid,sells[in].author,sells[in].classes);
_bstr_t sql = _sql;
try
{
pConn->Execute(sql,NULL,SHOP::adCmdText);
}
catch(_com_error& e)
{
AfxMessageBox(e.Description());
}
}
AfxMessageBox("交易成功!");
sells.clear();
CDialog::OnOK();
}
else
AfxMessageBox("未选定图书,请选择!");
}
void CSellDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
PostMessage(WM_NCLBUTTONDOWN,HTCAPTION,MAKELPARAM(point.x, point.y));
CDialog::OnLButtonDown(nFlags, point);
}
void CSellDlg::OnSelldelete()
{
int j = m_SellList.GetSelectionMark();
if(j >= 0)
sells.erase(sells.begin()+j);
m_SellList.DeleteItem(j);
i--;
}
void CSellDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -