187 lines
4.1 KiB
C++
187 lines
4.1 KiB
C++
#include "stdafx.h"
|
|
#include "CZHZLDLG.h"
|
|
#include "uiiado.h"
|
|
#include "LJCSDlg.h"
|
|
|
|
#define IMG_ROOT 0
|
|
#define IMG_DEPT 1
|
|
#define IMG_PRO 2
|
|
#define IMG_MEMB 14
|
|
|
|
IMPLEMENT_DYNAMIC(CZHZLDLG, CDialog)
|
|
|
|
CZHZLDLG::CZHZLDLG(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CZHZLDLG::IDD, pParent)
|
|
{
|
|
m_pMySQLDb = NULL;
|
|
}
|
|
|
|
CZHZLDLG::~CZHZLDLG()
|
|
{
|
|
if (m_pMySQLDb != NULL)
|
|
delete m_pMySQLDb;
|
|
}
|
|
|
|
|
|
void CZHZLDLG::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_TREE1, m_wndTree);
|
|
DDX_Control(pDX, IDC_LIST1, m_wndList);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CZHZLDLG, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CZHZLDLG::OnBnClickedOk)
|
|
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, &CZHZLDLG::OnTvnSelchangedTree1)
|
|
END_MESSAGE_MAP()
|
|
|
|
BOOL CZHZLDLG::InitADOServer()
|
|
{
|
|
m_pMySQLDb = CLJCSDlg::GetSHEarthWormConnect();
|
|
return (m_pMySQLDb != NULL) ? TRUE : FALSE;
|
|
}
|
|
|
|
BOOL CZHZLDLG::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
if (!InitADOServer())
|
|
{
|
|
AfxMessageBox(_T("连接数据库服务器失败!请检查数据库测试连接!"));
|
|
return FALSE;
|
|
}
|
|
|
|
CBitmap bmp;
|
|
if (!bmp.LoadBitmap(IDB_BITMAPPRIV))
|
|
{
|
|
AfxMessageBox(_T("Can't load bitmap IDB_BITMAPPRIV"));
|
|
ASSERT(FALSE);
|
|
return FALSE;
|
|
}
|
|
|
|
BITMAP bmpObj;
|
|
bmp.GetBitmap(&bmpObj);
|
|
|
|
UINT nFlags = ILC_COLOR24 | ILC_MASK;
|
|
|
|
m_Imagelist.Create(16, bmpObj.bmHeight, nFlags, 0, 0);
|
|
m_Imagelist.Add(&bmp, RGB(255, 0, 0));
|
|
m_wndTree.SetImageList(&m_Imagelist, TVSIL_NORMAL);
|
|
m_wndList.SetImageList(&m_Imagelist, LVSIL_SMALL);
|
|
|
|
m_wndList.InsertColumn(0, _T("姓名"), LVCFMT_LEFT, 100);
|
|
m_wndList.InsertColumn(1, _T("IP"), LVCFMT_LEFT, 180);
|
|
m_wndList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_SINGLEROW);
|
|
|
|
ShowDepartView();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CZHZLDLG::ShowDepartView()
|
|
{
|
|
HTREEITEM hRoot = m_wndTree.InsertItem(_T("部门视图"), IMG_ROOT, IMG_ROOT);
|
|
|
|
CString sSQL;
|
|
sSQL = _T("select DISTINCT PartMt from Aec_Employees");
|
|
|
|
CString sDept, sPro;
|
|
CStringArray arVals,arPros;
|
|
m_pMySQLDb->GetSelData(sSQL, arVals);
|
|
|
|
for (int i = 0;i < arVals.GetSize();i++)
|
|
{
|
|
sDept = arVals.GetAt(i);
|
|
HTREEITEM hDept = m_wndTree.InsertItem(sDept, IMG_DEPT, IMG_DEPT, hRoot);
|
|
|
|
sSQL.Format(_T("select DISTINCT Pro from Aec_Employees where PartMt='%s'"), sDept);
|
|
arPros.RemoveAll();
|
|
|
|
m_pMySQLDb->GetSelData(sSQL, arPros);
|
|
|
|
for (int j = 0;j < arPros.GetSize();j++)
|
|
{
|
|
sPro = arPros.GetAt(j);
|
|
m_wndTree.InsertItem(sPro, IMG_PRO, IMG_PRO, hDept);
|
|
}
|
|
|
|
m_wndTree.SelectItem(hDept);
|
|
m_wndTree.Expand(hDept, TVE_EXPAND);
|
|
}
|
|
|
|
m_wndTree.SelectItem(hRoot);
|
|
m_wndTree.Expand(hRoot, TVE_EXPAND);
|
|
}
|
|
|
|
void CZHZLDLG::OnBnClickedOk()
|
|
{
|
|
m_sDept = _T("");
|
|
m_sPro = _T("");
|
|
m_sName = _T("");
|
|
m_sIP = _T("");
|
|
m_bSelectValidate = FALSE;
|
|
|
|
POSITION ps = m_wndList.GetFirstSelectedItemPosition();
|
|
if (ps != NULL)
|
|
{
|
|
int nItem = m_wndList.GetNextSelectedItem(ps);
|
|
if (nItem != -1)
|
|
{
|
|
m_sName = m_wndList.GetItemText(nItem, 0);
|
|
m_sIP = m_wndList.GetItemText(nItem, 1);
|
|
|
|
HTREEITEM hSelect = m_wndTree.GetSelectedItem();
|
|
if (hSelect != NULL)
|
|
{
|
|
int nImg = -1, nImgSel = -1;
|
|
m_wndTree.GetItemImage(hSelect, nImg, nImgSel);
|
|
|
|
if (nImg == IMG_PRO)
|
|
{
|
|
m_sPro = m_wndTree.GetItemText(hSelect);
|
|
m_sDept = m_wndTree.GetItemText(m_wndTree.GetParentItem(hSelect));
|
|
m_bSelectValidate = TRUE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!m_bSelectValidate)
|
|
{
|
|
AfxMessageBox(_T("请选择账户人员!"));
|
|
return;
|
|
}
|
|
OnOK();
|
|
}
|
|
|
|
void CZHZLDLG::OnTvnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult)
|
|
{
|
|
LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
|
|
HTREEITEM hSelect = pNMTreeView->itemNew.hItem;
|
|
|
|
if (hSelect != NULL)
|
|
{
|
|
int nImg = -1, nImgSel = -1;
|
|
m_wndTree.GetItemImage(hSelect, nImg, nImgSel);
|
|
|
|
if (nImg == IMG_PRO)
|
|
{
|
|
CString sPro = m_wndTree.GetItemText(hSelect);
|
|
CString sDept = m_wndTree.GetItemText(m_wndTree.GetParentItem(hSelect));
|
|
|
|
m_wndList.DeleteAllItems();
|
|
|
|
CString sSQL;
|
|
sSQL.Format(_T("select Name,IP from Aec_Employees where PartMt='%s' and Pro='%s'"), sDept, sPro);
|
|
|
|
CUIIValueTable tbl;
|
|
m_pMySQLDb->GetSelData(sSQL, tbl);
|
|
|
|
tbl.ShowToListCtrl(&m_wndList, IMG_MEMB);
|
|
}
|
|
else {
|
|
m_wndList.DeleteAllItems();
|
|
}
|
|
}
|
|
}
|