Files
ECO2-OD/ArinWarev1/REPORT-OD/Frm_v20091231_Report.vb
raytrace f9b8998cb1 *오타정정
*그래프에 씨오2 항목 추가
2021-10-23 23:31:49 +09:00

400 lines
19 KiB
VB.net

Public Class Frm_v20091231_Report
Dim T As String = "그래프"
Private Sub Frm_v20091231_Result_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.DSR.TReqUse.Merge(DSETR1.TReqUse)
MakeGraphTable()
Me.ReportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.PageWidth
Me.ReportViewer1.ZoomPercent = 100
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub MakeGraphTable()
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 = Result1o.E요구량(mon).난방면적
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 = Result1o.E요구량(mon).냉방면적
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
'//여기가 최종결과를 출력물에생성하는 구간입니다.
'//각 항목별로, 냉/난... 그렇게 되어잇구요
'//가중치가 결정되면 이곳에 곱하면 출력물에만 적용됩니다.
'//곱해야할 가중치를 결정하는 방법좀
'// 예를들면 업무시설이 100m2 이고 교육연구시설(초중고)가 100m2이면 (100*1+100*1.2)/200
Dim Total2 As Double = 0.0
Dim Total1 As Double = 0.0
For Each Dr0 As DS.tbl_typeRow In DSET1.tbl_type.Rows
Dim multi As Double = 1.0
Select Case Dr0.시설용도
Case "0011" '교육연구시설(초중고)"
multi = 1.12
Case "0012" '교육연구시설(etc)
multi = 0.98
End Select
Total1 += Dr0.면적 * multi
Total2 += Dr0.면적
Next
Dim addmulti As Double = 0
If Total2 <> 0 Then
addmulti = Total1 / Total2
Else
addmulti = 1.0
End If
' addmulti = 1.0
Dim Dr2 As DSR.Graph_ReqUseRow
For Gubun As Short = 0 To 3
Select Case Gubun
Case 0 '//1차에너지소요량
Dim Sum As Decimal = (Result1o.생산E(0).태양광전력생산량 + Result1o.생산E(0).신재생열병합전력생산량) / (Result1o.일차E소요량(0).난방전력 + Result1o.일차E소요량(0).냉방전력 + Result1o.일차E소요량(0).급탕전력 + Result1o.일차E소요량(0).조명전력 + Result1o.일차E소요량(0).환기전력)
Dim 난방 As Decimal = Sum * Result1o.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
Dim 냉방 As Decimal = Sum * Result1o.일차E소요량(0).냉방전력
Dim 조명 As Decimal = Sum * Result1o.일차E소요량(0).조명전력
Dim 급탕 As Decimal = Sum * Result1o.일차E소요량(0).급탕전력
Dim 환기 As Decimal = Sum * Result1o.일차E소요량(0).환기전력
Dim 난방면적 As Decimal = 0
Dim 냉방면적 As Decimal = 0
Dim 조명면적 As Decimal = 0
Dim 급탕면적 As Decimal = 0
Dim 환기면적 As Decimal = 0
If Result1o.사용면적.H <> 0 Then
난방면적 = TOSG(IIf(난방 = 0, 0, 난방 / Result1o.사용면적.H))
End If
If Result1o.사용면적.C <> 0 Then
냉방면적 = TOSG(IIf(냉방 = 0, 0, 냉방 / Result1o.사용면적.C))
End If
If Result1o.사용면적.L <> 0 Then
조명면적 = TOSG(IIf(조명 = 0, 0, 조명 / Result1o.사용면적.L))
End If
If Result1o.사용면적.W <> 0 Then
급탕면적 = TOSG(IIf(급탕 = 0, 0, 급탕 / Result1o.사용면적.W))
End If
If Result1o.사용면적.V <> 0 Then
환기면적 = TOSG(IIf(환기 = 0, 0, 환기 / Result1o.사용면적.V))
End If
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
'//열병합신재생에너지추가 130831 arin
신재생에너지 = -1 * (Result1o.생산E(0).면적당생산량태양열 + _
Result1o.생산E(0).신재생면적당열생산량 + _
Result1o.생산E(0).면적당생산량지열 + 전기 * 2.75)
Dim Multi(5) As Double
If Program = EProgram.총량평가 Then
Multi(0) = 1.0 '//171021 난방
Multi(1) = 1.0 '//냉방
Multi(2) = 1.0 '//급탕
Multi(3) = 1.0 '//조명
Multi(4) = 1.0 '//환기
Else
Multi(0) = 1.0
Multi(1) = 1.0
Multi(2) = 1.0
Multi(3) = 1.0
Multi(4) = 1.0
End If
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "신재생에너지"
Dr2.Req = 신재생에너지
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
난방에너지 = Result1o.일차E소요량(0).난방면적 * Multi(0)
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "난방에너지"
Dr2.Req = 난방에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
냉방에너지 = Result1o.일차E소요량(0).냉방면적 * Multi(1) '//171021
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "냉방에너지"
Dr2.Req = 냉방에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
급탕에너지 = Result1o.일차E소요량(0).급탕면적 * Multi(2) '//171021
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "급탕에너지"
Dr2.Req = 급탕에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
조명에너지 = Result1o.일차E소요량(0).조명면적 * Multi(3) '//171021
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "조명에너지"
Dr2.Req = 조명에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
'계산결과!H92*3/계산결과!H27
환기에너지 = Result1o.일차E소요량(0).환기면적 * Multi(4) '//171021
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "환기에너지"
Dr2.Req = 환기에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "합계"
Dr2.Req = (난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지) * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
Case 1 '//에너지소요량
Dim Sum As Decimal = Result1o.생산E(0).태양광전력생산량 / (Result1o.일차E소요량(0).난방전력 + Result1o.일차E소요량(0).냉방전력 + Result1o.일차E소요량(0).급탕전력 + Result1o.일차E소요량(0).조명전력 + Result1o.일차E소요량(0).환기전력)
Dim 난방 As Decimal = Sum * Result1o.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
Dim 냉방 As Decimal = Sum * Result1o.일차E소요량(0).냉방전력
Dim 조명 As Decimal = Sum * Result1o.일차E소요량(0).조명전력
Dim 급탕 As Decimal = Sum * Result1o.일차E소요량(0).급탕전력
Dim 환기 As Decimal = Sum * Result1o.일차E소요량(0).환기전력
Dim 난방면적 As Decimal = 0
Dim 냉방면적 As Decimal = 0
Dim 조명면적 As Decimal = 0
Dim 급탕면적 As Decimal = 0
Dim 환기면적 As Decimal = 0
If Result1o.사용면적.H <> 0 Then
난방면적 = TOSG(T, IIf(난방 = 0, 0, 난방 / Result1o.사용면적.H))
End If
If Result1o.사용면적.C <> 0 Then
냉방면적 = TOSG(T, IIf(냉방 = 0, 0, 냉방 / Result1o.사용면적.C))
End If
If Result1o.사용면적.L <> 0 Then
조명면적 = TOSG(T, IIf(조명 = 0, 0, 조명 / Result1o.사용면적.L))
End If
If Result1o.사용면적.W <> 0 Then
급탕면적 = TOSG(T, IIf(급탕 = 0, 0, 급탕 / Result1o.사용면적.W))
End If
If Result1o.사용면적.V <> 0 Then
환기면적 = TOSG(T, IIf(환기 = 0, 0, 환기 / Result1o.사용면적.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=냉방면적
신재생에너지 = -1 * (Result1o.생산E(0).면적당생산량태양열 + Result1o.생산E(0).면적당생산량지열) - 면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "신재생에너지"
Dr2.Req = 신재생에너지
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
난방에너지 = Result1o.E소요량(0).난방면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "난방에너지"
Dr2.Req = 난방에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
냉방에너지 = Result1o.E소요량(0).냉방면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "냉방에너지"
Dr2.Req = 냉방에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
급탕에너지 = Result1o.E소요량(0).급탕면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "급탕에너지"
Dr2.Req = 급탕에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
조명에너지 = Result1o.E소요량(0).조명면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "조명에너지"
Dr2.Req = 조명에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
환기에너지 = Result1o.E소요량(0).환기면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "환기에너지"
Dr2.Req = 환기에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "소요량"
Dr2.type = "합계"
Dr2.Req = (난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지) * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
Case 2 '//에너지요구량
신재생에너지 = 0
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "신재생에너지"
Dr2.Req = 신재생에너지
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
'계산결과!H14
난방에너지 = Result1o.E요구량(0).난방면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "난방에너지"
Dr2.Req = 난방에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
냉방에너지 = Result1o.E요구량(0).냉방면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "냉방에너지"
Dr2.Req = 냉방에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
'계산결과!H25
급탕에너지 = Result1o.E요구량(0).급탕면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "급탕에너지"
Dr2.Req = 급탕에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
'계산결과!H22
조명에너지 = Result1o.E요구량(0).조명면적
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "조명에너지"
Dr2.Req = 조명에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
환기에너지 = 0
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "환기에너지"
Dr2.Req = 환기에너지 * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "요구량"
Dr2.type = "합계"
Dr2.Req = (난방에너지 + 냉방에너지 + 급탕에너지 + 조명에너지 + 환기에너지) * addmulti
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
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(Result1o.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(Result1o.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(Result1o.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(Result1o.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(Result1o.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)
End Select
Next
End Sub
Private Sub Frm_v20091231_Report_SizeChanged(sender As System.Object, e As System.EventArgs) Handles MyBase.SizeChanged
'Me.Text = Me.Size.ToString()
End Sub
End Class