This commit is contained in:
ykh
2024-12-30 23:04:30 +09:00
parent c01051f024
commit 8f89991a09
45 changed files with 7567 additions and 1033 deletions

View File

@@ -268,6 +268,9 @@ Public Class C사용면적
pLog.Add(String.Format(">> Zone({0})Row Offset={1}", Dr존.code, offset))
Dim 면적별범위값 As Char = Pub.면적별범위값(Dr존.면적)
'//냉난방(HC) 이거나 난방(H)일경우 난방면적 누적
If Dr존.냉난방방식.IndexOf("") <> -1 OrElse Dr존.냉난방공조.IndexOf("") <> -1 Then
A_H += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수)
@@ -282,12 +285,16 @@ Public Class C사용면적
'A_H_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * (TOSG(Dr프로필.일일운전시간) * Math.Round(day_year / (11 * 250), 3))
'A_H_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
If Dr프로필.code <> "0010" Then
A_H_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
If Dr프로필.code <> "0010" OrElse Dr프로필.code <> "0025" OrElse Dr프로필.code <> "0026" Then
If Dr프로필.code <> "0027" Then
A_H_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
Else
A_H_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.66 '주거용 오피스텔 적용
End If
Else
A_H_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)) / (0.503 / 0.314), 3) '//전산실 용도에 따른 난방 가중치 적용
End If
End If
pLog.Add(String.Format(">> Zone({0})Row A_H_wf={1}", Dr존.code, A_H_wf))
@@ -306,8 +313,13 @@ Public Class C사용면적
'A_C_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * (TOSG(Dr프로필.일일운전시간) * Math.Round(day_year / (11 * 250), 3))
'A_C_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
If Dr프로필.code <> "0010" Then
A_C_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
If Dr프로필.code <> "0010" OrElse Dr프로필.code <> "0025" OrElse Dr프로필.code <> "0026" Then
If Dr프로필.code <> "0027" Then
A_C_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
Else
A_C_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.66 '주거용 오피스텔 적용
End If
Else
A_C_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)) / (0.196 / 0.314), 3) '//전산실 용도에 따른 냉방 가중치 적용
End If
@@ -320,17 +332,64 @@ Public Class C사용면적
'//급탕요구량이 있다면 급탕면적 누적
If TOSG(Dr프로필.일일급탕요구량) > 0 Then
Dim 프로필급탕요구량 As Decimal = TOSG(Dr프로필.일일급탕요구량)
If Dr프로필.설명.StartsWith("00") OrElse Dr프로필.설명.StartsWith("27") Then
Dim 면적별범위 As Char = Pub.면적별범위값(TOSG(Dr존.면적))
프로필급탕요구량 = Pub.프로필급탕요구량(면적별범위) / TOSG(Dr존.면적)
End If
If 프로필급탕요구량 > 0 Then
A_W += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수)
If 건물용도 < 10 Then
If 건물용도 < 10 Then '//주거용
A_W_wf = A_W
'Select Case 면적별범위값
' Case "A"c
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 0.458
' Case "B"c
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 0.618
' Case "C"c
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 0.729
' Case "D"c
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1
' Case "E"c
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.258
' Case "F"c
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.475
' Case Else
' A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.643
'End Select
Else
day_year = TOSG(Dr프로필.day01) + TOSG(Dr프로필.day02) + TOSG(Dr프로필.day03) + TOSG(Dr프로필.day04) + TOSG(Dr프로필.day05) + TOSG(Dr프로필.day06) + TOSG(Dr프로필.day07) + TOSG(Dr프로필.day08) + TOSG(Dr프로필.day09) + TOSG(Dr프로필.day10) + TOSG(Dr프로필.day11) + TOSG(Dr프로필.day12)
'A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * (TOSG(Dr프로필.일일급탕요구량) * Math.Round(day_year / (30 * 250), 3)) 160211 소수점오류인한 수정
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일급탕요구량) * (day_year / (30 * 250)), 3)
If Dr프로필.code <> "0027" Then
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(프로필급탕요구량 * (day_year / (30 * 250)), 3)
Else
'//주거용 오피스텔
Select Case 면적별범위값
Case "A"c
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 0.804
Case "B"c
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.025
Case "C"c
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.21
Case "D"c
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.66
Case "E"c
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 2.088
Case "F"c
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 2.448
Case Else
A_W_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 2.727
End Select
End If
End If
pLog.Add(String.Format(">> Zone({0})Row A_W={1},A_W_wf={2}", Dr존.code, A_W, A_W_wf))
@@ -347,7 +406,13 @@ Public Class C사용면적
Else
day_year = TOSG(Dr프로필.day01) + TOSG(Dr프로필.day02) + TOSG(Dr프로필.day03) + TOSG(Dr프로필.day04) + TOSG(Dr프로필.day05) + TOSG(Dr프로필.day06) + TOSG(Dr프로필.day07) + TOSG(Dr프로필.day08) + TOSG(Dr프로필.day09) + TOSG(Dr프로필.day10) + TOSG(Dr프로필.day11) + TOSG(Dr프로필.day12)
'A_L_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * (TOSG(Dr프로필.일일사용시간) * Math.Round(day_year / (9 * 250), 3) * offset)
A_L_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일사용시간) * (day_year / (9 * 250)), 3) * offset
If Dr프로필.code <> "0027" Then
A_L_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일사용시간) * (day_year / (9 * 250)), 3) * offset
Else
A_L_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.66 '주거용 오피스텔 적용
End If
End If
pLog.Add(String.Format(">> Zone({0})Row A_L={1},A_L_wf={2}", Dr존.code, A_L, A_L_wf))
@@ -362,7 +427,13 @@ Public Class C사용면적
Else
day_year = TOSG(Dr프로필.day01) + TOSG(Dr프로필.day02) + TOSG(Dr프로필.day03) + TOSG(Dr프로필.day04) + TOSG(Dr프로필.day05) + TOSG(Dr프로필.day06) + TOSG(Dr프로필.day07) + TOSG(Dr프로필.day08) + TOSG(Dr프로필.day09) + TOSG(Dr프로필.day10) + TOSG(Dr프로필.day11) + TOSG(Dr프로필.day12)
'A_V_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * (TOSG(Dr프로필.일일운전시간) * Math.Round(day_year / (11 * 250), 3))
A_V_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
If Dr프로필.code <> "0027" Then
A_V_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) * Math.Round(TOSG(Dr프로필.일일운전시간) * (day_year / (11 * 250)), 3)
Else
A_V_wf += TOSG(Dr존.면적) * TOSG(Dr존.입력존의수) / 1.66 '주거용 오피스텔 적용
End If
End If
pLog.Add(String.Format(">> Zone({0})Row A_V={1},A_V_wf={2}", Dr존.code, A_V, A_V_wf))