plose, MDMDateneinarbeitung(PLOSE)

This commit is contained in:
2025-01-31 15:10:51 +01:00
parent 1b9a79da5e
commit d524f1a6d3
3 changed files with 72 additions and 16 deletions

View File

@@ -239,12 +239,13 @@ Public Class cPLOSE
If Not MWSTSummenAusBeleg Then If Not MWSTSummenAusBeleg Then
GET_Antraege_PLOSE(LIST, von, bis, KundenNr, Land, Archiv) GET_Antraege_PLOSE(LIST, von, bis, KundenNr, Land, Archiv)
GET_Antraege_ByLieferantCode(LIST, "'90'", von, bis, KundenNr, Land, Archiv) 'SOFICO
GET_Antraege_ByLieferantCodeNULL(LIST, von, bis, KundenNr, Land, Archiv) 'SOFICO
Else Else
GET_Antraege_PLOSE_NEU(LIST, von, bis, KundenNr, Land, Archiv) GET_Antraege_PLOSE_NEU(LIST, von, bis, KundenNr, Land, Archiv)
End If End If
GET_Antraege_ByLieferantCode(LIST, "'90'", von, bis, KundenNr, Land, Archiv) 'SOFICO
GET_Antraege_ByLieferantCodeNULL(LIST, von, bis, KundenNr, Land, Archiv) 'SOFICO
cPLOSE_USTV_ANTR.reOrderList(LIST) cPLOSE_USTV_ANTR.reOrderList(LIST)
Return LIST Return LIST
@@ -430,8 +431,8 @@ Public Class cPLOSE
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT plInv_SupplierRechnungsDatum,plInv_SupplierRechnungsNr, plInv_Lieferant,plInv_Nettobetrag,plInv_MWSTBetrag, plInv_Bruttobetrag, isnull(plInv_Currency,'EUR') as plInv_WaehrungAbbuchung , case when plInv_LieferantCode = 'PSS' then 0 else 9 end as plInv_LieferantCode, plInv_daId from tblPLOSE_Inv_Data Using cmd As New SqlCommand("SELECT plInv_SupplierRechnungsDatum,plInv_SupplierRechnungsNr, plInv_Lieferant,plInv_Nettobetrag,plInv_MWSTBetrag, plInv_Bruttobetrag, isnull(plInv_Currency,'EUR') as plInv_WaehrungAbbuchung , case when plInv_LieferantCode = 'PSS' then 0 else 9 end as plInv_LieferantCode, plInv_daId from tblPLOSE_Inv_Data
INNER JOIN Adressen on PLOSEKundenNr=plInv_PLOSEKundennummer INNER JOIN Adressen on PLOSEKundenNr=plInv_PLOSEKundennummer
where cast(plInv_SupplierRechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr and where cast(plInv_SupplierRechnungsDatum as date) between @von and @bis and AdressenNr=@AdressenNr " & IIf(Archiv, "", " AND plInv_Archiv = 0") & " AND
plInv_SupplierCountry ='" & Land & "'and plInv_MWSTBetrag <> 0 AND (plInv_LieferantCode = 'PSS' OR plInv_LieferantCode = 'UNI') AND plInv_SupplierRechnungsNr not like '%-SFC-%'" & 'wie Lieferantencode = 90 plInv_SupplierCountry ='" & Land & "'and plInv_MWSTBetrag <> 0 /* AND (plInv_LieferantCode = 'PSS' OR plInv_LieferantCode = 'UNI') AND plInv_SupplierRechnungsNr not like '%-SFC-%'*/" & 'wie Lieferantencode = 90
"order by plInv_SupplierRechnungsDatum", conn) "order by plInv_SupplierRechnungsDatum", conn)
cmd.Parameters.AddWithValue("@von", von) cmd.Parameters.AddWithValue("@von", von)
@@ -611,6 +612,35 @@ Public Class cPLOSE
Public Shared Function UPDATE_ARCHIV_NEULOGIK(von As Date, bis As Date, KundenNr As Integer, UStVAn_ID As Integer, Optional plose_RechnungsNr As String = "", Optional proRechnung As Boolean = False) As Boolean
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("von", von))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bis", bis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ID", UStVAn_ID))
If plose_RechnungsNr <> "" Then list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plose_RechnungsNr", plose_RechnungsNr))
Dim sqlUpdate = "UPDATE [tblPLOSE_Inv_Data]
set plInv_Archiv=1, [plInv_ArchiviertDatum]=GETDATE(), plInv_UStVAn_ID = @UStVAn_ID
FROM [tblPLOSE_Inv_Data] INNER JOIN Adressen on PLOSEKundenNr=[plInv_PLOSEKundennummer]
WHERE cast([plInv_SupplierRechnungsDatum] as date) between @von and @bis and AdressenNr=@KundenNr " & IIf(proRechnung AndAlso plose_RechnungsNr <> "", "AND [plInv_SupplierRechnungsNr]=@plose_RechnungsNr", "")
Return SQL.doSQLVarList(sqlUpdate, "FMZOLL", True, list)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public ANLAGEN Public ANLAGEN

