123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872 |
- // AnalogDlg.cpp : implementation file
- //
- #include "stdafx.h"
- #include "IDE.h"
- #include "Dlg_ParamFind.h"
- #include "AnalogDlg.h"
- #include "AnalogPropertyDlg.h"
- #include "AnalogSinglePropertyDlg.h"
- #include ".\analogdlg.h"
- #include "DlgVarStatusManager.h"
- #include "DlgDatePlan.h"
- #include "StringOperation.h"
- #include "GridCtrl.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- #define m_hotFind 1111
- CDlg_ParamFind *g_pDlgParamFind=NULL;
- /////////////////////////////////////////////////////////////////////////////
- // CAnalogDlg dialog
- CAnalogDlg::CAnalogDlg(CWnd* pParent /*=NULL*/)
- : CDialog(CAnalogDlg::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CAnalogDlg)
- // NOTE: the ClassWizard will add member initialization here
- //}}AFX_DATA_INIT
- m_ctrlAnalogGrid.RegisterWindowClass(g_hLangDLL);
- }
- CAnalogDlg::~CAnalogDlg()
- {
- if( g_pDlgParamFind )
- delete g_pDlgParamFind;
- g_pDlgParamFind = NULL;
- }
- void CAnalogDlg::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CAnalogDlg)
- DDX_Control(pDX, IDC_ANALOGGRID, m_ctrlAnalogGrid);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CAnalogDlg, CDialog)
- //{{AFX_MSG_MAP(CAnalogDlg)
- //}}AFX_MSG_MAP
- ON_BN_CLICKED(IDC_ADDANALOG, OnBnClickedAddanalog)
- ON_BN_CLICKED(IDC_EDITANALOG, OnBnClickedEditanalog)
- ON_BN_CLICKED(IDC_DELANALOG, OnBnClickedDelanalog)
- ON_BN_CLICKED(IDC_COPYANALOG, OnBnClickedCopyanalog)
- ON_BN_CLICKED(IDC_FINGANALOG, OnBnClickedFindanalog)
- ON_BN_CLICKED(IDC_BTN_SET_STATUS1, OnBnClickedBtnSetStatus)
- ON_BN_CLICKED(IDC_BTN_DATE_PLAN, OnBnClickedBtnDatePlan)
- ON_BN_CLICKED(IDC_BTN_CLOSE, OnBnClickedBtnClose)
- ON_WM_CLOSE()
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CAnalogDlg message handlers
- void CAnalogDlg::OnOK()
- {
- // TODO: Add extra validation here
-
- CDialog::OnOK();
- }
- void CAnalogDlg::OnCancel()
- {
- // TODO: Add extra cleanup her
- CDialog::OnCancel();
- }
- BOOL CAnalogDlg::OnInitDialog()
- {
- CDialog::OnInitDialog();
- m_btnEdit.SubclassDlgItem(IDC_EDITANALOG, 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_COPYANALOG, 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_DELANALOG, 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_ADDANALOG, this);
- m_btnAdd.SetBitmaps(IDB_ADD, RGB(192, 192, 192));
- m_btnAdd.SetFlat(FALSE);
- m_btnAdd.SetAlign(CButtonST::ST_ALIGN_HORIZ);
- m_btnDatePlan.SubclassDlgItem(IDC_BTN_DATE_PLAN, this);
- m_btnDatePlan.SetBitmaps(IDB_PLAN, RGB(192, 192, 192));
- m_btnDatePlan.SetFlat(FALSE);
- m_btnDatePlan.SetAlign(CButtonST::ST_ALIGN_HORIZ);
- m_btnSetStatus.SubclassDlgItem(IDC_BTN_SET_STATUS1, this);
- m_btnSetStatus.SetBitmaps(IDB_INTO, RGB(192, 192, 192));
- m_btnSetStatus.SetFlat(FALSE);
- m_btnSetStatus.SetAlign(CButtonST::ST_ALIGN_HORIZ);
- m_btnCancel.SubclassDlgItem(IDC_BTN_CLOSE, this);
- m_btnCancel.SetBitmaps(IDB_EXIT, RGB(192, 192, 192));
- m_btnCancel.SetFlat(FALSE);
- m_btnCancel.SetAlign(CButtonST::ST_ALIGN_HORIZ);
- m_btnFind.SubclassDlgItem(IDC_FINGANALOG, this);
- m_btnFind.SetIcon( IDI_ICON_FIND );
- m_btnFind.SetFlat(FALSE);
- m_btnFind.SetAlign(CButtonST::ST_ALIGN_HORIZ);
- if( g_bStartRun )
- {
- m_btnCopy.EnableWindow( false );
- m_btnDel.EnableWindow( false );
- m_btnAdd.EnableWindow( false );
- //m_btnCopy.ShowWindow(SW_HIDE);
- //m_btnDel.ShowWindow(SW_HIDE);
- //m_btnAdd.ShowWindow(SW_HIDE);
- }
- SetFields();
- if( g_bStartRun==1 && -1==PMS_VerifyUserPermit( g_nUserID,PMS_P_EDITPARAM,"" ) )
- {
- m_btnEdit.EnableWindow( false );
- }
- if( g_bStartRun==1 && -1==PMS_VerifyUserPermit( g_nUserID,PMS_P_SETSTATUS,"" ) )
- {
- m_btnSetStatus.EnableWindow( false );
- }
- if( g_bStartRun==1 && -1==PMS_VerifyUserPermit( g_nUserID,PMS_P_TIME_PLAN,"" ) )
- {
- m_btnDatePlan.EnableWindow( false );
- }
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CAnalogDlg::SetFields()
- {
- int iIndex = 0;
- m_ctrlAnalogGrid.m_field.SetSize(38);
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("id");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=_T("ID");
- m_ctrlAnalogGrid.m_field[iIndex].With=50;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
-
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("boolreserved3");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strIsModify;
- m_ctrlAnalogGrid.m_field[iIndex].With=80;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("boolreserved2");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strIsNotice;
- m_ctrlAnalogGrid.m_field[iIndex].With=110;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("uid");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strVarUid1;
- m_ctrlAnalogGrid.m_field[iIndex].With=80;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("varname");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strVarName1;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("description");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strVarDesc;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("vartypeid");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strVarTypeID;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("datalen");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strVarDataLen;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("ondesc");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strOnDesc;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("offdesc");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strOffDesc;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("maxvalues");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strMaxValues;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("minvalues");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strMinValues;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("maxconvtrate");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strMaxScale;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("minconvtrate");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strMinScale;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("lowerlimit");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strLowerLimit;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("upperlimit");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strUpperLimit;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("normalstate");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strNormalState;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("setvalue");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strSetValue;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("rearm");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strRearm;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("offsets");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strOffset;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("unit");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strUint;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("collectfrequence");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strCollectFreq;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("coefficient");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strCoef;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("warnlevel");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strAlarmLevel;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("readonly");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strReadWrite;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("issave");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strSaveData;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("realtimeflag");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strCollectThreadData;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("reccurve");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strSaveCurve;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("isdde");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strIsDDE;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("registernum");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strRegNum;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("funcid");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strFuncID;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("childid");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strChildID;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("var_item_id");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strItemID;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("snmpoid");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strSnmpOid;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("fields");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strSnmpPublic;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("intreserved1");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strParamInit;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("intreserved2");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strParamMin;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- m_ctrlAnalogGrid.m_field[iIndex].Field=_T("intreserved3");
- m_ctrlAnalogGrid.m_field[iIndex].Caption=g_strParamMax;
- m_ctrlAnalogGrid.m_field[iIndex].With=200;
- m_ctrlAnalogGrid.m_field[iIndex].Find=true;
- iIndex++;
- 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 CAnalogDlg::Requery()
- {
- CString strWhere, str;
- int nVarSize = pVariantsManager->m_analog.GetSize();
- if( nVarSize > 0 )
- {
- strWhere = " id in (";
- }
- for( int i = 0; i < nVarSize; i++ )
- {
- pVariantsManager->m_analog[i]->m_nVarID;
- if( i == nVarSize - 1 )
- {
- str.Format("%d)", pVariantsManager->m_analog[i]->m_nVarID);
- strWhere += str;
- }
- else
- {
- str.Format("%d, ", pVariantsManager->m_analog[i]->m_nVarID);
- strWhere += str;
- }
- }
- m_ctrlAnalogGrid.Execute(_T("id")/*Primary key field */
- ,_T("*")//fields in SELECT statment
- ,_T("t_dev_variant") //from
- ,strWhere // where
- ,0); // order by N of the Grid column
- //
- }
- BEGIN_EVENTSINK_MAP(CAnalogDlg, CDialog)
- //{{AFX_EVENTSINK_MAP(CAnalogDlg)
- //}}AFX_EVENTSINK_MAP
- END_EVENTSINK_MAP()
- void CAnalogDlg::OnBnClickedAddanalog()
- {
- // TODO: 在此添加控件通知处理程序代码
- CAnalogPropertyDlg dlg;
- dlg.m_pSet = m_ctrlAnalogGrid.m_pSet;
- dlg.m_operation = CAnalogPropertyDlg::NEW;
- if (dlg.DoModal() == IDOK)
- {
- //m_ctrlAnalogGrid.Invalidate();
- m_ctrlAnalogGrid.AddNew();
- Requery();
- CString sContent;
- sContent.Format("%s %s< %s >",g_strAdd,g_strVariant,dlg.m_sVarName.TrimRight() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_ADD,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_ADD,"",dlg.m_sUid,dlg.m_nVarID,"64320" );
- }
- }
- void CAnalogDlg::OnBnClickedEditanalog()
- {
- // TODO: 在此添加控件通知处理程序代码
- int nRow=m_ctrlAnalogGrid.IsSelectRow();
- if(nRow==-1)
- {
- MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION);
- return;
- }
- int nSelNum = m_ctrlAnalogGrid.GetSelCount();
- if( g_bStartRun )
- {
- CAnalogSinglePropertyDlg dlg;
- dlg.m_pSet=m_ctrlAnalogGrid.m_pSet;
- dlg.m_nPrevRow = nRow;
- //dlg.m_operation=CAnalogSinglePropertyDlg::EDIT;
- dlg.m_operation= nSelNum<2 ? CAnalogSinglePropertyDlg::EDIT : CAnalogSinglePropertyDlg::EDITMORE;
- for( int i=0;i<nSelNum;i++ )
- dlg.m_nArrayListID.Add( m_ctrlAnalogGrid.m_nArrayListChoose[i] );
- if (dlg.DoModal() == IDOK)
- {
- if( dlg.m_operation==CAnalogPropertyDlg::EDIT )
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strEdit,g_strVariant,dlg.m_sVarName.TrimRight() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_EDIT,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_EDIT,"",dlg.m_sUid,dlg.m_nVarID,"64320" );
- }
- else
- MessageBox(g_strEditMoreVarOK, g_strTip, MB_ICONINFORMATION);
- #if EDIT_VAR_IS_FRESH
- m_ctrlAnalogGrid.Invalidate(FALSE);
- Requery();
- m_ctrlAnalogGrid.Invalidate(TRUE);
- #endif
- }
- }
- else
- {
- CAnalogPropertyDlg dlg;
- dlg.m_pSet=m_ctrlAnalogGrid.m_pSet;
- dlg.m_nPrevRow = nRow;
- //dlg.m_operation=CAnalogPropertyDlg::EDIT;
- dlg.m_operation= nSelNum<2 ? CAnalogPropertyDlg::EDIT : CAnalogPropertyDlg::EDITMORE;
- for( int i=0;i<nSelNum;i++ )
- dlg.m_nArrayListID.Add( m_ctrlAnalogGrid.m_nArrayListChoose[i] );
- if (dlg.DoModal() == IDOK)
- {
- if( dlg.m_operation==CAnalogPropertyDlg::EDIT )
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strEdit,g_strVariant,dlg.m_sVarName.TrimRight() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_EDIT,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_EDIT,"",dlg.m_sUid,dlg.m_nVarID,"64320" );
- }
- else
- MessageBox(g_strEditMoreVarOK, g_strTip, MB_ICONINFORMATION);
- #if EDIT_VAR_IS_FRESH
- m_ctrlAnalogGrid.Invalidate(FALSE);
- Requery();
- m_ctrlAnalogGrid.Invalidate(TRUE);
- #endif
- }
- }
- }
- void CAnalogDlg::OnBnClickedDelanalog()
- {
- // TODO: 在此添加控件通知处理程序代码
- int nRow=m_ctrlAnalogGrid.IsSelectRow();
- int nSelNum = m_ctrlAnalogGrid.GetSelCount();
- m_nArrayListID.RemoveAll();
- for( int i=0;i<nSelNum;i++ )
- m_nArrayListID.Add( m_ctrlAnalogGrid.m_nArrayListChoose[i] );
- if( nSelNum>1 )
- {
- if (MessageBox (g_strMsgConfirmDel, g_strMsgPrompt, MB_YESNO|MB_DEFBUTTON2 | MB_ICONQUESTION) == IDYES)
- {
- for( int m=0;m<nSelNum;m++ )
- {
- for( int n=m+1;n<nSelNum;n++ )
- {
- if( m_nArrayListID[m]<m_nArrayListID[n] )
- {
- int nTemp = m_nArrayListID[m];
- m_nArrayListID[m] = m_nArrayListID[n];
- m_nArrayListID[n] = nTemp;
- }
- }
- }
- for( int i=0;i<nSelNum;i++ )
- {
- nRow = m_nArrayListID[i];
- m_ctrlAnalogGrid.SetRowFocus( nRow );
- int nVarID = atoi(m_ctrlAnalogGrid.GetCell( nRow, 0 )->GetText());
- CString sUid = m_ctrlAnalogGrid.GetCell( nRow, 3 )->GetText();
-
- if( pVariantsManager->DeleteAnalog( nVarID ) )
- {
- CString sContent,sTemp=m_ctrlAnalogGrid.GetCell( nRow, 3 )->GetText();
- sContent.Format("%s %s< %s >",g_strDel,g_strVariant,sTemp );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_DELETE,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_DELETE,"",sUid,nVarID,"64320" );
-
- CHAR sVarID[MAX_SQL_LENGTH + 1] = "";
- sprintf(sVarID, "%d", nVarID);
- CDBInterface::GetInstancePtr()->DelTableData( "t_var_status","devuid",(char *)(LPCTSTR)sUid,1,"varid",sVarID,2 );
- //m_ctrlAnalogGrid.Delete();
- CDBInterface::GetInstancePtr()->DelTableData( "t_dev_variant","id",(char *)(LPCTSTR)sVarID,1 );
- }
- }
- Requery();
- }
- }
- else
- {
- if(nRow==-1)
- {
- MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION);
- return;
- }
- if (MessageBox (g_strMsgConfirmDel, g_strMsgPrompt, MB_YESNO|MB_DEFBUTTON2 | MB_ICONQUESTION) == IDYES)
- {
- int nVarID = atoi(m_ctrlAnalogGrid.GetCell( nRow, 0 )->GetText());
- CString sUid = m_ctrlAnalogGrid.GetCell( nRow, 3 )->GetText();
-
- if( pVariantsManager->DeleteAnalog( nVarID ) )
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strDel,g_strVariant,m_ctrlAnalogGrid.GetCell( nRow, 3 )->GetText() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_DELETE,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_DELETE,"",sUid,nVarID,"64320" );
-
- CHAR sVarID[MAX_SQL_LENGTH + 1] = "";
- sprintf(sVarID, "%d", nVarID);
- CDBInterface::GetInstancePtr()->DelTableData( "t_var_status","devuid",(char *)(LPCTSTR)sUid,1,"varid",sVarID,2 );
- //m_ctrlAnalogGrid.Delete();
- CDBInterface::GetInstancePtr()->DelTableData( "t_dev_variant","id",(char *)(LPCTSTR)sVarID,1 );
- Requery();
- }
- }
- }
- m_ctrlAnalogGrid.m_nArrayListChoose.RemoveAll();
- }
- void CAnalogDlg::OnBnClickedCopyanalog()
- {
- // TODO: 在此添加控件通知处理程序代码
- if(m_ctrlAnalogGrid.IsSelectRow()==-1)
- return;
- CAnalogPropertyDlg dlg;
- dlg.m_pSet=m_ctrlAnalogGrid.m_pSet;
- dlg.m_operation=CAnalogPropertyDlg::COPY;
- if (dlg.DoModal() == IDOK)
- {
- m_ctrlAnalogGrid.AddNew();
- Requery();
- CString sContent;
- sContent.Format("%s %s< %s >",g_strAdd,g_strVariant,dlg.m_sVarName.TrimRight() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_ADD,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_ADD,"",dlg.m_sUid,dlg.m_nVarID,"64320" );
- }
- }
- void CAnalogDlg::OnBnClickedFindanalog()
- {
- ShowFindDlg();
- }
- BOOL CAnalogDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
- {
- // TODO: 在此添加专用代码和/或调用基类
- if (wParam == (WPARAM)m_ctrlAnalogGrid.GetDlgCtrlID())
- {
- *pResult = 1;
- GV_DISPINFO *pDispInfo = (GV_DISPINFO*)lParam;
- m_ctrlAnalogGrid.SetValue(pDispInfo);
- }
- return CDialog::OnNotify(wParam, lParam, pResult);
- }
- void CAnalogDlg::OnBnClickedBtnSetStatus()
- {
- // TODO: 在此添加控件通知处理程序代码
- int nRow=m_ctrlAnalogGrid.IsSelectRow();
- if(nRow==-1)
- {
- MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION);
- return;
- }
- int nVarID = atoi(m_ctrlAnalogGrid.GetCell( nRow, 0 )->GetText());
- CString strDevUID = m_ctrlAnalogGrid.GetCell( nRow, 3)->GetText();
- CDlgVarStatusManager dlg;
- dlg.m_strUID = strDevUID;
- dlg.m_nVarID = nVarID;
- if( dlg.DoModal() == IDOK )
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strEdit,g_strVariant,m_ctrlAnalogGrid.GetCell( nRow, 0 )->GetText() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_SETSTATUS,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_EDIT,"",strDevUID,nVarID,"64320" );
- }
- CAnalog *pAnalog = pVariantsManager->FindAnalog(nVarID);
- if( pAnalog==NULL )
- return;
- list<string> listStatusID, listStatusDesc;
- list<string>::iterator itStatusID, itStatusDesc;
- int nCount = 0;
- nCount = CDBInterface::GetInstancePtr()->GetVarStatusList(
- (char *)(LPCTSTR)dlg.m_strUID,
- dlg.m_nVarID,
- listStatusID,
- listStatusDesc);
- if( nCount > 0 )
- {
- list<int>::iterator it;
- list<CString>::iterator it_desc;
- for( it = pAnalog->m_listStatusID.begin(); it != pAnalog->m_listStatusID.end(); )
- {
- pAnalog->m_listStatusID.erase( it++ );
- }
- for( it_desc = pAnalog->m_listStatusDesc.begin(); it_desc != pAnalog->m_listStatusDesc.end(); )
- {
- pAnalog->m_listStatusDesc.erase( it_desc++ );
- }
- }
- for( itStatusID = listStatusID.begin(), itStatusDesc = listStatusDesc.begin();
- itStatusID != listStatusID.end(), itStatusDesc != listStatusDesc.end();
- itStatusID++, itStatusDesc++)
- {
- pAnalog->m_listStatusID.insert( pAnalog->m_listStatusID.end(), atoi((*itStatusID).c_str()) );
- pAnalog->m_listStatusDesc.insert( pAnalog->m_listStatusDesc.end(), (*itStatusDesc).c_str() );
- }
- }
- void CAnalogDlg::OnBnClickedBtnDatePlan()
- {
- // TODO: 在此添加控件通知处理程序代码
- int nRow=m_ctrlAnalogGrid.IsSelectRow();
- if(nRow==-1)
- {
- MessageBox(g_strSelLine, g_strTip, MB_ICONINFORMATION);
- return;
- }
- int nVarID = atoi(m_ctrlAnalogGrid.GetCell( nRow, 0 )->GetText());
- CString strDevUID = m_ctrlAnalogGrid.GetCell( nRow, 3)->GetText();
- CDlgDatePlan dlg;
- dlg.m_nPlanType = PLAN_TYPE_EQUIP;
- dlg.m_strUid = strDevUID;
- dlg.m_nVarID = nVarID;
- if(dlg.DoModal() == IDOK)
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strEdit,g_strVariant,m_ctrlAnalogGrid.GetCell( nRow, 0 )->GetText() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_TIMEPLAN_EIDT,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_EDIT,"",dlg.m_strUid,dlg.m_nVarID,"64320" );
- //pVariantsManager->AllocDatePlan();
- }
- }
- void CAnalogDlg::OnBnClickedBtnClose()
- {
- // TODO: 在此添加控件通知处理程序代码
- //pVariantsManager->Store(g_strDirectory);
- OnCancel();
- }
- void CAnalogDlg::OnClose()
- {
- // TODO: 在此添加消息处理程序代码和/或调用默认值
- //pVariantsManager->Store(g_strDirectory);
- CDialog::OnClose();
- }
- LRESULT CAnalogDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
- {
- // TODO: 在此添加专用代码和/或调用基类
- switch( message )
- {
- case WM_DCLICK:
- {
- if( g_bStartRun==1 && -1==PMS_VerifyUserPermit( g_nUserID,PMS_P_EDITPARAM,"" ) )
- {
- return -1;
- }
- if( g_bStartRun )
- {
- CAnalogSinglePropertyDlg dlg;
- dlg.m_pSet=m_ctrlAnalogGrid.m_pSet;
- dlg.m_operation=CAnalogSinglePropertyDlg::EDIT;
- if (dlg.DoModal() == IDOK)
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strEdit,g_strVariant,dlg.m_sVarName.TrimRight() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_EDIT,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_EDIT,"",dlg.m_sUid,dlg.m_nVarID,"64320" );
- #if EDIT_VAR_IS_FRESH
- m_ctrlAnalogGrid.Invalidate(FALSE);
- Requery();
- m_ctrlAnalogGrid.Invalidate(TRUE);
- #endif
- }
- }
- else
- {
- CAnalogPropertyDlg dlg;
- dlg.m_pSet=m_ctrlAnalogGrid.m_pSet;
- dlg.m_operation=CAnalogPropertyDlg::EDIT;
- if (dlg.DoModal() == IDOK)
- {
- CString sContent;
- sContent.Format("%s %s< %s >",g_strEdit,g_strVariant,dlg.m_sVarName.TrimRight() );
- CDBInterface::GetInstancePtr()->InsertLogRecord( LOG_PARAM_EDIT,0,"",(char *)(LPCTSTR)sContent );
- pDevicesManager->SendNoticeToServer( CMD_NOTICE_READ_DB_VAR,CMD_OPERATE_EDIT,"",dlg.m_sUid,dlg.m_nVarID,"64320" );
- #if EDIT_VAR_IS_FRESH
- m_ctrlAnalogGrid.Invalidate(FALSE);
- Requery();
- m_ctrlAnalogGrid.Invalidate(TRUE);
- #endif
- }
- }
- }
- break;
- }
- return CDialog::WindowProc(message, wParam, lParam);
- }
- BOOL CAnalogDlg::PreTranslateMessage(MSG* pMsg)
- {
- // TODO: 在此添加专用代码和/或调用基类
- if (pMsg-> message == WM_KEYDOWN)
- {
- if( pMsg-> wParam=='F')
- {
- if(::GetKeyState(VK_CONTROL) < 0)
- {
- ShowFindDlg();
- }
- }
- }
- return CDialog::PreTranslateMessage(pMsg);
- }
- void CAnalogDlg::ShowFindDlg()
- {
- if( g_pDlgParamFind==NULL )
- {
- g_pDlgParamFind = new CDlg_ParamFind();
- g_pDlgParamFind->Create( IDD_DLG_PARAMFIND,this );
- g_pDlgParamFind->m_pAnalog = this;
- CRect rectFrame,rect;
- this->GetWindowRect( rectFrame );
- rect.left = rectFrame.left;//rectFrame.left+rectFrame.Width()/2-250/2;
- rect.top = rectFrame.top;//rectFrame.top+rectFrame.Height()/2-500/2;
- rect.right = rect.left+250;
- rect.bottom = rect.top+150;
- g_pDlgParamFind->MoveWindow( rect );
- int count=0;
- for(int i=0;i<m_ctrlAnalogGrid.m_field.GetSize();i++)
- {
- if(m_ctrlAnalogGrid.m_field[i].Find)
- {
- g_pDlgParamFind->m_Comb_FindType.InsertString(count,m_ctrlAnalogGrid.m_field[i].Caption );
- count++;
- }
- }
- g_pDlgParamFind->m_Comb_FindType.SetCurSel( 0 );
- }
- g_pDlgParamFind->ShowWindow( true );
- }
|