plose, StartOpt.

This commit is contained in:
2025-09-19 12:02:56 +02:00
parent ab5a23c062
commit 79e6765c62
4 changed files with 313 additions and 121 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-07-14-000000-999999-00_RGDAT_17.07.2025.csv" Then
' filename3 = filename.ToString().Substring(0, 9)
' filename3 &= "%"
' filename3 &= filename.ToString().Substring(9, filename.Length - 9)
' 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

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

View File

@@ -277,6 +277,11 @@ Partial Class frmStartOptions
Me.Button27 = New System.Windows.Forms.Button() Me.Button27 = New System.Windows.Forms.Button()
Me.lblWartungen = New System.Windows.Forms.Label() Me.lblWartungen = New System.Windows.Forms.Label()
Me.TabPage7 = New System.Windows.Forms.TabPage() Me.TabPage7 = New System.Windows.Forms.TabPage()
Me.cbxMailsenden = New System.Windows.Forms.CheckBox()
Me.cbxKundenbesonderheitenCS = New System.Windows.Forms.CheckBox()
Me.lblCS_DB = New System.Windows.Forms.Label()
Me.lbl_CS_online = New System.Windows.Forms.Label()
Me.cbxTestsystemCS = New System.Windows.Forms.CheckBox()
Me.lblCSPortfolio = New System.Windows.Forms.Label() Me.lblCSPortfolio = New System.Windows.Forms.Label()
Me.bcxKundendatenaktCS = New System.Windows.Forms.CheckBox() Me.bcxKundendatenaktCS = New System.Windows.Forms.CheckBox()
Me.cbCheckDate = New System.Windows.Forms.CheckBox() Me.cbCheckDate = New System.Windows.Forms.CheckBox()
@@ -306,11 +311,8 @@ Partial Class frmStartOptions
Me.lklAufschubkontenATLASEZOLL = New System.Windows.Forms.LinkLabel() Me.lklAufschubkontenATLASEZOLL = New System.Windows.Forms.LinkLabel()
Me.lblRoutineManager = New System.Windows.Forms.Label() Me.lblRoutineManager = New System.Windows.Forms.Label()
Me.Button21 = New System.Windows.Forms.Button() Me.Button21 = New System.Windows.Forms.Button()
Me.cbxTestsystemCS = New System.Windows.Forms.CheckBox() Me.cbxCSsync = New System.Windows.Forms.CheckBox()
Me.lbl_CS_online = New System.Windows.Forms.Label() Me.Label48 = New System.Windows.Forms.Label()
Me.lblCS_DB = New System.Windows.Forms.Label()
Me.cbxKundenbesonderheitenCS = New System.Windows.Forms.CheckBox()
Me.cbxMailsenden = New System.Windows.Forms.CheckBox()
Me.MyTextBox3 = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.MyTextBox3 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.MyTextBox2 = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.MyTextBox2 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtSyskaWdhDateiname = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtSyskaWdhDateiname = New VERAG_PROG_ALLGEMEIN.MyTextBox()
@@ -3463,6 +3465,8 @@ Partial Class frmStartOptions
' '
'TabPage7 'TabPage7
' '
Me.TabPage7.Controls.Add(Me.Label48)
Me.TabPage7.Controls.Add(Me.cbxCSsync)
Me.TabPage7.Controls.Add(Me.cbxMailsenden) Me.TabPage7.Controls.Add(Me.cbxMailsenden)
Me.TabPage7.Controls.Add(Me.cbxKundenbesonderheitenCS) Me.TabPage7.Controls.Add(Me.cbxKundenbesonderheitenCS)
Me.TabPage7.Controls.Add(Me.lblCS_DB) Me.TabPage7.Controls.Add(Me.lblCS_DB)
@@ -3482,6 +3486,57 @@ Partial Class frmStartOptions
Me.TabPage7.Text = "Creditsafe" Me.TabPage7.Text = "Creditsafe"
Me.TabPage7.UseVisualStyleBackColor = True Me.TabPage7.UseVisualStyleBackColor = True
' '
'cbxMailsenden
'
Me.cbxMailsenden.AutoSize = True
Me.cbxMailsenden.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxMailsenden.Location = New System.Drawing.Point(16, 246)
Me.cbxMailsenden.Name = "cbxMailsenden"
Me.cbxMailsenden.Size = New System.Drawing.Size(83, 17)
Me.cbxMailsenden.TabIndex = 163
Me.cbxMailsenden.Text = "Mail senden"
Me.cbxMailsenden.UseVisualStyleBackColor = True
'
'cbxKundenbesonderheitenCS
'
Me.cbxKundenbesonderheitenCS.AutoSize = True
Me.cbxKundenbesonderheitenCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxKundenbesonderheitenCS.Location = New System.Drawing.Point(16, 223)
Me.cbxKundenbesonderheitenCS.Name = "cbxKundenbesonderheitenCS"
Me.cbxKundenbesonderheitenCS.Size = New System.Drawing.Size(164, 17)
Me.cbxKundenbesonderheitenCS.TabIndex = 162
Me.cbxKundenbesonderheitenCS.Text = "setze Kundenbesonderheiten"
Me.cbxKundenbesonderheitenCS.UseVisualStyleBackColor = True
'
'lblCS_DB
'
Me.lblCS_DB.AutoSize = True
Me.lblCS_DB.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCS_DB.Location = New System.Drawing.Point(152, 48)
Me.lblCS_DB.Name = "lblCS_DB"
Me.lblCS_DB.Size = New System.Drawing.Size(0, 13)
Me.lblCS_DB.TabIndex = 161
'
'lbl_CS_online
'
Me.lbl_CS_online.AutoSize = True
Me.lbl_CS_online.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lbl_CS_online.Location = New System.Drawing.Point(102, 48)
Me.lbl_CS_online.Name = "lbl_CS_online"
Me.lbl_CS_online.Size = New System.Drawing.Size(0, 13)
Me.lbl_CS_online.TabIndex = 160
'
'cbxTestsystemCS
'
Me.cbxTestsystemCS.AutoSize = True
Me.cbxTestsystemCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxTestsystemCS.Location = New System.Drawing.Point(17, 6)
Me.cbxTestsystemCS.Name = "cbxTestsystemCS"
Me.cbxTestsystemCS.Size = New System.Drawing.Size(79, 17)
Me.cbxTestsystemCS.TabIndex = 140
Me.cbxTestsystemCS.Text = "Testsystem"
Me.cbxTestsystemCS.UseVisualStyleBackColor = True
'
'lblCSPortfolio 'lblCSPortfolio
' '
Me.lblCSPortfolio.AutoSize = True Me.lblCSPortfolio.AutoSize = True
@@ -3496,7 +3551,7 @@ Partial Class frmStartOptions
' '
Me.bcxKundendatenaktCS.AutoSize = True Me.bcxKundendatenaktCS.AutoSize = True
Me.bcxKundendatenaktCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.bcxKundendatenaktCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.bcxKundendatenaktCS.Location = New System.Drawing.Point(14, 147) Me.bcxKundendatenaktCS.Location = New System.Drawing.Point(16, 200)
Me.bcxKundendatenaktCS.Name = "bcxKundendatenaktCS" Me.bcxKundendatenaktCS.Name = "bcxKundendatenaktCS"
Me.bcxKundendatenaktCS.Size = New System.Drawing.Size(150, 17) Me.bcxKundendatenaktCS.Size = New System.Drawing.Size(150, 17)
Me.bcxKundendatenaktCS.TabIndex = 158 Me.bcxKundendatenaktCS.TabIndex = 158
@@ -3507,7 +3562,7 @@ Partial Class frmStartOptions
' '
Me.cbCheckDate.AutoSize = True Me.cbCheckDate.AutoSize = True
Me.cbCheckDate.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.cbCheckDate.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbCheckDate.Location = New System.Drawing.Point(14, 124) Me.cbCheckDate.Location = New System.Drawing.Point(16, 177)
Me.cbCheckDate.Name = "cbCheckDate" Me.cbCheckDate.Name = "cbCheckDate"
Me.cbCheckDate.Size = New System.Drawing.Size(74, 17) Me.cbCheckDate.Size = New System.Drawing.Size(74, 17)
Me.cbCheckDate.TabIndex = 140 Me.cbCheckDate.TabIndex = 140
@@ -3529,7 +3584,7 @@ Partial Class frmStartOptions
Me.Button28.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.Button28.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button28.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) Me.Button28.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button28.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.Button28.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button28.Location = New System.Drawing.Point(10, 216) Me.Button28.Location = New System.Drawing.Point(12, 269)
Me.Button28.Name = "Button28" Me.Button28.Name = "Button28"
Me.Button28.Size = New System.Drawing.Size(131, 24) Me.Button28.Size = New System.Drawing.Size(131, 24)
Me.Button28.TabIndex = 141 Me.Button28.TabIndex = 141
@@ -3541,7 +3596,7 @@ Partial Class frmStartOptions
Me.btnCreditsaveLauf.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnCreditsaveLauf.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnCreditsaveLauf.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) Me.btnCreditsaveLauf.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.btnCreditsaveLauf.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.btnCreditsaveLauf.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnCreditsaveLauf.Location = New System.Drawing.Point(16, 76) Me.btnCreditsaveLauf.Location = New System.Drawing.Point(14, 103)
Me.btnCreditsaveLauf.Name = "btnCreditsaveLauf" Me.btnCreditsaveLauf.Name = "btnCreditsaveLauf"
Me.btnCreditsaveLauf.Size = New System.Drawing.Size(131, 24) Me.btnCreditsaveLauf.Size = New System.Drawing.Size(131, 24)
Me.btnCreditsaveLauf.TabIndex = 140 Me.btnCreditsaveLauf.TabIndex = 140
@@ -3806,56 +3861,27 @@ Partial Class frmStartOptions
Me.Button21.Text = "AAS Sendung 24h" Me.Button21.Text = "AAS Sendung 24h"
Me.Button21.UseVisualStyleBackColor = True Me.Button21.UseVisualStyleBackColor = True
' '
'cbxTestsystemCS 'cbxCSsync
' '
Me.cbxTestsystemCS.AutoSize = True Me.cbxCSsync.AutoSize = True
Me.cbxTestsystemCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.cbxCSsync.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxTestsystemCS.Location = New System.Drawing.Point(17, 6) Me.cbxCSsync.Location = New System.Drawing.Point(17, 64)
Me.cbxTestsystemCS.Name = "cbxTestsystemCS" Me.cbxCSsync.Name = "cbxCSsync"
Me.cbxTestsystemCS.Size = New System.Drawing.Size(79, 17) Me.cbxCSsync.Size = New System.Drawing.Size(54, 17)
Me.cbxTestsystemCS.TabIndex = 140 Me.cbxCSsync.TabIndex = 164
Me.cbxTestsystemCS.Text = "Testsystem" Me.cbxCSsync.Text = "Sync*"
Me.cbxTestsystemCS.UseVisualStyleBackColor = True Me.cbxCSsync.UseVisualStyleBackColor = True
' '
'lbl_CS_online 'Label48
' '
Me.lbl_CS_online.AutoSize = True Me.Label48.AutoSize = True
Me.lbl_CS_online.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label48.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lbl_CS_online.Location = New System.Drawing.Point(102, 48) Me.Label48.ForeColor = System.Drawing.Color.Red
Me.lbl_CS_online.Name = "lbl_CS_online" Me.Label48.Location = New System.Drawing.Point(14, 84)
Me.lbl_CS_online.Size = New System.Drawing.Size(0, 13) Me.Label48.Name = "Label48"
Me.lbl_CS_online.TabIndex = 160 Me.Label48.Size = New System.Drawing.Size(450, 13)
' Me.Label48.TabIndex = 165
'lblCS_DB Me.Label48.Text = "*bei Sync werden alle gelöscht und neu hochgeladen, sonst nur hochgeladen."
'
Me.lblCS_DB.AutoSize = True
Me.lblCS_DB.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblCS_DB.Location = New System.Drawing.Point(152, 48)
Me.lblCS_DB.Name = "lblCS_DB"
Me.lblCS_DB.Size = New System.Drawing.Size(0, 13)
Me.lblCS_DB.TabIndex = 161
'
'cbxKundenbesonderheitenCS
'
Me.cbxKundenbesonderheitenCS.AutoSize = True
Me.cbxKundenbesonderheitenCS.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxKundenbesonderheitenCS.Location = New System.Drawing.Point(14, 170)
Me.cbxKundenbesonderheitenCS.Name = "cbxKundenbesonderheitenCS"
Me.cbxKundenbesonderheitenCS.Size = New System.Drawing.Size(164, 17)
Me.cbxKundenbesonderheitenCS.TabIndex = 162
Me.cbxKundenbesonderheitenCS.Text = "setze Kundenbesonderheiten"
Me.cbxKundenbesonderheitenCS.UseVisualStyleBackColor = True
'
'cbxMailsenden
'
Me.cbxMailsenden.AutoSize = True
Me.cbxMailsenden.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxMailsenden.Location = New System.Drawing.Point(14, 193)
Me.cbxMailsenden.Name = "cbxMailsenden"
Me.cbxMailsenden.Size = New System.Drawing.Size(83, 17)
Me.cbxMailsenden.TabIndex = 163
Me.cbxMailsenden.Text = "Mail senden"
Me.cbxMailsenden.UseVisualStyleBackColor = True
' '
'MyTextBox3 'MyTextBox3
' '
@@ -4612,7 +4638,7 @@ Partial Class frmStartOptions
Me.txtCSDate.BackColor = System.Drawing.SystemColors.Window Me.txtCSDate.BackColor = System.Drawing.SystemColors.Window
Me.txtCSDate.Enabled = False Me.txtCSDate.Enabled = False
Me.txtCSDate.ForeColor = System.Drawing.Color.Red Me.txtCSDate.ForeColor = System.Drawing.Color.Red
Me.txtCSDate.Location = New System.Drawing.Point(94, 121) Me.txtCSDate.Location = New System.Drawing.Point(96, 174)
Me.txtCSDate.MaxLength = 10 Me.txtCSDate.MaxLength = 10
Me.txtCSDate.MaxLineLength = -1 Me.txtCSDate.MaxLineLength = -1
Me.txtCSDate.MaxLines_Warning = "" Me.txtCSDate.MaxLines_Warning = ""
@@ -5081,4 +5107,6 @@ Partial Class frmStartOptions
Friend WithEvents lbl_CS_online As Label Friend WithEvents lbl_CS_online As Label
Friend WithEvents cbxMailsenden As CheckBox Friend WithEvents cbxMailsenden As CheckBox
Friend WithEvents cbxKundenbesonderheitenCS As CheckBox Friend WithEvents cbxKundenbesonderheitenCS As CheckBox
Friend WithEvents Label48 As Label
Friend WithEvents cbxCSsync As CheckBox
End Class End Class

View File

@@ -6,6 +6,7 @@ Imports System.Security.Cryptography.X509Certificates
Imports System.Text Imports System.Text
Imports System.Threading Imports System.Threading
Imports System.Xml Imports System.Xml
Imports com.sun.xml.internal.rngom.digested
Imports MDM_Worker Imports MDM_Worker
Imports Renci.SshNet Imports Renci.SshNet
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
@@ -847,7 +848,9 @@ 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()
@@ -6278,7 +6281,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
@@ -6357,7 +6360,7 @@ weiter:
'3. Drill Down to Company-Level Events When Needed: For detailed insights into a specific company, use the company-specific endpoint. '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. '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! 'aktuell machem wir gleich Punkt 3 (damit haben wir alle Informationen), das verursacht allerdings sehr viele API-Aurfrufe, besser nach dem Best Practice oben!
Dim creditsaveOld As String = " Dim creditsaveOld As String = "
@@ -6426,14 +6429,21 @@ weiter:
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
@@ -6442,11 +6452,13 @@ 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!
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)
@@ -6464,7 +6476,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