您的位置:首页 > 编程语言

商店管理系统源代码(十五)

2013-04-12 15:38 190 查看
#if !defined(AFX_COMMODITYINFO_H__D5B7CE7F_B4BB_4035_B642_960A7819A0D7__INCLUDED_)
#define AFX_COMMODITYINFO_H__D5B7CE7F_B4BB_4035_B642_960A7819A0D7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CommodityInfo.h : header file
//

/////////////////////////////////////////////////////////////////////////////
// CCommodityInfo dialog

class CCommodityInfo : public CDialog
{
// Construction
public:
CCommodityInfo(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
//{{AFX_DATA(CCommodityInfo)
enum { IDD = IDD_COMMODITYINFO };
CListCtrl	m_ctrlListMain;
CString	m_strBarCode;
CString	m_strClassify;
CString	m_strCode;
CString	m_strCommodityCode;
int		m_iMaxNum;
int		m_iMinNum;
CString	m_strName;
int		m_iNum;
CString	m_strSpellCode;
CString	m_strStandard;
CString	m_strUnit;
float	m_fltStockPrice;
float	m_fltSalePrice;
//}}AFX_DATA

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCommodityInfo)
protected:
virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
//}}AFX_VIRTUAL

// Implementation
protected:

// Generated message map functions
//{{AFX_MSG(CCommodityInfo)
virtual BOOL OnInitDialog();
afx_msg void OnCommodityadd();
afx_msg void OnUpdate();
afx_msg void OnDel();
afx_msg void OnClickListmain(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnClassifyfind();
afx_msg void OnFind();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_COMMODITYINFO_H__D5B7CE7F_B4BB_4035_B642_960A7819A0D7__INCLUDED_)

// CommodityInfo.cpp : implementation file
//

#include "stdafx.h"
#include "SalesManagementSystem.h"
#include "CommodityInfo.h"
#include "ADOConn.h"
#include "DlgAll.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCommodityInfo dialog

CCommodityInfo::CCommodityInfo(CWnd* pParent /*=NULL*/)
: CDialog(CCommodityInfo::IDD, pParent)
{
//{{AFX_DATA_INIT(CCommodityInfo)
m_strBarCode = _T("");
m_strClassify = _T("");
m_strCode = _T("");
m_strCommodityCode = _T("");
m_iMaxNum = 0;
m_iMinNum = 0;
m_strName = _T("");
m_iNum = 0;
m_strSpellCode = _T("");
m_strStandard = _T("");
m_strUnit = _T("");
m_fltStockPrice = 0.0f;
m_fltSalePrice = 0.0f;
//}}AFX_DATA_INIT
}

void CCommodityInfo::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCommodityInfo)
DDX_Control(pDX, IDC_LISTMAIN, m_ctrlListMain);
DDX_Text(pDX, IDC_BARCODE, m_strBarCode);
DDX_Text(pDX, IDC_CLASSIFY, m_strClassify);
DDX_Text(pDX, IDC_CODE, m_strCode);
DDX_Text(pDX, IDC_COMMODITYCODE, m_strCommodityCode);
DDX_Text(pDX, IDC_MAXNUM, m_iMaxNum);
DDX_Text(pDX, IDC_MINNUM, m_iMinNum);
DDX_Text(pDX, IDC_NAME, m_strName);
DDX_Text(pDX, IDC_NUM, m_iNum);
DDX_Text(pDX, IDC_SPELLCODE, m_strSpellCode);
DDX_Text(pDX, IDC_STANDARD, m_strStandard);
DDX_Text(pDX, IDC_UNIT, m_strUnit);
DDX_Text(pDX, IDC_STOCKPRICE, m_fltStockPrice);
DDX_Text(pDX, IDC_SALEPRICE, m_fltSalePrice);
//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CCommodityInfo, CDialog)
//{{AFX_MSG_MAP(CCommodityInfo)
ON_BN_CLICKED(IDC_COMMODITYADD, OnCommodityadd)
ON_BN_CLICKED(IDC_UPDATE, OnUpdate)
ON_BN_CLICKED(IDC_DEL, OnDel)
ON_NOTIFY(NM_CLICK, IDC_LISTMAIN, OnClickListmain)
ON_BN_CLICKED(IDC_CLASSIFYFIND, OnClassifyfind)
ON_BN_CLICKED(IDC_FIND, OnFind)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCommodityInfo message handlers

BOOL CCommodityInfo::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
CADOConn adoCommodity;
CString strSQL;

