a
This commit is contained in:
@@ -0,0 +1,886 @@
|
||||
// opsyntddlg.cpp : implementation file
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "geomative.h"
|
||||
#include "opsyntddlg.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
extern CString g_szMacAddress;
|
||||
extern CGeoMativeApp theApp;
|
||||
extern int g_UIOffset;
|
||||
extern int g_iUILanguage;
|
||||
|
||||
BEGIN_EASYSIZE_MAP(COpSynTDDlg)
|
||||
|
||||
EASYSIZE(IDC_TREE_SYN_DMS, ES_BORDER,ES_BORDER,ES_KEEPSIZE,ES_BORDER,0)
|
||||
EASYSIZE(IDC_LIST_SYN_TD, ES_BORDER,ES_BORDER,ES_BORDER,ES_BORDER,0)
|
||||
|
||||
EASYSIZE(IDC_TD_SEL, ES_KEEPSIZE,IDC_LIST_SYN_TD,ES_BORDER,ES_KEEPSIZE,0)
|
||||
EASYSIZE(IDC_TD_DEL, IDC_TD_SEL,IDC_LIST_SYN_TD,ES_BORDER,ES_KEEPSIZE,0)
|
||||
|
||||
EASYSIZE(IDC_STATIC_UPLOADED, IDC_TREE_SYN_DMS,IDC_LIST_SYN_TD,ES_KEEPSIZE,ES_KEEPSIZE,0)
|
||||
EASYSIZE(IDC_LIST_SYN_SELTD, ES_BORDER,IDC_STATIC_UPLOADED,ES_BORDER,ES_BORDER,0)
|
||||
|
||||
EASYSIZE(IDC_TD_REMOVE, ES_KEEPSIZE,IDC_LIST_SYN_SELTD,ES_BORDER,ES_KEEPSIZE,0)
|
||||
EASYSIZE(IDC_TD_UPLOAD, IDC_TD_REMOVE,IDC_LIST_SYN_SELTD,ES_BORDER,ES_KEEPSIZE,0)
|
||||
|
||||
EASYSIZE(IDC_CREATE, ES_BORDER,IDC_TREE_SYN_DMS,ES_KEEPSIZE,ES_KEEPSIZE,0)
|
||||
EASYSIZE(IDC_DMS_DEL, ES_BORDER,IDC_TREE_SYN_DMS,ES_KEEPSIZE,ES_KEEPSIZE,0)
|
||||
|
||||
END_EASYSIZE_MAP
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// COpSynTDDlg dialog
|
||||
extern HHOOK hHook;
|
||||
extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
COpSynTDDlg::COpSynTDDlg(CWnd* pParent /*=NULL*/)
|
||||
: CDialog(COpSynTDDlg::IDD, pParent)
|
||||
{
|
||||
//{{AFX_DATA_INIT(COpSynTDDlg)
|
||||
// NOTE: the ClassWizard will add member initialization here
|
||||
//}}AFX_DATA_INIT
|
||||
m_pDev = NULL;
|
||||
}
|
||||
|
||||
|
||||
void COpSynTDDlg::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CDialog::DoDataExchange(pDX);
|
||||
//{{AFX_DATA_MAP(COpSynTDDlg)
|
||||
// DDX_Control(pDX, IDC_TD_SEL, m_btnAdd);
|
||||
DDX_Control(pDX, IDC_LIST_SYN_TD, m_tdList);
|
||||
DDX_Control(pDX, IDC_LIST_SYN_SELTD, m_selTdList);
|
||||
DDX_Control(pDX, IDC_TREE_SYN_DMS, m_dmsTree);
|
||||
//}}AFX_DATA_MAP
|
||||
}
|
||||
|
||||
|
||||
BEGIN_MESSAGE_MAP(COpSynTDDlg, CDialog)
|
||||
//{{AFX_MSG_MAP(COpSynTDDlg)
|
||||
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_SYN_DMS, OnSelchangedTreeSynDms)
|
||||
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST_SYN_TD, OnItemchangedListSynTd)
|
||||
ON_BN_CLICKED(IDC_TD_SEL, OnTdSel)
|
||||
ON_BN_CLICKED(IDC_TD_REMOVE, OnTdRemove)
|
||||
ON_BN_CLICKED(IDC_CREATE, OnCreate)
|
||||
ON_BN_CLICKED(IDC_DMS_DEL, OnDmsDel)
|
||||
ON_BN_CLICKED(IDC_TD_DEL, OnTdDel)
|
||||
ON_BN_CLICKED(IDC_TD_UPLOAD, OnTdUpload)
|
||||
ON_WM_SIZE()
|
||||
ON_WM_PAINT()
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// COpSynTDDlg message handlers
|
||||
|
||||
BOOL COpSynTDDlg::OnInitDialog()
|
||||
{
|
||||
CDialog::OnInitDialog();
|
||||
|
||||
// TODO: Add extra initialization here
|
||||
InitULByLanguage(g_iUILanguage);
|
||||
CString strColTitle = _T("");
|
||||
int iColIndex = (int)VAL_ZERO;
|
||||
|
||||
m_dmsTree.ModifyStyle(0, TVS_HASLINES | TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_NOHSCROLL);
|
||||
|
||||
iColIndex = (int)VAL_ZERO;
|
||||
m_tdList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_GRIDLINES);
|
||||
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_SYN_ISSYNED+g_UIOffset);
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 100);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_NAME+g_UIOffset);
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 115);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_TTYPE+g_UIOffset);
|
||||
// strColTitle = _T("Test method");
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 93);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_STYPE+g_UIOffset);
|
||||
// strColTitle = _T("Script type");
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 93);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_CDATE+g_UIOffset);
|
||||
// strColTitle = _T("Create date");
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 93);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_CTIME+g_UIOffset);
|
||||
// strColTitle = _T("Create time");
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 88);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_CN+g_UIOffset);
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
// iColIndex++;
|
||||
// strColTitle.Empty();
|
||||
// strColTitle.LoadString(IDS_DB_PROJECT_PRNAME);
|
||||
// m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_PROJECT_CN+g_UIOffset);
|
||||
// strColTitle = _T("Project ID");
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
// iColIndex++;
|
||||
// strColTitle.Empty();
|
||||
// strColTitle.LoadString(IDS_DB_TZ_TZNAME);
|
||||
// m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TZ_CN+g_UIOffset);
|
||||
m_tdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
//新增一列用于存放大数据任务的子任务的TDCN
|
||||
iColIndex++;
|
||||
m_tdList.InsertColumn(iColIndex, _T(""), LVCFMT_LEFT, 0);
|
||||
|
||||
iColIndex = (int)VAL_ZERO;
|
||||
m_selTdList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP
|
||||
| LVS_EX_ONECLICKACTIVATE | LVS_EX_GRIDLINES );
|
||||
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_NAME+g_UIOffset);
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 135);
|
||||
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_TTYPE+g_UIOffset);
|
||||
// strColTitle = _T("Test method");
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 112);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_STYPE+g_UIOffset);
|
||||
// strColTitle = _T("Script type");
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 112);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_CDATE+g_UIOffset);
|
||||
// strColTitle = _T("Create date");
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 112);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_CTIME+g_UIOffset);
|
||||
// strColTitle = _T("Create time");
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 111);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TD_CN+g_UIOffset);
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
// iColIndex++;
|
||||
// strColTitle.Empty();
|
||||
// strColTitle.LoadString(IDS_DB_PROJECT_PRNAME);
|
||||
// m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_PROJECT_CN+g_UIOffset);
|
||||
// strColTitle = _T("Project ID");
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
// iColIndex++;
|
||||
// strColTitle.Empty();
|
||||
// strColTitle.LoadString(IDS_DB_TZ_TZNAME);
|
||||
// m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
iColIndex++;
|
||||
strColTitle.Empty();
|
||||
strColTitle.LoadString(IDS_DB_TZ_CN+g_UIOffset);
|
||||
m_selTdList.InsertColumn(iColIndex, strColTitle, LVCFMT_LEFT, 150);
|
||||
|
||||
//用于存放大数据的子任务的TDCN
|
||||
iColIndex++;
|
||||
m_selTdList.InsertColumn(iColIndex, _T(""), LVCFMT_LEFT, 0);
|
||||
|
||||
// HBITMAP hBitmap;
|
||||
// hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAP_ADD1)); // IDB_BITMAP_TEST为资源图片ID
|
||||
// ((CButton *)GetDlgItem(IDC_TD_SEL))->SetBitmap(hBitmap);
|
||||
//初始化自适应窗口控件
|
||||
INIT_EASYSIZE;
|
||||
// CRect rect;
|
||||
// GetDlgItem(IDC_TD_SEL)->GetWindowRect(&rect);
|
||||
// ScreenToClient(rect);
|
||||
// m_btnAdd.Create(_T("Add"),WS_VISIBLE | WS_CHILD, CRect(400,150,450,180), this, IDC_TD_SEL);
|
||||
// m_btnAdd.LoadImgByID(IDR_PNG_ADD);
|
||||
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnSelchangedTreeSynDms(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
|
||||
// TODO: Add your control notification handler code here
|
||||
CString ItemCN = _T("");
|
||||
HTREEITEM hTreeItem = NULL;
|
||||
|
||||
hTreeItem = this->m_dmsTree.GetSelectedItem();
|
||||
|
||||
if (0 != this->m_dmsTree.GetItemData(hTreeItem))
|
||||
{
|
||||
ItemCN = *(CString*)(this->m_dmsTree.GetItemData(hTreeItem));
|
||||
}
|
||||
|
||||
if (!ItemCN.IsEmpty())
|
||||
{
|
||||
if (NULL == this->m_dmsTree.GetParentItem(hTreeItem))
|
||||
{
|
||||
theApp.m_pTdManager->InitialTDListByProForSyn(this->m_tdList, this->m_pDev->m_szDevSN, ItemCN);
|
||||
}
|
||||
else
|
||||
{
|
||||
theApp.m_pTdManager->InitialTDListByTzForSyn(this->m_tdList, this->m_pDev->m_szDevSN, ItemCN);
|
||||
}
|
||||
}
|
||||
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
BOOL COpSynTDDlg::ClearAll()
|
||||
{
|
||||
theApp.m_pProManager->ClearDMSTreeForSyn(this->m_dmsTree);
|
||||
this->m_tdList.DeleteAllItems();
|
||||
this->m_selTdList.DeleteAllItems();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnItemchangedListSynTd(NMHDR* pNMHDR, LRESULT* pResult)
|
||||
{
|
||||
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
|
||||
// TODO: Add your control notification handler code here
|
||||
/*
|
||||
if (((pNMListView->uOldState & LVIS_SELECTED) == VAL_ZERO) && ((pNMListView->uNewState & LVIS_SELECTED) == LVIS_SELECTED))
|
||||
{
|
||||
if (1 == this->m_tdList.GetItemData(pNMListView->iItem))
|
||||
{
|
||||
this->m_tdList.SetItemState(pNMListView->iItem, 0, -1); //如果已同步,则不可选中
|
||||
}
|
||||
}
|
||||
*/
|
||||
*pResult = 0;
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnTdSel()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
LVFINDINFO info;
|
||||
|
||||
CString szTdCN = _T("");
|
||||
CString szTdName = _T("");
|
||||
CString szTType = _T("");
|
||||
CString szSType = _T("");
|
||||
CString szCDate = _T("");
|
||||
CString szCTime = _T("");
|
||||
CString szPrName = _T("");
|
||||
CString szPrCN = _T("");
|
||||
CString szTzName = _T("");
|
||||
CString szTzCN = _T("");
|
||||
CString strSubTaskCN = _T("");
|
||||
|
||||
int iItemIndex = (int)VAL_ZERO;
|
||||
POSITION pos = NULL;
|
||||
|
||||
int iSelItemIndex = (int)VAL_ZERO;
|
||||
|
||||
iSelItemIndex = this->m_selTdList.GetItemCount();
|
||||
pos = m_tdList.GetFirstSelectedItemPosition();
|
||||
while (pos)
|
||||
{
|
||||
iItemIndex = m_tdList.GetNextSelectedItem(pos);
|
||||
|
||||
szTdName.Empty();
|
||||
szTdName = m_tdList.GetItemText(iItemIndex, 1);
|
||||
szTType.Empty();
|
||||
szTType = m_tdList.GetItemText(iItemIndex, 2);
|
||||
szSType.Empty();
|
||||
szSType = m_tdList.GetItemText(iItemIndex, 3);
|
||||
szCDate.Empty();
|
||||
szCDate = m_tdList.GetItemText(iItemIndex, 4);
|
||||
szCTime.Empty();
|
||||
szCTime = m_tdList.GetItemText(iItemIndex, 5);
|
||||
// szPrName.Empty();
|
||||
// szPrName = m_tdList.GetItemText(iItemIndex, 6);
|
||||
szTdCN.Empty();
|
||||
szTdCN = m_tdList.GetItemText(iItemIndex, 6);
|
||||
szPrCN.Empty();
|
||||
szPrCN = m_tdList.GetItemText(iItemIndex, 7);
|
||||
// szTzName.Empty();
|
||||
// szTzName = m_tdList.GetItemText(iItemIndex, 8);
|
||||
szTzCN.Empty();
|
||||
szTzCN = m_tdList.GetItemText(iItemIndex, 8);
|
||||
|
||||
strSubTaskCN.Empty();
|
||||
strSubTaskCN = m_tdList.GetItemText(iItemIndex, 9);
|
||||
// info.flags = LVFI_PARTIAL | LVFI_STRING;
|
||||
// //info.flags = LVFI_WRAP | LVFI_STRING;
|
||||
// info.psz = szTdCN;
|
||||
|
||||
if (!FindSelListItem(5,szTdCN))
|
||||
{
|
||||
this->m_selTdList.InsertItem(iSelItemIndex, szTdName);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 1, szTType);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 2, szSType);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 3, szCDate);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 4, szCTime);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 5, szTdCN);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 6, szPrCN);
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 7, szTzCN);
|
||||
if (!strSubTaskCN.IsEmpty())
|
||||
this->m_selTdList.SetItemText(iSelItemIndex, 8, strSubTaskCN);
|
||||
// this->m_selTdList.SetItemText(iSelItemIndex, 5, szPrName);
|
||||
// this->m_selTdList.SetItemText(iSelItemIndex, 6, szPrCN);
|
||||
// this->m_selTdList.SetItemText(iSelItemIndex, 7, szTzName);
|
||||
// this->m_selTdList.SetItemText(iSelItemIndex, 8, szTzCN);
|
||||
|
||||
iSelItemIndex++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
bool COpSynTDDlg::FindSelListItem(int iColumn, CString strText)
|
||||
{
|
||||
// strTex
|
||||
strText.TrimLeft();
|
||||
strText.TrimRight();
|
||||
CString strTmp = _T("");
|
||||
for (int i = 0; i < m_selTdList.GetItemCount(); i++)
|
||||
{
|
||||
strTmp = m_selTdList.GetItemText(i, iColumn);
|
||||
strTmp.TrimLeft();
|
||||
strTmp.TrimRight();
|
||||
if (0 == strTmp.Compare(strText))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnTdRemove()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
UINT iSelItemIndex = (int)VAL_ZERO;
|
||||
|
||||
while (m_selTdList.GetNextItem(-1, LVNI_ALL | LVNI_SELECTED) != -1) //删除CListCtrl选中的多行
|
||||
{
|
||||
iSelItemIndex = m_selTdList.GetNextItem(-1, LVNI_ALL | LVNI_SELECTED);
|
||||
m_selTdList.DeleteItem(iSelItemIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnCreate()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
|
||||
if (NULL != m_pDev)
|
||||
{
|
||||
UINT uiRes = theApp.m_pProManager->CreateDMSInDev(this->m_pDev->m_szDevSN, m_pDev);
|
||||
if (APP_SUCCESS == uiRes)
|
||||
{
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("工程下发成功."));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Download project to mainframe success!"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
}
|
||||
else if (APP_DEFAULT == uiRes)
|
||||
{
|
||||
|
||||
}
|
||||
else if (APP_CANCLE != uiRes)
|
||||
{
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("工程下发失败."));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Download project to mainframe failed!"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
}
|
||||
|
||||
theApp.m_pProManager->ClearDMSTreeForSyn(m_dmsTree);
|
||||
theApp.m_pProManager->InitialDMSTreeForSyn(m_dmsTree, m_pDev->m_szDevSN);
|
||||
}
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnDmsDel()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
CString szPrCN = _T("");
|
||||
CString szTzCN = _T("");
|
||||
// CString szMac = _T("");
|
||||
|
||||
int nChildrenCount = 0;
|
||||
HTREEITEM hChildItem = NULL;
|
||||
|
||||
HTREEITEM hTreeItem = NULL;
|
||||
HTREEITEM hParentItem = NULL;
|
||||
HTREEITEM hCurrItem = NULL;
|
||||
|
||||
hTreeItem = this->m_dmsTree.GetSelectedItem();
|
||||
hParentItem = this->m_dmsTree.GetParentItem(hTreeItem);
|
||||
|
||||
if (hParentItem)
|
||||
{
|
||||
hChildItem = m_dmsTree.GetChildItem(hParentItem);
|
||||
while (hChildItem)
|
||||
{
|
||||
nChildrenCount ++;
|
||||
hChildItem = m_dmsTree.GetNextSiblingItem(hChildItem);
|
||||
}
|
||||
}
|
||||
|
||||
if (NULL != hTreeItem)
|
||||
{
|
||||
int nRet = 0;
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
nRet = AfxMessageBox(_T("是否要删除数据?"), MB_YESNO | MB_ICONINFORMATION);
|
||||
else
|
||||
nRet = MessageBoxEx(NULL, _T("Do you want to delete data?"), STRING_MESSAGEBOXEX_TITLE, MB_YESNO | MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
|
||||
if (IDYES != nRet)
|
||||
{
|
||||
return;
|
||||
}
|
||||
this->m_tdList.DeleteAllItems();
|
||||
this->m_selTdList.DeleteAllItems();
|
||||
|
||||
if ((NULL == hParentItem) || ((NULL != hParentItem) && ((int)VAL_ONE == nChildrenCount)))
|
||||
{
|
||||
if (NULL != hParentItem)
|
||||
{
|
||||
hTreeItem = hParentItem;
|
||||
}
|
||||
|
||||
szPrCN = *((CString*)this->m_dmsTree.GetItemData(hTreeItem));
|
||||
|
||||
if (APP_SUCCESS == theApp.m_pProManager->DeleteProjectInDev(g_szMacAddress, szPrCN, m_pDev))
|
||||
{
|
||||
hCurrItem = this->m_dmsTree.GetChildItem(hTreeItem);
|
||||
while (NULL != hCurrItem)
|
||||
{
|
||||
delete (CString*)(this->m_dmsTree.GetItemData(hCurrItem));
|
||||
this->m_dmsTree.SetItemData(hCurrItem, 0);
|
||||
|
||||
hCurrItem = this->m_dmsTree.GetNextSiblingItem(hCurrItem);
|
||||
}
|
||||
|
||||
delete (CString*)(this->m_dmsTree.GetItemData(hTreeItem));
|
||||
this->m_dmsTree.SetItemData(hTreeItem, 0);
|
||||
|
||||
this->m_dmsTree.DeleteItem(hTreeItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
MessageBox(_T("删除工程失败!"));
|
||||
else
|
||||
MessageBox("Delete project failed!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
szPrCN = *((CString*)this->m_dmsTree.GetItemData(hParentItem));
|
||||
szTzCN = *((CString*)this->m_dmsTree.GetItemData(hTreeItem));
|
||||
|
||||
if (APP_SUCCESS == theApp.m_pProManager->DeleteTzInDev(szPrCN, szTzCN, m_pDev))
|
||||
{
|
||||
delete (CString*)(this->m_dmsTree.GetItemData(hTreeItem));
|
||||
this->m_dmsTree.SetItemData(hTreeItem, 0);
|
||||
this->m_dmsTree.DeleteItem(hTreeItem);
|
||||
}
|
||||
else
|
||||
{
|
||||
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
|
||||
MessageBox("Delete testingzone failed!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnTdDel()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
|
||||
|
||||
|
||||
LVFINDINFO info;
|
||||
|
||||
CString szTdCN = _T("");
|
||||
CString szPrCN = _T("");
|
||||
CString szTzCN = _T("");
|
||||
|
||||
int iItemIndex = (int)VAL_ZERO;
|
||||
POSITION pos = NULL;
|
||||
|
||||
int iSelItemIndex = (int)VAL_ZERO;
|
||||
|
||||
// iSelItemIndex = this->m_selTdList.GetItemCount();
|
||||
|
||||
pos = m_tdList.GetFirstSelectedItemPosition();
|
||||
if (NULL == pos)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int nRet = 0;
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
nRet = AfxMessageBox(_T("是否要删除任务?"), MB_YESNO);
|
||||
else
|
||||
nRet = MessageBoxEx(NULL, _T("Delete the task?"), STRING_MESSAGEBOXEX_TITLE, MB_YESNO, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
if (IDYES != nRet)
|
||||
return;
|
||||
|
||||
//临时写法
|
||||
CStringArray array;
|
||||
//
|
||||
while (pos)
|
||||
{
|
||||
iItemIndex = m_tdList.GetNextSelectedItem(pos);
|
||||
|
||||
szTdCN.Empty();
|
||||
szTdCN = m_tdList.GetItemText(iItemIndex, 6);
|
||||
|
||||
szPrCN.Empty();
|
||||
szPrCN = m_tdList.GetItemText(iItemIndex, 7);
|
||||
|
||||
szTzCN.Empty();
|
||||
szTzCN = m_tdList.GetItemText(iItemIndex, 8);
|
||||
//临时写法
|
||||
array.Add(szTzCN);
|
||||
//
|
||||
if (TRUE == theApp.m_pTdManager->DeleteTdInDev(szPrCN, szTzCN, szTdCN, m_pDev))
|
||||
{
|
||||
//本来是下面的代码,但是不起作用,暂时替换写法
|
||||
// InitialTDListByTzForSyn
|
||||
/*
|
||||
info.flags = LVFI_PARTIAL | LVFI_STRING;
|
||||
info.psz = szTdCN;
|
||||
|
||||
iSelItemIndex = (int)VAL_ZERO;
|
||||
iSelItemIndex = m_selTdList.FindItem(&info);
|
||||
|
||||
if (-1 != iSelItemIndex)
|
||||
{
|
||||
this->m_selTdList.DeleteItem(iSelItemIndex);
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
CString ItemCN = _T("");
|
||||
HTREEITEM hTreeItem = NULL;
|
||||
|
||||
hTreeItem = this->m_dmsTree.GetSelectedItem();
|
||||
|
||||
if (0 != this->m_dmsTree.GetItemData(hTreeItem))
|
||||
{
|
||||
ItemCN = *(CString*)(this->m_dmsTree.GetItemData(hTreeItem));
|
||||
}
|
||||
|
||||
if (!ItemCN.IsEmpty())
|
||||
{
|
||||
if (NULL == this->m_dmsTree.GetParentItem(hTreeItem))
|
||||
{
|
||||
theApp.m_pTdManager->InitialTDListByProForSyn(this->m_tdList, this->m_pDev->m_szDevSN, ItemCN);
|
||||
}
|
||||
else
|
||||
{
|
||||
theApp.m_pTdManager->InitialTDListByTzForSyn(this->m_tdList, this->m_pDev->m_szDevSN, ItemCN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnTdUpload()
|
||||
{
|
||||
// TODO: Add your control notification handler code here
|
||||
CString szTdCN = _T("");
|
||||
CString szSubTdCN = _T("");//用于大数据任务存放子任务的TDCN
|
||||
CString szPrCN = _T("");
|
||||
CString szTzCN = _T("");
|
||||
CString szTestMethod = _T("");
|
||||
CString szTmp = _T("");
|
||||
|
||||
int iItemIndex = (int)VAL_ZERO;
|
||||
POSITION pos = NULL;
|
||||
CString strTaskName = _T("");
|
||||
|
||||
if (this->m_selTdList.GetItemCount() != 0)
|
||||
{
|
||||
::SetCursor(::LoadCursor(NULL, IDC_WAIT));
|
||||
|
||||
while (iItemIndex < this->m_selTdList.GetItemCount())
|
||||
{
|
||||
szTdCN.Empty();
|
||||
szTdCN = m_selTdList.GetItemText(iItemIndex, 5);
|
||||
|
||||
szPrCN.Empty();
|
||||
szPrCN = m_selTdList.GetItemText(iItemIndex, 6);
|
||||
|
||||
szTzCN.Empty();
|
||||
szTzCN = m_selTdList.GetItemText(iItemIndex, 7);
|
||||
|
||||
szSubTdCN.Empty();
|
||||
szSubTdCN = m_selTdList.GetItemText(iItemIndex, 8);
|
||||
|
||||
theApp.m_pProManager->LoadTzFromDev(szPrCN, szTzCN, m_pDev);
|
||||
|
||||
//----------------------判断任务是否存在---------------------------
|
||||
szTestMethod.Empty();
|
||||
szTestMethod = m_selTdList.GetItemText(iItemIndex, 1);
|
||||
DWORD TdId = 0;
|
||||
if (!theApp.m_pTdManager->CheckTdExist(szPrCN, szTzCN, szTdCN, m_pDev,&TdId))
|
||||
{
|
||||
//该任务存在
|
||||
strTaskName.Empty();
|
||||
strTaskName = m_selTdList.GetItemText(iItemIndex, 0);
|
||||
szTmp.Empty();
|
||||
int nRet = 0;
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
{
|
||||
szTmp.Format(_T("任务 \"%s\" 已经存在, 是否要覆盖?"), strTaskName);
|
||||
nRet = AfxMessageBox(szTmp, MB_YESNO);
|
||||
}
|
||||
else
|
||||
{
|
||||
szTmp.Format(_T("The task \"%s\" existed, do you want to replace?"), strTaskName);
|
||||
nRet = MessageBoxEx(NULL, szTmp, STRING_MESSAGEBOXEX_TITLE, MB_YESNO, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));;
|
||||
}
|
||||
|
||||
if (nRet == IDYES)
|
||||
{
|
||||
if (szTestMethod == "Resistivity")
|
||||
{
|
||||
if (_T("VES") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteRspCETd(TdId);
|
||||
else if (_T("ERI") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteRsp2DTd(TdId);
|
||||
else if (_T("ERT") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteRsp3DTd(TdId);
|
||||
}
|
||||
|
||||
else if(szTestMethod == "Induced polarization")
|
||||
{
|
||||
if (_T("VES") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteIpspCETd(TdId);
|
||||
else if (_T("ERI") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteIpsp2DTd(TdId);
|
||||
else if (_T("ERT") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteIpsp3DTd(TdId);
|
||||
}
|
||||
|
||||
else if(szTestMethod == "Self-potential")
|
||||
{
|
||||
if (_T("VES") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteSPCETd(TdId);
|
||||
else if (_T("ERI") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteSP2DTd(TdId);
|
||||
else if (_T("ERT") == szTdCN.Left(3))
|
||||
theApp.m_pTdManager->DeleteSP3DTd(TdId);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//不覆盖,返回
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------判断任务是否存在---------------------------
|
||||
if (_T("VES") == szTdCN.Left(3))
|
||||
{
|
||||
if (TRUE != theApp.m_pTdManager->UploadCETdFromDev(szPrCN, szTzCN, szTdCN, szSubTdCN, m_pDev))
|
||||
{
|
||||
::SetCursor(::LoadCursor(NULL, IDC_ARROW));
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("同步任务失败."));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Upload task failed!"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
else if (_T("ERI") == szTdCN.Left(3))
|
||||
{
|
||||
if (TRUE == theApp.m_pTdManager->Upload2DTdFromDev(szPrCN, szTzCN, szTdCN, szSubTdCN, m_pDev))
|
||||
{
|
||||
/*
|
||||
if (TRUE == this->m_selTdList.GetCheck(iItemIndex))
|
||||
{
|
||||
if (FALSE == theApp.m_pTdManager->DeleteTdInDev(szPrCN, szTzCN, szTdCN, m_pDev))
|
||||
{
|
||||
::SetCursor(::LoadCursor(NULL, IDC_ARROW));
|
||||
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
|
||||
MessageBox(_T("Delete testing data " + szTdCN + " failed!"));
|
||||
::SetCursor(::LoadCursor(NULL, IDC_WAIT));
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("同步任务失败."));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Upload task failed!"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
::SetCursor(::LoadCursor(NULL, IDC_ARROW));
|
||||
return;
|
||||
}
|
||||
}
|
||||
//waston
|
||||
else if (_T("ERT") == szTdCN.Left(3))
|
||||
{
|
||||
if (TRUE == theApp.m_pTdManager->Upload3DTdFromDev(szPrCN, szTzCN, szTdCN, szSubTdCN, m_pDev))
|
||||
{
|
||||
/*选了那个钩钩,机器上的测试任务就会被删掉
|
||||
if (TRUE == this->m_selTdList.GetCheck(iItemIndex))
|
||||
{
|
||||
if (FALSE == theApp.m_pTdManager->DeleteTdInDev(szPrCN, szTzCN, szTdCN, m_pDev))
|
||||
{
|
||||
::SetCursor(::LoadCursor(NULL, IDC_ARROW));
|
||||
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
|
||||
MessageBox(_T("Delete testing data " + szTdCN + " failed!"));
|
||||
::SetCursor(::LoadCursor(NULL, IDC_WAIT));
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("同步任务失败."));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Upload task failed!"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
::SetCursor(::LoadCursor(NULL, IDC_ARROW));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else if (_T("WEL") == szTdCN.Left(3))
|
||||
{
|
||||
BOOL bRes = theApp.m_pTdManager->UploadWellTdFromDev(szPrCN, szTzCN, szTdCN, szSubTdCN, m_pDev);
|
||||
if (!bRes)
|
||||
{
|
||||
if (LANG_ZHCN == g_iUILanguage)
|
||||
AfxMessageBox(_T("同步任务失败."));
|
||||
else
|
||||
MessageBoxEx(NULL, _T("Upload task failed!"), STRING_MESSAGEBOXEX_TITLE, MB_OK, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
||||
::SetCursor(::LoadCursor(NULL, IDC_ARROW));
|
||||
return;
|
||||
}
|
||||
}
|
||||
//waston
|
||||
|
||||
iItemIndex++;
|
||||
}
|
||||
::SendMessage(AfxGetMainWnd()->m_hWnd, WM_REFRESH, (WPARAM)OP_TD_SYN, (LPARAM)VAL_ZERO);
|
||||
m_selTdList.DeleteAllItems();
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
//added by lsq 20160407
|
||||
//刷新同步的任务列表,使得可以实时刷新
|
||||
CString ItemCN = _T("");
|
||||
HTREEITEM hTreeItem = NULL;
|
||||
|
||||
hTreeItem = this->m_dmsTree.GetSelectedItem();
|
||||
if (NULL != hTreeItem)
|
||||
{
|
||||
if (0 != this->m_dmsTree.GetItemData(hTreeItem))
|
||||
{
|
||||
ItemCN = *(CString*)(this->m_dmsTree.GetItemData(hTreeItem));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!ItemCN.IsEmpty())
|
||||
{
|
||||
if (NULL == this->m_dmsTree.GetParentItem(hTreeItem))
|
||||
{
|
||||
theApp.m_pTdManager->InitialTDListByProForSyn(this->m_tdList, this->m_pDev->m_szDevSN, ItemCN);
|
||||
}
|
||||
else
|
||||
{
|
||||
theApp.m_pTdManager->InitialTDListByTzForSyn(this->m_tdList, this->m_pDev->m_szDevSN, ItemCN);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BOOL COpSynTDDlg::PreTranslateMessage(MSG* pMsg)
|
||||
{
|
||||
// TODO: Add your specialized code here and/or call the base class
|
||||
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_RETURN)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if(pMsg->message==WM_KEYDOWN && pMsg->wParam==VK_ESCAPE)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
return CDialog::PreTranslateMessage(pMsg);
|
||||
}
|
||||
|
||||
void COpSynTDDlg::OnSize(UINT nType, int cx, int cy)
|
||||
{
|
||||
CDialog::OnSize(nType, cx, cy);
|
||||
UPDATE_EASYSIZE;
|
||||
|
||||
// TODO: Add your message handler code here
|
||||
|
||||
}
|
||||
|
||||
|
||||
void COpSynTDDlg::OnPaint()
|
||||
{
|
||||
CPaintDC dc(this); // device context for painting
|
||||
|
||||
// TODO: Add your message handler code here
|
||||
|
||||
// Do not call CDialog::OnPaint() for painting messages
|
||||
}
|
||||
void COpSynTDDlg::InitULByLanguage(int iLanguage)
|
||||
{
|
||||
if (LANG_ZHCN == iLanguage)
|
||||
{
|
||||
GetDlgItem(IDC_STATIC_DEVICE_PRO)->SetWindowText(_T("主机设备中的工程"));
|
||||
GetDlgItem(IDC_STATIC_DEVICE_TASK)->SetWindowText(_T("主机设备中的任务"));
|
||||
GetDlgItem(IDC_STATIC_UPLOADED)->SetWindowText(_T("需要上传到Geomative Studio的任务列表"));
|
||||
GetDlgItem(IDC_TD_SEL)->SetWindowText(_T("增加"));
|
||||
GetDlgItem(IDC_TD_DEL)->SetWindowText(_T("删除"));
|
||||
GetDlgItem(IDC_TD_UPLOAD)->SetWindowText(_T("上传"));
|
||||
GetDlgItem(IDC_TD_REMOVE)->SetWindowText(_T("移除"));
|
||||
GetDlgItem(IDC_CREATE)->SetWindowText(_T(" 新工程"));
|
||||
GetDlgItem(IDC_DMS_DEL)->SetWindowText(_T(" 删除工程"));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user