160 lines
3.5 KiB
C++
160 lines
3.5 KiB
C++
#include "stdafx.h"
|
|
#include "EquToDbDlg.h"
|
|
#include "EquipManaOperator.h"
|
|
#include "EquBand2D.h"
|
|
#include "EarThwormDef.h"
|
|
|
|
IMPLEMENT_DYNAMIC(CEquToDbDlg, CDialog)
|
|
|
|
CEquToDbDlg::CEquToDbDlg(LPCTSTR prefix, CWnd* pParent /*=NULL*/)
|
|
: CDialog(CEquToDbDlg::IDD, pParent)
|
|
, m_sClass(_T(""))
|
|
, m_sFolder(_T(""))
|
|
, m_sRem(_T(""))
|
|
, m_sPrefix(prefix)
|
|
{
|
|
m_pDb = new CUIISQLiteServer;
|
|
}
|
|
|
|
CEquToDbDlg::~CEquToDbDlg()
|
|
{
|
|
if (m_pDb != NULL)
|
|
{
|
|
DELETE_PTR(m_pDb);
|
|
}
|
|
}
|
|
|
|
void CEquToDbDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_CBString(pDX, IDC_COMBOCLASS, m_sClass);
|
|
DDX_CBString(pDX, IDC_COMBOFOLDER, m_sFolder);
|
|
DDX_Text(pDX, IDC_EDITREM, m_sRem);
|
|
DDX_Control(pDX, IDC_COMBOFOLDER, m_wndComboFolder);
|
|
DDX_Control(pDX, IDC_COMBOCLASS, m_wndComboClass);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CEquToDbDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CEquToDbDlg::OnBnClickedOk)
|
|
ON_CBN_SELCHANGE(IDC_COMBOFOLDER, &CEquToDbDlg::OnCbnSelchangeCombofolder)
|
|
END_MESSAGE_MAP()
|
|
|
|
void CEquToDbDlg::SetEquTempFile(LPCTSTR pszFile,LPCTSTR pszName)
|
|
{
|
|
m_sName = pszName;
|
|
m_sEquTmplFile = pszFile;
|
|
}
|
|
|
|
void CEquToDbDlg::SetEquBimDatas(SH_BIM_BLOCK &bims)
|
|
{
|
|
m_bims.clear();
|
|
m_bims = bims;
|
|
}
|
|
|
|
BOOL CEquToDbDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
//Plumbing.mdb
|
|
CString szMdbFile = FilePath::GetSysDir() + _T("\\Aec3DMep.db");
|
|
|
|
if(_taccess(szMdbFile, 0x00) != 0x00)
|
|
{
|
|
AfxMessageBox(_T("系统没有找到Aec3DMep.db文件!请检查软件是否正确安装!"));
|
|
return FALSE;
|
|
}
|
|
|
|
BOOL bSuccess = m_pDb->InitADOServer(szMdbFile);
|
|
|
|
if (!bSuccess)
|
|
{
|
|
AfxMessageBox(_T("数据库驱动加载数据库Aec3DMep.mdb失败!"));
|
|
return FALSE;
|
|
}
|
|
|
|
//使用mdb 数据库
|
|
ReadFolderAndClass();
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CEquToDbDlg::ReadFolderAndClass()
|
|
{
|
|
CString sSQL;
|
|
//sSQL = _T("select folder from aec_folder");
|
|
sSQL.Format(_T("select folder from %sfolder"), m_sPrefix);
|
|
|
|
CStringArray arFolders;
|
|
m_pDb->GetSelData(sSQL,arFolders);
|
|
for (int i = 0;i < arFolders.GetSize();i++)
|
|
{
|
|
m_wndComboFolder.InsertString(i,arFolders.GetAt(i));
|
|
}
|
|
}
|
|
|
|
void CEquToDbDlg::OnBnClickedOk()
|
|
{
|
|
UpdateData();
|
|
|
|
m_sFolder.TrimRight();
|
|
m_sClass.TrimRight();
|
|
if (m_sFolder.IsEmpty() || m_sClass.IsEmpty())
|
|
{
|
|
AfxMessageBox(_T("目录名和分类名不能为空!请输入目录和分类名称!"));
|
|
return;
|
|
}
|
|
|
|
CString sIDPackage(_T(""));
|
|
CEquipManaOperator equOper(m_sPrefix);
|
|
equOper.SetAdoDb(m_pDb);
|
|
if (!equOper.PutPackageToDb(
|
|
m_sFolder
|
|
,m_sClass
|
|
,m_sName
|
|
,m_sRem
|
|
,m_sEquTmplFile
|
|
, &sIDPackage
|
|
, m_bims.empty() ? NULL : &m_bims ))
|
|
{
|
|
AfxMessageBox(_T("设备入库失败。"));
|
|
EndDialog(IDOK);
|
|
}
|
|
|
|
//if (AfxMessageBox(_T("设备入库成功,是否为此设备绑定剖面?"), MB_YESNO) != IDYES)
|
|
//{
|
|
// EndDialog(IDOK);
|
|
// return;
|
|
//}
|
|
//PipelineTools::updateEquSection(m_pDb, sIDPackage);
|
|
|
|
EndDialog(IDOK);
|
|
}
|
|
|
|
void CEquToDbDlg::OnCbnSelchangeCombofolder()
|
|
{
|
|
int nCursel = m_wndComboFolder.GetCurSel();
|
|
if (nCursel != -1)
|
|
{
|
|
CString sFolder;
|
|
m_wndComboFolder.GetLBText(nCursel,sFolder);
|
|
|
|
CString sSQL,sid;
|
|
//sSQL.Format(_T("select id from aec_folder where folder='%s'"),sFolder);
|
|
sSQL.Format(_T("select id from %sfolder where folder='%s'"), m_sPrefix,sFolder);
|
|
m_pDb->GetSelData(sSQL,sid);
|
|
|
|
m_wndComboClass.ResetContent();
|
|
//sSQL.Format(_T("select class from aec_class where idfolder='%s'"),sid);
|
|
sSQL.Format(_T("select class from %sclass where idfolder='%s'"), m_sPrefix,sid);
|
|
|
|
CStringArray arClass;
|
|
m_pDb->GetSelData(sSQL,arClass);
|
|
for (int i = 0;i < arClass.GetSize();i++)
|
|
{
|
|
m_wndComboClass.InsertString(i,arClass.GetAt(i));
|
|
}
|
|
|
|
if (arClass.GetSize() > 0) m_wndComboClass.SetCurSel(0);
|
|
}
|
|
}
|