Dodaj pliki projektów.
This commit is contained in:
1 parent
1d6a7b0924
commit
da030eff7c
298 files changed
+83623
No files matched your search
@@ -0,0 +1,389 @@
|
||||
Imports System.Globalization
|
||||
Imports System.IO
|
||||
Imports System.Text
|
||||
|
||||
Public Class MainFrm
|
||||
Public Tylko_Listing As Boolean
|
||||
Public f_out As StreamWriter ' Plik wyjściowy
|
||||
|
||||
Private SpFlag, ZakFlag, WewFlag As Integer
|
||||
Private RM, Rok, Mies As Integer
|
||||
Private SrcConn_str As String ', DstConn_str As String
|
||||
|
||||
'----------------------------------------------------------
|
||||
Private Const INT_lens As Integer = 1
|
||||
Private p() As Integer = {2, 4, 7, 9, 3, INT_lens}
|
||||
|
||||
Public Function Encrypt(ByVal inputstr As String) As String
|
||||
Dim str As StringBuilder
|
||||
Dim b As Integer = 6
|
||||
Dim i, j, k, c, cc, bb, lens As Integer
|
||||
|
||||
If inputstr > "" Then
|
||||
str = New StringBuilder(inputstr)
|
||||
lens = str.Length
|
||||
While (lens < b) OrElse (lens Mod b)
|
||||
str.Append(” “)
|
||||
lens += INT_lens
|
||||
End While
|
||||
cc = (lens / b) - INT_lens
|
||||
For i = 0 To cc
|
||||
bb = b - INT_lens
|
||||
For j = 0 To bb
|
||||
k = p(j) + 100
|
||||
c = (6 * i + j)
|
||||
str.Replace(str.Chars(c), Chr(Asc(str.Chars(c)) + k), c, INT_lens)
|
||||
Next
|
||||
Next
|
||||
Return str.ToString
|
||||
Else
|
||||
Return ""
|
||||
End If
|
||||
str = Nothing
|
||||
End Function
|
||||
|
||||
Public Function Decrypt(ByVal inputstr As String) As String
|
||||
Dim str As StringBuilder
|
||||
Dim b As Integer = 6
|
||||
Dim i, j, k, c, c1, cc, bb, lens As Integer
|
||||
|
||||
If inputstr > "" Then
|
||||
|
||||
str = New StringBuilder(inputstr)
|
||||
lens = str.Length
|
||||
While (lens < b) OrElse (lens Mod b)
|
||||
str.Append(” “)
|
||||
lens += INT_lens
|
||||
End While
|
||||
|
||||
cc = (lens / b) - INT_lens
|
||||
For i = 0 To cc
|
||||
bb = b - INT_lens
|
||||
For j = 0 To bb
|
||||
k = p(j) + 100
|
||||
c = (6 * i + j)
|
||||
c1 = Asc(str.Chars(c))
|
||||
c1 -= k
|
||||
str.Replace(str.Chars(c), Chr(c1), c, INT_lens)
|
||||
Next j
|
||||
Next i
|
||||
Return str.ToString
|
||||
Else
|
||||
Return ""
|
||||
End If
|
||||
str = Nothing
|
||||
End Function
|
||||
|
||||
Private Function zrob_polaczenie(srv As String, baza As String, user As String, pass As String)
|
||||
Dim cnstr As String
|
||||
|
||||
cnstr = "Data Source=" + srv + ";Initial Catalog=" + baza
|
||||
cnstr += ";Persist Security Info=false;User ID=" + Decrypt(user).Trim + ";Password=" + Decrypt(pass).Trim
|
||||
Return (cnstr)
|
||||
End Function
|
||||
|
||||
Private Function PolaczBaze() As Boolean
|
||||
Dim B1, conn, pp, K1 As String
|
||||
Dim ret As Boolean = False
|
||||
|
||||
lbUwaga.Text = "Czekaj: Logowanie do ERPXL"
|
||||
lbUwaga.Visible = True
|
||||
lbUwaga.BringToFront()
|
||||
lbUwaga.Refresh()
|
||||
|
||||
If Strings.Left(UCase(My.Settings.BazaDst), 6) = "CDNXL_" Or Strings.Left(UCase(My.Settings.BazaDst), 6) = "ERPXL_" Then
|
||||
B1 = Mid(My.Settings.BazaDst, 7)
|
||||
Else
|
||||
B1 = My.Settings.BazaDst
|
||||
End If
|
||||
K1 = My.Settings.SerwerKlucza
|
||||
If Not Zalogowany Then listuj(" Logowanie do ERP XL - proszę czekać...")
|
||||
ret = Zaloguj(B1, "", "", K1)
|
||||
If ret Then
|
||||
listuj(" sprawdzanie dostępności licencji...")
|
||||
ret = XLSprawdzLicencje()
|
||||
If ret Then
|
||||
listuj(" Zalogowano pomyslnie do ERP XL")
|
||||
'conn = FunkcjeXL.Polaczenie(My.Settings.BazaDst, My.Settings.SerwerDst) 'string połączenia wyznaczony przez API
|
||||
'pp = InStr(conn, "SERVER=")
|
||||
'conn = Mid(conn, pp)
|
||||
'DstConn_str = conn
|
||||
ret = True
|
||||
Else
|
||||
listuj("!! Nie udało się pobrać licencji stanowiskowej ERP XL.")
|
||||
Wyloguj()
|
||||
End If
|
||||
Else
|
||||
listuj("!! Nie udało się zalogować. Proszę uruchomić aplikację ERP XL !!")
|
||||
End If
|
||||
If Not ret Then
|
||||
TcZakladki.SelectedTab = TpList
|
||||
TpList.Select()
|
||||
End If
|
||||
lbUwaga.Text = "Czekaj: pobieranie danych"
|
||||
lbUwaga.Visible = False
|
||||
lbUwaga.Invalidate()
|
||||
Return ret
|
||||
End Function
|
||||
|
||||
'----------------------------------------------------------
|
||||
|
||||
Private Sub CbWewn_CheckedChanged(sender As Object, e As EventArgs) Handles CbWewn.CheckedChanged
|
||||
If CbWewn.Checked Then
|
||||
WewFlag = 1
|
||||
Else
|
||||
WewFlag = 0
|
||||
End If
|
||||
OdswiezDane()
|
||||
End Sub
|
||||
|
||||
Private Sub BtOdswiez_Click(sender As Object, e As EventArgs) Handles BtOdswiez.Click
|
||||
OdswiezDane()
|
||||
End Sub
|
||||
|
||||
Private Sub CbZakup_CheckedChanged(sender As Object, e As EventArgs) Handles CbZakup.CheckedChanged
|
||||
If CbZakup.Checked Then
|
||||
ZakFlag = 1
|
||||
Else
|
||||
ZakFlag = 0
|
||||
End If
|
||||
OdswiezDane()
|
||||
End Sub
|
||||
|
||||
Private Sub edRok_ValueChanged(sender As Object, e As EventArgs) Handles edRok.ValueChanged
|
||||
If IsNumeric(edRok.Value) Then
|
||||
Rok = edRok.Value
|
||||
OdswiezDane()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CbMiesiac_TextChanged(sender As Object, e As EventArgs) Handles CbMiesiac.TextChanged
|
||||
Mies = CbMiesiac.Items.IndexOf(CbMiesiac.Text) + 1
|
||||
OdswiezDane()
|
||||
End Sub
|
||||
|
||||
Private Sub DgvDokumenty_KeyPress(sender As Object, e As KeyPressEventArgs) 'Handles DgvDokumenty.KeyPress
|
||||
Dim wiersz As DataGridViewRow
|
||||
Dim check As Boolean
|
||||
Dim colWybrany, colData, kk As Integer
|
||||
|
||||
Select Case e.KeyChar
|
||||
Case " "
|
||||
kk = 0
|
||||
colWybrany = DgvDokumenty.CurrentRow.Cells("Wybrany").ColumnIndex
|
||||
colData = DgvDokumenty.CurrentRow.Cells("colDataImportu").ColumnIndex
|
||||
For Each wiersz In DgvDokumenty.SelectedRows
|
||||
If wiersz.Cells(colData).Value <= "1990-01-01 00:00:00" Then
|
||||
check = wiersz.Cells(colWybrany).Value
|
||||
wiersz.Cells(colWybrany).Value = Not check
|
||||
If (kk Mod 10) = 0 Then Application.DoEvents()
|
||||
End If
|
||||
kk += 1
|
||||
Next
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub CbSprzedaz_CheckedChanged(sender As Object, e As EventArgs) Handles CbSprzedaz.CheckedChanged
|
||||
If CbSprzedaz.Checked Then
|
||||
SpFlag = 1
|
||||
Else
|
||||
SpFlag = 0
|
||||
End If
|
||||
OdswiezDane()
|
||||
End Sub
|
||||
|
||||
Private Sub DgvDokumenty_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles DgvDokumenty.RowPostPaint
|
||||
If Not DgvDokumenty.Rows(e.RowIndex).Cells("colDataImportu").Value Is DBNull.Value Then
|
||||
If CStr(DgvDokumenty.Rows(e.RowIndex).Cells("colDataImportu").Value) > "1990-01-01" Then DgvDokumenty.Rows(e.RowIndex).DefaultCellStyle.ForeColor = Color.Red
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BtImport_Click(sender As Object, e As EventArgs) Handles BtImport.Click
|
||||
Dim DoImportu As New List(Of DataGridViewRow) 'kopia zaznaczonych do importu dokumentów
|
||||
Dim Aktwiersz As DataGridViewRow
|
||||
Dim AktualnyDokument As String = ""
|
||||
Dim ret, Nr_ZapisuSrc As Integer
|
||||
Dim sql As String
|
||||
|
||||
If DgvDokumenty.Rows.Count > 0 Then
|
||||
If System.Windows.Forms.MessageBox.Show("Czy zaimportować zaznaczone dokumenty ?", "", MessageBoxButtons.YesNo) = DialogResult.No Then
|
||||
Return
|
||||
End If
|
||||
|
||||
DoImportu.Clear()
|
||||
For Each wiersz In DgvDokumenty.SelectedRows 'zrób kopię zaznaczonych na niebiesko dokumentów
|
||||
Dim targetRow = CType(wiersz.Clone(), DataGridViewRow)
|
||||
For Each cell As DataGridViewCell In wiersz.Cells
|
||||
targetRow.Cells(cell.ColumnIndex).Value = cell.Value
|
||||
Next
|
||||
DoImportu.Add(targetRow)
|
||||
Next
|
||||
'zaloguj do XL
|
||||
listuj("Start importu: " + Now)
|
||||
ret = PolaczBaze()
|
||||
If ret Then
|
||||
DgvDokumenty.CurrentCell = DgvDokumenty(0, 0)
|
||||
Aktwiersz = DgvDokumenty.CurrentRow
|
||||
For Each wiersz In DoImportu
|
||||
Aktwiersz = wiersz
|
||||
DgvDokumenty.CurrentCell = DgvDokumenty(0, wiersz.Cells.Item(0).Value - 1) 'pokaż aktualnie przetwarzany wiersz
|
||||
If wiersz.Cells.Item(11).Value <= "1990-01-01 00:00:00" Then 'dekret nie zaimportowany
|
||||
AktualnyDokument = wiersz.Cells.Item(1).Value 'Nowy dekret zbiorczy
|
||||
Nr_ZapisuSrc = wiersz.Cells.Item(9).Value 'Dekret (DZK_GIDNumer) źródłowy
|
||||
If UtworzDekretZbiorczy(AktualnyDokument, wiersz.Cells.Item(4).Value, '"Data Wystawienia"
|
||||
wiersz.Cells.Item(5).Value, '"Data operacji"
|
||||
wiersz.Cells.Item(2).Value, '"Dokument źródłowy"
|
||||
wiersz.Cells.Item(3).Value, '"Opis dekretu"
|
||||
wiersz.Cells.Item(6).Value, '"Suma Ma"
|
||||
wiersz.Cells.Item(7).Value) Then '"Suma Winien"
|
||||
If DodajSkladowy(Nr_ZapisuSrc) Then 'dodaj dekrety składowe
|
||||
ZamknijDekret(True) 'zamknij dekret zbiorczy
|
||||
'oznacz dokument jako zaimportowany
|
||||
sql = "update CDN.Dekrety set DT_DataCentrali = datediff(s,'19900101', GetDate()) where DT_GIDNUmer = " & Str(GIDNumer)
|
||||
SqlCmd(sql, SrcConn_str)
|
||||
AktualnyDokument = ""
|
||||
Else
|
||||
ZamknijDekret(False) 'usuń utworzony dekret zbiorczy
|
||||
AktualnyDokument = ""
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
listuj(CStr(Now) & "-> Dokument: " & wiersz.Cells.Item(2).Value & " już jest zaimportowany !!")
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
Tylko_Listing = False
|
||||
OdswiezDane()
|
||||
TcZakladki.SelectedTab = TpList
|
||||
TpList.Select()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BtKonfig_Click(sender As Object, e As EventArgs) Handles BtKonfig.Click
|
||||
dlgKonfig.ShowDialog()
|
||||
End Sub
|
||||
|
||||
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles Timer.Tick
|
||||
Dim plik As String
|
||||
|
||||
Timer.Stop()
|
||||
Try
|
||||
plik = My.Settings.FolderR_Roboczy + "\ImportDM-" + Replace(Replace(Replace(Now, ":", "."), "/", "."), " ", "_") + ".LOG"
|
||||
f_out = System.IO.File.CreateText(plik)
|
||||
Tylko_Listing = False
|
||||
Catch
|
||||
Tylko_Listing = True
|
||||
End Try
|
||||
Timer.Enabled = False
|
||||
Application.DoEvents()
|
||||
If My.Settings.SerwerKlucza > "" And My.Settings.BazaDst > "" Then PolaczBaze()
|
||||
If Zalogowany Then OdswiezDane()
|
||||
End Sub
|
||||
|
||||
Private Sub BtUsunFlage_Click(sender As Object, e As EventArgs) Handles BtUsunFlage.Click
|
||||
If DgvDokumenty.Rows.Count > 0 Then
|
||||
If System.Windows.Forms.MessageBox.Show("Czy usunąć flagę z zaznaczonych dokumentów ?", "", MessageBoxButtons.YesNo) = DialogResult.Yes Then
|
||||
Dim sql As String
|
||||
Dim col As Integer
|
||||
|
||||
col = DgvDokumenty.Columns("colDekret").Index
|
||||
For Each wiersz In DgvDokumenty.SelectedRows
|
||||
sql = "update CDN.Dekrety set DT_DataCentrali = 0 where DT_GIDNUmer = " & Str(wiersz.Cells(col).Value)
|
||||
SqlCmd(sql, SrcConn_str)
|
||||
Next
|
||||
OdswiezDane()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BtKoniec_Click(sender As Object, e As EventArgs) Handles BtKoniec.Click
|
||||
Wyloguj()
|
||||
If Not IsNothing(f_out) Then
|
||||
f_out.Flush()
|
||||
f_out.Close()
|
||||
End If
|
||||
Close()
|
||||
End Sub
|
||||
|
||||
Private Sub OdswiezDane()
|
||||
RM = CInt(CStr(Rok) & IIf(Mies < 10, "0", "") & CStr(Mies))
|
||||
SrcConn_str = zrob_polaczenie(My.Settings.SerwerSrc, My.Settings.BazaSrc, My.Settings.MCsrc, My.Settings.Comsrc)
|
||||
Me.Tamy_ImpDM_Src.Connection.ConnectionString = SrcConn_str
|
||||
Tamy_ImpDM_Dekr.Connection.ConnectionString = SrcConn_str
|
||||
Try
|
||||
lbUwaga.Visible = True
|
||||
lbUwaga.BringToFront()
|
||||
lbUwaga.Refresh()
|
||||
Me.Tamy_ImpDM_Src.Fill(Me.DsMain.Tbmy_ImpDM_Src, SpFlag, ZakFlag, WewFlag, RM, Rok, Mies)
|
||||
lbUwaga.Visible = False
|
||||
lbUwaga.Invalidate()
|
||||
Catch ex As System.Exception
|
||||
lbUwaga.Visible = False
|
||||
lbUwaga.Refresh()
|
||||
System.Windows.Forms.MessageBox.Show(ex.Message)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub MainFrm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
Dim spr As String
|
||||
|
||||
SpFlag = 0
|
||||
ZakFlag = 0
|
||||
WewFlag = 0
|
||||
Rok = Year(Now)
|
||||
Mies = Month(Now)
|
||||
spr = Encrypt(Environment.MachineName.ToUpper + Environment.UserName.ToUpper)
|
||||
DecimalSep = NumberFormatInfo.CurrentInfo.NumberDecimalSeparator.ToString
|
||||
DecimalGroupSep = NumberFormatInfo.CurrentInfo.NumberGroupSeparator.ToString
|
||||
If spr <> My.Settings.check Then
|
||||
MsgBox("Niezgodna konfiguracja. Ustaw od nowa")
|
||||
My.Settings.SerwerSrc = ""
|
||||
' My.Settings.SerwerDst = ""
|
||||
My.Settings.SerwerKlucza = ""
|
||||
My.Settings.BazaSrc = ""
|
||||
' My.Settings.BazaDst = ""
|
||||
My.Settings.FolderR_Roboczy = ""
|
||||
My.Settings.MCsrc = ""
|
||||
' My.Settings.MCdst = ""
|
||||
My.Settings.Comsrc = ""
|
||||
' My.Settings.Comdst = ""
|
||||
My.Settings.check = spr
|
||||
My.Settings.Save()
|
||||
End If
|
||||
Timer.Start()
|
||||
End Sub
|
||||
|
||||
Public Sub listuj(ByVal linia As String)
|
||||
If linia > "" Then
|
||||
LstWynik.Items.Add(linia)
|
||||
|
||||
If Not Tylko_Listing Then
|
||||
f_out.WriteLine(linia)
|
||||
End If
|
||||
If (LstWynik.Items.Count - 1) > 0 Then
|
||||
LstWynik.TopIndex = Me.LstWynik.Items.Count - 1
|
||||
Else
|
||||
LstWynik.TopIndex = 0
|
||||
End If
|
||||
Application.DoEvents()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Function SqlCmd(ByVal sql As String, conn_str As String) As Boolean
|
||||
Dim wynik As Boolean
|
||||
|
||||
wynik = False
|
||||
Try
|
||||
Using connection As New SqlClient.SqlConnection(conn_str)
|
||||
Dim command As New SqlClient.SqlCommand(sql, connection)
|
||||
connection.Open()
|
||||
command.ExecuteNonQuery()
|
||||
wynik = True
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
My.Forms.MainFrm.listuj(ex.Message)
|
||||
End Try
|
||||
Return (wynik)
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in new issue
Block a user