This commit is contained in:
2025-10-02 09:09:16 +02:00
10 changed files with 1613 additions and 1178 deletions

View File

@@ -211,7 +211,7 @@ Public Class cPLOSE_Inv_Data
If jahr < 2020 Then Return False If jahr < 2020 Then Return False
Dim REohneDAID As String = "Select plInv_Id, plInv_PdfFileName, plInv_daId, plInv_PLOSEKundennummer FROM [tblPLOSE_Inv_Data] where plInv_daId Is null And plInv_PdfFileName Is Not null And Year(plInv_SupplierRechnungsDatum) = " & jahr & IIf(kdNr > 0, " and plInv_PLOSEKundennummer = " & kdNr, "") Dim REohneDAID As String = "Select plInv_Id, plInv_Dateiname,plInv_PdfFileName, plInv_daId, plInv_PLOSEKundennummer FROM [tblPLOSE_Inv_Data] where plInv_daId Is null And plInv_PdfFileName Is Not null And Year(plInv_SupplierRechnungsDatum) = " & jahr & IIf(kdNr > 0, " and plInv_PLOSEKundennummer = " & kdNr, "")
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dtREohneDAID As DataTable = SQL.loadDgvBySql(REohneDAID, "FMZOLL") Dim dtREohneDAID As DataTable = SQL.loadDgvBySql(REohneDAID, "FMZOLL")
@@ -234,56 +234,72 @@ Public Class cPLOSE_Inv_Data
filename2 = filename.Replace("-", "_") filename2 = filename.Replace("-", "_")
'If r.Item("plInv_Dateiname") = "830850-PSS-MAUT. PLOSE BOX-2025-09-15-000000-999999-00_RGDAT_16.09.2025.csv" Then
' filename3 = filename.ToString().Substring(0, 9)
' 'filename3 &= "%"
' filename3 &= filename.ToString().Substring(10, filename.Length - 10)
' filename4 = filename3.Replace("-", "_")
' filename3 = filename3.Replace(" ", "")
' filename4 = filename4.Replace(" ", "")
'End If
If Regex.IsMatch(filename, "^[A-Za-z]") Then If Regex.IsMatch(filename, "^[A-Za-z]") Then
Dim match As Match = Regex.Match(filename, "\d+") Dim match As Match = Regex.Match(filename, "\d+")
If match.Success Then If match.Success Then
filename3 = filename.Substring(match.Index).Trim filename3 = filename.Substring(match.Index).Trim
filename4 = filename.Replace("-", "_") filename4 = filename.Replace("-", "_")
End If End If
ElseIf filename.Contains("_dk") Then 'Sonderlogik Dänemark ElseIf filename.Contains("_dk") Then 'Sonderlogik Dänemark
filename3 = filename.Replace(jahrEnd & "-", jahrEnd) filename3 = filename.Replace(jahrEnd & "-", jahrEnd)
filename4 = filename.Replace(jahrEnd & "-", jahrEnd) filename4 = filename.Replace(jahrEnd & "-", jahrEnd)
filename3 = filename3.Replace(" ", "")
filename4 = filename4.Replace(" ", "")
ElseIf filename.Contains("_fy") Then 'Sonderlogik Norwegen ElseIf filename.Contains("_fy") Then 'Sonderlogik Norwegen
Dim indexOfFirst_ = filename.IndexOf("_fy") Dim indexOfFirst_ = filename.IndexOf("_fy")
If filename.Length > indexOfFirst_ + 5 Then If filename.Length > indexOfFirst_ + 5 Then
Dim month = filename.Substring(indexOfFirst_ + 3, 2) Dim month = filename.Substring(indexOfFirst_ + 3, 2)
If IsNumeric(month) Then If IsNumeric(month) Then
Dim test = month.IndexOf(0) Dim test = month.IndexOf(0)
Dim monthWithoutLeadingZero As String = month Dim monthWithoutLeadingZero As String = month
If monthWithoutLeadingZero.IndexOf(0) = 0 Then monthWithoutLeadingZero = monthWithoutLeadingZero.Replace("0", "") If monthWithoutLeadingZero.IndexOf(0) = 0 Then monthWithoutLeadingZero = monthWithoutLeadingZero.Replace("0", "")
filename3 = filename.Replace(jahrEnd & month, jahrEnd & monthWithoutLeadingZero) filename3 = filename.Replace(jahrEnd & month, jahrEnd & monthWithoutLeadingZero)
filename4 = filename.Replace(jahrEnd & month, jahrEnd & monthWithoutLeadingZero) filename4 = filename.Replace(jahrEnd & month, jahrEnd & monthWithoutLeadingZero)
filename3 = filename3.Replace(" ", "")
filename4 = filename4.Replace(" ", "")
End If End If
End If
End If
Dim daId As Integer = 0
If filename3 = "" Then
daId = CInt(SQL.getValueTxtBySql("Select top(1) isnull(da_id,0) FROM tblDatenarchiv WHERE da_KundenNr = 0 And da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' AND da_uOrdner1= 'PLOSE' AND da_uOrdner2= '" & jahr & "' AND (da_name like '%" & filename & "' or da_name like '%" & filename2 & "')", "FMZOLL",,, 0))
Else
daId = CInt(SQL.getValueTxtBySql("Select top(1) isnull(da_id,0) FROM tblDatenarchiv WHERE da_KundenNr = 0 And da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' AND da_uOrdner1= 'PLOSE' AND da_uOrdner2= '" & jahr & "' AND (da_name like '%" & filename & "' or da_name like '%" & filename2 & "' or da_name like '%" & filename3 & "' or da_name like '%" & filename4 & "')", "FMZOLL",,, 0))
End If End If
If daId > 0 Then
End If Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
Dim Path As String = DS.GET_TOP1_PATH()
Dim daId As Integer = 0 If Path <> "" And System.IO.File.Exists(Path) Then
If filename3 = "" Then SQL.doSQL("UPDATE [tblPLOSE_Inv_Data] SET plInv_daId = " & DS.da_id & ", plInv_daIdgesetztDatum = getdate() WHERE plInv_Id = " & r.Item("plInv_Id") & " AND plInv_daId is null", "FMZOLL")
daId = CInt(SQL.getValueTxtBySql("Select top(1) isnull(da_id,0) FROM tblDatenarchiv WHERE da_KundenNr = 0 And da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' AND da_uOrdner1= 'PLOSE' AND da_uOrdner2= '" & jahr & "' AND (da_name like '%" & filename & "' or da_name like '%" & filename2 & "')", "FMZOLL",,, 0)) End If
Else
daId = CInt(SQL.getValueTxtBySql("Select top(1) isnull(da_id,0) FROM tblDatenarchiv WHERE da_KundenNr = 0 And da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' AND da_uOrdner1= 'PLOSE' AND da_uOrdner2= '" & jahr & "' AND (da_name like '%" & filename & "' or da_name like '%" & filename2 & "' or da_name like '%" & filename3 & "' or da_name like '%" & filename4 & "')", "FMZOLL",,, 0))
End If
If daId > 0 Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
Dim Path As String = DS.GET_TOP1_PATH()
If Path <> "" And System.IO.File.Exists(Path) Then
SQL.doSQL("UPDATE [tblPLOSE_Inv_Data] SET plInv_daId = " & DS.da_id & ", plInv_daIdgesetztDatum = getdate() WHERE plInv_Id = " & r.Item("plInv_Id") & " AND plInv_daId is null", "FMZOLL")
End If End If
End If End If
End If
Next Next

View File

