This commit is contained in:
2020-03-12 14:48:24 +01:00
parent e879fb6881
commit afaac3c2a4
107 changed files with 16055 additions and 3324 deletions

View File

@@ -37,32 +37,71 @@ Public Class frmSendungAnhangImport
'Dim f As New GroupDocs.Viewer
End Sub
Function checkIf1isSelected() As Boolean
Dim cnt = 0
For Each u As usrCntlSendungAnhangElement In flpnlAviso.Controls
If u.ACTIVE Then cnt += 1
Next
For Each u As usrCntlSendungAnhangElement In flpnlSendungen.Controls
If u.ACTIVE Then cnt += 1
Next
Return cnt = 1
End Function
Function checkIfSamePanel(USRCNTL As usrCntlSendungAnhangElement) As Boolean
If USRCNTL.Parent Is flpnlAviso Then
For Each u As usrCntlSendungAnhangElement In flpnlSendungen.Controls
If u.ACTIVE Then Return False
Next
End If
If USRCNTL.Parent Is flpnlSendungen Then
For Each u As usrCntlSendungAnhangElement In flpnlAviso.Controls
If u.ACTIVE Then Return False
Next
End If
Return True
End Function
Sub initElement(USRCNTL As usrCntlSendungAnhangElement)
AddHandler USRCNTL.ME_CLICK, Sub()
AddHandler USRCNTL.ME_CLICK, Sub(STRG_PRESSED)
' If BrowserLoaded Then
If USRCNTL.ACTIVE Then Exit Sub 'Bereits aktiv
For Each u As usrCntlSendungAnhangElement In flpnlAviso.Controls
u.ACTIVE = False
Next
For Each u As usrCntlSendungAnhangElement In flpnlSendungen.Controls
u.ACTIVE = False
Next
USRCNTL.ACTIVE = True
'WebBrowser1.Navigate(USRCNTL.FILE_PATH)
If File.Exists(USRCNTL.FILE_PATH) Then
initLocationViewer(USRCNTL.FILE_PATH, USRCNTL.FILE_TYPE)
If Not STRG_PRESSED Then
'prüfen, ob genau 1 Elemnt markeirt ist, dann kein neues Laden nötig
If USRCNTL.ACTIVE Then
If checkIf1isSelected() Then Exit Sub 'Bereits aktiv, aber nur wenn 1 markiert
End If
For Each u As usrCntlSendungAnhangElement In flpnlAviso.Controls
u.ACTIVE = False
Next
For Each u As usrCntlSendungAnhangElement In flpnlSendungen.Controls
u.ACTIVE = False
Next
USRCNTL.ACTIVE = True
'WebBrowser1.Navigate(USRCNTL.FILE_PATH)
If File.Exists(USRCNTL.FILE_PATH) Then
initLocationViewer(USRCNTL.FILE_PATH, USRCNTL.FILE_TYPE)
Else
initLocationViewer("", "PDF")
End If
' PdfViewer.DocumentLoaded += New EventHandler(AddressOf radPdfViewer1_DocumentLoaded)
txtDateiname.Text = USRCNTL.FILE_NAME
txtSeiten.Focus()
Else
initLocationViewer("", "PDF")
If checkIfSamePanel(USRCNTL) Then
USRCNTL.ACTIVE = Not USRCNTL.ACTIVE
End If
End If
' PdfViewer.DocumentLoaded += New EventHandler(AddressOf radPdfViewer1_DocumentLoaded)
txtDateiname.Text = USRCNTL.FILE_NAME
txtSeiten.Focus()
' End If
End Sub
AddHandler USRCNTL.ME_DELETE, Sub(docId, anhId)
@@ -119,11 +158,15 @@ Public Class frmSendungAnhangImport
Function getPDFSplitName(FILE_NAME)
getPDFSplitName = FILE_NAME
If txtBezeichnung.Text <> "" Then
Return txtBezeichnung.Text
getPDFSplitName = txtBezeichnung.Text
End If
If Not getPDFSplitName.ToString.EndsWith(".pdf") Then
getPDFSplitName = getPDFSplitName & ".pdf"
End If
Return FILE_NAME
End Function
Dim tmpPageMove = 0
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAnfuegen.Click
@@ -258,13 +301,15 @@ Public Class frmSendungAnhangImport
'Hochladen in den Datenserver und anfügen in die Tbl Anhänge mit der SendungsId
' saveToDS(u.FILE_NAME, TMP_Path_New, cboArt._value, u.FILE_TYPE,,, SendngsId)
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
If cbxDelPDF.Checked Then
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
ANH.anh_SendungsId = SendngsId
ANH.anh_Name = getPDFSplitName(ANH.anh_Name)
If cboArt._value <> "" Then ANH.anh_Art = cboArt._value
ANH.SAVE() 'Eintrag wird überschreiben
flpnlAviso.Controls.Remove(u)
' If cbxDelPDF.Checked Then tryDelete(u.FILE_PATH)
initLocationViewer("", "PDF")
@@ -272,10 +317,18 @@ Public Class frmSendungAnhangImport
DirectCast(flpnlAviso.Controls(0), usrCntlSendungAnhangElement).CLICK_Me()
End If
Else
ANH.anh_SendungsId = SendngsId
If cboArt._value <> "" Then ANH.anh_Art = cboArt._value
ANH.anh_id = -1 'neuer Eintrag
ANH.SAVE()
saveToDS(AvisoId, getPDFSplitName(u.FILE_NAME), TMP_Path_New, cboArt._value, u.FILE_TYPE,,,, SendngsId)
'Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
'ANH.anh_id = -1 'neuer Eintrag
'ANH.anh_SendungsId = SendngsId
'ANH.anh_Name = getPDFSplitName(ANH.anh_Name)
'If cboArt._value <> "" Then ANH.anh_Art = cboArt._value
'ANH.anh_SendungsId = SendngsId
'ANH.SAVE()
'DOCID!!!!!
End If
End If
Next
@@ -575,7 +628,11 @@ Public Class frmSendungAnhangImport
PdfCopyProvider.SetFullCompression()
srcDoc.Open()
For Each p In pagesToExtract
If p > Reader.NumberOfPages Then MsgBox("Seitenanzahl überschritten!") : Return False
If p > Reader.NumberOfPages Then
MsgBox("Seitenanzahl überschritten!")
srcDoc.Close() : Reader.Close()
Return False
End If
impPage = PdfCopyProvider.GetImportedPage(Reader, p)
' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
PdfCopyProvider.SetPageSize(New iTextSharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, Reader.GetPageRotation(p)))
@@ -832,8 +889,10 @@ Public Class frmSendungAnhangImport
Dim cnt = 1
For Each s In SENDUNG_LIST
Dim abfertigungsArt = SQL.getValueTxtBySql("SELECT isnull([Abfertigungsbezeichnung],'') FROM [Abfertigungsarten] WHERE Abfertigungsart='" & s.tblSnd_Abfertigungsart_ID & "'", "FMZOLL")
Dim empfTmp = If(s.tblSnd_Empfaenger.Length > 15, s.tblSnd_Empfaenger.Substring(0, 15), s.tblSnd_Empfaenger)
Dim empfTmp = ""
If s.tblSnd_Empfaenger IsNot Nothing Then
empfTmp = If(s.tblSnd_Empfaenger.Length > 15, s.tblSnd_Empfaenger.Substring(0, 15), s.tblSnd_Empfaenger)
End If
cboSendungen.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(cnt & ". " & empfTmp & " (" & abfertigungsArt & ")", s.tblSnd_SendungID))
cnt += 1
Next
@@ -875,7 +934,7 @@ Public Class frmSendungAnhangImport
If cboSendungen._value <> "" Then
Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(cboSendungen._value)
If If(SND.tblSnd_Colli, "") <> "" Then lblSendungsdetails.Text = SND.tblSnd_Colli & " Pk"
If If(SND.tblSnd_Gewicht, "") <> "" Then lblSendungsdetails.Text &= If(lblSendungsdetails.Text <> "", "; ", "") & CDbl(SND.tblSnd_Gewicht).ToString("N1") & " kg"
If If(SND.tblSnd_Gewicht, "") <> "" Then lblSendungsdetails.Text &= If(lblSendungsdetails.Text <> "", "; ", "") & CDbl(SND.tblSnd_Gewicht.Replace(" ", "").Replace(Chr(160), "")).ToString("N1") & " kg"
lblWarenbeichnung.Text = If(SND.tblSnd_Warenbezeichnung, "")
lblAbsender.Text = If(SND.tblSnd_Absender, "")
lblEmpfaenger.Text = If(SND.tblSnd_Empfaenger, "")
@@ -1076,12 +1135,13 @@ Public Class frmSendungAnhangImport
Return True
End Function
Public Shared Function saveToDS(AvisoId, 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) 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
da_id = DS.da_id
destPath = DS.GET_TOP1_PATH
fileName = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(fileName)
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(AvisoId, fileName, DS.da_id, Art, Typ, SendungsId)
If Not ANH.SAVE Then MsgBox("Fehler beim Anhang speichern!") : Return False
anhId = ANH.anh_id
@@ -1135,7 +1195,7 @@ Public Class frmSendungAnhangImport
End If
End Sub
Private Sub txtSeiten_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txtSeiten.PreviewKeyDown, cboArt.PreviewKeyDown
Private Sub txtSeiten_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txtSeiten.PreviewKeyDown, cboArt.PreviewKeyDown, txtBezeichnung.PreviewKeyDown
Try
If e.Modifiers = Keys.Alt Then ' Sendungen durchlaufen
If e.KeyCode = Keys.PageDown Then
@@ -1147,6 +1207,7 @@ Public Class frmSendungAnhangImport
If e.KeyCode = Keys.Add Then
btnAddSnd.PerformClick()
e.IsInputKey = True ' Damit Event abgefangen ist, sonst steht "+" im Feld
'e.Handled = True
End If
If e.KeyCode = Keys.Return Then
btnSndEdit.PerformClick()
@@ -1162,6 +1223,7 @@ Public Class frmSendungAnhangImport
If e.KeyCode = Keys.Add Then
btnAddSnd.PerformClick()
e.IsInputKey = True ' Damit Event abgefangen ist, sonst steht "+" im Feld
' e.Handled = True
End If
If e.KeyCode = Keys.Return Then
btnSndEdit.PerformClick()
@@ -1333,6 +1395,100 @@ Public Class frmSendungAnhangImport
Next
End Sub
Public Sub AnhangVerschieben_Markierte(USRCNTL As usrCntlSendungAnhangElement)
Dim f As New frmSendungAnhang_SendenAnSnd(SENDUNG_LIST)
If f.ShowDialog(Me) = DialogResult.OK Then
If USRCNTL.Parent Is flpnlAviso Then
For Each u As usrCntlSendungAnhangElement In flpnlAviso.Controls
If u.ACTIVE Then
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
ANH.anh_SendungsId = f.SendungsId
ANH.SAVE()
End If
Next
ElseIf USRCNTL.Parent Is flpnlSendungen Then
For Each u As usrCntlSendungAnhangElement In flpnlSendungen.Controls
If u.ACTIVE Then
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
ANH.anh_SendungsId = f.SendungsId
ANH.SAVE()
End If
Next
End If
clearPnlAnfuegen()
' initSendungen()
initFlpANH_LIST()
End If
End Sub
Public Sub PDFszusammenfuehren_Markierte(USRCNTL As usrCntlSendungAnhangElement)
Try
Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
Dim ANH_NEW As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge
If USRCNTL.Parent Is flpnlAviso Then
For Each u As usrCntlSendungAnhangElement In flpnlAviso.Controls
If u.ACTIVE Then
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
If ANH.anh_Typ <> "PDF" Then MsgBox("Nur mit PDFs möglich!") : Exit Sub
ANH_LIST.Add(ANH)
ANH_NEW.anh_AvisoId = ANH.anh_AvisoId
End If
Next
ElseIf USRCNTL.Parent Is flpnlSendungen Then
For Each u As usrCntlSendungAnhangElement In flpnlSendungen.Controls
If u.ACTIVE Then
Dim ANH = New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(u.FILE_ANHID)
If ANH.anh_Typ <> "PDF" Then MsgBox("Nur mit PDFs möglich!") : Exit Sub
ANH_LIST.Add(ANH)
ANH_NEW.anh_AvisoId = ANH.anh_AvisoId
ANH_NEW.anh_SendungsId = ANH.anh_SendungsId
End If
Next
End If
If ANH_LIST.Count > 0 Then
Dim f As New frmSendungAnhangUmbenennenUmkateg(ANH_LIST(0).anh_Name, ANH_LIST(0).anh_Art)
If f.ShowDialog = DialogResult.OK Then
ANH_NEW.anh_Name = f.txtBezeichnung.Text
ANH_NEW.anh_Art = f.cboArt._value
' FILE_NAME = f.txtBezeichnung.Text
Else
Exit Sub
End If
Dim files As New List(Of String) ' String() = New String() {"Sample1.pdf", "Sample2.pdf", "Sample3.pdf"}
Dim outputFile As String = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Merge.pdf", ".pdf", True,, "Merge") ' "result.pdf"
For Each r In ANH_LIST
files.Add(VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(r.anh_docId))
Next
Dim doc As Spire.Pdf.PdfDocumentBase = Spire.Pdf.PdfDocument.MergeFiles(files.ToArray)
doc.Save(outputFile, Spire.Pdf.FileFormat.PDF)
If saveToDS(ANH_NEW.anh_AvisoId, ANH_NEW.anh_Name, outputFile, ANH_NEW.anh_Art, "PDF",, , , ANH_NEW.anh_SendungsId) Then
'addUsrcnlToPnl(destPath, da_id, anhId, filename, Typ)
For Each anh In ANH_LIST
anh.DELETE()
Next
End If
'ANH_NEW.SAVE()
End If
clearPnlAnfuegen()
' initSendungen()
initFlpANH_LIST()
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
'Private Sub txtBezeichnung_GotFocus(sender As Object, e As EventArgs) Handles txtBezeichnung.GotFocus
' txtBezeichnung.SelectAll()