strSQL = "SELECT CommodityInfo.*, StoreInfo.stockprice, ";
strSQL = strSQL + "StoreInfo.saleprice, StoreInfo.num FROM CommodityInfo INNER JOIN StoreInfo ON ";
strSQL = strSQL + "CommodityInfo.barcode = StoreInfo.barcode";
adoCommodity.Open(strSQL);
adoCommodity.InitList(&m_ctrlListMain);
adoCommodity.FillList(&m_ctrlListMain);
adoCommodity.ExitConnect();

m_ctrlListMain.SetColumnWidth(1, 100);
m_ctrlListMain.SetColumnWidth(4, 100);

m_iMaxNum = 50;
m_iMinNum = 10;
UpdateData(FALSE);
return TRUE;  // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}

void CCommodityInfo::OnCommodityadd()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CString strTemp;
m_ctrlListMain.InsertItem(0, m_strClassify);
m_ctrlListMain.SetItemText(0, 1, m_strBarCode);
m_ctrlListMain.SetItemText(0, 2, m_strCommodityCode);
m_ctrlListMain.SetItemText(0, 3, m_strSpellCode);
m_ctrlListMain.SetItemText(0, 4, m_strName);
m_ctrlListMain.SetItemText(0, 5, m_strStandard);
m_ctrlListMain.SetItemText(0, 6, m_strUnit);
strTemp.Format(_T("%d"), m_iMaxNum);
m_ctrlListMain.SetItemText(0, 7, strTemp);
strTemp.Format(_T("%d"), m_iMinNum);
m_ctrlListMain.SetItemText(0, 8, strTemp);
strTemp.Format(_T("%f"), m_fltStockPrice);
m_ctrlListMain.SetItemText(0, 9, strTemp);
strTemp.Format(_T("%f"), m_fltSalePrice);
m_ctrlListMain.SetItemText(0, 10, strTemp);
strTemp.Format(_T("%d"), m_iNum);
m_ctrlListMain.SetItemText(0, 11, strTemp);
m_strClassify = "";
m_strBarCode = "";
m_strCommodityCode = "";
m_strSpellCode = "";
m_strName = "";
m_strStandard = "";
m_strUnit = "";
m_iNum = 0;
m_iMaxNum = 0;
m_fltStockPrice = 0;
m_iMinNum = 0;
m_fltSalePrice = 0;
UpdateData(FALSE);
}

void CCommodityInfo::OnUpdate()
{
// TODO: Add your control notification handler code here
POSITION pos;
int index;
CString strSQL, strTemp;
CADOConn adoCommodity;

pos = m_ctrlListMain.GetFirstSelectedItemPosition();
index = m_ctrlListMain.GetNextSelectedItem(pos);
strSQL = "SELECT * FROM CommodityInfo WHERE CommodityInfo.barcode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "'";
adoCommodity.Open(strSQL);
if (adoCommodity.adoEOF())
{
strSQL = "INSERT INTO CommodityInfo VALUES ('";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 0) + "', '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "', '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 2) + "', '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 3) + "', '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 4) + "', '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 5) + "', '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 6) + "', '";
strTemp.Format(_T("%d"), m_iMaxNum);
strSQL = strSQL + strTemp + "', '";
strTemp.Format(_T("%d"), m_iMinNum);
strSQL = strSQL + strTemp + "')";

adoCommodity.ExitConnect();
adoCommodity.ExecuteSQL(strSQL);

strSQL = "INSERT INTO StoreInfo VALUES ('";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "', '";
strTemp.Format(_T("%0.2f"), m_fltStockPrice);
strSQL = strSQL + strTemp + "', '";
strTemp.Format(_T("%0.2f"), m_fltSalePrice);
strSQL = strSQL + strTemp + "', '";
strTemp.Format(_T("%d"), m_iNum);
strSQL = strSQL + strTemp + "')";

adoCommodity.ExecuteSQL(strSQL);
}
else
{
strSQL = "UPDATE CommodityInfo SET typecode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 0) + "', barcode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "', commoditycode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 2) + "', spellcode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 3) + "', name = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 4) + "', standard = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 5) + "', unit = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 6) + "', maxnum = '";
strTemp.Format(_T("%d"), m_iMaxNum);
strSQL = strSQL + strTemp + "', minnum = '";
strTemp.Format(_T("%d"), m_iMinNum);
strSQL = strSQL + strTemp + "' WHERE barcode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "'";
adoCommodity.ExitConnect();
adoCommodity.ExecuteSQL(strSQL);

