⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 merchandisesetdialog.cpp

📁 VC+SQL SERVER 2000环境下开发的商品销售管理系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	pButton->EnableWindow (FALSE);

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERUNIT);
	pEdit->EnableWindow (FALSE);

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERPRICE);
	pEdit->EnableWindow (FALSE);

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERLIMITNUM);
	pEdit->EnableWindow (FALSE);    

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_MODIFY);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERTOEXCEL);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADDGOODS);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_DELGOODS);
	pButton->EnableWindow (TRUE);

	m_MerName = "";
    m_MerPrice = "";
	m_MerID = "";
	m_MerLimitNum = "";
	m_MerUnit = "";
	UpdateData(FALSE);
}

void CMerchandiseSetDialog::OnBnClickedRadioMerpowneed()
{
	m_MerPower = 1;
}

void CMerchandiseSetDialog::OnBnClickedRadioMerpowdidnotneed()
{
	m_MerPower = 0;
}

void CMerchandiseSetDialog::OnBnClickedRadioMercansal()
{
	m_MerCanSale = 1;
}

void CMerchandiseSetDialog::OnBnClickedRadioMercannotsale()
{
	m_MerCanSale  = 0;
}

void CMerchandiseSetDialog::AddMer()
{
	HRESULT            hrMer;
	HRESULT            hrG;
	_RecordsetPtr      m_pRecordsetMer;
	_RecordsetPtr      m_pRecordsetG;
	try
	{
		hrMer = m_pRecordsetMer.CreateInstance (__uuidof(Recordset));
		hrG = m_pRecordsetG.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrMer) || FAILED(hrG))
		{
			AfxMessageBox (_T("创建实例失败!"));
			return;
		}

		hrMer = m_pRecordsetMer->Open ("select * from MerChandiseSetTable",
										m_pConnection.GetInterfacePtr(),
										adOpenDynamic,
										adLockOptimistic,
										adCmdText);
		CString strSQL;
		strSQL.Format ("select * from  MerchandiseOfGroupTable where GroupName = '%s'", m_InWitchGroup);
		hrG = m_pRecordsetG->Open (_bstr_t(strSQL),
								m_pConnection.GetInterfacePtr(),
								adOpenDynamic,
								adLockOptimistic,
								adCmdText);
			                   
		if(SUCCEEDED(hrMer) && SUCCEEDED(hrG))
		{
			_variant_t      var;
			CString         strValue;

			var = m_pRecordsetG-> GetCollect("GroupNumber");
			m_GroupNum = (int)_variant_t(var);

			while(!m_pRecordsetMer->adoEOF)
			{
				var = m_pRecordsetMer->GetCollect ("MerchandiseName");
				strValue = (LPCSTR)_bstr_t(var);

				if(strValue == m_MerName)
				{
					MessageBox (_T("商品名称重复!"),_T("商品设置"), MB_ICONERROR |MB_OK);
					m_MerName = "";
					UpdateData (FALSE);
					CButton *pButton = (CButton*)GetDlgItem (IDC_EDIT_MERNAME);
					pButton->SetFocus ();
					return;
				}
				var = m_pRecordsetMer->GetCollect ("MerID");
				strValue = (LPCSTR)_bstr_t(var);

				if(strValue == m_MerID && strValue != "")
				{
					MessageBox (_T("商品ID号重复!"),_T("商品设置"), MB_ICONERROR |MB_OK);
					m_MerID = "";
					UpdateData(FALSE);
					CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERID);
					pEdit->SetFocus ();
					return;
				}
				m_pRecordsetMer->MoveNext ();
			}

         	m_pRecordsetMer->AddNew ();
			
			m_pRecordsetMer->PutCollect ("GroupNumber", _variant_t(m_GroupNum));
			
			m_pRecordsetMer->PutCollect ("MerchandiseName", _variant_t(m_MerName));
			m_ListOfMer.InsertItem (m_InOfMerList,m_MerName);
            
			m_pRecordsetMer->PutCollect ("MerID" , _variant_t(m_MerID));
			
			m_pRecordsetMer->PutCollect ("Units", _variant_t(m_MerUnit));
			m_ListOfMer.SetItemText (m_InOfMerList, 1, m_MerUnit);
			
			m_pRecordsetMer->PutCollect ("SalePrice", _variant_t(m_MerPrice));
			m_ListOfMer.SetItemText (m_InOfMerList, 2, m_MerPrice);

			m_pRecordsetMer->PutCollect ("LimitSaleNum", _variant_t(m_MerLimitNum));
			m_ListOfMer.SetItemText (m_InOfMerList, 3,m_MerLimitNum);

			m_pRecordsetMer->PutCollect ("SaledNum", _variant_t(0));
			m_ListOfMer.SetItemText (m_InOfMerList, 4, _T("0"));
			
			m_pRecordsetMer->PutCollect ("Impower", _variant_t(m_MerPower));
			if(m_MerPower)
				m_ListOfMer.SetItemText (m_InOfMerList, 5, _T("需要"));
			else
				m_ListOfMer.SetItemText (m_InOfMerList, 5, _T("不需"));      
			
			m_pRecordsetMer->PutCollect ("FlageToSale", _variant_t(m_MerCanSale));
			if(m_MerCanSale)
				m_ListOfMer.SetItemText (m_InOfMerList, 6, _T("可售"));
			else
                m_ListOfMer.SetItemText (m_InOfMerList, 6, _T("禁售"));
			
			m_pRecordsetMer->Update ();

			m_pRecordsetMer->Close ();
			m_pRecordsetG->Close ();
			m_pRecordsetMer = NULL;
			m_pRecordsetG = NULL;

			m_Succeed = TRUE;
		}//if
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.ErrorMessage());
		return;
	}
			                           
}

