Plose, Mailsender

This commit is contained in:
2026-02-25 11:11:30 +01:00
parent e0490748f4
commit 3e13a40622
4 changed files with 174 additions and 3 deletions

View File

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

View File

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

View File

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

View File

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