MDM Datenverarbeitung, automailfakt.
This commit is contained in:
@@ -1,7 +1,5 @@
|
||||
|
||||
Imports GrapeCity.DataVisualization.TypeScript
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports Microsoft.Office.Interop.Outlook
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
Public Class cAutomailversand
|
||||
@@ -117,7 +115,7 @@ Public Class cAutomailversand
|
||||
|
||||
|
||||
|
||||
If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoCC = "") Then
|
||||
If Not (MailTo = "" AndAlso MailtoCC = "" AndAlso MailtoBCC = "") Then
|
||||
|
||||
Dim Mailsubject As String = ""
|
||||
Dim HTMLMail As String = ""
|
||||
@@ -128,9 +126,11 @@ Public Class cAutomailversand
|
||||
If doRechnung(row.Item("RechnungsKundenNr"), FirmaID, SammelrechungArt, Rechnungsdatum, RechnungsNr, DruckDatumZeit, MDMKopiedrucken, listPDFs) Then
|
||||
loadAndSetAnhaenge(SR_DT, ATTACHMENTS, listPDFs)
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Mailsubject &= " TEST"
|
||||
|
||||
If mailoeffnen Then
|
||||
Dim Mail = createMail(Mailsubject, HTMLMail, ATTACHMENTS, MailTo, MailtoCC, MailtoBCC, FirmaID)
|
||||
If setLog(row.Item("RechnungsKundenNr"),,,,,,, Mail) Then
|
||||
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum,,,,,,, Mail) Then
|
||||
Mail.Display()
|
||||
End If
|
||||
|
||||
@@ -138,27 +138,20 @@ Public Class cAutomailversand
|
||||
|
||||
Dim TextHTML = ""
|
||||
TextHTML &= HTMLMail
|
||||
TextHTML &= "<br>"
|
||||
TextHTML &= "<br>"
|
||||
TextHTML &= "Mit freundlichen Grüßen<br>"
|
||||
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
|
||||
TextHTML &= "<br>"
|
||||
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True)
|
||||
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True,,,,, True)
|
||||
HTMLMail = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
|
||||
|
||||
If setLog(row.Item("RechnungsKundenNr"), ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC) Then
|
||||
If setLog(SR_DT, row, FirmaID, SammelrechungArt, Rechnungsdatum, ATTACHMENTS, Mailsubject, HTMLMail, MailTo, MailtoCC, MailtoBCC) Then
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Next
|
||||
|
||||
|
||||
Catch ex As System.Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
|
||||
|
||||
@@ -279,9 +272,11 @@ Public Class cAutomailversand
|
||||
End Sub
|
||||
|
||||
|
||||
Private Function setLog(kdNr As Integer, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing) As Boolean
|
||||
Private Function setLog(SR_DT As DataTable, row As DataRow, FirmaID As Integer, Sammelrechnungsart As Integer, Rechnungsdatum As Date, Optional ATTACHMENTS As List(Of cFakt_MailATTach) = Nothing, Optional Mailsubject As String = "", Optional Mailhtml As String = "", Optional MailTo As String = "", Optional MailtoCC As String = "", Optional MailtoBCC As String = "", Optional Mail As Microsoft.Office.Interop.Outlook.MailItem = Nothing) As Boolean
|
||||
|
||||
Dim mailcreated As Boolean = False
|
||||
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
|
||||
|
||||
|
||||
Dim EMails As String = ""
|
||||
Dim EMails_CC As String = ""
|
||||
@@ -307,8 +302,20 @@ Public Class cAutomailversand
|
||||
|
||||
End If
|
||||
|
||||
Dim AbfertigungsNr As Integer
|
||||
Dim FilialenNr As Integer
|
||||
|
||||
Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_BELEGMAIL, "SAMMELRECHNUNG-MDM",,, kdNr)
|
||||
If SR_DT.Rows.Count > 0 Then
|
||||
For Each r As DataRow In SR_DT.Rows
|
||||
AbfertigungsNr = IIf(Not IsDBNull(r.Item("AbfertigungsNr")) AndAlso IsNumeric(r.Item("AbfertigungsNr")), CInt(r.Item("AbfertigungsNr")), 0)
|
||||
FilialenNr = IIf(Not IsDBNull(r.Item("FilialenNr")) AndAlso IsNumeric(r.Item("FilialenNr")), CInt(r.Item("FilialenNr")), 0)
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim API = VERAG_PROG_ALLGEMEIN.cAPI.INSERT_API(VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT, VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL, VERAG_PROG_ALLGEMEIN.cAPI_ART.SDL_OUT_SAMMELRECHNUNG, "SAMMELRECHNUNG-MDM",,, row.Item("RechnungsKundenNr"), , , FilialenNr, AbfertigungsNr)
|
||||
|
||||
API.api_EMail = EMails
|
||||
API.api_EMailCC = EMails_CC
|
||||
@@ -334,11 +341,16 @@ Public Class cAutomailversand
|
||||
mailcreated = True
|
||||
Else
|
||||
API.UPDTAE_ERR()
|
||||
sql.doSQL("update Rechnungsausgang set Status = 2 where Rechnungsausgang.Firma_ID = '" & FirmaID & "' And Rechnungsausgang.Sammelrechnung = '" & Sammelrechnungsart & "' And CONVERT(DATE,Rechnungsausgang.Abfertigungsdatum,104) = '" & Rechnungsdatum.ToShortDateString & "'
|
||||
And isnull(Rechnungsausgang.Automailversand,0) = 1 And RechnungsNr > 0 And RechnungsKundenNr = " & row.Item("RechnungsKundenNr") & " And Status = 4", "FMZOLL")
|
||||
|
||||
Return mailcreated
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
Return mailcreated
|
||||
|
||||
@@ -2466,14 +2466,16 @@ Public Class cFakturierung
|
||||
Return getSignature(RECHNUNG.RechnungsLandKz, RECHNUNG.Firma_ID)
|
||||
End Function
|
||||
|
||||
Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False) As String
|
||||
Shared Function getSignature(Optional landKz = "", Optional firma = -1, Optional individuell = False, Optional displayFirmenmane = True, Optional special = "", Optional additionalLine = "", Optional departmentmailadress = True, Optional fakturierung = False, Optional firmenSignature = False) As String
|
||||
getSignature = ""
|
||||
|
||||
firma = getFirmaNr(firma)
|
||||
|
||||
Dim imgsrc = System.IO.Path.GetFullPath(Application.StartupPath & "\Resources\").Replace("\", "/")
|
||||
|
||||
Dim emailindividuell = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email
|
||||
Dim emailindividuell As String = ""
|
||||
|
||||
If Not firmenSignature Then emailindividuell = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_email
|
||||
|
||||
If additionalLine <> "" Then additionalLine = "<div style=""font-size:12px"">" & additionalLine & "</div>"
|
||||
|
||||
@@ -2524,7 +2526,7 @@ Public Class cFakturierung
|
||||
Case 19 'VERAG360
|
||||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "VERAG_360.jpg""/>"
|
||||
If displayFirmenmane Then getSignature &= "<br><b>VERAG 360 GmbH</b><br>"
|
||||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 100 <br><b>T</b> +43 7711 2777-0 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, emailindividuell, "mmd@verag.ag") & " | www.verag.ag | FN 544732b</div>"
|
||||
getSignature &= "<div style=""font-size:12px"">A 4975 Suben, Nr. 100 <br><b>T</b> +43 7711 2777-0 | <b>F</b> +43 7711 31 073 | <b>@</b> " & If(individuell, If(firmenSignature, "mmdabrechnung@verag.ag", emailindividuell), "mmd@verag.ag") & " | www.verag.ag | FN 544732b</div>"
|
||||
If additionalLine <> "" Then getSignature &= vbNewLine & additionalLine & vbNewLine
|
||||
Case 26 'VERAG-UNISPED
|
||||
getSignature &= "<img width=""250"" height=""50"" src=""" & imgsrc & "VERAG-UNISPED-Logo.jpg""/>"
|
||||
|
||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
||||
' übernehmen, indem Sie "*" eingeben:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.3.8.8")>
|
||||
<Assembly: AssemblyFileVersion("1.3.8.8")>
|
||||
<Assembly: AssemblyVersion("1.3.8.9")>
|
||||
<Assembly: AssemblyFileVersion("1.3.8.9")>
|
||||
|
||||
@@ -889,10 +889,6 @@
|
||||
<Compile Include="mdm\Besuchsberichte\usrCntlBesuchsberichte.vb">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="mdm\frmDatumsabfrage.Designer.vb">
|
||||
<DependentUpon>frmDatumsabfrage.vb</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="mdm\frmDatumsabfrage.vb" />
|
||||
<Compile Include="mdm\frmMDMLieferantenrechnungen.Designer.vb">
|
||||
<DependentUpon>frmMDMLieferantenrechnungen.vb</DependentUpon>
|
||||
</Compile>
|
||||
@@ -3419,9 +3415,6 @@
|
||||
<EmbeddedResource Include="mdm\Besuchsberichte\usrCntlBesuchsberichte.resx">
|
||||
<DependentUpon>usrCntlBesuchsberichte.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="mdm\frmDatumsabfrage.resx">
|
||||
<DependentUpon>frmDatumsabfrage.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="mdm\frmMDMLieferantenrechnungen.resx">
|
||||
<DependentUpon>frmMDMLieferantenrechnungen.vb</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@@ -77,7 +77,7 @@ Public Class frmLogin
|
||||
ElseIf PARAM = "SAMMELRECHNUNG_AUTOSENT" Then
|
||||
|
||||
Dim SRT_ART As Integer = 6
|
||||
Dim REDat As Date
|
||||
Dim REDat As New Date(2025, 3, 15)
|
||||
Dim FirmaID As Integer = 19
|
||||
|
||||
If (parameter.Count - 1) >= 4 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
|
||||
@@ -91,10 +91,6 @@ Public Class frmLogin
|
||||
|
||||
Dim func As New cAutomailversand
|
||||
func.sendMailSammelrechnung(REDat, SRT_ART, FirmaID)
|
||||
'Dim f As New c()
|
||||
'f.sendMailSammelrechnung(,,)
|
||||
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports System.Data.OleDb
|
||||
Imports System.IO
|
||||
Imports com.sun.xml.internal.ws.api.message
|
||||
Imports itextsharp.text.pdf
|
||||
Imports MDM_Worker
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
@@ -1127,7 +1128,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 isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' and Adressen.AdressenNr not in(756150, 711104) " & IIf(test, " and KundenNr = 450018 ", "") &
|
||||
where isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' and Adressen.AdressenNr not in(756150, 711104) " & IIf(test, " and KundenNr = 402352 or KundenNr = 402421 ", "") &
|
||||
" group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck"
|
||||
|
||||
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
|
||||
@@ -1203,44 +1204,58 @@ Public Class frmMDMDatenverarbetiung
|
||||
If Not gen_RECHNUNG_BySPEDBUCH(uta("Customer Nr"), SPEDBUCH, "UTA",,,, RECHNUNG) Then verarbOK = False
|
||||
|
||||
Dim pathFile = genUTAAttachmentByKdNr(uta("Customer Nr"), uta("Customer ID"), dir, datPloseAnhang.Value)
|
||||
|
||||
If Not AddAttachementToRE(pathFile, uta("Customer Nr"), RECHNUNG, "UTA") Then verarbOK = False
|
||||
|
||||
Dim customerNrwithCSV As Integer = distinctDT_CSV.AsEnumerable().Where(Function(res) res.Field(Of Integer)("Customer ID") = uta("Customer ID")).Select(Function(res) res.Field(Of Integer)("Customer Nr")).FirstOrDefault()
|
||||
If customerNrwithCSV > 0 Then
|
||||
For Each f In Directory.GetFiles(dir)
|
||||
If f.Contains(customerNrwithCSV & "_Maut_UTA.csv") Then
|
||||
Dim FileCSV = New FileInfo(f)
|
||||
If Not AddAttachementToRE(FileCSV.FullName, uta("Customer Nr"), RECHNUNG, "UTA") Then
|
||||
verarbOK = False
|
||||
Else
|
||||
Exit For
|
||||
End If
|
||||
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
If verarbOK Then
|
||||
'UPDATE Fakturiert
|
||||
SQL.doSQL("UPDATE [tblUTAImportNew] set chargedDatetime=GETDATE() where chargedDatetime is null and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & uta("Customer ID"), "FMZOLL")
|
||||
End If
|
||||
If True Then 'cnt Mod 10 = 0 Then
|
||||
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
||||
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
||||
pbPloseAnh_Proz.Value = proz
|
||||
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
||||
'GroupBox12.Refresh()
|
||||
My.Application.DoEvents()
|
||||
End If
|
||||
cnt += 1
|
||||
Next
|
||||
'UPDATE Fakturiert
|
||||
SQL.doSQL("UPDATE [tblUTAImportNew] set chargedDatetime=GETDATE() where chargedDatetime is null and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & uta("Customer ID"), "FMZOLL")
|
||||
End If
|
||||
If True Then 'cnt Mod 10 = 0 Then
|
||||
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
||||
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
||||
pbPloseAnh_Proz.Value = proz
|
||||
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
||||
'GroupBox12.Refresh()
|
||||
My.Application.DoEvents()
|
||||
End If
|
||||
cnt += 1
|
||||
Next
|
||||
If test Then Return True
|
||||
|
||||
If test Then Return True
|
||||
|
||||
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
|
||||
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
|
||||
Dim dirAnhang = IIf(test, utaParam.ANLAGEN & "TEST\", utaParam.ANLAGEN)
|
||||
If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
|
||||
For Each f In Directory.GetFiles(dirAnhang)
|
||||
File.Delete(f)
|
||||
Next
|
||||
End If
|
||||
If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
|
||||
For Each f In Directory.GetFiles(dir)
|
||||
File.Copy(f, dirAnhang & (New FileInfo(f)).Name, True)
|
||||
Next
|
||||
pbPloseAnh_Proz.Value = 100
|
||||
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
||||
lblPloseAnh_Proz.Text = "100.00 %"
|
||||
Return True
|
||||
End If
|
||||
Return False
|
||||
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
|
||||
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
|
||||
Dim dirAnhang = IIf(test, utaParam.ANLAGEN & "TEST\", utaParam.ANLAGEN)
|
||||
If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
|
||||
For Each f In Directory.GetFiles(dirAnhang)
|
||||
File.Delete(f)
|
||||
Next
|
||||
End If
|
||||
If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
|
||||
For Each f In Directory.GetFiles(dir)
|
||||
File.Copy(f, dirAnhang & (New FileInfo(f)).Name, True)
|
||||
Next
|
||||
pbPloseAnh_Proz.Value = 100
|
||||
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
||||
lblPloseAnh_Proz.Text = "100.00 %"
|
||||
Return True
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
Function genRGAtt_MSE(mseParam As cMSEAPI) As Boolean
|
||||
Dim top = ""
|
||||
|
||||
@@ -26,6 +26,7 @@ Public Enum cAPI_ART
|
||||
|
||||
AVISO_IN_MSE = 80
|
||||
SDL_OUT_FA = 81
|
||||
SDL_OUT_SAMMELRECHNUNG = 82
|
||||
|
||||
|
||||
End Enum
|
||||
|
||||
Reference in New Issue
Block a user