void CMerchandiseSetDialog::OnBnClickedButtonMersetok()
{
	if(m_MerAdd)
	{
		UpdateData (TRUE);

		if(m_MerName == "")
		{
			MessageBox (_T("商品名称不能为空!"),_T("商品设置"), MB_ICONERROR |MB_OK);
			CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERNAME);
			pEdit->SetFocus();
			return;
		}

		if(m_MerUnit == "")
		{
			MessageBox (_T("商品单位不能为空!"),_T("商品设置"), MB_ICONERROR |MB_OK);
            CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERUNIT);
			pEdit->SetFocus();
			return;
		}

		if(m_MerPrice == "" || (float)_variant_t(m_MerPrice) <0)
		{
			MessageBox (_T("输入商品价钱错误"), _T("商品设置"), MB_ICONERROR |MB_OK);
            CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERPRICE);
			m_MerPrice = "";
			UpdateData(FALSE);
			pEdit->SetFocus();
			return;
		}

		AddMer();
		if(m_Succeed)
		{
		   OnBnClickedButtonMersetcancel();
		   m_Succeed = FALSE;
		   m_MerAdd = FALSE;
		   MessageBox( _T("添加商品成功!"), _T("商品设置"),MB_ICONASTERISK | MB_OK);
		}	
	}
	else if(m_MerModify)
	{
        ModifyMer();
		if(m_Succeed)
		{
		  OnBnClickedButtonMersetcancel();
		  m_Succeed = FALSE;
		  m_MerModify = FALSE;
		  MessageBox( _T("修改商品成功!"), _T("商品设置"),MB_ICONASTERISK | MB_OK);
		}
	}
}

void CMerchandiseSetDialog::OnLvnItemActivateListGrouplist(NMHDR *pNMHDR, LRESULT *pResult)
{
	LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR);
	
	int sel = m_ListofGroup.GetSelectionMark ();
	CString GroupName = m_ListofGroup.GetItemText (sel , 0);

	CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_INWITCHGROUP);
	pEdit->SetWindowText (GroupName);

	HRESULT             hrG;
	_RecordsetPtr       m_pRecordsetG;
	try
	{
		hrG = m_pRecordsetG.CreateInstance(__uuidof(Recordset));
		if(FAILED(hrG))
		{
			AfxMessageBox(_T("不能创建实例!"));
			return;
		}
		CString strSQL;
		strSQL.Format ("select * from MerchandiseOfGroupTable where GroupName = '%s'", GroupName);
		m_pRecordsetG->Open (_bstr_t(strSQL),
							m_pConnection.GetInterfacePtr(),
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
		_variant_t var;
		
		var = m_pRecordsetG->GetCollect ("GroupNumber");
		int GroupNum = _variant_t(var);

		strSQL.Format ("select * from MerchandiseSetTable where GroupNumber = %d", GroupNum);
		
		_RecordsetPtr  m_pRecordsetMer;
		HRESULT        hrMer;
		hrMer = m_pRecordsetMer.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrMer))
		{
			AfxMessageBox(_T("不能创建实例!"));
			return;
		}
		hrMer = m_pRecordsetMer->Open (_bstr_t(strSQL),
										m_pConnection.GetInterfacePtr(),
										adOpenDynamic,
										adLockOptimistic,
										adCmdText);
        CString strValue;
		int index = 0;
		m_ListOfMer.DeleteAllItems ();

		while(!m_pRecordsetMer->adoEOF)
		{			
			var = m_pRecordsetMer->GetCollect ("MerchandiseName");
			strValue = (LPCSTR)_bstr_t(var);
			m_ListOfMer.InsertItem (index, strValue);

			var = m_pRecordsetMer->GetCollect ("Units");
			strValue = (LPCSTR)_bstr_t(var);
			m_ListOfMer.SetItemText (index, 1, strValue);
			
			var = m_pRecordsetMer->GetCollect ("SalePrice");
			strValue = (LPCSTR)_bstr_t(var);
			m_ListOfMer.SetItemText (index, 2, strValue);

			var = m_pRecordsetMer->GetCollect ("LimitSaleNum");
			strValue = (LPCSTR)_bstr_t(var);
			m_ListOfMer.SetItemText (index, 3, strValue);

			var = m_pRecordsetMer->GetCollect ("SaledNum");
            strValue = (LPCSTR)_bstr_t(var);
			m_ListOfMer.SetItemText (index, 4, strValue);
			
			var = m_pRecordsetMer->GetCollect ("Impower");
			int flag = (int)_variant_t(var);
			if(flag)
				m_ListOfMer.SetItemText (index, 5, _T("需要"));
			else
				m_ListOfMer.SetItemText (index, 5, _T("不需"));      
			
			var = m_pRecordsetMer->GetCollect ("FlageToSale");
			flag = (int)_variant_t(var);
			if(flag)
				m_ListOfMer.SetItemText (m_InOfMerList, 6, _T("可售"));
			else
                m_ListOfMer.SetItemText (m_InOfMerList, 6, _T("禁售"));

			m_pRecordsetMer->MoveNext ();
		}//while
			m_pRecordsetMer->Close ();
			m_pRecordsetMer = NULL;
			 
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.ErrorMessage());
		return;
	}
	*pResult = 0;
}

