Files
Hanjeon/Epole/업로드폼/XLSImport.vb
2019-05-03 21:10:44 +09:00

2546 lines
123 KiB
VB.net

Imports System.IO
Imports System.Text
Imports MyControlOLEDBv2
Public Class XLSImport
Dim TabName As String
Dim ColName() As String
Dim Value() As String
Dim vtype() As String
Dim ColDesc() As String '열제목'
Dim SubSqlCnt As Integer
Dim SubSql() As String
Dim USERFC() As String
Dim DivString As String '//구분자
Dim Err As Boolean = False '//에러발생상태
Dim StartPos As Integer = 0 '//시작열순서
Dim EndPos As Integer = 0 '//종료열순서
Dim IniFile As String = My.Application.Info.DirectoryPath & "\import.ini"
Dim SelControl As Windows.Forms.TextBox
Dim sql As New StringBuilder
Dim DelSql As New StringBuilder
Dim MyTextBox() As Windows.Forms.TextBox
Dim MyComBo() As Windows.Forms.ComboBox
Dim MyLaBel() As Label
Dim SRC전주세부 As New ireaDataSet.jjutableDataTable
Dim SRC지중세부 As New ireaDataSet.jjungtableDataTable
Dim SRC기타세부 As New ireaDataSet.EtcTableDataTable
Dim SRCDetail_Deung As New ireaDataSet.Detail_DeungDataTable
Dim SRCDetail_Karo As New ireaDataSet.Detail_karoDataTable
Dim SRCDetail_Cable As New ireaDataSet.Detail_CableDataTable
Dim SRCDetail_Cable2 As New ireaDataSet.Detail_Cable2DataTable
Dim SRCDetail_CableLABEL As New ireaDataSet.Detail_CableLabelDataTable
Dim Src기기세부 As New ireaDataSet.Detail_kikiDataTable
Dim SRCjjutableRow As ireaDataSet.jjutableRow
Dim SRCjjungtableRow As ireaDataSet.jjungtableRow
Dim SRCetctableRow As ireaDataSet.EtcTableRow
Dim SrcdeungTablerow As ireaDataSet.Detail_DeungRow
Dim SrcKaroTableRow As ireaDataSet.Detail_karoRow
Dim SrcKikiTableRow As ireaDataSet.Detail_kikiRow
Dim SRCCABLEROW As ireaDataSet.Detail_CableRow
Dim SRCCABLELABLEROW As ireaDataSet.Detail_CableLabelRow
Dim SRCCABLE2ROW As ireaDataSet.Detail_Cable2Row
Dim SrcDataSet As ireaDataSet
Dim MyAdapt As ireaDataSetTableAdapters.jjutableTableAdapter
Dim 관리id As Integer '//추가될 관리id를 받는다.
Dim 관리구분 As Short = 0 '//관리구분을 받는다. 없을경우 기본 0(가공번호찰로 한다)
'Dim MaxArray As String '"엑셀의 최대범위"
Dim Sview As FarPoint.Win.Spread.SheetView
Public Sub New()
' 이 호출은 Windows Form 디자이너에 필요합니다.
InitializeComponent()
End Sub
Public Sub New(ByVal 번호찰구분 As Integer, ByVal rowid As Integer) '//현재이걸로 데이터를 가져온다.
InitializeComponent()
관리id = rowid
관리구분 = 번호찰구분
Select Case 관리구분
Case 0
Me.Text = "가공(일반) 가져오기"
Case 1
Me.Text = "지중(일반) 가져오기"
Case 9
Me.Text = "중요수용 가져오기"
Case 2
Me.Text = "정액등 가져오기"
Case 4
Me.Text = "가공(기기) 가져오기"
Case 6
Me.Text = "지중(맨홀표시찰및계통도) 가져오기"
Case 7
Me.Text = "지중(케이블표시라벨) 가져오기"
Case 8
Me.Text = "지중(기기표시찰) 가져오기"
Case Else
Me.Text = "번호찰 가져오기(" & 관리구분 & ")"
End Select
'Me.CustFP1_Sheet1.DataSource = Me.전주세부BindingSource
End Sub
Public Sub New(ByVal DataSrc As ireaDataSet, ByVal rowid As Short, ByVal 번호찰구분 As Integer) '//현재이걸로 데이터를 가져온다.
InitializeComponent()
관리id = rowid
관리구분 = 번호찰구분
SrcDataSet = DataSrc
Select Case 관리구분
Case 0
Me.Text = "가공(일반) 가져오기"
Case 1
Me.Text = "지중(일반) 가져오기"
Case 9
Me.Text = "중요수용 가져오기"
Case 2
Me.Text = "정액등 가져오기"
Case 4
Me.Text = "가공(기기) 가져오기"
Case 6
Me.Text = "지중(맨홀표시찰및계통도) 가져오기"
Case 7
Me.Text = "지중(케이블표시라벨) 가져오기"
Case 8
Me.Text = "지중(기기표시찰) 가져오기"
Case Else
Me.Text = "번호찰 가져오기(" & 관리구분 & ")"
End Select
End Sub
Private Sub 구분(ByVal 관리구분 As Short)
Select Case 관리구분
Case 0 '//가공
SetControl(Me.ImpCtl2, "관리구(구)")
SetControl(Me.ImpCtl3, "전산번호(구)")
SetControl(Me.ImpCtl4, "관리구(신)")
SetControl(Me.ImpCtl5, "전산번호(신)")
SetControl(Me.ImpCtl6, "선로명")
SetControl(Me.ImpCtl7, "번호1")
SetControl(Me.ImpCtl8, "번호2")
SetControl(Me.ImpCtl9, "번호3")
SetControl(Me.ImpCtl10, "번호4")
SetControl(Me.ImpCtl11, "번호5")
SetControl(Me.ImpCtl12, "장척")
SetControl(Me.ImpCtl13, "시공년월")
SetControl(Me.ImpCtl14, "시공자")
SetControl(Me.ImpCtl15, "DL명")
SetControl(Me.ImpCtl16, "감독자")
SetControl(Me.ImpCtl17, "접지1")
SetControl(Me.ImpCtl18, "지선주")
SetControl(Me.ImpCtl19, "선로명(구)")
SetControl(Me.ImpCtl20, "전주번호(구)")
SetControl(Me.ImpCtl21, "점검일자")
SetControl(Me.ImpCtl22, "휴즈용량")
SetControl(Me.ImpCtl23, "상표시찰1단")
SetControl(Me.ImpCtl24, "상표시찰2단")
SetControl(Me.ImpCtl25, "선로전방")
SetControl(Me.ImpCtl26, "선로좌측")
SetControl(Me.ImpCtl27, "선로우측")
Case 1 '//지중
SetControl(Me.ImpCtl2, "관리구")
SetControl(Me.ImpCtl3, "전산번호")
SetControl(Me.ImpCtl4, "변압기/관리구")
SetControl(Me.ImpCtl5, "변압기/전산번호")
SetControl(Me.ImpCtl6, "선로명(기)")
SetControl(Me.ImpCtl7, "선로번호(기)")
SetControl(Me.ImpCtl8, "시공년월")
SetControl(Me.ImpCtl9, "시공업체")
SetControl(Me.ImpCtl10, "선로명(변)")
SetControl(Me.ImpCtl11, "선로번호(변)")
SetControl(Me.ImpCtl12, "변압기_상별")
SetControl(Me.ImpCtl13, "변압기/용량(형식)")
SetControl(Me.ImpCtl14, "전원측")
SetControl(Me.ImpCtl15, "부하측")
SetControl(Me.ImpCtl16, "기기명")
SetControl(Me.ImpCtl17, "제조년월")
SetControl(Me.ImpCtl18, "제조회사")
Case 9 '//기타(중요수용)
'SetControl(Me.ImpCtl2, "관리구(구)")
'SetControl(Me.ImpCtl3, "전산번호(구)")
SetControl(Me.ImpCtl4, "관리구(신)")
SetControl(Me.ImpCtl5, "전산번호(신)")
SetControl(Me.ImpCtl6, "선로명")
SetControl(Me.ImpCtl7, "번호1")
SetControl(Me.ImpCtl8, "번호2")
SetControl(Me.ImpCtl9, "번호3")
SetControl(Me.ImpCtl10, "번호4")
SetControl(Me.ImpCtl11, "번호5")
'SetControl(Me.ImpCtl12, "장척")
'SetControl(Me.ImpCtl13, "시공년월")
'SetControl(Me.ImpCtl14, "시공자")
SetControl(Me.ImpCtl15, "비고1")
SetControl(Me.ImpCtl16, "비고2")
SetControl(Me.ImpCtl17, "비고3")
SetControl(Me.ImpCtl18, "비고4")
'SetControl(Me.ImpCtl19, "선로명(구)")
'SetControl(Me.ImpCtl20, "전주번호(구)")
Case 2 '//이건 정액등 지중 2~20 가지잇다.
SetControl(Me.ImpCtl2, "고객번호1")
SetControl(Me.ImpCtl3, "고객번호2")
SetControl(Me.ImpCtl4, "고객번호3")
SetControl(Me.ImpCtl5, "관리번호1")
SetControl(Me.ImpCtl6, "관리번호2")
SetControl(Me.ImpCtl7, "관리번호3")
SetControl(Me.ImpCtl8, "지점명")
SetControl(Me.ImpCtl9, "전산화번호1")
SetControl(Me.ImpCtl10, "전산화번호2")
SetControl(Me.ImpCtl11, "선로명")
SetControl(Me.ImpCtl12, "전주번호1")
SetControl(Me.ImpCtl13, "전주번호2")
SetControl(Me.ImpCtl14, "전주번호3")
Case 4 '//기기용
SetControl(Me.ImpCtl2, "관리구")
SetControl(Me.ImpCtl3, "전산화번호")
SetControl(Me.ImpCtl4, "선로명")
SetControl(Me.ImpCtl5, "번호1")
SetControl(Me.ImpCtl6, "번호2")
SetControl(Me.ImpCtl7, "번호3")
SetControl(Me.ImpCtl8, "번호4")
SetControl(Me.ImpCtl9, "번호5")
SetControl(Me.ImpCtl10, "1회선1")
SetControl(Me.ImpCtl11, "1회선2")
'SetControl(Me.ImpCtl12, "1회선3")
'SetControl(Me.ImpCtl13, "1회선4")
'SetControl(Me.ImpCtl14, "1회선5")
SetControl(Me.ImpCtl12, "2회선1")
SetControl(Me.ImpCtl13, "2회선2")
'SetControl(Me.ImpCtl17, "2회선3")
'SetControl(Me.ImpCtl18, "2회선4")
'SetControl(Me.ImpCtl19, "2회선5")
SetControl(Me.ImpCtl14, "3회선1")
SetControl(Me.ImpCtl15, "3회선2")
'SetControl(Me.ImpCtl22, "3회선3")
'SetControl(Me.ImpCtl23, "3회선4")
'SetControl(Me.ImpCtl24, "3회선5")
SetControl(Me.ImpCtl16, "비고1")
SetControl(Me.ImpCtl17, "비고2")
SetControl(Me.ImpCtl18, "비고3")
SetControl(Me.ImpCtl19, "비고4")
Case 6 '//지중케이블
SetControl(Me.ImpCtl2, "관리구")
SetControl(Me.ImpCtl3, "전산번호")
SetControl(Me.ImpCtl4, "HASS")
SetControl(Me.ImpCtl5, "HADL")
SetControl(Me.ImpCtl6, "HA구간")
SetControl(Me.ImpCtl7, "HBSS")
SetControl(Me.ImpCtl8, "HBDL")
SetControl(Me.ImpCtl9, "HB구간")
SetControl(Me.ImpCtl10, "S0번호1")
SetControl(Me.ImpCtl11, "S0번호2")
SetControl(Me.ImpCtl12, "S0번호3")
SetControl(Me.ImpCtl13, "S0번호4")
SetControl(Me.ImpCtl14, "S0SW명")
SetControl(Me.ImpCtl15, "S0위치")
SetControl(Me.ImpCtl16, "S1번호1")
SetControl(Me.ImpCtl17, "S1번호2")
SetControl(Me.ImpCtl18, "S1번호3")
SetControl(Me.ImpCtl19, "S1번호4")
SetControl(Me.ImpCtl20, "S1SW명")
SetControl(Me.ImpCtl21, "S1위치")
SetControl(Me.ImpCtl22, "S2번호1")
SetControl(Me.ImpCtl23, "S2번호2")
SetControl(Me.ImpCtl24, "S2번호3")
SetControl(Me.ImpCtl25, "S2번호4")
SetControl(Me.ImpCtl26, "S2SW명")
SetControl(Me.ImpCtl27, "S2수용가")
SetControl(Me.ImpCtl28, "S3번호1")
SetControl(Me.ImpCtl29, "S3번호2")
SetControl(Me.ImpCtl30, "S3번호3")
SetControl(Me.ImpCtl31, "S3번호4")
SetControl(Me.ImpCtl32, "S3SW명")
SetControl(Me.ImpCtl33, "S3수용가")
SetControl(Me.ImpCtl34, "S4번호1")
SetControl(Me.ImpCtl35, "S4번호2")
SetControl(Me.ImpCtl36, "S4번호3")
SetControl(Me.ImpCtl37, "S4번호4")
SetControl(Me.ImpCtl38, "S4SW명")
SetControl(Me.ImpCtl39, "S4수용가")
SetControl(Me.ImpCtl40, "시공년월")
SetControl(Me.ImpCtl41, "시공회사")
SetControl(Me.ImpCtl42, "공사번호")
SetControl(Me.ImpCtl43, "감독자")
SetControl(Me.ImpCtl44, "비고1")
SetControl(Me.ImpCtl45, "비고2")
SetControl(Me.ImpCtl46, "비고3")
SetControl(Me.ImpCtl47, "비고4")
SetControl(Me.ImpCtl48, "비고5")
SetControl(Me.ImpCtl49, "비고6")
SetControl(Me.ImpCtl50, "HA단자명")
SetControl(Me.ImpCtl51, "HB단자명")
Case 8 '//지중케이블기기표시찰
SetControl(Me.ImpCtl2, "관리구")
SetControl(Me.ImpCtl3, "전산번호")
SetControl(Me.ImpCtl4, "HA단자명")
SetControl(Me.ImpCtl5, "HASS")
SetControl(Me.ImpCtl6, "HADL")
SetControl(Me.ImpCtl7, "HA구간")
SetControl(Me.ImpCtl8, "HB단자명")
SetControl(Me.ImpCtl9, "HBSS")
SetControl(Me.ImpCtl10, "HBDL")
SetControl(Me.ImpCtl11, "HB구간")
SetControl(Me.ImpCtl12, "상대1단자")
SetControl(Me.ImpCtl13, "S/S")
SetControl(Me.ImpCtl14, "D/L")
'SetControl(Me.ImpCtl15, "S1번호4")
SetControl(Me.ImpCtl15, "구간")
'SetControl(Me.ImpCtl17, "S1위치")
SetControl(Me.ImpCtl16, "상대2단자")
SetControl(Me.ImpCtl17, "S/S")
SetControl(Me.ImpCtl18, "D/L")
'SetControl(Me.ImpCtl21, "S2번호4")
SetControl(Me.ImpCtl19, "구간")
'SetControl(Me.ImpCtl23, "S2수용가")
SetControl(Me.ImpCtl20, "상대3단자")
SetControl(Me.ImpCtl21, "S/S")
SetControl(Me.ImpCtl22, "D/L")
'SetControl(Me.ImpCtl27, "S3번호4")
SetControl(Me.ImpCtl23, "구간")
' SetControl(Me.ImpCtl29, "S3수용가")
SetControl(Me.ImpCtl24, "상대4단자")
SetControl(Me.ImpCtl25, "S/S")
SetControl(Me.ImpCtl26, "D/L")
'SetControl(Me.ImpCtl33, "S4번호4")
SetControl(Me.ImpCtl27, "구간")
'SetControl(Me.ImpCtl35, "S4수용가")
'SetControl(Me.ImpCtl40, "시공년월")
'SetControl(Me.ImpCtl41, "시공회사")
'SetControl(Me.ImpCtl42, "공사번호")
'SetControl(Me.ImpCtl43, "감독자")
SetControl(Me.ImpCtl28, "비고1")
SetControl(Me.ImpCtl29, "비고2")
SetControl(Me.ImpCtl30, "비고3")
SetControl(Me.ImpCtl31, "비고4")
SetControl(Me.ImpCtl32, "비고5")
SetControl(Me.ImpCtl33, "비고6")
Case 7 '//지중(케이블선로표시라벨)
SetControl(Me.ImpCtl2, "전산번호(현위치)")
SetControl(Me.ImpCtl3, "단자명")
SetControl(Me.ImpCtl4, "S/S")
SetControl(Me.ImpCtl5, "D/L")
SetControl(Me.ImpCtl6, "H1(상대측)")
SetControl(Me.ImpCtl7, "H2(상대측)")
SetControl(Me.ImpCtl8, "전산번호(현위치)")
SetControl(Me.ImpCtl9, "저압번호(회선)")
SetControl(Me.ImpCtl10, "공급상")
SetControl(Me.ImpCtl11, "공급변압기")
SetControl(Me.ImpCtl12, "전산번호(전원측)")
SetControl(Me.ImpCtl13, "전산번호(부하측)")
SetControl(Me.ImpCtl14, "고객명")
SetControl(Me.ImpCtl15, "전산번호(현위치)")
SetControl(Me.ImpCtl16, "저압번호(회선)")
SetControl(Me.ImpCtl17, "공급상")
SetControl(Me.ImpCtl18, "공급변압기(TR)")
SetControl(Me.ImpCtl19, "전산번호(전원측)")
SetControl(Me.ImpCtl20, "전산번호(부하측)")
SetControl(Me.ImpCtl21, "고객명")
End Select
End Sub
Private Sub SetControl(ByVal ic As MyControlOLEDBv2.ImpCtl, ByVal 제목 As String)
ic.eNABLED = True
ic.제목 = 제목
End Sub
Private Sub XLSImport_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
' Me.ListView3.COLSIZE_SAVE()
Me.Save_Setting()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not GetINI(IniFile) Then
MsgBox("오류로인해 프로그램이 종료됩니다." & vbCrLf & vbCrLf & "환경설정 데이터가 반환되지 않았습니다", MsgBoxStyle.Critical, "Er")
End
End If
For Each Ctl As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel2.Controls
Ctl.eNABLED = False
Next
For Each Ctl As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel3.Controls
Ctl.eNABLED = False
Next
For Each Ctl As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel4.Controls
Ctl.eNABLED = False
Next
' Add_handle()
구분(관리구분)
LOadCurrentSet()
' Me.ListView3.COLSIZE_LOAD()
Me.CustFP1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style)
' Me.ListView3.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style)
Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.ToolStrip2.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
'//일단은 부모로부터 가져온 바인딩소스를 사용하게된다.
'Me.tyableAdapter1.Connection.ConnectionString = ConString
' Me.jjutableTableAdapter1.Fill(Me.IreaDataSet1.jjutable, 관리id)
End Sub
'''
''' 현재 텍스트박스 셋팅을 저장합니다.
'''
Private Sub LOadCurrentSet()
Dim ini As New MyINI2(IniFile)
For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel2.Controls
A.열번호 = ini.Read("CURSETNUM" & 관리구분, A.Name)
A.문자열자르기 = ini.Read("CURSETSPL" & 관리구분, A.Name)
A.빈값체크 = ini.Read("CURSETNUL" & 관리구분, A.Name, False)
A.Valuetype = ini.Read("CURSETVTYPE" & 관리구분, A.Name, 0)
Next
For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel3.Controls
A.열번호 = ini.Read("CURSETNUM" & 관리구분, A.Name)
A.문자열자르기 = ini.Read("CURSETSPL" & 관리구분, A.Name)
A.빈값체크 = ini.Read("CURSETNUL" & 관리구분, A.Name, False)
A.Valuetype = ini.Read("CURSETVTYPE" & 관리구분, A.Name, 0)
Next
For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel4.Controls
A.열번호 = ini.Read("CURSETNUM" & 관리구분, A.Name)
A.문자열자르기 = ini.Read("CURSETSPL" & 관리구분, A.Name)
A.빈값체크 = ini.Read("CURSETNUL" & 관리구분, A.Name, False)
A.Valuetype = ini.Read("CURSETVTYPE" & 관리구분, A.Name, 0)
Next
End Sub
Private Sub Save_Setting() '//현재 셋팅을 저장합니다.
'//저장목록은 시작/종료 열번호 아이템의 텍스트이다.
Dim Aranini As New MyINI2(IniFile)
Aranini.Write("normal", "startpos", Me.tb_scnt.Text) '//시작
Aranini.Write("normal", "endpos", Me.tb_ecnt.Text) '//종료
For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel2.Controls '//각 텍스트박스
Aranini.Write("CURSETNUM" & 관리구분, A.Name, A.열번호)
Aranini.Write("CURSETSPL" & 관리구분, A.Name, A.문자열자르기)
Aranini.Write("CURSETNUL" & 관리구분, A.Name, A.빈값체크)
Aranini.Write("CURSETVTYPE" & 관리구분, A.Name, A.Valuetype)
Next
For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel3.Controls '//각 텍스트박스
Aranini.Write("CURSETNUM" & 관리구분, A.Name, A.열번호)
Aranini.Write("CURSETSPL" & 관리구분, A.Name, A.문자열자르기)
Aranini.Write("CURSETNUL" & 관리구분, A.Name, A.빈값체크)
Aranini.Write("CURSETVTYPE" & 관리구분, A.Name, A.Valuetype)
Next
For Each A As MyControlOLEDBv2.ImpCtl In Me.TableLayoutPanel4.Controls '//각 텍스트박스
Aranini.Write("CURSETNUM" & 관리구분, A.Name, A.열번호)
Aranini.Write("CURSETSPL" & 관리구분, A.Name, A.문자열자르기)
Aranini.Write("CURSETNUL" & 관리구분, A.Name, A.빈값체크)
Aranini.Write("CURSETVTYPE" & 관리구분, A.Name, A.Valuetype)
Next
End Sub
Private Sub Add_handle() '//더블클릭시 열번호를 변경할 수 있게 한다.
' For Each A As Control In TableLayoutPanel2.Controls
' If A.GetType.Name.ToUpper = "TEXTBOX" Then
' If CType(A, Windows.Forms.TextBox).BorderStyle <> BorderStyle.None Then
' AddHandler A.DoubleClick, AddressOf MyDoubleClick
' End If
' End If
' Next
End Sub
Private Sub MyDoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)
If Not SelControl Is Nothing Then SelControl.BackColor = Color.White
If Not SelControl Is Nothing AndAlso SelControl.Tag = CType(sender, TextBox).Tag Then '//같은거라면 선택하제한다.
SelControl.BackColor = Color.White
Me.lb_selcontrol.Text = "선택없음"
SelControl = Nothing
Return
End If
SelControl = CType(sender, Windows.Forms.TextBox)
SelControl.BackColor = Color.Green
If SelControl.Tag Is Nothing Then
MsgBox("TAG 속성이 비어있습니다", MsgBoxStyle.Information, "Error")
Else
Me.lb_selcontrol.Text = "선택됨 : " & SelControl.Tag.ToString
End If
End Sub
Private Function GetINI(ByVal filename As String) As Boolean '//'REad INi file
If filename Is vbNullString Then Return False
Dim INiFn As String
If filename.IndexOf(":") >= 0 Then
INiFn = filename
Else
INiFn = My.Application.Info.DirectoryPath & "\" & filename
End If
Dim Aranini As New MyINI2(INiFn)
Try
StartPos = Aranini.Read("NORMAL", "StartPos")
EndPos = Aranini.Read("NORMAL", "endpos")
Me.lb_file.Text = Aranini.Read("NORMAL", "file")
Me.lb_file.Text = Me.lb_file.Text.Trim(Chr(0))
Value = Aranini.Read("NORMAL", "value").Split(",")
'MaxArray = Aranini.Read("NORMAL", "MaxArray")
Catch ex As Exception
MsgBox("Err-Read_INI" & vbCrLf & vbCrLf & "File=" & INiFn _
& vbCrLf & ex.Message.ToString, MsgBoxStyle.Critical, "Error")
Return False
End Try
'Me.lb_file.Text = FN
Me.tb_scnt.Text = StartPos
Me.tb_ecnt.Text = EndPos
Return True
End Function
Private Sub ControlChanged(ByVal sender As Object, ByVal e As System.EventArgs) '//Not use
Dim A As Windows.Forms.TextBox = CType(sender, Windows.Forms.TextBox)
If A.Text.Length <= 0 Then Exit Sub
Select Case A.Text.Substring(0, 1)
Case ":"
If IsNumeric(A.Text.Substring(1)) Then
A.BackColor = Color.LawnGreen
Else
A.BackColor = Color.Tomato
End If
Case "?"
A.BackColor = Color.Gray
Case "#"
A.BackColor = Color.SteelBlue
Case Else
A.BackColor = Color.White
End Select
End Sub
Private Sub ReadXls(ByVal Filename As String) '//Read xls File
Me.CustFP1.OpenExcel(Filename)
For index As Integer = 0 To Me.CustFP1.Sheets.Count - 1
For Each Cl As FarPoint.Win.Spread.Column In Me.CustFP1.Sheets(index).Columns '//Set columns label
Cl.Label = Cl.Index + 1
Next
Next
''//연속 5개의 공백이 보이면 카운트를 종료한다.
Dim 공백 As Int16 = 0
For Each Row As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows
If Me.CustFP1.ActiveSheet.Cells(Row.Index, 0).Text = "" AndAlso Me.CustFP1.ActiveSheet.Cells(Row.Index, 1).Text = "" AndAlso Me.CustFP1.ActiveSheet.Cells(Row.Index, 2).Text = "" Then
' MsgBox(Row.Index)
공백 += 1
Else
공백 = 0
End If
If 공백 >= 10 Then
' MsgBox("종료시점검색완료" & Row.Index)
Me.CustFP1.ActiveSheet.RowCount = Row.Index + 1 - 8
Exit For
End If
Next
End Sub
Private Function GetItemFP(ByVal Src As FarPoint.Win.Spread.Row, ByVal idx As TextBox, ByVal SUbstr As TextBox, Optional ByVal NotNull As Boolean = False) As Object
Dim SUbidx As Integer = IIf(idx.Text = "", 0, Val(idx.Text)) '//없으면 -1을
If SUbidx = 0 Then '//즉 없다는뜻이다.
If NotNull Then Return Src.Index '//널이안되면 리뷰의 인덱스를 넘기고
Return "" '//널이되면 빈값을 리턴한다.
Else '//있다.
If SUbstr.Text = "" OrElse SUbstr.Text = "0,0" Then '//문자열자르기확인 없다 그대로 리턴
Return Me.CustFP1.ActiveSheet.Cells(Src.Index, CInt(SUbidx - 1)).Text
Else '//문자열자르기가 있으면 잘라서 보내준다.
Dim DIV() As String = SUbstr.Text.Split(",")
If DIV(1) = "0" Then '//시작부터 끝까지
Return Me.CustFP1.ActiveSheet.Cells(Src.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1)
Else '/지정범위
Return Me.CustFP1.ActiveSheet.Cells(Src.Index, CInt(SUbidx - 1)).Text.Substring(DIV(0) - 1, DIV(1))
End If
End If
End If
End Function
Private Function GetFPData(ByVal sender As MyControlOLEDBv2.ImpCtl, ByVal Drow As FarPoint.Win.Spread.Row) As String
'//만약 날짜포맷이면 FORMAT 을 지정해서 사용한다"
Dim SUbidx As Integer
Dim VALSTR As String
If sender.열번호 = "" Then '//즉 없다는뜻이다.
Return ""
Else '//열번호가 있다.
SUbidx = sender.열번호
VALSTR = Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text
If VALSTR = "" Then Return "" ' MsgBox("값이없어서 바로보낸다")
Select Case sender.Valuetype
Case MyControlOLEDBv2.ImpCtl.e_Valuetype.날짜
VALSTR = VALSTR.Trim(".").Trim("/").Trim("\").Trim("-").Trim '//날짜지정문구 모두제거
If IsNumeric(VALSTR) = False Then Return "" '//문구제거하면 숫자여야한다.
Select Case VALSTR.Length
Case 4 '//0804 => 20080401
If VALSTR >= 1900 AndAlso VALSTR <= Format(Now, "yyyy") Then
VALSTR = VALSTR & "0101"
ElseIf VALSTR.Substring(0, 1) = "0" Then
VALSTR = "20" & VALSTR & "01"
Else
VALSTR = "19" & VALSTR & "01"
End If
Case 6 '//200812 => 20081201 , 081201 => 20081201
If VALSTR.Substring(0, 4) >= 1900 AndAlso VALSTR.Substring(0, 4) <= 2100 Then
VALSTR = VALSTR & "01"
Else
If VALSTR.Substring(0, 1) = "0" Then
VALSTR = "20" & VALSTR
Else
VALSTR = "19" & VALSTR
End If
End If
Case 7 '//2008712 => 20080712
VALSTR = VALSTR.Substring(0, 4) & "0" & VALSTR.Substring(4, 1) & VALSTR.Substring(5)
Case 8
'//그냥 넘긴다.
End Select
Case MyControlOLEDBv2.ImpCtl.e_Valuetype.숫자
If IsNumeric(VALSTR) = False Then Return "" '//숫자가아닐때 오류
End Select
If sender.문자열자르기 = "" OrElse sender.문자열자르기 = "0,0" Then '//문자열자르기확인 없다 그대로 리턴
'VALSTR = Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text
Return VALSTR
Else '//문자열자르기가 있으면 잘라서 보내준다.
Dim DIV() As String
If sender.문자열자르기.IndexOf(",") = -1 Then
ReDim DIV(1)
DIV(0) = sender.문자열자르기
DIV(1) = 0
Else
DIV = sender.문자열자르기.Split(",")
End If
If DIV(1) = "0" Then '//시작부터 끝까지
Try
VALSTR = (VALSTR.Substring(DIV(0) - 1))
Catch ex As Exception
'VALSTR = VALSTR
End Try
Return VALSTR
Else '/지정범위
Try
VALSTR = VALSTR.Substring(DIV(0) - 1, DIV(1))
Catch ex As Exception
'VALSTR = Me.CustFP1.ActiveSheet.Cells(Drow.Index, CInt(SUbidx - 1)).Text
End Try
Return VALSTR
End If
End If
End If
End Function
Private Function NullCHeck() As Boolean
If Me.ImpCtl2.열번호 <> "" AndAlso Me.ImpCtl2.빈값체크 Then Return True
If Me.ImpCtl3.열번호 <> "" AndAlso Me.ImpCtl3.빈값체크 Then Return True
If Me.ImpCtl4.열번호 <> "" AndAlso Me.ImpCtl4.빈값체크 Then Return True
If Me.ImpCtl5.열번호 <> "" AndAlso Me.ImpCtl5.빈값체크 Then Return True
If Me.ImpCtl6.열번호 <> "" AndAlso Me.ImpCtl6.빈값체크 Then Return True
If Me.ImpCtl7.열번호 <> "" AndAlso Me.ImpCtl7.빈값체크 Then Return True
If Me.ImpCtl8.열번호 <> "" AndAlso Me.ImpCtl8.빈값체크 Then Return True
If Me.ImpCtl9.열번호 <> "" AndAlso Me.ImpCtl9.빈값체크 Then Return True
If Me.ImpCtl10.열번호 <> "" AndAlso Me.ImpCtl10.빈값체크 Then Return True
If Me.ImpCtl11.열번호 <> "" AndAlso Me.ImpCtl11.빈값체크 Then Return True
If Me.ImpCtl12.열번호 <> "" AndAlso Me.ImpCtl12.빈값체크 Then Return True
If Me.ImpCtl13.열번호 <> "" AndAlso Me.ImpCtl13.빈값체크 Then Return True
If Me.ImpCtl14.열번호 <> "" AndAlso Me.ImpCtl14.빈값체크 Then Return True
If Me.ImpCtl15.열번호 <> "" AndAlso Me.ImpCtl15.빈값체크 Then Return True
If Me.ImpCtl16.열번호 <> "" AndAlso Me.ImpCtl16.빈값체크 Then Return True
If Me.ImpCtl17.열번호 <> "" AndAlso Me.ImpCtl17.빈값체크 Then Return True
If Me.ImpCtl18.열번호 <> "" AndAlso Me.ImpCtl18.빈값체크 Then Return True
If Me.ImpCtl19.열번호 <> "" AndAlso Me.ImpCtl19.빈값체크 Then Return True
If Me.ImpCtl20.열번호 <> "" AndAlso Me.ImpCtl20.빈값체크 Then Return True
If Me.ImpCtl21.열번호 <> "" AndAlso Me.ImpCtl21.빈값체크 Then Return True
If Me.ImpCtl22.열번호 <> "" AndAlso Me.ImpCtl22.빈값체크 Then Return True
If Me.ImpCtl23.열번호 <> "" AndAlso Me.ImpCtl23.빈값체크 Then Return True
If Me.ImpCtl24.열번호 <> "" AndAlso Me.ImpCtl24.빈값체크 Then Return True
If Me.ImpCtl25.열번호 <> "" AndAlso Me.ImpCtl25.빈값체크 Then Return True
If Me.ImpCtl26.열번호 <> "" AndAlso Me.ImpCtl26.빈값체크 Then Return True
If Me.ImpCtl27.열번호 <> "" AndAlso Me.ImpCtl27.빈값체크 Then Return True
If Me.ImpCtl28.열번호 <> "" AndAlso Me.ImpCtl28.빈값체크 Then Return True
If Me.ImpCtl29.열번호 <> "" AndAlso Me.ImpCtl29.빈값체크 Then Return True
If Me.ImpCtl30.열번호 <> "" AndAlso Me.ImpCtl30.빈값체크 Then Return True
If Me.ImpCtl31.열번호 <> "" AndAlso Me.ImpCtl31.빈값체크 Then Return True
If Me.ImpCtl32.열번호 <> "" AndAlso Me.ImpCtl32.빈값체크 Then Return True
If Me.ImpCtl33.열번호 <> "" AndAlso Me.ImpCtl33.빈값체크 Then Return True
If Me.ImpCtl34.열번호 <> "" AndAlso Me.ImpCtl34.빈값체크 Then Return True
If Me.ImpCtl35.열번호 <> "" AndAlso Me.ImpCtl35.빈값체크 Then Return True
If Me.ImpCtl36.열번호 <> "" AndAlso Me.ImpCtl36.빈값체크 Then Return True
If Me.ImpCtl37.열번호 <> "" AndAlso Me.ImpCtl37.빈값체크 Then Return True
If Me.ImpCtl38.열번호 <> "" AndAlso Me.ImpCtl38.빈값체크 Then Return True
If Me.ImpCtl39.열번호 <> "" AndAlso Me.ImpCtl39.빈값체크 Then Return True
If Me.ImpCtl40.열번호 <> "" AndAlso Me.ImpCtl40.빈값체크 Then Return True
Return False
End Function
Private Sub SHowCnt(ByVal cnt As Integer, ByVal maxcnt As Integer)
Me.lb_cnt.Text = cnt & "/" & maxcnt
My.Application.DoEvents()
End Sub
Private Sub Apply가공() '//적용루틴 끝에 추가를 해주는것뿐이다 (가공번호찰)
Dim 번호 As Integer = 0 '//번호는 notnull 이다
Dim 구관리구 As String = "'" '//번호는 notnull 이다
Dim 구전산번호 As String = "'" '//번호는 notnull 이다
Dim 관리구 As String = "'" '//번호는 notnull 이다
Dim 전산번호 As String = "'" '//번호는 notnull 이다
Dim 선로명 As String = "'" '//번호는 notnull 이다
Dim 번호1 As String = "'" '//번호는 notnull 이다
Dim 번호2 As String = "'" '//번호는 notnull 이다
Dim 번호3 As String = "'" '//번호는 notnull 이다
Dim 번호4 As String = "'" '//번호는 notnull 이다
Dim 번호5 As String = "'" '//번호는 notnull 이다
Dim 장척 As String = "'" '//번호는 notnull 이다
Dim 시공년월 As String = "'" '//번호는 notnull 이다
Dim 시공자 As String = "'" '//번호는 notnull 이다
Dim DL명 As String = "'" '//번호는 notnull 이다
Dim 감독자 As String = "'" '//번호는 notnull 이다
Dim 접지1 As String = "'" '//번호는 notnull 이다
Dim 접지2 As String = "'" '//접지2는 인쇄로 사용한다(인쇄의 의미는 지선주 유무다)
Dim 점검일자 As String = ""
Dim 인쇄, 기입, 인입 As Boolean
Dim 선로전방 As String = String.Empty
Dim 선로좌측 As String = String.Empty
Dim 선로우측 As String = String.Empty
'//20071102 추가함
Dim 구선로명 As String = "'"
Dim 구전주번호 As String
'//20150203
Dim 휴즈용량 As String = ""
Dim 상표시찰1단 As String = "'"
Dim 상표시찰2단 As String = "'"
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
'//src전주세부 테이블에 데이터를 기록한다.
'//먼저 null check가 잇는지 확인한다. 체크되어있다면.. 널값을 확인해야한다.
Me.SRC전주세부.Clear()
Dim index As Integer = 0
' MsgBox(NullChk)
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
Me.SHowCnt(index, EndCnt)
번호 = index ' Me.GetItemFP(Dr, Me.TextBox5, Me.TextBox42, True).ToString.ToUpper '//번호는 notnull 이다
구관리구 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
구전산번호 = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
관리구 = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
전산번호 = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
선로명 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
번호1 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
번호2 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
번호3 = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
번호4 = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
번호5 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
장척 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim("-").Trim
시공년월 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
시공자 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
DL명 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
감독자 = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
접지1 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
접지2 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
구선로명 = Me.GetFPData(Me.ImpCtl19, Dr).ToUpper.Trim
구전주번호 = Me.GetFPData(Me.ImpCtl20, Dr).ToUpper.Trim
점검일자 = Me.GetFPData(Me.ImpCtl21, Dr).ToUpper.Trim
휴즈용량 = Me.GetFPData(Me.ImpCtl22, Dr).ToUpper.Trim
상표시찰1단 = Me.GetFPData(Me.ImpCtl23, Dr).ToUpper.Trim
상표시찰2단 = Me.GetFPData(Me.ImpCtl24, Dr).ToUpper.Trim
선로전방 = Me.GetFPData(Me.ImpCtl25, Dr).ToUpper.Trim
선로좌측 = Me.GetFPData(Me.ImpCtl26, Dr).ToUpper.Trim
선로우측 = Me.GetFPData(Me.ImpCtl27, Dr).ToUpper.Trim
인쇄 = IIf(접지2.Trim <> "", True, False)
If 장척 <> "" AndAlso 장척.Length = 1 Then 장척 = "0" & 장척
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal = IIf(구관리구.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(구전산번호.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(관리구.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(전산번호.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(선로명.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(번호1.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(번호2.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(번호3.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(번호4.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(번호5.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(장척.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(시공년월.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(시공자.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(DL명.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(감독자.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(접지1.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(접지2.Trim = "", "", "X")
If Me.ImpCtl19.빈값체크 Then NullVal &= IIf(구선로명.Trim = "", "", "X")
If Me.ImpCtl20.빈값체크 Then NullVal &= IIf(구전주번호.Trim = "", "", "X")
If Me.ImpCtl21.빈값체크 Then NullVal &= IIf(점검일자.Trim = "", "", "X")
If Me.ImpCtl22.빈값체크 Then NullVal &= IIf(휴즈용량.Trim = "", "", "X")
If Me.ImpCtl23.빈값체크 Then NullVal &= IIf(상표시찰1단.Trim = "", "", "X")
If Me.ImpCtl24.빈값체크 Then NullVal &= IIf(상표시찰2단.Trim = "", "", "X")
If Me.ImpCtl25.빈값체크 Then NullVal &= IIf(선로전방.Trim = "", "", "X")
If Me.ImpCtl26.빈값체크 Then NullVal &= IIf(선로좌측.Trim = "", "", "X")
If Me.ImpCtl27.빈값체크 Then NullVal &= IIf(선로우측.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
' Me.CustFP1.ActiveSheet.Rows(Dr.Index).BackColor = Color.Blue
Select Case 장척.ToUpper
Case "B06", "B6", "06"
인입 = True '//인입
기입 = False '//기입
Case ""
인입 = False '//인입
기입 = True '//기입
Case Else
인입 = False
기입 = False
End Select
'기입 = IIf(DL명 <> "", True, False)
Me.SRCjjutableRow = Me.SRC전주세부.NewjjutableRow
Me.SRCjjutableRow.rowid = System.Guid.NewGuid
Me.SRCjjutableRow.관리ID = 관리id
Me.SRCjjutableRow.번호 = 번호
Me.SRCjjutableRow.구관리구 = 구관리구
Me.SRCjjutableRow.구전산번호 = 구전산번호
Me.SRCjjutableRow.관리구 = 관리구
Me.SRCjjutableRow.전주번호 = 전산번호
Me.SRCjjutableRow.선로명 = 선로명
Me.SRCjjutableRow.번호1 = 번호1
Me.SRCjjutableRow.번호2 = 번호2
Me.SRCjjutableRow.번호3 = 번호3
Me.SRCjjutableRow.번호4 = 번호4
Me.SRCjjutableRow.번호5 = 번호5
If 장척.Length = 1 Then
장척 = "0" & 장척
ElseIf 장척.Length > 3 Then
장척 = 장척.Substring(0, 3)
End If
Me.SRCjjutableRow.장척 = 장척
Me.SRCjjutableRow.시공년월 = 시공년월
Me.SRCjjutableRow.시공자 = 시공자
Me.SRCjjutableRow.DL명 = DL명
Me.SRCjjutableRow.감독자 = 감독자
Me.SRCjjutableRow.접지저항1 = 접지1
'Me.SRCjjutableRow.접지저항2 = 접지2
Me.SRCjjutableRow.인쇄 = 인쇄
Me.SRCjjutableRow.기입 = 기입
Me.SRCjjutableRow.인입 = 인입
Me.SRCjjutableRow.구선로명 = 구선로명
Me.SRCjjutableRow.구전주번호 = 구전주번호
Me.SRCjjutableRow.출력 = True
Me.SRCjjutableRow.정렬번호 = ""
'//20150203
Me.SRCjjutableRow.점검일자 = 점검일자
Me.SRCjjutableRow.COS휴즈용량 = 휴즈용량
Me.SRCjjutableRow.상표시찰1단 = 상표시찰1단
Me.SRCjjutableRow.상표시찰2단 = 상표시찰2단
'//1707152100
Me.SRCjjutableRow.선로전방 = 선로전방
Me.SRCjjutableRow.선로좌측 = 선로좌측
Me.SRCjjutableRow.선로우측 = 선로우측
Try
Me.SRC전주세부.Rows.Add(Me.SRCjjutableRow)
Catch ex As Exception
MsgBox("가져오기오류!" & 관리id & "/" & 번호 & vbCrLf & ex.ToString)
'AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
Else
' If Me.CustFP1.ActiveSheet.Rows(Dr.Index).BackColor = Color.Blue Then Me.CustFP1.ActiveSheet.Rows(Dr.Index).BackColor = Color.Black
End If
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRC전주세부
Me.CustFP2.ActiveSheet.Columns(0).Width = 0
Me.CustFP2.ActiveSheet.Columns(1).Width = 0
Me.CustFP2.ActiveSheet.Columns(2).Width = 0
Me.CustFP2.ActiveSheet.Columns(17).Width = 0
Me.CustFP2.ActiveSheet.Columns(19).Label = "지선주"
Me.CustFP2.ActiveSheet.Columns(20).Width = 0
For i As Short = 23 To 28
Me.CustFP2.ActiveSheet.Columns(i).Width = 0
Next
For i As Short = 31 To 36
Me.CustFP2.ActiveSheet.Columns(i).Width = 0
Next
End Sub
Private Sub Apply지중() '//적용루틴 끝에 추가를 해주는것뿐이다 (가공번호찰)
Dim 번호 As Integer '//번호는 notnull 이다
Dim 관리구 As String '//번호는 notnull 이다
Dim 전산번호 As String '//번호는 notnull 이다
Dim 선로명_기기 As String '//번호는 notnull 이다
Dim 선로번호_기기 As String '//번호는 notnull 이다
Dim 선로번호_변압 As String
Dim 선로명_변압 As String
'Dim 번호2 As String '//번호는 notnull 이다
'Dim 번호3 As String '//번호는 notnull 이다
'Dim 번호4 As String '//번호는 notnull 이다
'Dim 번호5 As String '//번호는 notnull 이다
Dim 변압기상 As String '//번호는 notnull 이다
Dim 변압기용량 As String '//번호는 notnull 이다
Dim 시공업체 As String '//번호는 notnull 이다
Dim 시공년월 As String '//번호는 notnull 이다
Dim 제조년월 As String '//170321
Dim 제조회사 As String
Dim 기기명 As String
'Dim 비고 As String
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
'20090512
Dim 변압기관리구, 변압기전산번호 As String
Dim 전원측, 부하측 As String
Dim cnt As Integer = -1
NOTICE("데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
'//src지중세부 테이블에 데이터를 기록한다.
Me.SRC지중세부.Clear()
Dim index As Integer = 0
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
Me.SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index ' Me.GetItemFP(Dr, Me.TextBox5, Me.TextBox42, True).ToString.ToUpper '//번호는 notnull 이다
관리구 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
전산번호 = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
변압기관리구 = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
변압기전산번호 = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
선로명_기기 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
선로번호_기기 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
시공년월 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
시공업체 = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
선로명_변압 = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
선로번호_변압 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
변압기상 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
변압기용량 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
전원측 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
부하측 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
기기명 = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
제조년월 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
제조회사 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
'비고 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal &= IIf(관리구.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(전산번호.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(변압기관리구.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(변압기전산번호.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(선로명_기기.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(선로번호_기기.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(시공년월.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(시공업체.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(선로명_변압.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(선로번호_변압.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(변압기상.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(변압기용량.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(전원측.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(부하측.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(기기명.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(제조년월.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(제조회사.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SRCjjungtableRow = Me.SRC지중세부.NewjjungtableRow
Me.SRCjjungtableRow.rowid = System.Guid.NewGuid
Me.SRCjjungtableRow.관리ID = 관리id
Me.SRCjjungtableRow.번호 = 번호
Me.SRCjjungtableRow.관리구 = 관리구
Me.SRCjjungtableRow.전산화번호 = 전산번호
Me.SRCjjungtableRow.선로명 = 선로명_기기
Me.SRCjjungtableRow.번호1 = 선로번호_기기
'Me.SRCjjungtableRow.번호2 = 번호2
'Me.SRCjjungtableRow.번호3 = 번호3
'Me.SRCjjungtableRow.번호4 = 번호4
'Me.SRCjjungtableRow.번호5 = 번호5
Me.SRCjjungtableRow.변압기상 = 변압기상
Me.SRCjjungtableRow.변압기용량 = 변압기용량
Me.SRCjjungtableRow.시공업체 = 시공업체
Me.SRCjjungtableRow.시공년월 = 시공년월
Me.SRCjjungtableRow.비고1 = 기기명 '//비고 0,2 는 사용하지 않는다.
'Me.SRCjjungtableRow.비고3 = 비고
Me.SRCjjungtableRow.출력 = True
Me.SRCjjungtableRow.정렬번호 = True
Me.SRCjjungtableRow.관리구2 = 변압기관리구
Me.SRCjjungtableRow.전산번호2 = 변압기전산번호
Me.SRCjjungtableRow.변압기명 = 선로번호_변압
Me.SRCjjungtableRow.변압기선로 = 선로명_변압
Me.SRCjjungtableRow.전원측 = 전원측
Me.SRCjjungtableRow.부하측 = 부하측
Me.SRCjjungtableRow.제조년월 = 제조년월
Me.SRCjjungtableRow.제조회사 = 제조회사
Me.SRC지중세부.Rows.Add(Me.SRCjjungtableRow)
' Catch ex As ConstraintException '//중복
' ' AddLog("번호중복", "중복된 번호:" & 번호)
End If
Catch ex As Exception
MsgBox("가져오기오류!" & 관리id & "/" & 번호 & vbCrLf & ex.ToString)
'AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRC지중세부
Me.CustFP2.ActiveSheet.Columns(11).Label = "기기명"
'Me.CustFP2.ActiveSheet.Columns(11).Width = 0
'Me.CustFP2.ActiveSheet.Columns(19).Width = 0
End Sub
Private Sub ApplyETC() '//적용루틴 끝에 추가를 해주는것뿐이다 (기타번호찰)
Dim 번호 As Integer '//번호는 notnull 이다
Dim 관리구 As String '//번호는 notnull 이다
Dim 전산번호 As String '//번호는 notnull 이다
Dim 선로명 As String '//번호는 notnull 이다
Dim 번호1 As String '//번호는 notnull 이다
Dim 번호2 As String '//번호는 notnull 이다
Dim 번호3 As String '//번호는 notnull 이다
Dim 번호4 As String '//번호는 notnull 이다
Dim 번호5 As String '//번호는 notnull 이다
Dim 비고1 As String '//번호는 notnull 이다
Dim 비고2 As String '//번호는 notnull 이다
Dim 비고3 As String '//번호는 notnull 이다
Dim 비고4 As String '//번호는 notnull 이다
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
Dim index As Integer = 0
Me.SRC기타세부.Clear()
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index
관리구 = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
전산번호 = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
선로명 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
번호1 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
번호2 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
번호3 = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
번호4 = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
번호5 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
'장척 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
'시공년월 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper
'시공자 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper
비고1 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
비고2 = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
비고3 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
비고4 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(관리구.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(전산번호.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(선로명.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(번호1.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(번호2.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(번호3.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(번호4.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(번호5.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(비고1.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(비고2.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(비고3.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(비고4.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SRCetctableRow = Me.SRC기타세부.NewEtcTableRow '//임시테이블
Me.SRCetctableRow.rowid = System.Guid.NewGuid
Me.SRCetctableRow.관리ID = 관리id
Me.SRCetctableRow.번호 = index
Me.SRCetctableRow.관리구 = 관리구
Me.SRCetctableRow.전주번호 = 전산번호
Me.SRCetctableRow.선로명 = 선로명
Me.SRCetctableRow.번호1 = 번호1
Me.SRCetctableRow.번호2 = 번호2
Me.SRCetctableRow.번호3 = 번호3
Me.SRCetctableRow.번호4 = 번호4
Me.SRCetctableRow.번호5 = 번호5
Me.SRCetctableRow.비고1 = 비고1
Me.SRCetctableRow.비고2 = 비고2
Me.SRCetctableRow.비고3 = 비고3
Me.SRCetctableRow.비고4 = 비고4
Me.SRCetctableRow.출력 = True
Me.SRCetctableRow.정렬번호 = True
Me.SRC기타세부.Rows.Add(Me.SRCetctableRow)
End If
Catch ex As ConstraintException '//중복
' AddLog("번호중복", "중복된 번호:" & 번호)
Catch ex As Exception
' AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRC기타세부
Me.CustFP2.ActiveSheet.Columns(0).Width = 0
Me.CustFP2.ActiveSheet.Columns(1).Width = 0
End Sub
Private Sub ApplyDeung() '//정액등 미리보기
Dim 번호 As Integer '//번호는 notnull 이다
Dim 고객번호1, 고객번호2, 고객번호3 As String '//번호는 notnull 이다
Dim 관리번호1, 관리번호2, 관리번호3 As String '//번호는 notnull 이다
Dim 지점명 As String
Dim 전산화번호1, 전산화번호2 As String
Dim 선로명 As String
Dim 전주번호1, 전주번호2, 전주번호3 As String
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("(임시)데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
Dim index As Integer = 0
Me.SRCDetail_Deung.Clear() '//기존데이터 삭제
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index
고객번호1 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
고객번호2 = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
고객번호3 = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
관리번호1 = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
관리번호2 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
관리번호3 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
지점명 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
전산화번호1 = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
전산화번호2 = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
선로명 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
전주번호1 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
전주번호2 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
전주번호3 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal &= IIf(고객번호1.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(고객번호2.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(고객번호3.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(관리번호1.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(관리번호2.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(관리번호3.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(지점명.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(전산화번호1.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(전산화번호2.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(선로명.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(전주번호1.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(전주번호2.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(전주번호3.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SrcdeungTablerow = Me.SRCDetail_Deung.NewDetail_DeungRow '//임시테이블
Me.SrcdeungTablerow.rowid = System.Guid.NewGuid
Me.SrcdeungTablerow.관리ID = 관리id
Me.SrcdeungTablerow.번호 = index
Me.SrcdeungTablerow.고객번호1 = 고객번호1
Me.SrcdeungTablerow.고객번호2 = 고객번호2
Me.SrcdeungTablerow.고객번호3 = 고객번호3
Me.SrcdeungTablerow.관리번호1 = 관리번호1
Me.SrcdeungTablerow.관리번호2 = 관리번호2
Me.SrcdeungTablerow.관리번호3 = 관리번호3
Me.SrcdeungTablerow.지점명 = 지점명
Me.SrcdeungTablerow.전산화번호1 = 전산화번호1
Me.SrcdeungTablerow.전산화번호2 = 전산화번호2
Me.SrcdeungTablerow.선로명 = 선로명
Me.SrcdeungTablerow.전주번호1 = 전주번호1
Me.SrcdeungTablerow.전주번호2 = 전주번호2
Me.SrcdeungTablerow.전주번호3 = 전주번호3
Me.SrcdeungTablerow.출력 = True
Me.SrcdeungTablerow.정렬번호 = ""
Me.SRCDetail_Deung.Rows.Add(Me.SrcdeungTablerow)
'
End If
Catch ex As ConstraintException '//중복
' AddLog("번호중복", "중복된 번호:" & 번호)
Catch ex As Exception
' AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRCDetail_Deung
Me.CustFP2.ActiveSheet.Columns(0).Width = 0
Me.CustFP2.ActiveSheet.Columns(1).Width = 0
Me.CustFP2.ActiveSheet.Columns(2).Width = 0
Me.CustFP2.ActiveSheet.Columns(7).Width = 0
Me.CustFP2.ActiveSheet.Columns(8).Width = 0
Me.CustFP2.ActiveSheet.Columns(9).Width = 0
Me.CustFP2.ActiveSheet.Columns(10).Width = 0
End Sub
Private Sub Apply가공_기기() '//정액등 미리보기
Dim 번호 As Integer '//번호는 notnull 이다
Dim 관리구, 전산화번호 As String '//번호는 notnull 이다
Dim 번호1, 번호2, 번호3, 번호4, 번호5 As String '//번호는 notnull 이다
Dim 회선11, 회선12, 회선21, 회선22, 회선31, 회선32 As String
Dim 선로명 As String
Dim 비고1, 비고2, 비고3, 비고4 As String
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("(임시)데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
Dim index As Integer = 0
Me.Src기기세부.Clear() '//기존데이터 삭제
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index
관리구 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
전산화번호 = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
선로명 = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
번호1 = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
번호2 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
번호3 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
번호4 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
번호5 = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
회선11 = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
회선12 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
'회선13 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
'회선14 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
'회선15 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
회선21 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
회선22 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
'회선23 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
'회선24 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
'회선25 = Me.GetFPData(Me.ImpCtl19, Dr).ToUpper.Trim
회선31 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
회선32 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
'회선33 = Me.GetFPData(Me.ImpCtl22, Dr).ToUpper.Trim
'회선34 = Me.GetFPData(Me.ImpCtl23, Dr).ToUpper.Trim
'회선35 = Me.GetFPData(Me.ImpCtl24, Dr).ToUpper.Trim
비고1 = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
비고2 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
비고3 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
비고4 = Me.GetFPData(Me.ImpCtl19, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal &= IIf(관리구.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(전산화번호.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(선로명.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(번호1.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(번호2.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(번호3.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(번호4.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(번호5.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(회선11.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(회선12.Trim = "", "", "X")
'If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(회선13.Trim = "", "", "X")
'If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(회선14.Trim = "", "", "X")
'If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(회선15.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(회선21.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(회선22.Trim = "", "", "X")
'If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(회선23.Trim = "", "", "X")
'If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(회선24.Trim = "", "", "X")
'If Me.ImpCtl19.빈값체크 Then NullVal &= IIf(회선25.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(회선31.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(회선32.Trim = "", "", "X")
'If Me.ImpCtl22.빈값체크 Then NullVal &= IIf(회선33.Trim = "", "", "X")
'If Me.ImpCtl23.빈값체크 Then NullVal &= IIf(회선34.Trim = "", "", "X")
'If Me.ImpCtl24.빈값체크 Then NullVal &= IIf(회선35.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(비고1.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(비고2.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(비고3.Trim = "", "", "X")
If Me.ImpCtl19.빈값체크 Then NullVal &= IIf(비고4.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SrcKikiTableRow = Me.Src기기세부.NewDetail_kikiRow '//임시테이블
Me.SrcKikiTableRow.rowid = System.Guid.NewGuid
Me.SrcKikiTableRow.관리ID = 관리id
Me.SrcKikiTableRow.번호 = index
Me.SrcKikiTableRow.관리구 = 관리구
Me.SrcKikiTableRow.전주번호 = 전산화번호
Me.SrcKikiTableRow.선로명 = 선로명
Me.SrcKikiTableRow.번호1 = 번호1
Me.SrcKikiTableRow.번호2 = 번호2
Me.SrcKikiTableRow.번호3 = 번호3
Me.SrcKikiTableRow.번호4 = 번호4
Me.SrcKikiTableRow.번호5 = 번호5
Me.SrcKikiTableRow.회선11 = 회선11
Me.SrcKikiTableRow.회선12 = 회선12
'Me.SrcKikiTableRow.회선13 = 회선13
'Me.SrcKikiTableRow.회선14 = 회선14
'Me.SrcKikiTableRow.회선15 = 회선15
Me.SrcKikiTableRow.회선21 = 회선21
Me.SrcKikiTableRow.회선22 = 회선22
'Me.SrcKikiTableRow.회선23 = 회선23
'Me.SrcKikiTableRow.회선24 = 회선24
'Me.SrcKikiTableRow.회선25 = 회선25
Me.SrcKikiTableRow.회선31 = 회선31
Me.SrcKikiTableRow.회선32 = 회선32
'Me.SrcKikiTableRow.회선33 = 회선33
'Me.SrcKikiTableRow.회선34 = 회선34
'Me.SrcKikiTableRow.회선35 = 회선35
Me.SrcKikiTableRow.비고1 = 비고1
Me.SrcKikiTableRow.비고2 = 비고2
Me.SrcKikiTableRow.비고3 = 비고3
Me.SrcKikiTableRow.비고4 = 비고4
Me.SrcKikiTableRow.출력 = True
Me.SrcKikiTableRow.정렬번호 = ""
Me.Src기기세부.Rows.Add(Me.SrcKikiTableRow)
'
End If
Catch ex As ConstraintException '//중복
' AddLog("번호중복", "중복된 번호:" & 번호)
Catch ex As Exception
' AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.Src기기세부
Me.CustFP2.ActiveSheet.Columns(0).Width = 0
Me.CustFP2.ActiveSheet.Columns(1).Width = 0
'Me.CustFP2.ActiveSheet.Columns(10).Width = 0
'Me.CustFP2.ActiveSheet.Columns(11).Width = 0
'Me.CustFP2.ActiveSheet.Columns(12).Width = 0
'Me.CustFP2.ActiveSheet.Columns(13).Width = 0
'Me.CustFP2.ActiveSheet.Columns(26).Width = 0
'Me.CustFP2.ActiveSheet.Columns(27).Width = 0
End Sub
Private Sub Apply지중케이블2() '//적용루틴 끝에 추가를 해주는것뿐이다 (가공번호찰)
Dim 관리구 As String = ""
Dim 전산번호 As String = ""
Dim ha단자명 As String = ""
Dim HA구간 As String = ""
Dim HASS As String = ""
Dim HADL As String = ""
Dim HB단자명 As String = ""
Dim HBSS As String = ""
Dim HBDL As String = ""
Dim HB구간 As String = ""
Dim S1번호1 As String = ""
Dim S1번호2 As String = ""
Dim S1번호3 As String = ""
'Dim S1번호4 As String = ""
Dim S1SW명 As String = ""
'Dim S1위치 As String = ""
Dim s2번호1 As String = ""
Dim s2번호2 As String = ""
Dim s2번호3 As String = ""
'Dim s2번호4 As String = ""
Dim s2SW명 As String = ""
'Dim s2위치 As String = ""
Dim s3번호1 As String = ""
Dim s3번호2 As String = ""
Dim s3번호3 As String = ""
'Dim s3번호4 As String = ""
Dim s3SW명 As String = ""
'Dim s3위치 As String = ""
Dim s4번호1 As String = ""
Dim s4번호2 As String = ""
Dim s4번호3 As String = ""
'Dim s4번호4 As String = ""
Dim s4SW명 As String = ""
'Dim s4위치 As String = ""
Dim 비고1, 비고2, 비고3, 비고4, 비고5, 비고6 As String
Dim 번호 As Integer '//번호는 notnull 이다
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
'//src지중세부 테이블에 데이터를 기록한다.
Me.SRCDetail_Cable.Clear()
Dim index As Integer = 0
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
Me.SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index ' Me.GetItemFP(Dr, Me.TextBox5, Me.TextBox42, True).ToString.ToUpper '//번호는 notnull 이다
관리구 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
전산번호 = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
ha단자명 = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
HASS = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
HADL = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
HA구간 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
HB단자명 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
HBSS = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
HBDL = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
HB구간 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
S1번호1 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
S1번호2 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
S1번호3 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
' S1번호4 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
S1SW명 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
'S1위치 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
s2번호1 = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
s2번호2 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
s2번호3 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
's2번호4 = Me.GetFPData(Me.ImpCtl21, Dr).ToUpper.Trim
s2SW명 = Me.GetFPData(Me.ImpCtl19, Dr).ToUpper.Trim
's2위치 = Me.GetFPData(Me.ImpCtl23, Dr).ToUpper.Trim
s3번호1 = Me.GetFPData(Me.ImpCtl20, Dr).ToUpper.Trim
s3번호2 = Me.GetFPData(Me.ImpCtl21, Dr).ToUpper.Trim
s3번호3 = Me.GetFPData(Me.ImpCtl22, Dr).ToUpper.Trim
's3번호4 = Me.GetFPData(Me.ImpCtl27, Dr).ToUpper.Trim
s3SW명 = Me.GetFPData(Me.ImpCtl23, Dr).ToUpper.Trim
's3위치 = Me.GetFPData(Me.ImpCtl29, Dr).ToUpper.Trim
s4번호1 = Me.GetFPData(Me.ImpCtl24, Dr).ToUpper.Trim
s4번호2 = Me.GetFPData(Me.ImpCtl25, Dr).ToUpper.Trim
s4번호3 = Me.GetFPData(Me.ImpCtl26, Dr).ToUpper.Trim
's4번호4 = Me.GetFPData(Me.ImpCtl33, Dr).ToUpper.Trim
s4SW명 = Me.GetFPData(Me.ImpCtl27, Dr).ToUpper.Trim
's4위치 = Me.GetFPData(Me.ImpCtl35, Dr).ToUpper.Trim
'시공년월 = Me.GetFPData(Me.ImpCtl40, Dr).ToUpper.Trim
'시공회사 = Me.GetFPData(Me.ImpCtl41, Dr).ToUpper.Trim
'공사번호 = Me.GetFPData(Me.ImpCtl42, Dr).ToUpper.Trim
'감독자 = Me.GetFPData(Me.ImpCtl43, Dr).ToUpper.Trim
비고1 = Me.GetFPData(Me.ImpCtl28, Dr).ToUpper.Trim
비고2 = Me.GetFPData(Me.ImpCtl29, Dr).ToUpper.Trim
비고3 = Me.GetFPData(Me.ImpCtl30, Dr).ToUpper.Trim
비고4 = Me.GetFPData(Me.ImpCtl31, Dr).ToUpper.Trim
비고5 = Me.GetFPData(Me.ImpCtl32, Dr).ToUpper.Trim
비고6 = Me.GetFPData(Me.ImpCtl33, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal &= IIf(관리구.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(전산번호.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(ha단자명.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(HASS.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(HADL.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(HA구간.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(HB단자명.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(HBSS.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(HBDL.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(HB구간.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(S1번호1.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(S1번호2.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(S1번호3.Trim = "", "", "X")
'If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(S1번호4.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(S1SW명.Trim = "", "", "X")
' If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(S1위치.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(s2번호1.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(s2번호2.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(s2번호3.Trim = "", "", "X")
'If Me.ImpCtl21.빈값체크 Then NullVal &= IIf(s2번호4.Trim = "", "", "X")
If Me.ImpCtl19.빈값체크 Then NullVal &= IIf(s2SW명.Trim = "", "", "X")
'If Me.ImpCtl23.빈값체크 Then NullVal &= IIf(s2위치.Trim = "", "", "X")
If Me.ImpCtl20.빈값체크 Then NullVal &= IIf(s3번호1.Trim = "", "", "X")
If Me.ImpCtl21.빈값체크 Then NullVal &= IIf(s3번호2.Trim = "", "", "X")
If Me.ImpCtl22.빈값체크 Then NullVal &= IIf(s3번호3.Trim = "", "", "X")
'If Me.ImpCtl27.빈값체크 Then NullVal &= IIf(s3번호4.Trim = "", "", "X")
If Me.ImpCtl23.빈값체크 Then NullVal &= IIf(s3SW명.Trim = "", "", "X")
'If Me.ImpCtl29.빈값체크 Then NullVal &= IIf(s3위치.Trim = "", "", "X")
If Me.ImpCtl24.빈값체크 Then NullVal &= IIf(s4번호1.Trim = "", "", "X")
If Me.ImpCtl25.빈값체크 Then NullVal &= IIf(s4번호2.Trim = "", "", "X")
If Me.ImpCtl26.빈값체크 Then NullVal &= IIf(s4번호3.Trim = "", "", "X")
'If Me.ImpCtl33.빈값체크 Then NullVal &= IIf(s4번호4.Trim = "", "", "X")
If Me.ImpCtl27.빈값체크 Then NullVal &= IIf(s4SW명.Trim = "", "", "X")
'If Me.ImpCtl35.빈값체크 Then NullVal &= IIf(s4위치.Trim = "", "", "X")
'If Me.ImpCtl40.빈값체크 Then NullVal &= IIf(시공년월.Trim = "", "", "X")
'If Me.ImpCtl41.빈값체크 Then NullVal &= IIf(시공회사.Trim = "", "", "X")
'If Me.ImpCtl42.빈값체크 Then NullVal &= IIf(공사번호.Trim = "", "", "X")
'If Me.ImpCtl43.빈값체크 Then NullVal &= IIf(감독자.Trim = "", "", "X")
If Me.ImpCtl28.빈값체크 Then NullVal &= IIf(비고1.Trim = "", "", "X")
If Me.ImpCtl29.빈값체크 Then NullVal &= IIf(비고2.Trim = "", "", "X")
If Me.ImpCtl30.빈값체크 Then NullVal &= IIf(비고3.Trim = "", "", "X")
If Me.ImpCtl31.빈값체크 Then NullVal &= IIf(비고4.Trim = "", "", "X")
If Me.ImpCtl32.빈값체크 Then NullVal &= IIf(비고5.Trim = "", "", "X")
If Me.ImpCtl33.빈값체크 Then NullVal &= IIf(비고6.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SRCCABLE2ROW = Me.SRCDetail_Cable2.NewDetail_Cable2Row
Me.SRCCABLE2ROW.rowid = System.Guid.NewGuid
Me.SRCCABLE2ROW.관리ID = 관리id
Me.SRCCABLE2ROW.번호 = 번호
Me.SRCCABLE2ROW.관리구 = 관리구
Me.SRCCABLE2ROW.전산번호 = 전산번호
Me.SRCCABLE2ROW.HA단자명 = ha단자명
Me.SRCCABLE2ROW.HASS = HASS
Me.SRCCABLE2ROW.HADL = HADL
Me.SRCCABLE2ROW.HA구간 = HA구간
Me.SRCCABLE2ROW.HB단자명 = HB단자명
Me.SRCCABLE2ROW.HBSS = HBSS
Me.SRCCABLE2ROW.HBDL = HBDL
Me.SRCCABLE2ROW.HB구간 = HB구간
Me.SRCCABLE2ROW.S1번호1 = S1번호1
Me.SRCCABLE2ROW.S1번호2 = S1번호2
Me.SRCCABLE2ROW.S1번호3 = S1번호3
'Me.SRCCABLE2ROW.S1번호4 = S1번호4
Me.SRCCABLE2ROW.S1SW명 = S1SW명
'Me.SRCCABLE2ROW.S1위치 = S1위치
Me.SRCCABLE2ROW.S2번호1 = s2번호1
Me.SRCCABLE2ROW.S2번호2 = s2번호2
Me.SRCCABLE2ROW.S2번호3 = s2번호3
'Me.SRCCABLE2ROW.S2번호4 = s2번호4
Me.SRCCABLE2ROW.S2SW명 = s2SW명
'Me.SRCCABLE2ROW.S2위치 = s2위치
Me.SRCCABLE2ROW.S3번호1 = s3번호1
Me.SRCCABLE2ROW.S3번호2 = s3번호2
Me.SRCCABLE2ROW.S3번호3 = s3번호3
'Me.SRCCABLE2ROW.S3번호4 = s3번호4
Me.SRCCABLE2ROW.S3SW명 = s3SW명
'Me.SRCCABLE2ROW.S3위치 = s3위치
Me.SRCCABLE2ROW.S4번호1 = s4번호1
Me.SRCCABLE2ROW.S4번호2 = s4번호2
Me.SRCCABLE2ROW.S4번호3 = s4번호3
'Me.SRCCABLE2ROW.S4번호4 = s4번호4
Me.SRCCABLE2ROW.S4SW명 = s4SW명
'Me.SRCCABLE2ROW.S4위치 = s4위치
'Me.SRCCABLE2ROW.시공년월 = 시공년월
'Me.SRCCABLE2ROW.시공회사 = 시공회사
'Me.SRCCABLE2ROW.공사번호 = 공사번호
'Me.SRCCABLE2ROW.감독자 = 감독자
Me.SRCCABLE2ROW.비고1 = 비고1
Me.SRCCABLE2ROW.비고2 = 비고2
Me.SRCCABLE2ROW.비고3 = 비고3
Me.SRCCABLE2ROW.비고4 = 비고4
Me.SRCCABLE2ROW.비고5 = 비고5
Me.SRCCABLE2ROW.비고6 = 비고6
Me.SRCCABLE2ROW.출력 = True
Me.SRCCABLE2ROW.정렬번호 = ""
Me.SRCDetail_Cable2.Rows.Add(Me.SRCCABLE2ROW)
' Catch ex As ConstraintException '//중복
' ' AddLog("번호중복", "중복된 번호:" & 번호)
End If
Catch ex As Exception
MsgBox("가져오기오류!" & 관리id & "/" & 번호 & vbCrLf & ex.ToString)
'AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRCDetail_Cable2
End Sub
Private Sub Apply지중케이블() '//적용루틴 끝에 추가를 해주는것뿐이다 (가공번호찰)
Dim 관리구 As String = ""
Dim 전산번호 As String = ""
Dim HA구간 As String = ""
Dim HASS As String = ""
Dim HADL As String = ""
Dim HBSS As String = ""
Dim HBDL As String = ""
Dim HB구간 As String = ""
Dim S0번호1 As String = ""
Dim S0번호2 As String = ""
Dim S0번호3 As String = ""
Dim S0번호4 As String = ""
Dim S0SW명 As String = ""
Dim S0수용가 As String = ""
Dim S1번호1 As String = ""
Dim S1번호2 As String = ""
Dim S1번호3 As String = ""
Dim S1번호4 As String = ""
Dim S1SW명 As String = ""
Dim S1위치 As String = ""
Dim s2번호1 As String = ""
Dim s2번호2 As String = ""
Dim s2번호3 As String = ""
Dim s2번호4 As String = ""
Dim s2SW명 As String = ""
Dim s2위치 As String = ""
Dim s3번호1 As String = ""
Dim s3번호2 As String = ""
Dim s3번호3 As String = ""
Dim s3번호4 As String = ""
Dim s3SW명 As String = ""
Dim s3위치 As String = ""
Dim s4번호1 As String = ""
Dim s4번호2 As String = ""
Dim s4번호3 As String = ""
Dim s4번호4 As String = ""
Dim s4SW명 As String = ""
Dim s4위치 As String = ""
Dim 시공년월 As String = ""
Dim 시공회사 As String = ""
Dim 공사번호 As String = ""
Dim 감독자 As String = ""
Dim ha단자명, hb단자명 As String
Dim 비고1, 비고2, 비고3, 비고4, 비고5, 비고6 As String
Dim 번호 As Integer '//번호는 notnull 이다
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
'//src지중세부 테이블에 데이터를 기록한다.
Me.SRCDetail_Cable.Clear()
Dim index As Integer = 0
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
Me.SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index ' Me.GetItemFP(Dr, Me.TextBox5, Me.TextBox42, True).ToString.ToUpper '//번호는 notnull 이다
관리구 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
전산번호 = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
HASS = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
HADL = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
HA구간 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
HBSS = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
HBDL = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
HB구간 = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
S0번호1 = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
S0번호2 = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
S0번호3 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
S0번호4 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
S0SW명 = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
S0수용가 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
S1번호1 = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
S1번호2 = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
S1번호3 = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
S1번호4 = Me.GetFPData(Me.ImpCtl19, Dr).ToUpper.Trim
S1SW명 = Me.GetFPData(Me.ImpCtl20, Dr).ToUpper.Trim
S1위치 = Me.GetFPData(Me.ImpCtl21, Dr).ToUpper.Trim
s2번호1 = Me.GetFPData(Me.ImpCtl22, Dr).ToUpper.Trim
s2번호2 = Me.GetFPData(Me.ImpCtl23, Dr).ToUpper.Trim
s2번호3 = Me.GetFPData(Me.ImpCtl24, Dr).ToUpper.Trim
s2번호4 = Me.GetFPData(Me.ImpCtl25, Dr).ToUpper.Trim
s2SW명 = Me.GetFPData(Me.ImpCtl26, Dr).ToUpper.Trim
s2위치 = Me.GetFPData(Me.ImpCtl27, Dr).ToUpper.Trim
s3번호1 = Me.GetFPData(Me.ImpCtl28, Dr).ToUpper.Trim
s3번호2 = Me.GetFPData(Me.ImpCtl29, Dr).ToUpper.Trim
s3번호3 = Me.GetFPData(Me.ImpCtl30, Dr).ToUpper.Trim
s3번호4 = Me.GetFPData(Me.ImpCtl31, Dr).ToUpper.Trim
s3SW명 = Me.GetFPData(Me.ImpCtl32, Dr).ToUpper.Trim
s3위치 = Me.GetFPData(Me.ImpCtl33, Dr).ToUpper.Trim
s4번호1 = Me.GetFPData(Me.ImpCtl34, Dr).ToUpper.Trim
s4번호2 = Me.GetFPData(Me.ImpCtl35, Dr).ToUpper.Trim
s4번호3 = Me.GetFPData(Me.ImpCtl36, Dr).ToUpper.Trim
s4번호4 = Me.GetFPData(Me.ImpCtl37, Dr).ToUpper.Trim
s4SW명 = Me.GetFPData(Me.ImpCtl38, Dr).ToUpper.Trim
s4위치 = Me.GetFPData(Me.ImpCtl39, Dr).ToUpper.Trim
시공년월 = Me.GetFPData(Me.ImpCtl40, Dr).ToUpper.Trim
시공회사 = Me.GetFPData(Me.ImpCtl41, Dr).ToUpper.Trim
공사번호 = Me.GetFPData(Me.ImpCtl42, Dr).ToUpper.Trim
감독자 = Me.GetFPData(Me.ImpCtl43, Dr).ToUpper.Trim
비고1 = Me.GetFPData(Me.ImpCtl44, Dr).ToUpper.Trim
비고2 = Me.GetFPData(Me.ImpCtl45, Dr).ToUpper.Trim
비고3 = Me.GetFPData(Me.ImpCtl46, Dr).ToUpper.Trim
비고4 = Me.GetFPData(Me.ImpCtl47, Dr).ToUpper.Trim
비고5 = Me.GetFPData(Me.ImpCtl48, Dr).ToUpper.Trim
비고6 = Me.GetFPData(Me.ImpCtl49, Dr).ToUpper.Trim
ha단자명 = Me.GetFPData(Me.ImpCtl50, Dr).ToUpper.Trim
hb단자명 = Me.GetFPData(Me.ImpCtl51, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal &= IIf(관리구.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(전산번호.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(HASS.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(HADL.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(HA구간.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(HBSS.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(HBDL.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(HB구간.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(S0번호1.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(S0번호2.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(S0번호3.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(S0번호4.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(S0SW명.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(S0수용가.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(S1번호1.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(S1번호2.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(S1번호3.Trim = "", "", "X")
If Me.ImpCtl19.빈값체크 Then NullVal &= IIf(S1번호4.Trim = "", "", "X")
If Me.ImpCtl20.빈값체크 Then NullVal &= IIf(S1SW명.Trim = "", "", "X")
If Me.ImpCtl21.빈값체크 Then NullVal &= IIf(S1위치.Trim = "", "", "X")
If Me.ImpCtl22.빈값체크 Then NullVal &= IIf(s2번호1.Trim = "", "", "X")
If Me.ImpCtl23.빈값체크 Then NullVal &= IIf(s2번호2.Trim = "", "", "X")
If Me.ImpCtl24.빈값체크 Then NullVal &= IIf(s2번호3.Trim = "", "", "X")
If Me.ImpCtl25.빈값체크 Then NullVal &= IIf(s2번호4.Trim = "", "", "X")
If Me.ImpCtl26.빈값체크 Then NullVal &= IIf(s2SW명.Trim = "", "", "X")
If Me.ImpCtl27.빈값체크 Then NullVal &= IIf(s2위치.Trim = "", "", "X")
If Me.ImpCtl28.빈값체크 Then NullVal &= IIf(s3번호1.Trim = "", "", "X")
If Me.ImpCtl29.빈값체크 Then NullVal &= IIf(s3번호2.Trim = "", "", "X")
If Me.ImpCtl30.빈값체크 Then NullVal &= IIf(s3번호3.Trim = "", "", "X")
If Me.ImpCtl31.빈값체크 Then NullVal &= IIf(s3번호4.Trim = "", "", "X")
If Me.ImpCtl32.빈값체크 Then NullVal &= IIf(s3SW명.Trim = "", "", "X")
If Me.ImpCtl33.빈값체크 Then NullVal &= IIf(s3위치.Trim = "", "", "X")
If Me.ImpCtl34.빈값체크 Then NullVal &= IIf(s4번호1.Trim = "", "", "X")
If Me.ImpCtl35.빈값체크 Then NullVal &= IIf(s4번호2.Trim = "", "", "X")
If Me.ImpCtl36.빈값체크 Then NullVal &= IIf(s4번호3.Trim = "", "", "X")
If Me.ImpCtl37.빈값체크 Then NullVal &= IIf(s4번호4.Trim = "", "", "X")
If Me.ImpCtl38.빈값체크 Then NullVal &= IIf(s4SW명.Trim = "", "", "X")
If Me.ImpCtl39.빈값체크 Then NullVal &= IIf(s4위치.Trim = "", "", "X")
If Me.ImpCtl40.빈값체크 Then NullVal &= IIf(시공년월.Trim = "", "", "X")
If Me.ImpCtl41.빈값체크 Then NullVal &= IIf(시공회사.Trim = "", "", "X")
If Me.ImpCtl42.빈값체크 Then NullVal &= IIf(공사번호.Trim = "", "", "X")
If Me.ImpCtl43.빈값체크 Then NullVal &= IIf(감독자.Trim = "", "", "X")
If Me.ImpCtl44.빈값체크 Then NullVal &= IIf(비고1.Trim = "", "", "X")
If Me.ImpCtl45.빈값체크 Then NullVal &= IIf(비고2.Trim = "", "", "X")
If Me.ImpCtl46.빈값체크 Then NullVal &= IIf(비고3.Trim = "", "", "X")
If Me.ImpCtl47.빈값체크 Then NullVal &= IIf(비고4.Trim = "", "", "X")
If Me.ImpCtl48.빈값체크 Then NullVal &= IIf(비고5.Trim = "", "", "X")
If Me.ImpCtl49.빈값체크 Then NullVal &= IIf(비고6.Trim = "", "", "X")
If Me.ImpCtl50.빈값체크 Then NullVal &= IIf(ha단자명.Trim = "", "", "X")
If Me.ImpCtl51.빈값체크 Then NullVal &= IIf(hb단자명.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SRCCABLEROW = Me.SRCDetail_Cable.NewDetail_CableRow
Me.SRCCABLEROW.rowid = System.Guid.NewGuid
Me.SRCCABLEROW.관리ID = 관리id
Me.SRCCABLEROW.번호 = 번호
Me.SRCCABLEROW.관리구 = 관리구
Me.SRCCABLEROW.전산번호 = 전산번호
Me.SRCCABLEROW.HASS = HASS
Me.SRCCABLEROW.HADL = HADL
Me.SRCCABLEROW.HA구간 = HA구간
Me.SRCCABLEROW.HBSS = HBSS
Me.SRCCABLEROW.HBDL = HBDL
Me.SRCCABLEROW.HB구간 = HB구간
Me.SRCCABLEROW.S0번호1 = S0번호1
Me.SRCCABLEROW.S0번호2 = S0번호2
Me.SRCCABLEROW.S0번호3 = S0번호3
Me.SRCCABLEROW.S0번호4 = S0번호4
Me.SRCCABLEROW.S0SW명 = S0SW명
Me.SRCCABLEROW.S0수용가 = S0수용가
Me.SRCCABLEROW.S1번호1 = S1번호1
Me.SRCCABLEROW.S1번호2 = S1번호2
Me.SRCCABLEROW.S1번호3 = S1번호3
Me.SRCCABLEROW.S1번호4 = S1번호4
Me.SRCCABLEROW.S1SW명 = S1SW명
Me.SRCCABLEROW.S1위치 = S1위치
Me.SRCCABLEROW.S2번호1 = s2번호1
Me.SRCCABLEROW.S2번호2 = s2번호2
Me.SRCCABLEROW.S2번호3 = s2번호3
Me.SRCCABLEROW.S2번호4 = s2번호4
Me.SRCCABLEROW.S2SW명 = s2SW명
Me.SRCCABLEROW.S2위치 = s2위치
Me.SRCCABLEROW.S3번호1 = s3번호1
Me.SRCCABLEROW.S3번호2 = s3번호2
Me.SRCCABLEROW.S3번호3 = s3번호3
Me.SRCCABLEROW.S3번호4 = s3번호4
Me.SRCCABLEROW.S3SW명 = s3SW명
Me.SRCCABLEROW.S3위치 = s3위치
Me.SRCCABLEROW.S4번호1 = s4번호1
Me.SRCCABLEROW.S4번호2 = s4번호2
Me.SRCCABLEROW.S4번호3 = s4번호3
Me.SRCCABLEROW.S4번호4 = s4번호4
Me.SRCCABLEROW.S4SW명 = s4SW명
Me.SRCCABLEROW.S4위치 = s4위치
Me.SRCCABLEROW.시공년월 = 시공년월
Me.SRCCABLEROW.시공회사 = 시공회사
Me.SRCCABLEROW.공사번호 = 공사번호
Me.SRCCABLEROW.감독자 = 감독자
Me.SRCCABLEROW.비고1 = 비고1
Me.SRCCABLEROW.비고2 = 비고2
Me.SRCCABLEROW.비고3 = 비고3
Me.SRCCABLEROW.비고4 = 비고4
Me.SRCCABLEROW.비고5 = 비고5
Me.SRCCABLEROW.비고6 = 비고6
Me.SRCCABLEROW.HA단자명 = ha단자명
Me.SRCCABLEROW.HB단자명 = hb단자명
Me.SRCCABLEROW.출력 = True
Me.SRCCABLEROW.정렬번호 = ""
Me.SRCDetail_Cable.Rows.Add(Me.SRCCABLEROW)
' Catch ex As ConstraintException '//중복
' ' AddLog("번호중복", "중복된 번호:" & 번호)
End If
Catch ex As Exception
MsgBox("가져오기오류!" & 관리id & "/" & 번호 & vbCrLf & ex.ToString)
'AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRCDetail_Cable
End Sub
Private Sub Apply지중케이블라벨() '//적용루틴 끝에 추가를 해주는것뿐이다 (가공번호찰)
Dim N10 As String = ""
Dim N1D As String = ""
Dim N1S As String = ""
Dim N1L As String = ""
Dim N1H1 As String = ""
Dim N1H2 As String = ""
Dim N20 As String = ""
Dim N2J As String = ""
Dim N2K As String = ""
Dim N2B As String = ""
Dim N21 As String = ""
Dim N22 As String = ""
Dim N2C As String = ""
Dim N30 As String = ""
Dim N3J As String = ""
Dim N3K As String = ""
Dim N3B As String = ""
Dim N31 As String = ""
Dim N32 As String = ""
Dim N3C As String = ""
'Dim 비고1, 비고2, 비고3 As String
Dim 번호 As Integer '//번호는 notnull 이다
Dim NullChk As Boolean = Me.NullCHeck
Dim NullVal As String = ""
Dim cnt As Integer = -1
NOTICE("데이터베이스에 기록합니다(취소불가능)", Me.lb_msg)
Dim StartCnt As Integer = CInt(Me.tb_scnt.Text)
Dim EndCnt As Integer = IIf(CInt(Me.tb_ecnt.Text) = 0, Me.CustFP1.ActiveSheet.RowCount, CInt(Me.tb_ecnt.Text))
'//src지중세부 테이블에 데이터를 기록한다.
Me.SRCDetail_CableLABEL.Clear()
Dim index As Integer = 0
For Each Dr As FarPoint.Win.Spread.Row In Me.CustFP1.ActiveSheet.Rows '//모든로우에해당하는데 시작줄부터한다
If Dr.Index + 1 >= StartCnt AndAlso Dr.Index + 1 <= EndCnt Then '//시작인덱스 이상일경우에만 한다.
index += 1
Me.SHowCnt(index, EndCnt)
NullVal = False
Try
번호 = index ' Me.GetItemFP(Dr, Me.TextBox5, Me.TextBox42, True).ToString.ToUpper '//번호는 notnull 이다
N10 = Me.GetFPData(Me.ImpCtl2, Dr).ToUpper.Trim
N1D = Me.GetFPData(Me.ImpCtl3, Dr).ToUpper.Trim
N1S = Me.GetFPData(Me.ImpCtl4, Dr).ToUpper.Trim
N1L = Me.GetFPData(Me.ImpCtl5, Dr).ToUpper.Trim
N1H1 = Me.GetFPData(Me.ImpCtl6, Dr).ToUpper.Trim
N1H2 = Me.GetFPData(Me.ImpCtl7, Dr).ToUpper.Trim
N20 = Me.GetFPData(Me.ImpCtl8, Dr).ToUpper.Trim
N2J = Me.GetFPData(Me.ImpCtl9, Dr).ToUpper.Trim
N2K = Me.GetFPData(Me.ImpCtl10, Dr).ToUpper.Trim
N2B = Me.GetFPData(Me.ImpCtl11, Dr).ToUpper.Trim
N21 = Me.GetFPData(Me.ImpCtl12, Dr).ToUpper.Trim
N22 = Me.GetFPData(Me.ImpCtl13, Dr).ToUpper.Trim
N2C = Me.GetFPData(Me.ImpCtl14, Dr).ToUpper.Trim
N30 = Me.GetFPData(Me.ImpCtl15, Dr).ToUpper.Trim
N3J = Me.GetFPData(Me.ImpCtl16, Dr).ToUpper.Trim
N3K = Me.GetFPData(Me.ImpCtl17, Dr).ToUpper.Trim
N3B = Me.GetFPData(Me.ImpCtl18, Dr).ToUpper.Trim
N31 = Me.GetFPData(Me.ImpCtl19, Dr).ToUpper.Trim
N32 = Me.GetFPData(Me.ImpCtl20, Dr).ToUpper.Trim
N3C = Me.GetFPData(Me.ImpCtl21, Dr).ToUpper.Trim
'비고2 = Me.GetFPData(Me.ImpCtl22, Dr).ToUpper.Trim
'비고3 = Me.GetFPData(Me.ImpCtl23, Dr).ToUpper.Trim
If NullChk Then '//널값 체크시에 체크된것이 null이라면 nullval 을 true로 바꾼다.
NullVal = ""
If Me.ImpCtl2.빈값체크 Then NullVal &= IIf(N10.Trim = "", "", "X")
If Me.ImpCtl3.빈값체크 Then NullVal &= IIf(N1D.Trim = "", "", "X")
If Me.ImpCtl4.빈값체크 Then NullVal &= IIf(N1S.Trim = "", "", "X")
If Me.ImpCtl5.빈값체크 Then NullVal &= IIf(N1L.Trim = "", "", "X")
If Me.ImpCtl6.빈값체크 Then NullVal &= IIf(N1H1.Trim = "", "", "X")
If Me.ImpCtl7.빈값체크 Then NullVal &= IIf(N1H2.Trim = "", "", "X")
If Me.ImpCtl8.빈값체크 Then NullVal &= IIf(N20.Trim = "", "", "X")
If Me.ImpCtl9.빈값체크 Then NullVal &= IIf(N2J.Trim = "", "", "X")
If Me.ImpCtl10.빈값체크 Then NullVal &= IIf(N2K.Trim = "", "", "X")
If Me.ImpCtl11.빈값체크 Then NullVal &= IIf(N2B.Trim = "", "", "X")
If Me.ImpCtl12.빈값체크 Then NullVal &= IIf(N21.Trim = "", "", "X")
If Me.ImpCtl13.빈값체크 Then NullVal &= IIf(N22.Trim = "", "", "X")
If Me.ImpCtl14.빈값체크 Then NullVal &= IIf(N2C.Trim = "", "", "X")
If Me.ImpCtl15.빈값체크 Then NullVal &= IIf(N30.Trim = "", "", "X")
If Me.ImpCtl16.빈값체크 Then NullVal &= IIf(N3J.Trim = "", "", "X")
If Me.ImpCtl17.빈값체크 Then NullVal &= IIf(N3K.Trim = "", "", "X")
If Me.ImpCtl18.빈값체크 Then NullVal &= IIf(N3B.Trim = "", "", "X")
If Me.ImpCtl19.빈값체크 Then NullVal &= IIf(N31.Trim = "", "", "X")
If Me.ImpCtl20.빈값체크 Then NullVal &= IIf(N32.Trim = "", "", "X")
If Me.ImpCtl21.빈값체크 Then NullVal &= IIf(N3C.Trim = "", "", "X")
' If Me.ImpCtl22.빈값체크 Then NullVal &= IIf(비고2.Trim = "", "", "X")
'If Me.ImpCtl23.빈값체크 Then NullVal &= IIf(비고3.Trim = "", "", "X")
Else
NullVal = "X" '//기본false로 해줘야한다.
End If
If NullVal.Trim <> "" Then 'false일때만 추가한다. true는 널값이잇으므로 넘어간다.
Me.SRCCABLELABLEROW = Me.SRCDetail_CableLABEL.NewDetail_CableLabelRow
Me.SRCCABLELABLEROW.rowid = System.Guid.NewGuid
Me.SRCCABLELABLEROW.관리ID = 관리id
Me.SRCCABLELABLEROW.번호 = 번호
Me.SRCCABLELABLEROW.N10 = N10
Me.SRCCABLELABLEROW.N1D = N1D
Me.SRCCABLELABLEROW.N1S = N1S
Me.SRCCABLELABLEROW.N1L = N1L
Me.SRCCABLELABLEROW.N1H1 = N1H1
Me.SRCCABLELABLEROW.N1H2 = N1H2
Me.SRCCABLELABLEROW.N20 = N20
Me.SRCCABLELABLEROW.N2J = N2J
Me.SRCCABLELABLEROW.N2K = N2K
Me.SRCCABLELABLEROW.N2B = N2B
Me.SRCCABLELABLEROW.N21 = N21
Me.SRCCABLELABLEROW.N22 = N22
Me.SRCCABLELABLEROW.N2C = N2C
Me.SRCCABLELABLEROW.N30 = N30
Me.SRCCABLELABLEROW.N3J = N3J
Me.SRCCABLELABLEROW.N3K = N3K
Me.SRCCABLELABLEROW.N3B = N3B
Me.SRCCABLELABLEROW.N31 = N31
Me.SRCCABLELABLEROW.N32 = N32
Me.SRCCABLELABLEROW.N3C = N3C
Me.SRCCABLELABLEROW.출력 = True
Me.SRCCABLELABLEROW.정렬번호 = ""
Me.SRCDetail_CableLABEL.Rows.Add(Me.SRCCABLELABLEROW)
' Catch ex As ConstraintException '//중복
' ' AddLog("번호중복", "중복된 번호:" & 번호)
End If
Catch ex As Exception
MsgBox("가져오기오류!" & 관리id & "/" & 번호 & vbCrLf & ex.ToString)
'AddLog(ex.InnerException.ToString, ex.Message.ToString)
End Try
End If
Next
NOTICE("가져오기완료", Me.lb_msg)
Me.CustFP2.DataSource = Me.SRCDetail_CableLABEL
Dim Idx As Integer = 0
Me.CustFP2.ActiveSheet.Columns(0).Width = 0
Me.CustFP2.ActiveSheet.Columns(1).Width = 0
Me.CustFP2.ActiveSheet.Columns(2).Width = 0
Me.CustFP2.ActiveSheet.Columns(3).Width = 0
Me.CustFP2.ActiveSheet.Columns(4).Width = 0
Me.CustFP2.ActiveSheet.Columns(5).Width = 0
Me.CustFP2.ActiveSheet.Columns(6).Width = 0
Me.CustFP2.ActiveSheet.Columns(7).Width = 0
Me.CustFP2.ActiveSheet.Columns(8).Width = 0
Me.CustFP2.ActiveSheet.Columns(9).Width = 0
Me.CustFP2.ActiveSheet.Columns(10).Width = 0
Idx = 11
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "고압(전산번호)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "단자명"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "S/S"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "D/L"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "H1"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "H2"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "저압I(전산번호)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "저압번호"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "공급상"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "공급변압기"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "전산번호(전원측)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "전산번호(부하측)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "고객명"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "저압II(전산번호)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "저압번호"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "공급상"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "공급변압기"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "전산번호(전원측)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "전산번호(부하측)"
Idx += 1 : Me.CustFP2.ActiveSheet.Columns(Idx).Label = "고객명"
End Sub
Private Sub ToolStripButton2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
If Me.CustFP1.ActiveSheet.RowCount <= 0 Then
NOTICE("데이터가 없습니다", Me.lb_msg)
Exit Sub
End If
Select Case 관리구분
Case 0 '//가공번호찰
Me.Apply가공()
Case 1 '//지중번호찰
Me.Apply지중()
Case 9 '//기타수용번호찰
Me.ApplyETC()
Case 2 '//정액등
Me.ApplyDeung()
Case 4 '//정액등
Me.Apply가공_기기()
Case 6 '//정액등
Me.Apply지중케이블()
Case 7 '//정액등
Me.Apply지중케이블라벨()
Case 8 '//정액등
Me.Apply지중케이블2()
End Select
Me.CustFP2.ASetting_Load(False, Me.관리구분)
'If Me.관리구분 = 9 Then ApplyETC()
'If Me.관리구분 = 0 Then Apply()
End Sub
Private Sub CustFP1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles CustFP1.CellDoubleClick
If SelControl Is Nothing Then Return
SelControl.Text = Me.CustFP1.ActiveSheet.ActiveColumnIndex + 1
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Dim OD As New OpenFileDialog
Dim Aranini As New MyINI2(IniFile)
OD.FileName = Me.lb_file.Text
OD.Filter = "MS Office Excel WorkSheet(*.xls)|*.xls"
OD.FilterIndex = 1
' OD.RestoreDirectory = True
If OD.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
NOTICE("불러오기가 취소되었습니다", Me.lb_msg)
Else
Aranini.Write("normal", "file", OD.FileName)
Me.lb_file.Text = OD.FileName
ReadXls(OD.FileName)
End If
End Sub
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
'//기존에 존재하는 모든 데이터를 삭제하고 새로 추가합니다.
Select Case 관리구분
Case 0 '//가공
If Me.SrcDataSet.jjutable.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.jjutable.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.jjutable.Rows.Count - 1)
Me.SrcDataSet.jjutable.Rows(I).Delete()
Next
End If
Me.SrcDataSet.jjutable.Merge(Me.SRC전주세부)
Case 1 '//지중
If Me.SrcDataSet.jjungtable.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.jjungtable.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.jjungtable.Rows.Count - 1)
Me.SrcDataSet.jjungtable.Rows(I).Delete()
Next
End If
Me.SrcDataSet.jjungtable.Merge(Me.SRC지중세부)
Case 6 '//케이블
If Me.SrcDataSet.Detail_Cable.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.Detail_Cable.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.Detail_Cable.Rows.Count - 1)
Me.SrcDataSet.Detail_Cable.Rows(I).Delete()
Next
End If
Me.SrcDataSet.Detail_Cable.Merge(Me.SRCDetail_Cable)
Case 8 '//케이블
If Me.SrcDataSet.Detail_Cable2.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.Detail_Cable2.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.Detail_Cable2.Rows.Count - 1)
Me.SrcDataSet.Detail_Cable2.Rows(I).Delete()
Next
End If
Me.SrcDataSet.Detail_Cable2.Merge(Me.SRCDetail_Cable2)
Case 7 '//케이블라벨
If Me.SrcDataSet.Detail_CableLabel.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.Detail_CableLabel.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.Detail_CableLabel.Rows.Count - 1)
Me.SrcDataSet.Detail_CableLabel.Rows(I).Delete()
Next
End If
Me.SrcDataSet.Detail_CableLabel.Merge(Me.SRCDetail_CableLABEL)
Case 2 '//정액등
If Me.SrcDataSet.Detail_Deung.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.Detail_Deung.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.Detail_Deung.Rows.Count - 1)
Me.SrcDataSet.Detail_Deung.Rows(I).Delete()
Next
End If
Me.SrcDataSet.Detail_Deung.Merge(Me.SRCDetail_Deung)
Case 4 '//정액등
If Me.SrcDataSet.Detail_kiki.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.Detail_kiki.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.Detail_kiki.Rows.Count - 1)
Me.SrcDataSet.Detail_kiki.Rows(I).Delete()
Next
End If
Me.SrcDataSet.Detail_kiki.Merge(Me.Src기기세부)
Case 9 '//기타
If Me.SrcDataSet.EtcTable.Rows.Count <> 0 Then
NOTICE("기존의 자료를 삭제합니다", Me.lb_msg)
For I As Integer = Me.SrcDataSet.EtcTable.Rows.Count - 1 To 0 Step -1
Me.SHowCnt(I, Me.SrcDataSet.EtcTable.Rows.Count - 1)
Me.SrcDataSet.EtcTable.Rows(I).Delete()
Next
End If
Me.SrcDataSet.EtcTable.Merge(Me.SRC기타세부)
End Select
Me.Close()
End Sub
Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
'//기존에 존재하는 모든 데이터를 삭제하고 새로 추가합니다.
Select Case 관리구분
Case 0 '//가공
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.jjutable, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRC전주세부.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRC전주세부.Rows.Count - 1)
Me.SRC전주세부.Rows(I)("번호") = 최대값 + I + 1
Me.SRC전주세부.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.jjutable.Merge(Me.SRC전주세부)
Case 1 '//지중
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.jjungtable, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRC지중세부.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRC지중세부.Rows.Count - 1)
Me.SRC지중세부.Rows(I)("번호") = 최대값 + I + 1
Me.SRC지중세부.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.jjungtable.Merge(Me.SRC지중세부)
Case 6 '//지중ㅋ에ㅣ블
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.Detail_Cable, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRCDetail_Cable.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRCDetail_Cable.Rows.Count - 1)
Me.SRCDetail_Cable.Rows(I)("번호") = 최대값 + I + 1
Me.SRCDetail_Cable.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.Detail_Cable.Merge(Me.SRCDetail_Cable)
Case 8 '//지중ㅋ에ㅣ블
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.Detail_Cable2, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRCDetail_Cable2.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRCDetail_Cable2.Rows.Count - 1)
Me.SRCDetail_Cable2.Rows(I)("번호") = 최대값 + I + 1
Me.SRCDetail_Cable2.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.Detail_Cable2.Merge(Me.SRCDetail_Cable2)
Case 7 '//지중ㅋ에ㅣ블라벨
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.Detail_CableLabel, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRCDetail_CableLABEL.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRCDetail_CableLABEL.Rows.Count - 1)
Me.SRCDetail_CableLABEL.Rows(I)("번호") = 최대값 + I + 1
Me.SRCDetail_CableLABEL.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.Detail_CableLabel.Merge(Me.SRCDetail_CableLABEL)
Case 9 '//기타수용
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.EtcTable, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRC기타세부.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRC기타세부.Rows.Count - 1)
Me.SRC기타세부.Rows(I)("번호") = 최대값 + I + 1
Me.SRC기타세부.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.EtcTable.Merge(Me.SRC기타세부)
Case 2 '//정액등
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.Detail_Deung, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.SRCDetail_Deung.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.SRCDetail_Deung.Rows.Count - 1)
Me.SRCDetail_Deung.Rows(I)("번호") = 최대값 + I + 1
Me.SRCDetail_Deung.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.Detail_Deung.Merge(Me.SRCDetail_Deung)
Case 4 '//정액등
'//최대값을 찾습니다.
NOTICE("새로운 번호를 찾습니다", Me.lb_msg)
Dim 최대값 As Integer
Dim Dv As New DataView(Me.SrcDataSet.Detail_kiki, "", "번호 desc", DataViewRowState.CurrentRows)
If Dv.Count = 0 Then
최대값 = 0
Else
최대값 = Dv(0)("번호")
End If
NOTICE("번호를 새로 부여합니다", Me.lb_msg)
For I As Integer = 0 To Me.Src기기세부.Rows.Count - 1 '//추가는 번호를 새로 받는다.
Me.SHowCnt(I, Me.Src기기세부.Rows.Count - 1)
Me.Src기기세부.Rows(I)("번호") = 최대값 + I + 1
Me.Src기기세부.Rows(I)("출력") = True
Next
NOTICE("기존의 데이터와 병합합니다", Me.lb_msg)
Me.SrcDataSet.Detail_kiki.Merge(Me.Src기기세부)
End Select
Me.Close()
End Sub
Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click
Me.Close()
End Sub
Private Sub bt_colsizesave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_colsizesave.Click
Me.CustFP2.ASetting_Save(False, Me.관리구분)
End Sub
End Class