?? roomrentview.cpp
字號:
Holder = theApp.m_pADOSet->GetCollect("roomtype");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListCtrl.SetItemText(i, 1, str);
// Get position
Holder = theApp.m_pADOSet->GetCollect("roomposition");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
//str.Format("%.2f", Holder.dblVal);
m_ListCtrl.SetItemText(i, 2, str);
// Get price
Holder = theApp.m_pADOSet->GetCollect("roomprice");
str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal);
m_ListCtrl.SetItemText(i, 3, str);
// Get Putup
Holder = theApp.m_pADOSet->GetCollect("putup");
if (Holder.vt==VT_NULL?0:Holder.iVal) str = _T("有"); else str = _T("沒有");
m_ListCtrl.SetItemText(i, 4, str);
// Get Memo
Holder = theApp.m_pADOSet->GetCollect("roommemo");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListCtrl.SetItemText(i, 5, str);
theApp.m_pADOSet->MoveNext();
}
}
void CRoomRentView::OnAlterRoom()
{
// TODO: Add your command handler code here
_variant_t strQuery;
if ( m_ListCtrl && m_sCurrentList!=_T("房屋信息列表") )
{
m_ListCtrl.DestroyWindow();
strQuery = "select * from rooms";
CreateRoom(strQuery);
return;
}
if ( !m_ListCtrl )
{
strQuery = "select * from rooms";
CreateRoom(strQuery);
return;
}
//Popup Alter Dialog
POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL) AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATION);
else
{
CRoomDLG dlg;
dlg.m_bAppend = false;
int iItem = m_ListCtrl.GetNextSelectedItem(pos);
// Get Room No
dlg.m_sNo = m_ListCtrl.GetItemText(iItem, 0);
// Get Room Type
dlg.m_sType = m_ListCtrl.GetItemText(iItem, 1);
// Get Position
dlg.m_sPosition = m_ListCtrl.GetItemText(iItem, 2);
// Get Price
dlg.m_sPrice = m_ListCtrl.GetItemText(iItem, 3);
// Get Memo
dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 5);
dlg.DoModal();
}
}
void CRoomRentView::OnDelRoom()
{
// TODO: Add your command handler code here
_variant_t Holder, strQuery;
if ( m_ListCtrl && m_sCurrentList!="房屋信息列表" )
{
m_ListCtrl.DestroyWindow();
strQuery = "select * from rooms";
CreateRoom( strQuery );
return;
}
if ( !m_ListCtrl )
{
strQuery = "select * from rooms";
CreateRoom(strQuery);
return;
}
// Del Records
POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
if ( pos == NULL )
{
AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATION);
return;
}
else
{
int iItem;
CString sID;
while (pos)
{
iItem = m_ListCtrl.GetNextSelectedItem(pos);
sID = m_ListCtrl.GetItemText(iItem, 0);
strQuery = "delete from rooms where roomNo='"+sID+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
}
}
// Refresh List
strQuery = "select * from rooms";
RefreshRoom( strQuery );
}
void CRoomRentView::OnCheckRoom()
{
// TODO: Add your command handler code here
// Check RooType
_variant_t strQuery, Holder;
strQuery = "select typename from roomtype";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("請先進行房屋標準設置!"), MB_ICONEXCLAMATION);
return;
}
CCheckRoomDLG dlg;
dlg.DoModal();
}
void CRoomRentView::OnCheckRemain()
{
// TODO: Add your command handler code here
// Check RoomType
_variant_t strQuery, Holder;
strQuery = "select typename from roomtype";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("請先進行房屋標準設置!"), MB_ICONEXCLAMATION);
return;
}
CCheckRemainDLG dlg;
dlg.DoModal();
}
void CRoomRentView::OnAddBookIn()
{
// TODO: Add your command handler code here
// Check Rooms
_variant_t strQuery, Holder;
strQuery = "select * from rooms";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("請先進行房屋信息設置!"), MB_ICONEXCLAMATION);
return;
}
strQuery = "select * from rooms where putup=0 or putup is NULL";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("房屋已經全部定滿!"), MB_ICONEXCLAMATION);
return;
}
CBookInDLG dlg;
dlg.m_bAppend = true;
dlg.DoModal();
}
void CRoomRentView::RefreshBookIn(_variant_t strQuery)
{
if (m_ListCtrl) m_ListCtrl.DestroyWindow();
CreateBookIn( strQuery );
m_sCurrentList = _T("定房信息列表");
m_StaticCtrl.SetWindowText(m_sCurrentList);
}
void CRoomRentView::CreateBookIn(_variant_t strQuery)
{
//Update m_sCurrentList and Static Ctrl
// Get Client Rect
CRect rect;
GetClientRect(rect);
rect.top += 30;
// Create
m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);
// Set Color
m_ListCtrl.SetBkColor(RGB(177, 151, 240));
m_ListCtrl.SetTextColor(RGB(0,0,0));
m_ListCtrl.SetTextBkColor(RGB(177, 151, 240));
// Set EX-Style
m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);
// Create Header
m_ListCtrl.InsertColumn(0,_T("定房編號"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(1,_T("顧客姓名"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(2,_T("身份證號碼"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(3,_T("房屋編號"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(4,_T("入住日期"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(5,_T("折扣%"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(6,_T("結帳時間"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(7,_T("租金"), LVCFMT_LEFT, 100);
m_ListCtrl.InsertColumn(8,_T("備注"), LVCFMT_LEFT, 100);
// Get all records
_variant_t Holder;
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount ) return;
CString str;
COleDateTime time;
theApp.m_pADOSet->MoveFirst();
for(int i=0; i<iCount; i++)
{
// Get bookno
Holder = theApp.m_pADOSet->GetCollect("bookno");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListCtrl.InsertItem(i, str);
// Get customname
Holder = theApp.m_pADOSet->GetCollect("customname");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListCtrl.SetItemText(i, 1, str);
// Get customID
Holder = theApp.m_pADOSet->GetCollect("customID");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
//str.Format("%.2f", Holder.dblVal);
m_ListCtrl.SetItemText(i, 2, str);
// Get roomno
Holder = theApp.m_pADOSet->GetCollect("roomno");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListCtrl.SetItemText(i, 3, str);
// Get indate
Holder = theApp.m_pADOSet->GetCollect("indate");
time = Holder;
str = time.Format("%Y-%m-%d");
m_ListCtrl.SetItemText(i, 4, str);
// Get discount
Holder = theApp.m_pADOSet->GetCollect("discount");
str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal);
m_ListCtrl.SetItemText(i, 5, str);
// Get checkdate
Holder = theApp.m_pADOSet->GetCollect("checkdate");
if ( VT_NULL==Holder.vt ) str="N/A";
else
{
time = Holder;
str = time.Format("%Y-%m-%d");
}
m_ListCtrl.SetItemText(i, 6, str);
// Get ammount
Holder = theApp.m_pADOSet->GetCollect("ammount");
if ( VT_NULL==Holder.vt ) str="N/A";
else str.Format("%.2f", Holder.vt==VT_NULL?0:Holder.dblVal);
m_ListCtrl.SetItemText(i, 7, str);
// Get inmemo
Holder = theApp.m_pADOSet->GetCollect("inmemo");
str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
m_ListCtrl.SetItemText(i, 8, str);
theApp.m_pADOSet->MoveNext();
}
}
void CRoomRentView::OnAlterBookIn()
{
// TODO: Add your command handler code here
_variant_t strQuery;
if ( m_ListCtrl && m_sCurrentList!=_T("定房信息列表") )
{
m_ListCtrl.DestroyWindow();
strQuery = "select * from bookin where checkdate is NULL";
CreateBookIn(strQuery);
m_sCurrentList = _T("定房信息列表");
m_StaticCtrl.SetWindowText(m_sCurrentList);
return;
}
if ( !m_ListCtrl )
{
strQuery = "select * from bookin where checkdate is NULL";
CreateBookIn(strQuery);
m_sCurrentList = _T("定房信息列表");
m_StaticCtrl.SetWindowText(m_sCurrentList);
return;
}
//Popup Alter Dialog
POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL) AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATION);
else
{
CBookInDLG dlg;
dlg.m_bAppend = false;
CString str;
int iItem = m_ListCtrl.GetNextSelectedItem(pos);
// Get Room No
dlg.m_sRoomNo = m_ListCtrl.GetItemText(iItem, 3);
// Get Name
dlg.m_sName = m_ListCtrl.GetItemText(iItem, 1);
// Get ID
dlg.m_sID = m_ListCtrl.GetItemText(iItem, 2);
// Get InDate
_variant_t strQuery, Holder;
strQuery = "select indate from bookin where roomno='"+dlg.m_sRoomNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
Holder = theApp.m_pADOSet->GetCollect("indate");
dlg.m_tInDAte = Holder;
// Get discount
dlg.m_sDiscount = m_ListCtrl.GetItemText(iItem, 5);
// Get Memo
dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 8);
dlg.DoModal();
}
}
void CRoomRentView::OnSearchBookIn()
{
// TODO: Add your command handler code here
CSearchBookInDLG dlg;
dlg.DoModal();
}
void CRoomRentView::OnAddCheckOut()
{
// TODO: Add your command handler code here
// Check if any record exist
_variant_t strQuery, Holder;
strQuery = "select * from bookin";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
int iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("沒有顧客入住!"), MB_ICONEXCLAMATION);
return;
}
// Check if any not checked record exist
strQuery = "select * from bookin where checkdate is NULL";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
iCount = theApp.m_pADOSet->GetRecordCount();
if ( 0==iCount )
{
AfxMessageBox(_T("全部房屋均已經結算完畢!"), MB_ICONEXCLAMATION);
strQuery = "select * from bookin where checkdate is not NULL";
RefreshCheckOut(strQuery);
return;
}
CCheckOutDLG dlg;
dlg.m_bAppend = true;
dlg.DoModal();
}
void CRoomRentView::RefreshCheckOut(_variant_t strQuery)
{
if (m_ListCtrl) m_ListCtrl.DestroyWindow();
CreateBookIn( strQuery );
m_sCurrentList = _T("結算信息列表");
m_StaticCtrl.SetWindowText(m_sCurrentList);
}
void CRoomRentView::OnAlterCheckOut()
{
// TODO: Add your command handler code here
_variant_t strQuery;
if ( m_ListCtrl && m_sCurrentList!=_T("結算信息列表") )
{
m_ListCtrl.DestroyWindow();
strQuery = "select * from bookin where checkdate is not NULL";
CreateBookIn(strQuery);
m_sCurrentList = _T("結算信息列表");
m_StaticCtrl.SetWindowText(m_sCurrentList);
return;
}
if ( !m_ListCtrl )
{
strQuery = "select * from bookin where checkdate is not NULL";
CreateBookIn(strQuery);
m_sCurrentList = _T("結算信息列表");
m_StaticCtrl.SetWindowText(m_sCurrentList);
return;
}
POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL) AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATION);
else
{
CCheckOutDLG dlg;
dlg.m_bAppend = false;
CString str;
int iItem = m_ListCtrl.GetNextSelectedItem(pos);
// Get Room No
dlg.m_sRoomNo = m_ListCtrl.GetItemText(iItem, 3);
// Get Name
dlg.m_sName = m_ListCtrl.GetItemText(iItem, 1);
// Get ID
dlg.m_sID = m_ListCtrl.GetItemText(iItem, 2);
// Get InDate
dlg.m_sInDate = m_ListCtrl.GetItemText(iItem, 4);
// Get discount
dlg.m_sDiscount = m_ListCtrl.GetItemText(iItem, 5);
// Get Memo
dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 8);
// Get CheckOut Date
_variant_t strQuery, Holder;
strQuery = "select checkdate from bookin where roomno='"+dlg.m_sRoomNo+"'";
theApp.ADOExecute(theApp.m_pADOSet, strQuery);
Holder = theApp.m_pADOSet->GetCollect("checkdate");
dlg.m_tOutDate = Holder;
dlg.DoModal();
}
}
void CRoomRentView::OnSearchCheckOut()
{
// TODO: Add your command handler code here
CSearchCheckOutDLG dlg;
dlg.DoModal();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -