402 lines
15 KiB
VB.net
402 lines
15 KiB
VB.net
Public Class C에너지소요량
|
|
|
|
|
|
Dim Midx As Integer
|
|
Public Mon As String
|
|
Private ErrMsg As String = "에너지소요량 계산되지 않았습니다"
|
|
Private DSETR As DSR
|
|
Private Result As CResult
|
|
Public Sub New(ByRef pdsetr As DSR, ByRef presult As CResult, Optional ByVal pmIdx As Integer = 0)
|
|
DSETR = pdsetr
|
|
Result = presult
|
|
Mon = "M" & Format(pmIdx, "00")
|
|
Me.Midx = pmIdx
|
|
End Sub
|
|
|
|
Public Sub Calc_Summary()
|
|
If Midx <> 0 Then
|
|
MsgBox("계산식은 0번 합계필드만 가능합니다.", MsgBoxStyle.Critical, "확인")
|
|
Return
|
|
End If
|
|
Dim I10 As Decimal = 0
|
|
Dim I20 As Decimal = 0
|
|
Dim I30 As Decimal = 0
|
|
Dim I40 As Decimal = 0
|
|
Dim I50 As Decimal = 0
|
|
Dim I60 As Decimal = 0
|
|
|
|
Dim IH As Decimal = 0
|
|
Dim IC As Decimal = 0
|
|
Dim IL As Decimal = 0
|
|
Dim IW As Decimal = 0
|
|
Dim IV As Decimal = 0
|
|
|
|
Dim I4 As Decimal = 0 '//난방
|
|
Dim I5 As Decimal = 0 '//냉방
|
|
Dim I6 As Decimal = 0 '//조명
|
|
Dim I7 As Decimal = 0 '//급탕
|
|
Dim I8 As Decimal = 0 '//환기
|
|
|
|
For i As Integer = 1 To 12
|
|
'//12월을 다더해서 0번열에 기록한다.
|
|
I10 += Result.E소요량(i).난방
|
|
I20 += Result.E소요량(i).난방보조
|
|
I30 += Result.E소요량(i).냉방
|
|
I40 += Result.E소요량(i).냉방보조
|
|
I50 += Result.E소요량(i).급탕
|
|
I60 += Result.E소요량(i).급탕보조
|
|
|
|
IH += Result.E소요량(i).난방S
|
|
IC += Result.E소요량(i).냉방S
|
|
IL += Result.E소요량(i).조명S
|
|
IW += Result.E소요량(i).급탕S
|
|
IV += Result.E소요량(i).환기S
|
|
|
|
I4 += Result.일차E소요량(i).난방전력
|
|
I5 += Result.일차E소요량(i).냉방전력
|
|
I6 += Result.일차E소요량(i).조명전력
|
|
I7 += Result.일차E소요량(i).급탕전력
|
|
I8 += Result.일차E소요량(i).환기전력
|
|
Next
|
|
|
|
Me.난방 = I10
|
|
Me.난방보조 = I20
|
|
Me.냉방 = I30
|
|
Me.냉방보조 = I40
|
|
Me.급탕 = I50
|
|
Me.급탕보조 = I60
|
|
|
|
If (I4 + I5 + I6 + I7 + I8 <> 0) Then
|
|
Me.난방S = IH - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I4
|
|
Me.냉방S = IC - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I5
|
|
Me.조명S = IL - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I6
|
|
Me.급탕S = IW - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I7
|
|
Me.환기S = IV - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I8
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
ReadOnly Property 소요량() As Decimal
|
|
Get
|
|
Return 난방S + 냉방S + 조명S + 환기S + 급탕S
|
|
End Get
|
|
End Property
|
|
|
|
ReadOnly Property 면적소요량() As Decimal
|
|
Get
|
|
Return 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
|
|
End Get
|
|
|
|
End Property
|
|
Property 난방S() As Decimal
|
|
Get
|
|
If Midx = 0 Then
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("난방"))
|
|
End If
|
|
Else
|
|
Return 난방 + 난방보조
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("난방") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
|
|
Property 난방() As Decimal
|
|
Get
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("난방에너지소요량"))
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("난방에너지소요량") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
Property 난방보조() As Decimal
|
|
Get
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("난방보조에너지소요량"))
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("난방보조에너지소요량") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
ReadOnly Property 난방면적() As Decimal
|
|
Get
|
|
If Result.사용면적.H = 0 Then
|
|
Return 0
|
|
Else
|
|
Return Me.난방S / Result.사용면적.H
|
|
End If
|
|
End Get
|
|
End Property
|
|
Property 냉방S() As Decimal
|
|
Get
|
|
If Midx = 0 Then
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("냉방"))
|
|
End If
|
|
Else
|
|
Return 냉방 + 냉방보조
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("냉방") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
Property 냉방() As Decimal
|
|
Get
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("냉방에너지소요량"))
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("냉방에너지소요량") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
Property 냉방보조() As Decimal
|
|
Get
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("냉방보조에너지소요량"))
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("냉방보조에너지소요량") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
ReadOnly Property 냉방면적() As Decimal
|
|
Get
|
|
If Result.사용면적.C = 0 Then
|
|
Return 0
|
|
Else
|
|
Return Me.냉방S / Result.사용면적.C
|
|
End If
|
|
End Get
|
|
End Property
|
|
Property 조명S() As Decimal
|
|
Get
|
|
If Midx = 0 Then
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("조명"))
|
|
End If
|
|
Else
|
|
Return Result.E분석(Midx).조명에너지요구량
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("조명") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
ReadOnly Property 조명면적() As Decimal
|
|
Get
|
|
If Result.사용면적.L = 0 Then
|
|
Return 0
|
|
Else
|
|
Return Me.조명S / Result.사용면적.L
|
|
End If
|
|
End Get
|
|
End Property
|
|
|
|
Property 급탕S() As Decimal
|
|
Get
|
|
If Midx = 0 Then
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("급탕"))
|
|
End If
|
|
Else
|
|
Return 급탕 + 급탕보조
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("급탕") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
Property 급탕() As Decimal
|
|
Get
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
|
|
'#If DEBUG Then
|
|
' Dim f As String = "c:\temp\1\급탕에너지소요량.txt"
|
|
' Dim b As New System.Text.StringBuilder
|
|
' If System.IO.File.Exists(f) = False Then
|
|
' b.AppendLine("Mon 급탕에너지소요량")
|
|
' End If
|
|
' b.AppendLine(Mon + vbTab + DR(0)("급탕에너지소요량").ToString)
|
|
' My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
|
|
'#End If
|
|
|
|
Return TOSG(DR(0)("급탕에너지소요량"))
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("급탕에너지소요량") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
Property 급탕보조() As Decimal
|
|
Get
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
|
|
#If DEBUG Then
|
|
'Dim f As String = "c:\temp\1\급탕보조에너지소요량.txt"
|
|
'Dim b As New System.Text.StringBuilder
|
|
'If System.IO.File.Exists(f) = False Then
|
|
' b.AppendLine("Mon 급탕보조에너지소요량")
|
|
'End If
|
|
'b.AppendLine(Mon + vbTab + DR(0)("급탕보조에너지소요량").ToString)
|
|
'My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
|
|
#End If
|
|
|
|
Return TOSG(DR(0)("급탕보조에너지소요량"))
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("급탕보조에너지소요량") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
ReadOnly Property 급탕면적() As Decimal
|
|
Get
|
|
If Result.사용면적.W = 0 Then
|
|
Return 0
|
|
Else
|
|
|
|
'#If DEBUG Then
|
|
' Dim f As String = "c:\temp\1\급탕면적.txt"
|
|
' Dim b As New System.Text.StringBuilder
|
|
' If System.IO.File.Exists(f) = False Then
|
|
' b.AppendLine("급탕S 사용면적")
|
|
' End If
|
|
' b.AppendLine(급탕S.ToString() + vbTab + Result.사용면적.W.ToString)
|
|
' My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
|
|
'#End If
|
|
|
|
Return 급탕S / Result.사용면적.W
|
|
End If
|
|
End Get
|
|
End Property
|
|
Property 환기S() As Decimal
|
|
Get
|
|
If Midx = 0 Then
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Return 0
|
|
Else
|
|
Return TOSG(DR(0)("환기"))
|
|
End If
|
|
Else
|
|
Return Result.E분석(Midx).환기에너지요구량
|
|
End If
|
|
End Get
|
|
Set(ByVal value As Decimal)
|
|
Dim DR() As DSR.에너지소요량Row = CType(DSETR.에너지소요량.Select("mon='" & Mon & "'"), DSR.에너지소요량Row())
|
|
If DR.GetUpperBound(0) = -1 Then
|
|
MsgBox(ErrMsg)
|
|
Else
|
|
DR(0)("환기") = value
|
|
End If
|
|
End Set
|
|
End Property
|
|
ReadOnly Property 환기면적() As Decimal
|
|
Get
|
|
If Result.사용면적.V = 0 Then
|
|
Return 0
|
|
Else
|
|
Return 환기S / Result.사용면적.V
|
|
End If
|
|
End Get
|
|
End Property
|
|
End Class
|