📄 income.cpp
字号:
pWnd->GetWindowText(str2);
//STOP TIME
pWnd = GetDlgItem(IDC_DATETIMEPICKER_END);
pWnd->GetWindowText(str3);
// Gain a pointer to the control
CDateTimeCtrl* pCtrl1 = (CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER_START);
ASSERT(pCtrl1 != NULL);
// get as a CTime
CTime timeTime1;
DWORD dwResult1 = pCtrl1->GetTime(timeTime1);
CDateTimeCtrl* pCtrl2 = (CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER_END);
ASSERT(pCtrl2 != NULL);
// get as a CTime
CTime timeTime2;
DWORD dwResult2 = pCtrl2->GetTime(timeTime2);
if (timeTime1 > timeTime2)
{
AfxMessageBox(_T("起始时间必须小于或等于结束时间!"));
return;
}
int number = 0;
CString strTemp;
m_list_inout.DeleteAllItems();
_RecordsetPtr m_pRs;
CString m_strSql;
if(bIncome)
{
if ( str0 == _T("全部") )
{
m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='A')"));
}
else
{
if ( str1 == _T("全部") )
{
m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='A')"));
}
else
{
m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+ _T("' and MODE='") +str1+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='A')"));
}
}
}
else
{
if ( str0 == _T("全部") )
{
m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='B')"));
}
else
{
if ( str1 == _T("全部") )
{
m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='B')"));
}
else
{
m_strSql.Format(_T("select ISVERIFY,BILL_NO,MODE,BRAND,NUMBER,DATETIME,COMPANY,DEPART,STAFF_NAME,USER_NAME,NOTE from INOUT_TABLE where ( STORAGE_TYPE_SN ='") +str_type_sn+ _T("' and BRAND='") +str0+ _T("' and MODE='") +str1+ _T("' and DATETIME>='") +str2+ _T("' and DATETIME<='") +str3+ _T("' and FLAG='B')"));
}
}
}
m_pRs = sqlconnect.GetRecordSet( m_strSql );
if ( m_pRs->GetRecordCount() > 0 )
{
_variant_t TheValue;
_bstr_t tmp;
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
strTemp.Format(_T("%d"),number+1);
m_list_inout.InsertItem(number,strTemp); //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。
TheValue = m_pRs->Fields->GetItem(_variant_t("ISVERIFY"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,1,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("BILL_NO"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,2,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,3,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,4,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("NUMBER"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,5,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("DATETIME"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,6,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("COMPANY"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,7,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("STAFF_NAME"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,8,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("USER_NAME"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,9,tmp);
}
m_list_inout.SetItemText(number,10,str_type);
TheValue = m_pRs->Fields->GetItem(_variant_t("NOTE"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,11,tmp);
}
number++;
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
/*m_pRs.CreateInstance( __uuidof(Recordset) );
try
{
m_pRs->Open( _bstr_t(m_strSql), _variant_t((IDispatch *)pMyConnect,true), adOpenKeyset, adLockOptimistic, adCmdText);
if ( m_pRs->GetRecordCount() > 0 )
{
_variant_t TheValue;
_bstr_t tmp;
m_pRs->MoveFirst();
while(m_pRs->adoEOF==VARIANT_FALSE)
{
//Retrieve column's value:
strTemp.Format(_T("%d"),number+1);
m_list_inout.InsertItem(number,strTemp); //插入第一个数据,即第0条数据。先插入,然后在修改其他的信息。
TheValue = m_pRs->Fields->GetItem(_variant_t("ISVERIFY"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,1,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("BILL_NO"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,2,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("MODE"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,3,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("BRAND"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,4,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("NUMBER"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,5,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("DATETIME"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,6,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("COMPANY"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,7,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("STAFF_NAME"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,8,tmp);
}
TheValue = m_pRs->Fields->GetItem(_variant_t("USER_NAME"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,9,tmp);
}
m_list_inout.SetItemText(number,10,str_type);
TheValue = m_pRs->Fields->GetItem(_variant_t("NOTE"))->Value;
if( TheValue.vt != VT_NULL )
{
tmp=(_bstr_t)TheValue;
m_list_inout.SetItemText(number,11,tmp);
}
number++;
//Do something what you want to do: ......
m_pRs->MoveNext();
}
}
}
catch (_com_error &e)
{
::MessageBox(NULL,e.Description(),(LPCTSTR)(_T("警告")),MB_OK);
}
m_pRs->Close(); */
}
void CIncome::OnCbnSelchangeComboMode()
{
// TODO: Add your control notification handler code here
int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_MODE))->GetCurSel();//当前选中的行。
//str_modechoose = str_mode[iPos][1];
}
void CIncome::OnNMClickListInout(NMHDR *pNMHDR, LRESULT *pResult)
{
// TODO: Add your control notification handler code here
::SendMessage(m_list_inout.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
*pResult = 0;
}
void CIncome::OnBnClickedButtonAdd()
{
// TODO: Add your control notification handler code here
if( iClass < 2 )
{
AfxMessageBox(_T("您的权限不够,请换个用户名登录!"));
return;
}
CAddIncome addincome;
INT_PTR nResponse = addincome.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
ResetTimeCtrl();
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
}
}
void CIncome::OnBnClickedButtonExport()
{
// TODO: Add your control notification handler code here
CListCtrl* pWnd;
pWnd = (CListCtrl*)GetDlgItem(IDC_LIST_INOUT);
CString str_title;
if(bIncome)
{
str_title = _T("入库清单");
}
else
{
str_title = _T("出库清单");
}
ExportListToExcel(pWnd, str_title);
}
void CIncome::OnBnClickedButtonPrint()
{
// TODO: Add your control notification handler code here
CString str_DocName;
if(bIncome)
{
str_DocName = _T("入库清单");
}
else
{
str_DocName = _T("出库清单");
}
PrintListCtrl(m_list_inout, str_DocName,FALSE);
}
void CIncome::OnBnClickedButtonVerify()
{
// TODO: 在此添加控件通知处理程序代码
if( iClass < 4 )
{
AfxMessageBox(_T("您的权限不够,请换个用户名登录!"));
return;
}
UINT uSelectedCount = m_list_inout.GetSelectedCount();
int nItem = -1;
CString str_select = _T("");
if (uSelectedCount < 1)
{
AfxMessageBox(_T("请选择一个单进行审核!"));
return;
}
else if( uSelectedCount > 1 )
{
AfxMessageBox(_T("不能对多个单同时进行审核!"));
return;
}
else
{
nItem = m_list_inout.GetNextItem(nItem, LVNI_SELECTED);
str_select = m_list_inout.GetItemText( nItem, 1 );
if( str_select == _T("已审核") )
{
AfxMessageBox(_T("此单已审核,请选择其它单进行审核!"));
return;
}
str_select_outcomebillno = m_list_inout.GetItemText( nItem, 2 );
str_select_outcomebrand = m_list_inout.GetItemText( nItem, 4 );
str_select_outcomemode = m_list_inout.GetItemText( nItem, 3 );
str_select_outcomenumber = m_list_inout.GetItemText( nItem, 5 );
CVERIFY verify;
INT_PTR nResponse = verify.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
OnBnClickedButtonReport();
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
}
}
}
void CIncome::OnBnClickedButtonPrintsendlist()
{
// TODO: 在此添加控件通知处理程序代码
if( iClass < 2 )
{
AfxMessageBox(_T("您的权限不够,请换个用户名登录!"));
return;
}
UINT uSelectedCount = m_list_inout.GetSelectedCount();
int nItem = -1;
CString str_select = _T("");
if (uSelectedCount < 1)
{
AfxMessageBox(_T("请选择已审核出库单进行操作!"));
return;
}
if ( uSelectedCount > PRINT_SEND_LIST)
{
CString str_temp;
str_temp.Format( _T("%02d"), PRINT_SEND_LIST);
str_temp = _T("一张出货单最多进行打印的单号数是:") + str_temp;
AfxMessageBox( str_temp );
return;
}
CString str_oldcompany = _T("");
for( int i = 0; i < uSelectedCount; i++ )
{
nItem = m_list_inout.GetNextItem(nItem, LVNI_SELECTED);
str_select = m_list_inout.GetItemText( nItem, 1 );
if( str_select == _T("待审核") )
{
AfxMessageBox(_T("请选择已审核的出库单进行操作!"));
return;
}
str_select_outcomecompany = m_list_inout.GetItemText( nItem, 7 );
if ( i == 0 )
{
str_oldcompany = str_select_outcomecompany;
}
if( str_oldcompany != str_select_outcomecompany )
{
AfxMessageBox(_T("请选择相同出库单位进行操作!"));
return;
}
}
nItem = -1;
for( int i = 0; i < uSelectedCount; i++ )
{
nItem = m_list_inout.GetNextItem(nItem, LVNI_SELECTED);
str_printsendlist_billno[i] = m_list_inout.GetItemText( nItem, 2 );
}
iPrintsendlist_number = uSelectedCount;
CPrintSendList printsendlist;
INT_PTR nResponse = printsendlist.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -