631 lines
16 KiB
C++
631 lines
16 KiB
C++
#include "stdafx.h"
|
|
#include "coretools.h"
|
|
#include "FlangeDlg.h"
|
|
#include "GasketDlg.h"
|
|
#include "FlangeRecDlg.h"
|
|
|
|
extern int getMaxIDFromDB(LPCTSTR pszField, LPCTSTR pszTbl, CUIISQLiteServer *pDb);
|
|
|
|
IMPLEMENT_DYNAMIC(CFlangeDlg, CDialog)
|
|
|
|
CFlangeDlg::CFlangeDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CFlangeDlg::IDD, pParent)
|
|
{
|
|
m_dPressure = 1.0;
|
|
m_nDN = 100;
|
|
m_pDb = NULL;
|
|
m_sLevel = _T("");
|
|
m_sPro = _T("");
|
|
}
|
|
|
|
CFlangeDlg::~CFlangeDlg()
|
|
{
|
|
}
|
|
|
|
void CFlangeDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_LISTFLANGE, m_wndListFlange);
|
|
DDX_Control(pDX, IDC_LISTGASKET, m_wndListGasket);
|
|
DDX_Control(pDX, IDC_COMBOPRE, m_wndComboPre);
|
|
DDX_Control(pDX, IDC_LIST1, m_wndFlangeEndF1);
|
|
}
|
|
|
|
BEGIN_MESSAGE_MAP(CFlangeDlg, CDialog)
|
|
ON_BN_CLICKED(IDOK, &CFlangeDlg::OnBnClickedOk)
|
|
ON_BN_CLICKED(IDC_BUTTON3,&CFlangeDlg::OnAddFlange)
|
|
ON_BN_CLICKED(IDC_BUTTON1, &CFlangeDlg::OnAddGasket)
|
|
ON_BN_CLICKED(IDC_DEL_GASKET, &CFlangeDlg::OnRemoveGasket)
|
|
ON_BN_CLICKED(IDC_MODIFY_GASKET, &CFlangeDlg::OnModifyGasket)
|
|
ON_BN_CLICKED(IDC_DEL_FLANGE, &CFlangeDlg::OnRemoveFlange)
|
|
ON_BN_CLICKED(IDC_MODIFY_FLANGE, &CFlangeDlg::OnModifyFlange)
|
|
END_MESSAGE_MAP()
|
|
|
|
void CFlangeDlg::SetPressure(double dPre)
|
|
{
|
|
m_dPressure = dPre;
|
|
}
|
|
|
|
void CFlangeDlg::SetLevel(LPCTSTR pszODNo, LPCTSTR pszPro, LPCTSTR pszLevel)
|
|
{
|
|
m_sLevel = pszLevel;
|
|
m_sPro = pszPro;
|
|
}
|
|
|
|
void CFlangeDlg::SetDN(int nDn)
|
|
{
|
|
m_nDN = nDn;
|
|
}
|
|
|
|
void CFlangeDlg::GetFlangeValues(CStringArray& arValues)
|
|
{
|
|
arValues.Append(m_arFlangeVals);
|
|
}
|
|
|
|
void CFlangeDlg::GetGasketValues(CStringArray& arValues)
|
|
{
|
|
arValues.Append(m_arGasketVals);
|
|
}
|
|
|
|
BOOL CFlangeDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
m_wndListFlange.InsertColumn(0,_T("公称直径"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(1,_T("法兰外径"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(2,_T("法兰高度"),LVCFMT_LEFT,100,80); m_wndListFlange.InsertColumn(3,_T("法兰厚度"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(3,_T("法兰厚度"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(4,_T("法兰颈"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(5,_T("法兰类型"),LVCFMT_LEFT,100,80);
|
|
//m_wndListFlange.InsertColumn(6,_T("端面"),LVCFMT_LEFT,100,80);
|
|
|
|
m_wndListFlange.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
|
|
|
m_wndListGasket.InsertColumn(0,_T("公称直径"),LVCFMT_LEFT,100,80);
|
|
m_wndListGasket.InsertColumn(1,_T("材质"),LVCFMT_LEFT,100,80);
|
|
m_wndListGasket.InsertColumn(2,_T("压力"),LVCFMT_LEFT,50,50);
|
|
m_wndListGasket.InsertColumn(3,_T("垫片厚度"),LVCFMT_LEFT,50,50);
|
|
m_wndListGasket.InsertColumn(4,_T("描述"),LVCFMT_LEFT,200,200);
|
|
m_wndListGasket.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
|
|
|
ShowFlange();
|
|
|
|
ShowGasket();
|
|
|
|
if (m_nDN <= 2000)
|
|
{
|
|
CWnd *pWnd(NULL);
|
|
pWnd = GetDlgItem(IDC_MODIFY_FLANGE);
|
|
if (pWnd) pWnd->ShowWindow(SW_HIDE);
|
|
|
|
pWnd = GetDlgItem(IDC_MODIFY_GASKET);
|
|
if (pWnd) pWnd->ShowWindow(SW_HIDE);
|
|
|
|
pWnd = GetDlgItem(IDC_DEL_GASKET);
|
|
if (pWnd) pWnd->ShowWindow(SW_HIDE);
|
|
|
|
pWnd = GetDlgItem(IDC_DEL_FLANGE);
|
|
if (pWnd) pWnd->ShowWindow(SW_HIDE);
|
|
|
|
}
|
|
|
|
m_wndComboPre.SetCurSel(0);//?? 常压
|
|
CString sText;
|
|
for (int i = 0;i < m_wndComboPre.GetCount();i++)
|
|
{
|
|
m_wndComboPre.GetLBText(i,sText);
|
|
if (fabs(m_dPressure - _ttof(sText)) < 1.e-3)
|
|
{
|
|
m_wndComboPre.SetCurSel(i);
|
|
break;
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
void CFlangeDlg::ShowFlange()
|
|
{
|
|
/*!!! 此处为得到所有满足条件的法兰,所以无法使用 CoreTools::QueryFlangData() 函数 !!!*/
|
|
|
|
CString sSQL,sTemp;
|
|
|
|
if (m_sLevel.IsEmpty())//没有等级
|
|
{
|
|
sSQL.Format(_T("select [公称直径],[法兰外径],[法兰高度],[法兰厚度],[法兰颈],[法兰类型] from AecFlangeData \
|
|
where [公称直径]=%d and [压力]>%.1f and [压力]<%.1f"),m_nDN,m_dPressure - 0.1,m_dPressure + 0.1);
|
|
|
|
}
|
|
else
|
|
{
|
|
//项目 等级 压力 -->标准号
|
|
sSQL.Format(_T("select DISTINCT [标准号] from AecSpecFlange where [项目名称]='%s' and [等级名称]='%s' and [类别]='法兰' and [压力]>%.1f and [压力]<%.1f "),
|
|
m_sPro,m_sLevel, m_dPressure - 0.1, m_dPressure + 0.1);
|
|
|
|
|
|
CString sStd;
|
|
m_pDb->GetSelData(sSQL, sStd);
|
|
if (sStd.IsEmpty())
|
|
{
|
|
sSQL.Format(_T("select [公称直径],[法兰外径],[法兰高度],[法兰厚度],[法兰颈],[法兰类型] from AecFlangeData \
|
|
where [公称直径]=%d and [压力]>%.1f and [压力]<%.1f"), m_nDN, m_dPressure - 0.1, m_dPressure + 0.1);
|
|
}
|
|
else
|
|
{
|
|
sSQL.Format(_T("select [公称直径],[法兰外径],[法兰高度],[法兰厚度],[法兰颈],[法兰类型] from AecFlangeData \
|
|
where [公称直径]=%d and [标准号]='%s' and [压力]>%.1f and [压力]<%.1f"), m_nDN, sStd,m_dPressure - 0.1, m_dPressure + 0.1);
|
|
}
|
|
}
|
|
|
|
m_wndListFlange.DeleteAllItems();
|
|
|
|
std::vector<std::vector<CString>> ars;
|
|
m_pDb->GetSelDataEx(sSQL, ars);
|
|
|
|
if (!ars.empty())
|
|
{
|
|
for (size_t i(0); i < ars.size(); ++i)
|
|
{
|
|
std::vector<CString> ss(ars[i]);
|
|
if (ss.size() < 6) continue;
|
|
|
|
int idx = m_wndListFlange.InsertItem(0, ss[0]);
|
|
m_wndListFlange.SetItemText(idx, 1, ss[1]);
|
|
m_wndListFlange.SetItemText(idx, 2, ss[2]);
|
|
m_wndListFlange.SetItemText(idx, 3, ss[3]);
|
|
m_wndListFlange.SetItemText(idx, 4, ss[4]);
|
|
m_wndListFlange.SetItemText(idx, 5, ss[5]);
|
|
//m_wndListFlange.SetItemText(idx, 6, ss[6]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
//按1.0查询
|
|
sSQL.Format(_T("select [公称直径],[法兰外径],[法兰高度],[法兰厚度],[法兰颈],[法兰类型] from AecFlangeData \
|
|
where [公称直径]=%d and [压力]>%.1f and [压力]<%.1f"), m_nDN, 0.8, 1.1);
|
|
m_pDb->GetSelDataEx(sSQL, ars);
|
|
|
|
if (!ars.empty())
|
|
{
|
|
for (size_t i(0); i < ars.size(); ++i)
|
|
{
|
|
std::vector<CString> ss(ars[i]);
|
|
if (ss.size() < 6) continue;
|
|
|
|
int idx = m_wndListFlange.InsertItem(0, ss[0]);
|
|
m_wndListFlange.SetItemText(idx, 1, ss[1]);
|
|
m_wndListFlange.SetItemText(idx, 2, ss[2]);
|
|
m_wndListFlange.SetItemText(idx, 3, ss[3]);
|
|
m_wndListFlange.SetItemText(idx, 4, ss[4]);
|
|
m_wndListFlange.SetItemText(idx, 5, ss[5]);
|
|
//m_wndListFlange.SetItemText(idx, 6, ss[6]);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("没有查到压力为 %.1f mpa 的法兰数据!"), m_dPressure);
|
|
}
|
|
}
|
|
m_wndListFlange.SetItemState(0,LVIS_SELECTED,LVIS_SELECTED);
|
|
|
|
|
|
CStringArray arVals;
|
|
sSQL = _T("select distinct [端面型式] from AecFace");
|
|
m_pDb->GetSelData(sSQL, arVals);
|
|
|
|
for (int i = 0;i < arVals.GetSize();i++)
|
|
{
|
|
m_wndFlangeEndF1.AddString(arVals.GetAt(i));
|
|
}
|
|
}
|
|
|
|
void CFlangeDlg::ShowGasket()
|
|
{
|
|
//最小1.6
|
|
if (m_dPressure - 1.0 < 1.e-3)
|
|
m_dPressure = 1.6;
|
|
|
|
m_wndListGasket.DeleteAllItems();
|
|
|
|
CString sSQL,sTemp;
|
|
|
|
if (m_sLevel.IsEmpty())
|
|
{
|
|
sSQL.Format(_T("select [公称直径],[材质],[压力],[垫片厚度],[描述] from AecSpecGasket \
|
|
where [公称直径]=%d and [压力]>%.1f"),m_nDN,m_dPressure - 0.1);
|
|
}
|
|
else
|
|
{
|
|
sSQL.Format(_T("select [公称直径],[材质],[压力],[垫片厚度],[描述] from AecSpecGasket \
|
|
where [项目名称]='%s' and [等级名称]='%s' and [公称直径]=%d and [压力]>%.1f"),m_sPro,m_sLevel, m_nDN, m_dPressure - 0.1);
|
|
|
|
}
|
|
|
|
CStringArray arValues;
|
|
CUIIValueTable table;
|
|
m_pDb->GetSelData(sSQL, table);
|
|
if (table.GetTableLogicSize() > 0)
|
|
{
|
|
for (int i = 0; i < table.GetTableLogicSize(); i++)
|
|
{
|
|
arValues.RemoveAll();
|
|
table.GetValueRecord(i, arValues);
|
|
|
|
sTemp = arValues.GetAt(0);
|
|
m_wndListGasket.InsertItem(0, sTemp);
|
|
|
|
sTemp = arValues.GetAt(1);
|
|
m_wndListGasket.SetItemText(0, 1, sTemp);
|
|
|
|
sTemp = arValues.GetAt(2);
|
|
m_wndListGasket.SetItemText(0, 2, sTemp);
|
|
|
|
sTemp = arValues.GetAt(3);
|
|
m_wndListGasket.SetItemText(0, 3, sTemp);
|
|
|
|
sTemp = arValues.GetAt(4);
|
|
m_wndListGasket.SetItemText(0, 4, sTemp);
|
|
}
|
|
if (table.GetTableLogicSize() > 0)
|
|
m_wndListGasket.SetItemState(0, LVIS_SELECTED, LVIS_SELECTED);
|
|
}
|
|
else
|
|
{
|
|
sSQL.Format(_T("select [公称直径],[材质],[压力],[垫片厚度],[描述] from AecSpecGasket \
|
|
where [公称直径]=%d"),m_nDN);
|
|
m_pDb->GetSelData(sSQL, table);
|
|
if (table.GetTableLogicSize() > 0)
|
|
{
|
|
for (int i = 0; i < table.GetTableLogicSize(); i++)
|
|
{
|
|
arValues.RemoveAll();
|
|
table.GetValueRecord(i, arValues);
|
|
|
|
sTemp = arValues.GetAt(0);
|
|
m_wndListGasket.InsertItem(i, sTemp);
|
|
|
|
sTemp = arValues.GetAt(1);
|
|
m_wndListGasket.SetItemText(i, 1, sTemp);
|
|
|
|
sTemp = arValues.GetAt(2);
|
|
m_wndListGasket.SetItemText(i, 2, sTemp);
|
|
|
|
sTemp = arValues.GetAt(3);
|
|
m_wndListGasket.SetItemText(i, 3, sTemp);
|
|
|
|
sTemp = arValues.GetAt(4);
|
|
m_wndListGasket.SetItemText(i, 4, sTemp);
|
|
}
|
|
if (table.GetTableLogicSize() > 0)
|
|
m_wndListGasket.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);
|
|
}
|
|
else
|
|
{
|
|
AfxMessageBox(_T("没有查到压力为 %.1f mpa 的 垫片数据信息!"));
|
|
}
|
|
}
|
|
}
|
|
|
|
void CFlangeDlg::SetAdoDb(CUIISQLiteServer *pDb)
|
|
{
|
|
m_pDb = pDb;
|
|
}
|
|
|
|
void CFlangeDlg::GetEndF1(CString &sEndF)
|
|
{
|
|
sEndF = _T("FF");
|
|
if (m_arFlangeVals.GetSize() > 0)
|
|
sEndF = m_arFlangeVals.GetAt(0);
|
|
}
|
|
void CFlangeDlg::GetEndF2(CString &sEndF)
|
|
{
|
|
sEndF = _T("FF");
|
|
if (m_arFlangeVals.GetSize() > 1)
|
|
sEndF = m_arFlangeVals.GetAt(1);
|
|
}
|
|
|
|
|
|
void CFlangeDlg::OnBnClickedOk()
|
|
{
|
|
int nCount = m_wndListFlange.GetItemCount();
|
|
if (nCount == 0)
|
|
return;
|
|
|
|
POSITION ps = m_wndListGasket.GetFirstSelectedItemPosition();
|
|
if (ps == NULL)
|
|
{
|
|
AfxMessageBox(_T("没有选择垫片信息!请选择附属的垫片信息"));
|
|
return;
|
|
}
|
|
|
|
/*
|
|
m_wndListFlange.InsertColumn(0,_T("公称直径"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(1,_T("法兰外径"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(2,_T("法兰高度"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(3,_T("法兰厚度"),LVCFMT_LEFT,100,80);
|
|
m_wndListFlange.InsertColumn(4,_T("法兰颈"),LVCFMT_LEFT,100,80);
|
|
|
|
m_wndListGasket.InsertColumn(0,_T("公称直径"),LVCFMT_LEFT,100,80);
|
|
m_wndListGasket.InsertColumn(1,_T("材质"),LVCFMT_LEFT,100,80);
|
|
m_wndListGasket.InsertColumn(2,_T("压力"),LVCFMT_LEFT,50,50);
|
|
m_wndListGasket.InsertColumn(3,_T("垫片厚度"),LVCFMT_LEFT,50,50);
|
|
m_wndListGasket.InsertColumn(4,_T("描述"),LVCFMT_LEFT,200,200);
|
|
*/
|
|
|
|
if (m_wndListFlange.GetItemCount() < 1)
|
|
{
|
|
AfxMessageBox(_T("没有可用的法兰尺寸!"));
|
|
return;
|
|
}
|
|
|
|
if (m_wndListGasket.GetItemCount() < 1)
|
|
{
|
|
AfxMessageBox(_T("没有可用的垫片信息!"));
|
|
return;
|
|
}
|
|
|
|
CString sEndF1 = _T(""),sEndF2 = _T("");
|
|
int nSel = m_wndFlangeEndF1.GetCurSel();
|
|
if (nSel != -1)
|
|
{
|
|
m_wndFlangeEndF1.GetText(nSel, sEndF1);
|
|
sEndF2 = sEndF1;
|
|
|
|
}
|
|
|
|
int iSel = m_wndListFlange.GetSelectionMark();
|
|
if (iSel == LB_ERR) iSel = 0;
|
|
|
|
CString sDn,sOD,sH,sThick,sN;
|
|
sDn = m_wndListFlange.GetItemText(iSel,0);
|
|
sOD = m_wndListFlange.GetItemText(iSel,1);
|
|
sH = m_wndListFlange.GetItemText(iSel,2);
|
|
sThick = m_wndListFlange.GetItemText(iSel,3);
|
|
sN = m_wndListFlange.GetItemText(iSel,4);
|
|
|
|
m_arFlangeVals.RemoveAll();
|
|
m_arFlangeVals.Add(sDn);
|
|
m_arFlangeVals.Add(sOD);
|
|
m_arFlangeVals.Add(sH);
|
|
m_arFlangeVals.Add(sThick);
|
|
m_arFlangeVals.Add(sN);
|
|
|
|
m_arFlangeVals.Add(sEndF1);
|
|
m_arFlangeVals.Add(sEndF2);
|
|
|
|
iSel = m_wndListGasket.GetSelectionMark();
|
|
if (iSel == LB_ERR) iSel = 0;
|
|
|
|
CString sMet,sPre,sT,sDescr;
|
|
sMet = m_wndListGasket.GetItemText(iSel, 1);
|
|
sPre = m_wndListGasket.GetItemText(iSel,2);
|
|
sT = m_wndListGasket.GetItemText(iSel,3);
|
|
sDescr = m_wndListGasket.GetItemText(iSel,4);
|
|
|
|
m_arGasketVals.Add(sDn);
|
|
m_arGasketVals.Add(sMet);
|
|
m_arGasketVals.Add(sPre);
|
|
m_arGasketVals.Add(sT);
|
|
m_arGasketVals.Add(sDescr);
|
|
|
|
OnOK();
|
|
}
|
|
|
|
void CFlangeDlg::OnAddFlange()
|
|
{
|
|
CFlangeRecDlg dlg;
|
|
dlg.SetAdoDb(m_pDb);
|
|
dlg.m_nDN = m_nDN;
|
|
dlg.m_dFD = (int)(2.0 * m_nDN);
|
|
dlg.m_dH = (int)(0.4 * m_nDN);
|
|
dlg.m_dt = (int)(0.22 * m_nDN);
|
|
dlg.m_dFd = (int)(1.4 * m_nDN);
|
|
if (IDOK == dlg.DoModal() )
|
|
{
|
|
CString sSQL;
|
|
sSQL.Format(_T("insert into AecFlangeData (")
|
|
_T("[公称直径]") // integer
|
|
_T(", [压力]") // float
|
|
_T(", [法兰类型]") // char(50)
|
|
_T(", [端面]") // char(50)
|
|
_T(", [法兰外径]") // integer
|
|
_T(", [法兰高度]") // integer
|
|
_T(", [法兰厚度]") // integer
|
|
_T(", [法兰颈]") // varchar(255)
|
|
_T(", [标准号])") // char(50)
|
|
_T("values(%d, %g, '%s', '%s', %d, %d, %d, '%d', '%s')")
|
|
, dlg.m_nDN
|
|
, dlg.m_dPress
|
|
, dlg.m_sType
|
|
, dlg.m_sEndF1
|
|
, dlg.m_dFD
|
|
, dlg.m_dH
|
|
, dlg.m_dt
|
|
, dlg.m_dFd
|
|
,dlg.m_sStd);
|
|
|
|
BOOL bRes = m_pDb->ExecuteSQL(sSQL);
|
|
|
|
ShowFlange();
|
|
}
|
|
}
|
|
|
|
void CFlangeDlg::OnAddGasket()
|
|
{
|
|
CGasketDlg dlg;
|
|
dlg.m_nDN = m_nDN;
|
|
|
|
if (IDOK == dlg.DoModal())
|
|
{
|
|
CString sSQL;
|
|
sSQL.Format(_T("insert into AecSpecGasket ([公称直径],[材质],[压力],[垫片厚度],[描述]) values \
|
|
(%d,'%s',%g,%g,'%s')"),dlg.m_nDN,dlg.m_sMat,dlg.m_dPress,dlg.m_dt,dlg.m_sRem);
|
|
m_pDb->ExecuteSQL(sSQL);
|
|
|
|
ShowGasket();
|
|
}
|
|
}
|
|
|
|
void CFlangeDlg::OnRemoveGasket()
|
|
{
|
|
int idx = m_wndListGasket.GetSelectionMark();
|
|
if (idx == -1)
|
|
{
|
|
AfxMessageBox(_T("请选择一行数据!"));
|
|
return;
|
|
}
|
|
|
|
CString s0 = m_wndListGasket.GetItemText(idx, 0);
|
|
CString s1 = m_wndListGasket.GetItemText(idx, 1);
|
|
CString s2 = m_wndListGasket.GetItemText(idx, 2);
|
|
CString s3 = m_wndListGasket.GetItemText(idx, 3);
|
|
CString s4 = m_wndListGasket.GetItemText(idx, 4);
|
|
|
|
CString sql;
|
|
sql.Format(_T("delete from AecSpecGasket where [公称直径] = '%s'\
|
|
and [材质] = '%s'\
|
|
and [压力] = '%s'\
|
|
and [垫片厚度] = '%s'\
|
|
and [描述] = '%s'"), s0, s1, s2, s3, s4);
|
|
|
|
m_pDb->ExecuteSQL(sql);
|
|
|
|
ShowGasket();
|
|
}
|
|
|
|
void CFlangeDlg::OnModifyGasket()
|
|
{
|
|
int idx = m_wndListGasket.GetSelectionMark();
|
|
if (idx == -1)
|
|
{
|
|
AfxMessageBox(_T("请选择一行数据!"));
|
|
return;
|
|
}
|
|
|
|
CString s0 = m_wndListGasket.GetItemText(idx, 0);
|
|
CString s1 = m_wndListGasket.GetItemText(idx, 1);
|
|
CString s2 = m_wndListGasket.GetItemText(idx, 2);
|
|
CString s3 = m_wndListGasket.GetItemText(idx, 3);
|
|
CString s4 = m_wndListGasket.GetItemText(idx, 4);
|
|
|
|
CString sql;
|
|
sql.Format(_T("select ID from AecSpecGasket where [公称直径] = '%s'\
|
|
and [材质] = '%s'\
|
|
and [压力] = '%s'\
|
|
and [垫片厚度] = '%s'\
|
|
and [描述] = '%s'"), s0, s1, s2, s3, s4);
|
|
|
|
CString sId(_T(""));
|
|
m_pDb->GetSelData(sql, sId);
|
|
|
|
if (sId.IsEmpty())
|
|
{
|
|
AfxMessageBox(_T("未在数据库内找到此数据!"));
|
|
return;
|
|
}
|
|
|
|
CGasketDlg dlg;
|
|
dlg.m_nDN = m_nDN;
|
|
dlg.m_sMat = s1;
|
|
dlg.m_dt = TypeConvert::convert<int, LPCTSTR>(s3);
|
|
dlg.m_sRem = s4;
|
|
if (IDOK == dlg.DoModal())
|
|
{
|
|
CString sSQL;
|
|
sSQL.Format(_T("update AecSpecGasket set [材质] = '%s'\
|
|
,[垫片厚度] = '%d'\
|
|
,[描述] = '%d'\
|
|
where [ID] = '%s'")
|
|
, dlg.m_sMat
|
|
, dlg.m_dt
|
|
, dlg.m_sRem
|
|
, sId);
|
|
m_pDb->ExecuteSQL(sSQL);
|
|
ShowGasket();
|
|
}
|
|
|
|
}
|
|
|
|
void CFlangeDlg::OnRemoveFlange()
|
|
{
|
|
int idx = m_wndListFlange.GetSelectionMark();
|
|
if (idx == -1)
|
|
{
|
|
AfxMessageBox(_T("请选择一行数据!"));
|
|
return;
|
|
}
|
|
CString s0 = m_wndListFlange.GetItemText(idx, 0);
|
|
CString s1 = m_wndListFlange.GetItemText(idx, 1);
|
|
CString s2 = m_wndListFlange.GetItemText(idx, 2);
|
|
CString s3 = m_wndListFlange.GetItemText(idx, 3);
|
|
CString s4 = m_wndListFlange.GetItemText(idx, 4);
|
|
|
|
CString sql;
|
|
sql.Format(_T("delete from AecFlangeData where [公称直径] = '%s'\
|
|
and [法兰外径] = '%s'\
|
|
and [法兰高度] = '%s'\
|
|
and [法兰厚度] = '%s'\
|
|
and [法兰颈] = '%s'"), s0, s1, s2, s3, s4);
|
|
|
|
m_pDb->ExecuteSQL(sql);
|
|
|
|
ShowFlange();
|
|
}
|
|
|
|
void CFlangeDlg::OnModifyFlange()
|
|
{
|
|
int idx = m_wndListFlange.GetSelectionMark();
|
|
if (idx == -1)
|
|
{
|
|
AfxMessageBox(_T("请选择一行数据!"));
|
|
return;
|
|
}
|
|
|
|
CString s0 = m_wndListFlange.GetItemText(idx, 0);
|
|
CString s1 = m_wndListFlange.GetItemText(idx, 1);
|
|
CString s2 = m_wndListFlange.GetItemText(idx, 2);
|
|
CString s3 = m_wndListFlange.GetItemText(idx, 3);
|
|
CString s4 = m_wndListFlange.GetItemText(idx, 4);
|
|
|
|
CString sql;
|
|
sql.Format(_T("select id from AecFlangeData where [公称直径] = '%s'\
|
|
and [法兰外径] = '%s'\
|
|
and [法兰高度] = '%s'\
|
|
and [法兰厚度] = '%s'\
|
|
and [法兰颈] = '%s'"), s0, s1, s2, s3, s4);
|
|
|
|
CString sId(_T(""));
|
|
m_pDb->GetSelData(sql, sId);
|
|
|
|
if (sId.IsEmpty())
|
|
{
|
|
AfxMessageBox(_T("未在数据库内找到此数据!"));
|
|
return;
|
|
}
|
|
|
|
CFlangeRecDlg dlg;
|
|
dlg.m_nDN = m_nDN;
|
|
dlg.m_dFD = TypeConvert::convert<int, LPCTSTR>(s1);
|
|
dlg.m_dH = TypeConvert::convert<int, LPCTSTR>(s2);
|
|
dlg.m_dt = TypeConvert::convert<int, LPCTSTR>(s3);
|
|
dlg.m_dFd = TypeConvert::convert<int, LPCTSTR>(s4);
|
|
|
|
if (IDOK == dlg.DoModal())
|
|
{
|
|
CString sSQL;
|
|
sSQL.Format(_T("update AecFlangeData set [法兰外径] = '%d'\
|
|
,[法兰高度] = '%d'\
|
|
,[法兰厚度] = '%d'\
|
|
,[法兰颈] = '%d'\
|
|
where [ID]='%s'")
|
|
, dlg.m_dFD
|
|
, dlg.m_dH
|
|
, dlg.m_dt
|
|
, dlg.m_dFd
|
|
, sId );
|
|
|
|
m_pDb->ExecuteSQL(sSQL);
|
|
|
|
ShowFlange();
|
|
}
|
|
}
|