SND GW-Aviso

This commit is contained in:
2023-06-12 08:26:38 +02:00
parent 52a8f9418a
commit 4eb01c30dc
8 changed files with 562 additions and 57 deletions

View File

@@ -2955,6 +2955,8 @@ Public Class frmSendungsdetailsNEU
End If
End If
SENDUNG_LIST(CURRENT_INDEX).tblSnd_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(cboFiliale._value,, "")
SENDUNG_LIST(CURRENT_INDEX).tblSnd_Cluster = VERAG_PROG_ALLGEMEIN.cAllgemein.getClusterFromFiliale(cboFiliale._value,, "")
txtAnzahlPos.Visible = (cboFiliale._value = "7001")
@@ -5898,4 +5900,359 @@ Public Class frmSendungsdetailsNEU
End Sub
Private Sub ToolStripMenuItem29_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem29.Click
Me.Cursor = Cursors.WaitCursor
Try
VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP")
If True Then 'dgvAnhang.SelectedRows.Count >= 1 Then
Try
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.To = "zoll.wels@gw-world.com"
Dim OnylSND = -1
If sender Is AktuelleSendungAnhängeWählenToolStripMenuItem Then
'For Each r As DataGridViewRow In dgvAnhang.SelectedRows
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
'Next
OnylSND = CURRENT_INDEX
End If
'LEX
Mail.Subject = "AVIS: Kennzeichen: " & AVISO.LKW_Nr & " | Pos: " & SENDUNG_LIST(CURRENT_INDEX).FilialenNr & "/" & SENDUNG_LIST(CURRENT_INDEX).AbfertigungsNr & If(AVISO.VoraussichtlichesEintreffen IsNot Nothing, " | ETA: " & CDate(AVISO.VoraussichtlichesEintreffen).ToShortDateString, "")
Dim TextHTML = ""
TextHTML &= "Sehr geehrte Damen und Herren,<br>"
TextHTML &= "<br>"
TextHTML &= "anbei senden wir Ihnen unser Avis zu o.g. LKW.<br>"
TextHTML &= "<br>"
TextHTML &= "Bitte bereiten Sie angefügte(n) Sendung(en) wie folgt vor:<br>"
TextHTML &= "<br>"
TextHTML &= "<table border=1>"
TextHTML &= "<tr><td>Pos</td><td>Referenz</td><td>Abfertigungsart</td><td>Absender</td><td>Empfänger</td><td>Sendung</td><td>Abrechnung</td><td>EORI</td><td>UID</td><td>Vollmacht</td></tr>"
Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
Dim cnt = 1
For Each SND In SENDUNG_LIST
Dim gestellungsadresseTmp = ""
If (OnylSND >= 0 AndAlso SND Is SENDUNG_LIST(OnylSND)) Or (OnylSND < 0 And SND.FilialenNr = 4839) Then
TextHTML &= "<tr>"
TextHTML &= "<td><b>" & cnt & "</b></td>"
TextHTML &= "<td><b>" & SND.FilialenNr & "/" & SND.AbfertigungsNr & "</b></td>"
TextHTML &= "<td><b><nobr>" & SQL.DLookup("isnull(AbfertigungsbezeichnungLang,Abfertigungsbezeichnung)", "[Abfertigungsarten]", "[Abfertigungsart]='" & SND.tblSnd_Abfertigungsart_ID & "'", "FMZOLL", "") & "</nobr></b></td>"
TextHTML &= "<td><b>" & SND.tblSnd_Absender & "</b></td>"
TextHTML &= "<td><b>" & SND.tblSnd_Empfaenger & "</b></td>"
TextHTML &= "<td><b>" & SND.tblSnd_Colli & " Pk. " & SND.tblSnd_Warenbezeichnung & " - " & SND.tblSnd_Gewicht & " kg </b></td>"
TextHTML &= "<td><b>"
If SND.tblSnd_BARzuKassieren IsNot Nothing Then
If IsNumeric(SND.tblSnd_BARzuKassieren) AndAlso SND.tblSnd_BARzuKassieren <> 0 Then
TextHTML &= "BAR kassieren:" & CDbl(SND.tblSnd_BARzuKassieren).ToString("C2")
Else
TextHTML &= "BAR kassieren:" & SND.tblSnd_BARzuKassieren 'falls keine Zahl
End If
Else
TextHTML &= "VERAG"
End If
TextHTML &= "</b></td>"
Select Case SND.tblSnd_Abfertigungsart_ID
Case "38", "1"
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SND.tblSnd_EmpfaengerKdNr)
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SND.tblSnd_EmpfaengerKdNr)
Dim VMDat As Object = SQL.getValueTxtBySql("SELECT [kdvm_erhalten_Datum] FROM [tblKundenVollmachten] where kdvm_KundenNr='" & SND.tblSnd_EmpfaengerKdNr & "' and [kdvm_kdvmaId] IN (12,3) and [kdvm_erhalten]=1 ORDER BY [kdvm_erhalten_Datum] desc", "FMZOLL",,, Nothing)
If KD IsNot Nothing AndAlso KD IsNot Nothing Then
TextHTML &= "<td><b>" & If(KD.EORITIN, "") & "</b></td>"
TextHTML &= "<td><b>" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "</b></td>"
TextHTML &= "<td><b>" & If(VMDat, "") & "</b></td>"
Else
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
End If
Case "5", "6"
gestellungsadresseTmp = SND.getNCTSAdress().Trim
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
Case Else
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
End Select
TextHTML &= "</tr>"
If gestellungsadresseTmp <> "" Then
TextHTML &= "<tr>"
TextHTML &= "<td colspan=2><b></b></td>"
TextHTML &= "<td colspan=2>NCTS-Gestellungsadresse:</td>"
TextHTML &= "<td colspan=6><b>" & gestellungsadresseTmp & "</b></td>"
TextHTML &= "</tr>"
End If
'....
'For Each r As DataGridViewRow In dgvAnhang.SelectedRows
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
'Next
Dim anhaengeVersand As New List(Of String)
Dim found = False
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, SND.tblSnd_SendungID) 'LÄDT alle Aviso-Anhänge
For Each l In ANH_LIST
Select Case l.anh_Art.ToString.ToUpper
Case "UID", "EORI"
Case Else
' Case "RECHNUNG", "CMR", "AUSFUHR", "COO", "PACKLISTE"
Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False)
If PathTmpANH <> "" Then
If OnylSND < 0 Then 'NUR WENN ALLE SENDUNGEN...
anhaengeVersand.Add(PathTmpANH)
Else ' ...Sonst direkt an Mail anfügen
Mail.Attachments.Add(PathTmpANH, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End If
found = True
End If
End Select
Next
If OnylSND < 0 Then 'NUR WENN ALLE SENDUNGEN
If anhaengeVersand.Count = 1 Then
'Falls nur 1 Anhang
Mail.Attachments.Add(anhaengeVersand(0), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ElseIf anhaengeVersand.Count > 1 Then
'Zusammenfassen der Anhänge
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(cnt & "_" & SND.FilialenNr & "-" & SND.AbfertigungsNr & ".pdf", ".pdf",, False, "Zusammenfassung_LEX_" & SND.tblSnd_SendungID & "_" & Now.ToString("ddMMyyyy_HHmmss"))
If SDL.FormularManagerNEU.MergePdfFiles(anhaengeVersand, zielPfadZusammenfassung) Then
Mail.Attachments.Add(zielPfadZusammenfassung, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End If
End If
End If
cnt += 1
End If
Next
'Vorpapier laden:
ANH_LIST = New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_ByAviso(ANH_LIST, AvisoId) 'LÄDT alle Aviso-Anhänge
For Each l In ANH_LIST
Select Case l.anh_Art.ToString.ToUpper
Case "VORPAPIER" ' T1,..
Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False)
If PathTmpANH <> "" Then Mail.Attachments.Add(PathTmpANH, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End Select
Next
TextHTML &= "</table>"
TextHTML &= "<br>"
TextHTML &= "<br>"
TextHTML &= "Für Rückfragen stehen wir gerne zur Verfügung<br>"
TextHTML &= "<br>"
TextHTML &= "Mit freundlichen Grüßen<br>"
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
TextHTML &= "<br>"
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial;font-size:15px;"">" & TextHTML & SDL.cFakturierung.getSignature("DE") & "</div>"
AvisoStatusFunctions.insertSendungsVermerk(SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID, AvisoId, "Doks an Fremdspedition (SUBEN) weitergeleitet.", 46)
Mail.Display()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub ToolStripMenuItem30_Click(sender As Object, e As EventArgs) Handles ToolStripMenuItem30.Click
Me.Cursor = Cursors.WaitCursor
Try
VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.clearTMPPath("ClipBoard_TMP")
If True Then 'dgvAnhang.SelectedRows.Count >= 1 Then
Try
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.To = "zoll.wels@gw-world.com"
Dim OnylSND = -1
If sender Is AktuelleSendungAnhängeWählenToolStripMenuItem Then
'For Each r As DataGridViewRow In dgvAnhang.SelectedRows
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
'Next
OnylSND = CURRENT_INDEX
End If
'LEX
Mail.Subject = "AVIS: Kennzeichen: " & AVISO.LKW_Nr & " | Pos: " & SENDUNG_LIST(CURRENT_INDEX).FilialenNr & "/" & SENDUNG_LIST(CURRENT_INDEX).AbfertigungsNr & If(AVISO.VoraussichtlichesEintreffen IsNot Nothing, " | ETA: " & CDate(AVISO.VoraussichtlichesEintreffen).ToShortDateString, "")
Dim TextHTML = ""
TextHTML &= "Sehr geehrte Damen und Herren,<br>"
TextHTML &= "<br>"
TextHTML &= "anbei senden wir Ihnen unser Avis zu o.g. LKW.<br>"
TextHTML &= "<br>"
TextHTML &= "Bitte bereiten Sie angefügte(n) Sendung(en) wie folgt vor:<br>"
TextHTML &= "<br>"
TextHTML &= "<table border=1>"
TextHTML &= "<tr><td>Pos</td><td>Referenz</td><td>Abfertigungsart</td><td>Absender</td><td>Empfänger</td><td>Sendung</td><td>Abrechnung</td><td>EORI</td><td>UID</td><td>Vollmacht</td></tr>"
Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
Dim cnt = 1
For Each SND In SENDUNG_LIST
Dim gestellungsadresseTmp = ""
If (OnylSND >= 0 AndAlso SND Is SENDUNG_LIST(OnylSND)) Or (OnylSND < 0) Then
TextHTML &= "<tr>"
TextHTML &= "<td><b>" & cnt & "</b></td>"
TextHTML &= "<td><b>" & SND.FilialenNr & "/" & SND.AbfertigungsNr & "</b></td>"
TextHTML &= "<td><b><nobr>" & SQL.DLookup("isnull(AbfertigungsbezeichnungLang,Abfertigungsbezeichnung)", "[Abfertigungsarten]", "[Abfertigungsart]='" & SND.tblSnd_Abfertigungsart_ID & "'", "FMZOLL", "") & "</nobr></b></td>"
TextHTML &= "<td><b>" & SND.tblSnd_Absender & "</b></td>"
TextHTML &= "<td><b>" & SND.tblSnd_Empfaenger & "</b></td>"
TextHTML &= "<td><b>" & SND.tblSnd_Colli & " Pk. " & SND.tblSnd_Warenbezeichnung & " - " & SND.tblSnd_Gewicht & " kg </b></td>"
TextHTML &= "<td><b>"
If SND.tblSnd_BARzuKassieren IsNot Nothing Then
If IsNumeric(SND.tblSnd_BARzuKassieren) AndAlso SND.tblSnd_BARzuKassieren <> 0 Then
TextHTML &= "BAR kassieren:" & CDbl(SND.tblSnd_BARzuKassieren).ToString("C2")
Else
'TextHTML &= "BAR kassieren:" & SND.tblSnd_BARzuKassieren 'falls keine Zahl
TextHTML &= "VERAG"
End If
Else
TextHTML &= "VERAG"
End If
TextHTML &= "</b></td>"
Select Case SND.tblSnd_Abfertigungsart_ID
Case "38", "1"
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SND.tblSnd_EmpfaengerKdNr)
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SND.tblSnd_EmpfaengerKdNr)
Dim VMDat As Object = SQL.getValueTxtBySql("SELECT [kdvm_erhalten_Datum] FROM [tblKundenVollmachten] where kdvm_KundenNr='" & SND.tblSnd_EmpfaengerKdNr & "' and [kdvm_kdvmaId] IN (12,3) and [kdvm_erhalten]=1 ORDER BY [kdvm_erhalten_Datum] desc", "FMZOLL",,, Nothing)
If KD IsNot Nothing AndAlso KD IsNot Nothing Then
TextHTML &= "<td><b>" & If(KD.EORITIN, "") & "</b></td>"
TextHTML &= "<td><b>" & If(AD.UstIdKz, "") & If(AD.UstIdNr, "") & "</b></td>"
TextHTML &= "<td><b>" & If(VMDat, "") & "</b></td>"
Else
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
End If
Case "5", "6"
gestellungsadresseTmp = SND.getNCTSAdress().Trim
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
Case Else
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
TextHTML &= "<td><b>-</b></td>"
End Select
TextHTML &= "</tr>"
If gestellungsadresseTmp <> "" Then
TextHTML &= "<tr>"
TextHTML &= "<td colspan=2><b></b></td>"
TextHTML &= "<td colspan=2>NCTS-Gestellungsadresse:</td>"
TextHTML &= "<td colspan=6><b>" & gestellungsadresseTmp & "</b></td>"
TextHTML &= "</tr>"
End If
'....
'For Each r As DataGridViewRow In dgvAnhang.SelectedRows
' Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.Cells("anh_docId").Value), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
'Next
Dim anhaengeVersand As New List(Of String)
Dim found = False
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, SND.tblSnd_SendungID) 'LÄDT alle Aviso-Anhänge
For Each l In ANH_LIST
Select Case l.anh_Art.ToString.ToUpper
Case "UID", "EORI"
Case Else
' Case "RECHNUNG", "CMR", "AUSFUHR", "COO", "PACKLISTE"
Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False)
If PathTmpANH <> "" Then
If OnylSND < 0 Then 'NUR WENN ALLE SENDUNGEN...
anhaengeVersand.Add(PathTmpANH)
Else ' ...Sonst direkt an Mail anfügen
Mail.Attachments.Add(PathTmpANH, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End If
found = True
End If
End Select
Next
If OnylSND < 0 Then 'NUR WENN ALLE SENDUNGEN
If anhaengeVersand.Count = 1 Then
'Falls nur 1 Anhang
Mail.Attachments.Add(anhaengeVersand(0), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
ElseIf anhaengeVersand.Count > 1 Then
'Zusammenfassen der Anhänge
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(cnt & "_" & SND.FilialenNr & "-" & SND.AbfertigungsNr & ".pdf", ".pdf",, False, "Zusammenfassung_LEX_" & SND.tblSnd_SendungID & "_" & Now.ToString("ddMMyyyy_HHmmss"))
If SDL.FormularManagerNEU.MergePdfFiles(anhaengeVersand, zielPfadZusammenfassung) Then
Mail.Attachments.Add(zielPfadZusammenfassung, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End If
End If
End If
cnt += 1
End If
Next
'Vorpapier laden:
ANH_LIST = New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_ByAviso(ANH_LIST, AvisoId) 'LÄDT alle Aviso-Anhänge
For Each l In ANH_LIST
Select Case l.anh_Art.ToString.ToUpper
Case "VORPAPIER" ' T1,..
Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False)
If PathTmpANH <> "" Then Mail.Attachments.Add(PathTmpANH, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
End Select
Next
TextHTML &= "</table>"
TextHTML &= "<br>"
TextHTML &= "<br>"
TextHTML &= "Für Rückfragen stehen wir gerne zur Verfügung<br>"
TextHTML &= "<br>"
TextHTML &= "Mit freundlichen Grüßen<br>"
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
TextHTML &= "<br>"
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial;font-size:15px;"">" & TextHTML & SDL.cFakturierung.getSignature("DE") & "</div>"
AvisoStatusFunctions.insertSendungsVermerk(SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID, AvisoId, "Doks an Fremdspedition (SUBEN) weitergeleitet.", 46)
Mail.Display()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Fehler beim Öffnen der Mail!")
End Try
Me.Cursor = Cursors.Default
End Sub
End Class