📄 merchandisesetdialog.cpp
字号:
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 + -