Kunednkontakte, Bereichitungsgruppen (Ansicht), StartOptions, etc.

This commit is contained in:
2026-01-30 16:43:34 +01:00
parent 0b6a5c9956
commit f7bde33bb4
9 changed files with 1290 additions and 1040 deletions

View File

@@ -6,7 +6,10 @@ Imports System.Security.Cryptography.X509Certificates
Imports System.Text
Imports System.Threading
Imports System.Xml
Imports com.sun.org.apache.bcel.internal.generic
Imports com.sun.tools.javadoc
Imports DAKOSY_Worker
Imports javax
Imports MDM_Worker
Imports Renci.SshNet
Imports VERAG_PROG_ALLGEMEIN
@@ -5862,11 +5865,11 @@ weiter:
If txtUTADate.Text = "" AndAlso txtUTAYear.Text <> "" Then
datumString = txtUTAYear.Text
fehlendeRechnungen = (New SQL).loadDgvBySql("select Adressen.AdressenNr, Adressen.[Name 1],Lieferland,[Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId] from tblUTAImportNew inner join adressen on Kundennummer = UTAKundenNr where daId is null and Year(cast([Rechnungsdatum] as Date)) = '" & datumString & "' and (Lieferland <> 'ROM' and Steuerliches_Lieferland <> 'ROM' or Kundennummer = 868070) Group by Adressen.AdressenNr, Adressen.[Name 1],[Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],Lieferland", "FMZOLL")
fehlendeRechnungen = (New SQL).loadDgvBySql(" SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND YEAR(U.Rechnungsdatum) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
fehlendeRechnungen = (New SQL).loadDgvBySql("select Adressen.AdressenNr, Adressen.[Name 1],Lieferland,[Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId] from tblUTAImportNew inner join adressen on Kundennummer = UTAKundenNr where daId is null and cast([Rechnungsdatum] as Date) = '" & datumString & "' and (Lieferland <> 'ROM' and Steuerliches_Lieferland <> 'ROM' or Kundennummer = 868070 ) Group by Adressen.AdressenNr, Adressen.[Name 1],[Rechnungsnummer_pro_Lieferland],[Rechnungsdatum],Kundennummer,[daId],Lieferland", "FMZOLL")
fehlendeRechnungen = (New SQL).loadDgvBySql("SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND CAST(U.Rechnungsdatum AS date) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
End If
@@ -5879,7 +5882,7 @@ weiter:
Dim hint As String = ""
If fehlendeRechnungen.Rows.Count < 10 Then
hint &= (New SQL).getValueTxtBySql("select distinct(Rechnungsnummer_pro_Lieferland) from tblUTAImportNew where daId is null and cast(Rechnungsdatum as Date) = '" & txtUTADate.Text & "' and Lieferland <> 'ROM' and Steuerliches_Lieferland <> 'ROM'", "FMZOLL")
hint &= (New SQL).getValueTxtBySql("SELECT DISTINCT(U.Rechnungsnummer_pro_Lieferland) FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND CAST(U.Rechnungsdatum AS date) = '" & txtUTADate.Text & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM')", "FMZOLL")
End If
MsgBox("Es fehlen " & fehlendeRechnungen.Rows.Count & " PDF-Rechnungen in der Datenbank!" & vbNewLine & "Diese Dokumente (von Rechnung " & txtUTADate.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & "Bsp. Rechnungsnummer: " & hint, ""))
@@ -6083,30 +6086,39 @@ weiter:
Private Sub UTAREPdf_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles UTAREPdf.LinkClicked
Dim utaDate As New Date
If IsDate(txtUTADate.Text) Then
utaDate = CDate(txtUTADate.Text)
Else
Exit Sub
Dim datumString = ""
Dim SQLWhere As String = ""
If txtUTADate.Text = "" AndAlso txtUTAYear.Text <> "" Then
datumString = txtUTAYear.Text
SQLWhere = "And YEAR(U.Rechnungsdatum) = '" & datumString & "'"
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
SQLWhere = "And CAST(U.Rechnungsdatum AS date) = '" & datumString & "'"
End If
Dim fehlendePDFzuRE As String = "select Rechnungsnummer_pro_Lieferland, cast([Rechnungsdatum] as Date) as Rechnungsdatum, Kundennummer, Abrechnungsnummer from tblUTAImportNew where daId is null and cast([Rechnungsdatum] as Date) = '" & utaDate & "' and (Lieferland <> 'ROM' and Steuerliches_Lieferland <> 'ROM' or Kundennummer = 868070) group by Rechnungsdatum, Kundennummer, Abrechnungsnummer, Rechnungsnummer_pro_Lieferland "
Dim fehlendePDFzuRE As String = " SELECT U.Abrechnungsnummer AS Abrechnungsnummer,U.Kundennummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL " & SQLWhere & " AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY U.Abrechnungsnummer,U.Kundennummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dtRechnnungsdaten As DataTable = SQL.loadDgvBySql(fehlendePDFzuRE, "FMZOLL")
Dim utaYear As Integer = utaDate.Year
If utaDate.Month = 12 And utaDate.Day = 31 Then
utaYear += 1 'bei 31.12 bekommen wir die Daten erst im nächsten Jahr!
End If
Dim counter As Integer = 0
If dtRechnnungsdaten.Rows.Count > 0 Then
For Each r As DataRow In dtRechnnungsdaten.Rows
Dim utaYear As Integer = CDate(r.Item("Rechnungsdatum")).Year
Dim utaDate As Date = CDate(r.Item("Rechnungsdatum"))
If utaDate.Month = 12 And utaDate.Day = 31 Then
utaYear += 1 'bei 31.12 bekommen wir die Daten erst im nächsten Jahr!
End If
Dim daId As Integer = 0
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= 'UTA' AND da_uOrdner2= '" & utaYear & "' AND da_name like '%ZUGFERD.pdf' AND da_name like '%" & r.Item("Kundennummer") & "_" & r.Item("Abrechnungsnummer") & "_" & r.Item("Rechnungsnummer_pro_Lieferland") & "%'", "FMZOLL",,, 0))
If daId > 0 Then
@@ -7231,4 +7243,98 @@ repeatRequest:
ZA.checkfreshCBAMWarning()
End Sub
Private Sub lblIDS_plauscheck_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lblIDS_plauscheck.LinkClicked
Dim IDS As cIDS
Dim dt = IDS.checkInvoices()
If dt.Rows.Count > 0 Then
If Not vbYes = MsgBox("Fehler bei " & dt.Rows.Count & " IDS-Rechnungen!" & vbNewLine & "Details anzeigen?", vbYesNoCancel) Then
Exit Sub
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt)
Else
MsgBox("OK")
End If
End Sub
Private Sub btnKKEmailscheck_Click(sender As Object, e As EventArgs) Handles btnKKEmailscheck.Click
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = SQL.loadDgvBySql("select * from (
select ADR.AdressenNr, ADR.[Name 1],KK.kkd_kkaBez, ISNULL(KK.kkd_Email,'') as kkd_email ,isnull(KK.kkd_EmailCC,'') as kkd_EmailCC , isnull(KK.kkd_EmailBCC,'') as kkd_EmailBCC, F.Firma from Adressen ADR
inner join Kunden K on K.KundenNr = ADR.AdressenNr
inner join Filialen F On F.FilialenNr=K.FilialenNr
INNER JOIN tblKundenKontakt KK on KK.kkd_KundenNr = K.KundenNr
where isnull(ADR.Auswahl,'A') = 'A' and (KK.kkd_Email is not null or KK.kkd_EmailCC is not null or KK.kkd_EmailBCC is not null)
UNION
select ADR.AdressenNr, ADR.[Name 1] ,'Standard',isnull(ADR.[E-Mail],''), isnull(ADR.[E-Mail2],''),'', F.Firma from Adressen ADR
inner join Kunden K on K.KundenNr = ADR.AdressenNr
inner join Filialen F On F.FilialenNr=K.FilialenNr
where isnull(ADR.Auswahl,'A') = 'A' and (ADR.[E-Mail] is not null or ADR.[E-Mail2] is not null)
UNION
select ADR.AdressenNr, ADR.[Name 1] ,'Statusmails',isnull(BEN.eb_EMail,''), '','', F.Firma from Adressen ADR
inner join Kunden K on K.KundenNr = ADR.AdressenNr
inner join Filialen F On F.FilialenNr=K.FilialenNr
INNER JOIN tblEmailBenachrichtigung BEN on BEN.eb_KundenNr = K.KundenNr
where isnull(ADR.Auswahl,'A') = 'A' and (BEN.eb_EMail is not null or BEN.eb_cc is not null or BEN.eb_bcc is not null)
) as temp
order by temp.AdressenNr", "FMZOLL", 100, False)
Dim dt_wrongEmails As New DataTable
dt_wrongEmails.Columns.Add("KdNr", GetType(String))
dt_wrongEmails.Columns.Add("Art", GetType(String))
dt_wrongEmails.Columns.Add("Name", GetType(String))
dt_wrongEmails.Columns.Add("Firma", GetType(String))
dt_wrongEmails.Columns.Add("fehlerhafteMail", GetType(String))
dt_wrongEmails.Columns.Add("fehlerhafteMail-CC", GetType(String))
dt_wrongEmails.Columns.Add("fehlerhafteMail-BCC", GetType(String))
If dt IsNot Nothing Then
For Each r As DataRow In dt.Rows
Dim fehlerhafteMail As String = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_email"))
Dim fehlerhafteMailCC As String = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_emailcc"))
Dim fehlerhafteMailBCC As String = VERAG_PROG_ALLGEMEIN.cProgramFunctions.checkifMailisOK(r("kkd_emailbcc"))
If fehlerhafteMail <> "" Or fehlerhafteMailCC <> "" Or fehlerhafteMailBCC <> "" Then
Dim ROW As DataRow = dt_wrongEmails.NewRow
ROW("KdNr") = r.Item("AdressenNr")
ROW("Art") = r.Item("kkd_kkaBez")
ROW("Name") = r.Item("Name 1")
ROW("Firma") = r.Item("Firma")
ROW("fehlerhafteMail") = fehlerhafteMail
ROW("fehlerhafteMail-CC") = fehlerhafteMailCC
ROW("fehlerhafteMail-BCC") = fehlerhafteMailBCC
dt_wrongEmails.Rows.Add(ROW)
End If
Next
If dt_wrongEmails.Rows.Count > 0 Then
showPic(False, pbEmailscheck)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_wrongEmails)
Else
showPic(True, pbEmailscheck)
End If
End If
End Sub
End Class