View File

@@ -24,9 +24,9 @@ Public Class cPLOSE_Inv_Data
Property plInv_Currency As Object = Nothing Property plInv_Currency As Object = Nothing
Property plInv_daId As Object = Nothing Property plInv_daId As Object = Nothing
Property plInv_tstmp As DateTime = Now Property plInv_tstmp As DateTime = Now
Property plInv_UStVAn_ID As Object = Nothing
Property plInv_Archiv As Object = Nothing
Property plInv_ArchiviertDatum As Object = Nothing
Public hasEntry = False Public hasEntry = False
@@ -65,6 +65,9 @@ Public Class cPLOSE_Inv_Data
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_Currency", plInv_Currency)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_Currency", plInv_Currency))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_daId", plInv_daId)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_daId", plInv_daId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_tstmp", plInv_tstmp)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_tstmp", plInv_tstmp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_UStVAn_ID", plInv_UStVAn_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_Archiv", plInv_Archiv))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("plInv_ArchiviertDatum", plInv_ArchiviertDatum))
Return list Return list
End Function End Function

View File

@@ -4,6 +4,7 @@ Imports System.Xml
Imports Renci.SshNet Imports Renci.SshNet
Imports System.Net Imports System.Net
Imports System.Text Imports System.Text
Imports System.Text.RegularExpressions
Public Class frmMDMNachrichtenVerarbeitung Public Class frmMDMNachrichtenVerarbeitung
Dim cntDatenEingelesen As Integer = 0 Dim cntDatenEingelesen As Integer = 0
@@ -427,18 +428,40 @@ Public Class frmMDMNachrichtenVerarbeitung
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "PLOSE", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d),) Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "PLOSE", Now.Year, Now.ToString("yyyyMMdd"), frmStartOptions.getFileName(d),)
DS.uploadDataToDATENSERVER(d) DS.uploadDataToDATENSERVER(d)
'DatenArchiv-Id in tblPLOSE_Inv_Data Tabelle eintragen (über PDF-Name) : 'DatenArchiv-Id in tblPLOSE_Inv_Data Tabelle eintragen (über PDF-Name) :
SQL.doSQL("Update [tblPLOSE_Inv_Data] SET [plInv_daId]='" & DS.da_id & "' where [plInv_PdfFileName] = '" & DS.da_name & "' and [plInv_Einlesedatum] > DATEADD(DAY,-30,getdate()) and [plInv_daId] is null ", "FMZOLL") Dim EintragVorhanden As Integer = CInt(SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM tblPLOSE_Inv_Data where [plInv_PdfFileName] = '" & DS.da_name & "'", "FMZOLL"))
If EintragVorhanden > 0 Then
SQL.doSQL("Update [tblPLOSE_Inv_Data] SET [plInv_daId]='" & DS.da_id & "' where [plInv_PdfFileName] = '" & DS.da_name & "' and [plInv_Einlesedatum] > DATEADD(DAY,-30,getdate()) and [plInv_daId] is null ", "FMZOLL")
Else
'beispiel
'542073_2504495.01_2025-fln-000004495.pdf -> DATEINAME laut DB Eintrag
'b_542073_2504495.01_2025-fln-000004495.pdf -> DATEINAME im Datenarchiv
'alle vorangehenden Buchstaben und Zeichen abschneiden und mit der ersten Zahl beginnen!!
Dim filename = frmStartOptions.getFileName(d)
If Regex.IsMatch(filename, "^[A-Za-z]") Then
Dim match As Match = Regex.Match(filename, "\d+")
If match.Success Then
Dim fileNameNew = filename.Substring(match.Index).Trim
EintragVorhanden = CInt(SQL.getValueTxtBySqlVarList("SELECT isnull(count(*),0) FROM tblPLOSE_Inv_Data where [plInv_PdfFileName] ='" & fileNameNew & "'", "FMZOLL"))
If EintragVorhanden > 0 Then SQL.doSQL("Update [tblPLOSE_Inv_Data] SET [plInv_daId]='" & DS.da_id & "' where [plInv_PdfFileName] = '" & fileNameNew & "' and [plInv_Einlesedatum] > DATEADD(DAY,-30,getdate()) and [plInv_daId] is null ", "FMZOLL")
End If
End If
End If
frmStartOptions.moveFile_DateBack(d, ZIEL_PFAD & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") frmStartOptions.moveFile_DateBack(d, ZIEL_PFAD & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
'frmStartOptions.copyFile_DateBack(d, ZIEL_PFAD & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") 'frmStartOptions.copyFile_DateBack(d, ZIEL_PFAD & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
addDGVEinarbeitung("PDF", DS.da_name) addDGVEinarbeitung("PDF", DS.da_name)
dgvEinarbeitung.Refresh() dgvEinarbeitung.Refresh()
'Eintrag 'Eintrag
End If End If
Case 5 Case 5
frmStartOptions.moveFile_DateBack(d, ERROR_PFAD) frmStartOptions.moveFile_DateBack(d, ERROR_PFAD)
dsNichtErkannt += 1 dsNichtErkannt += 1
End Select End Select