383 lines
8.4 KiB
C++
383 lines
8.4 KiB
C++
// RoomSetUpDlg.cpp: 实现文件
|
|
//
|
|
|
|
#include "pch.h"
|
|
#include "aike.h"
|
|
#include "afxdialogex.h"
|
|
#include "RoomSetUpDlg.h"
|
|
#include "aikeDlg.h"
|
|
|
|
|
|
// RoomSetUpDlg 对话框
|
|
|
|
IMPLEMENT_DYNAMIC(RoomSetUpDlg, CDialogEx)
|
|
|
|
RoomSetUpDlg::RoomSetUpDlg(CWnd* pParent /*=nullptr*/)
|
|
: CDialogEx(IDD_ROOMSETUPDLG, pParent)
|
|
{
|
|
|
|
}
|
|
|
|
RoomSetUpDlg::~RoomSetUpDlg()
|
|
{
|
|
}
|
|
|
|
void RoomSetUpDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialogEx::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_LIST1, m_List);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(RoomSetUpDlg, CDialogEx)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &RoomSetUpDlg::OnBnClickedButton1)
|
|
ON_BN_CLICKED(IDC_BUTTON5, &RoomSetUpDlg::OnBnClickedButton5)
|
|
ON_BN_CLICKED(IDC_BUTTON6, &RoomSetUpDlg::OnBnClickedButton6)
|
|
ON_BN_CLICKED(IDC_BUTTON7, &RoomSetUpDlg::OnBnClickedButton7)
|
|
ON_BN_CLICKED(IDC_BUTTON3, &RoomSetUpDlg::OnBnClickedButton3)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// RoomSetUpDlg 消息处理程序
|
|
|
|
|
|
void RoomSetUpDlg::OnCancel()
|
|
{
|
|
// TODO: 在此添加专用代码和/或调用基类
|
|
|
|
//CDialogEx::OnCancel();
|
|
}
|
|
|
|
|
|
void RoomSetUpDlg::OnOK()
|
|
{
|
|
// TODO: 在此添加专用代码和/或调用基类
|
|
|
|
//CDialogEx::OnOK();
|
|
}
|
|
|
|
|
|
void RoomSetUpDlg::OnBnClickedButton1()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
AddRoomDlg dlg(this);
|
|
dlg.DoModal();
|
|
}
|
|
|
|
|
|
void RoomSetUpDlg::OnBnClickedButton5()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
IDNameDlg dlg(this);
|
|
dlg.form = _T("roomtype");
|
|
dlg.DoModal();
|
|
}
|
|
|
|
|
|
void RoomSetUpDlg::OnBnClickedButton6()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
IDNameDlg dlg(this);
|
|
dlg.form = _T("roomregion");
|
|
dlg.DoModal();
|
|
}
|
|
|
|
|
|
void RoomSetUpDlg::OnBnClickedButton7()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
IDNameDlg dlg(this);
|
|
dlg.form = _T("roomstyle");
|
|
dlg.DoModal();
|
|
}
|
|
|
|
VOID RoomSetUpDlg::LoadRoom()
|
|
{
|
|
CaikeDlg* dlg = (CaikeDlg*)theApp.MainDlg;
|
|
Json temp;
|
|
RoomInfo = temp;
|
|
m_List.DeleteAllItems();
|
|
_RecordsetPtr m_pRecor;
|
|
_variant_t var;
|
|
CString str = (_T("select a.roomID,a.bedcount,a.roomfloor,b.name 'roomtype',c.name 'roomregion',d.name 'roomstyle1',e.name 'roomstyle2',f.name 'roomstyle3',g.name 'roomstyle4',h.name 'BillingRules' from room a left join roomtype b on a.roomtype = b.ID left join roomregion c on a.roomregion = c.id left join roomstyle d on a.roomstyle1 = d.id left join roomstyle e on a.roomstyle2 = e.id left join roomstyle f on a.roomstyle3 = f.id left join roomstyle g on a.roomstyle4 = g.id left join BillingRules h on a.BillingRules = h.id")), tmp, roomId, roomStyle;
|
|
dlg->AdoSql.QuerySql(str, m_pRecor);
|
|
int i = 0;
|
|
while (!m_pRecor->GetadoEOF())
|
|
{
|
|
Json tmpRoom,tmpStyle;
|
|
var = m_pRecor->GetCollect("roomID");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
roomId = (LPCTSTR)_bstr_t(var);
|
|
if (roomId == _T(""))
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
m_List.InsertItem(i, roomId);
|
|
}
|
|
else
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
var = m_pRecor->GetCollect("bedcount");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
m_List.SetItemText(i, 1, tmp + _T("位"));
|
|
tmpRoom["bedcount"] = tmp;
|
|
}
|
|
var = m_pRecor->GetCollect("roomtype");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
m_List.SetItemText(i, 2, tmp);
|
|
tmpRoom["roomtype"] = tmp;
|
|
}
|
|
var = m_pRecor->GetCollect("roomregion");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
m_List.SetItemText(i, 3, tmp);
|
|
tmpRoom["roomregion"] = tmp;
|
|
}
|
|
var = m_pRecor->GetCollect("roomfloor");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
m_List.SetItemText(i, 4, tmp + _T("楼"));
|
|
tmpRoom["roomfloor"] = tmp;
|
|
}
|
|
var = m_pRecor->GetCollect("BillingRules");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
m_List.SetItemText(i, 5, tmp);
|
|
tmpRoom["BillingRules"] = tmp;
|
|
}
|
|
var = m_pRecor->GetCollect("roomstyle1");
|
|
roomStyle = _T("");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
tmpStyle = tmp;
|
|
tmpRoom["roomstyle"].append(tmpStyle);
|
|
roomStyle += tmp + _T(",");
|
|
}
|
|
var = m_pRecor->GetCollect("roomstyle2");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
tmpStyle = tmp;
|
|
tmpRoom["roomstyle"].append(tmpStyle);
|
|
roomStyle += tmp + _T(",");
|
|
}
|
|
var = m_pRecor->GetCollect("roomstyle3");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
tmpStyle = tmp;
|
|
tmpRoom["roomstyle"].append(tmpStyle);
|
|
roomStyle += tmp + _T(",");
|
|
}
|
|
var = m_pRecor->GetCollect("roomstyle4");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
tmpStyle = tmp;
|
|
tmpRoom["roomstyle"].append(tmpStyle);
|
|
roomStyle += tmp + _T(",");
|
|
}
|
|
m_List.SetItemText(i, 6, roomStyle);
|
|
m_pRecor->MoveNext();
|
|
RoomInfo[roomId] = tmpRoom;
|
|
i++;
|
|
}
|
|
LoadInfo();
|
|
}
|
|
|
|
VOID RoomSetUpDlg::LoadInfo()
|
|
{
|
|
CString str, roomId, tmp;
|
|
CaikeDlg* dlg = (CaikeDlg*)theApp.MainDlg;
|
|
Json temp;
|
|
roomtype = temp;
|
|
roomregion = temp;
|
|
BillingRules = temp;
|
|
roomstyle = temp;
|
|
_RecordsetPtr m_pRecor;
|
|
_variant_t var;
|
|
str = (_T("select * from roomtype"));
|
|
dlg->AdoSql.QuerySql(str, m_pRecor);
|
|
while (!m_pRecor->GetadoEOF())
|
|
{
|
|
var = m_pRecor->GetCollect("name");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
roomId = (LPCTSTR)_bstr_t(var);
|
|
if (roomId == _T(""))
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
var = m_pRecor->GetCollect("ID");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
roomtype[roomId] = tmp;
|
|
}
|
|
m_pRecor->MoveNext();
|
|
}
|
|
str = (_T("select * from roomtype"));
|
|
dlg->AdoSql.QuerySql(str, m_pRecor);
|
|
while (!m_pRecor->GetadoEOF())
|
|
{
|
|
var = m_pRecor->GetCollect("name");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
roomId = (LPCTSTR)_bstr_t(var);
|
|
if (roomId == _T(""))
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
var = m_pRecor->GetCollect("ID");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
roomtype[roomId] = tmp;
|
|
}
|
|
m_pRecor->MoveNext();
|
|
}
|
|
str = (_T("select * from roomregion"));
|
|
dlg->AdoSql.QuerySql(str, m_pRecor);
|
|
while (!m_pRecor->GetadoEOF())
|
|
{
|
|
var = m_pRecor->GetCollect("name");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
roomId = (LPCTSTR)_bstr_t(var);
|
|
if (roomId == _T(""))
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
var = m_pRecor->GetCollect("ID");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
roomregion[roomId] = tmp;
|
|
}
|
|
m_pRecor->MoveNext();
|
|
}
|
|
str = (_T("select * from BillingRules"));
|
|
dlg->AdoSql.QuerySql(str, m_pRecor);
|
|
while (!m_pRecor->GetadoEOF())
|
|
{
|
|
var = m_pRecor->GetCollect("name");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
roomId = (LPCTSTR)_bstr_t(var);
|
|
if (roomId == _T(""))
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
var = m_pRecor->GetCollect("ID");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
BillingRules[roomId] = tmp;
|
|
}
|
|
m_pRecor->MoveNext();
|
|
}
|
|
str = (_T("select * from roomstyle"));
|
|
dlg->AdoSql.QuerySql(str, m_pRecor);
|
|
while (!m_pRecor->GetadoEOF())
|
|
{
|
|
var = m_pRecor->GetCollect("name");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
roomId = (LPCTSTR)_bstr_t(var);
|
|
if (roomId == _T(""))
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
m_pRecor->MoveNext();
|
|
continue;
|
|
}
|
|
var = m_pRecor->GetCollect("ID");
|
|
if (var.vt != VT_NULL)
|
|
{
|
|
tmp = (LPCTSTR)_bstr_t(var);
|
|
roomstyle[roomId] = tmp;
|
|
}
|
|
m_pRecor->MoveNext();
|
|
}
|
|
}
|
|
|
|
|
|
BOOL RoomSetUpDlg::OnInitDialog()
|
|
{
|
|
CDialogEx::OnInitDialog();
|
|
|
|
// TODO: 在此添加额外的初始化
|
|
m_List.SetExtendedStyle(m_List.GetExtendedStyle() | LVS_EX_DOUBLEBUFFER | LVS_EX_HEADERDRAGDROP | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
|
|
int i = 0;
|
|
m_List.InsertColumn(i++, _T("房间号"), LVCFMT_LEFT, 60);
|
|
m_List.InsertColumn(i++, _T("床位"), LVCFMT_LEFT, 60);
|
|
m_List.InsertColumn(i++, _T("类型"), LVCFMT_LEFT, 60);
|
|
m_List.InsertColumn(i++, _T("区域"), LVCFMT_LEFT, 60);
|
|
m_List.InsertColumn(i++, _T("楼层"), LVCFMT_LEFT, 60);
|
|
m_List.InsertColumn(i++, _T("计费方案"), LVCFMT_LEFT, 60);
|
|
m_List.InsertColumn(i++, _T("风格"), LVCFMT_LEFT, 60);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// 异常: OCX 属性页应返回 FALSE
|
|
}
|
|
|
|
|
|
void RoomSetUpDlg::OnBnClickedButton3()
|
|
{
|
|
// TODO: 在此添加控件通知处理程序代码
|
|
int nIdx = m_List.GetNextItem(-1, LVIS_SELECTED);
|
|
if (nIdx < 0)
|
|
{
|
|
MessageBox(_T("没有选中任何行"), _T("温馨提示"));
|
|
}
|
|
else
|
|
{
|
|
AddRoomDlg dlg(this);
|
|
dlg.RoomId = m_List.GetItemText(nIdx, 0);
|
|
dlg.DoModal();
|
|
}
|
|
}
|