@@ -3,7 +3,6 @@ Imports System.IO
Imports System.Net Imports System.Net
Imports System.Net.Mail Imports System.Net.Mail
Imports ClosedXML.Excel Imports ClosedXML.Excel
Imports com.sun.xml.internal.rngom.digested
Imports DAKOSY_Worker Imports DAKOSY_Worker
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
@@ -2582,7 +2581,7 @@ Module Mail
,Absender ,Absender
,Rechnungsbetrag Betrag ,Rechnungsbetrag Betrag
,BelegNr ,BelegNr
,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung,Speditionsbuch.Zollsystem_Land ,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung,Speditionsbuch.Zollsystem_Land, Speditionsbuch.[LKW Kennzeichen]
FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart
where EmpfängerKundenNr IN (" & KdNr & ") and VermittlerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29,38)", "FMZOLL") where EmpfängerKundenNr IN (" & KdNr & ") and VermittlerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29,38)", "FMZOLL")
@@ -2747,39 +2746,108 @@ Module Mail
Datei = .Workbooks.Open(Path) 'Anpassen Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen Blatt = Datei.Worksheets(1) 'Anpassen
Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
Dim cnt = 3 If KUNDE.KundenNr = 902452 Then 'KUNDE WILL WIEDER EXZTAWURST!!!!!!!
For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 2 Blatt.Range("H1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
' Blatt.Range("C" & cnt).Value = r("RechnungsNr") Blatt.Range("A" & 2).Value = "Nr"
Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("B" & 2).Value = "Datum"
Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung") Blatt.Range("C" & 2).Value = "MRN-Nr."
Blatt.Range("E" & cnt).Value = r("Absender") Blatt.Range("D" & 2).Value = "LKW/Cont."
Blatt.Range("F" & cnt).Value = "" 'r("Betrag") Blatt.Range("E" & 2).Value = "Rg.-Nr."
Blatt.Range("H" & cnt).Value = r("BelegNr") Blatt.Range("F" & 2).Value = "EUST"
Blatt.Range("G" & 2).Value = "Anzahl Pos."
Blatt.Range("H" & 2).Value = ""
Blatt.Range("I" & 2).Value = ""
Blatt.Range("J" & 2).Value = ""
Blatt.Range("K" & 2).Value = ""
Blatt.Range("L" & 2).Value = ""
Dim cnt = 3
For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 2
Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("C" & cnt).Value = r("BelegNr")
Blatt.Range("D" & cnt).Value = r("LKW Kennzeichen")
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
Try
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
'-------------------------------------------------------
Dim RechnungsString = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
Dim rows() As String = RechnungsString.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries)
For Each row As String In rows
If IsDate(row) AndAlso row.Length = 10 Then
RechnungsString = RechnungsString.Replace(row.ToString, "")
End If
Next
Blatt.Range("E" & cnt).Value = RechnungsString.Trim
'-------------------------------------------------------
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST
Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then
Blatt.Range("C" & cnt).Value = ZOLLANMELDUNG.ATCMRN
End If
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
cnt += 1
Next
Else
Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
Try
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.RechnungspreisohneWahrung
Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then Dim cnt = 3
Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 2
Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung")
Blatt.Range("E" & cnt).Value = r("Absender")
Blatt.Range("F" & cnt).Value = "" 'r("Betrag")
Blatt.Range("H" & cnt).Value = r("BelegNr")
Try
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.RechnungspreisohneWahrung
Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST
Blatt.Range("K" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then
Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN
End If
End If End If
End If
Catch ex As Exception Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace) MsgBox(ex.Message & ex.StackTrace)
End Try End Try
cnt += 1
Next
End If
cnt += 1
Next
Datei.Save() Datei.Save()
.DisplayAlerts = False .DisplayAlerts = False
.quit() .quit()

View File

@@ -202,7 +202,7 @@ Partial Class frmMitarbDetails
Me.cboAdminBer = New System.Windows.Forms.ComboBox() Me.cboAdminBer = New System.Windows.Forms.ComboBox()
Me.Label7 = New System.Windows.Forms.Label() Me.Label7 = New System.Windows.Forms.Label()
Me.TabPage8 = New System.Windows.Forms.TabPage() Me.TabPage8 = New System.Windows.Forms.TabPage()
Me.cbxClient = New System.Windows.Forms.ComboBox() Me.cbxClientTimas = New System.Windows.Forms.ComboBox()
Me.cbxTimasMehrereFirmen = New System.Windows.Forms.CheckBox() Me.cbxTimasMehrereFirmen = New System.Windows.Forms.CheckBox()
Me.clbTimasMehreFirmen = New System.Windows.Forms.CheckedListBox() Me.clbTimasMehreFirmen = New System.Windows.Forms.CheckedListBox()
Me.lblName1 = New System.Windows.Forms.TextBox() Me.lblName1 = New System.Windows.Forms.TextBox()
@@ -2260,7 +2260,7 @@ Partial Class frmMitarbDetails
' '
'TabPage8 'TabPage8
' '
Me.TabPage8.Controls.Add(Me.cbxClient) Me.TabPage8.Controls.Add(Me.cbxClientTimas)
Me.TabPage8.Controls.Add(Me.cbxTimasMehrereFirmen) Me.TabPage8.Controls.Add(Me.cbxTimasMehrereFirmen)
Me.TabPage8.Controls.Add(Me.clbTimasMehreFirmen) Me.TabPage8.Controls.Add(Me.clbTimasMehreFirmen)
Me.TabPage8.Controls.Add(Me.lblName1) Me.TabPage8.Controls.Add(Me.lblName1)
@@ -2303,16 +2303,17 @@ Partial Class frmMitarbDetails
Me.TabPage8.Text = "Zeiterfassung" Me.TabPage8.Text = "Zeiterfassung"
Me.TabPage8.UseVisualStyleBackColor = True Me.TabPage8.UseVisualStyleBackColor = True
' '
'cbxClient 'cbxClientTimas
' '
Me.cbxClient.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.cbxClientTimas.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cbxClient.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.cbxClientTimas.DropDownWidth = 100
Me.cbxClient.FormattingEnabled = True Me.cbxClientTimas.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxClient.Items.AddRange(New Object() {"", "1", "2", "3", "4", "5"}) Me.cbxClientTimas.FormattingEnabled = True
Me.cbxClient.Location = New System.Drawing.Point(253, 144) Me.cbxClientTimas.Items.AddRange(New Object() {"", "1", "2", "3", "4", "5"})
Me.cbxClient.Name = "cbxClient" Me.cbxClientTimas.Location = New System.Drawing.Point(253, 144)
Me.cbxClient.Size = New System.Drawing.Size(54, 21) Me.cbxClientTimas.Name = "cbxClientTimas"
Me.cbxClient.TabIndex = 159 Me.cbxClientTimas.Size = New System.Drawing.Size(54, 21)
Me.cbxClientTimas.TabIndex = 159
' '
'cbxTimasMehrereFirmen 'cbxTimasMehrereFirmen
' '
@@ -2937,7 +2938,7 @@ Partial Class frmMitarbDetails
Friend WithEvents lblName1 As TextBox Friend WithEvents lblName1 As TextBox
Friend WithEvents cbxTimasMehrereFirmen As CheckBox Friend WithEvents cbxTimasMehrereFirmen As CheckBox
Friend WithEvents clbTimasMehreFirmen As CheckedListBox Friend WithEvents clbTimasMehreFirmen As CheckedListBox
Friend WithEvents cbxClient As ComboBox Friend WithEvents cbxClientTimas As ComboBox
Friend WithEvents tabParameter As TabPage Friend WithEvents tabParameter As TabPage
Friend WithEvents dgvUserParameter As VERAG_PROG_ALLGEMEIN.MyDatagridview Friend WithEvents dgvUserParameter As VERAG_PROG_ALLGEMEIN.MyDatagridview
End Class End Class

