// AnalogDlg.cpp : implementation file // #include "stdafx.h" #include "IDE.h" #include "DlgUserManager.h" #include ".\dlgusermanager.h" #include "DlgUser.h" #include "DlgUserEquipAlloc.h" #include "DlgUserGroupAlloc.h" #include "Dlg_GroupManage.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CDlgUserManager dialog CDlgUserManager::CDlgUserManager(CWnd* pParent /*=NULL*/) : CDialog(CDlgUserManager::IDD, pParent) { //{{AFX_DATA_INIT(CDlgUserManager) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT m_ctrlGridUser.RegisterWindowClass(g_hLangDLL); } void CDlgUserManager::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CDlgUserManager) DDX_Control(pDX, IDC_GRID_USER, m_ctrlGridUser); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CDlgUserManager, CDialog) //{{AFX_MSG_MAP(CDlgUserManager) //}}AFX_MSG_MAP ON_BN_CLICKED(IDC_BTN_ADD, OnBnClickedAdd) ON_BN_CLICKED(IDC_BTN_EDIT, OnBnClickedEdit) ON_BN_CLICKED(IDC_BTN_DEL, OnBnClickedDel) ON_BN_CLICKED(IDC_BTN_COPY, OnBnClickedCopy) ON_BN_CLICKED(IDC_BTN_UP, OnBnClickedUp) ON_BN_CLICKED(IDC_BTN_DOWN, OnBnClickedDown) ON_BN_CLICKED(IDC_BTN_CANCEL, OnBnClickedBtnCancel) ON_BN_CLICKED(IDC_BTN_DATE_PLAN, OnBnClickedBtnDatePlan) ON_BN_CLICKED(IDC_BTN_ALLOC_PURVIEW, OnBnClickedBtnAllocPurview) ON_BN_CLICKED(IDC_BTN_ALLOC_DEV, OnBnClickedBtnAllocDev) ON_BN_CLICKED(IDC_BTN_GROUP_MANAGE, OnBnClickedBtnGroupManage) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CDlgUserManager message handlers void CDlgUserManager::OnOK() { // TODO: Add extra validation here CDialog::OnOK(); } void CDlgUserManager::OnCancel() { // TODO: Add extra cleanup here CDialog::OnCancel(); } BOOL CDlgUserManager::OnInitDialog() { CDialog::OnInitDialog(); m_btnEdit.SubclassDlgItem(IDC_BTN_EDIT, this); m_btnEdit.SetBitmaps(IDB_EDIT, RGB(255, 0, 255)); m_btnEdit.SetFlat(FALSE); m_btnEdit.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnCopy.SubclassDlgItem(IDC_BTN_COPY, this); m_btnCopy.SetBitmaps(IDB_COPY , RGB(192, 192, 192)); m_btnCopy.SetFlat(FALSE); m_btnCopy.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnDel.SubclassDlgItem(IDC_BTN_DEL, this); m_btnDel.SetBitmaps(IDB_DEL, RGB(255,0 , 255)); m_btnDel.SetFlat(FALSE); m_btnDel.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnAdd.SubclassDlgItem(IDC_BTN_ADD, this); m_btnAdd.SetBitmaps(IDB_ADD, RGB(192, 192, 192)); m_btnAdd.SetFlat(FALSE); m_btnAdd.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnPlan.SubclassDlgItem(IDC_BTN_DATE_PLAN, this); m_btnPlan.SetBitmaps(IDB_PLAN, RGB(192, 192, 192)); m_btnPlan.SetFlat(FALSE); m_btnPlan.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnAllocPurview.SubclassDlgItem(IDC_BTN_ALLOC_PURVIEW, this); m_btnAllocPurview.SetBitmaps(IDB_INTO, RGB(192, 192, 192)); m_btnAllocPurview.SetFlat(FALSE); m_btnAllocPurview.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnAllocDev.SubclassDlgItem(IDC_BTN_ALLOC_DEV, this); m_btnAllocDev.SetBitmaps(IDB_SHOW, RGB(192, 192, 192)); m_btnAllocDev.SetFlat(FALSE); m_btnAllocDev.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnCancel.SubclassDlgItem(IDC_BTN_CANCEL, this); m_btnCancel.SetBitmaps(IDB_EXIT, RGB(192, 192, 192)); m_btnCancel.SetFlat(FALSE); m_btnCancel.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnGroupManage.SubclassDlgItem(IDC_BTN_GROUP_MANAGE, this); m_btnGroupManage.SetBitmaps(IDB_SHOW, RGB(192, 192, 192)); m_btnGroupManage.SetFlat(FALSE); m_btnGroupManage.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnUp.SubclassDlgItem(IDC_BTN_UP, this); m_btnUp.SetIcon(IDI_ICON_UP); m_btnUp.SetFlat(FALSE); m_btnUp.SetAlign(CButtonST::ST_ALIGN_HORIZ); m_btnDown.SubclassDlgItem(IDC_BTN_DOWN, this); m_btnDown.SetIcon(IDI_ICON_DOWN); m_btnDown.SetFlat(FALSE); m_btnDown.SetAlign(CButtonST::ST_ALIGN_HORIZ); SetFields(); if( -1==PMS_VerifyUserPermit( g_nUserID,PMS_USER_BELONGGROUP_CHECK,"" ) )//g_bStartRun==1 && { m_btnAllocPurview.EnableWindow( false ); } if( -1==PMS_VerifyUserPermit( g_nUserID,PMS_USER_DRIVCE_ALLOC,"" ) ) { m_btnAllocDev.EnableWindow( false ); } if( -1==PMS_VerifyUserPermit( g_nUserID,PMS_GROUP_INFO_CHECK,"" ) ) { m_btnGroupManage.EnableWindow( false ); } //m_btnGroupManage.EnableWindow( false ); //m_btnEdit.ShowWindow( false ); //m_btnDel.ShowWindow( false ); //m_btnCopy.ShowWindow( false ); //m_btnAdd.ShowWindow( false ); //m_btnPlan.ShowWindow( false ); //m_btnAllocPurview.ShowWindow( false ); //m_btnAllocDev.ShowWindow( false ); //m_btnCancel.ShowWindow( false ); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CDlgUserManager::SetFields() { int i; m_ctrlGridUser.m_field.SetSize(8); i=0; m_ctrlGridUser.m_field[i].Field=_T("id"); m_ctrlGridUser.m_field[i].Caption=_T("ID"); m_ctrlGridUser.m_field[i].With = 50; m_ctrlGridUser.m_field[i].Find=true; i=1; m_ctrlGridUser.m_field[i].Field=_T("uid"); m_ctrlGridUser.m_field[i].Caption=g_strUserID; m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; i=2; m_ctrlGridUser.m_field[i].Field=_T("username"); m_ctrlGridUser.m_field[i].Caption=g_strHintUserName; m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; i=3; m_ctrlGridUser.m_field[i].Field=_T("tel"); m_ctrlGridUser.m_field[i].Caption=g_strTel; m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; i=4; m_ctrlGridUser.m_field[i].Field=_T("mobiletel"); m_ctrlGridUser.m_field[i].Caption=g_strMobile; m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; i=5; m_ctrlGridUser.m_field[i].Field=_T("fax"); m_ctrlGridUser.m_field[i].Caption=g_strFax; m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; i=6; m_ctrlGridUser.m_field[i].Field=_T("email"); m_ctrlGridUser.m_field[i].Caption=_T("Email"); m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; i=7; m_ctrlGridUser.m_field[i].Field=_T("status"); m_ctrlGridUser.m_field[i].Caption=g_strStatus; m_ctrlGridUser.m_field[i].With=200; m_ctrlGridUser.m_field[i].Find=true; Requery(); // m_ctrlAnalogGrid.Execute(m_pConnection,"ProductId"/*Primary key field */ // ,"*"//fields in SELECT statment // ,"Products" //from // ,"" // where // ,0); // order by N of the Grid column } void CDlgUserManager::Requery() { CString strWhere; CString s,s1; s.Format( "%s",g_strLoginUserID ); //if( s=="admin" ) // s1 = ""; //else s1 = "admin"; strWhere.Format(" uid <> \'%s\'", s1); m_ctrlGridUser.Execute(_T("id")/*Primary key field */ ,_T("*")//fields in SELECT statment ,_T("t_user_info") //from ,strWhere // where ,0); // order by N of the Grid column // } BEGIN_EVENTSINK_MAP(CDlgUserManager, CDialog) //{{AFX_EVENTSINK_MAP(CDlgUserManager) //}}AFX_EVENTSINK_MAP END_EVENTSINK_MAP() void CDlgUserManager::OnBnClickedAdd() { // TODO: 在此添加控件通知处理程序代码 CDlgUser dlg; dlg.m_pSet = m_ctrlGridUser.m_pSet; dlg.m_nID = m_nID; dlg.m_operation = CDlgUser::NEW; if (dlg.DoModal() == IDOK) { //m_ctrlAnalogGrid.Invalidate(); m_ctrlGridUser.AddNew(); Requery(); CString sContent; sContent.Format("%s %s< %s >",g_strAdd,g_strUser,dlg.m_sUserID ); CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_USER_ADD,0,"",(char *)(LPCTSTR)sContent ); pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_USER,CMD_OPERATE_ADD,dlg.m_sUserID,"",0,"64320" ); OnBnClickedBtnGroupManage(); } } void CDlgUserManager::OnBnClickedEdit() { // TODO: 在此添加控件通知处理程序代码 int nRowCur = RowSelect(); if( nRowCur==-1 ) return; CDlgUser dlgUser; dlgUser.m_nID = m_nID; dlgUser.m_pSet=m_ctrlGridUser.m_pSet; dlgUser.m_operation=CDlgUser::EDIT; if (dlgUser.DoModal() == IDOK) { m_ctrlGridUser.Invalidate(); Requery(); CString sContent; sContent.Format("%s %s< %s >",g_strEdit,g_strUser,dlgUser.m_sUserID.TrimRight() ); CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_USER_EDIT,0,"",(char *)(LPCTSTR)sContent ); CDBInterface::GetInstancePtr()->UpdateOtherTableUserName( (char *)(LPCTSTR)dlgUser.m_sUserID_Old,(char *)(LPCTSTR)dlgUser.m_sUserID ); pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_USER,CMD_OPERATE_EDIT,dlgUser.m_sUserID.TrimRight(),"",0,"64320" ); } } void CDlgUserManager::OnBnClickedDel() { // TODO: 在此添加控件通知处理程序代码 int nRow=m_ctrlGridUser.IsSelectRow(); if(nRow==-1) { MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION); return; } CString strUserID; strUserID = m_ctrlGridUser.GetCell( nRow, 1)->GetText(); strUserID = strUserID.Trim(); if (MessageBox (g_strMsgConfirmDel, g_strMsgPrompt, MB_YESNO|MB_DEFBUTTON2 | MB_ICONQUESTION) == IDYES) { CDBInterface::GetInstancePtr()->DelTableData( "t_plan_info","uid",(char *)(LPCTSTR)strUserID,1 ); CDBInterface::GetInstancePtr()->DelTableData( "t_role_user","userid",(char *)(LPCTSTR)strUserID,1 ); m_ctrlGridUser.Delete(); Requery(); //CDBInterface::GetInstancePtr()->DelUserDevInfo( (char *)(LPCTSTR)strUserID ); } CString sContent; sContent.Format("%s %s< %s >",g_strEdit,g_strUser,strUserID.TrimRight() ); CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_USER_DELETE,0,"",(char *)(LPCTSTR)sContent ); pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_USER,CMD_OPERATE_DELETE,strUserID.TrimRight(),"",0,"64320" ); } void CDlgUserManager::OnBnClickedCopy() { // TODO: 在此添加控件通知处理程序代码 int nRowCur = RowSelect(); if( nRowCur==-1 ) return; CDlgUser dlg; dlg.m_nID = m_nID; dlg.m_pSet=m_ctrlGridUser.m_pSet; dlg.m_operation=CDlgUser::COPY; if (dlg.DoModal() == IDOK) { m_ctrlGridUser.AddNew(); Requery(); CString sContent; sContent.Format("%s %s< %s >",g_strAdd,g_strUser,dlg.m_sUserID ); CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_USER_ADD,0,"",(char *)(LPCTSTR)sContent ); pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_USER,CMD_OPERATE_ADD,dlg.m_sUserID,"",0,"64320" ); OnBnClickedBtnGroupManage(); } } void CDlgUserManager::OnBnClickedUp() { int nRowCount = m_ctrlGridUser.GetRowCount(); int nRow=m_ctrlGridUser.IsSelectRow(); if( nRow==-1 || nRow==1 ) return; CString sID1; CString sID2; int nID1=-1,nID2=-1; sID1 = m_ctrlGridUser.GetCell( nRow, 0 )->GetText(); sID2 = m_ctrlGridUser.GetCell( nRow-1, 0 )->GetText(); nID1 = atoi( sID1 ); nID2 = atoi( sID2 ); CDBInterface::GetInstancePtr()->UpDownUserInfo( nID1,nID2 ); Requery(); m_ctrlGridUser.SetRowFocus( nRow-1 ); } void CDlgUserManager::OnBnClickedDown() { int nRowCount = m_ctrlGridUser.GetRowCount(); int nRow=m_ctrlGridUser.IsSelectRow(); if( nRow==-1 || nRow==nRowCount-1 ) return; CString sID1; CString sID2; int nID1=-1,nID2=-1; sID1 = m_ctrlGridUser.GetCell( nRow, 0 )->GetText(); sID2 = m_ctrlGridUser.GetCell( nRow+1, 0 )->GetText(); nID1 = atoi( sID1 ); nID2 = atoi( sID2 ); CDBInterface::GetInstancePtr()->UpDownUserInfo( nID1,nID2 ); Requery(); m_ctrlGridUser.SetRowFocus( nRow+1 ); } BOOL CDlgUserManager::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) { LPNMHDR pNmhdr = (LPNMHDR)lParam; // TODO: 在此添加专用代码和/或调用基类 if (wParam == (WPARAM)m_ctrlGridUser.GetDlgCtrlID()) { *pResult = 1; GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam; m_ctrlGridUser.SetValue(pDispInfo); //switch( pNmhdr->code ) //{ // case NM_DBLCLK: // RowSelect(); // return true; //} } return CDialog::OnNotify(wParam, lParam, pResult); } void CDlgUserManager::OnBnClickedBtnCancel() { // TODO: 在此添加控件通知处理程序代码 //OnCancel(); OnOK(); } int CDlgUserManager::RowSelect() { int nRow=m_ctrlGridUser.IsSelectRow(); if(nRow==-1) { MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION); return nRow; } m_nID = atoi(m_ctrlGridUser.GetCell( nRow, 0 )->GetText()); return nRow; //OnOK(); } void CDlgUserManager::OnBnClickedBtnDatePlan() { // TODO: 在此添加控件通知处理程序代码 } void CDlgUserManager::OnBnClickedBtnAllocPurview() { //if( -1==PMS_VerifyUserPermit( g_nUserID,PMS_USER_BELONGGROUP_CHECK,"" ) ) //{ // //AfxMessageBox( GetString(PMS_USER_BELONGGROUP_CHECK) ); // return; //} int nRow=m_ctrlGridUser.IsSelectRow(); if(nRow==-1) { MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION); return; } CDlgUserGroupAlloc dlg; dlg.m_strUserID = m_ctrlGridUser.GetCell( nRow, 1 )->GetText(); if(dlg.DoModal() == IDOK) { //确定处理 } } void CDlgUserManager::OnBnClickedBtnAllocDev() { // TODO: 在此添加控件通知处理程序代码 int nRow=m_ctrlGridUser.IsSelectRow(); if(nRow==-1) { MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION); return; } CDlgUserEquipAlloc dlg; dlg.m_strUserID = m_ctrlGridUser.GetCell( nRow, 1 )->GetText(); if(dlg.DoModal() == IDOK) { //确定处理 } } void CDlgUserManager::OnBnClickedBtnGroupManage() { // TODO: 在此添加控件通知处理程序代码 CDlg_GroupManage dlg; int nResult = dlg.DoModal(); if( nResult == IDOK ) { } } LRESULT CDlgUserManager::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // TODO: 在此添加专用代码和/或调用基类 switch( message ) { case WM_DCLICK: { int nRowCur = RowSelect(); if( nRowCur==-1 ) return 0; CDlgUser dlgUser; dlgUser.m_nID = m_nID; dlgUser.m_pSet=m_ctrlGridUser.m_pSet; dlgUser.m_operation=CDlgUser::EDIT; if (dlgUser.DoModal() == IDOK) { m_ctrlGridUser.Invalidate(); Requery(); CString sContent; sContent.Format("%s %s< %s >",g_strEdit,g_strUser,dlgUser.m_sUserID.TrimRight() ); CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_USER_EDIT,0,"",(char *)(LPCTSTR)sContent ); CDBInterface::GetInstancePtr()->UpdateOtherTableUserName( (char *)(LPCTSTR)dlgUser.m_sUserID_Old,(char *)(LPCTSTR)dlgUser.m_sUserID ); pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_USER,CMD_OPERATE_EDIT,dlgUser.m_sUserID.TrimRight(),"",0,"64320" ); } } break; } return CDialog::WindowProc(message, wParam, lParam); }