#pragma once #include "earthwormdef.h" class CUIISQLiteServer; class TDbPipeSupport { public: TDbPipeSupport(void); ~TDbPipeSupport(void); static double MakeSureMMUnit(double& dDn); static BOOL XData2PipeParam(WPipe::PipeParam* pParamL,const AecDbObjXDataMap* pXDataMapSrc); static BOOL QueryElbowL(CUIISQLiteServer *pDb, double dDN, double& dL,double dRadio,int nCn, LPCTSTR pszLevel, LPCTSTR pszDNo, AecDbObjXDataMap *pXData); static BOOL QueryRElbowL(CUIISQLiteServer *pDb, double dDNL, double dDNs, double &dL, double dRadio, int nCn, LPCTSTR pszLevel, LPCTSTR pszDNo, AecDbObjXDataMap *pXData); //QueryElbowL内部调用 static BOOL Query45ElbowL(CUIISQLiteServer *pDb, double dDN, double &dL, double dRadio, int nCn, LPCTSTR pszLevel, LPCTSTR pszDNo, AecDbObjXDataMap *pXData); static BOOL Query225ElbowL(CUIISQLiteServer *pDb, double dDN, double &dL, double dRadio, int nCn, LPCTSTR pszLevel, LPCTSTR pszDNo, AecDbObjXDataMap *pXData); static BOOL Query30ElbowL(CUIISQLiteServer *pDb, double dDN, double &dL, double dRadio, int nCn, LPCTSTR pszLevel, LPCTSTR pszDNo, AecDbObjXDataMap *pXData); static BOOL Query60ElbowL(CUIISQLiteServer *pDb, double dDN, double &dL, double dRadio, int nCn, LPCTSTR pszLevel, LPCTSTR pszDNo, AecDbObjXDataMap *pXData); static BOOL QueryTeeData(CUIISQLiteServer* pDb,double dDn1,double dDn2,double& dL,double& dS,LPCTSTR pszDNo = _T("A"), LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL); static BOOL QueryCrossData(CUIISQLiteServer* pDb,double dDN1,double dDN2,double& dL,double& dB, LPCTSTR pszDNo = _T("A"), LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL); static BOOL QueryFlangSpecs(CUIISQLiteServer *pDb, double dDN, WPipe::Trade &eTrade, CString &sStd, CString &sTyp, LPCTSTR pszProName, LPCTSTR pszPreSpecName); static BOOL QueryFlangData(CUIISQLiteServer* pDb,double dDN,double dPre,double& dWD,double& dWh,double& dThk,double& dN, LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL, LPCTSTR pszDNo = _T("A")); static BOOL QueryGasketSpec(CUIISQLiteServer *pDb, WPipe::Trade &eTrade,double dDN, double dPre, LPCTSTR pszProName, LPCTSTR pszPreSpecName); static BOOL QueryGasketData(CUIISQLiteServer* pDb,double dDN,double dPre,CStringArray& GasketG, LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL); static BOOL QueryLateralData(CUIISQLiteServer* pDb,double dDn,double& dE,double& dM,double& dB,double& dInsL,double& dInfD,int nType, LPCTSTR pszODSn, LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL); static BOOL QueryWYeData(CUIISQLiteServer* pDb,double dDn,double& dM,double& dB,double& dInsL,double& dInfD,int nType, LPCTSTR pszODSn, LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL); static BOOL QueryCapData(CUIISQLiteServer* pDb,double dDn,double& dL, LPCTSTR pszSDN = _T("A")); static BOOL QueryReduceData(CUIISQLiteServer* pDb, int nCntype, double dDn, double dTDN, double& dL, AecDbObjXDataMap *pXData,LPCTSTR pszSDN = _T("A")); static BOOL QueryFlxJoinData(CUIISQLiteServer *pDb, double dDN, double dPre, AecDbObjXDataMap *pXDataMap); //查询 弯头,三通,变径 的螺纹,承插尺寸 static BOOL QueryInfFDFL(CUIISQLiteServer* pDb,int nObjectKind,int nCntype,double dDN,double& dFD,double& dFL, LPCTSTR pszODNo = _T("A"), LPCTSTR pszProName = NULL, LPCTSTR pszPreSpecName = NULL); static BOOL IsPointHitWPipe(ads_point ptRes,AcDbObjectId& id); static BOOL InsertFlangeAndGasketData(CUIISQLiteServer* pDb, const int &Dn, CString &sODNo, CString &sPro, CString &sLevel); static BOOL QueryFitSpecInf(CUIISQLiteServer *pDb, double dDn, WPipe::FITSPEC &fitSpec, WPipe::Trade &eTrade, LPCTSTR pszFitName, LPCTSTR pszProName, LPCTSTR pszPreSpecName); static BOOL QueryPipeSpecInf(CUIISQLiteServer *pDb, double dDn, WPipe::PIPESPEC &pipeSpec, WPipe::Trade &eTrade, LPCTSTR pszProName, LPCTSTR pszPreSpecName); static BOOL QueryFitSpecsNo(CUIISQLiteServer *pDb, double dDn1, double dDn2, CString &sSNo, WPipe::Trade &eTrade, LPCTSTR pszFitName, LPCTSTR pszDNo, LPCTSTR pszProName, LPCTSTR pszPreSpecName); static BOOL QueryFitSpecsNo(CUIISQLiteServer *pDb, double dDn, CString &sSNo, WPipe::Trade &eTrade, LPCTSTR pszFitName, LPCTSTR pszDNo, LPCTSTR pszProName, LPCTSTR pszPreSpecName); static BOOL QueryFitSpecsNo(CUIISQLiteServer *, LPCTSTR pszLevel, double dDn, CString &sODn); //法兰上螺栓信息 static BOOL QueryFBoltData(CUIISQLiteServer *pDb, double dDn, double dPre, LPCTSTR pszProj, LPCTSTR pszLevel, CStringArray &arBoltData); //螺栓 数量 和 规格 static BOOL QueryBoltData(CUIISQLiteServer *pDb, double dDn, double dPre, CStringArray &arBoltData); //设置法兰垫片 static BOOL SetGasketData(CUIISQLiteServer *pDb, int iInf, double dDn, double dPre, LPCTSTR pszProj, LPCTSTR pszLevel, AecDbObjXDataMap *pXDataMap); //设置法兰螺栓 static BOOL SetBoltData(CUIISQLiteServer *pDb, int iInf,double dDn, double dPre, LPCTSTR pszProj, LPCTSTR pszLevel, AecDbObjXDataMap *pXDataMap); static bool IsPlasticsMat(LPCTSTR pszODNO); static BOOL QueryPVCReducerData(CUIISQLiteServer* pDb, double dDN, double dEDN, AecDbObjXDataMap* pXDataMap, LPCTSTR pszSDNo = _T("UPVC")); static BOOL QueryPVCElbow(CUIISQLiteServer* pDb, double dDN, AecDbObjXDataMap* pXDataMap, LPCTSTR pszSDNo = _T("UPVC")); static BOOL QueryPVCTeeData(CUIISQLiteServer* pDb, double dDn1, double dDn2, AecDbObjXDataMap* pXDataMap, LPCTSTR pszSDNo = _T("UPVC")); static BOOL QueryPVCCrossData(CUIISQLiteServer* pDb, double dDn1, double dDn2, AecDbObjXDataMap* pXDataMap, LPCTSTR pszSDNo = _T("UPVC")); static BOOL QueryPVCSpecFit(CUIISQLiteServer* pDb, double dDN, LPCTSTR pszSDNo, EFittingType eType, AecDbObjXDataMap* pXDFit); //补强圈 或 半管接头补强 static int QueryRPorHP(CUIISQLiteServer *pDb, LPCTSTR pszLevel, double dDn, double ddn); static BOOL QueryRP(CUIISQLiteServer *pDb, double dDn, AecDbObjXDataMap *pXDataMap); static BOOL QueryHP(CUIISQLiteServer *pDb, double dDn, AecDbObjXDataMap *pXDataMap); };