From 3e13a40622676dd96d99241f09bcb1cbbeb6986b Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 25 Feb 2026 11:11:30 +0100 Subject: [PATCH] Plose, Mailsender --- MDM_Worker/cPLOSE_Inv_Data.vb | 26 ++++ MailSender/MAILSender.vb | 7 +- .../frmStartOptions.Designer.vb | 15 ++ initATLASAufschubkonten/frmStartOptions.vb | 129 +++++++++++++++++- 4 files changed, 174 insertions(+), 3 deletions(-) diff --git a/MDM_Worker/cPLOSE_Inv_Data.vb b/MDM_Worker/cPLOSE_Inv_Data.vb index 687f6c7..5a10fae 100644 --- a/MDM_Worker/cPLOSE_Inv_Data.vb +++ b/MDM_Worker/cPLOSE_Inv_Data.vb @@ -370,6 +370,32 @@ Public Class cPLOSE_Inv_Data Return SQL.getValueTxtBySql("SELECT count(plInv_InvToCustomer) FROM [tblPLOSE_Inv_Data] where plInv_InvToCustomer Is null ", "FMZOLL",,, -1) End Function + Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable + Try + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + + Dim sqlTime As String = "" + + If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then + sqlTime = " And cast([plInv_SupplierRechnungsDatum] As Date) between '" & reDatVon.ToShortDateString & "' and '" & reDatBis.ToShortDateString & "'" + End If + + Dim SQLstr = "Select [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null " & sqlTime & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" + + Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL") + + Return dt + + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + + Return Nothing + + End Function + + Public Shared Function setWahrunginIvoiceFromTransactions(jahr As Integer, Optional message As Boolean = False, Optional kdNr As Integer = -1) As Boolean If jahr > Now.Year Then Return False diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb index 262ee2d..3f85622 100644 --- a/MailSender/MAILSender.vb +++ b/MailSender/MAILSender.vb @@ -3,6 +3,7 @@ Imports System.IO Imports System.Net Imports System.Net.Mail Imports ClosedXML.Excel +Imports com.sun.xml.internal.rngom.digested Imports DAKOSY_Worker Imports VERAG_PROG_ALLGEMEIN @@ -25,8 +26,12 @@ Module Mail ' Next End If + Dim MailsenderBez As String = "MailSender" + If VERAG_PROG_ALLGEMEIN.cAllgemein.SQLGUIDE01_USED Then + MailsenderBez &= " UNLEASHED" + End If - System.Console.WriteLine("MailSender gestartet ...") + System.Console.WriteLine(MailsenderBez & " gestartet ...") ' If IO.File.Exists(options) Then 'If Not IO.File.Exists(last_sent) Then diff --git a/initATLASAufschubkonten/frmStartOptions.Designer.vb b/initATLASAufschubkonten/frmStartOptions.Designer.vb index a33d83f..1cad695 100644 --- a/initATLASAufschubkonten/frmStartOptions.Designer.vb +++ b/initATLASAufschubkonten/frmStartOptions.Designer.vb @@ -380,6 +380,7 @@ Partial Class frmStartOptions Me.MyTextBox1 = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtGJ_UNISPED = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.DataGridViewTextBoxColumn1 = New System.Windows.Forms.DataGridViewTextBoxColumn() + Me.btnCheckPDF_USTVA = New System.Windows.Forms.Button() Me.pnl.SuspendLayout() CType(Me.pbEmailscheck, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.PictureBox24, System.ComponentModel.ISupportInitialize).BeginInit() @@ -3392,6 +3393,7 @@ Partial Class frmStartOptions ' 'TabPage5 ' + Me.TabPage5.Controls.Add(Me.btnCheckPDF_USTVA) Me.TabPage5.Controls.Add(Me.cbxPloseNeu) Me.TabPage5.Controls.Add(Me.Label44) Me.TabPage5.Controls.Add(Me.cbxITalt) @@ -5065,6 +5067,18 @@ Partial Class frmStartOptions Me.DataGridViewTextBoxColumn1.MinimumWidth = 8 Me.DataGridViewTextBoxColumn1.Name = "DataGridViewTextBoxColumn1" ' + 'btnCheckPDF_USTVA + ' + Me.btnCheckPDF_USTVA.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnCheckPDF_USTVA.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer)) + Me.btnCheckPDF_USTVA.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnCheckPDF_USTVA.Location = New System.Drawing.Point(656, 37) + Me.btnCheckPDF_USTVA.Name = "btnCheckPDF_USTVA" + Me.btnCheckPDF_USTVA.Size = New System.Drawing.Size(187, 38) + Me.btnCheckPDF_USTVA.TabIndex = 168 + Me.btnCheckPDF_USTVA.Text = "Check PDF" + Me.btnCheckPDF_USTVA.UseVisualStyleBackColor = True + ' 'frmStartOptions ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -5504,4 +5518,5 @@ Partial Class frmStartOptions Friend WithEvents dgv_MDMEinarbeitung As VERAG_PROG_ALLGEMEIN.MyDatagridview Friend WithEvents PictureBox27 As PictureBox Friend WithEvents Button30 As Button + Friend WithEvents btnCheckPDF_USTVA As Button End Class diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index a20ff87..35f36ef 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -124,6 +124,11 @@ Public Class frmStartOptions 'Standart-Errorverhalten ist MAIL VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL + + If VERAG_PROG_ALLGEMEIN.cAllgemein.SQLGUIDE01_USED Then + lblRoutineManager.Text &= " UNLEASHED" + End If + If PARAM <> "" Then 'LOG End If @@ -5772,7 +5777,7 @@ Public Class frmStartOptions End If Next - MsgBox(i & " Rechnungspositionen wurden aktualisiert." & IIf((i < dtRE.Rows.Count), vbNewLine & " Zu den anderen " & dtRE.Rows.Count - i & " Rechnungen konnte keine Verknüpfung gefunden werden!", "")) + MsgBox(i & " Rechnungspositionen wurden aktualisiert." & IIf((i < dtRE.Rows.Count), vbNewLine & " Zu den anderen " & dtRE.Rows.Count - i & " Rechnungspositionen konnte keine Verknüpfung gefunden werden!", "")) End If Else MsgBox("Keine Rechnungen mit MRN-Präfix" & txtMRNPrefix.Text) @@ -7264,7 +7269,7 @@ repeatRequest: Private Sub lblIDS_plauscheck_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lblIDS_plauscheck.LinkClicked Dim IDS As cIDS - Dim dt = IDS.checkInvoices() + Dim dt = IDS.checkPDFInvoices() If dt.Rows.Count > 0 Then @@ -7430,5 +7435,125 @@ repeatRequest: End If + End Sub + + Private Sub btnCheckPDF_USTVA_Click(sender As Object, e As EventArgs) Handles btnCheckPDF_USTVA.Click + + Dim USTVA_PDFS_AUS_DA As String = "select Replace(da_uOrdner3,'USTVA_','') as USTVA, da_id, da_date from tblDatenarchiv where da_uordner2 = 'MDM_DATEN' and da_uOrdner3 like 'USTVA_%' order by da_KundenNr,da_uOrdner3" + + VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = cbxTestsystem.Checked + + Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL + Dim dtRechnnungsdaten As DataTable = SQL.loadDgvBySql(USTVA_PDFS_AUS_DA, "FMZOLL") + + Dim dt_falscheEintraege As New DataTable + + If dtRechnnungsdaten.Rows.Count > 0 Then + + dt_falscheEintraege.Columns.Add("daid", GetType(Integer)) + dt_falscheEintraege.Columns.Add("id", GetType(Integer)) + dt_falscheEintraege.Columns.Add("pos", GetType(Integer)) + dt_falscheEintraege.Columns.Add("pos_new", GetType(Integer)) + dt_falscheEintraege.Columns.Add("posAfterDaId", GetType(Integer)) + dt_falscheEintraege.Columns.Add("Path", GetType(String)) + dt_falscheEintraege.Columns.Add("deleted", GetType(Boolean)) + + For Each r As DataRow In dtRechnnungsdaten.Rows + + Dim Bez As String = r.Item("USTVA") + + Dim ID As String = Bez.Substring(0, Bez.IndexOf("_")) + Dim POS As String = Bez.Substring(Bez.IndexOf("_") + 1, Bez.Length - (Bez.IndexOf("_") + 1)) + + If IsNumeric(ID) AndAlso IsNumeric(POS) Then + + Dim cUSTVA As New cUSTVAntrag(CInt(ID)) + + Dim cUSTVA_POS As New cUStVPositionen(CInt(ID), CInt(POS), CInt(POS)) + + If Not cUSTVA.hasEntry Then + + Dim ROW As DataRow = dt_falscheEintraege.NewRow + ROW("id") = ID + ROW("pos") = -1 + ROW("daid") = r.Item("da_id") + + Dim DS As New cDATENSERVER(ROW("daid")) + + If DS.hasITEMS Then + ROW("Path") = DS.GET_TOP1_PATH + + Dim exists = SQL.getValueTxtBySql("SELECT UStVPo_ID FROM [tblUStVPositionen] WHERE UStVPo_daId =" & r.Item("da_id") & " AND UStVPo_SchnittstellenNr <> 1", "FMZOLL",,, -1) + If exists <= 0 Then 'OK-> löschen + If DS.DELETE_COMPLETE() Then + ROW("deleted") = True + End If + Else + ROW("deleted") = False + ROW("pos_new") = exists + End If + + dt_falscheEintraege.Rows.Add(ROW) + End If + + + ElseIf Not cUSTVA_POS.hasEntry Then + + Dim ROW As DataRow = dt_falscheEintraege.NewRow + ROW("id") = ID + ROW("pos") = POS + ROW("daid") = r.Item("da_id") + + Dim DS As New cDATENSERVER(ROW("daid")) + + If DS.hasITEMS Then + ROW("Path") = DS.GET_TOP1_PATH + ROW("deleted") = False + + 'check if daid nicht bei anderen POS verknüpft (wenn nicht, dann löschen!) + Dim exists = SQL.getValueTxtBySql("SELECT UStVPo_ID FROM [tblUStVPositionen] WHERE UStVPo_daId =" & r.Item("da_id") & " AND UStVPo_SchnittstellenNr <> 1", "FMZOLL",,, -1) + If exists <= 0 Then 'OK-> löschen + If DS.DELETE_COMPLETE() Then + ROW("deleted") = True + End If + Else + ROW("deleted") = False + ROW("pos_new") = exists + End If + + End If + + dt_falscheEintraege.Rows.Add(ROW) + + + ElseIf Not IsDBNull(r.Item("da_date")) Then + + If cUSTVA_POS.UStVPo_Zeitstempel > CDate(r.Item("da_date")) Then + + Dim ROW As DataRow = dt_falscheEintraege.NewRow + ROW("id") = ID + ROW("pos") = POS + ROW("daid") = r.Item("da_id") + ROW("posAfterDaId") = 1 + ROW("deleted") = False + + dt_falscheEintraege.Rows.Add(ROW) + End If + + + End If + + End If + + Next + + If dt_falscheEintraege.Rows.Count > 0 Then + VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_falscheEintraege) + End If + + + End If + + End Sub End Class \ No newline at end of file