Files
envi-code/SourceCode/Code2026/PipelineCmd/EquToDbDlg.cpp
T
gjm 164968b62e chore
把非utf8-bom编码的cpp/h文件改为 utf8 bom 编码, msvc识别utf8编码时,如果不是bom格式的,会使用当前cp_oem来解码.
2026-10-04 00:04:20 +08:00

160 lines
3.6 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);
}
}