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

来源:互联网 发布:淘宝店铺招牌链接 编辑:程序博客网 时间:2024/04/30 23:31
#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 dialogclass CCommodityInfo : public CDialog{// Constructionpublic:CCommodityInfo(CWnd* pParent = NULL);   // standard constructor// Dialog Data//{{AFX_DATA(CCommodityInfo)enum { IDD = IDD_COMMODITYINFO };CListCtrlm_ctrlListMain;CStringm_strBarCode;CStringm_strClassify;CStringm_strCode;CStringm_strCommodityCode;intm_iMaxNum;intm_iMinNum;CStringm_strName;intm_iNum;CStringm_strSpellCode;CStringm_strStandard;CStringm_strUnit;floatm_fltStockPrice;floatm_fltSalePrice;//}}AFX_DATA// Overrides// ClassWizard generated virtual function overrides//{{AFX_VIRTUAL(CCommodityInfo)protected:virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support//}}AFX_VIRTUAL// Implementationprotected:// 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_MSGDECLARE_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_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// CCommodityInfo dialogCCommodityInfo::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_MAPEND_MESSAGE_MAP()/////////////////////////////////////////////////////////////////////////////// CCommodityInfo message handlersBOOL CCommodityInfo::OnInitDialog() {CDialog::OnInitDialog();// TODO: Add extra initialization hereCADOConn 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 hereUpdateData(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 herePOSITION 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 herePOSITION 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 herePOSITION 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 hereCDlgAll 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 hereUpdateData(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);}}