Files
envi-code/SourceCode/Code2026/tg_shs/shs_TwtCalc/ResidenceFeedCalcDlg.h
T

118 lines
3.3 KiB
C++
Raw Normal View History

2026-09-28 15:28:50 +08:00
#if !defined(AFX_RESIDENCEFEEDCALCDLG_H__BB101AC2_3B04_451E_B74A_4949BB42907F__INCLUDED_)
#define AFX_RESIDENCEFEEDCALCDLG_H__BB101AC2_3B04_451E_B74A_4949BB42907F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif
class SCalcHouseData
{
public:
SCalcHouseData(){m_ID=NULL;m_iRation=250;m_iDoorNum=1;m_nNg=4;m_nPeopleNum=3.5;m_nFactor=2.8;};
int m_iRation; //用水定额
int m_iDoorNum; //该户型户数
double m_nNg; //每户当量
double m_nPeopleNum; //每户人数
double m_nFactor; //小时变化系数
double m_nU0; //平均出流概率
double m_nU; //同时出流概率
double m_nAc;
AcDbObjectId m_ID; //入户水管
};
class SCalcFloorData
{
public:
SCalcFloorData(){m_ID=NULL;m_csFloor="";};
CString m_csFloor; //楼层
CString m_csVPipeName; //立管编号
int m_iDn; //立管管径
double m_nNg; //本层总当量
double m_nAllNg; //本层以上总当量
double m_nSigmaU0; //本层U0之和
double m_nQ; //流量
double m_nV; //流速
double m_nRetU; //同时出流概率
double m_nI; //坡降
double m_nLost; //沿程损失
AcDbObjectId m_ID; //本层支管
AcDbObjectId m_IDMain; //本层立管
DList<SCalcHouseData> m_lstHouse;
};
#include "resource.h"
#include "WDGRID.h"
#include "map"
class CResidenceFeedGrid: public WDGrid
{
protected:
virtual void OnCellComboString(WDGridCell&cell,CComboBox&combo);//准备下拉列表内容
public:
CResidenceFeedGrid();
};
class CResidenceFeedCalcDlg : public CDialog
{
public:
CResidenceFeedCalcDlg(CWnd* pParent = NULL);
void InitFeedData();
//转换数据函数 把链表转换为数组
BOOL TransformCalcFeedData(SSearchPipeList *pListAll, CString csCurFloor, CString csCurVPipeName);
//把立管加入SCalcFloorData结构中
void AddVerticalPipeToData(SSearchPipeList *pListAll, BOOL bFromDownToUp);
//计算函数
void DoCalcResidenceFeed(BOOL bFromDownToUp, BOOL bIsReCalc);
//出计算书
void CalcFeedImportWord();
//从图上读出数据
void ReadDataFromGraph();
void SetSearchPipeList(SSearchPipeList *pList);
//{{AFX_DATA(CResidenceFeedCalcDlg)
enum { IDD = IDD_RESIDENCE_FEEDCALC };
CButton m_btnSearch;
CResidenceFeedGrid m_listFeed;
CString m_strWndEdtAllLost;
//}}AFX_DATA
//{{AFX_VIRTUAL(CResidenceFeedCalcDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX);
//}}AFX_VIRTUAL
protected:
//{{AFX_MSG(CResidenceFeedCalcDlg)
virtual BOOL OnInitDialog();
afx_msg void OnBookBtn();
virtual void OnOK();
afx_msg void OnRepeartCalcBtn();
afx_msg void OnBtnSearch();
afx_msg void OnButtonSheet();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
//从表上获得数据
void GetDataFromList();
//得到下一个导出WORD节点 根据节点计算顺序排序
void SetAllLost(); //cet 2010.11.23 add 设置总沿程损失
void DoCalcFeedWaterLost(SSearchPipeList *pDisadvantagestd, std::set<CString> &data, double &dAllLostRet); // cet 2010.11.23 add 计算总的沿程水头损失
public:
BOOL m_bFromDownToUp;
private:
DList<SCalcFloorData> m_lstFeedData;
SSearchPipeList *m_pListAll;
CBitmap m_bitSearchPipe;
};
#endif // !defined(AFX_RESIDENCEFEEDCALCDLG_H__BB101AC2_3B04_451E_B74A_4949BB42907F__INCLUDED_)