chkudlg.cpp
来自「商品进存销管理系统 包含发票」· C++ 代码 · 共 311 行
CPP
311 行
// chkuDlg.cpp : implementation file
//
#include "stdafx.h"
#include "glxt.h"
#include "chkuDlg.h"
#include "librarygDlg.h"
#include "shp.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CchkuDlg dialog
CchkuDlg::CchkuDlg(CWnd* pParent /*=NULL*/)
: CDialog(CchkuDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CchkuDlg)
m_outno = _T("");
m_seller = _T("");
m_rq = 0;
//}}AFX_DATA_INIT
}
void CchkuDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CchkuDlg)
DDX_Control(pDX, IDC_LIST3, m_libraryxx);
DDX_Control(pDX, IDC_LIST2, m_outck);
DDX_Control(pDX, IDC_LIST1, m_ckxx);
DDX_Text(pDX, IDC_EDIT1, m_outno);
DDX_Text(pDX, IDC_EDIT2, m_seller);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_rq);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CchkuDlg, CDialog)
//{{AFX_MSG_MAP(CchkuDlg)
ON_BN_CLICKED(IDC_BUTTON2, Onsgood)
ON_BN_CLICKED(IDC_BUTTON1, Onoutlbary)
ON_BN_CLICKED(IDC_BUTTON5, Onxshck)
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTTON3, Onshowkuc)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CchkuDlg message handlers
BOOL CchkuDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_db.Open(_T("gshDSN"));
m_chkuxx.m_pDatabase=&m_db;
m_kucun.m_pDatabase=&m_db;
// TODO: Add extra initialization here
m_ckxx.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT );
m_ckxx.InsertColumn(0,"库存编号",LVCFMT_LEFT,100);
m_ckxx.InsertColumn(1,"商品编号",LVCFMT_LEFT,100);
m_ckxx.InsertColumn(2,"商品名称",LVCFMT_LEFT,100);
m_ckxx.InsertColumn(3,"品牌",LVCFMT_LEFT,80);
m_ckxx.InsertColumn(4,"规格",LVCFMT_LEFT,80);
m_ckxx.InsertColumn(5,"产地",LVCFMT_LEFT,80);
m_ckxx.InsertColumn(6,"商品类别",LVCFMT_LEFT,100);
m_ckxx.InsertColumn(7,"计量单位",LVCFMT_LEFT,80);
m_ckxx.InsertColumn(8,"供货商",LVCFMT_LEFT,80);
m_ckxx.InsertColumn(9,"进货价格",LVCFMT_CENTER,80);
m_ckxx.InsertColumn(10,"销售价格",LVCFMT_CENTER,80);
m_ckxx.InsertColumn(11,"数量",LVCFMT_CENTER,80);
m_ckxx.InsertColumn(12,"销售总计",LVCFMT_CENTER,80);
m_outck.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT );
m_outck.InsertColumn(0,"出库编号",LVCFMT_LEFT,100);
m_outck.InsertColumn(1,"商品编号",LVCFMT_LEFT,100);
m_outck.InsertColumn(2,"商品名称",LVCFMT_LEFT,100);
m_outck.InsertColumn(3,"商品价格",LVCFMT_LEFT,100);
m_outck.InsertColumn(4,"数量",LVCFMT_LEFT,80);
m_outck.InsertColumn(5,"售货员",LVCFMT_LEFT,100);
m_outck.InsertColumn(6,"出库时间",LVCFMT_LEFT,100);
m_libraryxx.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
m_libraryxx.InsertColumn(0,"库存编号",LVCFMT_CENTER,100);
m_libraryxx.InsertColumn(1,"商品编号",LVCFMT_CENTER,100);
m_libraryxx.InsertColumn(2,"发票号",LVCFMT_CENTER,80);
m_libraryxx.InsertColumn(3,"库存量",LVCFMT_CENTER,80);
m_libraryxx.InsertColumn(4,"销售价格",LVCFMT_CENTER,80);
m_libraryxx.InsertColumn(5,"供货商",LVCFMT_CENTER,80);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CchkuDlg::Onsgood()
{
// TODO: Add your control notification handler code here
ClibrarygDlg dlg;
CString s;
double x;
//dlg.DoModal();
if(dlg.DoModal()==IDOK)
{
int n=m_ckxx.GetItemCount();
UpdateData();
m_ckxx.InsertItem(n,"");
s.Format("%s",dlg.m_lbno);
m_ckxx.SetItemText(n,0,s);
s.Format("%s",dlg.m_gno);
m_ckxx.SetItemText(n,1,s);
s.Format("%s",dlg.m_gname);
m_ckxx.SetItemText(n,2,s);
s.Format("%s",dlg.m_gpp);
m_ckxx.SetItemText(n,3,s);
s.Format("%s",dlg.m_gtype);
m_ckxx.SetItemText(n,4,s);
s.Format("%s",dlg.m_addr);
m_ckxx.SetItemText(n,5,s);
s.Format("%s",dlg.m_gkind);
m_ckxx.SetItemText(n,6,s);
s.Format("%s",dlg.m_dw);
m_ckxx.SetItemText(n,7,s);
s.Format("%s",dlg.m_pname);
m_ckxx.SetItemText(n,8,s);
s.Format("%.2f",dlg.m_bprice);
m_ckxx.SetItemText(n,9,s);
s.Format("%.2f",dlg.m_sprice);
m_ckxx.SetItemText(n,10,s);
s.Format("%d",dlg.m_count);
m_ckxx.SetItemText(n,11,s);
x=dlg.m_count*dlg.m_sprice;
s.Format("%.2f",x);
m_ckxx.SetItemText(n,12,s);
UpdateData(FALSE);
}
}
void CchkuDlg::Onoutlbary()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_chkuxx.IsOpen())
m_chkuxx.Close();
m_chkuxx.Open();
m_kucun.Open();
try
{
for(int i=0;i<m_ckxx.GetItemCount();i++)
{
m_chkuxx.AddNew();
UpdateData(TRUE);
m_chkuxx.m_Ckuno=m_outno;
m_chkuxx.m_Gno=m_ckxx.GetItemText(i,1);
m_chkuxx.m_Gname=m_ckxx.GetItemText(i,2);
m_chkuxx.m_Gprice=atof(m_ckxx.GetItemText(i,10));
m_chkuxx.m_Gcount=atof(m_ckxx.GetItemText(i,11));
m_chkuxx.m_Datetime=m_rq;
m_chkuxx.m_Gseller=m_seller;
m_chkuxx.Update();
m_chkuxx.Requery();
m_kucun.MoveFirst();
bool end=FALSE;
while(!m_kucun.IsEOF())
{
if(m_kucun.m_Lbno!=m_ckxx.GetItemText(i,0))
{
m_kucun.MoveNext();
end=FALSE;
}
else
{
end=TRUE;
break;
}
}
if(end==FALSE)
{
m_rskuc.Open();
m_rskuc.MoveFirst();
while(1)
{
if(m_rskuc.m_Lbno==m_ckxx.GetItemText(i,0))
{
try
{
m_rskuc.Delete();
}
catch(CDBException *e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
return;
}
break;
}
else
m_rskuc.MoveNext();
}
m_rskuc.Close();
}
}
}
catch(CDBException *e)
{
AfxMessageBox(e->m_strError,MB_ICONEXCLAMATION);
e->Delete();
MessageBox("保存失败!");
return;
}
AfxMessageBox("已成功出库!");
m_chkuxx.Close();
m_kucun.Close();
}
void CchkuDlg::Onxshck()
{
// TODO: Add your control notification handler code here
if(m_chkuxx.IsOpen())
m_chkuxx.Close();
m_chkuxx.Open();
m_outck.DeleteAllItems();
int n = 0 ;
while(!m_chkuxx.IsEOF())
{
double x;
m_outck.InsertItem(n,"");
CString s;
s.Format("%s",m_chkuxx.m_Ckuno);
m_outck.SetItemText(n,0,s);
s.Format("%s",m_chkuxx.m_Gno);
m_outck.SetItemText(n,1,s);
s.Format("%s",m_chkuxx.m_Gname);
m_outck.SetItemText(n,2,s);
s.Format("%d",m_chkuxx.m_Gcount);
m_outck.SetItemText(n,4,s);
s.Format("%.2f",m_chkuxx.m_Gprice);
m_outck.SetItemText(n,3,s);
s.Format("%s",m_chkuxx.m_Gseller);
m_outck.SetItemText(n,5,s);
s=m_chkuxx.m_Datetime.Format("%y-%m-%d");
m_outck.SetItemText(n,6,s);
m_chkuxx.MoveNext();
n++;
}
m_chkuxx.Close();
}
HBRUSH CchkuDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return m_brush;
}
void CchkuDlg::Onshowkuc()
{
// TODO: Add your control notification handler code here
if(m_kucun.IsOpen())
m_kucun.Close();
m_kucun.Open();
m_libraryxx.DeleteAllItems();
int n = 0 ;
bool test=FALSE;
while(!m_kucun.IsEOF())
{
test=TRUE;
double x;
m_libraryxx.InsertItem(n,"");
CString s;
s.Format("%s",m_kucun.m_Lbno);
m_libraryxx.SetItemText(n,0,s);
s.Format("%s",m_kucun.m_Gno);
m_libraryxx.SetItemText(n,1,s);
s.Format("%s",m_kucun.m_Tickno);
m_libraryxx.SetItemText(n,2,s);
s.Format("%d",m_kucun.m_Lbcount);
m_libraryxx.SetItemText(n,3,s);
s.Format("%.2f",m_kucun.m_Gprice);
m_libraryxx.SetItemText(n,4,s);
s.Format("%s",m_kucun.m_Pname);
m_libraryxx.SetItemText(n,5,s);
m_kucun.MoveNext();
n++;
}
if(test==FALSE)
AfxMessageBox("目前无库存");
m_kucun.Close();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?