View File

@@ -149,15 +149,15 @@ Public Class frmMitarbDetails
clbTimasMehreFirmen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG")) clbTimasMehreFirmen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
clbTimasMehreFirmen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR")) clbTimasMehreFirmen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cbxClient.Items.Clear() cbxClientTimas.Items.Clear()
cbxClient.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", "")) cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxClient.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA")) cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
cbxClient.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FO")) cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FO"))
cbxClient.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX")) cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cbxClient.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG AG", "VERAG AG")) cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG AG", "VERAG AG"))
cbxClient.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG GMBH", "VERAG GMBH")) cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG GMBH", "VERAG GMBH"))
cbxClient.SelectedIndex = 0 cbxClientTimas.SelectedIndex = 0
cboFirma.Items.Clear() cboFirma.Items.Clear()
@@ -1287,7 +1287,7 @@ Public Class frmMitarbDetails
If checkMandatoryFields() Then If checkMandatoryFields() Then
timas.createEmployee(mitarbeiter, rtfInfoTimas.Text, cbxClient.SelectedItem.Text, dtTimas) timas.createEmployee(mitarbeiter, rtfInfoTimas.Text, cbxClientTimas.SelectedItem.Text, dtTimas)
If rtfInfoTimas.Visible = False AndAlso rtfInfoTimas.Text <> "" Then MsgBox(rtfInfoTimas.Text) If rtfInfoTimas.Visible = False AndAlso rtfInfoTimas.Text <> "" Then MsgBox(rtfInfoTimas.Text)
tbcntr_TabIndexChanged(sender, e) tbcntr_TabIndexChanged(sender, e)
End If End If
@@ -1309,7 +1309,7 @@ Public Class frmMitarbDetails
btnMAanlegen.Visible = Not cbxTimasAngelegt.Checked btnMAanlegen.Visible = Not cbxTimasAngelegt.Checked
txtLohnNr.Enabled = Not cbxTimasAngelegt.Checked txtLohnNr.Enabled = Not cbxTimasAngelegt.Checked
txtClientNr.Enabled = Not cbxTimasAngelegt.Checked txtClientNr.Enabled = Not cbxTimasAngelegt.Checked
cbxClient.Enabled = Not cbxTimasAngelegt.Checked cbxClientTimas.Enabled = Not cbxTimasAngelegt.Checked
dgvData.Visible = Not cbxTimasAngelegt.Checked dgvData.Visible = Not cbxTimasAngelegt.Checked
rtfInfoTimas.Visible = cbxTimasAngelegt.Checked rtfInfoTimas.Visible = cbxTimasAngelegt.Checked
btngetInfo.Visible = cbxTimasAngelegt.Checked btngetInfo.Visible = cbxTimasAngelegt.Checked
@@ -1331,7 +1331,7 @@ Public Class frmMitarbDetails
' Return False ' Return False
'End If 'End If
If cbxClient.SelectedItem.Text = "" Then If cbxClientTimas.SelectedItem.Text = "" Then
MsgBox("ClientNr prüfen!") MsgBox("ClientNr prüfen!")
Return False Return False
End If End If
@@ -1533,7 +1533,7 @@ Public Class frmMitarbDetails
btnMAanlegen.Visible = Not cbxTimasAngelegt.Checked btnMAanlegen.Visible = Not cbxTimasAngelegt.Checked
txtLohnNr.Enabled = Not cbxTimasAngelegt.Checked txtLohnNr.Enabled = Not cbxTimasAngelegt.Checked
txtClientNr.Enabled = Not cbxTimasAngelegt.Checked txtClientNr.Enabled = Not cbxTimasAngelegt.Checked
cbxClient.Enabled = Not cbxTimasAngelegt.Checked cbxClientTimas.Enabled = Not cbxTimasAngelegt.Checked
dgvData.Visible = Not cbxTimasAngelegt.Checked dgvData.Visible = Not cbxTimasAngelegt.Checked
TabControl3.Visible = Not cbxTimasAngelegt.Checked TabControl3.Visible = Not cbxTimasAngelegt.Checked
rtfInfoTimas.Visible = cbxTimasAngelegt.Checked rtfInfoTimas.Visible = cbxTimasAngelegt.Checked

View File

@@ -3463,6 +3463,8 @@ Public Class usrctlProcedures
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim savedDY As Boolean = False
Dim fd As New OpenFileDialog Dim fd As New OpenFileDialog
If fd.ShowDialog = DialogResult.OK Then If fd.ShowDialog = DialogResult.OK Then
If fd.FileName.ToLower.EndsWith(".csv") Then If fd.FileName.ToLower.EndsWith(".csv") Then
@@ -3678,8 +3680,10 @@ Public Class usrctlProcedures
DYIMPORT.UST_ID_Fiskalvertreter = isleernothing((currentRow(137))) DYIMPORT.UST_ID_Fiskalvertreter = isleernothing((currentRow(137)))
DYIMPORT.Shipmentnummer = isleernothing((currentRow(138))) DYIMPORT.Shipmentnummer = isleernothing((currentRow(138)))
DYIMPORT.Importstatus = isleernothing((currentRow(139))) DYIMPORT.Importstatus = isleernothing((currentRow(139)))
DYIMPORT.Importdate = Now()
If DYIMPORT.SAVE() Then If DYIMPORT.SAVE() Then
TextBox10.Text &= DYIMPORT.Id & vbNewLine TextBox10.Text &= DYIMPORT.Id & vbNewLine
If Not savedDY Then savedDY = True
Else Else
MsgBox("FEHLER: " & currentRow(2).Trim() & " - " & currentRow(3).Trim()) MsgBox("FEHLER: " & currentRow(2).Trim() & " - " & currentRow(3).Trim())
End If End If
@@ -3691,32 +3695,6 @@ Public Class usrctlProcedures
Label10.Text = (cnt + 1) Label10.Text = (cnt + 1)
End If End If
Else
Dim STDOF As New cStandardofferten(currentRow(0), currentRow(1), currentRow(2), currentRow(3))
If STDOF.hasEntry Then
Dim save As Boolean = False
If isleernothing(currentRow(12)) IsNot Nothing AndAlso isleernothing(currentRow(12)) <> "NULL" Then
save = True
STDOF.LeistungsBez_EN = isleernothing(currentRow(12))
End If
If isleernothing(currentRow(13)) IsNot Nothing AndAlso isleernothing(currentRow(13)) <> "NULL" Then
save = True
STDOF.LeistungsBez_RO = isleernothing(currentRow(13))
End If
If isleernothing(currentRow(14)) IsNot Nothing AndAlso isleernothing(currentRow(14)) <> "NULL" Then
save = True
STDOF.LeistungsBez_TR = isleernothing(currentRow(14))
End If
If save Then STDOF.SAVE()
End If
'MsgBox(currentRow(2))
End If End If
End If End If
End If End If
@@ -3728,6 +3706,11 @@ Public Class usrctlProcedures
MsgBox(kdnr_tmp & " " & ex.Message & ex.StackTrace) MsgBox(kdnr_tmp & " " & ex.Message & ex.StackTrace)
End Try End Try
End While End While
If savedDY Then
sql.doSQL("EXECUTE dbo.sp_DeleteDuplicateZollmeldungen", "FMZOLL")
End If
End Using End Using
End If End If
End If End If

View File