strSQL = "UPDATE StoreInfo SET barcode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "', stockprice = '";
strTemp.Format(_T("%0.2f"), m_fltStockPrice);
strSQL = strSQL + strTemp + "', saleprice = '";
strTemp.Format(_T("%0.2f"), m_fltSalePrice);
strSQL = strSQL + strTemp + "', num = '";
strTemp.Format(_T("%d"), m_iNum);
strSQL = strSQL + strTemp + "' WHERE barcode = '";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "'";
adoCommodity.ExitConnect();
}
}

void CCommodityInfo::OnDel()
{
// TODO: Add your control notification handler code here
POSITION pos;
int index;
CADOConn adoCommodity;
CString strSQL;

pos = m_ctrlListMain.GetFirstSelectedItemPosition();
index = m_ctrlListMain.GetNextSelectedItem(pos);
strSQL = "DELETE * FROM CommodityInfo WHERE CommodityInfo.barcode ='";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "'";
adoCommodity.ExecuteSQL(strSQL);
strSQL = "DELETE * FROM StoreInfo WHERE StoreInfo.barcode ='";
strSQL = strSQL + m_ctrlListMain.GetItemText(index, 1) + "'";
adoCommodity.ExecuteSQL(strSQL);
m_ctrlListMain.DeleteItem(index);
}

void CCommodityInfo::OnClickListmain(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
POSITION pos;
int index;

pos = m_ctrlListMain.GetFirstSelectedItemPosition();
index = m_ctrlListMain.GetNextSelectedItem(pos);

m_strClassify = m_ctrlListMain.GetItemText(index, 0);
m_strBarCode = m_ctrlListMain.GetItemText(index, 1);
m_strCommodityCode = m_ctrlListMain.GetItemText(index, 2);
m_strSpellCode = m_ctrlListMain.GetItemText(index, 3);
m_strName = m_ctrlListMain.GetItemText(index, 4);
m_strStandard = m_ctrlListMain.GetItemText(index, 5);
m_strUnit = m_ctrlListMain.GetItemText(index, 6);
m_iMaxNum = atoi(m_ctrlListMain.GetItemText(index, 7));
m_iMinNum = atoi(m_ctrlListMain.GetItemText(index, 8));
m_fltStockPrice = atof(m_ctrlListMain.GetItemText(index, 9));
m_fltSalePrice = atof(m_ctrlListMain.GetItemText(index, 10));
m_iNum = atoi(m_ctrlListMain.GetItemText(index, 11));
UpdateData(FALSE);

*pResult = 0;
}

void CCommodityInfo::OnClassifyfind()
{
// TODO: Add your control notification handler code here
CDlgAll dlgAll;
CString strSQL;

strSQL = "SELECT * FROM CommodityType";
dlgAll.strTitle = "商品基本分类信息";
dlgAll.strSQL = strSQL;
dlgAll.intKey = 0;

if (dlgAll.DoModal() == IDOK)
{
m_strClassify = dlgAll.strKey;
UpdateData(FALSE);
}
}

void CCommodityInfo::OnFind()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CADOConn adoFind;
CDlgAll dlgAll;
CString strSQL;

strSQL = "SELECT CommodityInfo.barcode, CommodityInfo.name, CommodityInfo.standard, ";
strSQL = strSQL + "CommodityInfo.unit, StoreInfo.saleprice, StoreInfo.num ";
strSQL = strSQL + "FROM CommodityInfo INNER JOIN StoreInfo ON ";
strSQL = strSQL + "CommodityInfo.barcode = StoreInfo.barcode WHERE CommodityInfo.barcode = '";
strSQL = strSQL + m_strCode + "' OR CommodityInfo.commoditycode = '";
strSQL = strSQL + m_strCode + "' OR CommodityInfo.spellcode = '";
strSQL = strSQL + m_strCode + "'";
dlgAll.strTitle = "商品基本信息";
dlgAll.strSQL = strSQL;
dlgAll.intKey = 0;

if (dlgAll.DoModal() == IDOK)
{
strSQL = "SELECT CommodityInfo.*, StoreInfo.stockprice, StoreInfo.saleprice, StoreInfo.num FROM CommodityInfo INNER JOIN StoreInfo ON ";
strSQL = strSQL + "CommodityInfo.barcode = StoreInfo.barcode WHERE CommodityInfo.barcode = '";
strSQL = strSQL + dlgAll.strKey + "'";
adoFind.Open(strSQL);
adoFind.FillList(&m_ctrlListMain);
m_ctrlListMain.SetItemText(0, 11, "1");

UpdateData(FALSE);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: