This commit is contained in:
2024-08-12 10:42:23 +02:00
4 changed files with 230 additions and 59 deletions

View File

@@ -1448,7 +1448,7 @@ Public Class frmSendungAnhangImport
Return True
End Function
Public Shared Function saveToDS(AvisoId, ByRef fileName, sourcePath, Art, Typ, Optional ByRef da_id = -1, Optional ByRef anhId = -1, Optional ByRef destPath = "", Optional SendungsId = Nothing) As Boolean
Public Shared Function saveToDS(AvisoId, ByRef fileName, sourcePath, Art, Typ, Optional ByRef da_id = -1, Optional ByRef anhId = -1, Optional ByRef destPath = "", Optional SendungsId = Nothing, Optional crmId = Nothing) As Boolean
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "AVISO_ANHAENGE", AvisoId, Now.ToString("ddMMyy_HHmmss.ffff"), "", fileName, -1, False)
If Not DS.uploadDataToDATENSERVER(sourcePath) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False
If DS.da_id <= 0 Then MsgBox("Keine DocId!") : Return False
@@ -1456,7 +1456,7 @@ Public Class frmSendungAnhangImport
destPath = DS.GET_TOP1_PATH
fileName = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName)
Dim fi As New FileInfo(sourcePath)
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(AvisoId, fileName, DS.da_id, Art, Typ, SendungsId,, fi.Length)
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(AvisoId, fileName, DS.da_id, Art, Typ, SendungsId,, fi.Length, crmId)
If Not ANH.SAVE Then MsgBox("Fehler beim Anhang speichern!") : Return False
anhId = ANH.anh_id
Return True

View File

@@ -5466,6 +5466,7 @@ Partial Class frmSendungsdetailsNEU
'
Me.BindingNavigatorPositionItem.AccessibleName = "Position"
Me.BindingNavigatorPositionItem.AutoSize = False
Me.BindingNavigatorPositionItem.Font = New System.Drawing.Font("Segoe UI", 9.0!)
Me.BindingNavigatorPositionItem.Name = "BindingNavigatorPositionItem"
Me.BindingNavigatorPositionItem.Size = New System.Drawing.Size(50, 23)
Me.BindingNavigatorPositionItem.Text = "0"

View File

@@ -3320,7 +3320,7 @@ Public Class frmSendungsdetailsNEU
End Sub
Sub initAnhang()
Dim hSQL As String = " SELECT [anh_id],[anh_Name],anh_Datum,[anh_docId],CASE WHEN (anh_SendungsId is null OR anh_SendungsId <=0) AND isnull(aa_name,'')='' THEN '***' ELSE [aa_name] END as [anh_Art],[anh_Typ],anh_LaufzettelDruck,anh_GestellungslisteAnfuegen, anh_markiert
Dim hSQL As String = " SELECT [anh_id],[anh_Name],anh_Datum,[anh_docId],CASE WHEN (anh_SendungsId is null OR anh_SendungsId <=0) AND isnull(aa_name,'')='' THEN '***' ELSE [aa_name] END as [anh_Art],[anh_Typ],anh_LaufzettelDruck,anh_GestellungslisteAnfuegen, anh_markiert , anh_cmrId
FROM [tblAvisoAnhaenge]
left join tblAvisoAnhangsArten on aa_bezeichnung = anh_Art
WHERE anh_AvisoId=" & AvisoId & " AND (anh_SendungsId is null OR anh_SendungsId <=0 OR anh_SendungsId=" & SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID & ")
@@ -3338,6 +3338,7 @@ Public Class frmSendungsdetailsNEU
.Columns("anh_id").Visible = False 'VermerkID nicht anzeigen
.Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen
.Columns("anh_markiert").Visible = False
.Columns("anh_cmrId").Visible = False
.Columns("anh_Name").MinimumWidth = 150
.Columns("anh_Name").HeaderText = "Name"
@@ -3362,15 +3363,31 @@ Public Class frmSendungsdetailsNEU
.Columns("anh_GestellungslisteAnfuegen").Width = 150
.Columns("anh_GestellungslisteAnfuegen").HeaderText = "GestListe anfügen"
If .Columns("isCMR") Is Nothing Then
Dim c As New DataGridViewImageColumn
c.Name = "isCMR" : c.HeaderText = "CMR"
c.Image = New Bitmap(1, 1)
c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White
.Columns.Add(c)
End If
For Each row As DataGridViewRow In dgvAnhang.Rows
If Not IsDBNull(row.Cells("anh_markiert").Value) Then
If row.Cells("anh_markiert").Value Then row.DefaultCellStyle.BackColor = Color.Yellow
End If
If Not IsDBNull(row.Cells("anh_cmrId").Value) Then
If row.Cells("anh_cmrId").Value > 0 Then DirectCast(row.Cells("isCMR"), DataGridViewImageCell).Value = My.Resources.stift
End If
Next
.ClearSelection()
End With
End Sub
@@ -4076,18 +4093,55 @@ Public Class frmSendungsdetailsNEU
Try
If TabControl1.SelectedTab Is tbAnhang Then
If dgvAnhang.SelectedRows.Count > 0 Then
Dim docPath = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvAnhang.SelectedRows(0).Cells("anh_docId").Value)
If Not IO.File.Exists(docPath) Then
MsgBox("Die Datei existiert nicht!")
If dgvAnhang.Columns(e.ColumnIndex).Name = "isCMR" Then
If Not IsDBNull(dgvAnhang.SelectedRows(0).Cells("anh_cmrId").Value) AndAlso dgvAnhang.SelectedRows(0).Cells("anh_cmrId").Value > 0 Then
Dim cmrId As Integer = dgvAnhang.SelectedRows(0).Cells("anh_cmrId").Value
Dim f As New SDL.frmCMR(cmrId, dgvAnhang.SelectedRows(0).Cells("anh_docId").Value, dgvAnhang.SelectedRows(0).Cells("anh_id").Value)
f.btnCMRtoAkt.Visible = True
f.txtCMRName.Visible = True
f.btnSaveVorlage.Visible = False 'aus dieser Ansicht keine Vorlagen speichern!
If f.ShowDialog(Me) = DialogResult.OK Then
If f.ueberschreiben Then
Dim da_id = -1
Dim anhId = -1
Dim destPath = ""
Dim Typ = ""
If f.PDF_Path <> "" Then
Dim CMRName = If(f.txtCMRName.Text <> "", f.txtCMRName.Text, "CMR")
frmSendungAnhangImport.saveToDS(AvisoId, CMRName, f.PDF_Path, "CMR", "PDF", da_id, anhId, destPath,, f.CMR.CMR_ID)
initAnhang()
End If
End If
End If
End If
Else
If docPath.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet)
Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG()
System.IO.File.Copy(docPath, docPathTMP)
Process.Start(docPathTMP)
Dim docPath = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvAnhang.SelectedRows(0).Cells("anh_docId").Value)
If Not IO.File.Exists(docPath) Then
MsgBox("Die Datei existiert nicht!")
Else
Process.Start(docPath)
If docPath.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet)
Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG()
System.IO.File.Copy(docPath, docPathTMP)
Process.Start(docPathTMP)
Else
Process.Start(docPath)
End If
End If
End If
End If
End If
Catch ex As Exception
@@ -5902,7 +5956,7 @@ Public Class frmSendungsdetailsNEU
If f.PDF_Path <> "" Then
Dim CMRName = If(f.txtCMRName.Text <> "", f.txtCMRName.Text, "CMR")
frmSendungAnhangImport.saveToDS(AvisoId, CMRName, f.PDF_Path, "CMR", "PDF", da_id, anhId, destPath, SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID)
frmSendungAnhangImport.saveToDS(AvisoId, CMRName, f.PDF_Path, "CMR", "PDF", da_id, anhId, destPath, SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID, f.CMR.CMR_ID)
initAnhang()
End If
@@ -6833,6 +6887,8 @@ Public Class frmSendungsdetailsNEU
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
Mail.SentOnBehalfOfName = SDL.cFakturierung.getDefaultMail("AMBAR")
@@ -6840,6 +6896,7 @@ Public Class frmSendungsdetailsNEU
End If
Mail.To = r.txt_fixerEmpfaengerEmail
Mail.Subject = r.txt_betreff
@@ -6852,35 +6909,110 @@ Public Class frmSendungsdetailsNEU
TextHTML &= "<br>"
TextHTML &= cFakturierung.getSignature(r.txt_sprache, r.txt_firmaSig, True, True)
If lblGrenze.Text <> "" Then
TextHTML = TextHTML.Replace("%VAR-GRENZE%", lblGrenze.Text & "<br>")
Else
TextHTML = TextHTML.Replace("%VAR-GRENZE%", "")
End If
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
If AVISO IsNot Nothing Then
Mail.Subject = Mail.Subject.Replace("%LKW%", AVISO.LKW_Nr)
Mail.Subject = Mail.Subject.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
TextHTML = TextHTML.Replace("%LKW%", AVISO.LKW_Nr)
TextHTML = TextHTML.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
If AVISO.VoraussichtlichesEintreffen IsNot Nothing Then
TextHTML = TextHTML.Replace("%voraus-Eintreffen%", CDate(AVISO.VoraussichtlichesEintreffen).ToShortDateString)
Mail.Subject = Mail.Subject.Replace("%voraus-Eintreffen%", CDate(AVISO.VoraussichtlichesEintreffen).ToShortDateString)
End If
If AVISO.ImEx IsNot Nothing Then
If AVISO.ImEx = "" Then
TextHTML = TextHTML.Replace("%ImEx%", "Custom")
Mail.Subject = Mail.Subject.Replace("%ImEx%", "Custom")
Else
TextHTML = TextHTML.Replace("%ImEx%", AVISO.ImEx)
Mail.Subject = Mail.Subject.Replace("%ImEx%", AVISO.ImEx)
End If
End If
If AVISO.Zollstelle IsNot Nothing Then
If AVISO.Zollstelle <> "" Then
Dim zollstelleBez = SQL.getValueTxtBySql("SELECT [Description] FROM tbl_DY_ZollDE_C0141_Zollstellen WHERE Code='" & If(AVISO.Zollstelle, "") & "' AND ((StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ) ", "FMZOLL")
TextHTML = TextHTML.Replace("%Zollstelle%", zollstelleBez)
Else
TextHTML = TextHTML.Replace("%Zollstelle%", AVISO.Zollstelle)
Mail.Subject = Mail.Subject.Replace("%Zollstelle%", AVISO.Zollstelle)
End If
End If
End If
If lblGrenze.Text <> "" Then
TextHTML = TextHTML.Replace("%VAR-GRENZE%", lblGrenze.Text & "<br>")
Mail.Subject = Mail.Subject.Replace("%VAR-GRENZE%", lblGrenze.Text.Replace(vbCrLf, " "))
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Empfaenger IsNot Nothing Then
Mail.Subject = Mail.Subject.Replace("%Empfaenger%", SENDUNG_LIST(CURRENT_INDEX).tblSnd_Empfaenger)
TextHTML = TextHTML.Replace("%Empfaenger%", SENDUNG_LIST(CURRENT_INDEX).tblSnd_Empfaenger)
End If
If SENDUNG_LIST(CURRENT_INDEX).FilialenNr > 0 Then
Mail.Subject = Mail.Subject.Replace("%FilialenNr%", SENDUNG_LIST(CURRENT_INDEX).FilialenNr)
TextHTML = TextHTML.Replace("%FilialenNr%", SENDUNG_LIST(CURRENT_INDEX).FilialenNr)
End If
If SENDUNG_LIST(CURRENT_INDEX).AbfertigungsNr > 0 Then
Mail.Subject = Mail.Subject.Replace("%AbfertigungsNr%", SENDUNG_LIST(CURRENT_INDEX).AbfertigungsNr)
TextHTML = TextHTML.Replace("%AbfertigungsNr%", SENDUNG_LIST(CURRENT_INDEX).AbfertigungsNr)
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Absender <> "" Then
Mail.Subject = Mail.Subject.Replace("%Absender%", SENDUNG_LIST(CURRENT_INDEX).tblSnd_Absender)
TextHTML = TextHTML.Replace("%Absender%", SENDUNG_LIST(CURRENT_INDEX).tblSnd_Absender)
End If
If SENDUNG_LIST(CURRENT_INDEX).tblSnd_Gewicht <> "" Then
Mail.Subject = Mail.Subject.Replace("%Gewicht%", SENDUNG_LIST(CURRENT_INDEX).tblSnd_Gewicht)
TextHTML = TextHTML.Replace("%Gewicht%", SENDUNG_LIST(CURRENT_INDEX).tblSnd_Gewicht)
End If
Mail.Subject = Mail.Subject.Replace("%LKW%", "")
Mail.Subject = Mail.Subject.Replace("%LKWKennzeichen%", "")
Mail.Subject = Mail.Subject.Replace("%Empfaenger%", "")
Mail.Subject = Mail.Subject.Replace("%VAR-GRENZE%", "")
Mail.Subject = Mail.Subject.Replace("%voraus-Eintreffen%", "")
Mail.Subject = Mail.Subject.Replace("%FilialenNr%", "")
Mail.Subject = Mail.Subject.Replace("%AbfertigungsNr%", "")
Mail.Subject = Mail.Subject.Replace("%Absender%", "")
Mail.Subject = Mail.Subject.Replace("%Gewicht%", "")
Mail.Subject = Mail.Subject.Replace("%ImEx%", "")
Mail.Subject = Mail.Subject.Replace("%Zollstelle%", "")
TextHTML = TextHTML.Replace("%LKW%", "")
TextHTML = TextHTML.Replace("%LKWKennzeichen%", "")
TextHTML = TextHTML.Replace("%Empfaenger%", "")
TextHTML = TextHTML.Replace("%VAR-GRENZE%", "")
TextHTML = TextHTML.Replace("%voraus-Eintreffen%", "")
TextHTML = TextHTML.Replace("%FilialenNr%", "")
TextHTML = TextHTML.Replace("%AbfertigungsNr%", "")
TextHTML = TextHTML.Replace("%Absender%", "")
TextHTML = TextHTML.Replace("%Gewicht%", "")
TextHTML = TextHTML.Replace("%ImEx%", "")
TextHTML = TextHTML.Replace("%Zollstelle%", "")
For Each anh As DataGridViewRow In dgvAnhang.SelectedRows
For Each anh As DataGridViewRow In dgvAnhang.SelectedRows
Mail.Attachments.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(anh.Cells("anh_docId").Value), Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue)
Next
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
Mail.Display()
If r.txt_sendungsvermerk AndAlso Not r.txt_sendungsvermerkText.ToLower.Contains("test") AndAlso SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID > 0 Then
AvisoStatusFunctions.insertSendungsVermerk(SENDUNG_LIST(CURRENT_INDEX).tblSnd_SendungID, AvisoId, r.txt_sendungsvermerkText, r.txt_sendungsvermerkId)
@@ -7136,5 +7268,4 @@ Public Class frmSendungsdetailsNEU
sequence)
End Function
End Class

View File

@@ -504,29 +504,11 @@ Public Class usrcntlAktDetailsATILLANeu
End Sub
Sub initAnhaenge()
Dim hSQL As String = " SELECT [anh_id],anh_Datum,[anh_Name],[anh_docId],[anh_Art],[anh_Typ] FROM [tblAvisoAnhaenge]
Dim hSQL As String = "SELECT [anh_id],[anh_Name],anh_Datum,[anh_docId], [anh_Art],[anh_Typ], anh_cmrId
FROM [tblAvisoAnhaenge]
left join tblAvisoAnhangsArten on aa_bezeichnung = anh_Art
WHERE [anh_AvisoId]='" & AvisoID & "' AND isnull(anh_SendungsId,0) <=0
ORDER BY
case
when [anh_Art] = 'ATR-EUR1' then 0
when [anh_Art] = 'Rechnung' then 1
when [anh_Art] = 'eFatura' then 1.1
when [anh_Art] = 'CMR' then 2
when [anh_Art] = 'Ausfuhr' then 3
when [anh_Art] = 'Vorpapier' then 4
when [anh_Art] = 'Packliste' then 5
when [anh_Art] = 'Auftrag' then 6
when [anh_Art] = 'Auftrag' then 7
when [anh_Art] = 'Dispoliste' then 8
when [anh_Art] = 'Vorkasse' then 9
when [anh_Art] = 'Überweisungsbeleg' then 10
when [anh_Art] = 'Vollmacht' then 11
when [anh_Art] = 'ATB' then 12
when [anh_Art] = 'ATA' then 13
when [anh_Art] = 'Sonstiges' then 99
when [anh_Art] ='' then 15
END, [anh_Reihenfolge], anh_Datum desc, [anh_id]"
ORDER BY anh_SendungsId desc, case when aa_sort = NULL THEN 15 else aa_sort END, [anh_Reihenfolge],[anh_id]"
' order by [anh_Reihenfolge],[anh_id]
dgvanhaenge.DataSource = VermerkeDAL.Anzeigen_Vermerke(hSQL)
@@ -539,7 +521,8 @@ Public Class usrcntlAktDetailsATILLANeu
.RowTemplate.MinimumHeight = 30
.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
.Columns("anh_id").Visible = False 'VermerkID nicht anzeigenconMenuVermerke
.Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen
.Columns("anh_docId").Visible = False
.Columns("anh_cmrId").Visible = False 'AvisoID nicht anzeigen
.Columns("anh_Datum").MinimumWidth = 50
.Columns("anh_Datum").HeaderText = "Datum"
@@ -558,6 +541,27 @@ Public Class usrcntlAktDetailsATILLANeu
.Columns("anh_Typ").HeaderText = "Typ"
.Columns("anh_Art").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
If .Columns("isCMR") Is Nothing Then
Dim c As New DataGridViewImageColumn
c.Name = "isCMR" : c.HeaderText = "CMR"
c.Image = New Bitmap(1, 1)
c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White
.Columns.Add(c)
End If
For Each row As DataGridViewRow In dgvanhaenge.Rows
If Not IsDBNull(row.Cells("anh_cmrId").Value) Then
If row.Cells("anh_cmrId").Value > 0 Then DirectCast(row.Cells("isCMR"), DataGridViewImageCell).Value = My.Resources.stift
End If
Next
.ClearSelection()
End With
End Sub
@@ -565,21 +569,56 @@ Public Class usrcntlAktDetailsATILLANeu
Try
If dgvanhaenge.SelectedRows.Count > 0 Then
Dim docPath = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvanhaenge.SelectedRows(0).Cells("anh_docId").Value)
If Not IO.File.Exists(docPath) Then
MsgBox("Die Datei existiert nicht!")
Else
If docPath.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet)
Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG()
File.Copy(docPath, docPathTMP)
Process.Start(docPathTMP)
Else
Process.Start(docPath)
If dgvanhaenge.Columns(e.ColumnIndex).Name = "isCMR" Then
If Not IsDBNull(dgvanhaenge.SelectedRows(0).Cells("anh_cmrId").Value) AndAlso dgvanhaenge.SelectedRows(0).Cells("anh_cmrId").Value > 0 Then
Dim cmrId As Integer = dgvanhaenge.SelectedRows(0).Cells("anh_cmrId").Value
Dim f As New SDL.frmCMR(cmrId, dgvanhaenge.SelectedRows(0).Cells("anh_docId").Value, dgvanhaenge.SelectedRows(0).Cells("anh_id").Value)
f.btnCMRtoAkt.Visible = True
f.txtCMRName.Visible = True
f.btnSaveVorlage.Visible = False 'aus dieser Ansicht keine Vorlagen speichern!
If f.ShowDialog(Me) = DialogResult.OK Then
If f.ueberschreiben Then
Dim da_id = -1
Dim anhId = -1
Dim destPath = ""
Dim Typ = ""
If f.PDF_Path <> "" Then
Dim CMRName = If(f.txtCMRName.Text <> "", f.txtCMRName.Text, "CMR")
frmSendungAnhangImport.saveToDS(AvisoID, CMRName, f.PDF_Path, "CMR", "PDF", da_id, anhId, destPath,, f.CMR.CMR_ID)
initAnhaenge()
End If
End If
End If
End If
Else
Dim docPath = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvanhaenge.SelectedRows(0).Cells("anh_docId").Value)
If Not IO.File.Exists(docPath) Then
MsgBox("Die Datei existiert nicht!")
Else
If docPath.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet)
Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG()
File.Copy(docPath, docPathTMP)
Process.Start(docPathTMP)
Else
Process.Start(docPath)
End If
End If
End If
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
@@ -1611,7 +1650,7 @@ Public Class usrcntlAktDetailsATILLANeu
If f.PDF_Path <> "" Then
Dim CMRName = If(f.txtCMRName.Text <> "", f.txtCMRName.Text, "CMR")
frmSendungAnhangImport.saveToDS(AvisoID, CMRName, f.PDF_Path, "CMR", "PDF", da_id, anhId, destPath)
frmSendungAnhangImport.saveToDS(AvisoID, CMRName, f.PDF_Path, "CMR", "PDF", da_id, anhId, destPath,, f.CMR.CMR_ID)
initAnhaenge()
End If