MDM, Auswertungen, Nacherfassung, Kundebearbeiten, Mahnlauf

This commit is contained in:
2024-11-20 17:10:35 +01:00
parent 0fb0452990
commit 7435031346
11 changed files with 500 additions and 259 deletions

View File

@@ -1,5 +1,6 @@
Imports System.Data.OleDb
Imports System.IO
Imports TAlex.WPF.Helpers
Imports VERAG_PROG_ALLGEMEIN
Public Class frmMDMDatenverarbetiung
@@ -387,7 +388,7 @@ Public Class frmMDMDatenverarbetiung
AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland)
AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)
as temp
where temp.abgerechnet <> 1
where temp.abgerechnet <> 1 and cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'
GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort, Lieferland, Kartennummer"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
@@ -763,7 +764,7 @@ Public Class frmMDMDatenverarbetiung
AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland)
AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart))
ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) as temp
where temp.abgerechnet <> 1
where temp.abgerechnet <> 1 and [Rechnungsdatum] = '" & DateTimePicker2.Text & "'
GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort", "FMZOLL")
.LOAD()
'MsgBox(.GET_SQL())
@@ -1112,6 +1113,7 @@ Public Class frmMDMDatenverarbetiung
Panel3.Controls.Add(c)
c.Dock = DockStyle.Fill
Case "UTA"
Panel5.Visible = True
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
Panel3.Controls.Add(c)
c.Dock = DockStyle.Fill
@@ -1211,7 +1213,7 @@ Public Class frmMDMDatenverarbetiung
INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer)
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
where abgerechnet <> 1
where abgerechnet <> 1 and [Rechnungsdatum] = '" & DateTimePicker2.Text & "'
group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck"
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
@@ -1235,11 +1237,15 @@ Public Class frmMDMDatenverarbetiung
For Each csv As DataRow In distinctDT_CSV.Rows
Dim dt_CSV_selected = SQL.loadDgvBySql_Param("SELECT * FROM tblUTAImportNew where Kundennummer = " & csv.Item("Customer ID"), "FMZOLL")
Dim dt_CSV_selected = SQL.loadDgvBySql_Param("SELECT * FROM tblUTAImportNew where [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & csv.Item("Customer ID"), "FMZOLL")
dt_CSV_selected.ParentRelations.Clear()
dt_CSV_selected.ChildRelations.Clear()
dt_CSV_selected.Constraints.Clear()
dt_CSV_selected.Columns.Remove("upsize_ts")
If dt_CSV_selected.Columns.Contains("upsize_ts") Then dt_CSV_selected.Columns.Remove("upsize_ts")
If dt_CSV_selected.Columns.Contains("archiv") Then dt_CSV_selected.Columns.Remove("archiv")
If dt_CSV_selected.Columns.Contains("daId") Then dt_CSV_selected.Columns.Remove("daId")
If dt_CSV_selected.Columns.Contains("abgerechnetDatum") Then dt_CSV_selected.Columns.Remove("abgerechnetDatum")
If dt_CSV_selected.Columns.Contains("abgerechnet") Then dt_CSV_selected.Columns.Remove("abgerechnet")
Dim fn As String = dir & "\" & csv.Item(1) & "_Maut_UTA.csv"
@@ -1266,14 +1272,14 @@ Public Class frmMDMDatenverarbetiung
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
Dim verarbOK = True
If Not gen_SPEDBUCH_ByKdNr(UTA("Customer ID"), SPEDBUCH, "UTA") Then verarbOK = False
If Not gen_RECHNUNG_BySPEDBUCH(UTA("Customer ID"), SPEDBUCH, "UTA") Then verarbOK = False
If Not gen_SPEDBUCH_ByKdNr(UTA("Customer Nr"), SPEDBUCH, "UTA") Then verarbOK = False
If Not gen_RECHNUNG_BySPEDBUCH(UTA("Customer Nr"), SPEDBUCH, "UTA") Then verarbOK = False
genUTAAttachmentByKdNr(UTA("Customer Nr"), UTA("Customer ID"), dir, datPloseAnhang.Value)
If verarbOK Then
'UPDATE Fakturiert
SQL.doSQL("UPDATE [tblUTAImportNew] set abgerechnetDatum=GETDATE() where abgerechnetDatum is null and Kundennummer = " & UTA("Customer ID"), "FMZOLL")
SQL.doSQL("UPDATE [tblUTAImportNew] set abgerechnetDatum=GETDATE() where abgerechnetDatum is null and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & UTA("Customer ID"), "FMZOLL")
End If
@@ -2290,9 +2296,9 @@ Public Class frmMDMDatenverarbetiung
FROM
(SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Adressen.UTAExportCSV, Adressen.Rechnungsdruck, Offertenpositionen.KundenNr, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.*
FROM tblUTAFakturierwarenarten INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
WHERE Offertenpositionen.KundenNr='" & KdNr & "'
WHERE Offertenpositionen.KundenNr='" & KdNr & "' and tblUTAImportNew.Rechnungsdatum = '" & DateTimePicker2.Text & "'
) as qryUTA_Fakturierungspositionen
WHERE (((qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung)<>0))
WHERE (((qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung)<>0))
order by LicencePlateNumber, [Card Type]
"
@@ -3707,13 +3713,20 @@ Public Class frmMDMDatenverarbetiung
pruefData_UTA = False
If dtUTAKundennummern.Rows.Count = 1 AndAlso dtUTAKundennummern.Rows(0).Item("Kundennummer") = 868070 Then pruefData_UTA = True 'ist VERAG -> OK
If dtUTAKundennummern.Rows.Count = 1 AndAlso dtUTAKundennummern.Rows(0).Item("Kundennummer") = 868070 Then 'ist VERAG -> OK
pruefData_UTA = True
Else
MsgBox(dtUTAKundennummern.Rows.Count & " fehlende Kundennummern")
End If
End If
Dim dtUTAFakturierwarenarten As DataTable = SQL.loadDgvBySql("SELECT tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland
FROM tblUTAImportNew LEFT JOIN tblUTALeistungen ON (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland)
WHERE cast(tblUTAImportNew.Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'
GROUP BY tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland, tblUTALeistungen.Fakturierwarenart, tblUTALeistungen.Lieferland
HAVING (((tblUTALeistungen.Fakturierwarenart) Is Null) AND ((tblUTALeistungen.Lieferland) Is Null))", "FMZOLL")
@@ -3721,17 +3734,34 @@ Public Class frmMDMDatenverarbetiung
If dtUTAFakturierwarenarten.Rows.Count > 0 Then
pruefData_UTA = False
MsgBox(dtUTAFakturierwarenarten.Rows.Count & " Fakturwarenarten in tblUTALeistung nicht hinterlegt")
End If
Dim dtUTAOffertenPositionen As DataTable = SQL.loadDgvBySql("SELECT * FROM vwUTA_PrüfungInkonsistenzVERAGOffertenpositionen2_new", "FMZOLL")
If dtUTAOffertenPositionen.Rows.Count > 0 Then
pruefData_UTA = False
MsgBox(dtUTAOffertenPositionen.Rows.Count & " fehlende Offertenpostionen")
End If
Dim fehlendeRechnungen As Integer = 0
fehlendeRechnungen = CInt((New SQL).getValueTxtBySql("select count(*) from tblUTAImportNew where daId is null and cast([Rechnungsdatum] as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL"))
If fehlendeRechnungen > 0 Then
pruefData_UTA = False
Dim hint As String = ""
If fehlendeRechnungen < 10 Then
hint &= SQL.getValueTxtBySql("select distinct(Rechnungsnummer_pro_Lieferland) from tblUTAImportNew where daId is null and cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL")
End If
MsgBox("Es fehlen " & fehlendeRechnungen & " PDF-Rechnungen in der Datenbank!" & vbNewLine & "Diese Dokumente (von Rechnung " & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
pruefData_UTA = False