void CMerchandiseSetDialog::OnBnClickedButtonMerModify()
{
	int sel = m_ListOfMer.GetSelectionMark ();
	if(sel == LB_ERR)
	{
		MessageBox(_T("没有选择商品名称,请先选择商品组,然后双击所选商品组!"), 
			  _T("商品设置"), MB_ICONERROR | MB_OK);
		return;
	}
	m_MerName = m_ListOfMer.GetItemText (sel, 0);
	m_InOfMerList = sel;

	CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERNAME);
	pEdit->EnableWindow (TRUE);
	pEdit->SetFocus();

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERID);
	pEdit->EnableWindow (TRUE);

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERLIMITNUM);
	pEdit->EnableWindow (TRUE);

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERPRICE);
	pEdit->EnableWindow (TRUE);

	CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWNEED);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWDIDNOTNEED);
	pButton->EnableWindow (TRUE);
	
	pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANSAL);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANNOTSALE);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERSETOK);
	pButton->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERSETCANCEL);
	pButton->EnableWindow (TRUE);

	pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERUNIT);
	pEdit->EnableWindow (TRUE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERADD);
	pButton->EnableWindow (FALSE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
	pButton->EnableWindow (FALSE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERTOEXCEL);
	pButton->EnableWindow (FALSE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_ADDGOODS);
	pButton->EnableWindow (FALSE);

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_DELGOODS);
	pButton->EnableWindow (FALSE);

    m_MerModify = TRUE;

	m_MerName = m_ListOfMer.GetItemText (sel, 0);
	m_MerUnit = m_ListOfMer.GetItemText (sel, 1);
	m_MerPrice = m_ListOfMer.GetItemText (sel, 2);
	m_MerLimitNum = m_ListOfMer.GetItemText (sel, 3);
	m_MerSaledNum = m_ListOfMer.GetItemText (sel, 4);
	
	CString flag;
	flag = m_ListOfMer.GetItemText (sel,5);
	if(flag == _T("需要"))
	{
	    CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWNEED);
		pButton->SetCheck (TRUE);
	}
	else
	{
      CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_MERPOWDIDNOTNEED);
	  pButton->SetCheck (TRUE);
	}

	flag = m_ListOfMer.GetItemText (sel, 6);
	if(flag == _T("可售"))
	{
		CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANSAL);
		pButton->SetCheck (TRUE);
	}
	else
	{ 
        CButton *pButton = (CButton*)GetDlgItem (IDC_RADIO_MERCANNOTSALE);
		pButton->SetCheck (TRUE);
	}

	HRESULT             hrMer;
	_RecordsetPtr       m_pRecordsetMer;

	try
	{
		hrMer = m_pRecordsetMer.CreateInstance( __uuidof(Recordset));
		if(FAILED(hrMer))
		{
			AfxMessageBox( _T("不能创建实例"));
			return;
		}

		CString strSQL;
		strSQL.Format ("select * from MerchandiseSetTable where MerchandiseName = '%s'", m_MerName);
		m_pRecordsetMer-> Open ( _bstr_t(strSQL),
		                         m_pConnection.GetInterfacePtr(),
							     adOpenDynamic,
							     adLockOptimistic,
							     adCmdText);
		if(!m_pRecordsetMer->adoEOF)
		{
			_variant_t var = m_pRecordsetMer->GetCollect ("MerID");
			m_MerID = (LPCSTR)_bstr_t(var);

			m_pRecordsetMer->Close();
			m_pRecordsetMer = NULL;
		}
		
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.ErrorMessage());

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -