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

@@ -104,6 +104,9 @@
Dim Calc_태양 As New CRenewable(DSET, Result) : Calc_태양.Calc_PhotovoltaicSystem_EN(i_count_month, d_mth)
'풍력 시스템
Dim Calc_풍력 As New CRenewable(DSET, Result) : Calc_풍력.Calc_WindPowerGenerationSystem(i_count_month, d_mth)
'외부 전기(import data) 241212
Dim Calc_IMPORT As New CRenewable(DSET, Result) : Calc_IMPORT.Calc_ImportData(i_count_month, d_mth)
Dim 급탕용량합 As Decimal = 0
For Each Dr난방 As DS.tbl_nanbangkikiRow In DSET.tbl_nanbangkiki.Select("code<>'0' and 헤더적용=true", "code")

View File

@@ -500,6 +500,9 @@
If Dr신재생.대지외설치여부 Then
E_el_pv_out_offsite = E_el_pv_out_offsite + E_sol * P_pk * f_perf
Else
E_el_pv_out += E_sol * P_pk * f_perf
End If
@@ -514,6 +517,11 @@
' Sheets("계산결과").Cells(104, 7 + i_count_pv_month) = Sheets("계산결과").Cells(104, 7 + i_count_pv_month) + E_el_pv_out
'End If
'Dim importrows() As DS.tbl_importdataRow = DSET1.tbl_importdata.Select("mon='M" + i_count_pv_month.ToString("00") + "'")
'If importrows.Length = 1 Then
' Dim 외부전기도입량 As Decimal = importrows(0).외부전기도입량
'End If
Result.생산E(i_count_pv_month).태양광전력생산량 += E_el_pv_out
Result.생산E(i_count_pv_month).태양광전력생산량_offsite += E_el_pv_out_offsite
@@ -523,6 +531,29 @@
'DSETR.TReqUse.Rows(CEnum.ResultRow.생산_전기_태양광)("M" & Format(i_count_pv_month, "00")) = CSng(DSETR.TReqUse.Rows(CEnum.ResultRow.생산_전기_태양광)("M" & Format(i_count_pv_month, "00"))) + E_el_pv_out ' Sheets("계산결과").Cells(95, 7 + i_count_pv_month)
End Sub
Public Overridable Sub Calc_ImportData(ByVal i_count_pv_month As Integer, ByVal i_pv_d_mth As Integer)
pLog.Add(String.Format(">>Calc_ImportData 진입 : i_count_pv_month={0}, i_pv_d_mth={1}", _
i_count_pv_month, i_pv_d_mth))
Dim 외부전기도입량 As Decimal = 0
Dim importrows() As DS.tbl_importdataRow = DSET1.tbl_importdata.Select("mon='M" + i_count_pv_month.ToString("00") + "'")
If importrows.Length = 1 Then
외부전기도입량 = importrows(0).외부전기도입량
Result.생산E(i_count_pv_month).연료전지전력생산량_offsite += 외부전기도입량
End If
pLog.Add(String.Format(">>Calc_ImportData 진입 : E_el_pv_out={0}, 외부전기도입량={1}", _
외부전기도입량, Result.생산E(i_count_pv_month).연료전지전력생산량_offsite))
'DSETR.TReqUse.Rows(CEnum.ResultRow.생산_전기_태양광)("M" & Format(i_count_pv_month, "00")) = CSng(DSETR.TReqUse.Rows(CEnum.ResultRow.생산_전기_태양광)("M" & Format(i_count_pv_month, "00"))) + E_el_pv_out ' Sheets("계산결과").Cells(95, 7 + i_count_pv_month)
End Sub
@@ -877,10 +908,7 @@
E_chp_gen_in = Q_chp_gen_out / (eta_T_chp_an / 100)
E_el_chp_out = E_chp_gen_in * eta_el_chp_an / 100
Result.생산E(i_chp_month).열병합전력생산량 += E_el_chp_out
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과0 E_chp_gen_in={0},E_el_chp_out={1}", E_chp_gen_in, E_el_chp_out))
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과1 열병합전력생산량={0}", Result.생산E(i_chp_month).열병합전력생산량))
'//전기생산량 열병합
If Dr신재생.열병합신재생여부 Then
@@ -897,7 +925,31 @@
'// 신재생에너지 자립률 추가
Dim perc As Single = 0
If Single.TryParse(Dr신재생.외부공급비율, perc) = False Then
perc = 0
End If
Dim exportvalue As Decimal = E_el_chp_out_net * (perc / 100.0)
If exportvalue <> 0 Then
Dim drows() As DS.tbl_exportdataRow = DSET1.tbl_exportdata.Select("mon='" + i_chp_month.ToString("00") + "'")
Dim dr As DS.tbl_exportdataRow = Nothing
If drows.Length = 0 Then
dr = DSET1.tbl_exportdata.Newtbl_exportdataRow()
dr.mon = "M" + i_chp_month.ToString("00")
dr.외부전기생산량 = exportvalue
Else
dr = drows(0)
dr.외부전기생산량 += exportvalue
End If
dr.EndEdit()
If dr.RowState = DataRowState.Detached Then
DSET1.tbl_exportdata.Addtbl_exportdataRow(dr)
End If
E_el_chp_out_net -= exportvalue
End If
'//전력
@@ -905,6 +957,9 @@
Result.생산E(i_chp_month).신재생열병합열생산량 += (Q_chp_gen_out_net) '//20170120 추가
'Result.생산E(i_chp_month).신재생열병합전력생산량 += (E_el_chp_out)
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과2 신재생열병합전력생산량={0}", Result.생산E(i_chp_month).신재생열병합전력생산량))
'//면적당열병합 (신재생면적당열생산량)
@@ -926,6 +981,12 @@
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과3 신재생면적당열생산량={0}", Result.생산E(i_chp_month).신재생면적당열생산량))
Else
Result.생산E(i_chp_month).열병합전력생산량 += E_el_chp_out '// 20241229 추가
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과0 E_chp_gen_in={0},E_el_chp_out={1}", E_chp_gen_in, E_el_chp_out))
pLog.Add(String.Format("Calc_CogenerationSystemEN 결과1 열병합전력생산량={0}", Result.생산E(i_chp_month).열병합전력생산량))
End If
'DSETR.TReqUse.Rows(77)("M" & Format(i_chp_month, "00")) = CSng(DSETR.TReqUse.Rows(77)("M" & Format(i_chp_month, "00"))) + E_el_chp_out ' Sheets("계산결과").Cells(96, 7 + i_chp_month) = E_el_chp_out
End Sub

View File

@@ -175,6 +175,28 @@ Public Class CShared
' Next
'Next
'=============================================================================2024.12.11 추가
'공동주택일때 입력존의 냉난방확인
Dim drdesc As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
Dim 주거형태 As String = drdesc.isjugo
If 주거형태 = "2" Then
Dim sb As New System.Text.StringBuilder()
For Each drzone As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
If drzone.냉난방방식 <> "냉난방" Then
sb.AppendLine("[공동주택]입력존(" + drzone.설명 + ")의 냉난방식을 확인하세요")
End If
Next
If sb.Length > 0 Then
'Dim dlg As DialogResult = MsgBox("오류가 발생했습니다 계산을 실행할까요?" + vbCrLf + sb.ToString(), MsgBoxStyle.Critical + MsgBoxStyle.YesNo, "CShared")
'If dlg <> DialogResult.Yes Then
' Me.IsError = True
'End If
End If
End If
End Sub

View File

@@ -882,7 +882,14 @@
Dim idx As Integer = DSETR.TReqUse.Rows.Count + 1
DR.Code = Format(idx, "000")
DR.GRP = GRP '//그룹 출력할떄 그룹으로 뽑는다.
DR.Desc = desc '//설명
If System.Diagnostics.Debugger.IsAttached Then
DR.Desc = "(" + DR.GRP + "-" + DR.Code + ")" + desc '//설명
Else
DR.Desc = desc '//설명
End If
'DR.Desc = desc '//설명
DR.UNIT = unit '//단위
DR.SIGN = sign '//기호
DR.EQ = eq '//등호 =
@@ -908,7 +915,12 @@
DR.Code = Format(DSETR.TReqUse.Rows.Count + 1, "000")
DR.GRP = GRP '//그룹 출력할떄 그룹으로 뽑는다.
DR.Desc = desc '//설명
If System.Diagnostics.Debugger.IsAttached Then
DR.Desc = "(" + DR.GRP + "-" + DR.Code + ")" + desc '//설명
Else
DR.Desc = desc '//설명
End If
DR.UNIT = unit '//단위
DR.SIGN = sign '//기호
DR.EQ = eq '//등호 =

View File

@@ -181,8 +181,58 @@
Delta_theta_i_WE = TOSG(DR프로필(0).주말최저허용온도) ' Worksheets("설정조건").Range("주말최저허용온도1").Offset(0, i_count_profile)
' If i_count_OpWe = 1 Then=============================================================2010.2.21 삭제
'Log.AppendLine(" >> i_count_OpWe = 1 >> Q_I_source_p/Q_I_source_fac/V_mech 계산됨")
Q_I_source_p = TOSG(DR프로필(0).사람) * A_B ' Worksheets("설정조건").Range("사람1").Offset(0, i_count_profile) * A_B '(2-118)
Q_I_source_fac = (TOSG(DR프로필(0).작업보조기기) * A_B) + 기저비율 ' Worksheets("설정조건").Range("작업보조기기1").Offset(0, i_count_profile) * A_B '(2-119)
Dim v사람 As Decimal = TOSG(DR프로필(0).사람)
Dim v작업보조기기 As Decimal = TOSG(DR프로필(0).작업보조기기)
'If DR프로필(0).설명.StartsWith("00") OrElse DR프로필(0).설명.StartsWith("27") Then
' If A_B = 0 Then
' MsgBox("존=" & DR존.code & " 의 프로필=" & DR존.프로필 & " 의 면적데이터(A_B)가 존재하지않습니다", MsgBoxStyle.Critical, "확인")
' Else
' Dim 프로필면적 As Char = Pub.면적별범위값(TOSG(DR존.면적))
' If 프로필면적 = "A"c Then
' v사람 = 1528.8 / A_B
' ElseIf 프로필면적 = "B"c Then
' v사람 = 1999.2 / A_B
' ElseIf 프로필면적 = "C"c Then
' v사람 = 2822.4 / A_B
' ElseIf 프로필면적 = "D"c Then
' v사람 = 3292.8 / A_B
' ElseIf 프로필면적 = "E"c Then
' v사람 = 3763.2 / A_B
' ElseIf 프로필면적 = "F"c Then
' v사람 = 4116.0 / A_B
' Else
' v사람 = 5762.4 / A_B
' End If
' If 프로필면적 = "A"c Then
' v작업보조기기 = 3741.9 / A_B
' ElseIf 프로필면적 = "B"c Then
' v작업보조기기 = 4893.2 / A_B
' ElseIf 프로필면적 = "C"c Then
' v작업보조기기 = 6908.1 / A_B
' ElseIf 프로필면적 = "D"c Then
' v작업보조기기 = 8059.5 / A_B
' ElseIf 프로필면적 = "E"c Then
' v작업보조기기 = 9210.8 / A_B
' ElseIf 프로필면적 = "F"c Then
' v작업보조기기 = 10074.3 / A_B
' Else
' v작업보조기기 = 14104.1 / A_B
' End If
' End If
'End If
Q_I_source_p = v사람 * A_B ' Worksheets("설정조건").Range("사람1").Offset(0, i_count_profile) * A_B '(2-118)
Q_I_source_fac = (v작업보조기기 * A_B) + 기저비율 ' Worksheets("설정조건").Range("작업보조기기1").Offset(0, i_count_profile) * A_B '(2-119)
V_mech = TOSG(DR프로필(0).최소도입외기량) * A_B ' Worksheets("설정조건").Range("최소도입외기량1").Offset(0, i_count_profile) * A_B
' Else '=============================================================2010.2.21 삭제
' Log.AppendLine(" >> i_count_OpWe <> 1 >> Q_I_source_p/Q_I_source_fac 는 0입니다")
@@ -217,7 +267,7 @@
' End If
' End If
'End If
@@ -321,7 +371,15 @@
Q_I_L = TOSG(DR존.조명에너지부하율입력치) * TOSG(Drow프로필.일일사용시간) * A_B
End If
'Q_I_L = TOSG(IIf(DR존.조명부하산출방법 = "계산치", TOSG(DR존.조명에너지부하율계산치), TOSG(DR존.조명에너지부하율입력치))) * TOSG(Drow프로필.일일사용시간) * A_B
Q_w_b = TOSG(Drow프로필.일일급탕요구량) * A_B * d_op_mth
Dim 프로필급탕요구량 As Decimal = TOSG(Drow프로필.일일급탕요구량)
'If Drow프로필.설명.StartsWith("00") OrElse Drow프로필.설명.StartsWith("27") Then
' Dim 면적별범위 As Char = Pub.면적별범위값(TOSG(DR존.면적))
' 프로필급탕요구량 = Pub.프로필급탕요구량(면적별범위) / A_B
'End If
Q_w_b = 프로필급탕요구량 * A_B * d_op_mth
'===================================2010.2.21 삭제
'If DR존.조명부하산출방법 = "CALC" Then '//OpWe의 2번은 주말인거 같다.
' '//부하율계산치?입력치구분
@@ -796,7 +854,15 @@
Else
Q_l_b = TOSG(DR존.조명에너지부하율입력치) * TOSG(DRProf.일일사용시간) * A_B * d_op_mth * zone_count
End If
Q_w_b = TOSG(DRProf.일일급탕요구량) * A_B * d_op_mth * zone_count 'Worksheets("입력존").Range("일일급탕요구량1").Offset(0, i_count_zone - 1) * A_B * d_op(i_count_month)
프로필급탕요구량 = TOSG(DRProf.일일급탕요구량)
'If DRProf.설명.StartsWith("00") OrElse DRProf.설명.StartsWith("27") Then
' Dim 면적별범위 As Char = Pub.면적별범위값(TOSG(DR존.면적))
' 프로필급탕요구량 = Pub.프로필급탕요구량(면적별범위) / A_B
'End If
Q_w_b = 프로필급탕요구량 * A_B * d_op_mth * zone_count 'Worksheets("입력존").Range("일일급탕요구량1").Offset(0, i_count_zone - 1) * A_B * d_op(i_count_month)
'=================================================2010.2.21 삭제
'End If
'=================================================2010.2.21 삭제
@@ -821,7 +887,15 @@
Q_l_b = TOSG(DR존.조명에너지부하율입력치) * TOSG(DRProf.일일사용시간) * A_B * d_op_mth * zone_count
End If
Q_w_b = TOSG(DRProf.일일급탕요구량) * A_B * d_op_mth * zone_count '===============d_op(i_count_month) 2010.2.21 수정
Dim 프로필급탕요구량 As Decimal = TOSG(DRProf.일일급탕요구량)
'If DRProf.설명.StartsWith("00") OrElse DRProf.설명.StartsWith("27") Then
' Dim 면적별범위 As Char = Pub.면적별범위값(TOSG(DR존.면적))
' 프로필급탕요구량 = Pub.프로필급탕요구량(면적별범위) / A_B
'End If
Q_w_b = 프로필급탕요구량 * A_B * d_op_mth * zone_count '===============d_op(i_count_month) 2010.2.21 수정
End If
pLog.Add(String.Format("Q_w_b:{0}", Q_w_b))
@@ -979,6 +1053,16 @@
pLog.Add(String.Format("소요량계산 Mon={0},d_full_mth={1},theta_e_month={2}", i_count_month, d_full_mth, theta_e_month))
Dim importrows() As DS.tbl_importdataRow = DSET1.tbl_importdata.Select("mon='M" + i_count_month.ToString("00") + "'")
If importrows.Length = 1 Then
Result.생산E(i_count_month).연료전지전력생산량_offsite += importrows(0).외부전기도입량
End If
'///난방
pLog.Add("급탕소요량 시작")

View File

@@ -328,10 +328,12 @@
'//계산을 시작 p_CalcUse : 는 소요량 계산도 할건지으 ㅣ플래그 나중에 분리해야겠따.
'Dim ST As Date = Now
If Me.IsError Then
MsgBox("계산준비중 오류발생", MsgBoxStyle.Critical, "확인")
If Me.Pub.IsError Then
MsgBox("계산준비중 오류발생", MsgBoxStyle.Critical + MsgBoxStyle.Question, "확인")
Return False
End If
logBuffer = New System.Text.StringBuilder("")
Dim Cnt As Integer = FixData()
'log.AppendLine(">>데이터보정(" & Cnt.ToString & ")개의 데이터가 보정되었습니다")
@@ -358,6 +360,10 @@
DSETR2.월별1차에너지사용량.Merge(DSETR1.월별1차에너지사용량)
DSETR2.월별1차에너지사용량.AcceptChanges()
'//clear exportdata
DSET1.tbl_exportdata.Clear()
DSET1.tbl_exportdata.AcceptChanges()
Dim Retval As Boolean

View File

@@ -137,7 +137,7 @@
Me.난방LPG * Result.E변환계수.LPG + Me.난방지역 * Result.E변환계수.지역난방 + _
Me.난방전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.난방전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -163,7 +163,7 @@
Me.난방LPG * Result.E변환계수.지역난방 + Me.난방지역 * Result.E변환계수.지역난방 + _
Me.난방전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.난방전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -174,7 +174,7 @@
Me.난방LPG * Result.E변환계수.LPG + Me.난방지역 * Result.E변환계수.지역난방 + _
Me.난방전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.난방전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -346,7 +346,7 @@
Me.냉방LPG * Result.E변환계수.LPG + Me.냉방지역난방열 * Result.E변환계수.지역난방 + _
Me.냉방지역냉방열 * Result.E변환계수.지역냉방 + Me.냉방전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.냉방전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -522,7 +522,7 @@
' My.Computer.FileSystem.WriteAllText(f, b.ToString, True)
'#End If
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.급탕전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -556,7 +556,7 @@
Me.급탕LPG * Result.E변환계수.지역난방 + Me.급탕지역 * Result.E변환계수.지역난방 + _
Me.급탕전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.급탕전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -566,7 +566,7 @@
Me.급탕LPG * Result.E변환계수.LPG + Me.급탕지역 * Result.E변환계수.지역난방 + _
Me.급탕전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.급탕전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -740,7 +740,7 @@
Dim a As Decimal = Result.생산E(0).태양광전력생산량
Dim b As Decimal = Result.생산E(0).풍력전력생산량
Dim c As Decimal = Result.생산E(0).열병합전력생산량
Dim sumdata As Decimal = a + b + c
Dim sumdata As Decimal = a + b + c + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite
Return R - (sumdata) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.조명전력 * Result.E변환계수.전력
Catch ex As Exception
@@ -783,7 +783,7 @@
If MIdx = 0 Then
Dim R As Decimal = 환기전력 * Result.E변환계수.전력
Try
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / _
Return R - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / _
(Me.난방전력 + Me.냉방전력 + Me.급탕전력 + Me.조명전력 + Me.환기전력) * Me.환기전력 * Result.E변환계수.전력
Catch ex As Exception

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))

View File

@@ -58,7 +58,7 @@ Public Class C생산에너지
Next
Return Res
Else
Return TOSG(DR(0)("전력태양광"))
Return TOSG(DR(0).전력태양광) ''("전력태양광"))
End If
End If
End Get
@@ -72,6 +72,8 @@ Public Class C생산에너지
End If
End Set
End Property
Property 태양광전력생산량_offsite() As Decimal
Get
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
@@ -86,7 +88,7 @@ Public Class C생산에너지
Next
Return Res
Else
Return TOSG(DR(0)("전력태양광offsite"))
Return TOSG(DR(0).전력태양광offsite) '("전력태양광offsite"))
End If
End If
End Get
@@ -96,10 +98,43 @@ Public Class C생산에너지
MsgBox(ErrMsg)
Else
' MsgBox("태양광기록(" & Mon & ")")
DR(0)("전력태양광offsite") = value
DR(0).전력태양광offsite = value
End If
End Set
End Property
Property 연료전지전력생산량_offsite() 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 MIdx = 0 Then '//0월이면 모든월의 합계를 반환한다.
Dim Res As Decimal = 0
For i As Short = 1 To 12
Res += Result.생산E(i).연료전지전력생산량_offsite
Next
Return Res
Else
Return TOSG(DR(0).연료전지전력생산량_offsite) '0'("연료전지전력offsite"))
End If
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
' MsgBox("태양광기록(" & Mon & ")")
DR(0).연료전지전력생산량_offsite = value
End If
End Set
End Property
Property 풍력전력생산량() As Decimal
Get
Dim DR() As DSR.생산에너지Row = CType(DSETR.생산에너지.Select("mon='" & Mon & "'"), DSR.생산에너지Row())
@@ -114,7 +149,7 @@ Public Class C생산에너지
Next
Return Res
Else
Return TOSG(DR(0)("전력풍력"))
Return TOSG(DR(0).전력풍력) '("전력풍력"))
End If
End If
End Get
@@ -142,7 +177,7 @@ Public Class C생산에너지
Next
Return Res
Else
Return TOSG(DR(0)("전력풍력offsite"))
Return TOSG(DR(0).전력풍력offsite) '("전력풍력offsite"))
End If
End If
End Get
@@ -171,7 +206,7 @@ Public Class C생산에너지
Next
Return Res
Else
Return TOSG(DR(0)("전력열병합"))
Return TOSG(DR(0).전력열병합) '("전력열병합"))
End If
End If
End Get

View File

@@ -67,11 +67,11 @@
Me.급탕보조 = I60
If (I4 + I5 + I6 + I7 + I8 <> 0) Then
Me.난방S = IH - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I4
Me.냉방S = IC - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I5
Me.조명S = IL - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I6
Me.급탕S = IW - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I7
Me.환기S = IV - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량) / (I4 + I5 + I6 + I7 + I8) * I8
Me.난방S = IH - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / (I4 + I5 + I6 + I7 + I8) * I4
Me.냉방S = IC - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / (I4 + I5 + I6 + I7 + I8) * I5
Me.조명S = IL - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / (I4 + I5 + I6 + I7 + I8) * I6
Me.급탕S = IW - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / (I4 + I5 + I6 + I7 + I8) * I7
Me.환기S = IV - (Result.생산E(0).태양광전력생산량 + Result.생산E(0).풍력전력생산량 + Result.생산E(0).열병합전력생산량 + Result.생산E(0).태양광전력생산량_offsite + Result.생산E(0).연료전지전력생산량_offsite) / (I4 + I5 + I6 + I7 + I8) * I8
End If
End Sub

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,8 @@
Partial Class DS
Partial Class tbl_profileDataTable
End Class
Partial Class weather_chaDataTable
Private Sub weather_chaDataTable_weather_chaRowChanging(sender As System.Object, e As weather_chaRowChangeEvent) Handles Me.weather_chaRowChanging

View File

@@ -1654,6 +1654,7 @@ SELECT code, name FROM weather_group WHERE (code = @code) ORDER BY code</Command
<xs:element name="수열_열성능비_냉방35도" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="수열_열성능비_냉방35도" msprop:Generator_ColumnVarNameInTable="column수열_열성능비_냉방35도" msprop:Generator_ColumnPropNameInTable="수열_열성능비_냉방35도Column" msprop:Generator_UserColumnName="수열_열성능비_냉방35도" type="xs:string" minOccurs="0" />
<xs:element name="대지외설치여부_풍력" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="대지외설치여부_풍력" msprop:Generator_ColumnVarNameInTable="column대지외설치여부_풍력" msprop:Generator_ColumnPropNameInTable="대지외설치여부_풍력Column" msprop:Generator_UserColumnName="대지외설치여부_풍력" type="xs:boolean" minOccurs="0" />
<xs:element name="sortkey" msprop:nullValue="1" msprop:Generator_ColumnPropNameInRow="sortkey" msprop:Generator_ColumnVarNameInTable="columnsortkey" msprop:Generator_ColumnPropNameInTable="sortkeyColumn" msprop:Generator_UserColumnName="sortkey" type="xs:short" default="1" minOccurs="0" />
<xs:element name="외부공급비율" msprop:nullValue="_empty" msprop:Generator_ColumnPropNameInRow="외부공급비율" msprop:Generator_ColumnVarNameInTable="column외부공급비율" msprop:Generator_ColumnPropNameInTable="외부공급비율Column" msprop:Generator_UserColumnName="외부공급비율" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -3600,6 +3601,22 @@ SELECT code, name FROM weather_group WHERE (code = @code) ORDER BY code</Command
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl_exportdata" msprop:Generator_TableClassName="tbl_exportdataDataTable" msprop:Generator_TableVarName="tabletbl_exportdata" msprop:Generator_RowChangedName="tbl_exportdataRowChanged" msprop:Generator_TablePropName="tbl_exportdata" msprop:Generator_RowDeletingName="tbl_exportdataRowDeleting" msprop:Generator_RowChangingName="tbl_exportdataRowChanging" msprop:Generator_RowEvHandlerName="tbl_exportdataRowChangeEventHandler" msprop:Generator_RowDeletedName="tbl_exportdataRowDeleted" msprop:Generator_RowClassName="tbl_exportdataRow" msprop:Generator_UserTableName="tbl_exportdata" msprop:Generator_RowEvArgName="tbl_exportdataRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="mon" msprop:Generator_ColumnVarNameInTable="columnmon" msprop:Generator_ColumnPropNameInRow="mon" msprop:Generator_ColumnPropNameInTable="monColumn" msprop:Generator_UserColumnName="mon" type="xs:string" />
<xs:element name="외부전기생산량" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="외부전기생산량" msprop:Generator_ColumnVarNameInTable="column외부전기생산량" msprop:Generator_ColumnPropNameInTable="외부전기생산량Column" msprop:Generator_UserColumnName="외부전기생산량" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tbl_importdata" msprop:Generator_TableClassName="tbl_importdataDataTable" msprop:Generator_TableVarName="tabletbl_importdata" msprop:Generator_RowChangedName="tbl_importdataRowChanged" msprop:Generator_TablePropName="tbl_importdata" msprop:Generator_RowDeletingName="tbl_importdataRowDeleting" msprop:Generator_RowChangingName="tbl_importdataRowChanging" msprop:Generator_RowEvHandlerName="tbl_importdataRowChangeEventHandler" msprop:Generator_RowDeletedName="tbl_importdataRowDeleted" msprop:Generator_RowClassName="tbl_importdataRow" msprop:Generator_UserTableName="tbl_importdata" msprop:Generator_RowEvArgName="tbl_importdataRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="mon" msprop:Generator_ColumnVarNameInTable="columnmon" msprop:Generator_ColumnPropNameInRow="mon" msprop:Generator_ColumnPropNameInTable="monColumn" msprop:Generator_UserColumnName="mon" type="xs:string" />
<xs:element name="외부전기도입량" msdata:Caption="외부전기생산량" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="외부전기도입량" msprop:Generator_ColumnVarNameInTable="column외부전기도입량" msprop:Generator_ColumnPropNameInTable="외부전기도입량Column" msprop:Generator_UserColumnName="외부전기도입량" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@@ -3708,5 +3725,13 @@ SELECT code, name FROM weather_group WHERE (code = @code) ORDER BY code</Command
<xs:field xpath="mstns:pcode" />
<xs:field xpath="mstns:code" />
</xs:unique>
<xs:unique name="tbl_exportdata_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:tbl_exportdata" />
<xs:field xpath="mstns:mon" />
</xs:unique>
<xs:unique name="tbl_importdata_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:tbl_importdata" />
<xs:field xpath="mstns:mon" />
</xs:unique>
</xs:element>
</xs:schema>

View File

@@ -4,34 +4,36 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="True" ViewPortX="479" ViewPortY="-15" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="True" ViewPortX="393" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:weather_cha" ZOrder="1" X="944" Y="359" Height="305" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:weather_temp" ZOrder="11" X="162" Y="330" Height="305" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:tbl_weather" ZOrder="3" X="745" Y="410" Height="376" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="308" />
<Shape ID="DesignTable:weather_ilsa" ZOrder="10" X="192" Y="676" Height="153" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:weather_supdo" ZOrder="26" X="25" Y="665" Height="149" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="59" />
<Shape ID="DesignTable:tbl_profile" ZOrder="21" X="778" Y="326" Height="477" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="387" />
<Shape ID="DesignTable:tbl_common" ZOrder="25" X="1188" Y="569" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:weather_group" ZOrder="20" X="1167" Y="383" Height="172" Width="233" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:tbl_pic" ZOrder="24" X="588" Y="45" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
<Shape ID="DesignTable:tbl_nanbangkiki" ZOrder="15" X="14" Y="81" Height="543" Width="159" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="539" />
<Shape ID="DesignTable:tbl_nangbangkiki" ZOrder="13" X="182" Y="81" Height="638" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="634" />
<Shape ID="DesignTable:tbl_bunbae" ZOrder="14" X="397" Y="71" Height="562" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="558" />
<Shape ID="DesignTable:tbl_new" ZOrder="9" X="393" Y="125" Height="562" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="558" />
<Shape ID="DesignTable:tbl_myoun" ZOrder="23" X="1590" Y="60" Height="828" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="824" />
<Shape ID="DesignTable:tbl_buha" ZOrder="4" X="1216" Y="58" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
<Shape ID="DesignTable:tbl_nbunbae" ZOrder="5" X="877" Y="70" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
<Shape ID="DesignTable:tbl_kongjo" ZOrder="18" X="1014" Y="11" Height="600" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="596" />
<Shape ID="DesignTable:tbl_kongkub" ZOrder="7" X="599" Y="121" Height="695" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="691" />
<Shape ID="DesignTable:tbl_yk" ZOrder="6" X="1021" Y="609" Height="238" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
<Shape ID="DesignTable:tbl_ykdetail" ZOrder="2" X="573" Y="385" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
<Shape ID="DesignTable:tbl_zone" ZOrder="22" X="1414" Y="58" Height="847" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="843" />
<Shape ID="DesignTable:tbl_monuse" ZOrder="8" X="823" Y="-1" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:tbl_Desc" ZOrder="12" X="392" Y="357" Height="466" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="462" />
<Shape ID="DesignTable:weather_wind" ZOrder="16" X="-7" Y="-5" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:weather_river" ZOrder="19" X="347" Y="-3" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:weather_water" ZOrder="17" X="177" Y="-5" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="86" />
<Shape ID="DesignTable:weather_cha" ZOrder="6" X="944" Y="359" Height="305" Width="217" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:weather_temp" ZOrder="13" X="162" Y="330" Height="305" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:tbl_weather" ZOrder="7" X="745" Y="410" Height="376" Width="211" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="308" />
<Shape ID="DesignTable:weather_ilsa" ZOrder="12" X="192" Y="676" Height="153" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:weather_supdo" ZOrder="28" X="25" Y="665" Height="149" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="59" />
<Shape ID="DesignTable:tbl_profile" ZOrder="23" X="778" Y="326" Height="477" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="387" />
<Shape ID="DesignTable:tbl_common" ZOrder="27" X="1188" Y="569" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:weather_group" ZOrder="22" X="1167" Y="383" Height="172" Width="233" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:tbl_pic" ZOrder="26" X="588" Y="45" Height="67" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
<Shape ID="DesignTable:tbl_nanbangkiki" ZOrder="17" X="14" Y="81" Height="543" Width="159" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="539" />
<Shape ID="DesignTable:tbl_nangbangkiki" ZOrder="15" X="182" Y="81" Height="638" Width="166" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="634" />
<Shape ID="DesignTable:tbl_bunbae" ZOrder="16" X="397" Y="71" Height="562" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="558" />
<Shape ID="DesignTable:tbl_new" ZOrder="2" X="393" Y="125" Height="562" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="558" />
<Shape ID="DesignTable:tbl_myoun" ZOrder="25" X="1590" Y="60" Height="828" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="824" />
<Shape ID="DesignTable:tbl_buha" ZOrder="8" X="1216" Y="58" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
<Shape ID="DesignTable:tbl_nbunbae" ZOrder="9" X="877" Y="70" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
<Shape ID="DesignTable:tbl_kongjo" ZOrder="20" X="1014" Y="11" Height="600" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="596" />
<Shape ID="DesignTable:tbl_kongkub" ZOrder="4" X="599" Y="121" Height="429" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="425" />
<Shape ID="DesignTable:tbl_yk" ZOrder="10" X="1021" Y="609" Height="238" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="234" />
<Shape ID="DesignTable:tbl_ykdetail" ZOrder="5" X="573" Y="385" Height="219" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
<Shape ID="DesignTable:tbl_zone" ZOrder="24" X="1414" Y="58" Height="847" Width="177" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="843" />
<Shape ID="DesignTable:tbl_monuse" ZOrder="11" X="823" Y="-1" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:tbl_Desc" ZOrder="14" X="392" Y="357" Height="466" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="462" />
<Shape ID="DesignTable:weather_wind" ZOrder="18" X="-7" Y="-5" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:weather_river" ZOrder="21" X="347" Y="-3" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:weather_water" ZOrder="19" X="177" Y="-5" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="86" />
<Shape ID="DesignTable:tbl_exportdata" ZOrder="1" X="580" Y="627" Height="67" Width="151" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
<Shape ID="DesignTable:tbl_importdata" ZOrder="3" X="567" Y="709" Height="67" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="63" />
</Shapes>
<Connectors />
</DiagramLayout>

View File

@@ -4591,6 +4591,8 @@ Partial Public Class DSR
Private column신재생열병합열생산량 As Global.System.Data.DataColumn
Private column연료전지전력생산량_offsite As Global.System.Data.DataColumn
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public Sub New()
@@ -4842,6 +4844,14 @@ Partial Public Class DSR
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public ReadOnly Property 연료전지전력생산량_offsiteColumn() As Global.System.Data.DataColumn
Get
Return Me.column연료전지전력생산량_offsite
End Get
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _
@@ -4906,9 +4916,10 @@ Partial Public Class DSR
ByVal 면적당생산량수열_난방 As String, _
ByVal 면적당생산량수열_냉방 As String, _
ByVal 면적당생산량수열_급탕 As String, _
ByVal 신재생열병합열생산량 As String) As 생산에너지Row
ByVal 신재생열병합열생산량 As String, _
ByVal 연료전지전력생산량_offsite As String) As 생산에너지Row
Dim row생산에너지Row As 생산에너지Row = CType(Me.NewRow,생산에너지Row)
Dim columnValuesArray() As Object = New Object() {mon, 전력태양광, 전력태양광offsite, 전력열병합, 생산량태양열, 생산량지열, 면적당생산량태양열, 면적당생산량지열, 신재생열병합전력생산량, 신재생면적당열생산량, 전력풍력, 생산량수열, 면적당생산량수열, 전력풍력offsite, 면적당생산량태양열_난방, 면적당생산량태양열_냉방, 면적당생산량태양열_급탕, 면적당생산량지열_난방, 면적당생산량지열_냉방, 면적당생산량지열_급탕, 신재생면적당열생산량_난방, 신재생면적당열생산량_급탕, 신재생면적당열생산량_냉방, 면적당생산량수열_난방, 면적당생산량수열_냉방, 면적당생산량수열_급탕, 신재생열병합열생산량}
Dim columnValuesArray() As Object = New Object() {mon, 전력태양광, 전력태양광offsite, 전력열병합, 생산량태양열, 생산량지열, 면적당생산량태양열, 면적당생산량지열, 신재생열병합전력생산량, 신재생면적당열생산량, 전력풍력, 생산량수열, 면적당생산량수열, 전력풍력offsite, 면적당생산량태양열_난방, 면적당생산량태양열_냉방, 면적당생산량태양열_급탕, 면적당생산량지열_난방, 면적당생산량지열_냉방, 면적당생산량지열_급탕, 신재생면적당열생산량_난방, 신재생면적당열생산량_급탕, 신재생면적당열생산량_냉방, 면적당생산량수열_난방, 면적당생산량수열_냉방, 면적당생산량수열_급탕, 신재생열병합열생산량, 연료전지전력생산량_offsite}
row생산에너지Row.ItemArray = columnValuesArray
Me.Rows.Add(row생산에너지Row)
Return row생산에너지Row
@@ -4958,6 +4969,7 @@ Partial Public Class DSR
Me.column면적당생산량수열_냉방 = MyBase.Columns("면적당생산량수열_냉방")
Me.column면적당생산량수열_급탕 = MyBase.Columns("면적당생산량수열_급탕")
Me.column신재생열병합열생산량 = MyBase.Columns("신재생열병합열생산량")
Me.column연료전지전력생산량_offsite = MyBase.Columns("연료전지전력생산량_offsite")
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
@@ -5017,6 +5029,8 @@ Partial Public Class DSR
MyBase.Columns.Add(Me.column면적당생산량수열_급탕)
Me.column신재생열병합열생산량 = New Global.System.Data.DataColumn("신재생열병합열생산량", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.column신재생열병합열생산량)
Me.column연료전지전력생산량_offsite = New Global.System.Data.DataColumn("연료전지전력생산량_offsite", GetType(String), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.column연료전지전력생산량_offsite)
Me.column전력태양광.Caption = "에너지요구량"
Me.column전력태양광.DefaultValue = CType("0",String)
Me.column전력태양광offsite.DefaultValue = CType("0",String)
@@ -11551,6 +11565,21 @@ Partial Public Class DSR
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public Property 연료전지전력생산량_offsite() As String
Get
If Me.Is연료전지전력생산량_offsiteNull Then
Return "0"
Else
Return CType(Me(Me.table생산에너지.연료전지전력생산량_offsiteColumn),String)
End If
End Get
Set
Me(Me.table생산에너지.연료전지전력생산량_offsiteColumn) = value
End Set
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public Function IsmonNull() As Boolean
@@ -11874,6 +11903,18 @@ Partial Public Class DSR
Public Sub Set신재생열병합열생산량Null()
Me(Me.table생산에너지.신재생열병합열생산량Column) = Global.System.Convert.DBNull
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public Function Is연료전지전력생산량_offsiteNull() As Boolean
Return Me.IsNull(Me.table생산에너지.연료전지전력생산량_offsiteColumn)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")> _
Public Sub Set연료전지전력생산량_offsiteNull()
Me(Me.table생산에너지.연료전지전력생산량_offsiteColumn) = Global.System.Convert.DBNull
End Sub
End Class
'''<summary>

View File

@@ -199,6 +199,7 @@
<xs:element name="면적당생산량수열_냉방" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="면적당생산량수열_냉방" msprop:Generator_ColumnVarNameInTable="column면적당생산량수열_냉방" msprop:Generator_ColumnPropNameInTable="면적당생산량수열_냉방Column" msprop:Generator_UserColumnName="면적당생산량수열_냉방" type="xs:string" minOccurs="0" />
<xs:element name="면적당생산량수열_급탕" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="면적당생산량수열_급탕" msprop:Generator_ColumnVarNameInTable="column면적당생산량수열_급탕" msprop:Generator_ColumnPropNameInTable="면적당생산량수열_급탕Column" msprop:Generator_UserColumnName="면적당생산량수열_급탕" type="xs:string" minOccurs="0" />
<xs:element name="신재생열병합열생산량" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="신재생열병합열생산량" msprop:Generator_ColumnVarNameInTable="column신재생열병합열생산량" msprop:Generator_ColumnPropNameInTable="신재생열병합열생산량Column" msprop:Generator_UserColumnName="신재생열병합열생산량" type="xs:string" minOccurs="0" />
<xs:element name="연료전지전력생산량_offsite" msprop:Generator_ColumnVarNameInTable="column연료전지전력생산량_offsite" msprop:Generator_ColumnPropNameInRow="연료전지전력생산량_offsite" msprop:nullValue="0" msprop:Generator_ColumnPropNameInTable="연료전지전력생산량_offsiteColumn" msprop:Generator_UserColumnName="연료전지전력생산량_offsite" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -223,7 +224,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Pyonga_REQ" msprop:Generator_TableClassName="Pyonga_REQDataTable" msprop:Generator_TableVarName="tablePyonga_REQ" msprop:Generator_RowChangedName="Pyonga_REQRowChanged" msprop:Generator_TablePropName="Pyonga_REQ" msprop:Generator_RowDeletingName="Pyonga_REQRowDeleting" msprop:Generator_RowChangingName="Pyonga_REQRowChanging" msprop:Generator_RowEvHandlerName="Pyonga_REQRowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_REQRowDeleted" msprop:Generator_RowClassName="Pyonga_REQRow" msprop:Generator_UserTableName="Pyonga_REQ" msprop:Generator_RowEvArgName="Pyonga_REQRowChangeEvent">
<xs:element name="Pyonga_REQ" msprop:Generator_TableClassName="Pyonga_REQDataTable" msprop:Generator_TableVarName="tablePyonga_REQ" msprop:Generator_TablePropName="Pyonga_REQ" msprop:Generator_RowDeletingName="Pyonga_REQRowDeleting" msprop:Generator_RowChangingName="Pyonga_REQRowChanging" msprop:Generator_RowEvHandlerName="Pyonga_REQRowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_REQRowDeleted" msprop:Generator_UserTableName="Pyonga_REQ" msprop:Generator_RowChangedName="Pyonga_REQRowChanged" msprop:Generator_RowEvArgName="Pyonga_REQRowChangeEvent" msprop:Generator_RowClassName="Pyonga_REQRow">
<xs:complexType>
<xs:sequence>
<xs:element name="종류" msdata:Caption="Mon" msprop:Generator_ColumnVarNameInTable="column종류" msprop:Generator_ColumnPropNameInRow="종류" msprop:Generator_ColumnPropNameInTable="종류Column" msprop:Generator_UserColumnName="종류" type="xs:string" minOccurs="0" />
@@ -231,7 +232,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Pyonga_USE" msprop:Generator_TableClassName="Pyonga_USEDataTable" msprop:Generator_TableVarName="tablePyonga_USE" msprop:Generator_RowChangedName="Pyonga_USERowChanged" msprop:Generator_TablePropName="Pyonga_USE" msprop:Generator_RowDeletingName="Pyonga_USERowDeleting" msprop:Generator_RowChangingName="Pyonga_USERowChanging" msprop:Generator_RowEvHandlerName="Pyonga_USERowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_USERowDeleted" msprop:Generator_RowClassName="Pyonga_USERow" msprop:Generator_UserTableName="Pyonga_USE" msprop:Generator_RowEvArgName="Pyonga_USERowChangeEvent">
<xs:element name="Pyonga_USE" msprop:Generator_TableClassName="Pyonga_USEDataTable" msprop:Generator_TableVarName="tablePyonga_USE" msprop:Generator_TablePropName="Pyonga_USE" msprop:Generator_RowDeletingName="Pyonga_USERowDeleting" msprop:Generator_RowChangingName="Pyonga_USERowChanging" msprop:Generator_RowEvHandlerName="Pyonga_USERowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_USERowDeleted" msprop:Generator_UserTableName="Pyonga_USE" msprop:Generator_RowChangedName="Pyonga_USERowChanged" msprop:Generator_RowEvArgName="Pyonga_USERowChangeEvent" msprop:Generator_RowClassName="Pyonga_USERow">
<xs:complexType>
<xs:sequence>
<xs:element name="종류" msdata:Caption="Mon" msprop:Generator_ColumnVarNameInTable="column종류" msprop:Generator_ColumnPropNameInRow="종류" msprop:Generator_ColumnPropNameInTable="종류Column" msprop:Generator_UserColumnName="종류" type="xs:string" minOccurs="0" />
@@ -239,7 +240,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Pyonga_1USE" msprop:Generator_TableClassName="Pyonga_1USEDataTable" msprop:Generator_TableVarName="tablePyonga_1USE" msprop:Generator_RowChangedName="Pyonga_1USERowChanged" msprop:Generator_TablePropName="Pyonga_1USE" msprop:Generator_RowDeletingName="Pyonga_1USERowDeleting" msprop:Generator_RowChangingName="Pyonga_1USERowChanging" msprop:Generator_RowEvHandlerName="Pyonga_1USERowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_1USERowDeleted" msprop:Generator_RowClassName="Pyonga_1USERow" msprop:Generator_UserTableName="Pyonga_1USE" msprop:Generator_RowEvArgName="Pyonga_1USERowChangeEvent">
<xs:element name="Pyonga_1USE" msprop:Generator_TableClassName="Pyonga_1USEDataTable" msprop:Generator_TableVarName="tablePyonga_1USE" msprop:Generator_TablePropName="Pyonga_1USE" msprop:Generator_RowDeletingName="Pyonga_1USERowDeleting" msprop:Generator_RowChangingName="Pyonga_1USERowChanging" msprop:Generator_RowEvHandlerName="Pyonga_1USERowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_1USERowDeleted" msprop:Generator_UserTableName="Pyonga_1USE" msprop:Generator_RowChangedName="Pyonga_1USERowChanged" msprop:Generator_RowEvArgName="Pyonga_1USERowChangeEvent" msprop:Generator_RowClassName="Pyonga_1USERow">
<xs:complexType>
<xs:sequence>
<xs:element name="종류" msdata:Caption="Mon" msprop:Generator_ColumnVarNameInTable="column종류" msprop:Generator_ColumnPropNameInRow="종류" msprop:Generator_ColumnPropNameInTable="종류Column" msprop:Generator_UserColumnName="종류" type="xs:string" minOccurs="0" />
@@ -247,7 +248,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Pyonga_YK" msprop:Generator_TableClassName="Pyonga_YKDataTable" msprop:Generator_TableVarName="tablePyonga_YK" msprop:Generator_RowChangedName="Pyonga_YKRowChanged" msprop:Generator_TablePropName="Pyonga_YK" msprop:Generator_RowDeletingName="Pyonga_YKRowDeleting" msprop:Generator_RowChangingName="Pyonga_YKRowChanging" msprop:Generator_RowEvHandlerName="Pyonga_YKRowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_YKRowDeleted" msprop:Generator_RowClassName="Pyonga_YKRow" msprop:Generator_UserTableName="Pyonga_YK" msprop:Generator_RowEvArgName="Pyonga_YKRowChangeEvent">
<xs:element name="Pyonga_YK" msprop:Generator_TableClassName="Pyonga_YKDataTable" msprop:Generator_TableVarName="tablePyonga_YK" msprop:Generator_TablePropName="Pyonga_YK" msprop:Generator_RowDeletingName="Pyonga_YKRowDeleting" msprop:Generator_RowChangingName="Pyonga_YKRowChanging" msprop:Generator_RowEvHandlerName="Pyonga_YKRowChangeEventHandler" msprop:Generator_RowDeletedName="Pyonga_YKRowDeleted" msprop:Generator_UserTableName="Pyonga_YK" msprop:Generator_RowChangedName="Pyonga_YKRowChanged" msprop:Generator_RowEvArgName="Pyonga_YKRowChangeEvent" msprop:Generator_RowClassName="Pyonga_YKRow">
<xs:complexType>
<xs:sequence>
<xs:element name="벽체종류" msdata:Caption="Mon" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="벽체종류" msprop:Generator_ColumnVarNameInTable="column벽체종류" msprop:Generator_ColumnPropNameInTable="벽체종류Column" msprop:Generator_UserColumnName="벽체종류" type="xs:string" default="" minOccurs="0" />
@@ -292,7 +293,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="월별1차에너지사용량" msprop:Generator_TableClassName="월별1차에너지사용량DataTable" msprop:Generator_TableVarName="table월별1차에너지사용량" msprop:Generator_RowChangedName="월별1차에너지사용량RowChanged" msprop:Generator_TablePropName="월별1차에너지사용량" msprop:Generator_RowDeletingName="월별1차에너지사용량RowDeleting" msprop:Generator_RowChangingName="월별1차에너지사용량RowChanging" msprop:Generator_RowEvHandlerName="월별1차에너지사용량RowChangeEventHandler" msprop:Generator_RowDeletedName="월별1차에너지사용량RowDeleted" msprop:Generator_RowClassName="월별1차에너지사용량Row" msprop:Generator_UserTableName="월별1차에너지사용량" msprop:Generator_RowEvArgName="월별1차에너지사용량RowChangeEvent">
<xs:element name="월별1차에너지사용량" msprop:Generator_TableClassName="월별1차에너지사용량DataTable" msprop:Generator_TableVarName="table월별1차에너지사용량" msprop:Generator_TablePropName="월별1차에너지사용량" msprop:Generator_RowDeletingName="월별1차에너지사용량RowDeleting" msprop:Generator_RowChangingName="월별1차에너지사용량RowChanging" msprop:Generator_RowEvHandlerName="월별1차에너지사용량RowChangeEventHandler" msprop:Generator_RowDeletedName="월별1차에너지사용량RowDeleted" msprop:Generator_UserTableName="월별1차에너지사용량" msprop:Generator_RowChangedName="월별1차에너지사용량RowChanged" msprop:Generator_RowEvArgName="월별1차에너지사용량RowChangeEvent" msprop:Generator_RowClassName="월별1차에너지사용량Row">
<xs:complexType>
<xs:sequence>
<xs:element name="년" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="년" msprop:Generator_ColumnVarNameInTable="column년" msprop:Generator_ColumnPropNameInTable="년Column" msprop:Generator_UserColumnName="년" type="xs:string" default="" />
@@ -304,7 +305,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="설계계산결과" msprop:Generator_TableClassName="설계계산결과DataTable" msprop:Generator_TableVarName="table설계계산결과" msprop:Generator_RowChangedName="설계계산결과RowChanged" msprop:Generator_TablePropName="설계계산결과" msprop:Generator_RowDeletingName="설계계산결과RowDeleting" msprop:Generator_RowChangingName="설계계산결과RowChanging" msprop:Generator_RowEvHandlerName="설계계산결과RowChangeEventHandler" msprop:Generator_RowDeletedName="설계계산결과RowDeleted" msprop:Generator_RowClassName="설계계산결과Row" msprop:Generator_UserTableName="설계계산결과" msprop:Generator_RowEvArgName="설계계산결과RowChangeEvent">
<xs:element name="설계계산결과" msprop:Generator_TableClassName="설계계산결과DataTable" msprop:Generator_TableVarName="table설계계산결과" msprop:Generator_TablePropName="설계계산결과" msprop:Generator_RowDeletingName="설계계산결과RowDeleting" msprop:Generator_RowChangingName="설계계산결과RowChanging" msprop:Generator_RowEvHandlerName="설계계산결과RowChangeEventHandler" msprop:Generator_RowDeletedName="설계계산결과RowDeleted" msprop:Generator_UserTableName="설계계산결과" msprop:Generator_RowChangedName="설계계산결과RowChanged" msprop:Generator_RowEvArgName="설계계산결과RowChangeEvent" msprop:Generator_RowClassName="설계계산결과Row">
<xs:complexType>
<xs:sequence>
<xs:element name="월" msprop:nullValue="" msprop:Generator_ColumnPropNameInRow="월" msprop:Generator_ColumnVarNameInTable="column월" msprop:Generator_ColumnPropNameInTable="월Column" msprop:Generator_UserColumnName="월" type="xs:string" default="" />
@@ -321,7 +322,7 @@
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="설계계산파라미터" msprop:Generator_TableClassName="설계계산파라미터DataTable" msprop:Generator_TableVarName="table설계계산파라미터" msprop:Generator_RowChangedName="설계계산파라미터RowChanged" msprop:Generator_TablePropName="설계계산파라미터" msprop:Generator_RowDeletingName="설계계산파라미터RowDeleting" msprop:Generator_RowChangingName="설계계산파라미터RowChanging" msprop:Generator_RowEvHandlerName="설계계산파라미터RowChangeEventHandler" msprop:Generator_RowDeletedName="설계계산파라미터RowDeleted" msprop:Generator_RowClassName="설계계산파라미터Row" msprop:Generator_UserTableName="설계계산파라미터" msprop:Generator_RowEvArgName="설계계산파라미터RowChangeEvent">
<xs:element name="설계계산파라미터" msprop:Generator_TableClassName="설계계산파라미터DataTable" msprop:Generator_TableVarName="table설계계산파라미터" msprop:Generator_TablePropName="설계계산파라미터" msprop:Generator_RowDeletingName="설계계산파라미터RowDeleting" msprop:Generator_RowChangingName="설계계산파라미터RowChanging" msprop:Generator_RowEvHandlerName="설계계산파라미터RowChangeEventHandler" msprop:Generator_RowDeletedName="설계계산파라미터RowDeleted" msprop:Generator_UserTableName="설계계산파라미터" msprop:Generator_RowChangedName="설계계산파라미터RowChanged" msprop:Generator_RowEvArgName="설계계산파라미터RowChangeEvent" msprop:Generator_RowClassName="설계계산파라미터Row">
<xs:complexType>
<xs:sequence>
<xs:element name="난방" msprop:nullValue="0" msprop:Generator_ColumnPropNameInRow="난방" msprop:Generator_ColumnVarNameInTable="column난방" msprop:Generator_ColumnPropNameInTable="난방Column" msprop:Generator_UserColumnName="난방" type="xs:string" default="0" minOccurs="0" />

View File

@@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="58" ViewPortY="4" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="10" ViewPortY="58" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:최대냉난방부하" ZOrder="14" X="1088" Y="435" Height="257" Width="152" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="253" />
<Shape ID="DesignTable:월별에너지분석" ZOrder="18" X="891" Y="316" Height="562" Width="156" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="558" />
@@ -15,7 +15,7 @@
<Shape ID="DesignTable:사용면적" ZOrder="13" X="872" Y="174" Height="124" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="120" />
<Shape ID="DesignTable:에너지소요량" ZOrder="11" X="187" Y="58" Height="410" Width="187" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
<Shape ID="DesignTable:에너지소요량1" ZOrder="12" X="376" Y="56" Height="695" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="691" />
<Shape ID="DesignTable:생산에너지" ZOrder="1" X="536" Y="58" Height="619" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="615" />
<Shape ID="DesignTable:생산에너지" ZOrder="1" X="536" Y="58" Height="619" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="615" />
<Shape ID="DesignTable:Graph_Info_data" ZOrder="10" X="20" Y="52" Height="410" Width="161" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="406" />
<Shape ID="DesignTable:Pyonga_REQ" ZOrder="8" X="551" Y="230" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />
<Shape ID="DesignTable:Pyonga_USE" ZOrder="6" X="547" Y="419" Height="90" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="86" />

View File

@@ -64,6 +64,7 @@
<PlatformTarget>x86</PlatformTarget>
<WarningsAsErrors>
</WarningsAsErrors>
<DefineConstants>ITEM1</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>Full</DebugType>
@@ -190,6 +191,12 @@
<Compile Include="Forms_Input\frm_monuse.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms_Input\Frm_custom_profile.Designer.vb">
<DependentUpon>Frm_custom_profile.vb</DependentUpon>
</Compile>
<Compile Include="Forms_Input\Frm_custom_profile.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms_Report\Frm_Export.Designer.vb">
<DependentUpon>Frm_Export.vb</DependentUpon>
</Compile>
@@ -498,6 +505,10 @@
<DependentUpon>frm_monuse.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms_Input\Frm_custom_profile.resx">
<DependentUpon>Frm_custom_profile.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms_Report\Frm_Export.resx">
<DependentUpon>Frm_Export.vb</DependentUpon>
</EmbeddedResource>
@@ -532,7 +543,9 @@
<DependentUpon>Report_그래프.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms_Report\그래프.rdlc" />
<EmbeddedResource Include="Forms_Report\그래프.rdlc">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Forms_Input\Frm_Desc.resx">
<DependentUpon>Frm_Desc.vb</DependentUpon>
<SubType>Designer</SubType>

View File

@@ -26,8 +26,9 @@ Partial Class Frm_Calc
Me.Button2 = New System.Windows.Forms.Button()
Me.Button3 = New System.Windows.Forms.Button()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.bt_설계개선안 = New System.Windows.Forms.Button()
Me.btImport = New System.Windows.Forms.Button()
Me.bt_cancel = New System.Windows.Forms.Button()
Me.bt_설계개선안 = New System.Windows.Forms.Button()
Me.Panel1.SuspendLayout()
Me.SuspendLayout()
'
@@ -44,7 +45,7 @@ Partial Class Frm_Calc
'Button2
'
Me.Button2.ForeColor = System.Drawing.Color.Silver
Me.Button2.Location = New System.Drawing.Point(40, 174)
Me.Button2.Location = New System.Drawing.Point(85, 335)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(137, 31)
Me.Button2.TabIndex = 4
@@ -66,6 +67,7 @@ Partial Class Frm_Calc
'
Me.Panel1.BackColor = System.Drawing.Color.White
Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.Panel1.Controls.Add(Me.btImport)
Me.Panel1.Controls.Add(Me.bt_cancel)
Me.Panel1.Controls.Add(Me.bt_설계개선안)
Me.Panel1.Controls.Add(Me.Button1)
@@ -74,18 +76,19 @@ Partial Class Frm_Calc
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill
Me.Panel1.Location = New System.Drawing.Point(0, 0)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(160, 164)
Me.Panel1.Size = New System.Drawing.Size(160, 200)
Me.Panel1.TabIndex = 7
'
'bt_설계개선안
'btImport
'
Me.bt_설계개선안.BackColor = System.Drawing.SystemColors.Control
Me.bt_설계개선안.Location = New System.Drawing.Point(11, 85)
Me.bt_설계개선안.Name = "bt_설계개선안"
Me.bt_설계개선안.Size = New System.Drawing.Size(137, 31)
Me.bt_설계개선안.TabIndex = 8
Me.bt_설계개선안.Text = "설계개선안"
Me.bt_설계개선안.UseVisualStyleBackColor = False
Me.btImport.BackColor = System.Drawing.SystemColors.Control
Me.btImport.Enabled = False
Me.btImport.Location = New System.Drawing.Point(11, 85)
Me.btImport.Name = "btImport"
Me.btImport.Size = New System.Drawing.Size(137, 31)
Me.btImport.TabIndex = 10
Me.btImport.Text = "신재생가져오기"
Me.btImport.UseVisualStyleBackColor = False
'
'bt_cancel
'
@@ -98,12 +101,22 @@ Partial Class Frm_Calc
Me.bt_cancel.Text = "취 소"
Me.bt_cancel.UseVisualStyleBackColor = False
'
'bt_설계개선안
'
Me.bt_설계개선안.BackColor = System.Drawing.SystemColors.Control
Me.bt_설계개선안.Location = New System.Drawing.Point(11, 159)
Me.bt_설계개선안.Name = "bt_설계개선안"
Me.bt_설계개선안.Size = New System.Drawing.Size(137, 31)
Me.bt_설계개선안.TabIndex = 8
Me.bt_설계개선안.Text = "설계개선안"
Me.bt_설계개선안.UseVisualStyleBackColor = False
'
'Frm_Calc
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.SystemColors.AppWorkspace
Me.ClientSize = New System.Drawing.Size(160, 164)
Me.ClientSize = New System.Drawing.Size(160, 200)
Me.Controls.Add(Me.Panel1)
Me.Font = New System.Drawing.Font("돋움", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog
@@ -125,4 +138,5 @@ Partial Class Frm_Calc
Friend WithEvents Panel1 As System.Windows.Forms.Panel
Friend WithEvents bt_설계개선안 As System.Windows.Forms.Button
Friend WithEvents bt_cancel As System.Windows.Forms.Button
Friend WithEvents btImport As System.Windows.Forms.Button
End Class

View File

@@ -112,9 +112,9 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -1,4 +1,7 @@
Public Class Frm_Calc
Dim importok As Boolean = False
Public Type As Calculator.ECalc
Public Overrides Function AcceptChanged() As Boolean
@@ -16,6 +19,7 @@
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Pub.Importsameaddress = False
Type = Calculator.ECalc.REq
Me.DialogResult = Windows.Forms.DialogResult.OK
End Sub
@@ -26,6 +30,10 @@
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If importok = False AndAlso btImport.Enabled = True Then
MsgboxE("외부 신재생 생산량을 지정해주세요.")
Return
End If
Type = Calculator.ECalc.All
Me.DialogResult = Windows.Forms.DialogResult.OK
End Sub
@@ -46,15 +54,324 @@
End Sub
Private Sub Frm_Calc_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Pub.Importsameaddress = False
Select Case Prj.UserAuthType
Case "ADMIN", "BOTH1" '//제한된 사용자만 가능
bt_설계개선안.Visible = True
Case Else
bt_설계개선안.Visible = False
End Select
'//import check
Dim bfind As Boolean = DSET1.tbl_new.Select("기기종류='외부신재생'").Length > 0
btImport.Enabled = bfind
importok = False
End Sub
Private Sub bt_cancel_Click(sender As System.Object, e As System.EventArgs) Handles bt_cancel.Click
Me.DialogResult = Windows.Forms.DialogResult.Cancel
End Sub
Private Sub btImport_Click(sender As System.Object, e As System.EventArgs) Handles btImport.Click
'//import data
Dim Od As New OpenFileDialog
'Od.InitialDirectory = TemplateDir.FullName
Od.FileName = Prj.FileName
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.09 추가
Od.Filter = "템플릿파일(*.TPL,*.TPLX)|*.tpl;*.tplx|모든파일(*.*)|*.*"
Else
Od.Filter = "데이터파일(*.ECO,*.ECOX)|*.eco;*.ecox|모든파일(*.*)|*.*"
End If
Od.FilterIndex = 0
If Od.ShowDialog <> Windows.Forms.DialogResult.OK Then Return
Open_File(Od.FileName)
End Sub
Public Function Open_File(ByVal FileName As String, Optional ByVal SyncServer As Boolean = False, Optional checkVersion As Boolean = True, Optional silent As Boolean = False, Optional isNew As Boolean = False) As Boolean
If SyncServer Then
If Prj.UserId.ToLower().StartsWith("user") Then
SyncServer = False
End If
End If
pLog.Add("=======================================")
pLog.Add(String.Format("Open File = {0}", FileName))
pLog.Add("=======================================", True)
Dim PrjIsError As Boolean = False '//160509
'//파일을 열어서 템플릿이름을 가져온다
Dim FI As New System.IO.FileInfo(FileName)
Dim Desbuf() As Byte = {}
Dim FS As System.IO.Stream
'///////////////////////////////////////////////////////////////////////////////////////////////////2011.03.16 입력파일 변조
If Not (Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1") Then '//2011.03.16 추가 //eco 파일 불러올때 ADMIN 제거 'Prj.UserAuthType = "ADMIN" OrElse
Dim Source() As Byte = My.Computer.FileSystem.ReadAllBytes(FI.FullName)
If Source.Length < 4 Then
Prj.IsError = True
MsgboxE("알수없거나 손상된 파일입니다" + vbCrLf + FI.FullName, True)
Return False
End If
pLog.Add("암호화 해제")
Desbuf = DeCryptArea(Source, New Byte() {&HAC, &H29, &H55, &H42})
Else
'tpl file
Desbuf = System.IO.File.ReadAllBytes(FileName)
' FS = New IO.FileStream(FileName, IO.FileMode.Open)
End If
If FI.Extension.ToLower().EndsWith("x") Then '//확장자가 x로끝나면 압축된 포맷
Dim datalen As Integer = BitConverter.ToInt32(Desbuf, 0)
Dim RealData(Desbuf.Length - 4 - 1) As Byte
Array.Copy(Desbuf, 4, RealData, 0, RealData.Length)
Dim DeCompress(datalen - 1) As Byte
Array.Clear(DeCompress, 0, DeCompress.Length)
Utility.MiniLZO.Decompress(RealData, DeCompress)
Array.Resize(Desbuf, DeCompress.Length)
Array.Clear(Desbuf, 0, Desbuf.Length)
Array.Copy(DeCompress, Desbuf, Desbuf.Length)
End If
FS = New IO.MemoryStream(Desbuf, True)
'///////////////////////////////////////////////////////////////////////////////////////////////////2011.03.16 입력파일 변조
Dim Br As New IO.BinaryReader(FS, System.Text.Encoding.Default)
Dim PrjFileName As String = FileName : Myini.Write("presetting", "filename", Prj.FileName)
Dim PrjOpened As Boolean = False
'//세이브파일구조(2)
Dim PrjSFType As String = STB(Br.ReadBytes(2))
pLog.Add("File Type = " + Prj.SFType)
Dim DSImport As New DS()
Dim PrjUIVersion As String
Dim PrjLGVersino As String
Dim Prjname As String
Dim prjdesc As String
Dim prjmaketime As String
Dim prjedittime As String
Dim PrjPassword As String
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.09 추가 //eco 파일 불러올때 ADMIN 제거 'Prj.UserAuthType = "ADMIN" OrElse
Select Case Prj.SFType
Case "00" '//기본버젼
PrjUIVersion = STB(Br.ReadBytes(10))
PrjLGVersino = STB(Br.ReadBytes(10))
Select Case PrjLGVersino
Case "2009123100", "2010030700", "2010031400"
PrjLGVersino = StartVersion
End Select
Select Case PrjUIVersion
Case "2009123100", "2010030700", "2010031400"
PrjUIVersion = StartVersion
PrjUIVersion = StartVersion
End Select
Prjname = STB(Br.ReadBytes(100))
prjdesc = STB(Br.ReadBytes(256))
prjmaketime = STB(Br.ReadBytes(19))
prjedittime = STB(Br.ReadBytes(19))
' MsgBox(Br.BaseStream.Position)
Dim DS1Len As Int64 = Br.ReadInt64
If DS1Len = 0 Then
DS1Len = FS.Length - Br.BaseStream.Position - 2
End If
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1Len, MsgBoxStyle.Information, Hex(DS1Len))
Dim DS1() As Byte = Nothing
Try
DS1 = Br.ReadBytes(CInt(DS1Len))
Catch ex As Exception
Prj.IsError = True
MsgBox("파일이 손상되었습니다(Read Data Array)." & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "Ds1 byteRead Error")
End Try
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1.Length, MsgBoxStyle.Information, DS1Len)
If Not PrjIsError Then
Dim Ms As New IO.MemoryStream(DS1)
Try
Ms.Position = 0
Dim tempds As New DS()
tempds.ReadXml(Ms)
DSImport.Clear()
DSImport.Merge(tempds) ' DSET1.ReadXml(Ms)
DSImport.AcceptChanges()
Ms.Close()
tempds.Dispose()
Catch ex As Exception
Prj.IsError = True
MsgBox("파일이 손상되었습니다(Read DataSet)" & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "DSImport Open Error")
End Try
End If
Case "01" '//기본버젼(+암호
PrjUIVersion = STB(Br.ReadBytes(10))
PrjLGVersino = STB(Br.ReadBytes(10))
Select Case PrjLGVersino
Case "2009123100", "2010030700", "2010031400"
PrjLGVersino = StartVersion
End Select
Select Case PrjUIVersion
Case "2009123100", "2010030700", "2010031400"
PrjUIVersion = StartVersion
End Select
Prjname = STB(Br.ReadBytes(100))
prjdesc = STB(Br.ReadBytes(256))
prjmaketime = STB(Br.ReadBytes(19))
prjedittime = STB(Br.ReadBytes(19))
PrjPassword = STB(Br.ReadBytes(8)) '//암호에 8바이트할당한다. 즉 8개의문자가가능 한글은 불가로한다
' MsgBox(Br.BaseStream.Position)
'//DS1 데이터초기화 및 오픈
DSImport.Clear() : DSImport.AcceptChanges()
Dim DS1Len As Int64 = Br.ReadInt64
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1Len, MsgBoxStyle.Information, Hex(DS1Len))
Dim DS1() As Byte = Br.ReadBytes(CInt(DS1Len))
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1.Length, MsgBoxStyle.Information, DS1Len)
Dim Ms As New IO.MemoryStream(DS1)
Try
Dim tempds As New DS()
tempds.ReadXml(Ms)
DSImport.Clear()
DSImport.Merge(tempds) ' DSET1.ReadXml(Ms)
DSImport.AcceptChanges()
Ms.Close()
tempds.Dispose()
Catch ex As Exception
MsgBox("파일이 손상되었습니다." & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "Ds1 Open Error")
End Try
PrjIsError = False
Case Else
MsgBox("파일을 불러올 수 없습니다1", MsgBoxStyle.Critical, "불러오기실패")
PrjIsError = True
End Select
Else
Select Case Prj.SFType
Case "10" '//일반공개버전
SyncServer = True ' 2011.06.15 추가 공개버전은 자동적으로 공용코드와 기상코드를 동기화
PrjUIVersion = STB(Br.ReadBytes(10))
PrjLGVersino = STB(Br.ReadBytes(10))
Select Case PrjLGVersino
Case "2009123100", "2010030700", "2010031400"
PrjLGVersino = StartVersion
End Select
Select Case PrjUIVersion
Case "2009123100", "2010030700", "2010031400"
PrjUIVersion = StartVersion
PrjUIVersion = StartVersion
End Select
Prjname = STB(Br.ReadBytes(100))
prjdesc = STB(Br.ReadBytes(256))
prjmaketime = STB(Br.ReadBytes(19))
prjedittime = STB(Br.ReadBytes(19))
' MsgBox(Br.BaseStream.Position)
'//DS1 데이터초기화 및 오픈
DSImport.Clear() : DSImport.AcceptChanges()
Dim DS1Len As Int64 = Br.ReadInt64
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1Len, MsgBoxStyle.Information, Hex(DS1Len))
Dim DS1() As Byte = Br.ReadBytes(CInt(DS1Len))
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1.Length, MsgBoxStyle.Information, DS1Len)
Dim Ms As New IO.MemoryStream(DS1)
Try
Dim tempds As New DS()
tempds.ReadXml(Ms)
DSImport.Clear()
DSImport.Merge(tempds) ' DSET1.ReadXml(Ms)
DSImport.AcceptChanges()
Ms.Close()
tempds.Dispose()
Catch ex As Exception
MsgBox("파일이 손상되었습니다." & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "Ds1 Open Error")
End Try
PrjIsError = False
Case Else
MsgBox("파일을 불러올 수 없습니다2", MsgBoxStyle.Critical, "불러오기실패")
PrjIsError = True
End Select
End If
Br.Close()
FS.Close()
pLog.Add(String.Format("Project Name={0},Desc={1},Version={2}", Prj.Name, Prj.Desc, Prj.UIVersion))
If Not Prj.IsError Then
PrjOpened = True
DSET1.tbl_importdata.Clear()
If DSImport.tbl_Desc.Rows.Count < 1 Then
MsgBox("해당 파일에 건물개요가 없습니다", MsgBoxStyle.Critical, "불러오기실패")
Return False
End If
If DSET1.tbl_Desc.Rows.Count < 1 Then
MsgBox("현재 파일에 건물개요가 없습니다", MsgBoxStyle.Critical, "불러오기실패")
Return False
End If
Dim drdesc As DS.tbl_DescRow = DSImport.tbl_Desc.Rows(0)
Dim drdesc_current As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
Pub.Importsameaddress = drdesc.buildaddr.Trim() = drdesc_current.buildaddr.Trim()
For Each dr As DS.tbl_exportdataRow In DSImport.tbl_exportdata
Dim newdr As DS.tbl_importdataRow = DSET1.tbl_importdata.Newtbl_importdataRow()
newdr.mon = dr.mon
newdr.외부전기도입량 = dr.외부전기생산량
DSET1.tbl_importdata.Addtbl_importdataRow(newdr)
Next
DSET1.tbl_importdata.AcceptChanges()
If DSET1.tbl_importdata.Rows.Count < 1 Then
MsgBox("해당 파일에 외부출력 신재생이 없습니다.", MsgBoxStyle.Critical, "불러오기실패")
Return False
End If
importok = True
Return True
Else
pLog.Add("Open File Error", True)
Return False
End If
End Function
End Class

View File

@@ -87,6 +87,7 @@
Private Sub login()
Prj.Admin = False
Dim servertime As String = Format(Now, "yyyy-MM-dd HH:mm:ss")
Dim UseriNfo As ArinLogin.ArinLOgin.User_Info
If tb_id.Text.StartsWith("guest") Then
UseriNfo = New ArinLogin.ArinLOgin.User_Info()
@@ -99,6 +100,8 @@
Else
Work_msg("서버 응답을 기다리는중")
Dim L As New ArinLogin.ArinLOgin
servertime = L.Get_ServerTime()
pLog.Add(String.Format("Login Try ID = {0}", tb_id.Text))
UseriNfo = L.Check_user("eco_user", Me.tb_id.Text, Me.tb_pw.Text)
Work_msg("")
@@ -108,8 +111,11 @@
End If
End If
Dim authtype As String = UseriNfo.authtype
If authtype.StartsWith("BOTH_C_") Then authtype = "BOTH"
Select Case UseriNfo.authtype
Select Case authtype
Case "IP"
If Me.tb_id.Text.ToLower() <> "guest" AndAlso Not Me.tb_id.Text.ToLower().StartsWith("user") Then
If Prj.CUrIP.ToUpper <> UseriNfo.authip.ToUpper AndAlso UseriNfo.authip <> "0.0.0.0" Then
@@ -164,15 +170,30 @@
pLog.Add(String.Format("Login OK ID={0}", Me.tb_id.Text))
Prj.LoginTime = Format(Now, "yyyy-MM-dd HH:mi:ss")
Prj.LoginTime = servertime '/ Format(Now, "yyyy-MM-dd HH:mi:ss")
Prj.UserId = Me.tb_id.Text
Prj.UserPass = Me.tb_pw.Text
If Me.tb_id.Text.ToLower() = "guest" Then
Prj.UserAuthType = "BOTH0"
Prj.UserAuthType_Real = "BOTH0"
ElseIf Me.tb_id.Text.ToLower().StartsWith("user") Then
Prj.UserAuthType = "BOTH"
Prj.UserAuthType_Real = "BOTH"
Else
Prj.UserAuthType = UseriNfo.authtype
If Prj.UserAuthType.StartsWith("BOTH_C_") Then
Prj.UserAuthType = "BOTH"
'//server time
Dim stime As String = Prj.LoginTime.Substring(0, 7).Replace("-", "").Trim()
Dim ctime As String = UseriNfo.authtype.Substring(7).Trim()
If String.Compare(ctime, stime) < 0 Then
MsgBox("사용기간이 경과되어 로그인이 불가합니다", MsgBoxStyle.Critical, "확인")
Return
End If
End If
Prj.UserAuthType_Real = UseriNfo.authtype
End If
Save_SEtting()

View File

@@ -27,6 +27,7 @@ Partial Class frm_batch
Me.btcalc = New System.Windows.Forms.Button()
Me.prb1 = New System.Windows.Forms.ProgressBar()
Me.chkMyoun = New System.Windows.Forms.CheckBox()
Me.Button1 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'tbPath
@@ -48,7 +49,7 @@ Partial Class frm_batch
'
'btcalc
'
Me.btcalc.Location = New System.Drawing.Point(12, 83)
Me.btcalc.Location = New System.Drawing.Point(12, 57)
Me.btcalc.Name = "btcalc"
Me.btcalc.Size = New System.Drawing.Size(726, 39)
Me.btcalc.TabIndex = 2
@@ -58,7 +59,7 @@ Partial Class frm_batch
'prb1
'
Me.prb1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.prb1.Location = New System.Drawing.Point(0, 146)
Me.prb1.Location = New System.Drawing.Point(0, 154)
Me.prb1.Name = "prb1"
Me.prb1.Size = New System.Drawing.Size(750, 25)
Me.prb1.TabIndex = 4
@@ -66,18 +67,28 @@ Partial Class frm_batch
'chkMyoun
'
Me.chkMyoun.AutoSize = True
Me.chkMyoun.Location = New System.Drawing.Point(449, 12)
Me.chkMyoun.Location = New System.Drawing.Point(427, 24)
Me.chkMyoun.Name = "chkMyoun"
Me.chkMyoun.Size = New System.Drawing.Size(88, 16)
Me.chkMyoun.TabIndex = 5
Me.chkMyoun.Text = "입력면 추출"
Me.chkMyoun.UseVisualStyleBackColor = True
'
'Button1
'
Me.Button1.Location = New System.Drawing.Point(12, 101)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(726, 39)
Me.Button1.TabIndex = 6
Me.Button1.Text = "히트펌프비율계산"
Me.Button1.UseVisualStyleBackColor = True
'
'frm_batch
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 12.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(750, 171)
Me.ClientSize = New System.Drawing.Size(750, 179)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.chkMyoun)
Me.Controls.Add(Me.prb1)
Me.Controls.Add(Me.btcalc)
@@ -94,4 +105,5 @@ Partial Class frm_batch
Friend WithEvents prb1 As System.Windows.Forms.ProgressBar
Public WithEvents tbPath As System.Windows.Forms.TextBox
Public WithEvents chkMyoun As System.Windows.Forms.CheckBox
Friend WithEvents Button1 As System.Windows.Forms.Button
End Class

View File

@@ -1,5 +1,6 @@
Public Class frm_batch
Public heatpumpcalc As Boolean = False
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles btPath.Click
Dim fd As New FolderBrowserDialog()
If fd.ShowDialog() = Windows.Forms.DialogResult.OK Then
@@ -26,7 +27,7 @@
Return
End If
heatpumpcalc = False
DialogResult = Windows.Forms.DialogResult.OK
@@ -35,4 +36,27 @@
Private Sub frm_Macro_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click_1(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'//calc
Dim di As New System.IO.DirectoryInfo(tbPath.Text)
If di.Exists = False Then
MsgBox("no folder")
Return
End If
Dim files1() As System.IO.FileInfo
Dim files2() As System.IO.FileInfo
files1 = di.GetFiles("*.tpl", IO.SearchOption.TopDirectoryOnly)
files2 = di.GetFiles("*.tplx", IO.SearchOption.TopDirectoryOnly)
If files1.Length < 1 AndAlso files2.Length < 1 Then
MsgBox("no file")
Return
End If
heatpumpcalc = True
DialogResult = Windows.Forms.DialogResult.OK
End Sub
End Class

View File

@@ -26,8 +26,6 @@ Partial Class Frm_NaengBang
Dim Label215 As System.Windows.Forms.Label
Dim Label216 As System.Windows.Forms.Label
Dim Label1 As System.Windows.Forms.Label
Dim Label2 As System.Windows.Forms.Label
Dim Label3 As System.Windows.Forms.Label
Dim Label4 As System.Windows.Forms.Label
Dim Label5 As System.Windows.Forms.Label
Dim Label6 As System.Windows.Forms.Label
@@ -40,8 +38,10 @@ Partial Class Frm_NaengBang
Dim Label13 As System.Windows.Forms.Label
Dim Label14 As System.Windows.Forms.Label
Dim Label15 As System.Windows.Forms.Label
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Frm_NaengBang))
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Frm_NaengBang))
Me.Label3 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label()
Me.GroupBox18 = New System.Windows.Forms.GroupBox()
Me.Label17 = New System.Windows.Forms.Label()
Me.cmb_신재생 = New Eco2Ar.MyCmb()
@@ -80,6 +80,8 @@ Partial Class Frm_NaengBang
Me.PictureBox5 = New System.Windows.Forms.PictureBox()
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
Me.dv = New CEnergy.arindv()
Me.sortkey = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.bn = New System.Windows.Forms.BindingNavigator(Me.components)
Me.lbl_count = New System.Windows.Forms.ToolStripLabel()
Me.bt_add = New System.Windows.Forms.ToolStripButton()
@@ -93,13 +95,9 @@ Partial Class Frm_NaengBang
Me.chk_개별기기적용 = New System.Windows.Forms.CheckBox()
Me.Label16 = New System.Windows.Forms.Label()
Me.PictureBox4 = New System.Windows.Forms.PictureBox()
Me.sortkey = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Label215 = New System.Windows.Forms.Label()
Label216 = New System.Windows.Forms.Label()
Label1 = New System.Windows.Forms.Label()
Label2 = New System.Windows.Forms.Label()
Label3 = New System.Windows.Forms.Label()
Label4 = New System.Windows.Forms.Label()
Label5 = New System.Windows.Forms.Label()
Label6 = New System.Windows.Forms.Label()
@@ -165,27 +163,16 @@ Partial Class Frm_NaengBang
Label1.TabIndex = 0
Label1.Text = "냉동기 방식:"
'
'Label2
'
Label2.AutoSize = True
Label2.BackColor = System.Drawing.Color.FromArgb(CType(CType(219, Byte), Integer), CType(CType(221, Byte), Integer), CType(CType(223, Byte), Integer))
Label2.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Label2.Location = New System.Drawing.Point(8, 57)
Label2.Name = "Label2"
Label2.Size = New System.Drawing.Size(130, 12)
Label2.TabIndex = 2
Label2.Text = "냉동기 총 용량[kW]:"
'
'Label3
'
Label3.AutoSize = True
Label3.BackColor = System.Drawing.Color.FromArgb(CType(CType(219, Byte), Integer), CType(CType(221, Byte), Integer), CType(CType(223, Byte), Integer))
Label3.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Label3.Location = New System.Drawing.Point(8, 83)
Label3.Name = "Label3"
Label3.Size = New System.Drawing.Size(217, 12)
Label3.TabIndex = 4
Label3.Text = "정격냉열성능지수; 열성능비(COP):"
Me.Label3.AutoSize = True
Me.Label3.BackColor = System.Drawing.Color.FromArgb(CType(CType(219, Byte), Integer), CType(CType(221, Byte), Integer), CType(CType(223, Byte), Integer))
Me.Label3.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Me.Label3.Location = New System.Drawing.Point(8, 83)
Me.Label3.Name = "Label3"
Me.Label3.Size = New System.Drawing.Size(217, 12)
Me.Label3.TabIndex = 4
Me.Label3.Text = "정격냉열성능지수; 열성능비(COP):"
'
'Label4
'
@@ -319,6 +306,18 @@ Partial Class Frm_NaengBang
Label15.TabIndex = 165
Label15.Text = "0. 열생산 연결방식"
'
'Label2
'
Me.Label2.AutoSize = True
Me.Label2.BackColor = System.Drawing.Color.FromArgb(CType(CType(219, Byte), Integer), CType(CType(221, Byte), Integer), CType(CType(223, Byte), Integer))
Me.Label2.Font = New System.Drawing.Font("돋움", 9.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label2.ForeColor = System.Drawing.Color.Blue
Me.Label2.Location = New System.Drawing.Point(8, 57)
Me.Label2.Name = "Label2"
Me.Label2.Size = New System.Drawing.Size(130, 12)
Me.Label2.TabIndex = 2
Me.Label2.Text = "냉동기 총 용량[kW]:"
'
'GroupBox18
'
Me.GroupBox18.BackColor = System.Drawing.Color.White
@@ -404,9 +403,9 @@ Partial Class Frm_NaengBang
Me.GroupBox11.Controls.Add(Me.Label9)
Me.GroupBox11.Controls.Add(Label1)
Me.GroupBox11.Controls.Add(Me.열성능비NTb)
Me.GroupBox11.Controls.Add(Label2)
Me.GroupBox11.Controls.Add(Me.Label2)
Me.GroupBox11.Controls.Add(Me.냉동기용량NTb)
Me.GroupBox11.Controls.Add(Label3)
Me.GroupBox11.Controls.Add(Me.Label3)
Me.GroupBox11.Controls.Add(Me.냉동기방식ComboBox)
Me.GroupBox11.Controls.Add(Me.PictureBox1)
Me.GroupBox11.Location = New System.Drawing.Point(6, 50)
@@ -778,6 +777,24 @@ Partial Class Frm_NaengBang
Me.dv.Size = New System.Drawing.Size(185, 532)
Me.dv.TabIndex = 0
'
'sortkey
'
Me.sortkey.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.sortkey.DataPropertyName = "sortkey"
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter
Me.sortkey.DefaultCellStyle = DataGridViewCellStyle1
Me.sortkey.HeaderText = ""
Me.sortkey.Name = "sortkey"
Me.sortkey.Width = 30
'
'DataGridViewTextBoxColumn1
'
Me.DataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
Me.DataGridViewTextBoxColumn1.DataPropertyName = "설명"
Me.DataGridViewTextBoxColumn1.HeaderText = "설명"
Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
Me.DataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic
'
'bn
'
Me.bn.AddNewItem = Nothing
@@ -904,24 +921,6 @@ Partial Class Frm_NaengBang
Me.PictureBox4.TabIndex = 167
Me.PictureBox4.TabStop = False
'
'sortkey
'
Me.sortkey.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.sortkey.DataPropertyName = "sortkey"
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter
Me.sortkey.DefaultCellStyle = DataGridViewCellStyle1
Me.sortkey.HeaderText = ""
Me.sortkey.Name = "sortkey"
Me.sortkey.Width = 30
'
'DataGridViewTextBoxColumn1
'
Me.DataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
Me.DataGridViewTextBoxColumn1.DataPropertyName = "설명"
Me.DataGridViewTextBoxColumn1.HeaderText = "설명"
Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
Me.DataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic
'
'Frm_NaengBang
'
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
@@ -1014,4 +1013,6 @@ Partial Class Frm_NaengBang
Friend WithEvents lb_code As System.Windows.Forms.ToolStripLabel
Friend WithEvents sortkey As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents DataGridViewTextBoxColumn1 As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents Label2 As System.Windows.Forms.Label
Friend WithEvents Label3 As System.Windows.Forms.Label
End Class

View File

@@ -126,12 +126,6 @@
<metadata name="Label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>

View File

@@ -821,4 +821,91 @@ Public Class Frm_NaengBang
MsgBox("개별기기와 헤더가 모두 체크되었습니다. 둘 중 하나만 체크하시기 바랍니다.", MsgBoxStyle.Information, "확인")
End If
End Sub
Private Sub Label2_Click(sender As System.Object, e As System.EventArgs) Handles Label2.Click
If DSET1.tbl_Desc.Rows.Count < 1 Then
MsgboxE("건물개요가 없습니다")
Return
End If
Dim drdesc As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
Dim 주거형태 As String = drdesc.isjugo
If 주거형태 <> "2" Then
'MsgBox("주거용건축물만 사용 가능 합니다")
Return
End If
'//zone list
Dim drv As DataRowView = Me.bs.Current
If drv Is Nothing Then Return
Dim DR() As DS.tbl_zoneRow = DSET1.tbl_zone.Select("열생산냉방생산기기='" & drv("code").ToString & "'") '//2010.12.02 수정
If DR.Length < 1 Then
MsgBox("연결된 존이 없습니다")
Return
End If
Dim 전용면적 As Decimal = 0
For Each drz As DS.tbl_zoneRow In DR
If 전용면적 = 0 Then
전용면적 = drz.면적
Else
If 전용면적 <> drz.면적 Then
MsgBox("동일하지 않는 면적이 있습니다")
Return
End If
End If
Next
Dim newvalue As Decimal = Math.Round(0.1801 * 전용면적, 3)
If MsgBox("전용면적(" + 전용면적.ToString() + ") * 0.1801 = " + newvalue.ToString() + vbCrLf + _
"냉방효율 : 2.894" + vbCrLf + _
"압축식, 실내공조시스템, 멀티분리시스템, on/off제어", MsgBoxStyle.YesNo, "") = MsgBoxResult.Yes Then
열성능비NTb.Text = "2.894"
냉동기용량NTb.Text = newvalue 'Math.Round(0.1801 * 전용면적, 3)
냉동기방식ComboBox.Text = "압축식"
냉동기종류ComboBox.Text = "실내공조시스템"
냉동기설비시스템ComboBox.Text = "멀티분리시스템"
제어방식ComboBox.Text = "on/off제어"
'압축식/실내공조시스템
'실내기 및 제어방식
'멀티분리시스템/ON‧OFF제어
End If
End Sub
Private Sub Frm_NaengBang_Shown(sender As Object, e As System.EventArgs) Handles Me.Shown
If DSET1.tbl_Desc.Rows.Count < 1 Then
'MsgboxE("건물개요가 없습니다")
Return
End If
Dim dr As DS.tbl_DescRow = DSET1.tbl_Desc.Rows(0)
Dim 주거형태 As String = dr.isjugo
If 주거형태 <> "2" Then
Me.Label2.ForeColor = SystemColors.ControlDarkDark
Me.Label2.Font = Me.Font
' Me.Label3.ForeColor = SystemColors.ControlDarkDark
' Me.Label3.Font = Me.Font
'Else
Me.Label2.ForeColor = Color.Blue
Me.Label2.Font = New Font(Me.Font.Name, Me.Font.Size, FontStyle.Underline)
'Me.Label3.ForeColor = Color.Blue
'Me.Label3.Font = New Font(Me.Font.Name, Me.Font.Size, FontStyle.Underline)
End If
End Sub
Private Sub Label3_Click(sender As System.Object, e As System.EventArgs) Handles Label3.Click
End Sub
End Class

View File

@@ -75,6 +75,7 @@ Partial Class Frm_New
Dim Label2 As System.Windows.Forms.Label
Dim Label46 As System.Windows.Forms.Label
Dim Label47 As System.Windows.Forms.Label
Dim Label48 As System.Windows.Forms.Label
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Me.TableLayoutPanel1 = New System.Windows.Forms.TableLayoutPanel()
Me.NTb1 = New Eco2Ar.MyTb()
@@ -82,6 +83,8 @@ Partial Class Frm_New
Me.Panel6 = New System.Windows.Forms.Panel()
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
Me.dv = New CEnergy.arindv()
Me.sortkey = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.bs = New System.Windows.Forms.BindingSource(Me.components)
Me.DS = New Eco2Ar.DS()
Me.bn = New System.Windows.Forms.BindingNavigator(Me.components)
@@ -128,6 +131,7 @@ Partial Class Frm_New
Me.tb_모듈효율 = New Eco2Ar.MyTb()
Me.tb_모듈면적 = New Eco2Ar.MyTb()
Me.열병합Panel = New System.Windows.Forms.Panel()
Me.MyTb9 = New Eco2Ar.MyTb()
Me.chk_개별기기적용 = New System.Windows.Forms.CheckBox()
Me.tb_열생산능력 = New Eco2Ar.MyTb()
Me.tb_열생산효율 = New Eco2Ar.MyTb()
@@ -158,8 +162,6 @@ Partial Class Frm_New
Me.Label164 = New System.Windows.Forms.Label()
Me.cmb_가동연료 = New Eco2Ar.MyCmb()
Me.NTb3 = New Eco2Ar.MyTb()
Me.sortkey = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Label33 = New System.Windows.Forms.Label()
Label25 = New System.Windows.Forms.Label()
Label26 = New System.Windows.Forms.Label()
@@ -213,6 +215,7 @@ Partial Class Frm_New
Label2 = New System.Windows.Forms.Label()
Label46 = New System.Windows.Forms.Label()
Label47 = New System.Windows.Forms.Label()
Label48 = New System.Windows.Forms.Label()
Me.TableLayoutPanel1.SuspendLayout()
Me.Panel6.SuspendLayout()
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -512,17 +515,17 @@ Partial Class Frm_New
'
Label459.AutoSize = True
Label459.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Label459.Location = New System.Drawing.Point(10, 50)
Label459.Location = New System.Drawing.Point(4, 50)
Label459.Name = "Label459"
Label459.Size = New System.Drawing.Size(106, 12)
Label459.Size = New System.Drawing.Size(101, 12)
Label459.TabIndex = 74
Label459.Text = "열생산 효율[%]:"
Label459.Text = "열생산효율[%]:"
'
'Label457
'
Label457.AutoSize = True
Label457.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Label457.Location = New System.Drawing.Point(10, 73)
Label457.Location = New System.Drawing.Point(4, 73)
Label457.Name = "Label457"
Label457.Size = New System.Drawing.Size(93, 12)
Label457.TabIndex = 75
@@ -548,11 +551,11 @@ Partial Class Frm_New
'
Label458.AutoSize = True
Label458.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Label458.Location = New System.Drawing.Point(10, 28)
Label458.Location = New System.Drawing.Point(4, 28)
Label458.Name = "Label458"
Label458.Size = New System.Drawing.Size(112, 12)
Label458.Size = New System.Drawing.Size(107, 12)
Label458.TabIndex = 73
Label458.Text = "열생산 능력[kW]:"
Label458.Text = "열생산능력[kW]:"
'
'Label35
'
@@ -764,6 +767,16 @@ Partial Class Frm_New
Label47.TabIndex = 158
Label47.Text = "35도:"
'
'Label48
'
Label48.AutoSize = True
Label48.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Label48.Location = New System.Drawing.Point(168, 50)
Label48.Name = "Label48"
Label48.Size = New System.Drawing.Size(109, 12)
Label48.TabIndex = 174
Label48.Text = "외부공급비율[%]"
'
'TableLayoutPanel1
'
Me.TableLayoutPanel1.AutoScroll = True
@@ -873,6 +886,24 @@ Partial Class Frm_New
Me.dv.Size = New System.Drawing.Size(210, 535)
Me.dv.TabIndex = 0
'
'sortkey
'
Me.sortkey.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.sortkey.DataPropertyName = "sortkey"
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter
Me.sortkey.DefaultCellStyle = DataGridViewCellStyle1
Me.sortkey.HeaderText = ""
Me.sortkey.Name = "sortkey"
Me.sortkey.Width = 30
'
'DataGridViewTextBoxColumn1
'
Me.DataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
Me.DataGridViewTextBoxColumn1.DataPropertyName = "설명"
Me.DataGridViewTextBoxColumn1.HeaderText = "설명"
Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
Me.DataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic
'
'bs
'
Me.bs.DataMember = "tbl_new"
@@ -1393,6 +1424,8 @@ Partial Class Frm_New
'
Me.열병합Panel.BackColor = System.Drawing.Color.FromArgb(CType(CType(243, Byte), Integer), CType(CType(244, Byte), Integer), CType(CType(246, Byte), Integer))
Me.열병합Panel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
Me.열병합Panel.Controls.Add(Label48)
Me.열병합Panel.Controls.Add(Me.MyTb9)
Me.열병합Panel.Controls.Add(Me.chk_개별기기적용)
Me.열병합Panel.Controls.Add(Label5)
Me.열병합Panel.Controls.Add(Label459)
@@ -1408,12 +1441,23 @@ Partial Class Frm_New
Me.열병합Panel.Size = New System.Drawing.Size(279, 96)
Me.열병합Panel.TabIndex = 145
'
'MyTb9
'
Me.MyTb9.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.bs, "외부공급비율", True))
Me.MyTb9.Location = New System.Drawing.Point(194, 70)
Me.MyTb9.Name = "MyTb9"
Me.MyTb9.NectControl = Nothing
Me.MyTb9.Size = New System.Drawing.Size(55, 21)
Me.MyTb9.TabIndex = 173
Me.MyTb9.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
Me.MyTb9.TextFormat = Eco2Ar.MyTb.ETFormat.Normal
'
'chk_개별기기적용
'
Me.chk_개별기기적용.AutoSize = True
Me.chk_개별기기적용.DataBindings.Add(New System.Windows.Forms.Binding("Checked", Me.bs, "열병합신재생여부", True))
Me.chk_개별기기적용.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Me.chk_개별기기적용.Location = New System.Drawing.Point(150, 4)
Me.chk_개별기기적용.Location = New System.Drawing.Point(162, 5)
Me.chk_개별기기적용.Name = "chk_개별기기적용"
Me.chk_개별기기적용.Size = New System.Drawing.Size(120, 16)
Me.chk_개별기기적용.TabIndex = 172
@@ -1424,10 +1468,10 @@ Partial Class Frm_New
'tb_열생산능력
'
Me.tb_열생산능력.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.bs, "열생산능력", True))
Me.tb_열생산능력.Location = New System.Drawing.Point(165, 25)
Me.tb_열생산능력.Location = New System.Drawing.Point(108, 25)
Me.tb_열생산능력.Name = "tb_열생산능력"
Me.tb_열생산능력.NectControl = Nothing
Me.tb_열생산능력.Size = New System.Drawing.Size(94, 21)
Me.tb_열생산능력.Size = New System.Drawing.Size(60, 21)
Me.tb_열생산능력.TabIndex = 13
Me.tb_열생산능력.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
Me.tb_열생산능력.TextFormat = Eco2Ar.MyTb.ETFormat.Normal
@@ -1435,10 +1479,10 @@ Partial Class Frm_New
'tb_열생산효율
'
Me.tb_열생산효율.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.bs, "열생산효율", True))
Me.tb_열생산효율.Location = New System.Drawing.Point(165, 47)
Me.tb_열생산효율.Location = New System.Drawing.Point(108, 47)
Me.tb_열생산효율.Name = "tb_열생산효율"
Me.tb_열생산효율.NectControl = Nothing
Me.tb_열생산효율.Size = New System.Drawing.Size(94, 21)
Me.tb_열생산효율.Size = New System.Drawing.Size(60, 21)
Me.tb_열생산효율.TabIndex = 14
Me.tb_열생산효율.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
Me.tb_열생산효율.TextFormat = Eco2Ar.MyTb.ETFormat.Normal
@@ -1446,10 +1490,10 @@ Partial Class Frm_New
'tb_발전효율
'
Me.tb_발전효율.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.bs, "발전효율", True))
Me.tb_발전효율.Location = New System.Drawing.Point(165, 70)
Me.tb_발전효율.Location = New System.Drawing.Point(108, 70)
Me.tb_발전효율.Name = "tb_발전효율"
Me.tb_발전효율.NectControl = Nothing
Me.tb_발전효율.Size = New System.Drawing.Size(94, 21)
Me.tb_발전효율.Size = New System.Drawing.Size(60, 21)
Me.tb_발전효율.TabIndex = 15
Me.tb_발전효율.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
Me.tb_발전효율.TextFormat = Eco2Ar.MyTb.ETFormat.Normal
@@ -1702,7 +1746,7 @@ Partial Class Frm_New
Me.기기종류ComboBox.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.bs, "기기종류", True))
Me.기기종류ComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.기기종류ComboBox.FormattingEnabled = True
Me.기기종류ComboBox.Items.AddRange(New Object() {"(없음)", "태양열", "태양광", "지열", "열병합", "풍력", "수열"})
Me.기기종류ComboBox.Items.AddRange(New Object() {"(없음)", "태양열", "태양광", "지열", "열병합", "풍력", "수열", "외부신재생"})
Me.기기종류ComboBox.Location = New System.Drawing.Point(146, 10)
Me.기기종류ComboBox.Name = "기기종류ComboBox"
Me.기기종류ComboBox.NectControl = Nothing
@@ -1763,24 +1807,6 @@ Partial Class Frm_New
Me.NTb3.TabIndex = 59
Me.NTb3.TextFormat = Eco2Ar.MyTb.ETFormat.Normal
'
'sortkey
'
Me.sortkey.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.None
Me.sortkey.DataPropertyName = "sortkey"
DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter
Me.sortkey.DefaultCellStyle = DataGridViewCellStyle1
Me.sortkey.HeaderText = ""
Me.sortkey.Name = "sortkey"
Me.sortkey.Width = 30
'
'DataGridViewTextBoxColumn1
'
Me.DataGridViewTextBoxColumn1.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
Me.DataGridViewTextBoxColumn1.DataPropertyName = "설명"
Me.DataGridViewTextBoxColumn1.HeaderText = "설명"
Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1"
Me.DataGridViewTextBoxColumn1.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Programmatic
'
'Frm_New
'
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None
@@ -1912,4 +1938,5 @@ Partial Class Frm_New
Friend WithEvents CheckBox2 As System.Windows.Forms.CheckBox
Friend WithEvents sortkey As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents DataGridViewTextBoxColumn1 As System.Windows.Forms.DataGridViewTextBoxColumn
Friend WithEvents MyTb9 As Eco2Ar.MyTb
End Class

View File

@@ -276,6 +276,9 @@
<metadata name="Label47.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label48.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="sortkey.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@@ -936,4 +936,10 @@
End Sub
Private Sub chk_개별기기적용_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles chk_개별기기적용.CheckedChanged
MyTb9.Enabled = chk_개별기기적용.Checked
If chk_개별기기적용.Checked = False Then
MyTb9.Text = "0"
End If
End Sub
End Class

View File

@@ -207,6 +207,12 @@
Private Sub Binding_Zone()
Dim bs_cmb_profile As New BindingSource(DSET1, "tbl_profile")
bs_cmb_profile.Sort = "code"
If Prj.UserAuthType_Real.StartsWith("BOTH_C") = False Then
bs_cmb_profile.Filter = "code <> '9999'"
Else
bs_cmb_profile.Filter = ""
End If
cmb_profile.DataSource = bs_cmb_profile
cmb_profile.DisplayMember = "설명"
cmb_profile.ValueMember = "code"
@@ -968,28 +974,32 @@
Private Sub Show_면적존수합()
'//현재 존의 면적의 합(?)
Dim 면적합 As Decimal = 0
Dim 존수합 As Integer = 0
Dim 면적 As Decimal = 0
'Dim 면적합 As Decimal = 0
'Dim 존수합 As Integer = 0
'Dim 면적 As Decimal = 0
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
Dim 존수 As Integer = 0
If IsNumeric(dr존.입력존의수) Then
존수 = CInt(dr존.입력존의수)
Else
존수 = 1
End If
Dim As Tuple(Of Decimal, Int32) = Pub.면적존수합()
Dim 면적합 As Decimal = .Item1
Dim 존수합 As Int32 = .Item2
존수합 += 존수
If IsNumeric(dr존.면적) Then
면적 = dr존.면적 * 존수
Else
면적 = 0
End If
'For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
' Dim 존수 As Integer = 0
' If IsNumeric(dr존.입력존의수) Then
' 존수 = CInt(dr존.입력존의수)
' Else
' 존수 = 1
' End If
면적합 = 면적합 + 면적
' 존수합 += 존수
' If IsNumeric(dr존.면적) Then
' 면적 = dr존.면적 * 존수
' Else
' 면적 = 0
' End If
Next
' 면적합 = 면적합 + 면적
'Next
Me.lb_면적합.Text = Format(면적합, "##,###,###.#####").ToString
Me.lb_전체존수.Text = Format(존수합, "#,###,###").ToString
End Sub

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Label43.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label44.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label55.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label58.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label59.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label56.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label57.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label37.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label27.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label28.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label1.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label30.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label2.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label3.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label4.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label34.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label35.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label5.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label6.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label38.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="Label8.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>222, 17</value>
</metadata>
<metadata name="bs.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>222, 17</value>
</metadata>
<metadata name="DS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>370, 17</value>
</metadata>
<metadata name="DS.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>370, 17</value>
</metadata>
<metadata name="bn_all.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>286, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>40</value>
</metadata>
</root>

View File

@@ -0,0 +1,470 @@
Public Class Frm_custom_profile
Dim Init As Boolean = False
Dim SrcDrv As DataRowView
Public Sub New(_opentime)
' 이 호출은 디자이너에 필요합니다.
InitializeComponent()
OpenTime = _opentime
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오.
End Sub
#Region "data Base 변경여부및 적용방법"
'''변경된내용을적용한다.
Public Overrides Function AcceptChanged() As Boolean
bs.EndEdit()
Dim BaseDS As DataSet = CType(bs.DataSource, DataSet)
Dim BaseDT As DataTable = BaseDS.Tables(bs.DataMember)
BaseDT.AcceptChanges()
Return True
End Function
'''변경된내용이있다면 취소한다.
Public Overrides Function RejectChanged() As Boolean
Dim BaseDS As DataSet = CType(bs.DataSource, DataSet)
Dim BaseDT As DataTable = BaseDS.Tables(bs.DataMember)
BaseDT.RejectChanges()
Return True
End Function
'''데이터에변형이있었는가?
Public Overrides Function HasChanged() As Boolean
bs.EndEdit()
Dim BaseDS As DataSet = CType(bs.DataSource, DataSet)
Dim BaseDT As DataTable = BaseDS.Tables(bs.DataMember)
Dim ChangeDT As DataTable = BaseDT.GetChanges
If Not ChangeDT Is Nothing Then Return True
Return False
End Function
'''기본데이터테이블을 반환합니다.
Public Function DT() As DataTable
Dim BaseDS As DataSet = CType(bs.DataSource, DataSet)
Return BaseDS.Tables(bs.DataMember)
End Function
#End Region
Private Sub AddNewDataRow_Zone_Changed2(ByVal sender As Object, ByVal e As System.Data.DataColumnChangeEventArgs)
Dim oval As String = e.Row(e.Column.ColumnName).ToString
Dim nval As String = e.ProposedValue.ToString
If oval <> nval Then
Dim newdr As DS2.historyRow = DSHistory.history.NewhistoryRow
newdr.time = Now.ToString("yyyy-MM-dd HH:mm:ss")
newdr.tablename = "tbl_profile"
newdr.ovalue = oval
newdr.nvalue = nval
newdr.column = e.Column.ColumnName
newdr.code = e.Row("code").ToString
DSHistory.history.AddhistoryRow(newdr)
DSHistory.history.AcceptChanges()
End If
End Sub
Private Sub MdiMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Show()
My.Application.DoEvents()
'Work_msg_timer("잠시만 기다려주세요")
'CEnergy.ARINCLASS.SaveLoad_FrmSetting(Me)
'//공유데이터셋에 연결한다.
Me.bs.DataSource = DSET1
If DSET1.tbl_profile.Select("code='9999'").Length = 0 Then
Dim newdr As DS.tbl_profileRow = DSET1.tbl_profile.Newtbl_profileRow()
newdr.code = "9999"
newdr.설명 = "커스텀프로필"
Dim code2 As DS.tbl_profileRow = DSET1.tbl_profile.Select("code='0002'")(0)
For Each col As DataColumn In DSET1.tbl_profile.Columns
If col.ColumnName.ToLower() = "code" Then Continue For
If col.ColumnName.ToLower() = "설명" Then Continue For
newdr(col.ColumnName) = code2(col.ColumnName)
Next
newdr.EndEdit()
DSET1.tbl_profile.Addtbl_profileRow(newdr)
End If
AddHandler DSET1.tbl_profile.TableNewRow, AddressOf AddNewDataRow_Profile
AddHandler DSET1.tbl_profile.ColumnChanging, AddressOf AddNewDataRow_Zone_Changed2
'//모든컨트롤의 cTrl_enter 를 추가합니다
BindProperty(CType(Me.SplitContainer1.Panel2.Controls, Control.ControlCollection))
Me.Init = True
Try
Dim lastpos As Integer = CEnergy.ARINCLASS.Read_LastPos_Frm(Me)
If lastpos < Me.bs.Count Then
Me.bs.Position = lastpos 'CEnergy.ARINCLASS.Read_LastPos_Frm(Me)
ElseIf Me.bs.Count > 0 Then
Me.bs.Position = 0
End If
Catch ex As Exception
Me.bs.MoveFirst()
End Try
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH2" Then '//2010.11.22 추가
Me.SplitContainer1.Panel2.Enabled = True
Me.bn_all.Visible = True
ElseIf Prj.UserAuthType_Real.StartsWith("BOTH_C") Then ' = "ADMIN" OrElse Prj.UserAuthType = "BOTH2" Then
Me.SplitContainer1.Panel2.Enabled = True
Me.bn_all.Visible = True
Else
Me.SplitContainer1.Panel2.Enabled = False
Me.bn_all.Visible = False
End If
If System.Diagnostics.Debugger.IsAttached Then
Me.bn_all.Visible = True
Me.SplitContainer1.Panel2.Enabled = True
MsgboxI("debug mode panel2 open")
End If
AddDebug("▲ Form Load")
End Sub
#Region "Control_Enter"
Private Sub BindProperty(ByVal Ctl As Control.ControlCollection)
For Each C As Control In Ctl
If C.Controls.Count > 1 Then
BindProperty(C.Controls)
Else
If C.GetType.ToString.ToUpper.IndexOf("MYTB") <> -1 Then
AddHandler CType(C, MyTb).KeyDown, AddressOf TextBOx_KeyDown
ElseIf C.GetType.ToString.ToUpper.IndexOf("MYCMB") <> -1 Then
AddHandler CType(C, MyCmb).KeyDown, AddressOf Cmd_KeyDown
End If
End If
Next
End Sub
Private Sub TextBOx_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Enter AndAlso e.Control Then
Try
Dim Field As String = (CType(sender, MyTb).DataBindings.Item("text").BindingMemberInfo.BindingField)
For Each Dr As DataRow In DT.Select(Me.bs.Filter, "")
Dr(Field) = CType(sender, MyTb).Text
Next
Work_msg_timer("모든값이 변경되었습니다", 25)
Catch ex As Exception
End Try
End If
End Sub
Private Sub Cmd_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Enter AndAlso e.Control Then
Try
Dim Field As String = (CType(sender, MyCmb).DataBindings.Item("selectedvalue").BindingMemberInfo.BindingField)
For Each Dr As DataRow In DT.Select(Me.bs.Filter, "")
Dr(Field) = CType(sender, MyCmb).SelectedValue
Next
Work_msg_timer("모든값이 변경되었습니다", 25)
Catch ex As Exception
End Try
End If
End Sub
#End Region
#Region "기본"
Private Sub MdiMain_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
CEnergy.ARINCLASS.SaveLoad_FrmSetting(Me, Me.bs.Position, True)
End Sub
Private Sub AddNewDataRow_Profile(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs)
e.Row.Item("code") = GetMaxCode(DSET1.tbl_profile)
End Sub
Private Function GetMaxCode(ByVal dt As DataTable) As String
Try
Dim Dr As DataRow = dt.Select("", "code desc")(0)
Return Format(CInt(Dr("code")) + 1, "0000")
Catch ex As Exception
Return "0001"
End Try
End Function
#Region "제어버튼"
Private Sub ToolStripButton48_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_add.Click
If Not EndEdit(Me.bs) Then Return
Me.bs.AddNew()
INitRow(Me.Controls)
MdiMain.RefreshMenuList(TreeTag)
End Sub
Private Sub ToolStripButton49_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_Del.Click
Dbbase.DelCrow(Me.bs, True)
MdiMain.RefreshMenuList(TreeTag)
End Sub
Private Sub ToolStripButton51_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
If Not EndEdit(Me.bs) Then Return
Data_Cancel(DSET1.tbl_profile, Nothing)
MdiMain.RefreshMenuList(TreeTag)
End Sub
#End Region
Private Sub Frm_V20091231_Zone_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel
If e.Delta < 0 Then
If Me.bs.Position < Me.bs.Count Then Me.bs.Position += 1
Else
If Me.bs.Position > 0 Then Me.bs.Position -= 1
End If
Me.Validate()
My.Application.DoEvents()
End Sub
#End Region
Private Sub 사용시작시간NTb_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_t1.GotFocus
CType(sender, TextBox).SelectAll()
End Sub
Private Sub tb_t1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_t1.KeyDown
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.08 추가
If e.KeyCode = Keys.V And e.Control Then
e.Handled = True
e.SuppressKeyPress = True
'//클립보드붙여넣기
Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf))
If CB.GetUpperBound(0) <> 59 Then
MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인")
Return
End If
For ii As Integer = 0 To CType(CB(0).Split(CChar(vbTab)), String()).GetUpperBound(0)
If Me.bs.Count = 0 OrElse ii > 0 Then Me.bt_add.PerformClick() '//한줄추가
Dim Cnt As Short = 0
For i As Integer = 0 To CB.GetUpperBound(0)
Select Case i
Case 0
CType(Me.bs.Current, DataRowView)("설명") = CB(i).Split(CChar(vbTab))(ii).Trim
Case 0 + 1
Me.tb_일급탕요구량.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 1 + 1 '//공란
Case 2 + 1 '//면적
Me.tb_t1.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 3 + 1
Me.tb_t2.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 4 + 1
Me.tb_t3.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 5 + 1
Me.tb_t4.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 6 + 1
Me.tb_t5.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 7 + 1
'Me.tb_t6.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 8 + 1
' Me.tb_t7.Text = CB(i).Trim
Case 9
' Me.tb_t8.Text = CB(i).Trim
Case 10
' Me.tb_t9.Text = CB(i).Trim
Case 11
' Me.tb_t10.Text = CB(i).Trim
Case 12
' Me.tb_공냉난시간.Text = CB(i).Trim
Case 13 + 1
Case 14 + 1
Case 15 '//요구조도
' Me.tb_t12.Text = CB(i).Trim
Case 16
'Me.tb_t13.Text = CB(i).Trim
Case 17
'Me.tb_t14.Text = CB(i).Trim
Case 18
'Me.tb_t15.Text = CB(i).Trim
Case 19
'Me.tb_t16.Text = CB(i).Trim
Case 20 '//부분운전계수
'Me.tb_t17.Text = CB(i).Trim
Case 21
Case 22
Case 23 + 1 '//최소도입외기량
Me.tb_t18.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 24
' Me.tb_t19.Text = CB(i).Trim
Case 25
Case 26
Case 27 + 1
Me.tb_t20.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 28 + 1 '//작업보조기기
Me.tb_t21.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 29
Case 30
Case 31 + 1 '//실내공기온도
'Me.TabControl11.SelectedIndex = 1
'Me.tB_t22.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 32 + 1
'Me.tb_t23.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 33 + 1
'Me.tb_t24.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 34 + 1
'Me.tb_t25.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 35 + 1
' Me.tb_t26.Text = CB(i).Trim
Case 36 '//최소설정온도 냉방
'Me.tb_t27.Text = CB(i).Trim
Case 37
Case 38
Case 39
' Me.tb_t28.Text = CB(i).Trim
Case 40
'Me.tb_t29.Text = CB(i).Trim
Case 41
' Me.tb_t30.Text = CB(i).Trim
Case 42
' Me.tb_t31.Text = CB(i).Trim
Case 43
' Me.tb_t32.Text = CB(i).Trim
Case 44
Case 45
Case 46
Case 40 + 7 + 1
Me.tb_tm1.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 41 + 7 + 1
Me.tb_tm2.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 42 + 7 + 1
Me.tb_tm3.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 43 + 7 + 1
Me.tb_tm4.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 44 + 7 + 1
Me.tb_tm5.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 45 + 7 + 1
Me.tb_tm6.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 46 + 7 + 1
Me.tb_tm7.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 47 + 7 + 1
Me.tb_tm8.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 48 + 7 + 1
Me.tb_tm9.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 49 + 7 + 1
Me.tB_tm10.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 50 + 7 + 1
Me.tb_tm11.Text = CB(i).Split(CChar(vbTab))(ii).Trim
Case 51 + 7 + 1
Me.tb_tm12.Text = CB(i).Split(CChar(vbTab))(ii).Trim
End Select
Next
If bs.Position < bs.Count Then bs.Position += 1 '//위치이동
Next
Me.bs.EndEdit()
End If
End If
End Sub
Private Sub bt_Del_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles bt_Del.MouseDown
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.08 추가
If e.Button = Windows.Forms.MouseButtons.Right Then
If MsgBox("전체삭제를 하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then
Dim dR() As DataRow = DSET1.tbl_profile.Select(Me.bs.Filter, "")
For i As Integer = dR.GetUpperBound(0) To 0 Step -1
dR(i).Delete()
Next
DSET1.tbl_profile.AcceptChanges()
End If
End If
End If
End Sub
Private Sub dv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dv.MouseUp
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.08 추가
If e.Button = Windows.Forms.MouseButtons.Right Then
Dim Frm_FilterA As New Frm_Filter
Frm_FilterA.ColumTitle = getColCaption(Me.DT)
Frm_FilterA.ColumList = getColName(Me.DT)
Frm_FilterA.Colorlist = ""
If Frm_FilterA.ShowDialog <> Windows.Forms.DialogResult.OK Then Return '//창떳을떄 확인아ㅣ고 취소눌르면 다음을 수행하지않는다는거에요.
Dim Filter As String = Frm_FilterA.tb_filter.Text '//값은 아까 그 텍박에 잇구요.
Try
Me.bs.Filter = Filter
Catch ex As Exception
Me.bs.Filter = ""
End Try
End If
End If
End Sub
Private Sub dv_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles dv.KeyDown
'//여기보시면 alt+d 누르면 한줄을 경고없이(falsE)삭제하도록 햇어요.. 사실원래 밋alt +d 인데.. ㅎㅎ 잘못해서 ctrl 됫다는
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.08 추가
Select Case e.KeyCode
Case Keys.D
If e.Alt Then
Dbbase.DelCrow(Me.bs, False)
End If
Case Keys.C
If e.Control Then
Me.SrcDrv = Me.bs.Current
If Me.SrcDrv Is Nothing Then
MsgBox("저장할 ROW가 없습니다", MsgBoxStyle.Information, "확인")
Return
End If
' My.Computer.Clipboard.SetData("ZDATA", Drv)
End If
Case Keys.V
If e.Control Then
If Me.SrcDrv Is Nothing Then Return
Me.bt_add.PerformClick() '//신규추가
Dim NewDrv As DataRowView = Me.bs.Current
For Each C As DataColumn In Me.DT.Columns
If C.ColumnName.ToUpper = "CODE" Then
ElseIf C.ColumnName.ToUpper = "설명" Then
NewDrv(C.ColumnName) = SrcDrv(C.ColumnName) & "#1"
Else
NewDrv(C.ColumnName) = SrcDrv(C.ColumnName)
End If
Next
Me.bs.EndEdit()
bs.MoveLast()
End If
End Select
End If
End Sub
Private Sub Frm_V20091231_Profile_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
Select Case e.KeyCode
Case Keys.F12
ShowHistory()
End Select
End Sub
Private Sub ShowHistory()
Dim drv As DataRowView = Me.bs.Current
Dim f As New Frm_History("tbl_profile", drv("code").ToString)
If f.ShowDialog = DialogResult.OK Then
drv(f.colname) = f.val
Me.Validate()
Me.bs.EndEdit()
My.Application.DoEvents()
MsgBox("값이 변경되었습니다", MsgBoxStyle.Information, "확인")
End If
End Sub
End Class

View File

@@ -488,7 +488,7 @@ Partial Class Frm_V20091231_Myoun
'lbl_pos
'
Me.lbl_pos.Name = "lbl_pos"
Me.lbl_pos.Size = New System.Drawing.Size(12, 12)
Me.lbl_pos.Size = New System.Drawing.Size(12, 32)
Me.lbl_pos.Text = "0"
'
'Arindv1

View File

@@ -50,6 +50,7 @@ Partial Class Frm_V20091231_Profile
Dim Label38 As System.Windows.Forms.Label
Dim Label8 As System.Windows.Forms.Label
Me.dv = New CEnergy.arindv()
Me.설명DataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.bs = New System.Windows.Forms.BindingSource(Me.components)
Me.DS = New Eco2Ar.DS()
Me.bn_all = New System.Windows.Forms.BindingNavigator(Me.components)
@@ -111,7 +112,6 @@ Partial Class Frm_V20091231_Profile
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
Me.PictureBox3 = New System.Windows.Forms.PictureBox()
Me.NTb2 = New Eco2Ar.MyTb()
Me.설명DataGridViewTextBoxColumn = New System.Windows.Forms.DataGridViewTextBoxColumn()
Label43 = New System.Windows.Forms.Label()
Label44 = New System.Windows.Forms.Label()
Label55 = New System.Windows.Forms.Label()
@@ -462,6 +462,13 @@ Partial Class Frm_V20091231_Profile
Me.dv.Size = New System.Drawing.Size(210, 489)
Me.dv.TabIndex = 0
'
'설명DataGridViewTextBoxColumn
'
Me.설명DataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
Me.설명DataGridViewTextBoxColumn.DataPropertyName = "설명"
Me.설명DataGridViewTextBoxColumn.HeaderText = "설명"
Me.설명DataGridViewTextBoxColumn.Name = "설명DataGridViewTextBoxColumn"
'
'bs
'
Me.bs.DataMember = "tbl_profile"
@@ -1190,13 +1197,6 @@ Partial Class Frm_V20091231_Profile
Me.NTb2.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
Me.NTb2.TextFormat = Eco2Ar.MyTb.ETFormat.Normal
'
'설명DataGridViewTextBoxColumn
'
Me.설명DataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill
Me.설명DataGridViewTextBoxColumn.DataPropertyName = "설명"
Me.설명DataGridViewTextBoxColumn.HeaderText = "설명"
Me.설명DataGridViewTextBoxColumn.Name = "설명DataGridViewTextBoxColumn"
'
'Frm_V20091231_Profile
'
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None

View File

@@ -598,7 +598,7 @@
'//에너지생산량
Sum = (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 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).환기전력)
난방 = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
냉방 = Sum * Result1.일차E소요량(0).냉방전력
조명 = Sum * Result1.일차E소요량(0).조명전력
@@ -748,7 +748,7 @@
Dim 에너지자립률_offsite As Double = 0
Sum = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
Sum_offsite = (Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).풍력전력생산량_offsite) / (Result1.일차E소요량(0).난방전력 + Result1.일차E소요량(0).냉방전력 + Result1.일차E소요량(0).급탕전력 + Result1.일차E소요량(0).조명전력 + Result1.일차E소요량(0).환기전력)
Sum_offsite = (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).환기전력)
난방 = Sum * Result1.일차E소요량(0).난방전력 '//아마게산이안도잇으니 여기값들이 0이잇을거에요.
냉방 = Sum * Result1.일차E소요량(0).냉방전력
조명 = Sum * Result1.일차E소요량(0).조명전력

File diff suppressed because it is too large Load Diff

View File

@@ -44,6 +44,10 @@
Dim param As New Microsoft.Reporting.WinForms.ReportParameter("ISJUGO", 주거형태)
params.Add(param)
Dim bcustomstr As String = "0"
If Prj.UserAuthType_Real.StartsWith("BOTH_C") Then bcustomstr = "1"
Dim param0 As New Microsoft.Reporting.WinForms.ReportParameter("bcustomprofile", bcustomstr)
params.Add(param0)
Dim param1 As New Microsoft.Reporting.WinForms.ReportParameter("자립률", 에너지자립률.ToString("N2"))
params.Add(param1)
@@ -124,7 +128,7 @@
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 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).냉방전력
@@ -185,8 +189,8 @@
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적
Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite
Dim 전기 As Decimal = 난방면적 + 냉방면적 + 조명면적 + 급탕면적 + 환기면적 '+ Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).연료전지전력생산량_offsite
Dim 전기_offsite As Decimal = 난방면적_offsite + 냉방면적_offsite + 조명면적_offsite + 급탕면적_offsite + 환기면적_offsite ' + Result1.생산E(0).태양광전력생산량_offsite + Result1.생산E(0).연료전지전력생산량_offsite
'//열병합신재생에너지추가 130831 arin
@@ -205,7 +209,7 @@
Dr2 = Me.DSR.Graph_ReqUse.NewGraph_ReqUseRow
Dr2.Gubun = "1차소요량"
Dr2.type = "신재생에너지"
Dr2.Req = 신재생에너지
Dr2.Req = 신재생에너지 + 신재생에너지_offsite
Me.DSR.Graph_ReqUse.Rows.Add(Dr2)
난방에너지 = Math.Round(Result1.일차E소요량(0).난방면적, 1)
@@ -257,16 +261,21 @@
에너지자립률 = (Math.Round(단위면적당신재생1차에너지합, 1) / 단위면적당1차에너소비량합) * 100
Dim scale As Decimal = 0
If 에너지자립률 >= 20 Then
If Pub.Importsameaddress Then
scale = 1.0
ElseIf 에너지자립률 >= 15 Then
scale = 0.9
ElseIf 에너지자립률 >= 10 Then
scale = 0.8
Else
scale = 0.7
If 에너지자립률 >= 20 Then
scale = 1.0
ElseIf 에너지자립률 >= 15 Then
scale = 0.9
ElseIf 에너지자립률 >= 10 Then
scale = 0.8
Else
scale = 0.7
End If
End If
에너지자립률offsite = (Math.Round(단위면적당신재생1차에너지합offsite * scale, 1) / 단위면적당1차에너소비량합) * 100
에너지자립률 += 에너지자립률offsite
@@ -279,7 +288,7 @@
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 As Decimal = (Result1.생산E(0).태양광전력생산량 + Result1.생산E(0).풍력전력생산량 + Result1.생산E(0).신재생열병합전력생산량 + 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).냉방전력
@@ -327,7 +336,7 @@
'//열병합신재생에너지추가 130831 arin
신재생에너지 = Math.Round(-1 * (Result1.생산E(0).면적당생산량태양열 + Result1.생산E(0).신재생면적당열생산량 + Result1.생산E(0).면적당생산량지열 + Result1.생산E(0).면적당생산량수열) - 면적, 1)
신재생에너지 = 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 = "신재생에너지"

View File

@@ -1601,6 +1601,44 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
</Border>
</Style>
</Rectangle>
<Textbox Name="Textbox14">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>단위면적당 1차에너지생산량(대지외):</Value>
<Style>
<FontFamily>맑은 고딕</FontFamily>
<FontSize>8pt</FontSize>
<Color>Red</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>19.92847cm</Top>
<Left>11.21595cm</Left>
<Height>0.44125cm</Height>
<Width>5.042cm</Width>
<ZIndex>5</ZIndex>
<Visibility>
<Hidden>=iif(Parameters!bcustomprofile.Value = "1",false,true)</Hidden>
</Visibility>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>20.56022cm</Height>
<Style />
@@ -1642,6 +1680,12 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="bcustomprofile">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<Width>19.3417cm</Width>
<Page>
@@ -1655,6 +1699,11 @@ iif(Fields!type.Value="조명에너지","#765e00","#475e76")))))</Color>
<Style />
</Page>
<Language>ko-KR</Language>
<Variables>
<Variable Name="bcustomprofile">
<Value>0</Value>
</Variable>
</Variables>
<ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>
<rd:ReportID>5ec02dd0-720b-446d-9ac5-21bd03e4b31f</rd:ReportID>
<rd:ReportUnitType>Cm</rd:ReportUnitType>

View File

@@ -82,6 +82,7 @@ Partial Class MdiMain
Me.FielCheckerToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ToolStripMenuItem2 = New System.Windows.Forms.ToolStripSeparator()
Me.일괄계산ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.BatchUpdateProfileToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.WindowsMenu = New System.Windows.Forms.ToolStripMenuItem()
Me.NewWindowToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.CascadeToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -89,6 +90,7 @@ Partial Class MdiMain
Me.TileHorizontalToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.CloseAllToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ArrangeIconsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.btcustomprofile = New System.Windows.Forms.ToolStripMenuItem()
Me.TreeView1 = New System.Windows.Forms.TreeView()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.그룹추가ToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
@@ -176,7 +178,7 @@ Partial Class MdiMain
'MenuStrip1
'
Me.MenuStrip1.Font = New System.Drawing.Font("돋움", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportToolStripMenuItem, Me.건물개요ToolStripMenuItem, Me.환경설정ToolStripMenuItem, Me.bt_계산결과, Me.결과그래프ToolStripMenuItem, Me.정보ToolStripMenuItem1, Me.bt_etc, Me.WindowsMenu})
Me.MenuStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ReportToolStripMenuItem, Me.건물개요ToolStripMenuItem, Me.환경설정ToolStripMenuItem, Me.bt_계산결과, Me.결과그래프ToolStripMenuItem, Me.정보ToolStripMenuItem1, Me.bt_etc, Me.WindowsMenu, Me.btcustomprofile})
Me.MenuStrip1.Location = New System.Drawing.Point(0, 0)
Me.MenuStrip1.MdiWindowListItem = Me.WindowsMenu
Me.MenuStrip1.Name = "MenuStrip1"
@@ -401,7 +403,7 @@ Partial Class MdiMain
'bt_etc
'
Me.bt_etc.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right
Me.bt_etc.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem8, Me.ToolStripMenuItem10, Me.ToolStripMenuItem11, Me.ToolStripSeparator5, Me.ToolStripMenuItem12, Me.ToolStripSeparator6, Me.ToolStripMenuItem13, Me.설정프로필ToolStripMenuItem, Me.ExportToolStripMenuItem, Me.ToolStripMenuItem1, Me.파일로부터기상데이터가져오기ToolStripMenuItem, Me.SaveXmlRawToolStripMenuItem, Me.FielCheckerToolStripMenuItem, Me.ToolStripMenuItem2, Me.일괄계산ToolStripMenuItem})
Me.bt_etc.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ToolStripMenuItem8, Me.ToolStripMenuItem10, Me.ToolStripMenuItem11, Me.ToolStripSeparator5, Me.ToolStripMenuItem12, Me.ToolStripSeparator6, Me.ToolStripMenuItem13, Me.설정프로필ToolStripMenuItem, Me.ExportToolStripMenuItem, Me.ToolStripMenuItem1, Me.파일로부터기상데이터가져오기ToolStripMenuItem, Me.SaveXmlRawToolStripMenuItem, Me.FielCheckerToolStripMenuItem, Me.ToolStripMenuItem2, Me.일괄계산ToolStripMenuItem, Me.BatchUpdateProfileToolStripMenuItem})
Me.bt_etc.Image = CType(resources.GetObject("bt_etc.Image"), System.Drawing.Image)
Me.bt_etc.Name = "bt_etc"
Me.bt_etc.Size = New System.Drawing.Size(57, 20)
@@ -494,6 +496,12 @@ Partial Class MdiMain
Me.일괄계산ToolStripMenuItem.Size = New System.Drawing.Size(262, 22)
Me.일괄계산ToolStripMenuItem.Text = "일괄 계산"
'
'BatchUpdateProfileToolStripMenuItem
'
Me.BatchUpdateProfileToolStripMenuItem.Name = "BatchUpdateProfileToolStripMenuItem"
Me.BatchUpdateProfileToolStripMenuItem.Size = New System.Drawing.Size(262, 22)
Me.BatchUpdateProfileToolStripMenuItem.Text = "batch update ( profile )"
'
'WindowsMenu
'
Me.WindowsMenu.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.NewWindowToolStripMenuItem, Me.CascadeToolStripMenuItem, Me.TileVerticalToolStripMenuItem, Me.TileHorizontalToolStripMenuItem, Me.CloseAllToolStripMenuItem, Me.ArrangeIconsToolStripMenuItem})
@@ -539,6 +547,13 @@ Partial Class MdiMain
Me.ArrangeIconsToolStripMenuItem.Size = New System.Drawing.Size(198, 22)
Me.ArrangeIconsToolStripMenuItem.Text = "아이콘 정렬(&A)"
'
'btcustomprofile
'
Me.btcustomprofile.Name = "btcustomprofile"
Me.btcustomprofile.Size = New System.Drawing.Size(89, 20)
Me.btcustomprofile.Text = "커스텀프로필"
Me.btcustomprofile.Visible = False
'
'TreeView1
'
Me.TreeView1.ContextMenuStrip = Me.ContextMenuStrip1
@@ -804,5 +819,7 @@ Partial Class MdiMain
Friend WithEvents 일괄계산ToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents prb1 As System.Windows.Forms.ToolStripProgressBar
Friend WithEvents btMacro As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents BatchUpdateProfileToolStripMenuItem As System.Windows.Forms.ToolStripMenuItem
Friend WithEvents btcustomprofile As System.Windows.Forms.ToolStripMenuItem
End Class

View File

@@ -331,72 +331,72 @@
<data name="ToolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="ToolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -574,86 +574,86 @@
<data name="ToolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="ToolStripButton7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@@ -46,7 +46,7 @@ Public Class MdiMain
quitmsg = "현재 열려있는 파일을 저장 후 종료하시겠습니까?"
Dim dlg As DialogResult = MsgBox(quitmsg, MsgBoxStyle.Question Or MsgBoxStyle.YesNoCancel, "확인")
If dlg = Windows.Forms.DialogResult.Yes Then
Me.Save_File(Prj.FileName)
Me.Save_File(DSET1, DSETR1, Prj.FileName)
'//저장
ElseIf dlg = Windows.Forms.DialogResult.No Then
'//quit
@@ -101,7 +101,10 @@ Public Class MdiMain
Dim L As New ArinLogin.ArinLOgin
Dim VersionInfo As ArinLogin.ArinLOgin.sVersionInfo = Nothing
Select Case Prj.UserAuthType
Dim authtype As String = Prj.UserAuthType
'If authtype.StartsWith("BOTH_C_") Then authtype = "BOTH"
Select Case authtype
Case "ADMIN"
Me.bt_etc.Visible = True
bt_데이터관리.Visible = True
@@ -153,8 +156,20 @@ Public Class MdiMain
'bt_계산결과그래프q.Visible = False
bt_인증평가서.Visible = False
btImport.Visible = False
Case Else
bt_데이터관리.Visible = False
bt_계산결과그래프.Visible = False
Me.bt_etc.Visible = False
bt_설계개선그래프.Visible = False
bt_계산결과.Visible = False
bt_인증평가서.Visible = False
btImport.Visible = False
End Select
If Prj.UserAuthType_Real.StartsWith("BOTH_C_") Then
btcustomprofile.Visible = True
End If
Try
If Not Prj.UserId.ToLower().StartsWith("guest") AndAlso Not Prj.UserId.ToLower().StartsWith("user") Then
@@ -329,7 +344,7 @@ Public Class MdiMain
If Save_New() = False Then Return False '//취소를 누른경우 처리하지 않음
Else
Me.Save_File(Prj.FileName, False)
Me.Save_File(DSET1, DSETR1, Prj.FileName, False)
End If
@@ -865,6 +880,19 @@ Public Class MdiMain
Menu_건물개요()
'fix ; custom profile (9999 -> 0002)
If Prj.UserAuthType_Real.StartsWith("BOTH_C") = False Then
Dim bupdate As Boolean = False
For Each dr As DS.tbl_zoneRow In DSET1.tbl_zone
If dr.프로필 = "9999" Then
dr.프로필 = "0002"
dr.EndEdit()
bupdate = True
End If
Next
If bupdate Then DSET1.AcceptChanges()
End If
'/기상데이터버젼확인
'Try
' MyVersion = DSET1.tbl_Desc.Rows(0)("versionw").ToString
@@ -899,6 +927,15 @@ Public Class MdiMain
' End Try
'End If
'//remove profile data 0023~0027 241229
For Each dr As DS.tbl_profileRow In DSET1.tbl_profile
If dr.code >= "0023" AndAlso dr.code <= "0027" Then
dr.Delete()
End If
Next
DSET1.tbl_profile.AcceptChanges()
PrjChanged = False
Me.RefreshMenuList("")
@@ -1094,6 +1131,201 @@ Public Class MdiMain
End Sub
Dim batchfolder As String
Public Sub Open_File_and_update_profile(ByVal path As String)
'//지정한 폴더내의 모든 파일의 프로필을 업데이트한다.
'//기존선택된 트리노드를 제거한다.
Me.PreNode = Nothing
pLog.Add("=======================================")
pLog.Add(String.Format("folder = {0}", path))
'pLog.Add(String.Format("targetfile File = {0}", targetfile))
pLog.Add("=======================================", True)
Prj_test.IsError = False '//160509
Dim di As New System.IO.DirectoryInfo(path)
prb1.Value = 0
prb1.Maximum = di.GetFiles().Length
For Each File As System.IO.FileInfo In di.GetFiles()
If prb1.Value < prb1.Maximum Then prb1.Value += 1
If File.Extension.ToUpper() <> ".TPL" AndAlso File.Extension.ToUpper() <> ".TPLX" Then Continue For
If File.Name.ToUpper().EndsWith("_PROFILEUPDATE.TPL") OrElse File.Name.ToUpper().EndsWith("_PROFILEUPDATE.TPLX") Then Continue For
'//파일을 열어서 템플릿이름을 가져온다
pLog.Add(String.Format("open File = {0}", File.FullName))
Dim FI As New System.IO.FileInfo(File.FullName)
Dim Desbuf() As Byte = {}
Dim FS As System.IO.Stream
'///////////////////////////////////////////////////////////////////////////////////////////////////2011.03.16 입력파일 변조
If Not (Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1") Then '//2011.03.16 추가 //eco 파일 불러올때 ADMIN 제거 'Prj.UserAuthType = "ADMIN" OrElse
Dim Source() As Byte = My.Computer.FileSystem.ReadAllBytes(FI.FullName)
If Source.Length < 4 Then
Prj.IsError = True
MsgboxE("알수없거나 손상된 파일입니다" + vbCrLf + FI.FullName, True)
Return
End If
pLog.Add("암호화 해제")
Desbuf = DeCryptArea(Source, New Byte() {&HAC, &H29, &H55, &H42})
Else
Desbuf = System.IO.File.ReadAllBytes(FI.FullName)
' FS = New IO.FileStream(FileName, IO.FileMode.Open)
End If
If FI.Extension.ToLower().EndsWith("x") Then '//확장자가 x로끝나면 압축된 포맷
Dim datalen As Integer = BitConverter.ToInt32(Desbuf, 0)
Dim RealData(Desbuf.Length - 4 - 1) As Byte
Array.Copy(Desbuf, 4, RealData, 0, RealData.Length)
Dim DeCompress(datalen - 1) As Byte
Array.Clear(DeCompress, 0, DeCompress.Length)
Utility.MiniLZO.Decompress(RealData, DeCompress)
Array.Resize(Desbuf, DeCompress.Length)
Array.Clear(Desbuf, 0, Desbuf.Length)
Array.Copy(DeCompress, Desbuf, Desbuf.Length)
End If
FS = New IO.MemoryStream(Desbuf, True)
'///////////////////////////////////////////////////////////////////////////////////////////////////2011.03.16 입력파일 변조
Dim Br As New IO.BinaryReader(FS, System.Text.Encoding.Default)
Prj_test.FileName = File.FullName ' : Myini.Write("presetting", "filename", Prj.FileName)
Prj_test.Opened = False
'//세이브파일구조(2)
Prj_test.SFType = STB(Br.ReadBytes(2))
pLog.Add("File Type = " + Prj_test.SFType)
'im DSET1 As New DS()
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.09 추가 //eco 파일 불러올때 ADMIN 제거 'Prj.UserAuthType = "ADMIN" OrElse
Select Case Prj.SFType
Case "00" '//기본버젼
Prj_test.UIVersion = STB(Br.ReadBytes(10))
Prj_test.LGVersino = STB(Br.ReadBytes(10))
Select Case Prj_test.LGVersino
Case "2009123100", "2010030700", "2010031400"
Prj_test.LGVersino = StartVersion
End Select
Select Case Prj_test.UIVersion
Case "2009123100", "2010030700", "2010031400"
Prj_test.UIVersion = StartVersion
Prj_test.UIVersion = StartVersion
End Select
Prj_test.Name = STB(Br.ReadBytes(100))
Prj_test.Desc = STB(Br.ReadBytes(256))
Prj_test.MakeTime = STB(Br.ReadBytes(19))
Prj_test.EditTime = STB(Br.ReadBytes(19))
' MsgBox(Br.BaseStream.Position)
'//DS1 데이터초기화 및 오픈
DSET1_TEST.Clear() : DSET1_TEST.AcceptChanges()
Dim DS1Len As Int64 = Br.ReadInt64
If DS1Len = 0 Then
DS1Len = FS.Length - Br.BaseStream.Position - 2
End If
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1Len, MsgBoxStyle.Information, Hex(DS1Len))
Dim DS1() As Byte = Nothing
Try
DS1 = Br.ReadBytes(CInt(DS1Len))
Catch ex As Exception
Prj_test.IsError = True
MsgBox("파일이 손상되었습니다(Read Data Array)." & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "Ds1 byteRead Error")
End Try
'MsgBox("pos=" & Br.BaseStream.Position & vbCrLf & DS1.Length, MsgBoxStyle.Information, DS1Len)
If Not Prj_test.IsError Then
Dim Ms As New IO.MemoryStream(DS1)
Try
DSET1_TEST.ReadXml(Ms)
DSET1_TEST.AcceptChanges()
Ms.Close()
Catch ex As Exception
Prj_test.IsError = True
MsgBox("파일이 손상되었습니다(Read DataSet)" & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "Ds1_test Open Error")
End Try
If Prj_test.IsError Then
MsgBox("load error")
Else
'//에러가없는경우 다음진행
DSET1_TEST.AcceptChanges()
'remove old data
DSET1_TEST.tbl_profile.Clear()
DSET1_TEST.AcceptChanges()
'merge data
DSET1_TEST.tbl_profile.Merge(DSET1.tbl_profile)
DSET1_TEST.AcceptChanges()
'//save file
Dim newfile As String = File.FullName.Replace(File.Extension, "") + "_ProfileUpdate" + FI.Extension
Save_File(DSET1_TEST, DSETR1, newfile, False, False)
' MsgBox("(weather+profile) load ok")
'//DS1가 있다면 게속 한다
'DSETR1.Clear() : DSETR1.AcceptChanges()
'DS1Len = Br.ReadInt64
'DS1 = Br.ReadBytes(CInt(DS1Len))
'Ms = New IO.MemoryStream(DS1)
'Try
' DSETR1.ReadXml(Ms)
' DSETR1.AcceptChanges()
' Ms.Close()
'Catch ex As Exception
' MsgBox("기존 버전의 계산결과를 가져올 수 없습니다." & vbCrLf & ex.Message.ToString, MsgBoxStyle.Information, "Ds2 Open Error")
'End Try
Prj.IsError = False
pLog.Add(String.Format("batch update profile file={0}", newfile))
End If
End If
Case Else
MsgBox("파일을 불러올 수 없습니다1", MsgBoxStyle.Critical, "불러오기실패")
Prj.IsError = True
End Select
End If
Br.Close()
FS.Close()
pLog.Add(String.Format("batch update profile Name={0},Desc={1},Version={2}", Prj.Name, Prj.Desc, Prj.UIVersion))
Next
MsgboxI("update complete")
End Sub
Public Sub Open_File_Only_weather(ByVal FileName As String, Optional ByVal SyncServer As Boolean = False, Optional checkVersion As Boolean = True, Optional silent As Boolean = False, Optional isNew As Boolean = False)
@@ -1210,7 +1442,7 @@ Public Class MdiMain
DSET1_TEST.AcceptChanges()
'remove old data
DSET1.weather_cha.Clear()
DSET1.weather_group.Clear()
@@ -1961,10 +2193,10 @@ Public Class MdiMain
End Sub
Private Sub Save_File(ByVal FileName As String, Optional prompt As Boolean = True)
Private Sub Save_File(ByRef ds1 As DS, ByRef dsr1 As DSR, ByVal FileName As String, Optional prompt As Boolean = True, Optional updatemenulist As Boolean = True)
DSET1.AcceptChanges()
DSETR1.AcceptChanges()
ds1.AcceptChanges()
dsr1.AcceptChanges()
'//파일을 열어서 템플릿이름을 가져온다
Dim Fs As New IO.FileStream(FileName, IO.FileMode.Create)
@@ -2026,26 +2258,26 @@ Public Class MdiMain
'//1번쨰 데이터소스를 저장합니다.
Dim Pos1 As Int64 = Bw.BaseStream.Position
DSET1.WriteXml(Fs)
ds1.WriteXml(Fs)
Dim Pos1e As Int64 = Bw.BaseStream.Position
Dim Dse1Len As Int64 = Pos1e - Pos1 '//데이터셋의 길이
Bw.BaseStream.Position = Pos1 '//처음위치로이동
Bw.Write(Dse1Len) '//데이터셋길이저장
DSET1.WriteXml(Fs) '//데이터셋다시저장
ds1.WriteXml(Fs) '//데이터셋다시저장
'//데이터세 xml 임시저장
'Dim dsfile As String = My.Application.Info.DirectoryPath & "\dset1.xml"
'DSET1.WriteXml(dsfile)
'Dim dsfile As String = My.Application.Info.DirectoryPath & "\ds1.xml"
'ds1.WriteXml(dsfile)
'//2번쨰 데이터소스를 저장합니다.
If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.09 추가 eco 파일 저장할 때 admin 제거 Prj.UserAuthType = "ADMIN" OrElse
Dim Pos2 As Int64 = Bw.BaseStream.Position
DSETR1.WriteXml(Fs)
dsr1.WriteXml(Fs)
Dim Pos2e As Int64 = Bw.BaseStream.Position
Dim Dse2Len As Int64 = Pos2e - Pos2 '//데이터셋의 길이
Bw.BaseStream.Position = Pos2 '//처음위치로이동
Bw.Write(Dse2Len) '//데이터셋길이저장
DSETR1.WriteXml(Fs) '//데이터셋다시저장
dsr1.WriteXml(Fs) '//데이터셋다시저장
End If
ENDSTAT: '//오류발생시 강제종료를 위한 분기문
@@ -2088,7 +2320,7 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////저장파일 변조2011.03.16추가
If prompt Then MsgBox("파일이 저장되었습니다", MsgBoxStyle.Information, "확인")
Me.RefreshMenuList("")
If updatemenulist Then Me.RefreshMenuList("")
'Me.bt_desc.PerformClick()
@@ -2098,7 +2330,7 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
'Bw.Write(CStr(IIf(Prj.Desc = "", "프로젝트설명", Prj.Desc)))
''//템플릿 생성시간
'Bw.Write(CStr(Format(Now, "yyyy-MM-dd HH:mm:ss")))
'DSET1.WriteXml(Fs)
'ds1.WriteXml(Fs)
End Sub
#Region "Show_Menu"
@@ -2555,7 +2787,7 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
curf.Close()
End If
Me.Save_File(Prj.FileName)
Me.Save_File(DSET1, DSETR1, Prj.FileName)
If lastmenutag <> "" Then
Me.show_menu(lastmenutag)
@@ -3032,7 +3264,7 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
curf.Close()
End If
Me.Save_File(Prj.FileName)
Me.Save_File(DSET1, DSETR1, Prj.FileName)
If lastmenutag <> "" Then
Me.show_menu(lastmenutag)
@@ -3226,7 +3458,7 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
Dim f As New Frm_Upload(sd.FileName, 10, "")
f.ShowDialog()
If lbl_user.Text.ToLower = "[arin]" Then '//160327
If System.Diagnostics.Debugger.IsAttached OrElse lbl_user.Text.ToLower = "[arin]" Then '//160327
Shell("explorer " + Chr(&H22) + sd.FileName + Chr(&H22), AppWinStyle.NormalFocus)
End If
@@ -3539,6 +3771,10 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
If f.ShowDialog() = Windows.Forms.DialogResult.OK Then
If MsgBox("run?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") <> MsgBoxResult.Ok Then Return '//ok 안하면 빠져나가기
'//히트펌프임시계산 240106
Dim heatcalc As Boolean = f.heatpumpcalc
Dim path As String = f.tbPath.Text
Dim di As New System.IO.DirectoryInfo(path)
Dim files() As System.IO.FileInfo
@@ -3556,145 +3792,154 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
Dim ermsg As New System.Text.StringBuilder
Dim first As Boolean = True
'//리포트파일 생성
Dim reportorg As String = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "batchreport.xls")
Dim reportfile As String = System.IO.Path.Combine(path, "batchreport.xls")
System.IO.File.Copy(reportorg, reportfile, True)
If heatcalc Then
Dim 입력면추출 As Boolean = f.chkMyoun.Checked
'//리포트파일 생성
Dim reportfile As String = System.IO.Path.Combine(path, "batchreport_heat.tab")
Dim writecol As Integer = 10
For Each fitem As KeyValuePair(Of String, System.IO.FileInfo) In files2
Dim sb As New System.Text.StringBuilder
sb.AppendLine("file" + vbTab + "히트펌프용량_가스_난방" + vbTab + "히트펌프용량_전기_난방" + vbTab + "히트펌프용량_가스_냉방" + vbTab + "히트펌프용량_전기_냉방")
Dim fi As System.IO.FileInfo = fitem.Value
writecol += 1
If prb1.Value < prb1.Maximum Then prb1.Value += 1
Dim writecol As Integer = 10
For Each fitem As KeyValuePair(Of String, System.IO.FileInfo) In files2
Dim dataitem As New List(Of String)
dataitem.Add(fi.Name) '(0) = fi.Name
'//close file
Dim fi As System.IO.FileInfo = fitem.Value
writecol += 1
If prb1.Value < prb1.Maximum Then prb1.Value += 1
'//open file
Dim retopen As String = Open_File(fi.FullName, False, True, True)
Dim dataitem As New List(Of String)
dataitem.Add(fi.Name) '(0) = fi.Name
'//close file
'//calc
Dim ret As Boolean = False
Dim msg As String = String.Format("계산중({0}/{1}) 열번호={3}" + vbCrLf + "{2}" + vbCrLf, prb1.Value, prb1.Maximum, fi.Name, writecol)
If String.IsNullOrWhiteSpace(retopen) = False Then ret = func_calc(msg, True)
'//get message
'//open file
Dim retopen As String = Open_File(fi.FullName, False, True, True)
'//업로드 양식 데이터 생성
Dim fxls As New Frm_Upload(reportfile, writecol, fi.Name, True)
Dim drlt = fxls.ShowDialog()
If drlt = DialogResult.OK Then
ermsg.AppendLine("OK" + vbTab + fi.FullName)
dataitem.Add("OK")
Else
ermsg.AppendLine("NG" + vbTab + fi.FullName)
dataitem.Add("NG")
End If
'//히트펌프
Dim 히트펌프용량_가스_난방 As Decimal = 0
Dim 히트펌프용량_전기_난방 As Decimal = 0
Dim 히트펌프용량_가스_냉방 As Decimal = 0
Dim 히트펌프용량_전기_냉방 As Decimal = 0
'//입력면 추출
If 입력면추출 Then
'//엑셀내보내기기능 추가
Dim content As New System.Text.StringBuilder()
Dim newfile As String = fi.Directory.FullName + "\" + System.IO.Path.GetFileNameWithoutExtension(fi.FullName) + "_입력면.tab"
For Each drz As DS.tbl_zoneRow In DSET1.tbl_zone.Rows
If drz.code = "0" Then Continue For
content.Append(drz.설명)
For Each drm As DS.tbl_myounRow In DSET1.tbl_myoun.Select("존분류='" + drz.code + "'")
If drm.code = "0" Then Continue For
'입력존1, 입력면1_1, 건축부위방식1_1, 면적1_1,
'열관류율1_1, 방위1_1, 입력면1_2, 건축부위방식1_2, 면적1_2, 열관류율1_2, 방위1_2, 입력면1_3, 건축부위방식1_3, 면적1_3, 열관류율1_3, 방위1_3
Dim 열관류율 As String = drm.열관류율
If drm.열관류율2 <> "" AndAlso drm.열관류율2 <> "0" Then
Dim ykrows() As DS.tbl_ykRow = DSET1.tbl_yk.Select("code='" + drm.열관류율2 + "'")
If ykrows.Length = 1 Then
열관류율 = ykrows(0).열관류율
End If
End If
content.Append(vbTab + drm.설명 + vbTab + drm.건축부위방식 + vbTab + _
drm.건축부위면적 + vbTab + _
열관류율 + vbTab + drm.방위)
Next
content.AppendLine()
For Each dr As DS.tbl_nanbangkikiRow In DSET1.tbl_nanbangkiki
If dr.히트연료.EndsWith("가스") Then
히트펌프용량_가스_난방 += dr.히트난방용량
ElseIf dr.히트연료 = "전기" Then
히트펌프용량_전기_난방 += dr.히트난방용량
End If
Next
System.IO.File.WriteAllText(newfile, content.ToString(), System.Text.Encoding.Default)
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
sb.AppendLine(fi.Name + vbTab + 히트펌프용량_가스_난방.ToString("N1") + vbTab _
+ 히트펌프용량_전기_난방.ToString("N1") + vbTab _
+ 히트펌프용량_가스_냉방.ToString("N1") + vbTab _
+ 히트펌프용량_전기_냉방.ToString("N1"))
Dim msg As String = String.Format("계산중({0}/{1}) 열번호={3}" + vbCrLf + "{2}" + vbCrLf, prb1.Value, prb1.Maximum, fi.Name, writecol)
Next
System.IO.File.WriteAllText(reportfile, sb.ToString(), System.Text.Encoding.Default)
If System.Diagnostics.Debugger.IsAttached OrElse lbl_user.Text.ToLower = "[arin]" Then '//160327
Shell("explorer " + Chr(&H22) + reportfile + Chr(&H22), AppWinStyle.NormalFocus)
End If
Else
'//리포트파일 생성
Dim reportorg As String = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "batchreport.tab")
Dim reportfile As String = System.IO.Path.Combine(path, "batchreport.tab")
If System.IO.File.Exists(reportorg) Then
System.IO.File.Copy(reportorg, reportfile, True)
ElseIf System.IO.File.Exists(reportfile) Then
System.IO.File.Delete(reportfile)
End If
'report.Add(dataitem.ToArray())
Dim 입력면추출 As Boolean = f.chkMyoun.Checked
Dim writecol As Integer = 10
For Each fitem As KeyValuePair(Of String, System.IO.FileInfo) In files2
Dim fi As System.IO.FileInfo = fitem.Value
writecol += 1
If prb1.Value < prb1.Maximum Then prb1.Value += 1
Dim dataitem As New List(Of String)
dataitem.Add(fi.Name) '(0) = fi.Name
'//close file
'//open file
Dim retopen As String = Open_File(fi.FullName, False, True, True)
'//calc
Dim ret As Boolean = False
Dim msg As String = String.Format("계산중({0}/{1}) 열번호={3}" + vbCrLf + "{2}" + vbCrLf, prb1.Value, prb1.Maximum, fi.Name, writecol)
If String.IsNullOrWhiteSpace(retopen) = False Then ret = func_calc(msg, True)
'//get message
'//save to csv
'//업로드 양식 데이터 생성
Dim fxls As New Frm_Upload(reportfile, writecol, fi.Name, True)
Dim drlt = fxls.ShowDialog()
If drlt = DialogResult.OK Then
ermsg.AppendLine("OK" + vbTab + fi.FullName)
dataitem.Add("OK")
Else
ermsg.AppendLine("NG" + vbTab + fi.FullName)
dataitem.Add("NG")
End If
'//입력면 추출
If 입력면추출 Then
'//엑셀내보내기기능 추가
Dim content As New System.Text.StringBuilder()
Dim newfile As String = fi.Directory.FullName + "\" + System.IO.Path.GetFileNameWithoutExtension(fi.FullName) + "_입력면.tab"
For Each drz As DS.tbl_zoneRow In DSET1.tbl_zone.Rows
If drz.code = "0" Then Continue For
content.Append(drz.설명)
For Each drm As DS.tbl_myounRow In DSET1.tbl_myoun.Select("존분류='" + drz.code + "'")
If drm.code = "0" Then Continue For
'입력존1, 입력면1_1, 건축부위방식1_1, 면적1_1,
'열관류율1_1, 방위1_1, 입력면1_2, 건축부위방식1_2, 면적1_2, 열관류율1_2, 방위1_2, 입력면1_3, 건축부위방식1_3, 면적1_3, 열관류율1_3, 방위1_3
Dim 열관류율 As String = drm.열관류율
If drm.열관류율2 <> "" AndAlso drm.열관류율2 <> "0" Then
Dim ykrows() As DS.tbl_ykRow = DSET1.tbl_yk.Select("code='" + drm.열관류율2 + "'")
If ykrows.Length = 1 Then
열관류율 = ykrows(0).열관류율
End If
End If
'Application.DoEvents()
content.Append(vbTab + drm.설명 + vbTab + drm.건축부위방식 + vbTab + _
drm.건축부위면적 + vbTab + _
열관류율 + vbTab + drm.방위)
Next
content.AppendLine()
Next
System.IO.File.WriteAllText(newfile, content.ToString(), System.Text.Encoding.Default)
End If
Next
End If
Next
closemessagewindow()
'Dim reportbuffer As New System.Text.StringBuilder
'Dim maxlin As Integer = 0
'For Each item() As String In report
' 'reportbuffer.Append(vbTab)
' 'reportbuffer.Append(item(0)) '//filename
' If item.Length > maxlin Then
' maxlin = item.Length
' End If
'Next
'For r As Integer = 0 To maxlin - 1
' For Each item() As String In report
' reportbuffer.Append(vbTab)
' If r < item.Length Then
' reportbuffer.Append(item(r)) '//filename
' Else
' reportbuffer.Append("")
' End If
' Next
' reportbuffer.AppendLine()
'Next
'//save to csv
'//엑셀내보내기기능 추가
'Dim content As String = fi.Name
'If String.IsNullOrWhiteSpace(retopen) = True Then
' content += vbTab + "open fail"
'ElseIf ret = False Then
' content += vbTab + "fail"
'Else
' content += vbTab + Makemacrostring()
'End If
'content += vbCrLf
'If first = False Then
' System.IO.File.AppendAllText(savefile, content, System.Text.Encoding.Default)
'Else
' System.IO.File.WriteAllText(savefile, "파일" + vbTab + "오류" + vbTab + "구분" + vbTab + "신재생" + vbTab + "난방" + vbTab + "냉방" + vbTab + "급탕" + vbTab + "조명" + vbTab + "환기" + vbTab + "합계" + vbCrLf, System.Text.Encoding.Default)
' System.IO.File.AppendAllText(savefile, content, System.Text.Encoding.Default)
' first = False
'End If
'Dim rptfile As String = System.IO.Path.Combine(path, "report.tab")
'System.IO.File.WriteAllText(rptfile, reportbuffer.ToString(), System.Text.Encoding.Default)
Dim logfile As String = System.IO.Path.Combine(path, "log.txt")
System.IO.File.WriteAllText(logfile, ermsg.ToString(), System.Text.Encoding.Default)
@@ -3708,4 +3953,51 @@ ENDSTAT: '//오류발생시 강제종료를 위한 분기문
Dim f As New Frm_Macro
f.Show()
End Sub
Private Sub BatchUpdateProfileToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles BatchUpdateProfileToolStripMenuItem.Click
'//update profile
If Prj.LoginTime = "" Then
MsgBox("먼저 로그인을 하세요", MsgBoxStyle.Information, "확인")
Frm_Intro.Activate()
Frm_Intro.tb_id.Focus()
Return
End If
MsgBox("프로필을 일괄 변경할 파일이 있는 폴더를 선택하세요")
Dim fd As New FolderBrowserDialog
'Od.InitialDirectory = TemplateDir.FullName
fd.SelectedPath = batchfolder
If fd.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return
batchfolder = fd.SelectedPath
If Prj.FileName = "" Then
MsgBox(CLang.열린파일없음, MsgBoxStyle.Information, "확인")
Return
End If
'MsgBox("프로필 파일을 선택하세요")
'Dim od As New OpenFileDialog
'If od.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return
Open_File_and_update_profile(batchfolder)
End Sub
Private Sub btcustomprofile_Click(sender As System.Object, e As System.EventArgs) Handles btcustomprofile.Click
If Not Prj.Opened Then
Work_msg_timer(CLang.열린파일없음)
Return
End If
Dim f As New Frm_custom_profile(Now.Second.ToString() + "00" + Now.Millisecond.ToString())
f.ControlBox = True
f.ShowDialog()
End Sub
End Class

View File

@@ -24,6 +24,7 @@
Dim UserIp As String
Dim UserMac As String
Dim UserAuthType As String
Dim UserAuthType_Real As String
End Structure
Public pLog As ArinLog.ArinLog
@@ -54,6 +55,48 @@
Public EnDec As New ArinLogin.EnDec("tindevil.com")
Public DSHistory As New DS2
Public Importsameaddress As Boolean = False
Public Function 프로필급탕요구량(면적별범위 As Char) As Decimal
'Drow프로필.일일급탕요구량()
If 면적별범위 = "A"c Then
Return 2333.2
ElseIf 면적별범위 = "B"c Then
Return 3051.2
ElseIf 면적별범위 = "C"c Then
Return 4307.5
ElseIf 면적별범위 = "D"c Then
Return 5025.4
ElseIf 면적별범위 = "E"c Then
Return 5743.4
ElseIf 면적별범위 = "F"c Then
Return 6281.8
Else
Return 8794.5
End If
End Function
Public Function 면적별범위값(면적 As Decimal) As Char
Select Case 면적
Case Is > 165
Return "G"c
Case Is > 130
Return "F"c
Case Is > 100
Return "E"c
Case Is > 60
Return "D"c
Case Is > 40
Return "C"c
Case Is > 20
Return "B"c
Case Else
Return "A"c
End Select
End Function
Public Function CurrentUIVersion() As String
Dim uiverstr As String = My.Application.Info.Version.Minor.ToString("0000") + _
@@ -840,6 +883,36 @@
End Sub
Public Function 면적존수합() As Tuple(Of Decimal, Int32)
Dim 면적합 As Decimal = 0
Dim 존수합 As Integer = 0
Dim 면적 As Decimal = 0
For Each dr존 As DS.tbl_zoneRow In DSET1.tbl_zone.Select("code <> '0'")
Dim 존수 As Integer = 0
If IsNumeric(dr존.입력존의수) Then
존수 = CInt(dr존.입력존의수)
Else
존수 = 1
End If
존수합 += 존수
If IsNumeric(dr존.면적) Then
면적 = dr존.면적 * 존수
Else
면적 = 0
End If
면적합 = 면적합 + 면적
Next
Return New Tuple(Of Decimal, Int32)(면적합, 존수합)
End Function
''' <summary>
''' 모든입력면의 창,문의 면적비를 계산하여 반환한다(frm_myoun의 Display_info 함수에서 가져옴)
''' </summary>
@@ -898,11 +971,18 @@
열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
창열관류율합 += 열관 * 1 * TOSG(Dr입력면.건축부위면적) * 존수
'투과율합 += Dr입력면.투과율 * TOSG(Dr입력면.건축부위면적) * 존수
투과율합 += TOSG(Dryk(0).일사에너지투과율) * TOSG(Dr입력면.건축부위면적) * 존수
If Not Dryk Is Nothing Then
투과율합 += TOSG(Dryk(0).일사에너지투과율) * TOSG(Dr입력면.건축부위면적) * 존수
End If
Case "내부창"
열관류율합 += 열관 * 0.8 * TOSG(Dr입력면.건축부위면적) * 존수
창열관류율합 += 열관 * 0.8 * TOSG(Dr입력면.건축부위면적) * 존수
투과율합 += Dr입력면.투과율 * TOSG(Dr입력면.건축부위면적) * 존수
'투과율합 += Dr입력면.투과율 * TOSG(Dr입력면.건축부위면적) * 존수
If Not Dryk Is Nothing Then
투과율합 += TOSG(Dryk(0).일사에너지투과율) * TOSG(Dr입력면.건축부위면적) * 존수
End If
End Select
If Dryk Is Nothing Then
@@ -1192,7 +1272,7 @@
End If
End Function
Public Sub Read_CommonCode(Optional ByVal Version As String = "")
Work_msg("공용코드 확인중")
If Version = "" Then

View File

@@ -8,10 +8,10 @@ Imports System.Runtime.InteropServices
' 어셈블리 특성 값을 검토합니다.
<Assembly: AssemblyTitle("건물에너지평가프로그램(ECO2_2020V2)")>
<Assembly: AssemblyTitle("건물에너지평가프로그램(ECO2_2020V2)_test")>
<Assembly: AssemblyDescription("건물에너지평가프로그램(ECO2_2020V2)")>
<Assembly: AssemblyCompany("Arinware")>
<Assembly: AssemblyProduct("건물에너지평가프로그램(ECO2_2020V2)")>
<Assembly: AssemblyProduct("건물에너지평가프로그램(ECO2_2020V2)_test")>
<Assembly: AssemblyCopyright("Copyright (C) Arin 2009")>
<Assembly: AssemblyTrademark("ArinWare")>
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' 지정되도록 할 수 있습니다.
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.2017.0122.1006")>
<Assembly: AssemblyFileVersion("1.2017.0122.1006")>
<Assembly: AssemblyVersion("1.2017.0122.1007")>
<Assembly: AssemblyFileVersion("1.2017.0122.1007")>