886 lines
25 KiB
C++
886 lines
25 KiB
C++
// 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(" 删除工程"));
|
|
}
|
|
}
|