initial commit

This commit is contained in:
Chikyun
2019-02-23 23:02:52 +09:00
commit 52e5dbff19
477 changed files with 77326 additions and 0 deletions

416
Epole/MakeList.vb Normal file
View File

@@ -0,0 +1,416 @@
Imports ACC
Public Class MakeList
Private Function Terminate() As Boolean
Dim Msg As New System.Text.StringBuilder("프로그램을 종료하시겠습니까?")
If MsgBox(Msg.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "종료") = MsgBoxResult.Ok Then
End
Else
Return True
End If
End Function
Private Sub MakeList_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Me.CHk_Modify()
e.Cancel = Me.Terminate
'If Not Me.IreaDataSet1.HasChanges Then Return '//변경된게 없으면 바로 나간다.
'If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then
' Me.IreaDataSet1.RejectChanges()
'Else
' Try
' Me.BindingSource1.EndEdit()
' Me.ssableAdapter.Update(Me.IreaDataSet1.Maintable)
' IreaDataSet1.AcceptChanges()
' view1.ActiveSheet.GetDataView(True)
' Catch ex As Exception
' MsgBox("데이터베이스 업데이트중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR")
' Me.BindingSource1.CancelEdit()
' IreaDataSet1.RejectChanges()
' view1.ActiveSheet.GetDataView(True)
' End Try
'End If
End Sub
Private Sub MakeList_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.Control AndAlso e.Shift AndAlso e.KeyCode = Keys.F1 Then
Dim msg As String = InputBox("개발자 암호를 입력하세요.").ToLower()
If msg = "ARIN2506" Then
UserInfo.Type = E_AuthType.Demo
MessageBox.Show("개발자 로그인 성공", "확인", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
ElseIf e.Control AndAlso e.Shift AndAlso e.KeyCode = Keys.F12 Then
Dim msg As String = InputBox("관리자 암호를 입력하세요.").ToLower()
'msg += Now.ToString("yyyyMMdd")
msg = msg.Replace("gorhkd", "해광")
If msg = "해광" + Now.ToString("yyyyMMdd") Then
UserInfo.Type = E_AuthType.adm
MessageBox.Show("관리자 로그인 성공", "확인", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
End If
End Sub
Private Sub MakeList_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'//오래된 스타일파일을 변환합니다
'Dim S As New CEpole.Frm_ConvertINI
'S.GetFileList()
'If S.GetFileCount > 0 Then
' S.ShowDialog()
' End
'End If
Me.view1.ASetting_Load(False)
Select Case UserInfo.Type
Case E_AuthType.Dev
Me.lb_auth.Text = "[개발자]"
Me.lb_auth.ForeColor = Color.Green
Case E_AuthType.adm
Me.lb_auth.Text = "[관리자]"
Me.lb_auth.ForeColor = Color.Blue
Case E_AuthType.Demo
Me.lb_auth.Text = "[임시사용자]"
Me.lb_auth.ForeColor = Color.Blue
Case E_AuthType.Normal
Me.lb_auth.Text = "[정상사용자]"
Me.lb_auth.ForeColor = Color.Black
End Select
For Each Obj As ToolStripMenuItem In Me.mbt_addnew.DropDownItems
If Not Obj.Tag Is Nothing Then '//태그가있는 아이템의 권한을 확인한다.
If UserInfo.Type = E_AuthType.Dev Then
Obj.Visible = True
Else
Obj.Visible = False
For Each C As Char In UserInfo.Permission
' MsgBox(C & "//" & Obj.Tag.ToString)
If Obj.Tag.ToString.ToUpper = C.ToString.ToUpper Then '//태그가같다면 사용가능
Obj.Visible = True
Exit For
End If
Next
End If
End If
Next
If UserInfo.Type = E_AuthType.Demo Then
If DemoDlg.ShowDialog() <> Windows.Forms.DialogResult.OK Then End
End If
Me.Text = My.Application.Info.ProductName & " Ver. {0}.{1:00}.{2}.{3}"
Me.Text = System.String.Format(Me.Text, My.Application.Info.Version.Major, My.Application.Info.Version.Minor, My.Application.Info.Version.Build, My.Application.Info.Version.Revision)
Me.view1.Font = New Font(ViewFont.FontName, ViewFont.FontSize, Me.Font.Style) '//글자정보 불러오기
' Me.ToolStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.bn.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.StatusStrip1.Font = New Font(MenuFont.FontName, MenuFont.FontSize, Me.Font.Style) '//글자정보 불러오기
Me.Display_Data() '//데이터를 보여준다.
Me.SETTOOLTIP()
Me.SetFarPoint()
End Sub
Private Sub SETTOOLTIP()
Dim TMSG As New System.Text.StringBuilder()
TMSG.AppendLine()
TMSG.AppendLine("더블클릭시에는 세부내역을 표시합니다")
TMSG.AppendLine("[총수량] 은 세부내역의 갯수로 자동변경되므로 수정이 불가능합니다.")
TMSG.AppendLine()
TMSG.AppendLine("<단축키 : ENTER:다음칸 , SHIFT+TAB:이전칸 , ALT+ENTER:윗칸복사>")
TMSG.AppendLine("<단축키 : DELETE:현재칸 지우기 , SHIFT+DELETE 현재줄 삭제>")
TMSG.AppendLine("<단축키 : SPACE-BAR:현재칸 편집>")
TMSG.AppendLine("<단축키 : CTRL + 마우스휠 : 화면크기를 조절합니다>")
TMSG.AppendLine()
Me.ToolTip1.SetToolTip(Me.view1, TMSG.ToString)
'TMSG = New System.Text.StringBuilder()
'TMSG.AppendLine()
'TMSG.AppendLine("데이터베이스의 내용을 다시 조회합니다.")
'Me.bt_find.ToolTipText = TMSG.ToString
'Me.ToolTip1.SetToolTip(Me.SortGroup1, TMSG.ToString)
'TMSG = New System.Text.StringBuilder()
'TMSG.AppendLine()
'TMSG.AppendLine("검색문자의 우선순위 : 숫자->영문자->한글")
'TMSG.AppendLine(" ->0 은 000 보다 우선순위가 높습니다.")
'Me.ToolTip1.SetToolTip(Me.SerchGroup1, TMSG.ToString)
End Sub
Private Sub SetFarPoint()
Me.view1.AEnterToNextItem()
End Sub
Private Sub CHk_Modify(Optional ByVal prompt As Boolean = True)
Dim Cnt As Integer = 0
Me.bs.EndEdit()
If Not Me.DS.HasChanges Then
NOTICE("변경된 내용이 없습니다", Me.lb_msg)
Return
End If
If prompt Then
If MsgBox("변경된 데이터를 저장하시겠습니까?", MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "저장확인") <> MsgBoxResult.Ok Then Return
End If
NOTICE("잠시만 기다려주세요...(적용하는중)", Color.Blue, Me.lb_msg)
Me.Refresh()
Try
Cnt = Me.ta_main.Update(Me.DS.MainTable)
Me.ta_jju.Update(Me.DS.Detail_tongsin)
Me.DS.AcceptChanges()
NOTICE(Cnt & "개의 데이터가 적용되었습니다", Color.Green, Me.lb_msg)
Catch ex As Exception
MsgBox("데이터베이스 변경중 오류가 발생했습니다" & vbCrLf & vbCrLf & ex.ToString, MsgBoxStyle.Critical, "ERROR-")
Me.bs.CancelEdit()
Me.DS.RejectChanges()
NOTICE("적용오류 : " & ex.ToString, Color.Tomato, Me.lb_msg)
End Try
End Sub
Public Sub Display_Data() '//뷰에데이터를 표시한다.
NOTICE("데이터 조회중...", Me.lb_msg)
Dim I As Integer = 0
Me.ta_main.Fill(Me.DS.MainTable)
'Dim Dv As New DataView(Me.IreaDataSet1.Maintable, Me.SerchGroup1.GetWhere(False, False, False), Me.SortGroup1.GetSort(False), DataViewRowState.CurrentRows)
Me.bs.DataSource = Me.DS.MainTable 'Dv
NOTICE(Me.view1.ActiveSheet.RowCount & "개의 목록이 검색되었습니다", Me.lb_msg)
End Sub
Private Sub Delete_itm(Optional ByVal prompt As Boolean = True)
If Me.bs.Current Is Nothing Then Return
Dim V_Type As Int16
Dim A As New System.Text.StringBuilder("경고 : 해당데이터와 하위데이터가 삭제됩니다")
A.AppendLine()
A.AppendLine("계속하시겠습니까?")
If prompt Then
If MsgBox(A.ToString, MsgBoxStyle.Information + MsgBoxStyle.OkCancel, "삭제확인") <> MsgBoxResult.Ok Then Exit Sub
End If
Dim DelIDX As Integer '//관리Id이다.
With Me.view1
DelIDX = .Cells(.ActiveRowindex, "ID").Value '//0번째값은 관리id이다
V_Type = .Cells(.ActiveRowindex, "번호찰구분").Value
End With
'MsgBox(DelIDX)
'MsgBox(V_Type)
'Return
Me.bs.RemoveCurrent() '//현재템을 삭제한다.
'전주세부테이블에서 전부 죽인다.
Dim DelCnt As Integer = 0
Select Case V_Type
Case 3 '//통신주
Me.ta_jju.Fill(Me.DS.Detail_tongsin, DelIDX)
Me.PRB1.Minimum = 0
If Me.DS.Detail_tongsin.Rows.Count > 0 Then
Me.PRB1.Maximum = Me.DS.Detail_tongsin.Rows.Count - 1
Me.PRB1.Value = 0
For Each Z As DataRow In Me.DS.Detail_tongsin.Rows
Z.Delete()
DelCnt += 1
If PRB1.Value < Me.PRB1.Maximum Then Me.PRB1.Value += 1
Next
End If
NOTICE(DelCnt & "개의 세부데이터가 삭제되었습니다", Color.Red, Me.lb_msg)
End Select
End Sub
Private Sub view_detail()
CHk_Modify() '//변경여부를 묻늗느. 종료한다.
Dim Rowindex As Short = Me.view1.ActiveSheet.ActiveRow.Index
Dim ID, NAME, BIGO, DAN, V_DATE As String
Dim V_Type As Work_Type
'//데이터를 가져온다.
Dim Dr As System.Data.DataRowView = Me.bs.Current
ID = Dr("ID") '.Cells(Rowindex, 0).Value
If Dr("날짜") Is DBNull.Value Then
V_DATE = ""
Else
V_DATE = Dr("날짜") '.Cells(Rowindex, 4).Value
End If
If Dr("거래처명") Is DBNull.Value Then
NAME = ""
Else
NAME = Dr("거래처명") '.Cells(Rowindex, 4).Value
End If
If Dr("비고") Is DBNull.Value Then
BIGO = ""
Else
BIGO = Dr("비고") '.Cells(Rowindex, 4).Value
End If
If Dr("단가") Is DBNull.Value Then
DAN = ""
Else
DAN = Dr("단가") '.Cells(Rowindex, 4).Value
End If
V_Type = Me.view1.Cells2("종류").Value '//번호찰 종류 0은 일반 9는 기타번호찰
Select Case V_Type
Case Work_Type.tongsin '//통신주
Dim A As New AddEpole_Tongsin(ID, V_DATE, NAME, BIGO, DAN, V_Type, "일반번호찰") : A.Show()
Case Work_Type.Lcable
Dim A As New AddEpole_LCable(ID, V_DATE, NAME, BIGO, DAN, V_Type, "광케이블주의표찰") : A.Show()
Case Else
MsgBox("현재 정의되지않은 출력형태입니다")
End Select
End Sub
Private Sub CustFP1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles view1.KeyDown
e.Handled = True
e.SuppressKeyPress = False
If e.Shift AndAlso e.KeyCode = Keys.Delete Then '/delete
e.Handled = True
Delete_itm(True)
End If
End Sub
Private Sub BindingNavigatorDeleteItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BindingNavigatorDeleteItem.Click
Delete_itm(True)
End Sub
Private Sub bt_commit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_commit.Click
If Not Me.DS.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Color.Red, Me.lb_msg)
Return
Else
CHk_Modify()
End If
End Sub
Private Sub bt_cancel_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click
If Not Me.DS.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Color.Red, Me.lb_msg)
Return
Else
Me.DS.RejectChanges()
NOTICE("변경된 데이터가 복원되었습니다", Color.Blue, Me.lb_msg)
End If
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
Me.Close()
End Sub
Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
If Me.DS.HasChanges Then CHk_Modify(False)
Delete_itm(True)
'//삭제하고 바로저장하게
CHk_Modify(False)
End Sub
Private Sub ToolStripButton7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton7.Click
CHk_Modify()
End Sub
Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton8.Click
If Not Me.DS.HasChanges Then
NOTICE("변경된 데이터가 없습니다", Color.Red, Me.lb_msg)
Return
Else
Me.DS.RejectChanges()
NOTICE("변경된 데이터가 복원되었습니다", Color.Blue, Me.lb_msg)
End If
End Sub
Private Sub bt_close_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_close.Click
Me.Close()
End Sub
Private Sub view1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellDoubleClick
view_detail()
e.Cancel = True
End Sub
Private Sub view1_Enter(ByVal sender As Object, ByVal e As System.EventArgs) Handles view1.Enter
NOTICE("목록을 더블클릭하면 세부내역을 볼 수 있습니다", Me.lb_msg)
End Sub
Private Sub bt_savecolsize_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_savecolsize.Click
Me.view1.ASetting_Save(False)
End Sub
Private Sub bt_refresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_find.Click
CHk_Modify() '//변경여부를 묻늗느. 종료한다.
Display_Data()
End Sub
Private Sub mbt_config_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_config.Click
Config.ShowDialog()
End Sub
Private Sub mbt_homepage_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_homepage.Click
Process.Start(HomePage)
End Sub
Private Sub mbt_newtongsin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_newtongsin.Click
Dim f As New AddEpole_Tongsin(GetMaxId() + 1, Work_Type.tongsin, "일반번호찰")
f.Show()
End Sub
Public Function GetMaxId() As Integer
'//현제테이블의 가장큰값을 찾는다.
Dim Cmd As New OleDbCommand("select maX(id) from 전주관리", Me.ta_main.Connection)
If Cmd.Connection.State <> ConnectionState.Open Then Cmd.Connection.Open()
Dim obj As Object = Cmd.ExecuteScalar
Dim TMaxid As Integer
If obj Is DBNull.Value Then TMaxid = 0
Dim A() As DataRow = Me.DS.MainTable.Select(vbNullString, "ID desc")
Dim MaxId As Integer
Try
MaxId = A(0)(0).ToString
Catch ex As Exception
MaxId = 0
End Try
If TMaxid > MaxId Then MaxId = TMaxid
Return MaxId
End Function
Private Sub mbT_about_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbT_about.Click
DemoDlg.ShowDialog()
End Sub
Private Sub mbt_tomail_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim Version As String = My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor & "." & My.Application.Info.Version.Revision
Dim A As New ACC.MailForm("sender@mail.com", "프로그램문의", "메일본문을 입력하세요", "전주번호관리프로그램V3(Ver " & Version & ")", MailForm.MailType.question)
A.ShowDialog()
End Sub
Private Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.Click
Dim S As New CEpole.Frm_ConvertINI
S.ShowDialog()
End Sub
Private Sub mbt_02_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mbt_02.Click
Dim f As New AddEpole_LCable(GetMaxId() + 1, Work_Type.Lcable, "광케이블주의표찰")
f.Show()
End Sub
Private Sub view1_CellClick(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles view1.CellClick
End Sub
End Class