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

📄 merchandisesetdialog.cpp

📁 VC+SQL SERVER 2000环境下开发的商品销售管理系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
}
void CMerchandiseSetDialog::OnBnClickedGroupOk()
{

	if(m_AddGroupName)
	{
		UpdateData (TRUE);
		
		if(m_GroupName == "")
		{
			AfxMessageBox (_T("组别名不能为空!"));
			return;
		}
		GroupAdd();
		if(m_Succeed)
		{
			CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
			pEdit->EnableWindow (FALSE);

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

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

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

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

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

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

			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_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_AddGroupName = FALSE;
			m_Succeed = FALSE;
			m_GroupName = "";
			UpdateData(FALSE);
			MessageBox( _T("添加商品组成功!"), _T("商品设置"),MB_ICONASTERISK | MB_OK);
		}
	}

	if(m_ModifyGroupName)
	{
		ModifyGroupName();
        if(m_Succeed)
		{
			CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
			pEdit->EnableWindow (FALSE);

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

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

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

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

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

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

			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_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_ModifyGroupName = TRUE;
			m_GroupName = "";
			UpdateData(FALSE);
			m_Succeed = FALSE;
			MessageBox( _T("修改商品组成功!"), _T("商品设置"),MB_ICONASTERISK | MB_OK);
		}
	}
}

void CMerchandiseSetDialog::GroupAdd()
{
	HRESULT       hrG;
	_RecordsetPtr m_pRecordsetG;
	try
	{
		hrG = m_pRecordsetG.CreateInstance (__uuidof(Recordset));
		if(FAILED(hrG))
		{
			AfxMessageBox (_T("不能创建实例!"));
			return;
		}

		hrG = m_pRecordsetG->Open ("select * from MerchandiseOfGroupTable",
								    m_pConnection.GetInterfacePtr(),
									adOpenDynamic,
									adLockOptimistic,
									adCmdText);
		if(SUCCEEDED(hrG))
		{
			_variant_t   var;
			CString      strValue;
			int          num;

			if(m_pRecordsetG->adoEOF)
				num = 0;
			else
			{
				m_pRecordsetG->MoveLast();
				var = m_pRecordsetG->GetCollect ("GroupNumber");
				num = (int)_variant_t(var);
				m_pRecordsetG->MoveFirst();
			}

			while(!m_pRecordsetG->adoEOF)
			{
				var = m_pRecordsetG->GetCollect ("GroupName");
				strValue = (LPCSTR)_bstr_t(var);
				if( strValue == m_GroupName)
				{
					AfxMessageBox (_T("商品组名称重复!"));
					m_GroupName = "";
					UpdateData(FALSE);
					CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
					pEdit->EnableWindow(TRUE);
					pEdit->SetFocus();
					return;
				}
				m_pRecordsetG->MoveNext ();
			}//while

			m_pRecordsetG->AddNew ();
			m_pRecordsetG->PutCollect ("GroupName", _variant_t(m_GroupName));
		    m_pRecordsetG->PutCollect ("FlageToSale", _variant_t((int)m_GroupCanUse));
			m_pRecordsetG->PutCollect ("GroupNumber", _variant_t(++num));
			m_pRecordsetG->Update ();

			m_ListofGroup.InsertItem (m_InOfGroupList, m_GroupName);
			if(m_GroupCanUse)
			   m_ListofGroup.SetItemText (m_InOfGroupList,1,_T("可售"));
			else
				m_ListofGroup.SetItemText (m_InOfGroupList,1,_T("禁售"));

			m_InOfGroupList++;

			m_pRecordsetG->Close ();
			m_pRecordsetG = NULL;
			m_Succeed = TRUE;
		}
	}
	catch(_com_error &e)
	{
		AfxMessageBox (e.ErrorMessage());
		return;
	}
		                       
}

void CMerchandiseSetDialog::OnBnClickedRadioGroupCansale()
{
	m_GroupCanUse = TRUE;
}

void CMerchandiseSetDialog::OnBnClickedRadioGroupCannotsale()
{
	m_GroupCanUse = FALSE;
}