@@ -4,6 +4,7 @@ Imports System.Text
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports System.Web Imports System.Web
Imports System.Xml Imports System.Xml
Imports io.konik.zugferd
Imports Renci.SshNet Imports Renci.SshNet
Imports Renci.SshNet.Sftp Imports Renci.SshNet.Sftp
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
@@ -23,6 +24,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
Dim Dateiname = "" Dim Dateiname = ""
Public year As Integer Public year As Integer
Public UtaTestkunden As Boolean = False Public UtaTestkunden As Boolean = False
Public RMCNewFormat As Boolean = True
Sub New(programName As String) Sub New(programName As String)
@@ -526,11 +528,17 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
Exit Sub Exit Sub
End If End If
Dim dt As New DataTable
Dim deleteTable As Boolean = False Dim deleteTable As Boolean = False
Dim verarbeitungspfad, zielpfad Dim verarbeitungspfad, zielpfad
If programName.Contains("RMC") Then If programName.Contains("RMC") Then
verarbeitungspfad = rmc.VERARBEITUNG_PFAD verarbeitungspfad = rmc.VERARBEITUNG_PFAD
zielpfad = rmc.ZIEL_PFAD zielpfad = rmc.ZIEL_PFAD
dt.Columns.Add("KundenNr", GetType(String))
dt.Columns.Add("UID", GetType(String))
ElseIf programName.Contains("UTA") Then ElseIf programName.Contains("UTA") Then
verarbeitungspfad = uta.VERARBEITUNG_PFAD verarbeitungspfad = uta.VERARBEITUNG_PFAD
zielpfad = uta.ZIEL_PFAD zielpfad = uta.ZIEL_PFAD
@@ -552,6 +560,8 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
If programName.Contains("RMC") Then If programName.Contains("RMC") Then
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Select Case i Select Case i
Case 1 Case 1
@@ -561,7 +571,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
If fi.Extension.ToLower = ".csv" Then If fi.Extension.ToLower = ".csv" Then
If Not found Then If Not found Then
If readRMC(d) <> "" Then found = True If readRMC(d, programName) <> "" Then found = True
End If End If
If found Then cntDatenEingelesen += 1 If found Then cntDatenEingelesen += 1
End If End If
@@ -580,30 +590,126 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
'd.breimaier: 2024-06-05 aktuell nur die RMC-Dateien! (später, wenn CSV vollständig, dann alle PDFs importieren! 'd.breimaier: 2024-06-05 aktuell nur die RMC-Dateien! (später, wenn CSV vollständig, dann alle PDFs importieren!
'd.breimaier: 2024-06-17 laut Christian Schuster von Comcore (EDV-BEtr. von RMC) nicht möglich CSV mit easytrip und sofico Datensätzen zu ergängen! 'd.breimaier: 2024-06-17 laut Christian Schuster von Comcore (EDV-BEtr. von RMC) nicht möglich CSV mit easytrip und sofico Datensätzen zu ergängen!
If fi.Name.ToString.StartsWith("invoice_") Then 'd.breimaier: 2025-09-15 laut Christian Schuster erhalten wir nun die Rechnungen mit folgenden Aufbau:
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "RMC", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d)) '• fixwert invoice
'• Kundennummer 26807 (in der CSV enthalten)
'• Abrechnungnummer 5549 (Stimmt mit der Abrechnungsnummer im Dateinamen der CSV überein)
'• RechnungsNr "262014347" (in der CSV enthalten) - nicht verwechseln mit RechngsNrSL
'• Das Land AT, DE, FR...
'• zuletzt steht orig. Das ist für euch nicht wichtig, bedeutet nur das ist das Original und keine Kopie
DS.uploadDataToDATENSERVER(d,,,,,, True) 'easytrip-Rechnungen sind immer ITALIEN!
Dim fileNamePath As String = d
'If fi.Name.ToString.StartsWith("invoice_") Then
If RMCNewFormat Then
Dim destFilename As String = fi.FullName
destFilename = destFilename.Replace(".pdf", IIf(programName.ToLower.Contains("nto"), "_nto", "_bto") & ".pdf")
System.IO.File.Move(fi.FullName, destFilename) 'Datei umbenennen
fileNamePath = destFilename
End If
If fi.Name.ToString.StartsWith("invoice_") OrElse (fi.Name.ToString.StartsWith("maut_") AndAlso fi.Name.ToString.Contains("EGR") AndAlso Not fi.Name.ToString.Contains("ALL")) Then 'RMC Eigenrechnungen
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "RMC", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(fileNamePath))
DS.uploadDataToDATENSERVER(fileNamePath,,,,,, True)
If fi.Name.ToString.StartsWith("invoice_") Then
SQL.doSQL("Update [tblRMCImport] SET [rmc_daId]='" & DS.da_id & "' where [rmc_pdfFileName] = '" & DS.da_name & "' and [rmc_importDatum] > DATEADD(DAY,-4,getdate()) ", "FMZOLL")
ElseIf (fi.Name.ToString.StartsWith("maut_") AndAlso fi.Name.ToString.Contains("EGR") AndAlso Not fi.Name.ToString.Contains("ALL")) Then 'EasyTrip IT Rechnungen
Dim fileNameEasyTrip As String = fi.Name
fileNameEasyTrip = fileNameEasyTrip.Replace("maut_", "")
fileNameEasyTrip = fileNameEasyTrip.Replace("EGR_con", "")
'maut_24952_EGR_con00079883FITFIT2002A25-07993920250908120506AT70DE_341929194_.pdf
'24952_00079883FITFIT2002A25-07993920250908120506AT70DE_341929194_.pdf
'RechnungNr: FIT2002A25-079939
'Datum: 08/09/2025
'Land: IT
'VAT: DE_341929194
Dim indexOfFIT = fileNameEasyTrip.LastIndexOf("FITFIT") + 3
Dim kdNr As String = fileNameEasyTrip.Substring(0, 5)
Dim invoiceNo As String = "" 'FIT2002A25-079939
Dim invoiceDate As String = "" '20250908
Dim UID As String = "" 'DE_341929194
Dim RMC As New cRMC() 'easytry über Filename anlegen!
invoiceNo = fileNameEasyTrip.Substring(indexOfFIT, 17)
invoiceDate = fileNameEasyTrip.Substring(indexOfFIT + 17, 8)
Dim parsedDate As DateTime = DateTime.ParseExact(invoiceDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture)
UID = fileNameEasyTrip.Substring(fileNameEasyTrip.IndexOf("AT70") + 4, 12)
UID = UID.Replace("_", "")
RMC.rmc_reDatum = parsedDate.ToString("dd.MM.yyyy")
RMC.rmc_importDatum = Now()
RMC.rmc_kdNr = kdNr
RMC.rmc_UID = UID
RMC.rmc_landKZ = "IT"
RMC.rmc_landBezeichnung = "Italien"
RMC.rmc_reDatum = parsedDate
RMC.rmc_reNr = invoiceNo
RMC.rmc_waehrung = "EUR"
RMC.rmc_daId = DS.da_id
RMC.rmc_pdfFileName = fi.Name
'EasyTrip können die Beträge initual nicht ausgelesen werden, dürfen aber nicht 0 sein!
RMC.rmc_betragBrutto = 0.01
RMC.rmc_betragMWST = 0.01
RMC.rmc_betragNetto = 0.01
RMC.rmc_euroBrutto = 0.01
If RMC.SAVE() Then
Dim adress As New VERAG_PROG_ALLGEMEIN.cAdressen(RMC.rmc_UID, RMC.rmc_kdNr)
If Not adress.hasEntry Then
Dim R As DataRow = dt.NewRow
R("KundenNr") = RMC.rmc_kdNr
R("UID") = RMC.rmc_UID
dt.Rows.Add(R)
End If
End If
End If
SQL.doSQL("Update [tblRMCImport] SET [rmc_daId]='" & DS.da_id & "' where [rmc_pdfFileName] = '" & DS.da_name & "' and [rmc_importDatum] > DATEADD(DAY,-4,getdate()) ", "FMZOLL")
End If End If
'copy file to lydia 'copy file to lydia
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
Dim filepathToLydia = IIf(rmc.PDFRECHNUNGEN <> "", rmc.PDFRECHNUNGEN, "\\share01\F\Juricevic Datensicherung\RMC_RECHNUNGEN\") Dim filepathToLydia = IIf(rmc.PDFRECHNUNGEN <> "", rmc.PDFRECHNUNGEN, "\\share01\F\Juricevic Datensicherung\RMC_RECHNUNGEN\")
If Dateiname.ToString.ToLower.Contains("nto") Then If Dateiname.ToString.ToLower.Contains("nto") Then
frmStartOptions.copyFile(d, filepathToLydia & "NETTO\") frmStartOptions.copyFile(fileNamePath, filepathToLydia & "NETTO\")
Else Else
frmStartOptions.copyFile(d, filepathToLydia & "BRUTTO\") frmStartOptions.copyFile(fileNamePath, filepathToLydia & "BRUTTO\")
End If
End If End If
frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") frmStartOptions.moveFile_DateBack(fileNamePath, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
If fi.Name.ToLower.Contains("pdf") Then addDGVEinarbeitung("PDF", fi.Name) If fi.Name.ToLower.Contains("pdf") Then addDGVEinarbeitung("PDF", fi.Name)
dgvEinarbeitung.Refresh() dgvEinarbeitung.Refresh()
End If End If
@@ -955,6 +1061,23 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
If programName.Contains("UTA") Then uta.importUTALeistungen() If programName.Contains("UTA") Then uta.importUTALeistungen()
If programName.Contains("RMC") Then
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
If dt.Rows.Count > 0 Then
Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False,)
If filepath <> "" Then
Dim anhenge As New List(Of String)
anhenge.Add(filepath)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("juricevic@verag.ag", "Wölfl-UIDNr (EASYTRIP)", "Im Anhang die zu prüfenden Kunden von WÖLFL EasyTrip: " & vbNewLine & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag", anhenge)
End If
End If
End If
End If
End Sub End Sub
@@ -979,7 +1102,7 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
End Sub End Sub
Function readRMC(d As String) As String Function readRMC(d As String, typ As String) As String
Try Try
Dim fi As FileInfo = New FileInfo(d) Dim fi As FileInfo = New FileInfo(d)
@@ -989,6 +1112,10 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
Dim fileNr = filetimestamp.Substring(0, IIf(filetimestamp.Length > 8, filetimestamp.Length - 8, filetimestamp.Length)) Dim fileNr = filetimestamp.Substring(0, IIf(filetimestamp.Length > 8, filetimestamp.Length - 8, filetimestamp.Length))
Dim fileType = IIf(fi.Name.ToLower.Contains("nto"), "netto", "brutto") Dim fileType = IIf(fi.Name.ToLower.Contains("nto"), "netto", "brutto")
If RMCNewFormat Then
fileType = IIf(typ.ToLower.Contains("nto"), "netto", "brutto")
End If
Dim dt As New DataTable Dim dt As New DataTable
dt.Columns.Add("KundenNr", GetType(String)) dt.Columns.Add("KundenNr", GetType(String))
dt.Columns.Add("Kunde", GetType(String)) dt.Columns.Add("Kunde", GetType(String))
@@ -1030,13 +1157,14 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
End Using End Using
addDGVEinarbeitung("RMC: Detail" & kdNr, readRMC) addDGVEinarbeitung("RMC: Detail" & kdNr, readRMC)
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
If dt.Rows.Count > 0 Then If dt.Rows.Count > 0 Then
Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False,) Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False,)
If filepath <> "" Then If filepath <> "" Then
Dim anhenge As New List(Of String) Dim anhenge As New List(Of String)
anhenge.Add(filepath) anhenge.Add(filepath)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("juricevic@verag.ag", "Wölfl-UIDNr", "Im Anhang die zu prüfenden Kunden von WÖLFL für Importdatei: " & fi.Name & vbNewLine & "Pro Importdatei wird ein Email generiert/gesendet" & vbNewLine & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag", anhenge) VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("juricevic@verag.ag", "Wölfl-UIDNr", "Im Anhang die zu prüfenden Kunden von WÖLFL für Importdatei: " & fi.Name & vbNewLine & "Pro Importdatei wird ein Email generiert/gesendet" & vbNewLine & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag", anhenge)
End If
End If End If
End If End If
@@ -1142,7 +1270,15 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers
End If End If
RMC.rmc_euroBrutto = SQL.isleernothing(currentRow(13)) RMC.rmc_euroBrutto = SQL.isleernothing(currentRow(13))
RMC.rmc_pdfFileName = "invoice_" & RMC.rmc_kdNr & "_" & filenr & "_" & RMC.rmc_sammelReNr & IIf(fileType = "netto", "_nto_e_verag.pdf", "_bto_e_verag.pdf")
If RMCNewFormat Then
RMC.rmc_pdfFileName = "invoice_" & RMC.rmc_kdNr & "_" & filenr & "_" & RMC.rmc_sammelReNr & "_" & RMC.rmc_landKZ & "_orig" & IIf(fileType = "netto", "_nto", "_bto") & ".pdf"
Else
RMC.rmc_pdfFileName = "invoice_" & RMC.rmc_kdNr & "_" & filenr & "_" & RMC.rmc_sammelReNr & IIf(fileType = "netto", "_nto_e_verag.pdf", "_bto_e_verag.pdf")
End If
If RMC.SAVE() Then If RMC.SAVE() Then
If kdNr <> RMC.rmc_kdNr Then If kdNr <> RMC.rmc_kdNr Then

File diff suppressed because it is too large Load Diff

View File

@@ -212,6 +212,102 @@
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu +z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox12.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox11.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox10.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="PictureBox26.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="PictureBox26.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -622,9 +718,6 @@
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="clmnMRN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="PictureBox18.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="PictureBox18.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
@@ -721,102 +814,12 @@
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="PictureBox12.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <metadata name="clmnMRN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value> <value>True</value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj </metadata>
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV <metadata name="clmnMRN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/ <value>True</value>
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy </metadata>
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox11.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox10.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA

View File

@@ -831,15 +831,27 @@ Public Class frmStartOptions
End If End If
Case "CREDITSAFE_EVENTS" Case "CREDITSAFE_EVENTS_MONTHLY"
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim upateKunden As Boolean = True Dim upateKunden As Boolean = False
Dim OnlyCurrentMonthData As Boolean = True Dim checkDate As Boolean = True
Dim setzeInfoImKunden As Boolean = True Dim setzeInfoImKunden As Boolean = False
Dim sendMail As Boolean = False 'nicht nochmals, oder?
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, checkDate, upateKunden, setzeInfoImKunden, sendMail, True)
closeMe()
Case "CREDITSAFE_EVENTS_DAILY"
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim upateKunden As Boolean = False
Dim checkDate As Boolean = True
Dim setzeInfoImKunden As Boolean = False
Dim sendMail As Boolean = True Dim sendMail As Boolean = True
importCreditsafeEvents(CDate("01." & Now.Month & "." & Now.Year).ToShortDateString, OnlyCurrentMonthData, upateKunden, setzeInfoImKunden, sendMail) importCreditsafeEvents(CDate(Today().AddDays(-1)).ToShortDateString, checkDate, upateKunden, setzeInfoImKunden, sendMail, False)
closeMe() closeMe()
@@ -847,8 +859,8 @@ Public Class frmStartOptions
Case "CREDITSAFE_UPLOADS" Case "CREDITSAFE_UPLOADS"
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
UploadCompaniesToCreditsafe() Dim sync As Boolean = True
UploadCompaniesToCreditsafe(sync)
closeMe() closeMe()
Case Else Case Else
@@ -3756,7 +3768,7 @@ Public Class frmStartOptions
Private Sub LinkLabel20_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel20.LinkClicked Private Sub LinkLabel20_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel20.LinkClicked
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim bool = getUID_Pruefung(MyTextBox1.Text, "VERAG", "UID Prüfung VERAG", "as@verag.ag;kb@verag.ag", "al@verag.ag;d.breimaier@verag.ag",, MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked, txtMsVerz._value) Dim bool = getUID_Pruefung(MyTextBox1.Text, "VERAG", "UID Prüfung VERAG", "as@verag.ag;kb@verag.ag", "al@verag.ag;d.breimaier@verag.ag",, MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked)
'bool = getUID_Pruefung(MyTextBox1.Text, "VERAG", "UID Prüfung VERAG", "d.breimaier@verag.ag",,, MyTextBox2._value, cbxVermerk.Checked) 'bool = getUID_Pruefung(MyTextBox1.Text, "VERAG", "UID Prüfung VERAG", "d.breimaier@verag.ag",,, MyTextBox2._value, cbxVermerk.Checked)
'Dim bool = getUID_PruefungVERAG(MyTextBox1.Text) 'Dim bool = getUID_PruefungVERAG(MyTextBox1.Text)
showPic(bool, PictureBox12) showPic(bool, PictureBox12)
@@ -4240,12 +4252,12 @@ Public Class frmStartOptions
Private Sub LinkLabel32_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel32.LinkClicked Private Sub LinkLabel32_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel32.LinkClicked
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
' Dim bool = getUID_PruefungIMEX(MyTextBox1.Text) ' Dim bool = getUID_PruefungIMEX(MyTextBox1.Text)
Dim bool = getUID_Pruefung(MyTextBox1.Text, "IMEX", "UID Prüfung IMEX", "Viktoria.Leirich@imex-group.at;as@verag.ag;kb@verag.ag", "al@verag.ag;d.breimaier@verag.ag",, MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked, txtMsVerz._value) Dim bool = getUID_Pruefung(MyTextBox1.Text, "IMEX", "UID Prüfung IMEX", "Viktoria.Leirich@imex-group.at;as@verag.ag;kb@verag.ag", "al@verag.ag;d.breimaier@verag.ag",, MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked)
showPic(bool, PictureBox12) showPic(bool, PictureBox12)
End Sub End Sub
Private Sub LinkLabel33_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel33.LinkClicked Private Sub LinkLabel33_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel33.LinkClicked
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim bool = getUID_Pruefung(MyTextBox1.Text, "AMBAR", "UID Prüfung AMBAR", "io@ambarlog.de", , "al@verag.ag;as@verag.ag", MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked, txtMsVerz._value) Dim bool = getUID_Pruefung(MyTextBox1.Text, "AMBAR", "UID Prüfung AMBAR", "io@ambarlog.de", , "al@verag.ag;as@verag.ag", MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked)
showPic(bool, PictureBox12) showPic(bool, PictureBox12)
End Sub End Sub
@@ -4396,7 +4408,7 @@ Public Class frmStartOptions
Private Sub LinkLabel36_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel36.LinkClicked Private Sub LinkLabel36_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel36.LinkClicked
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim bool = getUID_Pruefung(MyTextBox1.Text, "UNISPED", "UID Prüfung UNISPED", "al@verag.ag", "al@verag.ag",, MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked, txtMsVerz._value) Dim bool = getUID_Pruefung(MyTextBox1.Text, "UNISPED", "UID Prüfung UNISPED", "al@verag.ag", "al@verag.ag",, MyTextBox2._value, cbxVermerk.Checked, cbxUseUIDFinanzOnline.Checked)
showPic(bool, PictureBox12) showPic(bool, PictureBox12)
End Sub End Sub
@@ -6312,7 +6324,7 @@ weiter:
'Existing companies in the portfolio will be skipped, and only new unique entries will be added. 'Existing companies in the portfolio will be skipped, and only new unique entries will be added.
UploadCompaniesToCreditsafe() UploadCompaniesToCreditsafe(cbxCSsync.Checked)
End Sub End Sub
@@ -6375,70 +6387,153 @@ weiter:
End If End If
importCreditsafeEvents(datumString, cbCheckDate.Checked, bcxKundendatenaktCS.Checked, cbxKundenbesonderheitenCS.Checked, cbxMailsenden.Checked) importCreditsafeEvents(datumString, cbCheckDate.Checked, bcxKundendatenaktCS.Checked, cbxKundenbesonderheitenCS.Checked, cbxMailsenden.Checked, Not cbxEventtriggered.Checked)
End Sub End Sub
Private Sub importCreditsafeEvents(datum As String, checkDate As Boolean, upateKunden As Boolean, setzeKundenbesonderheiten As Boolean, sendMail As Boolean) Private Sub importCreditsafeEvents(datum As String, checkDate As Boolean, upateKunden As Boolean, setzeKundenbesonderheiten As Boolean, sendMail As Boolean, companyDetailEventsRequest As Boolean)
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'WICHTIG, bei companyDetailEventsRequest = true wird gleich Punkt 3 gemacht (dauert länger, aber mehr Datensätze und alle Kunden werden geprüft, bei companyDetailEventsRequest = false wird die u.a. Best Practice-Methode durchgeführt (Punkt 1 und 2) -> also triggerbasierend)!!!!
'ANSATZ, bei der täglichen Prüfung die triggerbasierten Abruf, 1x im Monat bzw. wenn spezisches Unternehmen geprüft wird, dann Punkt 3.
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Best Practices for Viewing Notification Events 'Best Practices for Viewing Notification Events
'1. Use Portfolio-Specific Events for Targeted Monitoring: Start with the portfolio-specific endpoint to focus on changes relevant to a particular portfolio. '1. Use Portfolio-Specific Events for Targeted Monitoring: Start with the portfolio-specific endpoint to focus on changes relevant to a particular portfolio.
'2. Leverage Global Events for a Broader View: Use the all-events endpoint to gain a comprehensive overview of all notifications across your portfolios. '2. Leverage Global Events for a Broader View: Use the all-events endpoint to gain a comprehensive overview of all notifications across your portfolios.
'3. Drill Down to Company-Level Events When Needed: For detailed insights into a specific company, use the company-specific endpoint.
'4. Verify Enabled Rules: Ensure that the appropriate event rules are enabled for your portfolios to capture the desired notifications. Refer to the Activate Event Rules section for guidance.
'aktuell machem wir gleich punkt 3, das verursacht sehr viele APP-Aurfrufe, besser nach der Liste oben! '3. Drill Down to Company-Level Events WHEN NEEDED: For detailed insights into a specific company, use the company-specific endpoint.
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Dim creditsaveOld As String = " 'Dim creditsaveOld As String = "
select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API' ' select ba_KundenNr FROM tblBonitaetsauskunft WHERE ba_Pruefungstool = 'creditsafe API'
EXCEPT ' EXCEPT
SELECT * FROM ( SELECT ba_KundenNr ' SELECT * FROM ( SELECT ba_KundenNr
FROM tblBonitaetsauskunft ' FROM tblBonitaetsauskunft
WHERE ba_Pruefungstool = 'creditsafe API' and cast(ba_Datum as Date) >= '" & datum & "' ' WHERE ba_Pruefungstool = 'creditsafe API' and cast(ba_Datum as Date) >= '" & datum & "'
UNION ALL ' UNION ALL
SELECT e.KundenNr ' SELECT e.KundenNr
FROM ( ' FROM (
SELECT e.KundenNr, ' SELECT e.KundenNr,
e.eventDate, ' e.eventDate,
'creditsafe API' AS Source ' 'creditsafe API' AS Source
FROM [VERAG].[dbo].[tblCreditsafeEvents] e ' FROM [VERAG].[dbo].[tblCreditsafeEvents] e
INNER JOIN [VERAG].[dbo].[tblBonitaetsauskunft] b ' INNER JOIN [VERAG].[dbo].[tblBonitaetsauskunft] b
ON e.bonId = b.ba_id ' ON e.bonId = b.ba_id
WHERE b.ba_Pruefungstool = 'creditsafe API' ' WHERE b.ba_Pruefungstool = 'creditsafe API'
AND (e.localEventCode IN ('CL','CR') OR e.globalEventCode IN ('CL','CR')) ' AND (e.localEventCode IN ('CL','CR') OR e.globalEventCode IN ('CL','CR'))
) e ' ) e
WHERE cast(e.eventDate as Date) >= '" & datum & "' ' WHERE cast(e.eventDate as Date) >= '" & datum & "'
GROUP BY Source, e.KundenNr, cast(e.eventDate as Date) ' GROUP BY Source, e.KundenNr, cast(e.eventDate as Date)
) AS Temp" ' ) AS Temp"
Dim creditsave As String = "select distinct(ba_KundenNr) from Kunden
Dim creditsave As String = "select distinct(ba_KundenNr),f.Firma from Kunden
inner join tblKundenErweitert on Kunden.KundenNr = kde_KundenNr inner join tblKundenErweitert on Kunden.KundenNr = kde_KundenNr
inner join Filialen as f on f.FilialenNr = Kunden.FilialenNr
inner join tblBonitaetsauskunft on ba_KundenNr = kde_KundenNr inner join tblBonitaetsauskunft on ba_KundenNr = kde_KundenNr
where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1 AND ba_Pruefungstool = 'creditsafe API'" & IIf(datum <> "", " AND Kunden.Bonitätsdatum <= '" & datum & "'", "") where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 1 AND ba_Pruefungstool = 'creditsafe API'" & IIf(datum <> "", " AND Kunden.Bonitätsdatum <= '" & datum & "' ", "")
If False Then
creditsave &= " and ba_KundenNr = 720249" If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
creditsave &= " AND ba_Kundennr in (701809, 1096780)"
End If End If
Dim dtCreditsafe As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL")
If dtCreditsafe.Rows.Count = 0 Then Exit Sub
Dim cs = New cCreditSafeAPI("creditsafe") Dim cs = New cCreditSafeAPI("creditsafe")
Dim Mailinfolast1Year As Boolean = False
If cs.authenticate() = "200" Then If cs.authenticate() = "200" Then
If Not companyDetailEventsRequest Then
Dim API_Start_Daily = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN, VERAG_PROG_ALLGEMEIN.cAPI_Type.REST, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_IN_CS, "DAiLY-CREDITSAFE-EVENTS-IMPORT", "CS")
Dim dtMonitoredRequest As New DataTable
Dim companyDummy As New cCreditSafeAPI.Company("", "", "", "", "", "", Nothing, "", "", "", "", "", "", "", "", "", 0)
If datum <> "" AndAlso IsDate(datum) Then
companyDummy.lastChecked = CDate(datum)
End If
repeatRequestDaily:
Dim page As Integer = 0
Dim totalPages As Integer = -1
Dim APIText = cs.getCompanyEvents(companyDummy, dtMonitoredRequest, False, totalPages, checkDate, upateKunden, False,, setzeKundenbesonderheiten, True,, page)
If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then API_Start_Daily.UPDTAE_ERR("ERROR", APIText, "dailyImportCreditsafeEvents")
If APIText.Contains("Invalid token") Then
If Not cs.authenticate() = 200 Then
API_Start_Daily.UPDTAE_ERR("ERROR", APIText, "importCreditsafeEvents")
Exit Sub
Else
Thread.Sleep(4000)
GoTo repeatRequestDaily
End If
End If
If totalPages > 1 Then
For i = 2 To totalPages
repeatRequestDailyPages:
APIText = cs.getCompanyEvents(companyDummy, dtMonitoredRequest, False, totalPages, checkDate, upateKunden, False,, setzeKundenbesonderheiten, True,, i)
If APIText.Contains("Invalid token") Then
If Not cs.authenticate() = 200 Then
API_Start_Daily.UPDTAE_ERR("ERROR", APIText, "dailyImportCreditsafeEvents")
Exit For
Else
Thread.Sleep(4000)
GoTo repeatRequestDailyPages
End If
End If
Next
End If
Exit Sub
End If
Dim dtRechnungen As DataTable = (New SQL).loadDgvBySql("select distinct(RechnungsKundenNr) from Rechnungsausgang where cast(RechnungsDatum as Date) >= ' " & Today().AddYears(-1) & "' ", "FMZOLL")
Dim dtCreditsafe As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL")
If dtCreditsafe.Rows.Count = 0 Then Exit Sub
Dim countMissingVerag As Integer = 0
Dim countMissingIMEX As Integer = 0
Dim countMissingUNISPED As Integer = 0
Dim countMissingAMBAR As Integer = 0
Dim dt_fehlendeCreditsafeIDS As New DataTable
dt_fehlendeCreditsafeIDS.Columns.Add("KundenNr", GetType(String))
dt_fehlendeCreditsafeIDS.Columns.Add("Creditsafe-ID", GetType(String))
dt_fehlendeCreditsafeIDS.Columns.Add("Creditsafe-NO", GetType(String))
dt_fehlendeCreditsafeIDS.Columns.Add("Firma", GetType(String))
Dim counter As Integer = 0
Dim API_Start = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN, VERAG_PROG_ALLGEMEIN.cAPI_Type.REST, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_IN_CS, "CREDITSAFE-EVENTS-IMPORT", "CS")
If dtCreditsafe.Rows.Count = 0 Then
API_Start.UPDTAE_ERR("ERROR - KEINE DATEN", "Anzahl abgefragte Datensätze:" & dtCreditsafe.Rows.Count & " Anzahl importierte Datensätze:" & counter & " Anzahl fehlende Creditsafe-IDs:" & dt_fehlendeCreditsafeIDS.Rows.Count, "importCreditsafeEvents")
End If
For Each row As DataRow In dtCreditsafe.Rows For Each row As DataRow In dtCreditsafe.Rows
@@ -6453,21 +6548,109 @@ weiter:
If currentBonID > 0 Then company.csBonID = currentBonID If currentBonID > 0 Then company.csBonID = currentBonID
Dim dt As New DataTable() Dim dt As New DataTable()
cs.getCompanyEvents(company, dt, checkDate, upateKunden, False,, setzeKundenbesonderheiten, sendMail)
Dim exists As Boolean = dtRechnungen.AsEnumerable().Any(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = KUNDE_ERW.kde_KundenNr)
If sendMail Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
Mailinfolast1Year = True
Else
Mailinfolast1Year = exists
End If
End If
repeatRequest:
Dim APIText As String = ""
If exists Then
APIText = cs.getCompanyEventsDetails(company, dt, checkDate, upateKunden, False, , setzeKundenbesonderheiten, Mailinfolast1Year, row("Firma"))
End If
If (APIText.Contains("Error") Or APIText.Contains("Verbindungsfehler")) Then
Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN, VERAG_PROG_ALLGEMEIN.cAPI_Type.REST, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_IN_CS, "CREDITSAFE-EVENTS", "CS",, KUNDE_ERW.kde_KundenNr)
API.UPDTAE_ERR("ERROR", APIText, "importCreditsafeEvents")
If APIText.Contains("Not Found") AndAlso APIText.Contains(KUNDE_ERW.kde_CreditSaveId) Then
Dim R As DataRow = dt_fehlendeCreditsafeIDS.NewRow
R("KundenNr") = KUNDE_ERW.kde_KundenNr
R("Creditsafe-ID") = KUNDE_ERW.kde_CreditSaveId
R("Creditsafe-NO") = KUNDE_ERW.kde_CreditSaveNo
R("Firma") = row("Firma")
dt_fehlendeCreditsafeIDS.Rows.Add(R)
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
Select Case row(FIRMA)
Case "VERAG" : countMissingVerag += 1
Case "IMEX" : countMissingIMEX += 1
Case "AMBAR" : countMissingAMBAR += 1
Case "UNISPED" : countMissingUNISPED += 1
End Select
End If
KUNDE_ERW.kde_CreditSaveId = ""
KUNDE_ERW.SAVE()
End If
If APIText.Contains("Invalid token") Then
If Not cs.authenticate() = 200 Then
API.UPDTAE_ERR("ERROR", APIText, "importCreditsafeEvents")
Exit For
Else
Thread.Sleep(4000)
GoTo repeatRequest
End If
End If
Else
counter += 1
End If
Thread.Sleep(1000) Thread.Sleep(1000)
Next Next
If dtCreditsafe.Rows.Count = (counter - dt_fehlendeCreditsafeIDS.Rows.Count) Then
API_Start.UPDTAE_OK()
Else
API_Start.UPDTAE_ERR("IMPORT UNVOLLSTÄNDIG", "Anzahl abgefragte Datensätze:" & dtCreditsafe.Rows.Count & " Anzahl importierte Datensätze:" & counter & " Anzahl fehlende Creditsafe-IDs:" & dt_fehlendeCreditsafeIDS.Rows.Count, "importCreditsafeEvents")
End If
If dt_fehlendeCreditsafeIDS.Rows.Count > 0 Then
Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_fehlendeCreditsafeIDS,,,,, False)
If filepath <> "" Then
Dim anhenge As New List(Of String)
anhenge.Add(filepath)
Dim empfaneger As String = ""
If countMissingVerag > 0 Then empfaneger &= "as@verag.ag;"
If countMissingIMEX > 0 Then empfaneger &= "Viktoria.Leirich@imex-group.at;"
If countMissingUNISPED > 0 Then empfaneger &= "" '"sabine.muehlboeck@unisped.at;"
If countMissingAMBAR > 0 Then empfaneger &= "" '"Buchhaltung@ambarlog.com;"
If empfaneger <> "" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "CREDITSAFE - fehlende CS-IDs", "Im Anhang befinden sich eine Liste der Kunden, deren Creditsafe-ID ungültig sind/nicht gefunden wurden!" & "<br><br>" & "*Automatic generated e-mail*",,,,, "d.breimaier@verag.ag", anhenge)
End If
End If
End If End If
End Sub End Sub
Private Sub UploadCompaniesToCreditsafe() Private Sub UploadCompaniesToCreditsafe(sync As Boolean)
Dim cs = New cCreditSafeAPI("creditsafe") Dim cs = New cCreditSafeAPI("creditsafe")
Dim addCreditsave As Boolean = False Dim addCreditsave As Boolean = False
If cs.authenticate() = "200" Then addCreditsave = True If cs.authenticate() = "200" Then addCreditsave = True
'The Sync method allows you to replace all existing companies in a portfolio with the contents of an uploaded file.
'Unlike the Import method, this endpoint overwrites the entire portfolio, deleting all previously allocated companies.
Dim where As String = ""
If Not sync Then where = " and kde_CSPortfolioAdded = 0"
While addCreditsave While addCreditsave
Dim creditsave As String = "select kde_CreditSaveNo 'Safe Number', '' as 'Local Org No.',left(kde_CreditSaveId,2) as 'Country Code', '' as Reference, '' as 'Free Text', '' as 'Personal Limit' from tblKundenErweitert where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' and kde_CSPortfolioAdded = 0 group by kde_CreditSaveNo, kde_CreditSaveId" Dim creditsave As String = "select kde_CreditSaveNo 'Safe Number', '' as 'Local Org No.',left(kde_CreditSaveId,2) as 'Country Code', '' as Reference, '' as 'Free Text', '' as 'Personal Limit' from tblKundenErweitert inner join Adressen on Adressen.AdressenNr = kde_KundenNr where isnull(tblKundenErweitert.kde_CreditSaveId,'') <> '' and kde_CreditSaveId <> 'True' and kde_CreditSaveId <>'False' and isnull(kde_CreditSaveNo,'') <> '' " & where & " and Adressen.Auswahl = 'A' group by kde_CreditSaveNo, kde_CreditSaveId"
Dim dtCreditsafe_CSV As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL") Dim dtCreditsafe_CSV As DataTable = (New SQL).loadDgvBySql(creditsave, "FMZOLL")
If dtCreditsafe_CSV.Rows.Count = 0 Then If dtCreditsafe_CSV.Rows.Count = 0 Then
@@ -6476,11 +6659,15 @@ weiter:
Dim Path As String = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genCSVFromDT(dtCreditsafe_CSV,,, "importcsv") Dim Path As String = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genCSVFromDT(dtCreditsafe_CSV,,, "importcsv")
If Path <> "" Then If Path <> "" Then
If cs.AddCompaniesCSVToPortfolio(Path).Contains("400") Then 'bei Fehler abbrechen!
Dim resp = cs.AddCompaniesCSVToPortfolio(Path, sync)
If resp IsNot Nothing AndAlso resp.Contains("400") Then 'bei Fehler abbrechen!
Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN, VERAG_PROG_ALLGEMEIN.cAPI_Type.REST, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_IN_CS, "CREDITSAFE-PORTFOLIO UPLOAD", "CS")
API.UPDTAE_ERR("ERROR", resp, "AddCompaniesCSVToPortfolio")
Exit While Exit While
End If End If
End If End If
End If End If
Dim displayView = New DataView(dtCreditsafe_CSV, "", "Safe Number", DataViewRowState.CurrentRows) Dim displayView = New DataView(dtCreditsafe_CSV, "", "Safe Number", DataViewRowState.CurrentRows)
@@ -6498,7 +6685,7 @@ weiter:
addCreditsave = (New SQL).doSQL("Update tblKundenErweitert set kde_CSPortfolioAdded = 1 where kde_CreditSaveNo in (" & CS_ID & ")", "FMZOLL") addCreditsave = (New SQL).doSQL("Update tblKundenErweitert set kde_CSPortfolioAdded = 1 where kde_CreditSaveNo in (" & CS_ID & ")", "FMZOLL")
End If End If
If sync Then addCreditsave = False
End While End While