4365 lines
247 KiB
VB.net
4365 lines
247 KiB
VB.net
Public Class Frm_Upload
|
|
|
|
Dim fn As String = ""
|
|
Dim silentmode As Boolean = False
|
|
Dim column As Integer = 10
|
|
Dim processfile As String
|
|
Public Sub New()
|
|
|
|
' 이 호출은 디자이너에 필요합니다.
|
|
InitializeComponent()
|
|
fn = ""
|
|
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
|
|
|
End Sub
|
|
Public Sub New(_file As String, writecolumn As Integer, processfilename As String, Optional silent As Boolean = False)
|
|
|
|
' 이 호출은 디자이너에 필요합니다.
|
|
InitializeComponent()
|
|
fn = _file
|
|
silentmode = silent
|
|
column = writecolumn
|
|
processfile = processfilename
|
|
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
|
|
|
|
End Sub
|
|
|
|
Function IsBatchProcess() As Boolean
|
|
Return column > 10
|
|
End Function
|
|
|
|
|
|
Private Sub Frm_Upload_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
|
|
|
|
' Me.Hide()
|
|
'Application.DoEvents()
|
|
|
|
|
|
'MakeGraphTable()
|
|
If IsBatchProcess() = False Then
|
|
LoadFile()
|
|
MakeDataXLS()
|
|
|
|
If fn <> "" Then
|
|
Try
|
|
If FpSpread1.SaveExcel(fn, FarPoint.Excel.ExcelSaveFlags.NoFlagsSet) Then
|
|
If silentmode = False Then
|
|
MsgBox("다음파일이 생성되었습니다" + vbCrLf + fn, MsgBoxStyle.Information, "확인")
|
|
End If
|
|
|
|
DialogResult = Windows.Forms.DialogResult.OK
|
|
Else
|
|
MsgBox("저장실패" + vbCrLf + fn, MsgBoxStyle.Critical, "확인")
|
|
Me.Close()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox("저장실패" + vbCrLf + fn + vbCrLf + ex.Message, MsgBoxStyle.Critical, "확인")
|
|
Me.Close()
|
|
End Try
|
|
|
|
End If
|
|
|
|
Else
|
|
Dim buffer As String = MakeDataTAB()
|
|
|
|
If fn <> "" Then
|
|
Try
|
|
System.IO.File.AppendAllText(fn, buffer, System.Text.Encoding.Default)
|
|
DialogResult = Windows.Forms.DialogResult.OK
|
|
Catch ex As Exception
|
|
MsgBox("저장실패" + vbCrLf + fn + vbCrLf + ex.Message, MsgBoxStyle.Critical, "확인")
|
|
Me.Close()
|
|
End Try
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
|
|
LoadFile()
|
|
If IsBatchProcess() Then
|
|
MakeDataXLS()
|
|
Else
|
|
MakeDataTAB()
|
|
End If
|
|
'MakeData()
|
|
End Sub
|
|
|
|
Private Sub LoadFile()
|
|
Dim fn As String = AppDomain.CurrentDomain.BaseDirectory + "\upload.xlsx"
|
|
If column > 10 Then fn = Me.fn
|
|
If Not System.IO.File.Exists(fn) Then
|
|
MsgBox("업로드샘플파일(" + fn + ")가 존재하지 않습니다", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
|
|
Try
|
|
If Me.FpSpread1.OpenExcel(fn) Then
|
|
MakeDataXLS()
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub MakeDataXLS()
|
|
'//결과데이터에서 자료를 추출하고 그 값을 넣는다
|
|
Dim DataColumnIndex As Integer = Me.column
|
|
Dim Row As Integer = 0
|
|
Dim DsReport As New DSR
|
|
|
|
|
|
|
|
'//건물개요 건물개요-공공기관 체크된 경우 '공공기관' 표시 - 160211
|
|
Dim drDesc As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = processfile : Row += 1 '//파일명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drDesc.buildm21 : Row += 1 '//대지면적
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drDesc.buildm23 : Row += 1 '//연면적
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drDesc.buildm22 : Row += 1 '//건축면적
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drDesc.gujo : Row += 1 '//구조
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = String.Format("지하{0}층/지상{1}층", drDesc.builds1, drDesc.builds2) : Row += 1 '//건물규모
|
|
|
|
If drDesc.공공 = "1" Then '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "공공" : Row += 1 '//주체
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "민간" : Row += 1 '//주체
|
|
End If
|
|
|
|
|
|
Dim 주거용 As Integer = CInt(drDesc.isjugo)
|
|
|
|
'//에너지 요구량
|
|
' Result1.E요구량(0).면적당요구량
|
|
Dim v1_1 As Double = Math.Round(Result1.E요구량(0).난방면적, 1)
|
|
Dim v1_2 As Double = Math.Round(Result1.E요구량(0).냉방면적, 1)
|
|
Dim v1_3 As Double = Math.Round(Result1.E요구량(0).급탕면적, 1)
|
|
Dim v1_4 As Double = Math.Round(Result1.E요구량(0).조명면적, 1)
|
|
Dim v1_s As Double = v1_1 + v1_2 + v1_3 + v1_4
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v1_1.ToString("N1") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v1_2.ToString("N1") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v1_3.ToString("N1") : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v1_4.ToString("N1") : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "0" : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v1_s.ToString("N1") : Row += 1 '//환기
|
|
|
|
'//에너지 소요량
|
|
Dim v2_1 As Double = Math.Round(Result1.E소요량(0).난방면적, 1)
|
|
Dim v2_2 As Double = Math.Round(Result1.E소요량(0).냉방면적, 1)
|
|
Dim v2_3 As Double = Math.Round(Result1.E소요량(0).급탕면적, 1)
|
|
Dim v2_4 As Double = Math.Round(Result1.E소요량(0).조명면적, 1)
|
|
Dim v2_5 As Double = Math.Round(Result1.E소요량(0).환기면적, 1)
|
|
Dim v2_s As Double = v2_1 + v2_2 + v2_3 + v2_4 + v2_5
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v2_1.ToString("N1") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v2_2.ToString("N1") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v2_3.ToString("N1") : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v2_4.ToString("N1") : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v2_5.ToString("N1") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v2_s.ToString("N1") : Row += 1 '//합계
|
|
|
|
'//1차에너지 소요량
|
|
Dim v3_1 As Double = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
|
Dim v3_2 As Double = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
|
Dim v3_3 As Double = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
|
Dim v3_4 As Double = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
|
Dim v3_5 As Double = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
|
Dim v3_s As Double = v3_1 + v3_2 + v3_3 + v3_4 + v3_5
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_1.ToString("N1") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_2.ToString("N1") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_3.ToString("N1") : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_4.ToString("N1") : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_5.ToString("N1") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_s.ToString("N1") : Row += 1 '//환기
|
|
|
|
Dim 합계 As Decimal = 0
|
|
'//등급용1차에너지
|
|
Dim 일차에너지소요량합계 As Decimal = 0 '//등급계산에서 사용함
|
|
Dim 난방에너지, 냉방에너지, 급탕에너지, 조명에너지, 환기에너지 As Single
|
|
If (Result1.사용면적.H_WF = 0) Then
|
|
난방에너지 = 0
|
|
Else
|
|
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적2 * Result1.사용면적.H / Result1.사용면적.H_WF, 1)
|
|
End If
|
|
If (Result1.사용면적.C_WF = 0) Then
|
|
냉방에너지 = 0
|
|
Else
|
|
냉방에너지 = Math.Round(TOSG(Result1.일차E소요량(0).냉방면적 * Result1.사용면적.C / Result1.사용면적.C_WF), 1)
|
|
End If
|
|
If (Result1.사용면적.W_WF = 0) Then
|
|
급탕에너지 = 0
|
|
Else
|
|
급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적2 * Result1.사용면적.W / Result1.사용면적.W_WF, 1)
|
|
End If
|
|
If (Result1.사용면적.L_WF = 0) Then
|
|
조명에너지 = 0
|
|
Else
|
|
조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적 * Result1.사용면적.L / Result1.사용면적.L_WF, 1)
|
|
End If
|
|
If (Result1.사용면적.V_WF = 0) Then
|
|
환기에너지 = 0
|
|
Else
|
|
환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적 * Result1.사용면적.V / Result1.사용면적.V_WF, 1)
|
|
End If
|
|
일차에너지소요량합계 = 냉방에너지 + 난방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방에너지.ToString : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방에너지.ToString : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕에너지.ToString : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 조명에너지.ToString : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 환기에너지.ToString : Row += 1 '//환기
|
|
합계 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 합계.ToString("N1") : Row += 1 '//환기
|
|
|
|
|
|
'//연간 CO2발생량
|
|
Dim StartCode As Integer = 81 '//76
|
|
Dim CO2_1, CO2_2, CO2_3, CO2_4, CO2_5 As Decimal
|
|
CO2_1 = Math.Round(RData("410", StartCode + 0), 1)
|
|
CO2_2 = Math.Round(RData("410", StartCode + 7), 1)
|
|
CO2_3 = Math.Round(RData("410", StartCode + 15), 1)
|
|
CO2_4 = Math.Round(RData("410", StartCode + 22), 1)
|
|
CO2_5 = Math.Round(RData("410", StartCode + 25), 1)
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_1.ToString : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_2.ToString : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_3.ToString : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_4.ToString : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_5.ToString : Row += 1 '//환기
|
|
합계 = CO2_1 + CO2_2 + CO2_3 + CO2_4 + CO2_5
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 합계.ToString() : Row += 1 '//환기
|
|
|
|
'//단위면적당 CO2발생량
|
|
StartCode = 79 '//76
|
|
CO2_1 = Math.Round(RData("410", StartCode + 8), 1)
|
|
CO2_2 = Math.Round(RData("410", StartCode + 16), 1)
|
|
CO2_3 = Math.Round(RData("410", StartCode + 23), 1)
|
|
CO2_4 = Math.Round(RData("410", StartCode + 26), 1)
|
|
CO2_5 = Math.Round(RData("410", StartCode + 29), 1)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_1.ToString : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_2.ToString : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_3.ToString : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_4.ToString : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CO2_5.ToString : Row += 1 '//환기
|
|
합계 = CO2_1 + CO2_2 + CO2_3 + CO2_4 + CO2_5
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 합계.ToString() : Row += 1 '//환기
|
|
|
|
'//평가결과값(report_pyonga 에서 가져옴)
|
|
Pub.항목별평가결과(DsReport)
|
|
If DsReport.Pyonga_YK.Rows.Count < 1 Then
|
|
MsgBox("구조체값이 생성되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
Dim drYK As DSR.Pyonga_YKRow = DsReport.Pyonga_YK.Rows(0)
|
|
|
|
'//구조체
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.벽체종류 : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.벽체값.ToString("N3") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.지붕종류 : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.지붕값.ToString("N3") : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.바닥종류 : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.바닥값.ToString("N3") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.창호종류 : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.창호값.ToString("N3") : Row += 1 '//환기
|
|
|
|
'//창면적비 9개(?)
|
|
Dim 창및문면적비, 외벽열관류율_평균 As Decimal
|
|
Dim 외벽열관류율_남 As Decimal
|
|
Dim 외벽열관류율_남동 As Decimal
|
|
Dim 외벽열관류율_동 As Decimal
|
|
Dim 외벽열관류율_북동 As Decimal
|
|
Dim 외벽열관류율_북 As Decimal
|
|
Dim 외벽열관류율_북서 As Decimal
|
|
Dim 외벽열관류율_서 As Decimal
|
|
Dim 외벽열관류율_남서 As Decimal
|
|
|
|
Dim 창열관류율_평균 As Decimal
|
|
Dim 창열관류율_남 As Decimal
|
|
Dim 창열관류율_남동 As Decimal
|
|
Dim 창열관류율_동 As Decimal
|
|
Dim 창열관류율_북동 As Decimal
|
|
Dim 창열관류율_북 As Decimal
|
|
Dim 창열관류율_북서 As Decimal
|
|
Dim 창열관류율_서 As Decimal
|
|
Dim 창열관류율_남서 As Decimal
|
|
|
|
Dim 일사에너지투과율_평균 As Decimal
|
|
Dim 일사에너지투과율_남 As Decimal
|
|
Dim 일사에너지투과율_남동 As Decimal
|
|
Dim 일사에너지투과율_동 As Decimal
|
|
Dim 일사에너지투과율_북동 As Decimal
|
|
Dim 일사에너지투과율_북 As Decimal
|
|
Dim 일사에너지투과율_북서 As Decimal
|
|
Dim 일사에너지투과율_서 As Decimal
|
|
Dim 일사에너지투과율_남서 As Decimal
|
|
|
|
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_평균, 창열관류율_평균, 일사에너지투과율_평균)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//난방
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남, 창열관류율_남, 일사에너지투과율_남, "남")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//냉방
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남동, 창열관류율_남동, 일사에너지투과율_남동, "남동")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//급탕
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_동, 창열관류율_동, 일사에너지투과율_동, "동")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//조명
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북동, 창열관류율_북동, 일사에너지투과율_북동, "북동")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북, 창열관류율_북, 일사에너지투과율_북, "북")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북서, 창열관류율_북서, 일사에너지투과율_북서, "북서")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_서, 창열관류율_서, 일사에너지투과율_서, "서")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남서, 창열관류율_남서, 일사에너지투과율_남서, "남서")
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N2") : Row += 1 '//환기
|
|
|
|
'//평균열관류율 11개(?)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_평균.ToString("N3") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_남.ToString("N3") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_남동.ToString("N3") : Row += 1 '//급탕
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_동.ToString("N3") : Row += 1 '//조명
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_북동.ToString("N3") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_북.ToString("N3") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_북서.ToString("N3") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_서.ToString("N3") : Row += 1 '//환기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외벽열관류율_남서.ToString("N3") : Row += 1 '//환기
|
|
|
|
'//외벽지붕(평균열관류율)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = calc_평균열관류율(New String() {"외벽(지붕)", "내벽(지붕)"}).ToString("N3") : Row += 1 '//환기
|
|
'//외벽바닥(평균열관류율)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = calc_평균열관류율(New String() {"외벽(바닥)", "내벽(바닥)"}).ToString("N3") : Row += 1 '//환기
|
|
|
|
'//기밀성능(주거용 본인증)
|
|
Dim 기밀성능_침기율면적합 As Decimal = 0
|
|
Dim 기밀성능_면적합 As Decimal = 0
|
|
For Each drZOne As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
|
|
|
|
'//입력존수값이 없는것은 기본값 1로 처리를 한다
|
|
If String.IsNullOrWhiteSpace(drZOne.입력존의수) Then drZOne.입력존의수 = "1"
|
|
If Not IsNumeric(drZOne.입력존의수) Then drZOne.입력존의수 = "1"
|
|
Dim 존수2 As Integer = TOSG(drZOne.입력존의수)
|
|
If 존수2 < 1 Then Continue For
|
|
If Not IsNumeric(drZOne.면적) Then drZOne.면적 = "0"
|
|
If CInt(drZOne.면적) = 0 Then
|
|
MsgBox("입력존(" + drZOne.설명 + ") 의 면적이 입력되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
|
Continue For
|
|
End If
|
|
|
|
기밀성능_면적합 += (존수2 * drZOne.면적)
|
|
기밀성능_침기율면적합 += (drZOne.침기율 * (존수2 * drZOne.면적))
|
|
Next
|
|
Dim 기밀성능 As Decimal = 0
|
|
If 기밀성능_면적합 <> 0 Then 기밀성능 = 기밀성능_침기율면적합 / 기밀성능_면적합
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기밀성능.ToString("N2") : Row += 1 '//환기
|
|
|
|
'//용도프로필 (tbl_profile, tbl_zone , zone에서 profile 을 연결함 필드명은 프로필
|
|
Dim 면적_총합 As Decimal = 0
|
|
Dim 면적_소규모사무실 As Decimal = 0
|
|
Dim 면적_대규모사무실 As Decimal = 0
|
|
Dim 면적_회의및세미나실 As Decimal = 0
|
|
Dim 면적_강당 As Decimal = 0
|
|
Dim 면적_구내식당 As Decimal = 0
|
|
Dim 면적_화장실 As Decimal = 0
|
|
Dim 면적_그외체류공간 As Decimal = 0
|
|
Dim 면적_부속공간 As Decimal = 0
|
|
Dim 면적_창고설비문서실 As Decimal = 0
|
|
Dim 면적_전산실 As Decimal = 0
|
|
Dim 면적_주방및조리실 As Decimal = 0
|
|
Dim 면적_병실 As Decimal = 0
|
|
Dim 면적_객실 As Decimal = 0
|
|
Dim 면적_교실 As Decimal = 0
|
|
Dim 면적_강의실 As Decimal = 0
|
|
Dim 면적_매장 As Decimal = 0
|
|
Dim 면적_전시실 As Decimal = 0
|
|
Dim 면적_열람실 As Decimal = 0
|
|
Dim 면적_체육시설 As Decimal = 0
|
|
|
|
Dim 면적_주거공간 As Decimal = 0
|
|
Dim 면적_구내식당_초중고 As Decimal = 0
|
|
Dim 면적_주방및조리실_초중고 As Decimal = 0
|
|
Dim 면적_체육시설_초중고 As Decimal = 0
|
|
'Dim 면적_어린이집_유치원 As Decimal = 0
|
|
'Dim 면적_12종근린생활시설 As Decimal = 0
|
|
'Dim 면적_서버실 As Decimal = 0
|
|
'Dim 면적_고밀도서버실 As Decimal = 0
|
|
''''''''''''''''''''''''''''''''''''''
|
|
Dim 비중_소규모사무실 As Decimal = 0 '//0001
|
|
Dim 비중_대규모사무실 As Decimal = 0 '//0002
|
|
Dim 비중_회의및세미나실 As Decimal = 0 '//0003
|
|
Dim 비중_강당 As Decimal = 0 '//0004
|
|
Dim 비중_구내식당 As Decimal = 0 '//0005
|
|
Dim 비중_화장실 As Decimal = 0 '//0006
|
|
Dim 비중_그외체류공간 As Decimal = 0 '//0007
|
|
Dim 비중_부속공간 As Decimal = 0 '//0008
|
|
Dim 비중_창고설비문서실 As Decimal = 0 '//0009
|
|
Dim 비중_전산실 As Decimal = 0 '//0010
|
|
Dim 비중_주방및조리실 As Decimal = 0 '//0011
|
|
Dim 비중_병실 As Decimal = 0 '//0012
|
|
Dim 비중_객실 As Decimal = 0 '//0013
|
|
Dim 비중_교실 As Decimal = 0 '//0014
|
|
Dim 비중_강의실 As Decimal = 0 '//0015
|
|
Dim 비중_매장 As Decimal = 0 '//0016
|
|
Dim 비중_전시실 As Decimal = 0 '//0017
|
|
Dim 비중_열람실 As Decimal = 0 '//0018
|
|
Dim 비중_체육시설 As Decimal = 0 '//0019
|
|
|
|
Dim 비중_주거공간 As Decimal = 0 '//0020
|
|
Dim 비중_구내식당_초중고 As Decimal = 0 '//0020
|
|
Dim 비중_주방및조리실_초중고 As Decimal = 0 '//0021
|
|
Dim 비중_체육시설_초중고 As Decimal = 0 '//0022
|
|
'Dim 비중_어린이집_유치원 As Decimal = 0 '//0023
|
|
'Dim 비중_12종근린생활시설 As Decimal = 0 '//0024
|
|
'Dim 비중_서버실 As Decimal = 0 '//0025
|
|
'Dim 비중_고밀도서버실 As Decimal = 0 '//0026
|
|
|
|
Dim 면적 As Decimal = 0
|
|
For Each drzone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0' and 프로필 <> '' and 면적 <> '0' and 면적 <> '' ")
|
|
If Not IsNumeric(drzone.면적) Then drzone.면적 = "0"
|
|
|
|
|
|
Dim 존수2 As Integer = 0
|
|
If IsNumeric(drzone.입력존의수) Then
|
|
존수2 = CInt(drzone.입력존의수)
|
|
Else
|
|
존수2 = 1
|
|
End If
|
|
If IsNumeric(drzone.면적) Then
|
|
면적 = drzone.면적 * 존수2
|
|
Else
|
|
면적 = 0
|
|
End If
|
|
|
|
면적_총합 += 면적
|
|
|
|
If drzone.프로필 = "0001" Then 면적_소규모사무실 += 면적 '//0001
|
|
If drzone.프로필 = "0002" Then 면적_대규모사무실 += 면적 '//0002
|
|
If drzone.프로필 = "0003" Then 면적_회의및세미나실 += 면적 '//0003
|
|
If drzone.프로필 = "0004" Then 면적_강당 += 면적 '//0004
|
|
If drzone.프로필 = "0005" Then 면적_구내식당 += 면적 '//0005
|
|
If drzone.프로필 = "0006" Then 면적_화장실 += 면적 '//0006
|
|
If drzone.프로필 = "0007" Then 면적_그외체류공간 += 면적 '//0007
|
|
If drzone.프로필 = "0008" Then 면적_부속공간 += 면적 '//0008
|
|
If drzone.프로필 = "0009" Then 면적_창고설비문서실 += 면적 '//0009
|
|
If drzone.프로필 = "0010" Then 면적_전산실 += 면적 '//0010
|
|
If drzone.프로필 = "0011" Then 면적_주방및조리실 += 면적 '//0011
|
|
If drzone.프로필 = "0012" Then 면적_병실 += 면적 '//0012
|
|
If drzone.프로필 = "0013" Then 면적_객실 += 면적 '//0013
|
|
If drzone.프로필 = "0014" Then 면적_교실 += 면적 '//0014
|
|
If drzone.프로필 = "0015" Then 면적_강의실 += 면적 '//0015
|
|
If drzone.프로필 = "0016" Then 면적_매장 += 면적 '//0016
|
|
If drzone.프로필 = "0017" Then 면적_전시실 += 면적 '//0017
|
|
If drzone.프로필 = "0018" Then 면적_열람실 += 면적 '//0018
|
|
If drzone.프로필 = "0019" Then 면적_체육시설 += 면적 '//0019
|
|
|
|
If drzone.프로필 = "0000" Then 면적_주거공간 += 면적 '//0020
|
|
If drzone.프로필 = "0020" Then 면적_구내식당_초중고 += 면적 '//0020
|
|
If drzone.프로필 = "0021" Then 면적_주방및조리실_초중고 += 면적 '//0021
|
|
If drzone.프로필 = "0022" Then 면적_체육시설_초중고 += 면적 '//0022
|
|
|
|
'If drzone.프로필 = "0023" Then 면적_어린이집_유치원 += 면적 '//0023
|
|
'If drzone.프로필 = "0024" Then 면적_12종근린생활시설 += 면적 '//0024
|
|
'If drzone.프로필 = "0025" Then 면적_서버실 += 면적 '//0025
|
|
'If drzone.프로필 = "0026" Then 면적_고밀도서버실 += 면적 '//0026
|
|
|
|
Next
|
|
|
|
비중_소규모사무실 = (면적_소규모사무실 / 면적_총합) * 100 '//0001
|
|
비중_대규모사무실 = (면적_대규모사무실 / 면적_총합) * 100 '//0002
|
|
비중_회의및세미나실 = (면적_회의및세미나실 / 면적_총합) * 100 '//0003
|
|
비중_강당 = (면적_강당 / 면적_총합) * 100 '//0004
|
|
비중_구내식당 = (면적_구내식당 / 면적_총합) * 100 '//0005
|
|
비중_화장실 = (면적_화장실 / 면적_총합) * 100 '//0006
|
|
비중_그외체류공간 = (면적_그외체류공간 / 면적_총합) * 100 '//0007
|
|
비중_부속공간 = (면적_부속공간 / 면적_총합) * 100 '//0008
|
|
비중_창고설비문서실 = (면적_창고설비문서실 / 면적_총합) * 100 '//0009
|
|
비중_전산실 = (면적_전산실 / 면적_총합) * 100 '//0010
|
|
비중_주방및조리실 = (면적_주방및조리실 / 면적_총합) * 100 '//0011
|
|
비중_병실 = (면적_병실 / 면적_총합) * 100 '//0012
|
|
비중_객실 = (면적_객실 / 면적_총합) * 100 '//0013
|
|
비중_교실 = (면적_교실 / 면적_총합) * 100 '//0014
|
|
비중_강의실 = (면적_강의실 / 면적_총합) * 100 '//0015
|
|
비중_매장 = (면적_매장 / 면적_총합) * 100 '//0016
|
|
비중_전시실 = (면적_전시실 / 면적_총합) * 100 '//0017
|
|
비중_열람실 = (면적_열람실 / 면적_총합) * 100 '//0018
|
|
비중_체육시설 = (면적_체육시설 / 면적_총합) * 100 '//0019
|
|
|
|
비중_주거공간 = (면적_주거공간 / 면적_총합) * 100 '//0000
|
|
비중_구내식당_초중고 = (면적_구내식당_초중고 / 면적_총합) * 100 '//0020
|
|
비중_주방및조리실_초중고 = (면적_주방및조리실_초중고 / 면적_총합) * 100 '//0021
|
|
비중_체육시설_초중고 = (면적_체육시설_초중고 / 면적_총합) * 100 '//0022
|
|
|
|
'비중_어린이집_유치원 = (면적_어린이집_유치원 / 면적_총합) * 100 '//0023
|
|
'비중_12종근린생활시설 = (면적_12종근린생활시설 / 면적_총합) * 100 '//0024
|
|
'비중_서버실 = (면적_서버실 / 면적_총합) * 100 '//0025
|
|
'비중_고밀도서버실 = (면적_고밀도서버실 / 면적_총합) * 100 '//0026
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_소규모사무실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_소규모사무실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_대규모사무실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_대규모사무실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_회의및세미나실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_회의및세미나실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_강당.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_강당.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_구내식당.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_구내식당.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_화장실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_화장실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_그외체류공간.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_그외체류공간.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_부속공간.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_부속공간.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_창고설비문서실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_창고설비문서실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_전산실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_전산실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_주방및조리실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_주방및조리실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_병실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_병실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_객실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_객실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_교실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_교실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_강의실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_강의실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_매장.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_매장.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_전시실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_전시실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_열람실.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_열람실.ToString("N2") : Row += 1 '//냉방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_체육시설.ToString("N2") : Row += 1 '//난방
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_체육시설.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_구내식당_초중고.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_구내식당_초중고.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_주방및조리실_초중고.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_주방및조리실_초중고.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_체육시설_초중고.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_체육시설_초중고.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_어린이집_유치원.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_어린이집_유치원.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_12종근린생활시설.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_12종근린생활시설.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_서버실.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_서버실.ToString("N2") : Row += 1 '//냉방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_고밀도서버실.ToString("N2") : Row += 1 '//난방
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_고밀도서버실.ToString("N2") : Row += 1 '//냉방
|
|
|
|
|
|
|
|
'//기계부문평가항목-냉난방방식-난방
|
|
' Dim MaxValue As Decimal = 0
|
|
'Dim MaxValueTitle As String = ""
|
|
Dim 난방용량합 As Decimal = 0
|
|
Dim 난방용량합_전기 As Decimal = 0
|
|
Dim 난방용량합_비전기 As Decimal = 0
|
|
Dim 난방용량비율_전기 As Decimal = 0
|
|
Dim 난방용량비율_비전기 As Decimal = 0
|
|
Dim 펌프동력합 As Decimal = 0
|
|
Dim 냉난방방식_난방 As String = ""
|
|
For Each dr난방 As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki.Select("code <> '0'")
|
|
Dim filter As String = String.Format("code <> '0' and 열생산난방생산기기='{0}' or 공조난방생산기기='{0}'", dr난방.code)
|
|
Dim 존수3 As Integer = 0
|
|
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select(filter)
|
|
If Not IsNumeric(dr존.입력존의수) Then dr존.입력존의수 = "1"
|
|
존수3 += CInt(dr존.입력존의수)
|
|
Next
|
|
|
|
If Not IsNumeric(dr난방.보일러정격출력) Then dr난방.보일러정격출력 = "0"
|
|
If Not IsNumeric(dr난방.열교환기정격출력) Then dr난방.열교환기정격출력 = "0"
|
|
If Not IsNumeric(dr난방.히트난방용량) Then dr난방.히트난방용량 = "0"
|
|
|
|
|
|
Dim 개별식형태 As Boolean = dr난방.개별기기적용
|
|
If Not 개별식형태 AndAlso 존수3 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
|
|
|
|
|
If 냉난방방식_난방 = "" Then
|
|
냉난방방식_난방 = IIf(개별식형태, "개별식", "중앙식")
|
|
ElseIf 냉난방방식_난방 = "개별식" AndAlso Not 개별식형태 Then
|
|
냉난방방식_난방 = "혼합식"
|
|
ElseIf 냉난방방식_난방 = "중앙식" AndAlso 개별식형태 Then
|
|
냉난방방식_난방 = "혼합식"
|
|
End If
|
|
|
|
|
|
Dim 최대값 As Decimal = 0
|
|
If dr난방.개별기기적용 Then
|
|
|
|
|
|
|
|
최대값 = Math.Max(TOSG(dr난방.보일러정격출력), TOSG(dr난방.열교환기정격출력))
|
|
최대값 = Math.Max(최대값, TOSG(dr난방.히트난방용량))
|
|
최대값 *= 존수3
|
|
|
|
펌프동력합 += TOSG(dr난방.펌프동력) * 존수3
|
|
|
|
If dr난방.열생산기기방식 = "히트펌프" Then
|
|
난방용량합 += TOSG(dr난방.히트난방용량) * 존수3
|
|
If dr난방.히트연료 = "전기" Then 난방용량합_전기 += TOSG(dr난방.히트난방용량) * 존수3
|
|
ElseIf dr난방.열생산기기방식 = "전기보일러" Then
|
|
난방용량합 += TOSG(dr난방.보일러정격출력) * 존수3
|
|
난방용량합_전기 += TOSG(dr난방.보일러정격출력) * 존수3
|
|
ElseIf dr난방.열생산기기방식 = "지역난방" Then
|
|
난방용량합 += TOSG(dr난방.열교환기정격출력) * 존수3
|
|
Else
|
|
난방용량합 += 최대값 '//모를경우에는 해당값중 최대값을 사용함(임의처리함 arin)
|
|
End If
|
|
|
|
Else
|
|
|
|
|
|
|
|
|
|
|
|
펌프동력합 += TOSG(dr난방.펌프동력)
|
|
|
|
최대값 = Math.Max(TOSG(dr난방.보일러정격출력), TOSG(dr난방.열교환기정격출력))
|
|
|
|
If dr난방.열생산기기방식 = "히트펌프" Then
|
|
난방용량합 += TOSG(dr난방.히트난방용량)
|
|
If dr난방.히트연료 = "전기" Then 난방용량합_전기 += TOSG(dr난방.히트난방용량)
|
|
ElseIf dr난방.열생산기기방식 = "전기보일러" Then
|
|
난방용량합 += TOSG(dr난방.보일러정격출력)
|
|
난방용량합_전기 += TOSG(dr난방.보일러정격출력)
|
|
ElseIf dr난방.열생산기기방식 = "지역난방" Then
|
|
난방용량합 += TOSG(dr난방.열교환기정격출력)
|
|
Else
|
|
난방용량합 += 최대값 '//모를경우에는 해당값중 최대값을 사용함(임의처리함 arin)
|
|
End If
|
|
End If
|
|
'If 최대값 > MaxValue Then
|
|
' MaxValue = 최대값
|
|
' MaxValueTitle = dr난방.설명
|
|
'End If
|
|
Next
|
|
|
|
난방용량합_비전기 = 난방용량합 - 난방용량합_전기
|
|
If 난방용량합 <> 0 Then
|
|
난방용량비율_전기 = (난방용량합_전기 / 난방용량합) * 100
|
|
난방용량비율_비전기 = (난방용량합_비전기 / 난방용량합) * 100
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉난방방식_난방 : Row += 1 '//난방
|
|
|
|
'//기계부문평가항목-냉난방방식-냉방
|
|
'MaxValue = 0
|
|
'MaxValueTitle = ""
|
|
Dim 냉방용량합 As Decimal = 0
|
|
Dim 냉방용량합_전기 As Decimal = 0
|
|
Dim 냉난방방식_냉방 As String = ""
|
|
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code <> '0'")
|
|
Dim filter As String = String.Format("열생산냉방생산기기='{0}' or 공조냉방생산기기='{0}'", dr냉방.code)
|
|
Dim 존수4 As Integer = 0
|
|
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select(filter)
|
|
If Not IsNumeric(dr존.입력존의수) Then dr존.입력존의수 = "1"
|
|
존수4 += CInt(dr존.입력존의수)
|
|
Next
|
|
|
|
If Not IsNumeric(dr냉방.냉동기용량) Then dr냉방.냉동기용량 = "0"
|
|
|
|
Dim 개별식형태 As Boolean = dr냉방.개별기기적용
|
|
If Not 개별식형태 AndAlso 존수4 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
|
|
|
If 냉난방방식_냉방 = "" Then
|
|
냉난방방식_냉방 = IIf(개별식형태, "개별식", "중앙식")
|
|
ElseIf 냉난방방식_냉방 = "개별식" AndAlso Not 개별식형태 Then
|
|
냉난방방식_냉방 = "혼합식"
|
|
ElseIf 냉난방방식_냉방 = "중앙식" AndAlso 개별식형태 Then
|
|
냉난방방식_냉방 = "혼합식"
|
|
End If
|
|
|
|
|
|
Dim 최대값 As Decimal = 0
|
|
If dr냉방.개별기기적용 Then
|
|
최대값 = TOSG(dr냉방.냉동기용량) * 존수4
|
|
냉방용량합 += TOSG(dr냉방.냉동기용량) * 존수4
|
|
If dr냉방.냉동기방식 = "압축식" Then 냉방용량합_전기 += TOSG(dr냉방.냉동기용량) * 존수4
|
|
Else
|
|
최대값 = TOSG(dr냉방.냉동기용량)
|
|
냉방용량합 += TOSG(dr냉방.냉동기용량)
|
|
If dr냉방.냉동기방식 = "압축식" Then 냉방용량합_전기 += TOSG(dr냉방.냉동기용량)
|
|
End If
|
|
|
|
'If 최대값 > MaxValue Then
|
|
' MaxValue = 최대값
|
|
' MaxValueTitle = dr냉방.설명
|
|
'End If
|
|
Next
|
|
Dim 냉방용량합_비전기 As Decimal = 냉방용량합 - 냉방용량합_전기
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉난방방식_냉방 : Row += 1 '//냉방
|
|
|
|
'//전력수요관리시설(냉방)-전기사용설비-용량합 %
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방용량합_전기.ToString("N2") : Row += 1
|
|
|
|
'//전력수요관리시설(냉방)-전기사용설비-비중 %
|
|
Dim 전기사용설비비중 As Decimal = 0
|
|
If 냉방용량합 <> 0 Then 전기사용설비비중 = (냉방용량합_전기 / 냉방용량합) * 100
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 전기사용설비비중.ToString("N2") : Row += 1
|
|
|
|
'//전력수요관리시설(냉방)-비전기사용설비-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방용량합_비전기.ToString("N2") : Row += 1
|
|
'//전력수요관리시설(냉방)-비전기사용설비-비중
|
|
Dim 비전기사용설비비중 As Decimal = 0
|
|
If 냉방용량합 <> 0 Then 비전기사용설비비중 = (냉방용량합_비전기 / 냉방용량합) * 100
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비전기사용설비비중.ToString("N2") : Row += 1
|
|
|
|
'//전력수요관리시설(난방)-전기사용설비-용량 kw
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방용량합_전기.ToString("N2") : Row += 1
|
|
'//전력수요관리시설(난방)-전기사용설비-비중 %
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방용량비율_전기.ToString("N2") : Row += 1
|
|
'//전력수요관리시설(난방)-비전기사용설비-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방용량합_비전기.ToString("N2") : Row += 1
|
|
'//전력수요관리시설(난방)-비전기사용설비-비중
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방용량비율_비전기.ToString("N2") : Row += 1
|
|
|
|
'/온열월설비-난방방식
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.온열원설비방식 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.온열원설비연료 : Row += 1 '/온열월설비-사용연료
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.온열원용량 : Row += 1 '/온열월설비-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.온열원효율 : Row += 1 '/온열월설비-효율
|
|
|
|
'/냉열원설비-냉방방식
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.냉열원설비방식 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.냉열원설비연료 : Row += 1 '/냉열원설비-사용연료
|
|
'//냉열원설비용량 160214
|
|
Dim 냉열원설비용량 As Decimal = 0
|
|
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code <> '0'")
|
|
If Not IsNumeric(dr냉방.냉동기용량) Then dr냉방.냉동기용량 = "0"
|
|
|
|
If Not dr냉방.개별기기적용 Then
|
|
냉열원설비용량 += dr냉방.냉동기용량
|
|
Else
|
|
Dim filter As String = String.Format("열생산냉방생산기기='{0}' or 공조냉방생산기기='{0}'", dr냉방.code)
|
|
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select(filter)
|
|
Dim cnt As Integer = 0
|
|
For Each drow As DS.tbl_zoneRow In DR
|
|
Dim 입력존수문자 As Integer = drow.입력존의수
|
|
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
|
cnt += CInt(입력존수문자)
|
|
Next
|
|
냉열원설비용량 += (dr냉방.냉동기용량 * cnt)
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉열원설비용량 : Row += 1 '/냉열원설비-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.냉열원효율 : Row += 1 '/냉열원설비-효율
|
|
|
|
'//급탕설비-급탕방식
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.급탕설비방식 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.급탕설비연료 : Row += 1 '//급탕설비-사용연료
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.급탕용량 : Row += 1 '//급탕설비-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.급탕효율 : Row += 1 '//급탕설비-효율
|
|
|
|
'//펌프-순환수용-동력
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 펌프동력합.ToString("N2") : Row += 1
|
|
|
|
'//펌프-순환수용-효율(eco2 미지원)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "X" : Row += 1
|
|
|
|
'//펌프-급탕용-동력
|
|
Dim dr난방기기() As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Select("code <> '0' and code <> '0000'")
|
|
Dim 펌프_급탕용_동력합 As Decimal = 0.0F
|
|
For Each dr난방 As DS.tbl_nanbangkikiRow In dr난방기기
|
|
Dim 연결존수 As Integer = 0
|
|
Dim DRZ() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산급탕생산기기='" & dr난방.code & "'")
|
|
For Each drow As DS.tbl_zoneRow In DRZ
|
|
Dim 입력존수문자 As Integer = drow.입력존의수
|
|
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
|
연결존수 += CInt(입력존수문자)
|
|
Next
|
|
If 연결존수 > 0 Then
|
|
If Not IsNumeric(dr난방.펌프동력급탕) Then dr난방.펌프동력급탕 = "0"
|
|
펌프_급탕용_동력합 += TOSG(dr난방.펌프동력급탕)
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 펌프_급탕용_동력합 : Row += 1
|
|
'//펌프-급탕용-효율(eco2 미지원)
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "X" : Row += 1
|
|
|
|
'//송풍기관련로직(160211)
|
|
Dim filter2 As String = "code <> '0' and code <> '0000' and ( 열교환기유형 = '전열교환' or 열교환기유형='현열교환' or 열교환기유형 = '열회수불가')"
|
|
filter2 = "code <> '0' and code <> '0000'"
|
|
Dim dr공조기기() As DS.tbl_kongjoRow = DSET1.tbl_kongjo.Select(filter2)
|
|
Dim 송풍기_급기_풍량_합 As Decimal = 0
|
|
Dim 송풍기_급기_팬동력_합 As Decimal = 0
|
|
Dim 송풍기_급기_팬효율_평균 As Decimal = 0
|
|
Dim 송풍기_급기_팬효율_합 As Decimal = 0
|
|
Dim 송풍기_배기_풍량_합 As Decimal = 0
|
|
Dim 송풍기_배기_팬동력_합 As Decimal = 0
|
|
Dim 송풍기_배기_팬효율_평균 As Decimal = 0
|
|
Dim 송풍기_배기_팬효율_합 As Decimal = 0
|
|
Dim 전열교환기_풍량_합 As Decimal = 0
|
|
Dim 전열교환기_전열풍량_합 As Decimal = 0
|
|
Dim 전열교환기_열회수효율_난방_합 As Decimal = 0
|
|
Dim 전열교환기_열회수효율_냉방_합 As Decimal = 0
|
|
Dim 전열교환기_열회수효율_난방_수 As Integer = 0
|
|
Dim 전열교환기_열회수효율_냉방_수 As Integer = 0
|
|
|
|
'Dim 송풍기연결면적합 As Decimal = 0 '//전체면적합
|
|
|
|
'//160327 로직변경
|
|
For Each dr공조 As DS.tbl_kongjoRow In dr공조기기
|
|
|
|
|
|
Dim 연결존수 As Integer = 0
|
|
Dim DRz() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("냉난방공조처리시스템='" & dr공조.code & "'")
|
|
If DRz.Length < 1 Then Continue For '//연결이되지 않은 기기는 넘어가도록 한다
|
|
|
|
For Each drow As DS.tbl_zoneRow In DRz
|
|
If Not IsNumeric(drow.입력존의수) Then drow.입력존의수 = "0"
|
|
If Not IsNumeric(drow.면적) Then drow.면적 = "0"
|
|
연결존수 += CInt(drow.입력존의수)
|
|
'송풍기연결면적합 += (TOSG(drow.면적) * TOSG(drow.입력존의수))
|
|
Next
|
|
|
|
'//연결된 존중 입력존의수값이 0이라면 처리하지 않는다
|
|
If 연결존수 < 1 Then Continue For
|
|
|
|
'//160327 - 열교환기유형에따라서 계산식 변경
|
|
If dr공조.열교환기유형 = "열회수불가" Then
|
|
|
|
'//송풍기
|
|
송풍기_급기_풍량_합 += TOSG(dr공조.급기풍량)
|
|
송풍기_급기_팬동력_합 += TOSG(dr공조.급기팬동력)
|
|
If TOSG(dr공조.총효율급기팬) > 0 Then
|
|
송풍기_급기_팬효율_합 += TOSG(dr공조.총효율급기팬) * TOSG(dr공조.급기풍량)
|
|
End If
|
|
|
|
송풍기_배기_풍량_합 += TOSG(dr공조.배기풍량)
|
|
송풍기_배기_팬동력_합 += TOSG(dr공조.배기팬동력)
|
|
If TOSG(dr공조.총효율배기팬) > 0 Then
|
|
송풍기_배기_팬효율_합 += TOSG(dr공조.총효율배기팬) * TOSG(dr공조.배기풍량)
|
|
End If
|
|
|
|
Else
|
|
|
|
'//전열교환기
|
|
If TOSG(dr공조.열회수율) <> 0 Then
|
|
전열교환기_열회수효율_난방_합 += TOSG(dr공조.열회수율)
|
|
전열교환기_열회수효율_난방_수 += 1
|
|
End If
|
|
|
|
If TOSG(dr공조.열회수율냉) <> 0 Then
|
|
전열교환기_열회수효율_냉방_합 += TOSG(dr공조.열회수율냉)
|
|
전열교환기_열회수효율_냉방_수 += 1
|
|
End If
|
|
|
|
전열교환기_풍량_합 += TOSG(dr공조.급기풍량) + TOSG(dr공조.배기풍량)
|
|
|
|
If dr공조.열교환기유형 = "전열교환" Then
|
|
전열교환기_전열풍량_합 += TOSG(dr공조.급기풍량) + TOSG(dr공조.배기풍량)
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
|
|
If 송풍기_급기_풍량_합 > 0 Then
|
|
송풍기_급기_팬효율_평균 = 송풍기_급기_팬효율_합 / 송풍기_급기_풍량_합
|
|
End If
|
|
If 송풍기_배기_풍량_합 > 0 Then
|
|
송풍기_배기_팬효율_평균 = 송풍기_배기_팬효율_합 / 송풍기_배기_풍량_합
|
|
End If
|
|
|
|
|
|
'//송풍기-급기-풍량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 송풍기_급기_풍량_합 : Row += 1
|
|
'//송풍기-급기-동력
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 송풍기_급기_팬동력_합 : Row += 1
|
|
'//송풍기-급기-효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 송풍기_급기_팬효율_평균.ToString("N3") : Row += 1
|
|
|
|
'//송풍기-배기-풍량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 송풍기_배기_풍량_합 : Row += 1
|
|
'//송풍기-배기-동력
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 송풍기_배기_팬동력_합 : Row += 1
|
|
'//송풍기-배기-효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 송풍기_배기_팬효율_평균.ToString("N3") : Row += 1
|
|
|
|
'//전열교환기-풍량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 전열교환기_풍량_합 : Row += 1
|
|
'//전열교환기-비중
|
|
Dim 전열교환기비중 As Decimal = 0
|
|
If 전열교환기_풍량_합 > 0 Then 전열교환기비중 = (전열교환기_풍량_합 / (전열교환기_풍량_합 + 송풍기_배기_풍량_합 + 송풍기_급기_풍량_합)) * 100
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 전열교환기비중.ToString("N3") + "%" : Row += 1
|
|
'//전열교환기-열회수효율-난방
|
|
Dim 전열교환기_열회수효율_난방_평균 As Decimal = 0
|
|
If 전열교환기_열회수효율_난방_수 > 0 Then 전열교환기_열회수효율_난방_평균 = 전열교환기_열회수효율_난방_합 / 전열교환기_열회수효율_난방_수
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 전열교환기_열회수효율_난방_평균 : Row += 1
|
|
'//전열교환기-열회수효율-냉방
|
|
Dim 전열교환기_열회수효율_냉방_평균 As Decimal = 0
|
|
If 전열교환기_열회수효율_냉방_수 > 0 Then 전열교환기_열회수효율_냉방_평균 = 전열교환기_열회수효율_냉방_합 / 전열교환기_열회수효율_냉방_수
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 전열교환기_열회수효율_냉방_평균 : Row += 1
|
|
|
|
'//조명에너지-평균조명에너지부하율
|
|
Dim 조명에너지_부하율합 As Decimal = 0
|
|
Dim 조명에너지_면적합 As Decimal = 0
|
|
For Each drZone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0' and code <>'0000' and 면적 <> '0' and 면적 <> ''")
|
|
|
|
'//입력오류 체크
|
|
If Not IsNumeric(drZone.면적) Then drZone.면적 = "0"
|
|
If Not IsNumeric(drZone.입력존의수) Then drZone.입력존의수 = "1"
|
|
If Not IsNumeric(drZone.조명에너지부하율입력치) Then drZone.조명에너지부하율입력치 = "0"
|
|
If Not IsNumeric(drZone.조명에너지부하율계산치) Then drZone.조명에너지부하율계산치 = "0"
|
|
|
|
If drZone.면적 <> "0" Then
|
|
조명에너지_면적합 += CInt(drZone.입력존의수) * TOSG(drZone.면적) '//모든면적의총합
|
|
|
|
If drZone.조명부하산출방법 = "입력치" Then
|
|
조명에너지_부하율합 += TOSG(drZone.조명에너지부하율입력치) * (CInt(drZone.입력존의수) * TOSG(drZone.면적))
|
|
ElseIf drZone.조명부하산출방법 = "계산치" Then
|
|
조명에너지_부하율합 += TOSG(drZone.조명에너지부하율계산치) * (CInt(drZone.입력존의수) * TOSG(drZone.면적))
|
|
End If
|
|
End If
|
|
|
|
|
|
Next
|
|
Dim 평균조명에너지부하율 As Decimal = 0
|
|
If 조명에너지_면적합 <> 0 Then 평균조명에너지부하율 = (조명에너지_부하율합 / 조명에너지_면적합)
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 평균조명에너지부하율.ToString("N2") : Row += 1
|
|
'//조명에너지-주조명광원
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.주조명광원 : Row += 1
|
|
|
|
'//태양열-난방-용량
|
|
Dim 난방축열탱크용량_합 As Decimal = 0
|
|
Dim 급탕축열탱크용량_합 As Decimal = 0
|
|
Dim 태양열면적_합 As Decimal = 0
|
|
Dim 태양열계수_합 As Decimal = 0
|
|
Dim 태양광모듈효율_합 As Decimal = 0
|
|
Dim 태양광면적_합 As Decimal = 0
|
|
Dim 태양광용량_합 As Decimal = 0
|
|
For Each dr신재생 As DS.tbl_newRow In DSET1.tbl_new.Select("code <> '0'")
|
|
If dr신재생.기기종류 = "태양열" Then
|
|
If Not IsNumeric(dr신재생.축열탱크체적급탕) Then dr신재생.축열탱크체적급탕 = "0"
|
|
If Not IsNumeric(dr신재생.축열탱크체적난방) Then dr신재생.축열탱크체적난방 = "0"
|
|
If Not IsNumeric(dr신재생.집열판면적) Then dr신재생.집열판면적 = "0"
|
|
If Not IsNumeric(dr신재생.무손실효율계수) Then dr신재생.무손실효율계수 = "0"
|
|
급탕축열탱크용량_합 += dr신재생.축열탱크체적급탕
|
|
난방축열탱크용량_합 += dr신재생.축열탱크체적난방
|
|
If dr신재생.무손실효율계수 <> "0" Then
|
|
태양열면적_합 += dr신재생.집열판면적
|
|
태양열계수_합 += (dr신재생.무손실효율계수 * dr신재생.집열판면적)
|
|
End If
|
|
ElseIf dr신재생.기기종류 = "태양광" Then
|
|
If Not IsNumeric(dr신재생.태양광모듈면적) Then dr신재생.태양광모듈면적 = "0"
|
|
If Not IsNumeric(dr신재생.태양광모듈효율) Then dr신재생.태양광모듈효율 = "0"
|
|
If Not IsNumeric(dr신재생.태양광용량) Then dr신재생.태양광용량 = "0"
|
|
태양광용량_합 += dr신재생.태양광용량
|
|
If dr신재생.태양광모듈효율 <> "0" Then
|
|
태양광면적_합 += dr신재생.태양광모듈면적
|
|
태양광모듈효율_합 += (dr신재생.태양광모듈효율 * dr신재생.태양광모듈면적)
|
|
End If
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방축열탱크용량_합.ToString("N3") : Row += 1
|
|
'//태양열-난방-효율
|
|
Dim 태양열난방_효율 As Decimal = 0
|
|
If 태양열면적_합 <> 0 Then 태양열난방_효율 = 태양열계수_합 / 태양열면적_합
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열난방_효율.ToString("N3") : Row += 1
|
|
'//태양열-급탕-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕축열탱크용량_합.ToString("N3") : Row += 1
|
|
'//태양열-급탕-효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "X" : Row += 1
|
|
'//태양열-집열판면적
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양열집열판면적 : Row += 1
|
|
'//태양열-집열판유형
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양열집열기유형 : Row += 1
|
|
'//태양열-집열판방위
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양열집열판방위 : Row += 1
|
|
|
|
'//태양광-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광용량_합.ToString("N3") : Row += 1
|
|
'//태양광-효율
|
|
Dim 태양광_효율 As Decimal = 0
|
|
If 태양광면적_합 <> 0 Then 태양광_효율 = 태양광모듈효율_합 / 태양광면적_합
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광_효율.ToString("N3") : Row += 1
|
|
'//태양광-모듈면적
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양광모듈면적 : Row += 1
|
|
'//태양광-모듈기울기
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양광모듈기울기 : Row += 1
|
|
'//태양광-모듈방위
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양광모듈방위 : Row += 1
|
|
'//태양광-모듈종류
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양광모듈종류 : Row += 1
|
|
'//태양광-모듈적용타입
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.태양광모듈적용타입 : Row += 1
|
|
|
|
'//지열-난방-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.지열히트펌프용량 : Row += 1
|
|
'//지열-난방-효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.지열난방COP : Row += 1
|
|
'//지열-냉방-용량
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.지열히트펌프용량냉방 : Row += 1
|
|
'//지열-냉방-효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.지열냉방COP : Row += 1
|
|
|
|
'//열병합-열생산능력
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.열병합열생산능력 : Row += 1
|
|
'//열병합-열생산효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.열병합열생산효율 : Row += 1
|
|
'//열병합-발전효율
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.열병합발전효율 : Row += 1
|
|
'//열병합-가동연료
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drYK.열병합가동연료 : Row += 1
|
|
|
|
'//신재생 및 열병합 에너지생산량 (68 69 70 71 2page 계산결과 treq, grp=310)
|
|
Dim 신재생에너지생산량합 As Decimal = 0
|
|
Dim 신재생에너지생산량 As Decimal = 0
|
|
For Each dr As DSR.TReqUseRow In DSETR1.TReqUse.Select("grp = '310'")
|
|
If dr.Code = "068" OrElse dr.Code = "069" OrElse dr.Code = "070" OrElse dr.Code = "071" Then
|
|
신재생에너지생산량합 += dr.M00
|
|
End If
|
|
Next
|
|
Dim 조명사용면적 As Decimal = 0
|
|
For Each dr As DSR.TReqUseRow In DSETR1.TReqUse.Select("grp = '110'")
|
|
If dr.Code = "015" Then
|
|
조명사용면적 += dr.M00
|
|
Exit For
|
|
End If
|
|
Next
|
|
If 조명사용면적 <> 0 Then 신재생에너지생산량 = 신재생에너지생산량합 / 조명사용면적
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 신재생에너지생산량.ToString("N2") : Row += 1
|
|
|
|
'//평가책임자
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "X" : Row += 1
|
|
|
|
'//평가자
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "X" : Row += 1
|
|
|
|
'//에너지효율등급
|
|
Dim 에너지효율등급 As Integer = 평가결과등급(주거용, 일차에너지소요량합계)
|
|
Dim 등급문자 As String = ""
|
|
Select Case 에너지효율등급
|
|
Case 1
|
|
등급문자 = "1+++등급"
|
|
Case 2
|
|
등급문자 = "1++등급"
|
|
Case 3
|
|
등급문자 = "1+등급"
|
|
Case 4
|
|
등급문자 = "1등급"
|
|
Case 5
|
|
등급문자 = "2등급"
|
|
Case 6
|
|
등급문자 = "3등급"
|
|
Case 7
|
|
등급문자 = "4등급"
|
|
Case 8
|
|
등급문자 = "5등급"
|
|
Case 9
|
|
등급문자 = "6등급"
|
|
Case 10
|
|
등급문자 = "7등급"
|
|
End Select
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 등급문자 : Row += 1
|
|
|
|
'//예비인증 등급
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "X" : Row += 1
|
|
|
|
'//냉방시스템설치여부(입력존에서 열생산기기 냉방에 연결된 데이터가 있다면 O)
|
|
Dim 냉방시스템설치여부 As Boolean = False
|
|
For Each drZone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
|
|
If drZone.열생산냉방생산기기 <> "0" AndAlso drZone.열생산냉방생산기기.Length > 3 Then
|
|
냉방시스템설치여부 = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = IIf(냉방시스템설치여부, "Y", "N") : Row += 1
|
|
|
|
'//신청지역
|
|
Dim 지역코드 As String = drDesc.buildarea
|
|
Dim 지역명 As String = ""
|
|
If 지역코드 <> "0000" Then
|
|
Dim drWeather() As DS.tbl_weatherRow = DSET1.tbl_weather.Select("code='" + 지역코드 + "'")
|
|
If drWeather.Length = 1 Then 지역명 = drWeather(0).건물위치
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 지역명 : Row += 1
|
|
|
|
'//자립률관련추가 170725
|
|
'//170725
|
|
Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
|
Dim 단위면적당신재생1차에너지합_offsite As Decimal = 0
|
|
Dim 단위면적당1차에너소비량합 As Decimal = 0
|
|
Dim 에너지자립률 As Double = 0
|
|
Dim 에너지자립률_offsite As Double = 0
|
|
|
|
Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
Dim Sum_offsite As Decimal = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite + Result1.생산E(0).연료전지전력생산량_offsite) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방면적 As Decimal = 0
|
|
Dim 냉방면적 As Decimal = 0
|
|
Dim 조명면적 As Decimal = 0
|
|
Dim 급탕면적 As Decimal = 0
|
|
Dim 환기면적 As Decimal = 0
|
|
|
|
Dim 난방면적_offsite As Decimal = 0
|
|
Dim 냉방면적_offsite As Decimal = 0
|
|
Dim 조명면적_offsite As Decimal = 0
|
|
Dim 급탕면적_offsite As Decimal = 0
|
|
Dim 환기면적_offsite As Decimal = 0
|
|
|
|
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
|
End If
|
|
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적_offsite = TOSG(IIf(난방_offsite = 0, 0, 난방_offsite / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적_offsite = TOSG(IIf(냉방_offsite = 0, 0, 냉방_offsite / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적_offsite = TOSG(IIf(조명_offsite = 0, 0, 조명_offsite / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적_offsite = TOSG(IIf(급탕_offsite = 0, 0, 급탕_offsite / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적_offsite = TOSG(IIf(환기_offsite = 0, 0, 환기_offsite / Result1.사용면적.V))
|
|
End If
|
|
|
|
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite
|
|
|
|
'//열병합신재생에너지추가 130831 arin
|
|
Dim _자립_신재생에너지 As Single = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + 전기 * 2.75)
|
|
Dim _자립_신재생에너지_offsite As Single = -1 * (전기_offsite * 2.75)
|
|
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
|
냉방에너지 = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
|
급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
|
조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
|
환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
|
단위면적당신재생1차에너지합 = Math.Round(-1 * _자립_신재생에너지, 1)
|
|
단위면적당신재생1차에너지합_offsite = Math.Round(-1 * _자립_신재생에너지_offsite, 1)
|
|
|
|
|
|
단위면적당1차에너소비량합 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지 + 단위면적당신재생1차에너지합
|
|
If 단위면적당1차에너소비량합 <> 0 Then
|
|
'에너지자립률 = (단위면적당신재생1차에너지합 / 단위면적당1차에너소비량합) * 100
|
|
|
|
에너지자립률 = (Math.Round(단위면적당신재생1차에너지합, 1) / 단위면적당1차에너소비량합) * 100
|
|
|
|
Dim scale As Decimal = 0
|
|
If 에너지자립률 >= 20 Then
|
|
scale = 1.0
|
|
ElseIf 에너지자립률 >= 15 Then
|
|
scale = 0.9
|
|
ElseIf 에너지자립률 >= 10 Then
|
|
scale = 0.8
|
|
Else
|
|
scale = 0.7
|
|
End If
|
|
|
|
에너지자립률_offsite = (Math.Round(단위면적당신재생1차에너지합_offsite * scale, 1) / 단위면적당1차에너소비량합) * 100
|
|
에너지자립률 += 에너지자립률_offsite
|
|
|
|
Else
|
|
에너지자립률 = 0
|
|
에너지자립률_offsite = 0
|
|
End If
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지자립률.ToString("N2") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 단위면적당신재생1차에너지합.ToString("N1") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 단위면적당1차에너소비량합.ToString("N1") : Row += 1
|
|
|
|
'//210702
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지자립률_offsite.ToString("N2") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 단위면적당신재생1차에너지합_offsite.ToString("N1") : Row += 1
|
|
|
|
|
|
'//240105
|
|
Dim vv0 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='007'")(0), DSR.TReqUseRow).M00
|
|
Dim vv1 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='012'")(0), DSR.TReqUseRow).M00
|
|
Dim vv2 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='015'")(0), DSR.TReqUseRow).M00
|
|
Dim vv3 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='018'")(0), DSR.TReqUseRow).M00
|
|
Dim vv4 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='019'")(0), DSR.TReqUseRow).M00
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv2 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv3 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv4 : Row += 1
|
|
|
|
Dim 면적합값 As Tuple(Of Decimal, Int32) = Pub.면적존수합()
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적합값.Item1 : Row += 1
|
|
|
|
'//난방 1차에너지소요량
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = v3_1.ToString("N1") : Row += 1 '//난방
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='040'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='041'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='042'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='043'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='044'")(0), DSR.TReqUseRow).M00
|
|
Dim vv5 As Decimal = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='045'")(0), DSR.TReqUseRow).M00
|
|
Dim vv6 As Decimal
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv2 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv3 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv4 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv5 : Row += 1
|
|
|
|
'//냉방 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='047'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='048'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='049'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='050'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='051'")(0), DSR.TReqUseRow).M00
|
|
vv5 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='052'")(0), DSR.TReqUseRow).M00
|
|
vv6 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='053'")(0), DSR.TReqUseRow).M00
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv2 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv3 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv4 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv5 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv6 : Row += 1
|
|
|
|
'//급탕 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='055'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='056'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='057'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='058'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='059'")(0), DSR.TReqUseRow).M00
|
|
vv5 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='060'")(0), DSR.TReqUseRow).M00
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv2 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv3 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv4 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv5 : Row += 1
|
|
|
|
'//조명 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='062'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='063'")(0), DSR.TReqUseRow).M00
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
|
|
'//전기 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='065'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='066'")(0), DSR.TReqUseRow).M00
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
|
|
'//신재생 생산량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='068'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='069'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='070'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='071'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='072'")(0), DSR.TReqUseRow).M00
|
|
vv5 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='073'")(0), DSR.TReqUseRow).M00
|
|
vv6 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='074'")(0), DSR.TReqUseRow).M00
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv0 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv1 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv2 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv3 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv4 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv5 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = vv6 : Row += 1
|
|
|
|
'//풍력회전면적(최대)
|
|
Dim 풍력로우터회전면적 As Decimal = 0
|
|
Dim 풍력허브높이 As Decimal = 0
|
|
For Each dr As DS.tbl_newRow In DSET1.tbl_new
|
|
If dr.기기종류 <> "풍력" Then Continue For
|
|
|
|
If dr.풍력로우터회전면적 > 풍력로우터회전면적 Then
|
|
풍력로우터회전면적 = dr.풍력로우터회전면적
|
|
풍력허브높이 = dr.풍력허브높이
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 풍력로우터회전면적 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 풍력허브높이 : Row += 1
|
|
|
|
'//수열월(최대)
|
|
Dim 수열시스템펌프용량 As Decimal = 0
|
|
Dim 수열시스템난방 As Decimal = 0
|
|
Dim 수열시스템냉방 As Decimal = 0
|
|
Dim 수열원 As String = ""
|
|
For Each dr As DS.tbl_newRow In DSET1.tbl_new
|
|
If dr.기기종류 <> "수열" Then Continue For
|
|
If dr.수열_수열히트펌프용량 > 수열시스템펌프용량 Then
|
|
수열시스템펌프용량 = dr.수열_수열히트펌프용량
|
|
수열시스템난방 = dr.수열_열성능비_난방5도
|
|
수열시스템냉방 = dr.수열_열성능비_냉방35도
|
|
수열원 = dr.수열_수열원
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 수열원 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 수열시스템펌프용량 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 수열시스템난방 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 수열시스템냉방 : Row += 1
|
|
|
|
'태양광(BIPV)
|
|
Dim 태양광모듈면적 As Decimal = 0
|
|
Dim dr태양광bipv As DS.tbl_newRow = Nothing
|
|
Dim 태양광용량_합_BIPV As Decimal = 0
|
|
Dim 태양광면적_합_BIPV As Decimal = 0
|
|
Dim 태양광모듈효율_합_BIPV As Decimal = 0
|
|
For Each dr As DS.tbl_newRow In DSET1.tbl_new
|
|
If dr.기기종류 <> "태양광" Then Continue For
|
|
If dr.태양광모듈적용타입 <> "밀착형" Then Continue For
|
|
|
|
|
|
If Not IsNumeric(dr.태양광모듈면적) Then dr.태양광모듈면적 = "0"
|
|
If Not IsNumeric(dr.태양광모듈효율) Then dr.태양광모듈효율 = "0"
|
|
If Not IsNumeric(dr.태양광용량) Then dr.태양광용량 = "0"
|
|
태양광용량_합_BIPV += dr.태양광용량
|
|
If dr.태양광모듈효율 <> "0" Then
|
|
태양광면적_합_BIPV += dr.태양광모듈면적
|
|
태양광모듈효율_합_BIPV += (dr.태양광모듈효율 * dr.태양광모듈면적)
|
|
End If
|
|
|
|
|
|
If dr.태양광모듈면적 > 태양광모듈면적 Then
|
|
태양광모듈면적 = dr.태양광모듈면적
|
|
dr태양광bipv = dr
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광용량_합_BIPV : Row += 1
|
|
If 태양광면적_합_BIPV = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (태양광모듈효율_합_BIPV / 태양광면적_합_BIPV) : Row += 1
|
|
End If
|
|
|
|
|
|
If dr태양광bipv Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = dr태양광bipv.태양광모듈면적 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = dr태양광bipv.태양광모듈기울기 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = dr태양광bipv.태양광모듈방위 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = dr태양광bipv.태양광모듈종류 : Row += 1
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = dr태양광bipv.태양광모듈적용타입 : Row += 1
|
|
End If
|
|
|
|
'//히트펌프
|
|
Dim 히트펌프용량_가스_난방 As Decimal = 0
|
|
Dim 히트펌프용량_전기_난방 As Decimal = 0
|
|
Dim 히트펌프용량_가스_냉방 As Decimal = 0
|
|
Dim 히트펌프용량_전기_냉방 As Decimal = 0
|
|
|
|
For Each dr As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki
|
|
If dr.히트연료.EndsWith("가스") Then
|
|
히트펌프용량_가스_난방 += dr.히트난방용량
|
|
ElseIf dr.히트연료 = "전기" Then
|
|
히트펌프용량_전기_난방 += dr.히트난방용량
|
|
End If
|
|
Next
|
|
|
|
For Each dr As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki
|
|
If dr.냉동기종류 <> "실내공조시스템" Then Continue For
|
|
If dr.냉동기방식 = "압축식(LNG)" Then
|
|
히트펌프용량_가스_냉방 += dr.냉동기용량
|
|
ElseIf dr.냉동기방식 = "압축식" Then
|
|
히트펌프용량_전기_냉방 += dr.냉동기용량
|
|
End If
|
|
Next
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 히트펌프용량_가스_난방 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 히트펌프용량_전기_난방 : Row += 1
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 히트펌프용량_가스_냉방 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 히트펌프용량_전기_냉방 : Row += 1
|
|
|
|
'//추가작업 230724
|
|
'If column < 11 Then Return '//아래는 매크로동작시 전체출력되도록 241209
|
|
|
|
'FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = processfile : Row += 1
|
|
|
|
'//벽체면적
|
|
Dim WallArea As Decimal = 0
|
|
Dim WindowArea As Decimal = 0
|
|
Dim 열관류율합 As Double
|
|
Dim 존수 As Integer = 0
|
|
Dim 비연결 As Integer = 0
|
|
Dim 비연결존 As String = ""
|
|
Dim 방위목록() As String = New String() {"수평", "남", "남동", "동", "북동", "북", "북서", "서", "남서"}
|
|
Dim 외피면적비_지붕포함합 As Decimal = 0
|
|
For Each 방위 As String In 방위목록
|
|
Dim filter As String = "code <> '0' and (건축부위방식='외벽' or 건축부위방식 ='외부창' or 건축부위방식='내벽' or 건축부위방식 ='내부창')"
|
|
If 방위 <> "" Then filter += " and 방위='" + 방위 + "'"
|
|
Dim 면데이터() As DS.tbl_myounRow = DSET1.tbl_myoun.Select(filter)
|
|
Dim 열관없는갯수 As Integer = 0
|
|
Try
|
|
For Each Dr입력면 As DS.tbl_myounRow In 면데이터
|
|
Dim 열관 As Single = 0
|
|
|
|
If Dr입력면.열관류율2 = "0" OrElse Dr입력면.열관류율2 = "" Then
|
|
열관없는갯수 += 1
|
|
End If
|
|
|
|
Dim Dryk1 As DS.tbl_ykRow = Nothing
|
|
If Dr입력면.열관류율2 <> "0" Then '
|
|
Dryk1 = DSET1.tbl_yk.Select("code='" & Dr입력면.열관류율2 & "'")(0)
|
|
열관 = TOSG(Dryk1("열관류율").ToString)
|
|
Else '//선택안된경우
|
|
열관 = TOSG(Dr입력면.열관류율)
|
|
End If
|
|
|
|
Dim 존코드 As String = Dr입력면.존분류
|
|
Dim dr존() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code='" + 존코드 + "'")
|
|
If dr존.GetUpperBound(0) = -1 Then
|
|
존수 = 1
|
|
Else
|
|
If IsNumeric(dr존(0).입력존의수) Then
|
|
존수 = CInt(dr존(0).입력존의수)
|
|
Else
|
|
존수 = 1
|
|
End If
|
|
End If
|
|
|
|
Select Case Dr입력면.건축부위방식
|
|
Case "외벽"
|
|
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내벽"
|
|
열관류율합 += 열관 * 0.7 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외부창"
|
|
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내부창"
|
|
열관류율합 += 열관 * 0.8 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
End Select
|
|
|
|
'// Debug.WriteLine(Dr입력면.열관류율2 + "/" + Dr입력면.code + "/" + 열관.ToString() + "/" + Dr입력면.설명 + "/" + Dr입력면.건축부위면적.ToCharArray() + "/" + 존수.ToString() + "/" + 열관류율합.ToString(), True)
|
|
|
|
If Dryk1 Is Nothing Then
|
|
비연결 += 1
|
|
|
|
'//사용한 존
|
|
If dr존 Is Nothing Then
|
|
Else
|
|
비연결존 = dr존(0).설명 + "의 " + Dr입력면.설명
|
|
End If
|
|
|
|
|
|
'//열관류 선택안된경우
|
|
Select Case Dr입력면.건축부위방식
|
|
Case "외벽"
|
|
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End If
|
|
Case "내벽" '
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외부창"
|
|
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End If
|
|
Case "내부창"
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End Select
|
|
|
|
Else
|
|
|
|
Dim 면형태이름 As String = Get_CName("1088", Dryk1.면형태)
|
|
Select Case 면형태이름
|
|
Case "외벽(벽체)"
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
외피면적비_지붕포함합 += TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내벽(벽체)"
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외부창"
|
|
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End If
|
|
외피면적비_지붕포함합 += TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외벽(지붕)"
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
외피면적비_지붕포함합 += TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내부창"
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End Select
|
|
|
|
|
|
|
|
End If
|
|
|
|
'Debug.WriteLine(Dr입력면.code + ":wall=" + WallArea.ToString() + ",win=" + WindowArea.ToString())
|
|
Next
|
|
'For Each Dr입력면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외부창'")
|
|
' WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
'Next
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = WallArea.ToString("N1") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = WindowArea.ToString("N1") : Row += 1
|
|
|
|
|
|
Try
|
|
창및문면적비 = WindowArea / (WallArea + WindowArea) * 100
|
|
Catch ex As Exception
|
|
창및문면적비 = 0 '//게삭과정에 오류가낫다면 0처리합니다.
|
|
End Try
|
|
If WallArea + WindowArea = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "0 %" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창및문면적비.ToString("N1") : Row += 1
|
|
End If
|
|
|
|
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_평균.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_남.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_남동.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_동.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_북동.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_북.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_북서.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_서.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 창열관류율_남서.ToString("N3") : Row += 1
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_평균.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_남.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_남동.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_동.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_북동.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_북.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_북서.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_서.ToString("N3") : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 일사에너지투과율_남서.ToString("N3") : Row += 1
|
|
|
|
|
|
'//난방기기 - 보일러중에 용량이 가장 큰
|
|
Dim 보일러목록() As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Select("열생산기기방식='보일러'", "보일러정격출력 desc")
|
|
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).보일러방식 : Row += 1
|
|
End If
|
|
|
|
보일러목록 = DSET1.tbl_nanbangkiki.Select("열생산기기방식='지역난방'", "열교환기정격출력 desc")
|
|
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).지역난방방식 : Row += 1
|
|
End If
|
|
|
|
보일러목록 = DSET1.tbl_nanbangkiki.Select("열생산기기방식='히트펌프'", "히트난방용량 desc")
|
|
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트난방용량 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트난방정격7 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트난방정격10 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트배관길이 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 보일러목록(0).히트펌프시스템종류 : Row += 1
|
|
End If
|
|
|
|
|
|
Dim 냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='압축식'", "냉동기용량 desc")
|
|
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).냉동기종류 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).냉동기압축방식 : Row += 1
|
|
End If
|
|
|
|
냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='흡수식'", "냉동기용량 desc")
|
|
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).압축기제어방식 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).열생산연결방식 : Row += 1
|
|
End If
|
|
|
|
냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='압축식' and 냉동기종류='실내공조시스템'", "냉동기용량 desc")
|
|
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).냉동기설비시스템 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 냉방기목록(0).제어방식 : Row += 1
|
|
End If
|
|
|
|
'//급탕기기로 연결된 자료
|
|
Dim 급탕기기대상 As DS.tbl_nanbangkikiRow = Nothing
|
|
Dim 급탕기기대상용량 As Decimal = 0
|
|
For Each dr As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki.Rows
|
|
Dim cnt = 0
|
|
Dim 존목록() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산급탕생산기기='" & dr.code & "'")
|
|
For Each drow As DS.tbl_zoneRow In 존목록
|
|
Dim 입력존수문자 As Integer = drow.입력존의수
|
|
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
|
cnt += CInt(입력존수문자)
|
|
Next
|
|
If cnt > 0 Then
|
|
If dr.보일러정격출력 > 급탕기기대상용량 Then
|
|
급탕기기대상 = dr
|
|
급탕기기대상용량 = dr.보일러정격출력
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
If 급탕기기대상 Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕기기대상.축열탱크방식 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕기기대상.축열제척 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕기기대상.펌프정격전력 : Row += 1
|
|
End If
|
|
|
|
|
|
Dim 태양광목록() As DS.tbl_newRow = DSET1.tbl_new.Select("기기종류='태양광'", "태양광모듈면적 desc")
|
|
If 태양광목록 Is Nothing OrElse 태양광목록.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광용량 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈효율 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈면적 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈기울기 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈방위 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈종류 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광목록(0).태양광모듈적용타입 : Row += 1
|
|
End If
|
|
|
|
|
|
'//230804 에너지생산량 ` 1차 추가
|
|
Dim 에너지생산량_난방 As Decimal = 난방면적 + 난방면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_난방 + _
|
|
Result1.생산E(0).면적당생산량수열_난방 + _
|
|
Result1.생산E(0).면적당생산량지열_난방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_난방
|
|
|
|
Dim 에너지생산량_냉방 As Decimal = 냉방면적 + 냉방면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_냉방 + _
|
|
Result1.생산E(0).면적당생산량수열_냉방 + _
|
|
Result1.생산E(0).면적당생산량지열_냉방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_냉방
|
|
|
|
Dim 에너지생산량_급탕 As Decimal = 급탕면적 + 급탕면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_급탕 + _
|
|
Result1.생산E(0).면적당생산량수열_급탕 + _
|
|
Result1.생산E(0).면적당생산량지열_급탕 + _
|
|
Result1.생산E(0).신재생면적당열생산량_급탕
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_난방 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_냉방 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_급탕 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 조명면적 + 조명면적_offsite : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 환기면적 + 환기면적_offsite : Row += 1
|
|
|
|
Dim multi As Decimal = 2.75
|
|
Dim 에너지생산량_난방_1차 As Decimal = (난방면적 + 난방면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_난방 + _
|
|
Result1.생산E(0).면적당생산량수열_난방 + _
|
|
Result1.생산E(0).면적당생산량지열_난방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_난방
|
|
|
|
Dim 에너지생산량_냉방_1차 As Decimal = (냉방면적 + 냉방면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_냉방 + _
|
|
Result1.생산E(0).면적당생산량수열_냉방 + _
|
|
Result1.생산E(0).면적당생산량지열_냉방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_냉방
|
|
|
|
Dim 에너지생산량_급탕_1차 As Decimal = (급탕면적 + 급탕면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_급탕 + _
|
|
Result1.생산E(0).면적당생산량수열_급탕 + _
|
|
Result1.생산E(0).면적당생산량지열_급탕 + _
|
|
Result1.생산E(0).신재생면적당열생산량_급탕
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_난방_1차 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_냉방_1차 : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 에너지생산량_급탕_1차 : Row += 1
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (조명면적 + 조명면적_offsite) * multi : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (환기면적 + 환기면적_offsite) * multi : Row += 1
|
|
|
|
|
|
'//면적별분류(A-G) 240126
|
|
Dim AREA_A As Integer = 0
|
|
Dim AREA_B As Integer = 0
|
|
Dim AREA_C As Integer = 0
|
|
Dim AREA_D As Integer = 0
|
|
Dim AREA_E As Integer = 0
|
|
Dim AREA_F As Integer = 0
|
|
Dim AREA_G As Integer = 0
|
|
|
|
For Each dr As DS.tbl_zoneRow In DSET1.tbl_zone
|
|
If dr.code = "0" Then Continue For
|
|
|
|
Dim PROFILECODE As String = dr.프로필
|
|
Dim DR프로필() As DS.tbl_profileRow = DSET1.tbl_profile.Select("code='" + PROFILECODE + "'")
|
|
If DR프로필.Length <> 1 Then Continue For
|
|
|
|
If DR프로필(0).설명.StartsWith("00") OrElse DR프로필(0).설명.StartsWith("27") Then
|
|
Dim 면적범위 As Char = Pub.면적별범위값(TOSG(dr.면적))
|
|
If 면적범위 = "A"c Then
|
|
AREA_A += 1
|
|
ElseIf 면적범위 = "B"c Then
|
|
AREA_B += 1
|
|
ElseIf 면적범위 = "C"c Then
|
|
AREA_C += 1
|
|
ElseIf 면적범위 = "D"c Then
|
|
AREA_D += 1
|
|
ElseIf 면적범위 = "E"c Then
|
|
AREA_E += 1
|
|
ElseIf 면적범위 = "F"c Then
|
|
AREA_F += 1
|
|
ElseIf 면적범위 = "G"c Then
|
|
AREA_G += 1
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_A : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_B : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_C : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_D : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_E : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_F : Row += 1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = AREA_G : Row += 1
|
|
|
|
'//건물개요
|
|
Dim code As String = drDesc.buildarea
|
|
Dim GrpName As String = ""
|
|
Dim CodeName As String = ""
|
|
Dim GrpCode As String = code.Substring(0, 2) + "0000"
|
|
Dim GrpList() As DS.weather_groupRow = DSET1.weather_group.Select("code='" + GrpCode + "'")
|
|
If GrpList Is Nothing OrElse GrpList.Length = 1 Then
|
|
GrpName = GrpList(0).name
|
|
End If
|
|
GrpList = DSET1.weather_group.Select("code='" + code + "'")
|
|
If GrpList Is Nothing OrElse GrpList.Length = 1 Then
|
|
CodeName = GrpList(0).name
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = GrpName : Row += 1 '신청지역 대분류
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = CodeName : Row += 1 '신청지역 중분류
|
|
|
|
Dim drzone0() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("", "침기율 desc")
|
|
If drzone0.Length < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '신청지역 중분류
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = drzone0(0).침기율 : Row += 1 '신청지역 중분류
|
|
End If
|
|
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_주거공간.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_주거공간.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_구내식당_초중고.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_구내식당_초중고.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_주방및조리실_초중고.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_주방및조리실_초중고.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 면적_체육시설_초중고.ToString("N2") : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 비중_체육시설_초중고.ToString("N2") : Row += 1 '//
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
|
|
Dim 공조목록역순 As DS.tbl_kongjoRow = Nothing
|
|
Dim 공조면적 As Decimal = 0
|
|
Dim 공조면적총합 As Decimal = 0
|
|
Dim 공조방사율총합 As Decimal = 0
|
|
For Each drkongjo As DS.tbl_kongjoRow In DSET1.tbl_kongjo.Rows
|
|
If drkongjo.공기식태양열적용 <> "예" Then
|
|
Continue For
|
|
End If
|
|
Dim kjcode As String = drkongjo.code
|
|
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("냉난방공조처리시스템='" & kjcode & "'")
|
|
If DR.GetUpperBound(0) >= 0 Then '//해당되는 데이터가
|
|
|
|
|
|
If TOSG(drkongjo.집열기면적) > 공조면적 Then
|
|
공조면적 = TOSG(drkongjo.집열기면적)
|
|
공조목록역순 = drkongjo
|
|
End If
|
|
|
|
Try
|
|
공조면적총합 += TOSG(drkongjo.집열기면적) '* TOSG(drow.입력존의수)
|
|
공조방사율총합 += TOSG(drkongjo.집열기방사율) * TOSG(drkongjo.집열기면적) '* TOSG(drow.입력존의수)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End If
|
|
Next
|
|
|
|
If 공조목록역순 Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 공조목록역순.집열기방위 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 공조면적총합 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = TOSG(공조방사율총합 / 공조면적총합) : Row += 1 '//
|
|
End If
|
|
|
|
|
|
Dim 외피면적비지붕포함 As Decimal = 외피면적비_지붕포함합 / 면적합값.Item1
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 외피면적비지붕포함 : Row += 1 '//
|
|
|
|
Dim 면적체적합 As Decimal = 0
|
|
Dim 존면적합침기율값있음 As Decimal = 0
|
|
For Each drzone As DS.tbl_zoneRow In DSET1.tbl_zone
|
|
면적체적합 += TOSG(drzone.천장고p) * TOSG(drzone.면적)
|
|
If TOSG(drzone.침기율) > 0 Then
|
|
존면적합침기율값있음 += TOSG(drzone.면적)
|
|
End If
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (외피면적비_지붕포함합 / 면적체적합) : Row += 1 '//
|
|
|
|
If 공조면적총합 < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (존면적합침기율값있음 / 공조면적총합) : Row += 1 '//
|
|
End If
|
|
|
|
|
|
Dim 난방기기신재상합 As Decimal = 0
|
|
Dim 난방기기전체용량합 As Decimal = 0
|
|
For Each drnanbang As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki
|
|
|
|
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산난방생산기기='" & drnanbang.code & "' or 공조난방생산기기='" & drnanbang.code & "'")
|
|
If DR.Length < 1 Then Continue For
|
|
|
|
If drnanbang.신재생연결여부 <> "연결없음" Then
|
|
If drnanbang.열생산기기방식 = "히트펌프" Then
|
|
난방기기신재상합 += TOSG(drnanbang.히트난방용량)
|
|
ElseIf drnanbang.열생산기기방식 = "보일러" Then
|
|
난방기기신재상합 += TOSG(drnanbang.보일러정격출력)
|
|
End If
|
|
End If
|
|
|
|
If drnanbang.열생산기기방식 = "히트펌프" Then
|
|
난방기기전체용량합 += TOSG(drnanbang.히트난방용량)
|
|
ElseIf drnanbang.열생산기기방식 = "보일러" Then
|
|
난방기기전체용량합 += TOSG(drnanbang.보일러정격출력)
|
|
End If
|
|
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (난방기기신재상합) : Row += 1 '//
|
|
If 난방기기전체용량합 = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (난방기기신재상합 / 난방기기전체용량합) : Row += 1 '//
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (난방기기전체용량합) : Row += 1 '//
|
|
|
|
|
|
Dim 냉방기기신재상합 As Decimal = 0
|
|
Dim 냉방기기전체용량합 As Decimal = 0
|
|
For Each drnanbang As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki
|
|
|
|
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("열생산냉방생산기기='" & drnanbang.code & "' or 공조냉방생산기기='" & drnanbang.code & "'") '//2010.12.02 수정
|
|
If DR.Length < 1 Then Continue For
|
|
|
|
If drnanbang.신재생연결여부 <> "연결없음" Then
|
|
냉방기기신재상합 += TOSG(drnanbang.냉동기용량)
|
|
End If
|
|
|
|
냉방기기전체용량합 += TOSG(drnanbang.냉동기용량)
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (냉방기기신재상합) : Row += 1 '//
|
|
If 냉방기기전체용량합 < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (냉방기기신재상합 / 냉방기기전체용량합) : Row += 1 '//
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (냉방기기전체용량합) : Row += 1 '//
|
|
|
|
|
|
Dim 난방기기용량 As Decimal = 0
|
|
Dim 난방기기 As DS.tbl_nanbangkikiRow = Nothing
|
|
Dim 급탕설비용량_전기설비용량 As Decimal = 0
|
|
Dim 급탕설비용량합 As Decimal = 0
|
|
Dim 급탕설비용량_비전기설비용량 As Decimal = 0
|
|
Dim 급탕설비용량_신재생설비용량 As Decimal = 0
|
|
Dim 급탕설비신재생용량합 As Decimal = 0
|
|
Dim 급탕설비용량_신재생설비비중 As Decimal = 0
|
|
|
|
For Each drnkiki As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki
|
|
|
|
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산급탕생산기기='" & drnkiki.code & "'")
|
|
If DR.Length < 1 Then Continue For
|
|
|
|
If drnkiki.열생산기기방식 = "히트펌프" Then
|
|
If drnkiki.히트난방용량 > 난방기기용량 Then
|
|
난방기기용량 = TOSG(drnkiki.히트난방용량)
|
|
난방기기 = drnkiki
|
|
End If
|
|
|
|
급탕설비용량합 += TOSG(drnkiki.히트난방용량)
|
|
|
|
If drnkiki.히트연료.EndsWith("가스") Then
|
|
급탕설비용량_비전기설비용량 += TOSG(drnkiki.히트난방용량)
|
|
ElseIf drnkiki.히트연료 = ("전기") Then
|
|
급탕설비용량_전기설비용량 += TOSG(drnkiki.히트난방용량)
|
|
End If
|
|
|
|
If drnkiki.신재생연결여부 <> "연결없음" Then
|
|
급탕설비용량_신재생설비용량 += TOSG(drnkiki.히트난방용량)
|
|
End If
|
|
|
|
ElseIf drnkiki.열생산기기방식 = "보일러" Then
|
|
If drnkiki.보일러정격출력 > 난방기기용량 Then
|
|
난방기기용량 = TOSG(drnkiki.보일러정격출력)
|
|
난방기기 = drnkiki
|
|
End If
|
|
급탕설비용량합 += drnkiki.보일러정격출력
|
|
급탕설비용량_비전기설비용량 += TOSG(drnkiki.보일러정격출력)
|
|
|
|
If drnkiki.신재생연결여부 <> "연결없음" Then
|
|
급탕설비용량_신재생설비용량 += TOSG(drnkiki.보일러정격출력)
|
|
End If
|
|
|
|
ElseIf drnkiki.열생산기기방식 = "지역난방" Then
|
|
급탕설비용량합 += TOSG(drnkiki.열교환기정격출력)
|
|
급탕설비용량_비전기설비용량 += TOSG(drnkiki.열교환기정격출력)
|
|
|
|
If drnkiki.신재생연결여부 <> "연결없음" Then
|
|
급탕설비용량_신재생설비용량 += TOSG(drnkiki.열교환기정격출력)
|
|
End If
|
|
|
|
ElseIf drnkiki.열생산기기방식 = "전기보일러" Then
|
|
급탕설비용량_전기설비용량 += TOSG(drnkiki.보일러정격출력)
|
|
급탕설비용량합 += TOSG(drnkiki.보일러정격출력)
|
|
|
|
If drnkiki.신재생연결여부 <> "연결없음" Then
|
|
급탕설비용량_신재생설비용량 += TOSG(drnkiki.보일러정격출력)
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
|
|
If drnkiki.신재생연결여부 <> "연결없음" Then
|
|
Dim newlist() As DS.tbl_newRow = DSET1.tbl_new.Select("code = '" + drnkiki.연결된시스템 + "'")
|
|
If newlist.Length = 1 Then
|
|
Dim newkikidr As DS.tbl_newRow = newlist(0)
|
|
If newkikidr.기기종류 = "열병합" Then
|
|
급탕설비용량_신재생설비비중 += TOSG(newkikidr.열생산능력)
|
|
ElseIf newkikidr.기기종류 = "지열" Then
|
|
급탕설비용량_신재생설비비중 += TOSG(newkikidr.지열히트펌프용량)
|
|
ElseIf newkikidr.기기종류 = "수열" Then
|
|
급탕설비용량_신재생설비비중 += TOSG(newkikidr.수열_수열히트펌프용량)
|
|
End If
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
|
|
If 난방기기 Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 난방기기.열생산기기방식 : Row += 1 '//
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕설비용량_전기설비용량 : Row += 1 '//
|
|
If 급탕설비용량합 < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕설비용량_비전기설비용량 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (급탕설비용량_신재생설비용량) : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = TOSG(급탕설비용량_전기설비용량 / 급탕설비용량합) : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕설비용량_비전기설비용량 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = TOSG(급탕설비용량_비전기설비용량 / 급탕설비용량합) : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (급탕설비용량_신재생설비용량) : Row += 1 '//
|
|
End If
|
|
|
|
If 급탕설비용량_신재생설비용량 < 1 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (급탕설비용량_신재생설비비중 / 급탕설비용량_신재생설비용량) : Row += 1 '//
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 급탕설비용량합 : Row += 1 '//
|
|
|
|
|
|
Dim BIPV_용량 As Decimal = 0
|
|
Dim BIPV_모듈면적 As Decimal = 0
|
|
Dim BIPV_모듈면적_동 As Decimal = 0
|
|
Dim BIPV_모듈면적_남동 As Decimal = 0
|
|
Dim BIPV_모듈면적_남 As Decimal = 0
|
|
Dim BIPV_모듈면적_남서 As Decimal = 0
|
|
Dim BIPV_모듈면적_서 As Decimal = 0
|
|
Dim BIPV_평균효율합 As Decimal = 0
|
|
Dim BIPV_갯수 As Decimal = 0
|
|
Dim BIPV_대표면적 As DS.tbl_newRow = Nothing
|
|
Dim BIPV_태양광최대면적 As Decimal = 0
|
|
|
|
Dim 태양광후면통풍형_용량 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적_수평 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적_동 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적_남동 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적_남 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적_남서 As Decimal = 0
|
|
Dim 태양광후면통풍형_모듈면적_서 As Decimal = 0
|
|
Dim 태양광후면통풍형_평균효율합 As Decimal = 0
|
|
Dim 태양광후면통풍형_갯수 As Decimal = 0
|
|
Dim 태양광후면통풍형_대표면적 As DS.tbl_newRow = Nothing
|
|
Dim 태양광후면통풍형_태양광최대면적 As Decimal = 0
|
|
|
|
|
|
Dim 기계환기형_용량 As Decimal = 0
|
|
Dim 기계환기형_모듈면적 As Decimal = 0
|
|
Dim 기계환기형_모듈면적_수평 As Decimal = 0
|
|
Dim 기계환기형_모듈면적_동 As Decimal = 0
|
|
Dim 기계환기형_모듈면적_남동 As Decimal = 0
|
|
Dim 기계환기형_모듈면적_남 As Decimal = 0
|
|
Dim 기계환기형_모듈면적_남서 As Decimal = 0
|
|
Dim 기계환기형_모듈면적_서 As Decimal = 0
|
|
Dim 기계환기형_평균효율합 As Decimal = 0
|
|
Dim 기계환기형_갯수 As Decimal = 0
|
|
Dim 기계환기형_대표면적 As DS.tbl_newRow = Nothing
|
|
Dim 기계환기형_태양광최대면적 As Decimal = 0
|
|
|
|
|
|
|
|
For Each drnew As DS.tbl_newRow In DSET1.tbl_new.Select("code <> '0'")
|
|
|
|
If drnew.기기종류 = "태양광" AndAlso drnew.태양광모듈종류 = "밀착형" AndAlso drnew.태양광모듈기울기 = "수직" Then
|
|
BIPV_용량 += TOSG(drnew.태양광용량)
|
|
BIPV_모듈면적 += TOSG(drnew.태양광모듈면적)
|
|
|
|
If drnew.태양광모듈면적 > BIPV_태양광최대면적 Then
|
|
BIPV_대표면적 = drnew
|
|
BIPV_태양광최대면적 = TOSG(drnew.태양광모듈면적)
|
|
End If
|
|
|
|
If TOSG(drnew.태양광모듈효율) > 0 Then
|
|
BIPV_평균효율합 += TOSG(drnew.태양광모듈효율)
|
|
BIPV_갯수 += 1
|
|
End If
|
|
|
|
If drnew.태양광모듈방위 = "동" Then
|
|
BIPV_모듈면적_동 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남동" Then
|
|
BIPV_모듈면적_남동 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남" Then
|
|
BIPV_모듈면적_남 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남서" Then
|
|
BIPV_모듈면적_남서 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "서" Then
|
|
BIPV_모듈면적_서 += TOSG(drnew.태양광모듈면적)
|
|
End If
|
|
End If
|
|
|
|
|
|
If drnew.기기종류 = "태양광" AndAlso drnew.태양광모듈종류 = "후면통풍형" AndAlso (drnew.태양광모듈기울기 = "수평" Or drnew.태양광모듈기울기 = "45도") Then
|
|
태양광후면통풍형_용량 += TOSG(drnew.태양광용량)
|
|
태양광후면통풍형_모듈면적 += TOSG(drnew.태양광모듈면적)
|
|
|
|
|
|
If drnew.태양광모듈면적 > 태양광후면통풍형_태양광최대면적 Then
|
|
태양광후면통풍형_대표면적 = drnew
|
|
태양광후면통풍형_태양광최대면적 = drnew.태양광모듈면적
|
|
End If
|
|
|
|
If TOSG(drnew.태양광모듈효율) > 0 Then
|
|
태양광후면통풍형_평균효율합 += TOSG(drnew.태양광모듈효율)
|
|
태양광후면통풍형_갯수 += 1
|
|
End If
|
|
|
|
If drnew.태양광모듈방위 = "수평" Then
|
|
태양광후면통풍형_모듈면적_수평 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "동" Then
|
|
태양광후면통풍형_모듈면적_동 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남동" Then
|
|
태양광후면통풍형_모듈면적_남동 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남" Then
|
|
태양광후면통풍형_모듈면적_남 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남서" Then
|
|
태양광후면통풍형_모듈면적_남서 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "서" Then
|
|
태양광후면통풍형_모듈면적_서 += TOSG(drnew.태양광모듈면적)
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
If drnew.기기종류 = "태양광" AndAlso drnew.태양광모듈종류 = "기계환기형" AndAlso (drnew.태양광모듈기울기 = "수평" Or drnew.태양광모듈기울기 = "45도") Then
|
|
기계환기형_용량 += TOSG(drnew.태양광용량)
|
|
기계환기형_모듈면적 += TOSG(drnew.태양광모듈면적)
|
|
|
|
|
|
If drnew.태양광모듈면적 > 기계환기형_태양광최대면적 Then
|
|
기계환기형_대표면적 = drnew
|
|
기계환기형_태양광최대면적 = drnew.태양광모듈면적
|
|
End If
|
|
|
|
If TOSG(drnew.태양광모듈효율) > 0 Then
|
|
기계환기형_평균효율합 += TOSG(drnew.태양광모듈효율)
|
|
기계환기형_갯수 += 1
|
|
End If
|
|
|
|
If drnew.태양광모듈방위 = "수평" Then
|
|
기계환기형_모듈면적_수평 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "동" Then
|
|
기계환기형_모듈면적_동 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남동" Then
|
|
기계환기형_모듈면적_남동 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남" Then
|
|
기계환기형_모듈면적_남 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "남서" Then
|
|
기계환기형_모듈면적_남서 += TOSG(drnew.태양광모듈면적)
|
|
ElseIf drnew.태양광모듈방위 = "서" Then
|
|
기계환기형_모듈면적_서 += TOSG(drnew.태양광모듈면적)
|
|
End If
|
|
End If
|
|
|
|
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_용량 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_모듈면적 : Row += 1 '//
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_모듈면적_동 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_모듈면적_남동 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_모듈면적_남 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_모듈면적_남서 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_모듈면적_서 : Row += 1 '//
|
|
|
|
If BIPV_갯수 = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (BIPV_평균효율합 / BIPV_갯수) : Row += 1 '//
|
|
End If
|
|
|
|
If BIPV_대표면적 Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = BIPV_대표면적.태양광모듈종류 : Row += 1 '//
|
|
End If
|
|
|
|
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_용량 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적 : Row += 1 '//
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적_수평 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적_동 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적_남동 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적_남 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적_남서 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_모듈면적_서 : Row += 1 '//
|
|
|
|
If 태양광후면통풍형_갯수 = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (태양광후면통풍형_평균효율합 / 태양광후면통풍형_갯수) : Row += 1 '//
|
|
End If
|
|
|
|
If 태양광후면통풍형_대표면적 Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양광후면통풍형_대표면적.태양광모듈종류 : Row += 1 '//
|
|
End If
|
|
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_용량 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적 : Row += 1 '//
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적_수평 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적_동 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적_남동 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적_남 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적_남서 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_모듈면적_서 : Row += 1 '//
|
|
|
|
If 기계환기형_갯수 = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (기계환기형_평균효율합 / 기계환기형_갯수) : Row += 1 '//
|
|
End If
|
|
|
|
If 기계환기형_대표면적 Is Nothing Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = "" : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 기계환기형_대표면적.태양광모듈종류 : Row += 1 '//
|
|
End If
|
|
|
|
|
|
Dim 태양열급탕_집열판면적_합계 As Decimal = 0
|
|
Dim 태양열급탕_집열판_평판형면적_합계 As Decimal = 0
|
|
Dim 태양열급탕_집열판_진공관형면적_합계 As Decimal = 0
|
|
Dim 태양열급탕_무손실효율계수_합계 As Decimal = 0
|
|
Dim 태양열급탕_무손실효율계수_수량 As Decimal = 0
|
|
|
|
Dim 태양열난방급탕_집열판면적_합계 As Decimal = 0
|
|
Dim 태양열난방급탕_집열판_평판형면적_합계 As Decimal = 0
|
|
Dim 태양열난방급탕_집열판_진공관형면적_합계 As Decimal = 0
|
|
Dim 태양열난방급탕_무손실효율계수_합계 As Decimal = 0
|
|
Dim 태양열난방급탕_무손실효율계수_수량 As Decimal = 0
|
|
|
|
|
|
For Each drnew As DS.tbl_newRow In DSET1.tbl_new.Select("code <> '0'")
|
|
|
|
If drnew.기기종류 = "태양열" AndAlso drnew.태양열종류 = "급탕" Then
|
|
|
|
태양열급탕_집열판면적_합계 += TOSG(drnew.집열판면적)
|
|
If drnew.집열기유형 = "평판형" Then
|
|
태양열급탕_집열판_평판형면적_합계 += TOSG(drnew.집열판면적)
|
|
ElseIf drnew.집열기유형 = "진공관형" Then
|
|
태양열급탕_집열판_진공관형면적_합계 += TOSG(drnew.집열판면적)
|
|
End If
|
|
|
|
If TOSG(drnew.무손실효율계수) > 0 Then
|
|
태양열급탕_무손실효율계수_합계 += TOSG(drnew.무손실효율계수)
|
|
태양열급탕_무손실효율계수_수량 += 1
|
|
End If
|
|
|
|
End If
|
|
|
|
If drnew.기기종류 = "태양열" AndAlso drnew.태양열종류 = "난방+급탕" Then
|
|
|
|
태양열난방급탕_집열판면적_합계 += TOSG(drnew.집열판면적)
|
|
If drnew.집열기유형 = "평판형" Then
|
|
태양열난방급탕_집열판_평판형면적_합계 += TOSG(drnew.집열판면적)
|
|
ElseIf drnew.집열기유형 = "진공관형" Then
|
|
태양열난방급탕_집열판_진공관형면적_합계 += TOSG(drnew.집열판면적)
|
|
End If
|
|
|
|
If TOSG(drnew.무손실효율계수) > 0 Then
|
|
태양열난방급탕_무손실효율계수_합계 += TOSG(drnew.무손실효율계수)
|
|
태양열난방급탕_무손실효율계수_수량 += 1
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열급탕_집열판면적_합계 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열급탕_집열판_평판형면적_합계 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열급탕_집열판_진공관형면적_합계 : Row += 1 '//
|
|
If 태양열급탕_무손실효율계수_수량 = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (태양열급탕_무손실효율계수_합계 / 태양열급탕_무손실효율계수_수량) : Row += 1 '//
|
|
End If
|
|
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열난방급탕_집열판면적_합계 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열난방급탕_집열판_평판형면적_합계 : Row += 1 '//
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 태양열난방급탕_집열판_진공관형면적_합계 : Row += 1 '//
|
|
If 태양열난방급탕_무손실효율계수_수량 = 0 Then
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = 0 : Row += 1 '//
|
|
Else
|
|
FpSpread1_Sheet1.Cells(Row, DataColumnIndex).Value = (태양열난방급탕_무손실효율계수_합계 / 태양열난방급탕_무손실효율계수_수량) : Row += 1 '//
|
|
End If
|
|
|
|
|
|
|
|
|
|
End Sub
|
|
|
|
Private Function MakeDataTAB() As String
|
|
|
|
Dim buffer As New System.Text.StringBuilder()
|
|
|
|
|
|
'//결과데이터에서 자료를 추출하고 그 값을 넣는다
|
|
Dim DataColumnIndex As Integer = Me.column
|
|
Dim Row As Integer = 0
|
|
Dim DsReport As New DSR
|
|
|
|
|
|
|
|
'//건물개요 건물개요-공공기관 체크된 경우 '공공기관' 표시 - 160211
|
|
Dim drDesc As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
|
|
buffer.Append(processfile) : buffer.Append(vbTab) ' Row += 1 '//파일명
|
|
buffer.Append(drDesc.buildm21) : buffer.Append(vbTab) '//대지면적
|
|
buffer.Append(drDesc.buildm23) : buffer.Append(vbTab) '//연면적
|
|
buffer.Append(drDesc.buildm22) : buffer.Append(vbTab) '//건축면적
|
|
buffer.Append(drDesc.gujo) : buffer.Append(vbTab) '//구조
|
|
buffer.Append(String.Format("지하{0}층/지상{1}층", drDesc.builds1, drDesc.builds2)) : buffer.Append(vbTab) '//건물규모
|
|
|
|
If drDesc.공공 = "1" Then '//
|
|
buffer.Append("공공") : buffer.Append(vbTab) '//주체
|
|
Else
|
|
buffer.Append("민간") : buffer.Append(vbTab) '//주체
|
|
End If
|
|
|
|
Dim 주거용 As Integer = CInt(drDesc.isjugo)
|
|
|
|
'//에너지 요구량
|
|
' Result1.E요구량(0).면적당요구량
|
|
Dim v1_1 As Double = Math.Round(Result1.E요구량(0).난방면적, 1)
|
|
Dim v1_2 As Double = Math.Round(Result1.E요구량(0).냉방면적, 1)
|
|
Dim v1_3 As Double = Math.Round(Result1.E요구량(0).급탕면적, 1)
|
|
Dim v1_4 As Double = Math.Round(Result1.E요구량(0).조명면적, 1)
|
|
Dim v1_s As Double = v1_1 + v1_2 + v1_3 + v1_4
|
|
buffer.Append(v1_1.ToString("N1")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(v1_2.ToString("N1")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(v1_3.ToString("N1")) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(v1_4.ToString("N1")) : buffer.Append(vbTab) '//조명
|
|
buffer.Append("0") : buffer.Append(vbTab) '//환기
|
|
buffer.Append(v1_s.ToString("N1")) : buffer.Append(vbTab) '//환기
|
|
|
|
'//에너지 소요량
|
|
Dim v2_1 As Double = Math.Round(Result1.E소요량(0).난방면적, 1)
|
|
Dim v2_2 As Double = Math.Round(Result1.E소요량(0).냉방면적, 1)
|
|
Dim v2_3 As Double = Math.Round(Result1.E소요량(0).급탕면적, 1)
|
|
Dim v2_4 As Double = Math.Round(Result1.E소요량(0).조명면적, 1)
|
|
Dim v2_5 As Double = Math.Round(Result1.E소요량(0).환기면적, 1)
|
|
Dim v2_s As Double = v2_1 + v2_2 + v2_3 + v2_4 + v2_5
|
|
buffer.Append(v2_1.ToString("N1")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(v2_2.ToString("N1")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(v2_3.ToString("N1")) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(v2_4.ToString("N1")) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(v2_5.ToString("N1")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(v2_s.ToString("N1")) : buffer.Append(vbTab) '//합계
|
|
|
|
'//1차에너지 소요량
|
|
Dim v3_1 As Double = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
|
Dim v3_2 As Double = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
|
Dim v3_3 As Double = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
|
Dim v3_4 As Double = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
|
Dim v3_5 As Double = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
|
Dim v3_s As Double = v3_1 + v3_2 + v3_3 + v3_4 + v3_5
|
|
buffer.Append(v3_1.ToString("N1")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(v3_2.ToString("N1")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(v3_3.ToString("N1")) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(v3_4.ToString("N1")) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(v3_5.ToString("N1")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(v3_s.ToString("N1")) : buffer.Append(vbTab) '//환기
|
|
|
|
Dim 합계 As Decimal = 0
|
|
'//등급용1차에너지
|
|
Dim 일차에너지소요량합계 As Decimal = 0 '//등급계산에서 사용함
|
|
Dim 난방에너지, 냉방에너지, 급탕에너지, 조명에너지, 환기에너지 As Single
|
|
If (Result1.사용면적.H_WF = 0) Then
|
|
난방에너지 = 0
|
|
Else
|
|
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적2 * Result1.사용면적.H / Result1.사용면적.H_WF, 1)
|
|
End If
|
|
If (Result1.사용면적.C_WF = 0) Then
|
|
냉방에너지 = 0
|
|
Else
|
|
냉방에너지 = Math.Round(TOSG(Result1.일차E소요량(0).냉방면적 * Result1.사용면적.C / Result1.사용면적.C_WF), 1)
|
|
End If
|
|
If (Result1.사용면적.W_WF = 0) Then
|
|
급탕에너지 = 0
|
|
Else
|
|
급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적2 * Result1.사용면적.W / Result1.사용면적.W_WF, 1)
|
|
End If
|
|
If (Result1.사용면적.L_WF = 0) Then
|
|
조명에너지 = 0
|
|
Else
|
|
조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적 * Result1.사용면적.L / Result1.사용면적.L_WF, 1)
|
|
End If
|
|
If (Result1.사용면적.V_WF = 0) Then
|
|
환기에너지 = 0
|
|
Else
|
|
환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적 * Result1.사용면적.V / Result1.사용면적.V_WF, 1)
|
|
End If
|
|
일차에너지소요량합계 = 냉방에너지 + 난방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
|
|
buffer.Append(난방에너지.ToString) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(냉방에너지.ToString) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(급탕에너지.ToString) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(조명에너지.ToString) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(환기에너지.ToString) : buffer.Append(vbTab) '//환기
|
|
합계 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
buffer.Append(합계.ToString("N1")) : buffer.Append(vbTab) '//환기
|
|
|
|
|
|
'//연간 CO2발생량
|
|
Dim StartCode As Integer = 81 '//76
|
|
Dim CO2_1, CO2_2, CO2_3, CO2_4, CO2_5 As Decimal
|
|
CO2_1 = Math.Round(RData("410", StartCode + 0), 1)
|
|
CO2_2 = Math.Round(RData("410", StartCode + 7), 1)
|
|
CO2_3 = Math.Round(RData("410", StartCode + 15), 1)
|
|
CO2_4 = Math.Round(RData("410", StartCode + 22), 1)
|
|
CO2_5 = Math.Round(RData("410", StartCode + 25), 1)
|
|
|
|
buffer.Append(CO2_1.ToString) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(CO2_2.ToString) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(CO2_3.ToString) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(CO2_4.ToString) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(CO2_5.ToString) : buffer.Append(vbTab) '//환기
|
|
합계 = CO2_1 + CO2_2 + CO2_3 + CO2_4 + CO2_5
|
|
buffer.Append(합계.ToString()) : buffer.Append(vbTab) '//환기
|
|
|
|
'//단위면적당 CO2발생량
|
|
StartCode = 79 '//76
|
|
CO2_1 = Math.Round(RData("410", StartCode + 8), 1)
|
|
CO2_2 = Math.Round(RData("410", StartCode + 16), 1)
|
|
CO2_3 = Math.Round(RData("410", StartCode + 23), 1)
|
|
CO2_4 = Math.Round(RData("410", StartCode + 26), 1)
|
|
CO2_5 = Math.Round(RData("410", StartCode + 29), 1)
|
|
buffer.Append(CO2_1.ToString) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(CO2_2.ToString) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(CO2_3.ToString) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(CO2_4.ToString) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(CO2_5.ToString) : buffer.Append(vbTab) '//환기
|
|
합계 = CO2_1 + CO2_2 + CO2_3 + CO2_4 + CO2_5
|
|
buffer.Append(합계.ToString()) : buffer.Append(vbTab) '//환기
|
|
|
|
'//평가결과값(report_pyonga 에서 가져옴)
|
|
Pub.항목별평가결과(DsReport)
|
|
If DsReport.Pyonga_YK.Rows.Count < 1 Then
|
|
MsgBox("구조체값이 생성되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
|
Return buffer.ToString()
|
|
End If
|
|
Dim drYK As DSR.Pyonga_YKRow = DsReport.Pyonga_YK.Rows(0)
|
|
|
|
'//구조체
|
|
buffer.Append(drYK.벽체종류) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(drYK.벽체값.ToString("N3")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(drYK.지붕종류) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(drYK.지붕값.ToString("N3")) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(drYK.바닥종류) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(drYK.바닥값.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(drYK.창호종류) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(drYK.창호값.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
|
|
'//창면적비 9개(?)
|
|
Dim 창및문면적비, 외벽열관류율_평균 As Decimal
|
|
Dim 외벽열관류율_남 As Decimal
|
|
Dim 외벽열관류율_남동 As Decimal
|
|
Dim 외벽열관류율_동 As Decimal
|
|
Dim 외벽열관류율_북동 As Decimal
|
|
Dim 외벽열관류율_북 As Decimal
|
|
Dim 외벽열관류율_북서 As Decimal
|
|
Dim 외벽열관류율_서 As Decimal
|
|
Dim 외벽열관류율_남서 As Decimal
|
|
|
|
Dim 창열관류율_평균 As Decimal
|
|
Dim 창열관류율_남 As Decimal
|
|
Dim 창열관류율_남동 As Decimal
|
|
Dim 창열관류율_동 As Decimal
|
|
Dim 창열관류율_북동 As Decimal
|
|
Dim 창열관류율_북 As Decimal
|
|
Dim 창열관류율_북서 As Decimal
|
|
Dim 창열관류율_서 As Decimal
|
|
Dim 창열관류율_남서 As Decimal
|
|
|
|
Dim 일사에너지투과율_평균 As Decimal
|
|
Dim 일사에너지투과율_남 As Decimal
|
|
Dim 일사에너지투과율_남동 As Decimal
|
|
Dim 일사에너지투과율_동 As Decimal
|
|
Dim 일사에너지투과율_북동 As Decimal
|
|
Dim 일사에너지투과율_북 As Decimal
|
|
Dim 일사에너지투과율_북서 As Decimal
|
|
Dim 일사에너지투과율_서 As Decimal
|
|
Dim 일사에너지투과율_남서 As Decimal
|
|
|
|
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_평균, 창열관류율_평균, 일사에너지투과율_평균)
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남, 창열관류율_남, 일사에너지투과율_남, "남")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남동, 창열관류율_남동, 일사에너지투과율_남동, "남동")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//급탕
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_동, 창열관류율_동, 일사에너지투과율_동, "동")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//조명
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북동, 창열관류율_북동, 일사에너지투과율_북동, "북동")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북, 창열관류율_북, 일사에너지투과율_북, "북")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_북서, 창열관류율_북서, 일사에너지투과율_북서, "북서")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_서, 창열관류율_서, 일사에너지투과율_서, "서")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//환기
|
|
calc_창및문면적비(창및문면적비, 외벽열관류율_남서, 창열관류율_남서, 일사에너지투과율_남서, "남서")
|
|
buffer.Append(창및문면적비.ToString("N2")) : buffer.Append(vbTab) '//환기
|
|
|
|
'//평균열관류율 11개(?)
|
|
buffer.Append(외벽열관류율_평균.ToString("N3")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(외벽열관류율_남.ToString("N3")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(외벽열관류율_남동.ToString("N3")) : buffer.Append(vbTab) '//급탕
|
|
buffer.Append(외벽열관류율_동.ToString("N3")) : buffer.Append(vbTab) '//조명
|
|
buffer.Append(외벽열관류율_북동.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(외벽열관류율_북.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(외벽열관류율_북서.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(외벽열관류율_서.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
buffer.Append(외벽열관류율_남서.ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
|
|
'//외벽지붕(평균열관류율)
|
|
buffer.Append(calc_평균열관류율(New String() {"외벽(지붕)", "내벽(지붕)"}).ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
'//외벽바닥(평균열관류율)
|
|
buffer.Append(calc_평균열관류율(New String() {"외벽(바닥)", "내벽(바닥)"}).ToString("N3")) : buffer.Append(vbTab) '//환기
|
|
|
|
'//기밀성능(주거용 본인증)
|
|
Dim 기밀성능_침기율면적합 As Decimal = 0
|
|
Dim 기밀성능_면적합 As Decimal = 0
|
|
For Each drZOne As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
|
|
|
|
'//입력존수값이 없는것은 기본값 1로 처리를 한다
|
|
If String.IsNullOrWhiteSpace(drZOne.입력존의수) Then drZOne.입력존의수 = "1"
|
|
If Not IsNumeric(drZOne.입력존의수) Then drZOne.입력존의수 = "1"
|
|
Dim 존수2 As Integer = TOSG(drZOne.입력존의수)
|
|
If 존수2 < 1 Then Continue For
|
|
If Not IsNumeric(drZOne.면적) Then drZOne.면적 = "0"
|
|
If CInt(drZOne.면적) = 0 Then
|
|
MsgBox("입력존(" + drZOne.설명 + ") 의 면적이 입력되지 않았습니다", MsgBoxStyle.Critical, "확인")
|
|
Continue For
|
|
End If
|
|
|
|
기밀성능_면적합 += (존수2 * drZOne.면적)
|
|
기밀성능_침기율면적합 += (drZOne.침기율 * (존수2 * drZOne.면적))
|
|
Next
|
|
Dim 기밀성능 As Decimal = 0
|
|
If 기밀성능_면적합 <> 0 Then 기밀성능 = 기밀성능_침기율면적합 / 기밀성능_면적합
|
|
buffer.Append(기밀성능.ToString("N2")) : buffer.Append(vbTab) '//환기
|
|
|
|
'//용도프로필 (tbl_profile, tbl_zone , zone에서 profile 을 연결함 필드명은 프로필
|
|
Dim 면적_총합 As Decimal = 0
|
|
Dim 면적_소규모사무실 As Decimal = 0
|
|
Dim 면적_대규모사무실 As Decimal = 0
|
|
Dim 면적_회의및세미나실 As Decimal = 0
|
|
Dim 면적_강당 As Decimal = 0
|
|
Dim 면적_구내식당 As Decimal = 0
|
|
Dim 면적_화장실 As Decimal = 0
|
|
Dim 면적_그외체류공간 As Decimal = 0
|
|
Dim 면적_부속공간 As Decimal = 0
|
|
Dim 면적_창고설비문서실 As Decimal = 0
|
|
Dim 면적_전산실 As Decimal = 0
|
|
Dim 면적_주방및조리실 As Decimal = 0
|
|
Dim 면적_병실 As Decimal = 0
|
|
Dim 면적_객실 As Decimal = 0
|
|
Dim 면적_교실 As Decimal = 0
|
|
Dim 면적_강의실 As Decimal = 0
|
|
Dim 면적_매장 As Decimal = 0
|
|
Dim 면적_전시실 As Decimal = 0
|
|
Dim 면적_열람실 As Decimal = 0
|
|
Dim 면적_체육시설 As Decimal = 0
|
|
'Dim 면적_구내식당_초중고 As Decimal = 0
|
|
'Dim 면적_주방및조리실_초중고 As Decimal = 0
|
|
'Dim 면적_체육시설_초중고 As Decimal = 0
|
|
'Dim 면적_어린이집_유치원 As Decimal = 0
|
|
'Dim 면적_12종근린생활시설 As Decimal = 0
|
|
'Dim 면적_서버실 As Decimal = 0
|
|
'Dim 면적_고밀도서버실 As Decimal = 0
|
|
''''''''''''''''''''''''''''''''''''''
|
|
Dim 비중_소규모사무실 As Decimal = 0 '//0001
|
|
Dim 비중_대규모사무실 As Decimal = 0 '//0002
|
|
Dim 비중_회의및세미나실 As Decimal = 0 '//0003
|
|
Dim 비중_강당 As Decimal = 0 '//0004
|
|
Dim 비중_구내식당 As Decimal = 0 '//0005
|
|
Dim 비중_화장실 As Decimal = 0 '//0006
|
|
Dim 비중_그외체류공간 As Decimal = 0 '//0007
|
|
Dim 비중_부속공간 As Decimal = 0 '//0008
|
|
Dim 비중_창고설비문서실 As Decimal = 0 '//0009
|
|
Dim 비중_전산실 As Decimal = 0 '//0010
|
|
Dim 비중_주방및조리실 As Decimal = 0 '//0011
|
|
Dim 비중_병실 As Decimal = 0 '//0012
|
|
Dim 비중_객실 As Decimal = 0 '//0013
|
|
Dim 비중_교실 As Decimal = 0 '//0014
|
|
Dim 비중_강의실 As Decimal = 0 '//0015
|
|
Dim 비중_매장 As Decimal = 0 '//0016
|
|
Dim 비중_전시실 As Decimal = 0 '//0017
|
|
Dim 비중_열람실 As Decimal = 0 '//0018
|
|
Dim 비중_체육시설 As Decimal = 0 '//0019
|
|
'Dim 비중_구내식당_초중고 As Decimal = 0 '//0020
|
|
'Dim 비중_주방및조리실_초중고 As Decimal = 0 '//0021
|
|
'Dim 비중_체육시설_초중고 As Decimal = 0 '//0022
|
|
'Dim 비중_어린이집_유치원 As Decimal = 0 '//0023
|
|
'Dim 비중_12종근린생활시설 As Decimal = 0 '//0024
|
|
'Dim 비중_서버실 As Decimal = 0 '//0025
|
|
'Dim 비중_고밀도서버실 As Decimal = 0 '//0026
|
|
|
|
Dim 면적 As Decimal = 0
|
|
For Each drzone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0' and 프로필 <> '' and 면적 <> '0' and 면적 <> '' ")
|
|
If Not IsNumeric(drzone.면적) Then drzone.면적 = "0"
|
|
|
|
|
|
Dim 존수2 As Integer = 0
|
|
If IsNumeric(drzone.입력존의수) Then
|
|
존수2 = CInt(drzone.입력존의수)
|
|
Else
|
|
존수2 = 1
|
|
End If
|
|
If IsNumeric(drzone.면적) Then
|
|
면적 = drzone.면적 * 존수2
|
|
Else
|
|
면적 = 0
|
|
End If
|
|
|
|
면적_총합 += 면적
|
|
|
|
If drzone.프로필 = "0001" Then 면적_소규모사무실 += 면적 '//0001
|
|
If drzone.프로필 = "0002" Then 면적_대규모사무실 += 면적 '//0002
|
|
If drzone.프로필 = "0003" Then 면적_회의및세미나실 += 면적 '//0003
|
|
If drzone.프로필 = "0004" Then 면적_강당 += 면적 '//0004
|
|
If drzone.프로필 = "0005" Then 면적_구내식당 += 면적 '//0005
|
|
If drzone.프로필 = "0006" Then 면적_화장실 += 면적 '//0006
|
|
If drzone.프로필 = "0007" Then 면적_그외체류공간 += 면적 '//0007
|
|
If drzone.프로필 = "0008" Then 면적_부속공간 += 면적 '//0008
|
|
If drzone.프로필 = "0009" Then 면적_창고설비문서실 += 면적 '//0009
|
|
If drzone.프로필 = "0010" Then 면적_전산실 += 면적 '//0010
|
|
If drzone.프로필 = "0011" Then 면적_주방및조리실 += 면적 '//0011
|
|
If drzone.프로필 = "0012" Then 면적_병실 += 면적 '//0012
|
|
If drzone.프로필 = "0013" Then 면적_객실 += 면적 '//0013
|
|
If drzone.프로필 = "0014" Then 면적_교실 += 면적 '//0014
|
|
If drzone.프로필 = "0015" Then 면적_강의실 += 면적 '//0015
|
|
If drzone.프로필 = "0016" Then 면적_매장 += 면적 '//0016
|
|
If drzone.프로필 = "0017" Then 면적_전시실 += 면적 '//0017
|
|
If drzone.프로필 = "0018" Then 면적_열람실 += 면적 '//0018
|
|
If drzone.프로필 = "0019" Then 면적_체육시설 += 면적 '//0019
|
|
'If drzone.프로필 = "0020" Then 면적_구내식당_초중고 += 면적 '//0020
|
|
'If drzone.프로필 = "0021" Then 면적_주방및조리실_초중고 += 면적 '//0021
|
|
'If drzone.프로필 = "0022" Then 면적_체육시설_초중고 += 면적 '//0022
|
|
'If drzone.프로필 = "0023" Then 면적_어린이집_유치원 += 면적 '//0023
|
|
'If drzone.프로필 = "0024" Then 면적_12종근린생활시설 += 면적 '//0024
|
|
'If drzone.프로필 = "0025" Then 면적_서버실 += 면적 '//0025
|
|
'If drzone.프로필 = "0026" Then 면적_고밀도서버실 += 면적 '//0026
|
|
|
|
Next
|
|
|
|
비중_소규모사무실 = (면적_소규모사무실 / 면적_총합) * 100 '//0001
|
|
비중_대규모사무실 = (면적_대규모사무실 / 면적_총합) * 100 '//0002
|
|
비중_회의및세미나실 = (면적_회의및세미나실 / 면적_총합) * 100 '//0003
|
|
비중_강당 = (면적_강당 / 면적_총합) * 100 '//0004
|
|
비중_구내식당 = (면적_구내식당 / 면적_총합) * 100 '//0005
|
|
비중_화장실 = (면적_화장실 / 면적_총합) * 100 '//0006
|
|
비중_그외체류공간 = (면적_그외체류공간 / 면적_총합) * 100 '//0007
|
|
비중_부속공간 = (면적_부속공간 / 면적_총합) * 100 '//0008
|
|
비중_창고설비문서실 = (면적_창고설비문서실 / 면적_총합) * 100 '//0009
|
|
비중_전산실 = (면적_전산실 / 면적_총합) * 100 '//0010
|
|
비중_주방및조리실 = (면적_주방및조리실 / 면적_총합) * 100 '//0011
|
|
비중_병실 = (면적_병실 / 면적_총합) * 100 '//0012
|
|
비중_객실 = (면적_객실 / 면적_총합) * 100 '//0013
|
|
비중_교실 = (면적_교실 / 면적_총합) * 100 '//0014
|
|
비중_강의실 = (면적_강의실 / 면적_총합) * 100 '//0015
|
|
비중_매장 = (면적_매장 / 면적_총합) * 100 '//0016
|
|
비중_전시실 = (면적_전시실 / 면적_총합) * 100 '//0017
|
|
비중_열람실 = (면적_열람실 / 면적_총합) * 100 '//0018
|
|
비중_체육시설 = (면적_체육시설 / 면적_총합) * 100 '//0019
|
|
'비중_구내식당_초중고 = (면적_구내식당_초중고 / 면적_총합) * 100 '//0020
|
|
'비중_주방및조리실_초중고 = (면적_주방및조리실_초중고 / 면적_총합) * 100 '//0021
|
|
'비중_체육시설_초중고 = (면적_체육시설_초중고 / 면적_총합) * 100 '//0022
|
|
'비중_어린이집_유치원 = (면적_어린이집_유치원 / 면적_총합) * 100 '//0023
|
|
'비중_12종근린생활시설 = (면적_12종근린생활시설 / 면적_총합) * 100 '//0024
|
|
'비중_서버실 = (면적_서버실 / 면적_총합) * 100 '//0025
|
|
'비중_고밀도서버실 = (면적_고밀도서버실 / 면적_총합) * 100 '//0026
|
|
|
|
buffer.Append(면적_소규모사무실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_소규모사무실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_대규모사무실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_대규모사무실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_회의및세미나실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_회의및세미나실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_강당.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_강당.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_구내식당.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_구내식당.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_화장실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_화장실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_그외체류공간.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_그외체류공간.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_부속공간.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_부속공간.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_창고설비문서실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_창고설비문서실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_전산실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_전산실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_주방및조리실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_주방및조리실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_병실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_병실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_객실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_객실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_교실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_교실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_강의실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_강의실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_매장.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_매장.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_전시실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_전시실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_열람실.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_열람실.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
buffer.Append(면적_체육시설.ToString("N2")) : buffer.Append(vbTab) '//난방
|
|
buffer.Append(비중_체육시설.ToString("N2")) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_구내식당_초중고.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_구내식당_초중고.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_주방및조리실_초중고.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_주방및조리실_초중고.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_체육시설_초중고.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_체육시설_초중고.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_어린이집_유치원.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_어린이집_유치원.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_12종근린생활시설.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_12종근린생활시설.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_서버실.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_서버실.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
'buffer.Append( 면적_고밀도서버실.ToString("N2") ) : buffer.Append(vbTab) '//난방
|
|
'buffer.Append( 비중_고밀도서버실.ToString("N2") ) : buffer.Append(vbTab) '//냉방
|
|
|
|
|
|
|
|
'//기계부문평가항목-냉난방방식-난방
|
|
' Dim MaxValue As Decimal = 0
|
|
'Dim MaxValueTitle As String = ""
|
|
Dim 난방용량합 As Decimal = 0
|
|
Dim 난방용량합_전기 As Decimal = 0
|
|
Dim 난방용량합_비전기 As Decimal = 0
|
|
Dim 난방용량비율_전기 As Decimal = 0
|
|
Dim 난방용량비율_비전기 As Decimal = 0
|
|
Dim 펌프동력합 As Decimal = 0
|
|
Dim 냉난방방식_난방 As String = ""
|
|
For Each dr난방 As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki.Select("code <> '0'")
|
|
Dim filter As String = String.Format("code <> '0' and 열생산난방생산기기='{0}' or 공조난방생산기기='{0}'", dr난방.code)
|
|
Dim 존수3 As Integer = 0
|
|
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select(filter)
|
|
If Not IsNumeric(dr존.입력존의수) Then dr존.입력존의수 = "1"
|
|
존수3 += CInt(dr존.입력존의수)
|
|
Next
|
|
|
|
If Not IsNumeric(dr난방.보일러정격출력) Then dr난방.보일러정격출력 = "0"
|
|
If Not IsNumeric(dr난방.열교환기정격출력) Then dr난방.열교환기정격출력 = "0"
|
|
If Not IsNumeric(dr난방.히트난방용량) Then dr난방.히트난방용량 = "0"
|
|
|
|
|
|
Dim 개별식형태 As Boolean = dr난방.개별기기적용
|
|
If Not 개별식형태 AndAlso 존수3 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
|
|
|
|
|
If 냉난방방식_난방 = "" Then
|
|
냉난방방식_난방 = IIf(개별식형태, "개별식", "중앙식")
|
|
ElseIf 냉난방방식_난방 = "개별식" AndAlso Not 개별식형태 Then
|
|
냉난방방식_난방 = "혼합식"
|
|
ElseIf 냉난방방식_난방 = "중앙식" AndAlso 개별식형태 Then
|
|
냉난방방식_난방 = "혼합식"
|
|
End If
|
|
|
|
|
|
Dim 최대값 As Decimal = 0
|
|
If dr난방.개별기기적용 Then
|
|
|
|
|
|
|
|
최대값 = Math.Max(TOSG(dr난방.보일러정격출력), TOSG(dr난방.열교환기정격출력))
|
|
최대값 = Math.Max(최대값, TOSG(dr난방.히트난방용량))
|
|
최대값 *= 존수3
|
|
|
|
펌프동력합 += TOSG(dr난방.펌프동력) * 존수3
|
|
|
|
If dr난방.열생산기기방식 = "히트펌프" Then
|
|
난방용량합 += TOSG(dr난방.히트난방용량) * 존수3
|
|
If dr난방.히트연료 = "전기" Then 난방용량합_전기 += TOSG(dr난방.히트난방용량) * 존수3
|
|
ElseIf dr난방.열생산기기방식 = "전기보일러" Then
|
|
난방용량합 += TOSG(dr난방.보일러정격출력) * 존수3
|
|
난방용량합_전기 += TOSG(dr난방.보일러정격출력) * 존수3
|
|
ElseIf dr난방.열생산기기방식 = "지역난방" Then
|
|
난방용량합 += TOSG(dr난방.열교환기정격출력) * 존수3
|
|
Else
|
|
난방용량합 += 최대값 '//모를경우에는 해당값중 최대값을 사용함(임의처리함 arin)
|
|
End If
|
|
|
|
Else
|
|
|
|
|
|
|
|
|
|
|
|
펌프동력합 += TOSG(dr난방.펌프동력)
|
|
|
|
최대값 = Math.Max(TOSG(dr난방.보일러정격출력), TOSG(dr난방.열교환기정격출력))
|
|
|
|
If dr난방.열생산기기방식 = "히트펌프" Then
|
|
난방용량합 += TOSG(dr난방.히트난방용량)
|
|
If dr난방.히트연료 = "전기" Then 난방용량합_전기 += TOSG(dr난방.히트난방용량)
|
|
ElseIf dr난방.열생산기기방식 = "전기보일러" Then
|
|
난방용량합 += TOSG(dr난방.보일러정격출력)
|
|
난방용량합_전기 += TOSG(dr난방.보일러정격출력)
|
|
ElseIf dr난방.열생산기기방식 = "지역난방" Then
|
|
난방용량합 += TOSG(dr난방.열교환기정격출력)
|
|
Else
|
|
난방용량합 += 최대값 '//모를경우에는 해당값중 최대값을 사용함(임의처리함 arin)
|
|
End If
|
|
End If
|
|
'If 최대값 > MaxValue Then
|
|
' MaxValue = 최대값
|
|
' MaxValueTitle = dr난방.설명
|
|
'End If
|
|
Next
|
|
|
|
난방용량합_비전기 = 난방용량합 - 난방용량합_전기
|
|
If 난방용량합 <> 0 Then
|
|
난방용량비율_전기 = (난방용량합_전기 / 난방용량합) * 100
|
|
난방용량비율_비전기 = (난방용량합_비전기 / 난방용량합) * 100
|
|
End If
|
|
|
|
buffer.Append(냉난방방식_난방) : buffer.Append(vbTab) '//난방
|
|
|
|
'//기계부문평가항목-냉난방방식-냉방
|
|
'MaxValue = 0
|
|
'MaxValueTitle = ""
|
|
Dim 냉방용량합 As Decimal = 0
|
|
Dim 냉방용량합_전기 As Decimal = 0
|
|
Dim 냉난방방식_냉방 As String = ""
|
|
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code <> '0'")
|
|
Dim filter As String = String.Format("열생산냉방생산기기='{0}' or 공조냉방생산기기='{0}'", dr냉방.code)
|
|
Dim 존수4 As Integer = 0
|
|
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select(filter)
|
|
If Not IsNumeric(dr존.입력존의수) Then dr존.입력존의수 = "1"
|
|
존수4 += CInt(dr존.입력존의수)
|
|
Next
|
|
|
|
If Not IsNumeric(dr냉방.냉동기용량) Then dr냉방.냉동기용량 = "0"
|
|
|
|
Dim 개별식형태 As Boolean = dr냉방.개별기기적용
|
|
If Not 개별식형태 AndAlso 존수4 = 1 Then 개별식형태 = True '//입력존이 1이면 개별식형태로 한다
|
|
|
|
If 냉난방방식_냉방 = "" Then
|
|
냉난방방식_냉방 = IIf(개별식형태, "개별식", "중앙식")
|
|
ElseIf 냉난방방식_냉방 = "개별식" AndAlso Not 개별식형태 Then
|
|
냉난방방식_냉방 = "혼합식"
|
|
ElseIf 냉난방방식_냉방 = "중앙식" AndAlso 개별식형태 Then
|
|
냉난방방식_냉방 = "혼합식"
|
|
End If
|
|
|
|
|
|
Dim 최대값 As Decimal = 0
|
|
If dr냉방.개별기기적용 Then
|
|
최대값 = TOSG(dr냉방.냉동기용량) * 존수4
|
|
냉방용량합 += TOSG(dr냉방.냉동기용량) * 존수4
|
|
If dr냉방.냉동기방식 = "압축식" Then 냉방용량합_전기 += TOSG(dr냉방.냉동기용량) * 존수4
|
|
Else
|
|
최대값 = TOSG(dr냉방.냉동기용량)
|
|
냉방용량합 += TOSG(dr냉방.냉동기용량)
|
|
If dr냉방.냉동기방식 = "압축식" Then 냉방용량합_전기 += TOSG(dr냉방.냉동기용량)
|
|
End If
|
|
|
|
'If 최대값 > MaxValue Then
|
|
' MaxValue = 최대값
|
|
' MaxValueTitle = dr냉방.설명
|
|
'End If
|
|
Next
|
|
Dim 냉방용량합_비전기 As Decimal = 냉방용량합 - 냉방용량합_전기
|
|
|
|
buffer.Append(냉난방방식_냉방) : buffer.Append(vbTab) '//냉방
|
|
|
|
'//전력수요관리시설(냉방)-전기사용설비-용량합 %
|
|
buffer.Append(냉방용량합_전기.ToString("N2")) : buffer.Append(vbTab)
|
|
|
|
'//전력수요관리시설(냉방)-전기사용설비-비중 %
|
|
Dim 전기사용설비비중 As Decimal = 0
|
|
If 냉방용량합 <> 0 Then 전기사용설비비중 = (냉방용량합_전기 / 냉방용량합) * 100
|
|
buffer.Append(전기사용설비비중.ToString("N2")) : buffer.Append(vbTab)
|
|
|
|
'//전력수요관리시설(냉방)-비전기사용설비-용량
|
|
buffer.Append(냉방용량합_비전기.ToString("N2")) : buffer.Append(vbTab)
|
|
'//전력수요관리시설(냉방)-비전기사용설비-비중
|
|
Dim 비전기사용설비비중 As Decimal = 0
|
|
If 냉방용량합 <> 0 Then 비전기사용설비비중 = (냉방용량합_비전기 / 냉방용량합) * 100
|
|
buffer.Append(비전기사용설비비중.ToString("N2")) : buffer.Append(vbTab)
|
|
|
|
'//전력수요관리시설(난방)-전기사용설비-용량 kw
|
|
buffer.Append(난방용량합_전기.ToString("N2")) : buffer.Append(vbTab)
|
|
'//전력수요관리시설(난방)-전기사용설비-비중 %
|
|
buffer.Append(난방용량비율_전기.ToString("N2")) : buffer.Append(vbTab)
|
|
'//전력수요관리시설(난방)-비전기사용설비-용량
|
|
buffer.Append(난방용량합_비전기.ToString("N2")) : buffer.Append(vbTab)
|
|
'//전력수요관리시설(난방)-비전기사용설비-비중
|
|
buffer.Append(난방용량비율_비전기.ToString("N2")) : buffer.Append(vbTab)
|
|
|
|
'/온열월설비-난방방식
|
|
buffer.Append(drYK.온열원설비방식) : buffer.Append(vbTab)
|
|
buffer.Append(drYK.온열원설비연료) : buffer.Append(vbTab) '/온열월설비-사용연료
|
|
buffer.Append(drYK.온열원용량) : buffer.Append(vbTab) '/온열월설비-용량
|
|
buffer.Append(drYK.온열원효율) : buffer.Append(vbTab) '/온열월설비-효율
|
|
|
|
'/냉열원설비-냉방방식
|
|
buffer.Append(drYK.냉열원설비방식) : buffer.Append(vbTab)
|
|
buffer.Append(drYK.냉열원설비연료) : buffer.Append(vbTab) '/냉열원설비-사용연료
|
|
'//냉열원설비용량 160214
|
|
Dim 냉열원설비용량 As Decimal = 0
|
|
For Each dr냉방 As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki.Select("code <> '0'")
|
|
If Not IsNumeric(dr냉방.냉동기용량) Then dr냉방.냉동기용량 = "0"
|
|
|
|
If Not dr냉방.개별기기적용 Then
|
|
냉열원설비용량 += dr냉방.냉동기용량
|
|
Else
|
|
Dim filter As String = String.Format("열생산냉방생산기기='{0}' or 공조냉방생산기기='{0}'", dr냉방.code)
|
|
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select(filter)
|
|
Dim cnt As Integer = 0
|
|
For Each drow As DS.tbl_zoneRow In DR
|
|
Dim 입력존수문자 As Integer = drow.입력존의수
|
|
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
|
cnt += CInt(입력존수문자)
|
|
Next
|
|
냉열원설비용량 += (dr냉방.냉동기용량 * cnt)
|
|
End If
|
|
Next
|
|
buffer.Append(냉열원설비용량) : buffer.Append(vbTab) '/냉열원설비-용량
|
|
buffer.Append(drYK.냉열원효율) : buffer.Append(vbTab) '/냉열원설비-효율
|
|
|
|
'//급탕설비-급탕방식
|
|
buffer.Append(drYK.급탕설비방식) : buffer.Append(vbTab)
|
|
buffer.Append(drYK.급탕설비연료) : buffer.Append(vbTab) '//급탕설비-사용연료
|
|
buffer.Append(drYK.급탕용량) : buffer.Append(vbTab) '//급탕설비-용량
|
|
buffer.Append(drYK.급탕효율) : buffer.Append(vbTab) '//급탕설비-효율
|
|
|
|
'//펌프-순환수용-동력
|
|
buffer.Append(펌프동력합.ToString("N2")) : buffer.Append(vbTab)
|
|
|
|
'//펌프-순환수용-효율(eco2 미지원)
|
|
buffer.Append("X") : buffer.Append(vbTab)
|
|
|
|
'//펌프-급탕용-동력
|
|
Dim dr난방기기() As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Select("code <> '0' and code <> '0000'")
|
|
Dim 펌프_급탕용_동력합 As Decimal = 0.0F
|
|
For Each dr난방 As DS.tbl_nanbangkikiRow In dr난방기기
|
|
Dim 연결존수 As Integer = 0
|
|
Dim DRZ() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산급탕생산기기='" & dr난방.code & "'")
|
|
For Each drow As DS.tbl_zoneRow In DRZ
|
|
Dim 입력존수문자 As Integer = drow.입력존의수
|
|
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
|
연결존수 += CInt(입력존수문자)
|
|
Next
|
|
If 연결존수 > 0 Then
|
|
If Not IsNumeric(dr난방.펌프동력급탕) Then dr난방.펌프동력급탕 = "0"
|
|
펌프_급탕용_동력합 += TOSG(dr난방.펌프동력급탕)
|
|
End If
|
|
Next
|
|
buffer.Append(펌프_급탕용_동력합) : buffer.Append(vbTab)
|
|
'//펌프-급탕용-효율(eco2 미지원)
|
|
buffer.Append("X") : buffer.Append(vbTab)
|
|
|
|
'//송풍기관련로직(160211)
|
|
Dim filter2 As String = "code <> '0' and code <> '0000' and ( 열교환기유형 = '전열교환' or 열교환기유형='현열교환' or 열교환기유형 = '열회수불가')"
|
|
filter2 = "code <> '0' and code <> '0000'"
|
|
Dim dr공조기기() As DS.tbl_kongjoRow = DSET1.tbl_kongjo.Select(filter2)
|
|
Dim 송풍기_급기_풍량_합 As Decimal = 0
|
|
Dim 송풍기_급기_팬동력_합 As Decimal = 0
|
|
Dim 송풍기_급기_팬효율_평균 As Decimal = 0
|
|
Dim 송풍기_급기_팬효율_합 As Decimal = 0
|
|
Dim 송풍기_배기_풍량_합 As Decimal = 0
|
|
Dim 송풍기_배기_팬동력_합 As Decimal = 0
|
|
Dim 송풍기_배기_팬효율_평균 As Decimal = 0
|
|
Dim 송풍기_배기_팬효율_합 As Decimal = 0
|
|
Dim 전열교환기_풍량_합 As Decimal = 0
|
|
Dim 전열교환기_전열풍량_합 As Decimal = 0
|
|
Dim 전열교환기_열회수효율_난방_합 As Decimal = 0
|
|
Dim 전열교환기_열회수효율_냉방_합 As Decimal = 0
|
|
Dim 전열교환기_열회수효율_난방_수 As Integer = 0
|
|
Dim 전열교환기_열회수효율_냉방_수 As Integer = 0
|
|
|
|
'Dim 송풍기연결면적합 As Decimal = 0 '//전체면적합
|
|
|
|
'//160327 로직변경
|
|
For Each dr공조 As DS.tbl_kongjoRow In dr공조기기
|
|
|
|
|
|
Dim 연결존수 As Integer = 0
|
|
Dim DRz() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("냉난방공조처리시스템='" & dr공조.code & "'")
|
|
If DRz.Length < 1 Then Continue For '//연결이되지 않은 기기는 넘어가도록 한다
|
|
|
|
For Each drow As DS.tbl_zoneRow In DRz
|
|
If Not IsNumeric(drow.입력존의수) Then drow.입력존의수 = "0"
|
|
If Not IsNumeric(drow.면적) Then drow.면적 = "0"
|
|
연결존수 += CInt(drow.입력존의수)
|
|
'송풍기연결면적합 += (TOSG(drow.면적) * TOSG(drow.입력존의수))
|
|
Next
|
|
|
|
'//연결된 존중 입력존의수값이 0이라면 처리하지 않는다
|
|
If 연결존수 < 1 Then Continue For
|
|
|
|
'//160327 - 열교환기유형에따라서 계산식 변경
|
|
If dr공조.열교환기유형 = "열회수불가" Then
|
|
|
|
'//송풍기
|
|
송풍기_급기_풍량_합 += TOSG(dr공조.급기풍량)
|
|
송풍기_급기_팬동력_합 += TOSG(dr공조.급기팬동력)
|
|
If TOSG(dr공조.총효율급기팬) > 0 Then
|
|
송풍기_급기_팬효율_합 += TOSG(dr공조.총효율급기팬) * TOSG(dr공조.급기풍량)
|
|
End If
|
|
|
|
송풍기_배기_풍량_합 += TOSG(dr공조.배기풍량)
|
|
송풍기_배기_팬동력_합 += TOSG(dr공조.배기팬동력)
|
|
If TOSG(dr공조.총효율배기팬) > 0 Then
|
|
송풍기_배기_팬효율_합 += TOSG(dr공조.총효율배기팬) * TOSG(dr공조.배기풍량)
|
|
End If
|
|
|
|
Else
|
|
|
|
'//전열교환기
|
|
If TOSG(dr공조.열회수율) <> 0 Then
|
|
전열교환기_열회수효율_난방_합 += TOSG(dr공조.열회수율)
|
|
전열교환기_열회수효율_난방_수 += 1
|
|
End If
|
|
|
|
If TOSG(dr공조.열회수율냉) <> 0 Then
|
|
전열교환기_열회수효율_냉방_합 += TOSG(dr공조.열회수율냉)
|
|
전열교환기_열회수효율_냉방_수 += 1
|
|
End If
|
|
|
|
전열교환기_풍량_합 += TOSG(dr공조.급기풍량) + TOSG(dr공조.배기풍량)
|
|
|
|
If dr공조.열교환기유형 = "전열교환" Then
|
|
전열교환기_전열풍량_합 += TOSG(dr공조.급기풍량) + TOSG(dr공조.배기풍량)
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
|
|
If 송풍기_급기_풍량_합 > 0 Then
|
|
송풍기_급기_팬효율_평균 = 송풍기_급기_팬효율_합 / 송풍기_급기_풍량_합
|
|
End If
|
|
If 송풍기_배기_풍량_합 > 0 Then
|
|
송풍기_배기_팬효율_평균 = 송풍기_배기_팬효율_합 / 송풍기_배기_풍량_합
|
|
End If
|
|
|
|
|
|
'//송풍기-급기-풍량
|
|
buffer.Append(송풍기_급기_풍량_합) : buffer.Append(vbTab)
|
|
'//송풍기-급기-동력
|
|
buffer.Append(송풍기_급기_팬동력_합) : buffer.Append(vbTab)
|
|
'//송풍기-급기-효율
|
|
buffer.Append(송풍기_급기_팬효율_평균.ToString("N3")) : buffer.Append(vbTab)
|
|
|
|
'//송풍기-배기-풍량
|
|
buffer.Append(송풍기_배기_풍량_합) : buffer.Append(vbTab)
|
|
'//송풍기-배기-동력
|
|
buffer.Append(송풍기_배기_팬동력_합) : buffer.Append(vbTab)
|
|
'//송풍기-배기-효율
|
|
buffer.Append(송풍기_배기_팬효율_평균.ToString("N3")) : buffer.Append(vbTab)
|
|
|
|
'//전열교환기-풍량
|
|
buffer.Append(전열교환기_풍량_합) : buffer.Append(vbTab)
|
|
'//전열교환기-비중
|
|
Dim 전열교환기비중 As Decimal = 0
|
|
If 전열교환기_풍량_합 > 0 Then 전열교환기비중 = (전열교환기_풍량_합 / (전열교환기_풍량_합 + 송풍기_배기_풍량_합 + 송풍기_급기_풍량_합)) * 100
|
|
buffer.Append(전열교환기비중.ToString("N3") + "%") : buffer.Append(vbTab)
|
|
'//전열교환기-열회수효율-난방
|
|
Dim 전열교환기_열회수효율_난방_평균 As Decimal = 0
|
|
If 전열교환기_열회수효율_난방_수 > 0 Then 전열교환기_열회수효율_난방_평균 = 전열교환기_열회수효율_난방_합 / 전열교환기_열회수효율_난방_수
|
|
buffer.Append(전열교환기_열회수효율_난방_평균) : buffer.Append(vbTab)
|
|
'//전열교환기-열회수효율-냉방
|
|
Dim 전열교환기_열회수효율_냉방_평균 As Decimal = 0
|
|
If 전열교환기_열회수효율_냉방_수 > 0 Then 전열교환기_열회수효율_냉방_평균 = 전열교환기_열회수효율_냉방_합 / 전열교환기_열회수효율_냉방_수
|
|
buffer.Append(전열교환기_열회수효율_냉방_평균) : buffer.Append(vbTab)
|
|
|
|
'//조명에너지-평균조명에너지부하율
|
|
Dim 조명에너지_부하율합 As Decimal = 0
|
|
Dim 조명에너지_면적합 As Decimal = 0
|
|
For Each drZone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0' and code <>'0000' and 면적 <> '0' and 면적 <> ''")
|
|
|
|
'//입력오류 체크
|
|
If Not IsNumeric(drZone.면적) Then drZone.면적 = "0"
|
|
If Not IsNumeric(drZone.입력존의수) Then drZone.입력존의수 = "1"
|
|
If Not IsNumeric(drZone.조명에너지부하율입력치) Then drZone.조명에너지부하율입력치 = "0"
|
|
If Not IsNumeric(drZone.조명에너지부하율계산치) Then drZone.조명에너지부하율계산치 = "0"
|
|
|
|
If drZone.면적 <> "0" Then
|
|
조명에너지_면적합 += CInt(drZone.입력존의수) * TOSG(drZone.면적) '//모든면적의총합
|
|
|
|
If drZone.조명부하산출방법 = "입력치" Then
|
|
조명에너지_부하율합 += TOSG(drZone.조명에너지부하율입력치) * (CInt(drZone.입력존의수) * TOSG(drZone.면적))
|
|
ElseIf drZone.조명부하산출방법 = "계산치" Then
|
|
조명에너지_부하율합 += TOSG(drZone.조명에너지부하율계산치) * (CInt(drZone.입력존의수) * TOSG(drZone.면적))
|
|
End If
|
|
End If
|
|
|
|
|
|
Next
|
|
Dim 평균조명에너지부하율 As Decimal = 0
|
|
If 조명에너지_면적합 <> 0 Then 평균조명에너지부하율 = (조명에너지_부하율합 / 조명에너지_면적합)
|
|
|
|
buffer.Append(평균조명에너지부하율.ToString("N2")) : buffer.Append(vbTab)
|
|
'//조명에너지-주조명광원
|
|
buffer.Append(drYK.주조명광원) : buffer.Append(vbTab)
|
|
|
|
'//태양열-난방-용량
|
|
Dim 난방축열탱크용량_합 As Decimal = 0
|
|
Dim 급탕축열탱크용량_합 As Decimal = 0
|
|
Dim 태양열면적_합 As Decimal = 0
|
|
Dim 태양열계수_합 As Decimal = 0
|
|
Dim 태양광모듈효율_합 As Decimal = 0
|
|
Dim 태양광면적_합 As Decimal = 0
|
|
Dim 태양광용량_합 As Decimal = 0
|
|
For Each dr신재생 As DS.tbl_newRow In DSET1.tbl_new.Select("code <> '0'")
|
|
If dr신재생.기기종류 = "태양열" Then
|
|
If Not IsNumeric(dr신재생.축열탱크체적급탕) Then dr신재생.축열탱크체적급탕 = "0"
|
|
If Not IsNumeric(dr신재생.축열탱크체적난방) Then dr신재생.축열탱크체적난방 = "0"
|
|
If Not IsNumeric(dr신재생.집열판면적) Then dr신재생.집열판면적 = "0"
|
|
If Not IsNumeric(dr신재생.무손실효율계수) Then dr신재생.무손실효율계수 = "0"
|
|
급탕축열탱크용량_합 += dr신재생.축열탱크체적급탕
|
|
난방축열탱크용량_합 += dr신재생.축열탱크체적난방
|
|
If dr신재생.무손실효율계수 <> "0" Then
|
|
태양열면적_합 += dr신재생.집열판면적
|
|
태양열계수_합 += (dr신재생.무손실효율계수 * dr신재생.집열판면적)
|
|
End If
|
|
ElseIf dr신재생.기기종류 = "태양광" Then
|
|
If Not IsNumeric(dr신재생.태양광모듈면적) Then dr신재생.태양광모듈면적 = "0"
|
|
If Not IsNumeric(dr신재생.태양광모듈효율) Then dr신재생.태양광모듈효율 = "0"
|
|
If Not IsNumeric(dr신재생.태양광용량) Then dr신재생.태양광용량 = "0"
|
|
태양광용량_합 += dr신재생.태양광용량
|
|
If dr신재생.태양광모듈효율 <> "0" Then
|
|
태양광면적_합 += dr신재생.태양광모듈면적
|
|
태양광모듈효율_합 += (dr신재생.태양광모듈효율 * dr신재생.태양광모듈면적)
|
|
End If
|
|
End If
|
|
Next
|
|
buffer.Append(난방축열탱크용량_합.ToString("N3")) : buffer.Append(vbTab)
|
|
'//태양열-난방-효율
|
|
Dim 태양열난방_효율 As Decimal = 0
|
|
If 태양열면적_합 <> 0 Then 태양열난방_효율 = 태양열계수_합 / 태양열면적_합
|
|
buffer.Append(태양열난방_효율.ToString("N3")) : buffer.Append(vbTab)
|
|
'//태양열-급탕-용량
|
|
buffer.Append(급탕축열탱크용량_합.ToString("N3")) : buffer.Append(vbTab)
|
|
'//태양열-급탕-효율
|
|
buffer.Append("X") : buffer.Append(vbTab)
|
|
'//태양열-집열판면적
|
|
buffer.Append(drYK.태양열집열판면적) : buffer.Append(vbTab)
|
|
'//태양열-집열판유형
|
|
buffer.Append(drYK.태양열집열기유형) : buffer.Append(vbTab)
|
|
'//태양열-집열판방위
|
|
buffer.Append(drYK.태양열집열판방위) : buffer.Append(vbTab)
|
|
|
|
'//태양광-용량
|
|
buffer.Append(태양광용량_합.ToString("N3")) : buffer.Append(vbTab)
|
|
'//태양광-효율
|
|
Dim 태양광_효율 As Decimal = 0
|
|
If 태양광면적_합 <> 0 Then 태양광_효율 = 태양광모듈효율_합 / 태양광면적_합
|
|
buffer.Append(태양광_효율.ToString("N3")) : buffer.Append(vbTab)
|
|
'//태양광-모듈면적
|
|
buffer.Append(drYK.태양광모듈면적) : buffer.Append(vbTab)
|
|
'//태양광-모듈기울기
|
|
buffer.Append(drYK.태양광모듈기울기) : buffer.Append(vbTab)
|
|
'//태양광-모듈방위
|
|
buffer.Append(drYK.태양광모듈방위) : buffer.Append(vbTab)
|
|
'//태양광-모듈종류
|
|
buffer.Append(drYK.태양광모듈종류) : buffer.Append(vbTab)
|
|
'//태양광-모듈적용타입
|
|
buffer.Append(drYK.태양광모듈적용타입) : buffer.Append(vbTab)
|
|
|
|
'//지열-난방-용량
|
|
buffer.Append(drYK.지열히트펌프용량) : buffer.Append(vbTab)
|
|
'//지열-난방-효율
|
|
buffer.Append(drYK.지열난방COP) : buffer.Append(vbTab)
|
|
'//지열-냉방-용량
|
|
buffer.Append(drYK.지열히트펌프용량냉방) : buffer.Append(vbTab)
|
|
'//지열-냉방-효율
|
|
buffer.Append(drYK.지열냉방COP) : buffer.Append(vbTab)
|
|
|
|
'//열병합-열생산능력
|
|
buffer.Append(drYK.열병합열생산능력) : buffer.Append(vbTab)
|
|
'//열병합-열생산효율
|
|
buffer.Append(drYK.열병합열생산효율) : buffer.Append(vbTab)
|
|
'//열병합-발전효율
|
|
buffer.Append(drYK.열병합발전효율) : buffer.Append(vbTab)
|
|
'//열병합-가동연료
|
|
buffer.Append(drYK.열병합가동연료) : buffer.Append(vbTab)
|
|
|
|
'//신재생 및 열병합 에너지생산량 (68 69 70 71 2page 계산결과 treq, grp=310)
|
|
Dim 신재생에너지생산량합 As Decimal = 0
|
|
Dim 신재생에너지생산량 As Decimal = 0
|
|
For Each dr As DSR.TReqUseRow In DSETR1.TReqUse.Select("grp = '310'")
|
|
If dr.Code = "068" OrElse dr.Code = "069" OrElse dr.Code = "070" OrElse dr.Code = "071" Then
|
|
신재생에너지생산량합 += dr.M00
|
|
End If
|
|
Next
|
|
Dim 조명사용면적 As Decimal = 0
|
|
For Each dr As DSR.TReqUseRow In DSETR1.TReqUse.Select("grp = '110'")
|
|
If dr.Code = "015" Then
|
|
조명사용면적 += dr.M00
|
|
Exit For
|
|
End If
|
|
Next
|
|
If 조명사용면적 <> 0 Then 신재생에너지생산량 = 신재생에너지생산량합 / 조명사용면적
|
|
|
|
buffer.Append(신재생에너지생산량.ToString("N2")) : buffer.Append(vbTab)
|
|
|
|
'//평가책임자
|
|
buffer.Append("X") : buffer.Append(vbTab)
|
|
|
|
'//평가자
|
|
buffer.Append("X") : buffer.Append(vbTab)
|
|
|
|
'//에너지효율등급
|
|
Dim 에너지효율등급 As Integer = 평가결과등급(주거용, 일차에너지소요량합계)
|
|
Dim 등급문자 As String = ""
|
|
Select Case 에너지효율등급
|
|
Case 1
|
|
등급문자 = "1+++등급"
|
|
Case 2
|
|
등급문자 = "1++등급"
|
|
Case 3
|
|
등급문자 = "1+등급"
|
|
Case 4
|
|
등급문자 = "1등급"
|
|
Case 5
|
|
등급문자 = "2등급"
|
|
Case 6
|
|
등급문자 = "3등급"
|
|
Case 7
|
|
등급문자 = "4등급"
|
|
Case 8
|
|
등급문자 = "5등급"
|
|
Case 9
|
|
등급문자 = "6등급"
|
|
Case 10
|
|
등급문자 = "7등급"
|
|
End Select
|
|
|
|
|
|
buffer.Append(등급문자) : buffer.Append(vbTab)
|
|
|
|
'//예비인증 등급
|
|
buffer.Append("X") : buffer.Append(vbTab)
|
|
|
|
'//냉방시스템설치여부(입력존에서 열생산기기 냉방에 연결된 데이터가 있다면 O)
|
|
Dim 냉방시스템설치여부 As Boolean = False
|
|
For Each drZone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
|
|
If drZone.열생산냉방생산기기 <> "0" AndAlso drZone.열생산냉방생산기기.Length > 3 Then
|
|
냉방시스템설치여부 = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
buffer.Append(IIf(냉방시스템설치여부, "Y", "N")) : buffer.Append(vbTab)
|
|
|
|
'//신청지역
|
|
Dim 지역코드 As String = drDesc.buildarea
|
|
Dim 지역명 As String = ""
|
|
If 지역코드 <> "0000" Then
|
|
Dim drWeather() As DS.tbl_weatherRow = DSET1.tbl_weather.Select("code='" + 지역코드 + "'")
|
|
If drWeather.Length = 1 Then 지역명 = drWeather(0).건물위치
|
|
End If
|
|
|
|
buffer.Append(지역명) : buffer.Append(vbTab)
|
|
|
|
'//자립률관련추가 170725
|
|
'//170725
|
|
Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
|
Dim 단위면적당신재생1차에너지합_offsite As Decimal = 0
|
|
Dim 단위면적당1차에너소비량합 As Decimal = 0
|
|
Dim 에너지자립률 As Double = 0
|
|
Dim 에너지자립률_offsite As Double = 0
|
|
|
|
Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
Dim Sum_offsite As Decimal = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite + Result1.생산E(0).연료전지전력생산량_offsite) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
Dim 냉방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).냉방전력
|
|
Dim 조명_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).조명전력
|
|
Dim 급탕_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).급탕전력
|
|
Dim 환기_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).환기전력
|
|
|
|
Dim 난방면적 As Decimal = 0
|
|
Dim 냉방면적 As Decimal = 0
|
|
Dim 조명면적 As Decimal = 0
|
|
Dim 급탕면적 As Decimal = 0
|
|
Dim 환기면적 As Decimal = 0
|
|
|
|
Dim 난방면적_offsite As Decimal = 0
|
|
Dim 냉방면적_offsite As Decimal = 0
|
|
Dim 조명면적_offsite As Decimal = 0
|
|
Dim 급탕면적_offsite As Decimal = 0
|
|
Dim 환기면적_offsite As Decimal = 0
|
|
|
|
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
|
End If
|
|
|
|
If Result1.사용면적.H <> 0 Then
|
|
난방면적_offsite = TOSG(IIf(난방_offsite = 0, 0, 난방_offsite / Result1.사용면적.H))
|
|
End If
|
|
If Result1.사용면적.C <> 0 Then
|
|
냉방면적_offsite = TOSG(IIf(냉방_offsite = 0, 0, 냉방_offsite / Result1.사용면적.C))
|
|
End If
|
|
If Result1.사용면적.L <> 0 Then
|
|
조명면적_offsite = TOSG(IIf(조명_offsite = 0, 0, 조명_offsite / Result1.사용면적.L))
|
|
End If
|
|
If Result1.사용면적.W <> 0 Then
|
|
급탕면적_offsite = TOSG(IIf(급탕_offsite = 0, 0, 급탕_offsite / Result1.사용면적.W))
|
|
End If
|
|
If Result1.사용면적.V <> 0 Then
|
|
환기면적_offsite = TOSG(IIf(환기_offsite = 0, 0, 환기_offsite / Result1.사용면적.V))
|
|
End If
|
|
|
|
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite
|
|
|
|
'//열병합신재생에너지추가 130831 arin
|
|
Dim _자립_신재생에너지 As Single = -1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + 전기 * 2.75)
|
|
Dim _자립_신재생에너지_offsite As Single = -1 * (전기_offsite * 2.75)
|
|
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
|
냉방에너지 = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
|
급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
|
조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
|
환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
|
단위면적당신재생1차에너지합 = Math.Round(-1 * _자립_신재생에너지, 1)
|
|
단위면적당신재생1차에너지합_offsite = Math.Round(-1 * _자립_신재생에너지_offsite, 1)
|
|
|
|
|
|
단위면적당1차에너소비량합 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지 + 단위면적당신재생1차에너지합
|
|
If 단위면적당1차에너소비량합 <> 0 Then
|
|
'에너지자립률 = (단위면적당신재생1차에너지합 / 단위면적당1차에너소비량합) * 100
|
|
|
|
에너지자립률 = (Math.Round(단위면적당신재생1차에너지합, 1) / 단위면적당1차에너소비량합) * 100
|
|
|
|
Dim scale As Decimal = 0
|
|
If 에너지자립률 >= 20 Then
|
|
scale = 1.0
|
|
ElseIf 에너지자립률 >= 15 Then
|
|
scale = 0.9
|
|
ElseIf 에너지자립률 >= 10 Then
|
|
scale = 0.8
|
|
Else
|
|
scale = 0.7
|
|
End If
|
|
|
|
에너지자립률_offsite = (Math.Round(단위면적당신재생1차에너지합_offsite * scale, 1) / 단위면적당1차에너소비량합) * 100
|
|
에너지자립률 += 에너지자립률_offsite
|
|
|
|
Else
|
|
에너지자립률 = 0
|
|
에너지자립률_offsite = 0
|
|
End If
|
|
buffer.Append(에너지자립률.ToString("N2")) : buffer.Append(vbTab)
|
|
buffer.Append(단위면적당신재생1차에너지합.ToString("N1")) : buffer.Append(vbTab)
|
|
buffer.Append(단위면적당1차에너소비량합.ToString("N1")) : buffer.Append(vbTab)
|
|
|
|
'//210702
|
|
buffer.Append(에너지자립률_offsite.ToString("N2")) : buffer.Append(vbTab)
|
|
buffer.Append(단위면적당신재생1차에너지합_offsite.ToString("N1")) : buffer.Append(vbTab)
|
|
|
|
|
|
'//240105
|
|
Dim vv0 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='007'")(0), DSR.TReqUseRow).M00
|
|
Dim vv1 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='012'")(0), DSR.TReqUseRow).M00
|
|
Dim vv2 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='015'")(0), DSR.TReqUseRow).M00
|
|
Dim vv3 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='018'")(0), DSR.TReqUseRow).M00
|
|
Dim vv4 As Decimal = CType(DSETR1.TReqUse.Select("GRP='110' and CODE='019'")(0), DSR.TReqUseRow).M00
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
buffer.Append(vv2) : buffer.Append(vbTab)
|
|
buffer.Append(vv3) : buffer.Append(vbTab)
|
|
buffer.Append(vv4) : buffer.Append(vbTab)
|
|
|
|
Dim 면적합값 As Tuple(Of Decimal, Int32) = Pub.면적존수합()
|
|
buffer.Append(면적합값.Item1) : buffer.Append(vbTab)
|
|
|
|
'//난방 1차에너지소요량
|
|
'buffer.Append( v3_1.ToString("N1") ) : buffer.Append(vbTab) '//난방
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='040'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='041'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='042'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='043'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='044'")(0), DSR.TReqUseRow).M00
|
|
Dim vv5 As Decimal = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='045'")(0), DSR.TReqUseRow).M00
|
|
Dim vv6 As Decimal
|
|
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
buffer.Append(vv2) : buffer.Append(vbTab)
|
|
buffer.Append(vv3) : buffer.Append(vbTab)
|
|
buffer.Append(vv4) : buffer.Append(vbTab)
|
|
buffer.Append(vv5) : buffer.Append(vbTab)
|
|
|
|
'//냉방 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='047'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='048'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='049'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='050'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='051'")(0), DSR.TReqUseRow).M00
|
|
vv5 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='052'")(0), DSR.TReqUseRow).M00
|
|
vv6 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='053'")(0), DSR.TReqUseRow).M00
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
buffer.Append(vv2) : buffer.Append(vbTab)
|
|
buffer.Append(vv3) : buffer.Append(vbTab)
|
|
buffer.Append(vv4) : buffer.Append(vbTab)
|
|
buffer.Append(vv5) : buffer.Append(vbTab)
|
|
buffer.Append(vv6) : buffer.Append(vbTab)
|
|
|
|
'//급탕 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='055'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='056'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='057'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='058'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='059'")(0), DSR.TReqUseRow).M00
|
|
vv5 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='060'")(0), DSR.TReqUseRow).M00
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
buffer.Append(vv2) : buffer.Append(vbTab)
|
|
buffer.Append(vv3) : buffer.Append(vbTab)
|
|
buffer.Append(vv4) : buffer.Append(vbTab)
|
|
buffer.Append(vv5) : buffer.Append(vbTab)
|
|
|
|
'//조명 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='062'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='063'")(0), DSR.TReqUseRow).M00
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
|
|
'//전기 1차에너지소요량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='065'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='066'")(0), DSR.TReqUseRow).M00
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
|
|
'//신재생 생산량
|
|
vv0 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='068'")(0), DSR.TReqUseRow).M00
|
|
vv1 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='069'")(0), DSR.TReqUseRow).M00
|
|
vv2 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='070'")(0), DSR.TReqUseRow).M00
|
|
vv3 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='071'")(0), DSR.TReqUseRow).M00
|
|
vv4 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='072'")(0), DSR.TReqUseRow).M00
|
|
vv5 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='073'")(0), DSR.TReqUseRow).M00
|
|
vv6 = CType(DSETR1.TReqUse.Select("GRP='310' and CODE='074'")(0), DSR.TReqUseRow).M00
|
|
buffer.Append(vv0) : buffer.Append(vbTab)
|
|
buffer.Append(vv1) : buffer.Append(vbTab)
|
|
buffer.Append(vv2) : buffer.Append(vbTab)
|
|
buffer.Append(vv3) : buffer.Append(vbTab)
|
|
buffer.Append(vv4) : buffer.Append(vbTab)
|
|
buffer.Append(vv5) : buffer.Append(vbTab)
|
|
buffer.Append(vv6) : buffer.Append(vbTab)
|
|
|
|
'//풍력회전면적(최대)
|
|
Dim 풍력로우터회전면적 As Decimal = 0
|
|
Dim 풍력허브높이 As Decimal = 0
|
|
For Each dr As DS.tbl_newRow In DSET1.tbl_new
|
|
If dr.기기종류 <> "풍력" Then Continue For
|
|
|
|
If dr.풍력로우터회전면적 > 풍력로우터회전면적 Then
|
|
풍력로우터회전면적 = dr.풍력로우터회전면적
|
|
풍력허브높이 = dr.풍력허브높이
|
|
End If
|
|
Next
|
|
buffer.Append(풍력로우터회전면적) : buffer.Append(vbTab)
|
|
buffer.Append(풍력허브높이) : buffer.Append(vbTab)
|
|
|
|
'//수열월(최대)
|
|
Dim 수열시스템펌프용량 As Decimal = 0
|
|
Dim 수열시스템난방 As Decimal = 0
|
|
Dim 수열시스템냉방 As Decimal = 0
|
|
Dim 수열원 As String = ""
|
|
For Each dr As DS.tbl_newRow In DSET1.tbl_new
|
|
If dr.기기종류 <> "수열" Then Continue For
|
|
If dr.수열_수열히트펌프용량 > 수열시스템펌프용량 Then
|
|
수열시스템펌프용량 = dr.수열_수열히트펌프용량
|
|
수열시스템난방 = dr.수열_열성능비_난방5도
|
|
수열시스템냉방 = dr.수열_열성능비_냉방35도
|
|
수열원 = dr.수열_수열원
|
|
End If
|
|
Next
|
|
buffer.Append(수열원) : buffer.Append(vbTab)
|
|
buffer.Append(수열시스템펌프용량) : buffer.Append(vbTab)
|
|
buffer.Append(수열시스템난방) : buffer.Append(vbTab)
|
|
buffer.Append(수열시스템냉방) : buffer.Append(vbTab)
|
|
|
|
'태양광(BIPV)
|
|
Dim 태양광모듈면적 As Decimal = 0
|
|
Dim dr태양광bipv As DS.tbl_newRow = Nothing
|
|
Dim 태양광용량_합_BIPV As Decimal = 0
|
|
Dim 태양광면적_합_BIPV As Decimal = 0
|
|
Dim 태양광모듈효율_합_BIPV As Decimal = 0
|
|
For Each dr As DS.tbl_newRow In DSET1.tbl_new
|
|
If dr.기기종류 <> "태양광" Then Continue For
|
|
If dr.태양광모듈적용타입 <> "밀착형" Then Continue For
|
|
|
|
|
|
If Not IsNumeric(dr.태양광모듈면적) Then dr.태양광모듈면적 = "0"
|
|
If Not IsNumeric(dr.태양광모듈효율) Then dr.태양광모듈효율 = "0"
|
|
If Not IsNumeric(dr.태양광용량) Then dr.태양광용량 = "0"
|
|
태양광용량_합_BIPV += dr.태양광용량
|
|
If dr.태양광모듈효율 <> "0" Then
|
|
태양광면적_합_BIPV += dr.태양광모듈면적
|
|
태양광모듈효율_합_BIPV += (dr.태양광모듈효율 * dr.태양광모듈면적)
|
|
End If
|
|
|
|
|
|
If dr.태양광모듈면적 > 태양광모듈면적 Then
|
|
태양광모듈면적 = dr.태양광모듈면적
|
|
dr태양광bipv = dr
|
|
End If
|
|
Next
|
|
buffer.Append(태양광용량_합_BIPV) : buffer.Append(vbTab)
|
|
If 태양광면적_합_BIPV = 0 Then
|
|
buffer.Append(0) : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append((태양광모듈효율_합_BIPV / 태양광면적_합_BIPV)) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
|
|
If dr태양광bipv Is Nothing Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(dr태양광bipv.태양광모듈면적) : buffer.Append(vbTab)
|
|
buffer.Append(dr태양광bipv.태양광모듈기울기) : buffer.Append(vbTab)
|
|
buffer.Append(dr태양광bipv.태양광모듈방위) : buffer.Append(vbTab)
|
|
buffer.Append(dr태양광bipv.태양광모듈종류) : buffer.Append(vbTab)
|
|
buffer.Append(dr태양광bipv.태양광모듈적용타입) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
'//히트펌프
|
|
Dim 히트펌프용량_가스_난방 As Decimal = 0
|
|
Dim 히트펌프용량_전기_난방 As Decimal = 0
|
|
Dim 히트펌프용량_가스_냉방 As Decimal = 0
|
|
Dim 히트펌프용량_전기_냉방 As Decimal = 0
|
|
|
|
For Each dr As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki
|
|
If dr.히트연료.EndsWith("가스") Then
|
|
히트펌프용량_가스_난방 += dr.히트난방용량
|
|
ElseIf dr.히트연료 = "전기" Then
|
|
히트펌프용량_전기_난방 += dr.히트난방용량
|
|
End If
|
|
Next
|
|
|
|
For Each dr As DS.tbl_nangbangkikiRow In DSET1.tbl_nangbangkiki
|
|
If dr.냉동기종류 <> "실내공조시스템" Then Continue For
|
|
If dr.냉동기방식 = "압축식(LNG)" Then
|
|
히트펌프용량_가스_냉방 += dr.냉동기용량
|
|
ElseIf dr.냉동기방식 = "압축식" Then
|
|
히트펌프용량_전기_냉방 += dr.냉동기용량
|
|
End If
|
|
Next
|
|
|
|
|
|
buffer.Append(히트펌프용량_가스_난방) : buffer.Append(vbTab)
|
|
buffer.Append(히트펌프용량_전기_난방) : buffer.Append(vbTab)
|
|
|
|
buffer.Append(히트펌프용량_가스_냉방) : buffer.Append(vbTab)
|
|
buffer.Append(히트펌프용량_전기_냉방) : buffer.Append(vbTab)
|
|
|
|
'//추가작업 230724
|
|
If column < 11 Then Return buffer.ToString() '//아래는 매크로동작시
|
|
|
|
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
|
|
'//벽체면적
|
|
Dim WallArea As Decimal = 0
|
|
Dim WindowArea As Decimal = 0
|
|
Dim 열관류율합 As Double
|
|
Dim 존수 As Integer = 0
|
|
Dim 비연결 As Integer = 0
|
|
Dim 비연결존 As String = ""
|
|
Dim 방위목록() As String = New String() {"수평", "남", "남동", "동", "북동", "북", "북서", "서", "남서"}
|
|
For Each 방위 As String In 방위목록
|
|
Dim filter As String = "code <> '0' and (건축부위방식='외벽' or 건축부위방식 ='외부창' or 건축부위방식='내벽' or 건축부위방식 ='내부창')"
|
|
If 방위 <> "" Then filter += " and 방위='" + 방위 + "'"
|
|
Dim 면데이터() As DS.tbl_myounRow = DSET1.tbl_myoun.Select(filter)
|
|
Dim 열관없는갯수 As Integer = 0
|
|
Try
|
|
For Each Dr입력면 As DS.tbl_myounRow In 면데이터
|
|
Dim 열관 As Single = 0
|
|
|
|
If Dr입력면.열관류율2 = "0" OrElse Dr입력면.열관류율2 = "" Then
|
|
열관없는갯수 += 1
|
|
End If
|
|
|
|
Dim Dryk1 As DS.tbl_ykRow = Nothing
|
|
If Dr입력면.열관류율2 <> "0" Then '
|
|
Dryk1 = DSET1.tbl_yk.Select("code='" & Dr입력면.열관류율2 & "'")(0)
|
|
열관 = TOSG(Dryk1("열관류율").ToString)
|
|
Else '//선택안된경우
|
|
열관 = TOSG(Dr입력면.열관류율)
|
|
End If
|
|
|
|
Dim 존코드 As String = Dr입력면.존분류
|
|
Dim dr존() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code='" + 존코드 + "'")
|
|
If dr존.GetUpperBound(0) = -1 Then
|
|
존수 = 1
|
|
Else
|
|
If IsNumeric(dr존(0).입력존의수) Then
|
|
존수 = CInt(dr존(0).입력존의수)
|
|
Else
|
|
존수 = 1
|
|
End If
|
|
End If
|
|
|
|
Select Case Dr입력면.건축부위방식
|
|
Case "외벽"
|
|
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내벽"
|
|
열관류율합 += 열관 * 0.7 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외부창"
|
|
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내부창"
|
|
열관류율합 += 열관 * 0.8 * TOSG(Dr입력면.건축부위면적) * 존수
|
|
End Select
|
|
|
|
'// Debug.WriteLine(Dr입력면.열관류율2 + "/" + Dr입력면.code + "/" + 열관.ToString() + "/" + Dr입력면.설명 + "/" + Dr입력면.건축부위면적.ToCharArray() + "/" + 존수.ToString() + "/" + 열관류율합.ToString(), True)
|
|
|
|
If Dryk1 Is Nothing Then
|
|
비연결 += 1
|
|
|
|
'//사용한 존
|
|
If dr존 Is Nothing Then
|
|
Else
|
|
비연결존 = dr존(0).설명 + "의 " + Dr입력면.설명
|
|
End If
|
|
|
|
|
|
'//열관류 선택안된경우
|
|
Select Case Dr입력면.건축부위방식
|
|
Case "외벽"
|
|
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End If
|
|
Case "내벽" '
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외부창"
|
|
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End If
|
|
Case "내부창"
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End Select
|
|
|
|
Else
|
|
|
|
Dim 면형태이름 As String = Get_CName("1088", Dryk1.면형태)
|
|
Select Case 면형태이름
|
|
Case "외벽(벽체)"
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "내벽(벽체)"
|
|
WallArea = WallArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
Case "외부창"
|
|
If Dr입력면.방위 <> "수평" AndAlso Dr입력면.방위 <> "일사없음" AndAlso Dr입력면.방위 <> "(없음)" Then
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End If
|
|
Case "내부창"
|
|
WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
End Select
|
|
End If
|
|
|
|
'Debug.WriteLine(Dr입력면.code + ":wall=" + WallArea.ToString() + ",win=" + WindowArea.ToString())
|
|
Next
|
|
'For Each Dr입력면 As DS.tbl_myounRow In DSET1.tbl_myoun.Select("건축부위방식='외부창'")
|
|
' WindowArea = WindowArea + TOSG(Dr입력면.건축부위면적) * 존수
|
|
'Next
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
|
|
buffer.Append(WallArea.ToString("N1")) : buffer.Append(vbTab)
|
|
buffer.Append(WindowArea.ToString("N1")) : buffer.Append(vbTab)
|
|
|
|
|
|
Try
|
|
창및문면적비 = WindowArea / (WallArea + WindowArea) * 100
|
|
Catch ex As Exception
|
|
창및문면적비 = 0 '//게삭과정에 오류가낫다면 0처리합니다.
|
|
End Try
|
|
If WallArea + WindowArea = 0 Then
|
|
buffer.Append("0 %") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(창및문면적비.ToString("N1")) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
|
|
|
|
|
|
buffer.Append(창열관류율_평균.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_남.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_남동.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_동.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_북동.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_북.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_북서.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_서.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(창열관류율_남서.ToString("N3")) : buffer.Append(vbTab)
|
|
|
|
buffer.Append(일사에너지투과율_평균.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_남.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_남동.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_동.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_북동.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_북.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_북서.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_서.ToString("N3")) : buffer.Append(vbTab)
|
|
buffer.Append(일사에너지투과율_남서.ToString("N3")) : buffer.Append(vbTab)
|
|
|
|
|
|
'//난방기기 - 보일러중에 용량이 가장 큰
|
|
Dim 보일러목록() As DS.tbl_nanbangkikiRow = DSET1.tbl_nanbangkiki.Select("열생산기기방식='보일러'", "보일러정격출력 desc")
|
|
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(보일러목록(0).보일러방식) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
보일러목록 = DSET1.tbl_nanbangkiki.Select("열생산기기방식='지역난방'", "열교환기정격출력 desc")
|
|
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(보일러목록(0).지역난방방식) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
보일러목록 = DSET1.tbl_nanbangkiki.Select("열생산기기방식='히트펌프'", "히트난방용량 desc")
|
|
If 보일러목록 Is Nothing OrElse 보일러목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(보일러목록(0).히트난방용량) : buffer.Append(vbTab)
|
|
buffer.Append(보일러목록(0).히트난방정격7) : buffer.Append(vbTab)
|
|
buffer.Append(보일러목록(0).히트난방정격10) : buffer.Append(vbTab)
|
|
buffer.Append(보일러목록(0).히트배관길이) : buffer.Append(vbTab)
|
|
buffer.Append(보일러목록(0).히트펌프시스템종류) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
|
|
Dim 냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='압축식'", "냉동기용량 desc")
|
|
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(냉방기목록(0).냉동기종류) : buffer.Append(vbTab)
|
|
buffer.Append(냉방기목록(0).냉동기압축방식) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='흡수식'", "냉동기용량 desc")
|
|
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(냉방기목록(0).압축기제어방식) : buffer.Append(vbTab)
|
|
buffer.Append(냉방기목록(0).열생산연결방식) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
냉방기목록 = DSET1.tbl_nangbangkiki.Select("냉동기방식='압축식' and 냉동기종류='실내공조시스템'", "냉동기용량 desc")
|
|
If 냉방기목록 Is Nothing OrElse 냉방기목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(냉방기목록(0).냉동기설비시스템) : buffer.Append(vbTab)
|
|
buffer.Append(냉방기목록(0).제어방식) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
'//급탕기기로 연결된 자료
|
|
Dim 급탕기기대상 As DS.tbl_nanbangkikiRow = Nothing
|
|
Dim 급탕기기대상용량 As Decimal = 0
|
|
For Each dr As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki.Rows
|
|
Dim cnt = 0
|
|
Dim 존목록() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("code <> '0' and 열생산급탕생산기기='" & dr.code & "'")
|
|
For Each drow As DS.tbl_zoneRow In 존목록
|
|
Dim 입력존수문자 As Integer = drow.입력존의수
|
|
If IsNumeric(입력존수문자) = False Then 입력존수문자 = "1"
|
|
cnt += CInt(입력존수문자)
|
|
Next
|
|
If cnt > 0 Then
|
|
If dr.보일러정격출력 > 급탕기기대상용량 Then
|
|
급탕기기대상 = dr
|
|
급탕기기대상용량 = dr.보일러정격출력
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
If 급탕기기대상 Is Nothing Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(급탕기기대상.축열탱크방식) : buffer.Append(vbTab)
|
|
buffer.Append(급탕기기대상.축열제척) : buffer.Append(vbTab)
|
|
buffer.Append(급탕기기대상.펌프정격전력) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
|
|
Dim 태양광목록() As DS.tbl_newRow = DSET1.tbl_new.Select("기기종류='태양광'", "태양광모듈면적 desc")
|
|
If 태양광목록 Is Nothing OrElse 태양광목록.Length < 1 Then
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
buffer.Append("") : buffer.Append(vbTab)
|
|
Else
|
|
buffer.Append(태양광목록(0).태양광용량) : buffer.Append(vbTab)
|
|
buffer.Append(태양광목록(0).태양광모듈효율) : buffer.Append(vbTab)
|
|
buffer.Append(태양광목록(0).태양광모듈면적) : buffer.Append(vbTab)
|
|
buffer.Append(태양광목록(0).태양광모듈기울기) : buffer.Append(vbTab)
|
|
buffer.Append(태양광목록(0).태양광모듈방위) : buffer.Append(vbTab)
|
|
buffer.Append(태양광목록(0).태양광모듈종류) : buffer.Append(vbTab)
|
|
buffer.Append(태양광목록(0).태양광모듈적용타입) : buffer.Append(vbTab)
|
|
End If
|
|
|
|
|
|
'//230804 에너지생산량 ` 1차 추가
|
|
Dim 에너지생산량_난방 As Decimal = 난방면적 + 난방면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_난방 + _
|
|
Result1.생산E(0).면적당생산량수열_난방 + _
|
|
Result1.생산E(0).면적당생산량지열_난방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_난방
|
|
|
|
Dim 에너지생산량_냉방 As Decimal = 냉방면적 + 냉방면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_냉방 + _
|
|
Result1.생산E(0).면적당생산량수열_냉방 + _
|
|
Result1.생산E(0).면적당생산량지열_냉방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_냉방
|
|
|
|
Dim 에너지생산량_급탕 As Decimal = 급탕면적 + 급탕면적_offsite + _
|
|
Result1.생산E(0).면적당생산량태양열_급탕 + _
|
|
Result1.생산E(0).면적당생산량수열_급탕 + _
|
|
Result1.생산E(0).면적당생산량지열_급탕 + _
|
|
Result1.생산E(0).신재생면적당열생산량_급탕
|
|
|
|
buffer.Append(에너지생산량_난방) : buffer.Append(vbTab)
|
|
buffer.Append(에너지생산량_냉방) : buffer.Append(vbTab)
|
|
buffer.Append(에너지생산량_급탕) : buffer.Append(vbTab)
|
|
buffer.Append(조명면적 + 조명면적_offsite) : buffer.Append(vbTab)
|
|
buffer.Append(환기면적 + 환기면적_offsite) : buffer.Append(vbTab)
|
|
|
|
Dim multi As Decimal = 2.75
|
|
Dim 에너지생산량_난방_1차 As Decimal = (난방면적 + 난방면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_난방 + _
|
|
Result1.생산E(0).면적당생산량수열_난방 + _
|
|
Result1.생산E(0).면적당생산량지열_난방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_난방
|
|
|
|
Dim 에너지생산량_냉방_1차 As Decimal = (냉방면적 + 냉방면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_냉방 + _
|
|
Result1.생산E(0).면적당생산량수열_냉방 + _
|
|
Result1.생산E(0).면적당생산량지열_냉방 + _
|
|
Result1.생산E(0).신재생면적당열생산량_냉방
|
|
|
|
Dim 에너지생산량_급탕_1차 As Decimal = (급탕면적 + 급탕면적_offsite) * multi + _
|
|
Result1.생산E(0).면적당생산량태양열_급탕 + _
|
|
Result1.생산E(0).면적당생산량수열_급탕 + _
|
|
Result1.생산E(0).면적당생산량지열_급탕 + _
|
|
Result1.생산E(0).신재생면적당열생산량_급탕
|
|
|
|
buffer.Append(에너지생산량_난방_1차) : buffer.Append(vbTab)
|
|
buffer.Append(에너지생산량_냉방_1차) : buffer.Append(vbTab)
|
|
buffer.Append(에너지생산량_급탕_1차) : buffer.Append(vbTab)
|
|
|
|
buffer.Append((조명면적 + 조명면적_offsite) * multi) : buffer.Append(vbTab)
|
|
buffer.Append((환기면적 + 환기면적_offsite) * multi) : buffer.Append(vbTab)
|
|
|
|
|
|
'//면적별분류(A-G) 240126
|
|
Dim AREA_A As Integer = 0
|
|
Dim AREA_B As Integer = 0
|
|
Dim AREA_C As Integer = 0
|
|
Dim AREA_D As Integer = 0
|
|
Dim AREA_E As Integer = 0
|
|
Dim AREA_F As Integer = 0
|
|
Dim AREA_G As Integer = 0
|
|
|
|
For Each dr As DS.tbl_zoneRow In DSET1.tbl_zone
|
|
If dr.code = "0" Then Continue For
|
|
|
|
Dim PROFILECODE As String = dr.프로필
|
|
Dim DR프로필() As DS.tbl_profileRow = DSET1.tbl_profile.Select("code='" + PROFILECODE + "'")
|
|
If DR프로필.Length <> 1 Then Continue For
|
|
|
|
If DR프로필(0).설명.StartsWith("00") OrElse DR프로필(0).설명.StartsWith("27") Then
|
|
Dim 면적범위 As Char = Pub.면적별범위값(TOSG(dr.면적))
|
|
If 면적범위 = "A"c Then
|
|
AREA_A += 1
|
|
ElseIf 면적범위 = "B"c Then
|
|
AREA_B += 1
|
|
ElseIf 면적범위 = "C"c Then
|
|
AREA_C += 1
|
|
ElseIf 면적범위 = "D"c Then
|
|
AREA_D += 1
|
|
ElseIf 면적범위 = "E"c Then
|
|
AREA_E += 1
|
|
ElseIf 면적범위 = "F"c Then
|
|
AREA_F += 1
|
|
ElseIf 면적범위 = "G"c Then
|
|
AREA_G += 1
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
|
|
buffer.Append(AREA_A) : buffer.Append(vbTab)
|
|
buffer.Append(AREA_B) : buffer.Append(vbTab)
|
|
buffer.Append(AREA_C) : buffer.Append(vbTab)
|
|
buffer.Append(AREA_D) : buffer.Append(vbTab)
|
|
buffer.Append(AREA_E) : buffer.Append(vbTab)
|
|
buffer.Append(AREA_F) : buffer.Append(vbTab)
|
|
buffer.Append(AREA_G) : buffer.Append(vbTab)
|
|
buffer.AppendLine()
|
|
|
|
Return buffer.ToString()
|
|
|
|
|
|
End Function
|
|
|
|
Private Function RData(grp As String, code As Integer) As Decimal
|
|
Dim filter As String = String.Format("GRP='{0}' and code='{1}'", grp, code.ToString("000"))
|
|
Dim DR() As DSR.TReqUseRow = DSETR1.TReqUse.Select(filter)
|
|
If DR.GetUpperBound(0) = -1 Then Return 0
|
|
Return DR(0).M00
|
|
End Function
|
|
|
|
Dim DSR As New DSR
|
|
|
|
'Private Sub MakeGraphTable()
|
|
' DSR.TReqUse.Clear()
|
|
' DSR.TReqUse.Merge(DSETR1.TReqUse)
|
|
|
|
' If DSR.TReqUse.Rows.Count < 1 Then Return
|
|
|
|
|
|
|
|
' Dim Dr As DSR.Graph_ReqRow
|
|
' For Gubun As Short = 0 To 1
|
|
' For mon As Short = 1 To 12
|
|
' If Gubun = 0 Then '//6번
|
|
' Dr = Me.DSR.Graph_Req.NewGraph_ReqRow
|
|
' Dr.Gubun = "난방에너지요구량"
|
|
' Dr.Mon = Format(mon, "0") & "월"
|
|
' Dr.Req = Math.Round(Result1.E요구량(mon).난방면적, 1)
|
|
' Me.DSR.Graph_Req.Rows.Add(Dr)
|
|
' Else '//11번
|
|
' Dr = Me.DSR.Graph_Req.NewGraph_ReqRow
|
|
' Dr.Gubun = "냉방에너지요구량"
|
|
' Dr.Mon = Format(mon, "0") & "월"
|
|
' Dr.Req = Math.Round(Result1.E요구량(mon).냉방면적, 1)
|
|
' Me.DSR.Graph_Req.Rows.Add(Dr)
|
|
' End If
|
|
' Next
|
|
' Next
|
|
|
|
' '//연간에너지요구량및소요량
|
|
' '//Graph_requse gubun,type,
|
|
' '1차에너지소요량 에너지소요량 에너지요구량
|
|
' '신재생에너지(-57)
|
|
' '난방에너지 106 91.87445415 56.14013248
|
|
' '냉방에너지 155.3678094 119.8832527 40.83005443
|
|
' '급탕에너지 42.6421498 14.21404993 14.6
|
|
' '조명에너지 144.2220948 48.07403159 73.08380082
|
|
' '환기에너지 61.68818331 20.56272777
|
|
|
|
' Dim 신재생에너지 As Decimal
|
|
' Dim 난방에너지 As Decimal
|
|
' Dim 냉방에너지 As Decimal
|
|
' Dim 급탕에너지 As Decimal
|
|
' Dim 조명에너지 As Decimal
|
|
' Dim 환기에너지 As Decimal
|
|
' 'Dim 합계 As Decimal
|
|
|
|
|
|
|
|
' Dim 소요량1차_신재생 As Decimal = 0
|
|
' Dim 소요량_신재생 As Decimal = 0
|
|
|
|
' Dim 단위면적당신재생1차에너지합 As Decimal = 0
|
|
' Dim 단위면적당신재생1차에너지합offsite As Decimal = 0
|
|
' Dim 단위면적당1차에너소비량합 As Decimal = 0
|
|
' Dim 에너지자립률offsite As Decimal = 0
|
|
' Dim 에너지자립률 As Decimal = 0
|
|
|
|
' Dim Dr2 As DSR.Graph_ReqUseRow
|
|
' For Gubun As Short = 0 To 4
|
|
' Select Case Gubun
|
|
' Case 0 '//1차에너지소요량
|
|
|
|
|
|
' Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
' Dim Sum_offsite As Decimal = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
' Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
' Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
|
' Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
|
' Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
|
' Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
' Dim 난방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
' Dim 냉방_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).냉방전력
|
|
' Dim 조명_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).조명전력
|
|
' Dim 급탕_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).급탕전력
|
|
' Dim 환기_offsite As Decimal = Sum_offsite * Result1.일차E소요량(0).환기전력
|
|
|
|
|
|
' Dim 난방면적 As Decimal = 0
|
|
' Dim 냉방면적 As Decimal = 0
|
|
' Dim 조명면적 As Decimal = 0
|
|
' Dim 급탕면적 As Decimal = 0
|
|
' Dim 환기면적 As Decimal = 0
|
|
|
|
' Dim 난방면적_offsite As Decimal = 0
|
|
' Dim 냉방면적_offsite As Decimal = 0
|
|
' Dim 조명면적_offsite As Decimal = 0
|
|
' Dim 급탕면적_offsite As Decimal = 0
|
|
' Dim 환기면적_offsite As Decimal = 0
|
|
|
|
' If Result1.사용면적.H <> 0 Then
|
|
' 난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
|
' End If
|
|
' If Result1.사용면적.C <> 0 Then
|
|
' 냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
|
' End If
|
|
' If Result1.사용면적.L <> 0 Then
|
|
' 조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
|
' End If
|
|
' If Result1.사용면적.W <> 0 Then
|
|
' 급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
|
' End If
|
|
' If Result1.사용면적.V <> 0 Then
|
|
' 환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
|
' End If
|
|
|
|
' If Result1.사용면적.H <> 0 Then
|
|
' 난방면적_offsite = TOSG(IIf(난방_offsite = 0, 0, 난방_offsite / Result1.사용면적.H))
|
|
' End If
|
|
' If Result1.사용면적.C <> 0 Then
|
|
' 냉방면적_offsite = TOSG(IIf(냉방_offsite = 0, 0, 냉방_offsite / Result1.사용면적.C))
|
|
' End If
|
|
' If Result1.사용면적.L <> 0 Then
|
|
' 조명면적_offsite = TOSG(IIf(조명_offsite = 0, 0, 조명_offsite / Result1.사용면적.L))
|
|
' End If
|
|
' If Result1.사용면적.W <> 0 Then
|
|
' 급탕면적_offsite = TOSG(IIf(급탕_offsite = 0, 0, 급탕_offsite / Result1.사용면적.W))
|
|
' End If
|
|
' If Result1.사용면적.V <> 0 Then
|
|
' 환기면적_offsite = TOSG(IIf(환기_offsite = 0, 0, 환기_offsite / Result1.사용면적.V))
|
|
' End If
|
|
|
|
|
|
|
|
' Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
' Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite
|
|
|
|
|
|
' '//열병합신재생에너지추가 130831 arin
|
|
' 신재생에너지 = Math.Round(-1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + Result1.생산E(0).면적당생산량수열 + 전기 * 2.75), 1)
|
|
' Dim 신재생에너지_offsite As Decimal = Math.Round(-1 * (전기_offsite * 2.75), 1)
|
|
|
|
' 단위면적당신재생1차에너지합 = -1 * 신재생에너지
|
|
' 단위면적당신재생1차에너지합offsite = -1 * 신재생에너지_offsite
|
|
|
|
|
|
' ' 신재생에너지 = -1 * (합_열 + 합_전기 * 2.75) ' ' Result1.생산E(0).태양광전력생산량 * 2.75)
|
|
|
|
' ' Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 * 2.75 + Result1.생산E(0).신재생열병합전력생산량 * 2.75) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "신재생에너지"
|
|
' Dr2.Req = 신재생에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "난방에너지"
|
|
' Dr2.Req = 난방에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 냉방에너지 = Math.Round(Result1.일차E소요량(0).냉방면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "냉방에너지"
|
|
' Dr2.Req = 냉방에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 급탕에너지 = Math.Round(Result1.일차E소요량(0).급탕면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "급탕에너지"
|
|
' Dr2.Req = 급탕에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 조명에너지 = Math.Round(Result1.일차E소요량(0).조명면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "조명에너지"
|
|
' Dr2.Req = 조명에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' '계산결과!H92*3/계산결과!H27
|
|
' 환기에너지 = Math.Round(Result1.일차E소요량(0).환기면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "환기에너지"
|
|
' Dr2.Req = 환기에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "1차소요량"
|
|
' Dr2.type = "합계"
|
|
' Dr2.Req = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 단위면적당1차에너소비량합 = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지 + Math.Round(단위면적당신재생1차에너지합, 1)
|
|
|
|
' If 단위면적당1차에너소비량합 <> 0 Then
|
|
|
|
' 에너지자립률 = (Math.Round(단위면적당신재생1차에너지합, 1) / 단위면적당1차에너소비량합) * 100
|
|
|
|
' Dim scale As Decimal = 0
|
|
' If 에너지자립률 >= 20 Then
|
|
' scale = 1.0
|
|
' ElseIf 에너지자립률 >= 15 Then
|
|
' scale = 0.9
|
|
' ElseIf 에너지자립률 >= 10 Then
|
|
' scale = 0.8
|
|
' Else
|
|
' scale = 0.7
|
|
' End If
|
|
|
|
' 에너지자립률offsite = (Math.Round(단위면적당신재생1차에너지합offsite * scale, 1) / 단위면적당1차에너소비량합) * 100
|
|
' 에너지자립률 += 에너지자립률offsite
|
|
|
|
' Else
|
|
' 에너지자립률 = 0
|
|
' 에너지자립률offsite = 0
|
|
' End If
|
|
|
|
' Case 1 '//에너지소요량
|
|
|
|
|
|
|
|
' Dim Sum As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
|
|
|
|
' Dim 난방 As Decimal = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
|
|
' Dim 냉방 As Decimal = Sum * Result1.일차E소요량(0).냉방전력
|
|
' Dim 조명 As Decimal = Sum * Result1.일차E소요량(0).조명전력
|
|
' Dim 급탕 As Decimal = Sum * Result1.일차E소요량(0).급탕전력
|
|
' Dim 환기 As Decimal = Sum * Result1.일차E소요량(0).환기전력
|
|
|
|
|
|
|
|
' Dim 난방면적 As Decimal = 0
|
|
' Dim 냉방면적 As Decimal = 0
|
|
' Dim 조명면적 As Decimal = 0
|
|
' Dim 급탕면적 As Decimal = 0
|
|
' Dim 환기면적 As Decimal = 0
|
|
' If Result1.사용면적.H <> 0 Then
|
|
' 난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1.사용면적.H))
|
|
' End If
|
|
' If Result1.사용면적.C <> 0 Then
|
|
' 냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1.사용면적.C))
|
|
' End If
|
|
' If Result1.사용면적.L <> 0 Then
|
|
' 조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1.사용면적.L))
|
|
' End If
|
|
' If Result1.사용면적.W <> 0 Then
|
|
' 급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1.사용면적.W))
|
|
' End If
|
|
' If Result1.사용면적.V <> 0 Then
|
|
' 환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1.사용면적.V))
|
|
' End If
|
|
|
|
' Dim 면적 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
|
|
' '=-SUM(계산결과!G108:G109)-계산결과!F42-계산결과!F48-계산결과!F51-계산결과!F56-계산결과!F59
|
|
|
|
' 'F42=IF($G$15=0,0,F38/$G$15)
|
|
' 'f38=(G104)/(SUM(H76:S76)+SUM(H85:S85)+SUM(H93:S93)+SUM(H97:S97)+SUM(H101:S101))*SUM(H76:S76)
|
|
' 'g15=난방면적
|
|
|
|
' 'f48=IF($G$20=0,0,F44/$G$20)
|
|
' 'f44=(G104)/(SUM(H76:S76)+SUM(H85:S85)+SUM(H93:S93)+SUM(H97:S97)+SUM(H101:S101))*SUM(H85:S85)
|
|
' 'g20=냉방면적
|
|
|
|
|
|
|
|
|
|
|
|
' '//열병합신재생에너지추가 130831 arin
|
|
' 신재생에너지 = Math.Round(-1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + Result1.생산E(0).면적당생산량수열) - 면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "신재생에너지"
|
|
' Dr2.Req = 신재생에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 난방에너지 = Math.Round(Result1.E소요량(0).난방면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "난방에너지"
|
|
' Dr2.Req = 난방에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
|
|
' 냉방에너지 = Math.Round(Result1.E소요량(0).냉방면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "냉방에너지"
|
|
' Dr2.Req = 냉방에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
|
|
' 급탕에너지 = Math.Round(Result1.E소요량(0).급탕면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "급탕에너지"
|
|
' Dr2.Req = 급탕에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 조명에너지 = Math.Round(Result1.E소요량(0).조명면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "조명에너지"
|
|
' Dr2.Req = 조명에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 환기에너지 = Math.Round(Result1.E소요량(0).환기면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "환기에너지"
|
|
' Dr2.Req = 환기에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "소요량"
|
|
' Dr2.type = "합계"
|
|
' Dr2.Req = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
|
|
' Case 2 '//에너지요구량
|
|
' Case 3 '//co2발생량
|
|
|
|
' 신재생에너지 = 0
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "신재생에너지"
|
|
' Dr2.Req = 신재생에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 난방에너지 = Math.Round(Result1.Co2발생량(0).난방면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "난방에너지"
|
|
' Dr2.Req = 난방에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 냉방에너지 = Math.Round(Result1.Co2발생량(0).냉방면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "냉방에너지"
|
|
' Dr2.Req = 냉방에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 급탕에너지 = Math.Round(Result1.Co2발생량(0).급탕면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "급탕에너지"
|
|
' Dr2.Req = 급탕에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' 조명에너지 = Math.Round(Result1.Co2발생량(0).조명면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "조명에너지"
|
|
' Dr2.Req = 조명에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' '계산결과!H92*3/계산결과!H27
|
|
' 환기에너지 = Math.Round(Result1.Co2발생량(0).환기면적, 1)
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "환기에너지"
|
|
' Dr2.Req = 환기에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
|
|
' Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
|
|
' Dr2.Gubun = "CO2발생량"
|
|
' Dr2.type = "합계"
|
|
' Dr2.Req = 난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지
|
|
' Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
|
|
' Case 4 '//1차에너지소요량(+계수) + 131020
|
|
|
|
' End Select
|
|
' Next
|
|
|
|
'End Sub
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
|
|
Dim sd As New SaveFileDialog()
|
|
sd.Filter = "Excel(*.xls)|*.xls"
|
|
sd.FilterIndex = 0
|
|
If sd.ShowDialog = Windows.Forms.DialogResult.OK Then
|
|
Try
|
|
If FpSpread1.SaveExcel(sd.FileName, FarPoint.Excel.ExcelSaveFlags.NoFlagsSet) Then
|
|
MsgBox("저장완료", MsgBoxStyle.Information, "확인")
|
|
End If
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message, MsgBoxStyle.Critical, "error")
|
|
End Try
|
|
|
|
End If
|
|
End Sub
|
|
End Class |