void CMerchandiseSetDialog::OnBnClickedButtonGroupmodify()
{
	int sel = m_ListofGroup.GetSelectionMark ();
	if(sel == LB_ERR)
	{
		MessageBox(_T("请先选择商品组!"), _T("商品设置"), MB_ICONERROR | MB_OK);
		return;
	}

	m_ModifyGroupName = TRUE;
	m_InOfGroupList = sel;

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

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

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

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

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

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

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

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_DEL);
	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_GroupName = m_ListofGroup.GetItemText (sel, 0);
    CString strValue;
	strValue = m_ListofGroup.GetItemText (sel, 1);
	UpdateData(FALSE);

	if(strValue == _T("可售"))
		m_GroupCanUse = TRUE;
	else
		m_GroupCanUse = FALSE;
	if(m_GroupCanUse)
	{
		pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANSALE);
		pButton->SetCheck (BST_CHECKED);
	}
	else
	{
		pButton = (CButton*)GetDlgItem (IDC_RADIO_GROUP_CANNOTSALE);
		pButton->SetCheck (BST_CHECKED);
	}
}

void CMerchandiseSetDialog::ModifyGroupName()
{
	CString       OldGroupName = m_GroupName;
    UpdateData(TRUE);

	HRESULT             hrG;
	_RecordsetPtr       m_pRecordsetG;
	try
	{
		hrG = m_pRecordsetG.CreateInstance(__uuidof(Recordset));
		if(FAILED(hrG))
		{
			AfxMessageBox(_T("创建实例失败!"));
			return;
		}
		m_pRecordsetG->Open (_bstr_t("select * from MerchandiseOfGroupTable"),
								m_pConnection.GetInterfacePtr(),
								adOpenDynamic,
								adLockOptimistic,
								adCmdText);
		
		if(!m_pRecordsetG->adoEOF)
		{
			_variant_t       var;
            CString          strValue;
           
			if(m_GroupName == "")
			{
				MessageBox(_T("商品组名不能为空!"), _T("商品设置"), MB_ICONERROR | MB_OK);
				return;
			}
         
			if( OldGroupName != m_GroupName)
			{
				while(!m_pRecordsetG->adoEOF)
				{
					var = m_pRecordsetG->GetCollect ("GroupName");
					strValue = (LPCSTR)_bstr_t(var);
					if(strValue == m_GroupName)
					{
						MessageBox (_T("商品名重复!"), _T("商品设置"), MB_ICONERROR | MB_OK);
						m_GroupName = OldGroupName;
						UpdateData (FALSE);
						CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_GROUPNAME);
						pEdit->SetFocus();
						return;
					}
					m_pRecordsetG->MoveNext ();
				}
			}

			m_pRecordsetG->Close();
			CString strSQL;
			strSQL.Format("select * from MerchandiseOfGroupTable where GroupName = '%s'", OldGroupName);
			m_pRecordsetG->Open (_bstr_t(strSQL),
								m_pConnection.GetInterfacePtr(),
								adOpenDynamic,
								adLockOptimistic,
								adCmdText);

			m_pRecordsetG->PutCollect ("GroupName", _variant_t(m_GroupName));
			m_pRecordsetG->PutCollect ("FlageToSale", _variant_t((int)m_GroupCanUse));
			m_pRecordsetG->Update ();
			m_ListofGroup.SetItemText (m_InOfGroupList, 0, m_GroupName);
			if(m_GroupCanUse)
			    m_ListofGroup.SetItemText (m_InOfGroupList, 1, _T("可售"));
			else
				m_ListofGroup.SetItemText (m_InOfGroupList, 1, _T("禁售"));

			m_pRecordsetG->Close ();
			m_pRecordsetG = NULL;
			m_Succeed = TRUE;
		}
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.ErrorMessage());
		return;
	}
}
void CMerchandiseSetDialog::OnBnClickedButtonMeradd()
{
	int sel = m_ListofGroup.GetSelectionMark ();
	if(sel == LB_ERR)
	{
		MessageBox(_T("没有选择商品组!"), _T("商品设置"), MB_ICONERROR | MB_OK);
		return;
	}
	m_InWitchGroup = m_ListofGroup.GetItemText (sel, 0);
	UpdateData (FALSE);

	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);

	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);

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

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MER_MODIFY);
	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_MerAdd = TRUE;
}

void CMerchandiseSetDialog::OnBnClickedButtonMersetcancel()
{
	CEdit *pEdit = (CEdit*)GetDlgItem (IDC_EDIT_MERNAME);
	pEdit->EnableWindow (FALSE);

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

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

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

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

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

	pButton = (CButton*)GetDlgItem (IDC_BUTTON_MERSETCANCEL);

⌨️ 快捷键说明

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