2521 lines
135 KiB
VB.net
2521 lines
135 KiB
VB.net
|
|
Imports System.IO
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO
|
|
Imports VERAG_PROG_ALLGEMEIN.cGlobal
|
|
Imports com.esendex.sdk.messaging
|
|
Imports Newtonsoft.Json
|
|
Imports System.Reflection
|
|
Imports System.Drawing.Drawing2D
|
|
Imports SDL
|
|
Imports Microsoft.Office.Interop
|
|
Imports Spire.Pdf.Texts
|
|
Imports System.Net
|
|
Imports System.Text
|
|
Imports System.IO.Pipes
|
|
Imports System.Security.AccessControl
|
|
|
|
Public Class AvisoStatusFunctions
|
|
Dim Standorte As New cStandorteDAL
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim AvisoDAL As New cAvisoDAL
|
|
Dim VermerkeDAL As New cVermerkeDAL
|
|
|
|
Public Function getAnkunftDateNow() As Date
|
|
Try
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Or (VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" And VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "SUB") Then
|
|
If Now.DayOfWeek = DayOfWeek.Sunday Then
|
|
Return CDate(Now.AddDays(1).ToShortDateString & " 06:00:00")
|
|
End If
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, "LOG",,,,, "ERR_HFST_SETDATE")
|
|
End Try
|
|
Return Now
|
|
End Function
|
|
|
|
|
|
Public Shared Sub ummeldenAVISO(Aviso As VERAG_PROG_ALLGEMEIN.cAviso, Grenzstelle As String)
|
|
If Aviso IsNot Nothing Then
|
|
Select Case Aviso.Status
|
|
Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft
|
|
'Nur wenn Ankunft --> Status auf den letzten vor Ankunft ändern
|
|
If Aviso.Vorgeschrieben <> cMeineFunktionenAVISO.LeerDatum Then
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben
|
|
ElseIf Aviso.Vorbereitet <> cMeineFunktionenAVISO.LeerDatum Then
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet
|
|
Else
|
|
Aviso.Status = Status_Erfasst
|
|
End If
|
|
End Select
|
|
End If
|
|
If Grenzstelle = "???" Then
|
|
AvisoStatusFunctions.insertVermerkAllg(Aviso.AvisoID, "LKW nach umgemeldet", 94)
|
|
Else
|
|
AvisoStatusFunctions.insertVermerkAllg(Aviso.AvisoID, "LKW nach '" & Grenzstelle & "' umgemeldet", 94)
|
|
End If
|
|
|
|
Aviso.Grenzstelle = Grenzstelle
|
|
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
|
|
AvisoDAL.SpeichernAviso(Aviso)
|
|
End Sub
|
|
|
|
Public Sub sendAnkunftBenachrichtigung(AvisoId)
|
|
'VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(AvisoId, -1, 3, "T", TeamID, "*ANKUNFT*", 0, "", "AUTO: LKW Ankunft - nicht vorgeschrieben!")
|
|
|
|
Dim alreadySent As New List(Of Integer)
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
For Each r In AvisoDAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoId).Rows
|
|
SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
|
|
Next
|
|
For Each s In SENDUNG_LIST
|
|
'Keine Fremdspedition / Handling + nicht vorgeschrieben
|
|
If Not s.tblSnd_Fremdspedition And s.tblSnd_Abfertigungsart_ID <> "23" And s.tblSnd_Vorgeschrieben = Nothing Then
|
|
'Avisierer vorhanden
|
|
Dim TeamId = ""
|
|
'Zugeordnetes Team anhand von Avisierer...
|
|
If s.tblSnd_AvisiererKdNr IsNot Nothing AndAlso s.tblSnd_AvisiererKdNr > 0 Then
|
|
TeamId = SQL.getValueTxtBySql("SELECT TOP 1 kde_TeamId FROM [tblKundenErweitert] where kde_KundenNr ='" & s.tblSnd_AvisiererKdNr & "'", "FMZOLL")
|
|
End If
|
|
'...wenn nicht --> Team aus Sendung
|
|
'If TeamId = "" And If(s.tblSnd_TeamId, "") <> "" Then TeamId = s.tblSnd_TeamId 'derzeit nicht..
|
|
|
|
If TeamId <> "" Then
|
|
Dim sent = False
|
|
For Each i In alreadySent
|
|
If i = TeamId Then sent = True
|
|
Next
|
|
If Not sent Then
|
|
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(AvisoId, -1, 3, "T", TeamId, "*ANKUNFT*", 0, "", "AUTO: LKW Ankunft - nicht vorgeschrieben!")
|
|
alreadySent.Add(TeamId)
|
|
End If
|
|
End If
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Public Function printQR_CODE(aviso As VERAG_PROG_ALLGEMEIN.cAviso) As Boolean
|
|
If aviso Is Nothing Then Return False
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "ATILLA" Then
|
|
Select Case aviso.Grenzstelle
|
|
Case "NEU", "DTB", "NKN"
|
|
Dim rpt As New rptQRSendung_VerwahrungApp(aviso, Nothing)
|
|
Dim printer = VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_BON
|
|
If printer = "" Then printer = SDL.cProgramFunctions.getDruckernameBySearch("BON", True)
|
|
If printer = "" Then printer = SDL.cProgramFunctions.getDruckernameBySearch("INFO", True)
|
|
|
|
'If printer = "" Then
|
|
SDL.cProgramFunctions.printRpt(rpt, printer, True)
|
|
Return True
|
|
' End If
|
|
End Select
|
|
|
|
End If
|
|
Return False
|
|
End Function
|
|
Public Function setAnkunft(AvisoID) As Boolean
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
' Taste ANKUNFT
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf ANKUNFT gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
'Wenn Aviserer einem Team zugeordnet, aber noch nicht "vorgeschrieben", dann bekommt das Team eine Nachricht!
|
|
' If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst Then
|
|
'Sendungsbasis
|
|
' End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
msg = "Dieses LKW-Aviso hat bereits den Status 'LKW nicht eingetroffen'." & vbCrLf & vbCrLf &
|
|
"Soll es jetzt trotzdem auf ANKUNFT (zurück)gesetzt werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle), "Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
End If
|
|
Dim Rücksetzen As Boolean = False
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf FREIGABE gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf ANKUNFT geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle), "Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
'Status ist offen - jetzt auf Ankunft setzen
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst Then
|
|
Aviso.Vorbereitet = LeerDatum
|
|
Aviso.Vorgeschrieben = LeerDatum
|
|
End If
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft
|
|
Aviso.Freigabe = LeerDatum
|
|
Aviso.Dauer = 0
|
|
Rücksetzen = True
|
|
Else
|
|
Aviso.Ankunft = getAnkunftDateNow()
|
|
End If
|
|
|
|
'E-Mail
|
|
If Aviso.FIRMA <> "ATILLA" Then
|
|
sendAnkunftBenachrichtigung(Aviso.AvisoID)
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_ATILLA_VERIMEX Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_ATILLA_INDONESIEN Then
|
|
Rücksetzen = True
|
|
End If
|
|
|
|
|
|
'Fahrer Handy-Nr.
|
|
Dim frmAnkunftSetzen As New frmAnkunftSetzen(Aviso)
|
|
If frmAnkunftSetzen.ShowDialog() = DialogResult.Cancel Then
|
|
Return False 'Abbrechen
|
|
End If
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then
|
|
' If Aviso.Grenzstelle.Replace("???", "") <> "" Then
|
|
' If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "" Then Aviso.Grenzstelle = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
|
|
' End If
|
|
'End If
|
|
' If Aviso.Grenzstelle.Replace("???", "") <> "" Then
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "" Then
|
|
If Aviso.Grenzstelle <> VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG Then
|
|
Dim f As New frmAnkunftAendern(Aviso)
|
|
If f.ShowDialog() Then
|
|
Aviso.Grenzstelle = f.AVISO.Grenzstelle
|
|
End If
|
|
End If
|
|
End If
|
|
' End If
|
|
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft
|
|
Aviso.Änderungen = "auf ANKUNFT gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
|
|
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf ANKUNFT gesetzt", "auf ANKUNFT gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
If Not Rücksetzen Then
|
|
'nach dem erfolgreichem Speichern wird jetzt noch ein automatisches Mail für den Frächter und Auftraggeber erstellt
|
|
'Mail-Adressen aus Firmentabelle holen
|
|
SendAnkunftEmail(Aviso)
|
|
End If
|
|
|
|
|
|
'Verwahrungs-Ticket Drucken, wenn parameter
|
|
printQR_CODE(Aviso)
|
|
'Ticket Drucken, wenn parameter
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("TICKET_ANKUNFT") Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("TICKET_ANKUNFT", "AVISO") Then
|
|
Dim rpt As New rptQRAviso(Aviso)
|
|
Dim printer = SDL.cProgramFunctions.getDruckernameBySearch("INFO", True)
|
|
If printer <> "" Then
|
|
SDL.cProgramFunctions.printRpt(rpt, printer, True)
|
|
Else
|
|
SDL.cProgramFunctions.showRpt(rpt, "AVISO", False)
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
'Wenn Atilla, dann Eintrag anzeigen, um zu korrigieren und Aktendeckel auszudrucken
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then 'And VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True Then
|
|
Dim frmGrayOut = VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.grayoutForm()
|
|
Dim f As New frmEintragAviso
|
|
f.AktenzetteldruckenVisible = True
|
|
f.ShowDialog(frmGrayOut)
|
|
frmGrayOut.Close()
|
|
End If
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
|
|
Shared Sub SendAnkunftEmail(AVISO As cAviso, Optional ForceMail As String = "")
|
|
Dim AvisoDAL As New cAvisoDAL
|
|
Dim art = 1
|
|
If AVISO.ImEx = "EXPORT" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then art = 3
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
' Case "ATILLA"
|
|
'Case "VERAG", "IMEX"
|
|
Case Else
|
|
|
|
Dim EMails As String = ""
|
|
Dim EMails_CC As String = ""
|
|
Dim EMails_BCC As String = ""
|
|
|
|
Dim Emails_list_sent As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
|
|
|
|
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(AVISO.Auftraggeber_KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, AVISO.Auftraggeber_KdNr, ForceMail, "AVISIERER")
|
|
'Frächter und Avisierer werden getrennt voneinander eingelesen, damit es kein Problem mit gesendeten VBD/Steuerbescheiden gibt!
|
|
If AVISO.Frächter_KdNr <> AVISO.Auftraggeber_KdNr Then
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(AVISO.Frächter_KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, AVISO.Frächter_KdNr, ForceMail, "FRÄCHTER")
|
|
End If
|
|
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
For Each r In AvisoDAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AVISO.AvisoID).Rows
|
|
SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
|
|
Next
|
|
For Each s In SENDUNG_LIST
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_EmpfaengerKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_EmpfaengerKdNr, ForceMail, "EMPFÄNGER")
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_AuftraggeberKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_AuftraggeberKdNr, ForceMail, "AUFTRAGGEBER")
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_FrachtfuehrerKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_FrachtfuehrerKdNr, ForceMail, "FRÄCHTER")
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_AvisiererKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_AvisiererKdNr, ForceMail, "AVISIERER")
|
|
|
|
Next
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
'freigabe
|
|
Shared Sub SendFreigabeEmail(AVISO As cAviso, Optional ForceMail As String = "")
|
|
Dim AvisoDAL As New cAvisoDAL
|
|
Dim art = 2
|
|
If AVISO.ImEx = "EXPORT" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then art = 4
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
|
|
' Case "ATILLA"
|
|
'Case "VERAG", "IMEX"
|
|
Case Else
|
|
|
|
'Mail-Adressen aus Firmentabelle holen
|
|
Dim EMails As String = ""
|
|
Dim EMails_CC As String = ""
|
|
Dim EMails_BCC As String = ""
|
|
|
|
|
|
Dim Emails_list_sent As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
|
|
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(AVISO.Auftraggeber_KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, AVISO.Auftraggeber_KdNr, ForceMail)
|
|
|
|
'Frächter und Avisierer werden getrennt voneinander eingelesen, damit es kein Problem mit gesendeten VBD/Steuerbescheiden gibt!
|
|
If AVISO.Frächter_KdNr <> AVISO.Auftraggeber_KdNr Then
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(AVISO.Frächter_KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, AVISO.Frächter_KdNr, ForceMail)
|
|
End If
|
|
|
|
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
For Each r In AvisoDAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AVISO.AvisoID).Rows
|
|
SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
|
|
Next
|
|
For Each s In SENDUNG_LIST
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_EmpfaengerKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_EmpfaengerKdNr, ForceMail)
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_AuftraggeberKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_AuftraggeberKdNr, ForceMail)
|
|
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_FrachtfuehrerKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_FrachtfuehrerKdNr, ForceMail)
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_AvisiererKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_AvisiererKdNr, ForceMail)
|
|
Next
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Shared Sub SendStatusEmail(AVISO As cAviso, Optional ForceMail As String = "")
|
|
Dim AvisoDAL As New cAvisoDAL
|
|
Dim art = 5
|
|
' If AVISO.ImEx = "EXPORT" Or VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then art = 4
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
|
|
Case "ATILLA"
|
|
'NED!
|
|
|
|
'Case "VERAG", "IMEX"
|
|
Case "VERAG", "IMEX"
|
|
|
|
'Mail-Adressen aus Firmentabelle holen
|
|
Dim EMails As String = ""
|
|
Dim EMails_CC As String = ""
|
|
Dim EMails_BCC As String = ""
|
|
|
|
|
|
Dim Emails_list_sent As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
|
|
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(AVISO.Auftraggeber_KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, AVISO.Auftraggeber_KdNr, ForceMail)
|
|
'Frächter und Avisierer werden getrennt voneinander eingelesen, damit es kein Problem mit gesendeten VBD/Steuerbescheiden gibt!
|
|
If AVISO.Frächter_KdNr <> AVISO.Auftraggeber_KdNr Then
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(AVISO.Frächter_KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, AVISO.Frächter_KdNr, ForceMail)
|
|
End If
|
|
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
For Each r In AvisoDAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AVISO.AvisoID).Rows
|
|
SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
|
|
Next
|
|
For Each s In SENDUNG_LIST
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_EmpfaengerKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_EmpfaengerKdNr, ForceMail)
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_AuftraggeberKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_AuftraggeberKdNr, ForceMail)
|
|
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_FrachtfuehrerKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_FrachtfuehrerKdNr, ForceMail)
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(s.tblSnd_AvisiererKdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, s.tblSnd_AvisiererKdNr, ForceMail)
|
|
Next
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Shared Sub SendStatusEmailByKdNr(AVISO As cAviso, KdNr As Integer)
|
|
Dim AvisoDAL As New cAvisoDAL
|
|
Dim art = 5
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
|
|
Case "ATILLA"
|
|
'NED!
|
|
Case "VERAG", "IMEX"
|
|
|
|
'Mail-Adressen aus Firmentabelle holen
|
|
Dim EMails As String = ""
|
|
Dim EMails_CC As String = ""
|
|
Dim EMails_BCC As String = ""
|
|
|
|
Dim Emails_list_sent As New VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList
|
|
|
|
VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.eMails_einlesen(KdNr, art, EMails, EMails_CC, EMails_BCC, Emails_list_sent)
|
|
If Emails_list_sent.LIST.Count > 0 Then
|
|
Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, KdNr, "")
|
|
' VERAG_PROG_ALLGEMEIN.cAvisoStatusMails.INSERT_INTO(AVISO.AvisoID, KdNr, art)
|
|
End If
|
|
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Shared Sub Email_senden(art, AVISO, EMails, EMails_CC, EMails_BCC, KundenNr, Optional ForceMail = "", Optional artKunde = "")
|
|
'art = 1 : Ankunft
|
|
'art = 2 : Freigabe
|
|
'art = 3 : Ankunft Export
|
|
'art = 4 : Freigabe Export
|
|
'art = 5 : Status
|
|
If KundenNr Is Nothing OrElse Not IsNumeric(KundenNr) Then Exit Sub
|
|
If KundenNr <= 0 Then Exit Sub
|
|
|
|
If art = 2 Then ' Freigabe
|
|
Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(KundenNr)
|
|
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(KundenNr)
|
|
If KUNDE.EmailFreigabe And KUNDE_ERW.EmailFreigabe_Art = "BLG" Then
|
|
Exit Sub ' Keine Freigabe-Mail, wenn "BELEG" bei Freigabe gewählt wurde --> Der STB wird indem Fall pro Beleg geschickt.
|
|
End If
|
|
End If
|
|
If art = 4 Then ' Freigabe Export
|
|
'Dim KUNDE As New VERAG_PROG_ALLGEMEIN.cKunde(KundenNr)
|
|
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(KundenNr)
|
|
If KUNDE_ERW.EmailFreigabe_Export And KUNDE_ERW.EmailFreigabe_Export_Art = "BLG" Then
|
|
Exit Sub ' Keine Freigabe-Mail, wenn "BELEG" bei Freigabe gewählt wurde --> Der STB wird indem Fall pro Beleg geschickt.
|
|
End If
|
|
End If
|
|
|
|
Dim Standorte As New cStandorteDAL
|
|
'nur Mail erstellen, falls mindestens ein Empfänger vorhanden
|
|
|
|
If EMails <> "" Or EMails_CC <> "" Or EMails_BCC <> "" Then
|
|
|
|
Dim hBetreff As String = If(art = 1 Or art = 3, VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Ankunft_Betreff, VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Freigabe_Betreff)
|
|
Dim hBody As String = If(art = 1 Or art = 3, VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Ankunft_Text, VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Freigabe_Text)
|
|
|
|
Select Case art 'DEFAULT!!
|
|
Case 1, 3
|
|
hBetreff = VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Ankunft_Betreff
|
|
hBody = VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Ankunft_Text
|
|
Case 2, 4
|
|
hBetreff = VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Freigabe_Betreff
|
|
hBody = VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Freigabe_Text
|
|
Case 5
|
|
hBetreff = VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Status_Betreff
|
|
hBody = VERAG_PROG_ALLGEMEIN.cGlobal.Optionen.eMail_Status_Text
|
|
End Select
|
|
|
|
'jetzt nachsehen, ob indiv. eMail-Text für Standort vorhanden
|
|
|
|
Dim GrenzstelleMail = AVISO.Grenzstelle.replace("?", "")
|
|
GrenzstelleMail = GrenzstelleMail.replace("WO_GE", "") 'KEINE MAIL
|
|
GrenzstelleMail = GrenzstelleMail.replace("WO_KITA", "") 'KEINE MAIL
|
|
|
|
|
|
|
|
'Prüfen ob WO oder ZA, in dem Fall keine Mail senden
|
|
Dim GRZ As New VERAG_PROG_ALLGEMEIN.cGrenzstelle(GrenzstelleMail)
|
|
If GRZ IsNot Nothing AndAlso GRZ.hasEntry Then
|
|
|
|
If Not GRZ.grz_AvisoStatusVorOrt Then
|
|
GrenzstelleMail = "" 'KEINE MAIL
|
|
End If
|
|
|
|
'If GRZ.grz_Zollamt Then GrenzstelleMail = "" 'KEINE MAIL
|
|
'If GRZ.grz_Warenort Then GrenzstelleMail = "" 'KEINE MAIL
|
|
End If
|
|
|
|
|
|
|
|
If GrenzstelleMail = "" And art <> 5 Then
|
|
'----------------------------------------
|
|
Exit Sub ' Wenn Grenzstelle leer / ??? --> Keine MAIL!
|
|
'If GrenzstelleMail = "" Then GrenzstelleMail = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
|
|
End If
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" Then GrenzstelleMail = "FO"
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED" Then GrenzstelleMail = "UNI"
|
|
|
|
If GrenzstelleMail <> "" Then
|
|
Dim Standort As New cStandort
|
|
|
|
Standort = Standorte.LesenStandort(0, GrenzstelleMail, "")
|
|
|
|
If Not IsNothing(Standort) Then
|
|
Select Case art
|
|
Case 1, 3
|
|
If Standort.eMail_Ankunft_Betreff <> "" Then
|
|
hBetreff = Standort.eMail_Ankunft_Betreff
|
|
hBody = Standort.eMail_Ankunft_Text
|
|
End If
|
|
Case 2, 4
|
|
If Standort.eMail_Freigabe_Betreff <> "" Then
|
|
hBetreff = Standort.eMail_Freigabe_Betreff
|
|
hBody = Standort.eMail_Freigabe_Text
|
|
End If
|
|
Case 5
|
|
If Standort.eMail_Status_Betreff <> "" Then
|
|
hBetreff = Standort.eMail_Status_Betreff
|
|
hBody = Standort.eMail_Status_Text
|
|
End If
|
|
End Select
|
|
End If
|
|
|
|
End If
|
|
|
|
Dim anhaenge As New List(Of String)
|
|
hBetreff = Platzhalter_ersetzen(hBetreff, AVISO.LKW_Nr, AVISO.Grenzstelle, AVISO.AvisoId, 0, AVISO, KundenNr, anhaenge, artKunde) ' art 0 damit nicht beim betreff auch die DY-Daten durchsuht werden und die Sendungsliste erstellt wird.
|
|
hBody = Platzhalter_ersetzen(hBody, AVISO.LKW_Nr, AVISO.Grenzstelle, AVISO.AvisoId, art, AVISO, KundenNr, anhaenge, artKunde)
|
|
|
|
|
|
hBody = hBody.Replace("%0", "<br>")
|
|
|
|
hBody = hBody.Replace("%Firma", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) ' gibts noch nicht!
|
|
|
|
'Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA '= "IMEX"
|
|
' Case "VERAG"
|
|
' Case "UNISPED"
|
|
' hBody = hBody.Replace("VERAG", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) 'hier der Ersatz
|
|
'End Select
|
|
|
|
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_STATUSMAIL, art,,, KundenNr, AVISO.AvisoId)
|
|
|
|
API.api_EMail = EMails
|
|
API.api_EMailCC = EMails_CC
|
|
API.api_EMailBCC = EMails_BCC
|
|
API.api_EMailSubject = hBetreff
|
|
API.api_EMailText = hBody
|
|
API.api_EMailAttCnt = anhaenge.Count
|
|
|
|
|
|
If ForceMail <> "" Then
|
|
Dim mailsTXT = ""
|
|
mailsTXT &= "TO: " & EMails & "<br>"
|
|
mailsTXT &= "CC: " & EMails_CC & "<br>"
|
|
mailsTXT &= "BCC: " & EMails_BCC & "<br><br>"
|
|
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(ForceMail, hBetreff, mailsTXT & hBody, VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.getAbsenderEmail(), False, False, "", "", anhaenge, art) Then
|
|
API.UPDTAE_OK()
|
|
Else
|
|
API.UPDTAE_ERR()
|
|
End If
|
|
|
|
Else
|
|
|
|
|
|
EMails_BCC &= If(EMails_BCC <> "", ";", "") & VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.getBCCEmail() 'Damit Mails gespeichert werden.
|
|
|
|
Dim MailArt = ""
|
|
Select Case art
|
|
Case 1, 3 : MailArt = "Ankunft"
|
|
Case 2, 4 : MailArt = "Freigabe"
|
|
Case 5 : MailArt = "Status"
|
|
End Select
|
|
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(EMails, hBetreff, hBody, VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung.getAbsenderEmail(), False, False, EMails_CC, EMails_BCC, anhaenge, art) Then
|
|
API.UPDTAE_OK()
|
|
Dim txt = " E-Mail gesendet an: " & EMails
|
|
If EMails_CC.ToString.Trim <> "" Then txt &= " CC: " & EMails_CC
|
|
If EMails_BCC.ToString.Trim <> "" Then txt &= " BCC: " & EMails_BCC
|
|
|
|
AvisoStatusFunctions.insertVermerkAllg(AVISO.AvisoId, MailArt & txt, 46, , "(AUTO)")
|
|
|
|
Else
|
|
API.UPDTAE_ERR()
|
|
AvisoStatusFunctions.insertVermerkAllg(AVISO.AvisoId, "ERR: " & MailArt & " E-Mail konnte nicht gesendet werden!", 46, , "(AUTO)")
|
|
End If
|
|
End If
|
|
|
|
'OLD ----------------------------------
|
|
If False Then
|
|
Dim hMail As String = "mailto:" & EMails & "?subject=" & hBetreff
|
|
If EMails_CC.ToString.Trim <> "" Then hMail += "&CC=" & EMails_CC
|
|
If EMails_BCC.ToString.Trim <> "" Then hMail += "&BCC=" & EMails_BCC
|
|
If hBody <> "" Then hMail += "&Body=" & hBody
|
|
Try
|
|
System.Diagnostics.Process.Start(hMail)
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW, "Beim Mail-Versenden ist ein Fehler aufgetreten")
|
|
End Try
|
|
End If
|
|
' ----------------------------------
|
|
End If
|
|
End Sub
|
|
|
|
|
|
|
|
Public Function setVorbereitet(AvisoID) As Boolean
|
|
'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
' MsgBox("Keine Berechtigung!")
|
|
' Return False
|
|
'End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
' Taste VORBEREITET
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf VORBEREITET gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
|
|
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben Then
|
|
msg = "Dieses LKW-Aviso hat bereits den Status 'Vorgeschrieben'." & vbCrLf & vbCrLf &
|
|
"Soll es jetzt trotzdem auf VORBEREITET (zurück)gesetzt werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
'SQL.doSQL("UPDATE tblSendungen SET tblSnd_Vorgeschrieben=null WHERE tblSnd_Vorgeschrieben is not null AND tblSnd_AvisoID='" & AvisoID & "'", "AVISO")
|
|
|
|
End If
|
|
|
|
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
msg = "Dieses LKW-Aviso hat bereits den Status 'LKW nicht eingetroffen'." & vbCrLf & vbCrLf &
|
|
"Soll es jetzt trotzdem auf VORBEREITET (zurück)gesetzt werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf FREIGABE gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf VORBEREITET geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet
|
|
Aviso.Freigabe = LeerDatum
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Vorgeschrieben = LeerDatum
|
|
Aviso.Vorbereitet = Now
|
|
Aviso.Dauer = 0
|
|
Else
|
|
Aviso.Vorbereitet = Now
|
|
' Aviso.Grenzstelle = cGlobal.AktiverMitarbeiter.Grenzstelle
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf ANKUNFT gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf VORBEREITET geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet
|
|
Aviso.Freigabe = LeerDatum
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Vorgeschrieben = LeerDatum
|
|
Aviso.Vorbereitet = Now
|
|
Aviso.Dauer = 0
|
|
Else
|
|
Aviso.Vorbereitet = Now
|
|
' Aviso.Grenzstelle = cGlobal.AktiverMitarbeiter.Grenzstelle
|
|
End If
|
|
|
|
'Status ist offen - jetzt auf VORBEREITET setzen
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet
|
|
Aviso.Änderungen = "auf VORBEREITET gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf VORBEREITET gesetzt", "auf VORBEREITET gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
' SQL.doSQL("UPDATE tblSendungen SET tblSnd_Vorbereitet=getDate() WHERE tblSnd_Vorbereitet IS NULL AND tblSnd_AvisoID='" & AvisoID & "'", "AVISO")
|
|
|
|
If False Then
|
|
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, Aviso.AvisoID)
|
|
|
|
For Each s In SENDUNG_LIST
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(s.FilialenNr, False) = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Then
|
|
If s.tblSnd_Vorbereitet Is Nothing Then
|
|
s.tblSnd_Vorbereitet = Now
|
|
End If
|
|
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "" Then
|
|
'Else
|
|
' If s.tblSnd_VG_MA Is Nothing Then
|
|
' s.tblSnd_VG_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
' s.LetzterMitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
' s.LetzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
|
' End If
|
|
'End If
|
|
s.SAVE()
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
Public Function setAnINDONESIEN(AvisoID) As Boolean
|
|
'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
' MsgBox("Keine Berechtigung!")
|
|
' Return False
|
|
'End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_ATILLA_INDONESIEN Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf 'AN INDONESIEN' gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf FREIGABE gesetzt.")
|
|
Return False
|
|
End If
|
|
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
msg = "Dieses LKW-Aviso hat bereits den Status 'LKW nicht eingetroffen'." & vbCrLf & vbCrLf &
|
|
"Soll es jetzt trotzdem auf VORBEREITET (zurück)gesetzt werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
End If
|
|
|
|
|
|
'Status ist offen - jetzt auf 'AN INDONESIEN' setzen
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_ATILLA_INDONESIEN
|
|
Aviso.Änderungen = "auf 'AN INDONESIEN' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf 'AN INDONESIEN' gesetzt", "auf 'AN INDONESIEN' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
|
|
Public Function setAnVERIMEX(AvisoID) As Boolean
|
|
'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
' MsgBox("Keine Berechtigung!")
|
|
' Return False
|
|
'End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_ATILLA_VERIMEX Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf 'AN VERIMEX' gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf FREIGABE gesetzt.")
|
|
Return False
|
|
End If
|
|
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
msg = "Dieses LKW-Aviso hat bereits den Status 'LKW nicht eingetroffen'." & vbCrLf & vbCrLf &
|
|
"Soll es jetzt trotzdem auf VORBEREITET (zurück)gesetzt werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
End If
|
|
|
|
|
|
'Status ist offen - jetzt auf 'AN VERIMEX' setzen
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_ATILLA_VERIMEX
|
|
Aviso.Änderungen = "auf 'AN VERIMEX' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf 'AN VERIMEX' gesetzt", "auf 'AN VERIMEX' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
Public Function setVorgeschreiben(AvisoID) As Boolean
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
|
|
' Taste VORGESCHRIEBEN
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf VORGESCHRIEBEN gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
msg = "Dieses LKW-Aviso hat bereits den Status 'LKW nicht eingetroffen'." & vbCrLf & vbCrLf &
|
|
"Soll es jetzt trotzdem auf VORGESCHRIEBEN (zurück)gesetzt werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf FREIGABE gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf VORGESCHRIEBEN geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben
|
|
Aviso.Freigabe = LeerDatum
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Dauer = 0
|
|
Else
|
|
Aviso.Vorgeschrieben = Now
|
|
' Aviso.Grenzstelle = cGlobal.AktiverMitarbeiter.Grenzstelle
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf ANKUNFT gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf VORGESCHRIEBEN geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben
|
|
Aviso.Freigabe = LeerDatum
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Dauer = 0
|
|
Else
|
|
Aviso.Vorgeschrieben = Now
|
|
' Aviso.Grenzstelle = cGlobal.AktiverMitarbeiter.Grenzstelle
|
|
End If
|
|
|
|
'Status ist offen - jetzt auf VORGESCHRIEBEN setzen
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben
|
|
Aviso.Änderungen = "auf VORGESCHRIEBEN gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf VORGESCHRIEBEN gesetzt", "auf VORGESCHRIEBEN gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
|
|
'SQL.doSQL("UPDATE tblSendungen SET tblSnd_Vorgeschrieben=getDate() WHERE tblSnd_Vorgeschrieben IS NULL AND tblSnd_AvisoID='" & AvisoID & "'", "AVISO")
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "" Then
|
|
'Else
|
|
' SQL.doSQL("UPDATE tblSendungen SET tblSnd_VG_MA='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "',LetzterMitarbeiterId='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "',LetzterMitarbeiter='" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "' WHERE tblSnd_VG_MA IS NULL AND tblSnd_AvisoID='" & AvisoID & "'", "AVISO")
|
|
'End If
|
|
|
|
If False Then
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, Aviso.AvisoID)
|
|
|
|
For Each s In SENDUNG_LIST
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER OrElse VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(s.FilialenNr, False) = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Then
|
|
If s.tblSnd_Vorgeschrieben Is Nothing Then
|
|
s.tblSnd_Vorgeschrieben = Now
|
|
End If
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "" Then
|
|
Else
|
|
If s.tblSnd_VG_MA Is Nothing Then
|
|
s.tblSnd_VG_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
s.LetzterMitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
s.LetzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
|
End If
|
|
End If
|
|
s.SAVE()
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
vermerkVorgeschreiben(AvisoID)
|
|
'Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
' Case "VERAG", "ATILLA"
|
|
|
|
' Dim frmInsertVermerkFach As New frmInsertVermerkFach(Aviso.AvisoID)
|
|
' frmInsertVermerkFach.ShowDialog()
|
|
|
|
' 'Case "IMEX"
|
|
' ' Dim frmInsertVermerkFach As New frmInsertVermerkFachIMEX(Aviso.AvisoID)
|
|
' ' frmInsertVermerkFach.ShowDialog()
|
|
'End Select
|
|
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
|
|
Sub vermerkVorgeschreiben(AvisoID)
|
|
Dim VermerkeDAL As New cVermerkeDAL
|
|
Dim myVermerk As New cVermerk
|
|
myVermerk.AvisoID = AvisoID
|
|
myVermerk.Datum = Now
|
|
myVermerk.Mitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter : myVermerk.MitarbeiterId = cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
myVermerk.Hinweis_Vermerk = "Akt vorgeschrieben" : myVermerk.VermerkCodeId = 35
|
|
VermerkeDAL.SpeichernVermerk(myVermerk)
|
|
|
|
End Sub
|
|
|
|
|
|
Public Function setErfasst(AvisoID) As Boolean
|
|
|
|
' If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("STATUS_Erfasst", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
'Taste ERFASST
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits freigegeben.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf 'LKW nicht eingetroffen' gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf ERFASST gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
Dim tmpid = -1
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf VORBEREITET gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf ERFASST geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Vorbereitet = LeerDatum
|
|
Aviso.Vorgeschrieben = LeerDatum
|
|
Aviso.Änderungen = "auf ERFASST gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf ERFASST gesetzt", "auf ERFASST gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf VORGESCHRIEBEN gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf ERFASST geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Vorbereitet = LeerDatum
|
|
Aviso.Vorgeschrieben = LeerDatum
|
|
Aviso.Änderungen = "auf ERFASST gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf ERFASST gesetzt", "auf ERFASST gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
msg = "Dieses LKW-Aviso ist bereits auf ANKUNFT gesetzt." & vbCrLf & vbCrLf &
|
|
"Soll der Status wieder auf ERFASST geändert werden?"
|
|
antwort = MsgBox(msg, CType(MsgBoxStyle.YesNo + MsgBoxStyle.DefaultButton2 + MsgBoxStyle.Question, MsgBoxStyle),
|
|
"Status-Änderung")
|
|
If antwort = vbNo Then Return False
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst
|
|
Aviso.Ankunft = LeerDatum
|
|
Aviso.Vorbereitet = LeerDatum
|
|
Aviso.Vorgeschrieben = LeerDatum
|
|
Aviso.Änderungen = "auf ERFASST gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf ERFASST gesetzt", "auf ERFASST gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
Public Function setAbgeschlossen(AvisoID As Integer, value As Boolean) As Boolean
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben Then
|
|
'Prüfung
|
|
If False Then
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then
|
|
' If value Then
|
|
' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
' If SQL.getValueTxtBySql("SELECT isnull(count(*),0) FROM Speditionsbuch WHERE AvisoID=" & AvisoID, "FMZOLL") = 0 Then
|
|
' If vbYes <> MsgBox("Keine Speditionbucheinträge vorhanden!" & vbNewLine & vbNewLine & "Möchten Sie trotzdem fortfahren?", vbYesNoCancel) Then
|
|
' Return False
|
|
' End If
|
|
' End If
|
|
|
|
' Aviso.Abgeschlossen = value
|
|
' AvisoDAL.SpeichernAviso(Aviso)
|
|
' AvisoDAL.addAenderung(AvisoID, "AKT abgeschlossen", "auf 'AKT ABGESCHLOSSEN' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
' Else
|
|
' Aviso.Abgeschlossen = value
|
|
' AvisoDAL.SpeichernAviso(Aviso)
|
|
' AvisoDAL.addAenderung(AvisoID, "AKT erneut geöffnet", "auf 'AKT OFFEN' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
' End If
|
|
Else
|
|
If value Then
|
|
For Each r In AvisoDAL.loadDataTableBySQL("SELECT tblSnd_SpeditionsbuchEingetragen FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoID & " AND [tblSnd_Fremdspedition]=0").Rows
|
|
If Not CBool(r(0)) Then
|
|
MsgBox("Sie müssen erst alle Sendungen ins Speditionsbuch eintragen!")
|
|
Return False
|
|
End If
|
|
Next
|
|
Aviso.Abgeschlossen = value
|
|
AvisoDAL.SpeichernAviso(Aviso)
|
|
|
|
'--> Nicht mehr benötigt, alte Archiv Software IMEX
|
|
'Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
' Case "IMEX" : createNLC(Aviso)
|
|
'End Select
|
|
|
|
AvisoDAL.addAenderung(AvisoID, "AKT abgeschlossen", "auf 'AKT ABGESCHLOSSEN' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
'Benachrichtigungen erledigen
|
|
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.BESTAETIGEN_BENACHRICHTIGUNG_ALL(Aviso.AvisoID, False)
|
|
Else
|
|
Aviso.Abgeschlossen = value
|
|
AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(AvisoID, "AKT erneut geöffnet", "auf 'AKT OFFEN' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
End If
|
|
|
|
|
|
Return True
|
|
Else
|
|
MsgBox("LKW-Status muss auf 'Freigegeben' sein.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
Return True
|
|
End Function
|
|
|
|
|
|
|
|
Function createNLC(aviso As VERAG_PROG_ALLGEMEIN.cAviso) As Boolean
|
|
|
|
Dim haserror = True
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, aviso.AvisoID)
|
|
|
|
For Each s In SENDUNG_LIST
|
|
If Not createNLCSimple(aviso, s) Then haserror = False
|
|
Next
|
|
Return haserror
|
|
|
|
End Function
|
|
|
|
Function createNLCSimple(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen) As Boolean
|
|
|
|
Try
|
|
Dim resPath As String = System.IO.Path.GetFullPath(Application.StartupPath & "\Resources\")
|
|
|
|
Dim nlcString As String = My.Computer.FileSystem.ReadAllText(resPath & "\MUSTER.NLC", System.Text.Encoding.Default)
|
|
|
|
nlcString = nlcString.Replace("%Empfaenger%", SENDUNG.tblSnd_Empfaenger)
|
|
nlcString = nlcString.Replace("%Versender%", SENDUNG.tblSnd_Absender)
|
|
nlcString = nlcString.Replace("%Fraechter%", AVISO.Frächter)
|
|
nlcString = nlcString.Replace("%Auftraggeber%", SENDUNG.tblSnd_Auftraggeber)
|
|
nlcString = nlcString.Replace("%AvisNr%", AVISO.AvisoID)
|
|
nlcString = nlcString.Replace("%LKWKennzeichen%", AVISO.LKW_Nr)
|
|
If AVISO.Ankunft > CDate("01.01.2001") Then nlcString = nlcString.Replace("%Ankunft%", AVISO.Ankunft)
|
|
If AVISO.Freigabe > CDate("01.01.2001") Then nlcString = nlcString.Replace("%Datum%", AVISO.Freigabe.ToShortDateString)
|
|
nlcString = nlcString.Replace("%PosNr%", SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr)
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
My.Computer.FileSystem.WriteAllText("C:\Temp\" & SENDUNG.FilialenNr & "_" & SENDUNG.AbfertigungsNr & ".nlc", nlcString, False)
|
|
Else
|
|
My.Computer.FileSystem.WriteAllText("\\192.168.1.20\daten\PronobisApps\JobExtender\Jobs\UpdIdx_Abfertigung\" & SENDUNG.FilialenNr & "_" & SENDUNG.AbfertigungsNr & ".nlc", nlcString, False)
|
|
End If
|
|
|
|
Console.ReadLine()
|
|
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Public Function setNichtEingeftroffen(AvisoID, Optional geloescht = False) As Boolean
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
'Taste NICHT EINGETROFFEN
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits freigegeben.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf 'LKW nicht eingetroffen' gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf ANKUNFT gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
Dim tmpid = -1
|
|
' If Aviso.Status = VERAG_PROG_ALLGEMEIN.cglobal.Status_Erfasst Then
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
|
|
If geloescht Then
|
|
Aviso.Änderungen = "auf 'Gelöscht' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
AvisoDAL.addAenderung(tmpid, "auf 'Gelöscht' gesetzt", "auf 'Gelöscht' gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
Else
|
|
Aviso.Änderungen = "auf LKW nicht eingetroffen gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
AvisoDAL.addAenderung(tmpid, "auf LKW nicht eingetroffen gesetzt", "auf LKW nicht eingetroffen gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
|
|
' End If
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
Public Function setFreigabe(AvisoID As Integer, CONTROL As Control, Optional allowEveryState As Boolean = False) As Boolean
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
|
|
'Prüfung kassieren:
|
|
Dim CURRENT_INDEX = -1
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, CURRENT_INDEX, AvisoID)
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim zuKassieren As Double = 0
|
|
Dim belegVorhanden As Boolean = True
|
|
Dim found As Boolean = False
|
|
'Dim zuKassBelege As String = ""
|
|
For Each S In SENDUNG_LIST 'LÄDT alle SENDUNGSDATEN
|
|
If If(S.tblSnd_BARzuKassieren, 0) > 0 Then
|
|
zuKassieren += S.tblSnd_BARzuKassieren
|
|
If S.FilialenNr > 0 And S.AbfertigungsNr > 0 Then
|
|
Try
|
|
If SQL.getValueTxtBySql("SELECT Count(*) FROM [tblEABelegnummer] as b INNER JOIN [tblEABelegposition] as p ON (b.BelegNr = p.BelegNr AND b.BelegDat = p.BelegDat AND b.Benutzer = p.Benutzer AND b.Niederlassung = p.Niederlassung AND b.Mandant = p.Mandant) where ((b.AbfertigungsNr='" & S.AbfertigungsNr & "' and b.FilialenNr='" & S.FilialenNr & "') or (p.AbfertigungsNr='" & S.AbfertigungsNr & "' and p.FilialenNr='" & S.FilialenNr & "')) and storniert=0 and gebuchtstorno=0 ", "FMZOLL") > 0 Then
|
|
found = True
|
|
Else
|
|
belegVorhanden = False
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
End If
|
|
End If
|
|
Next
|
|
If zuKassieren > 0 Then
|
|
If Not found Or Not belegVorhanden Then
|
|
If vbYes <> MsgBox("BAR-Beleg fehlt!" & vbNewLine & "Wurde der Betrag '" & zuKassieren.ToString("C2") & "' (Summe) bereits kassiert?", vbYesNoCancel, "Bar kassieren") Then
|
|
Return False
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
|
|
'Taste FREIGABE
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits freigegeben.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf 'LKW nicht eingetroffen' gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If allowEveryState = False And (Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Erfasst Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben) Then
|
|
MsgBox("Dieses LKW-Aviso wurde noch nicht auf ANKUNFT gesetzt und kann deshalb nicht auf FREIGABE gesetzt werden.", vbInformation)
|
|
Return False
|
|
End If
|
|
Dim tmpid = -1
|
|
'Status ist Ankunft - jetzt auf Freigabe setzen und Dauer berechnen
|
|
If allowEveryState Or Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
|
|
If Not setFreigabeMsg(Aviso) Then
|
|
Return False
|
|
End If
|
|
|
|
Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben
|
|
Aviso.Freigabe = Now
|
|
Aviso.Dauer = CInt(DateDiff(DateInterval.Minute, Aviso.Ankunft, Now))
|
|
If Aviso.Dauer = 0 Then Aviso.Dauer = 1 'Sonderfall, wenn Ankunft und Freigabe hintereinander gedrückt wird (z.b. vergessen)
|
|
Aviso.Änderungen = "auf FREIGABE gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
If Not Aviso.LKW_fertig Then
|
|
Aviso.LKW_fertig = True
|
|
Aviso.Änderungen = "LKW ist fertig - nicht gesetzt, deshalb automatisch gesetzt mit FREIGABE" & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
End If
|
|
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then
|
|
' If Aviso.Grenzstelle.Replace("???", "") <> "" Then
|
|
' If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "" Then Aviso.Grenzstelle = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
|
|
' End If
|
|
'End If
|
|
Aviso.FreigabeFiliale = VERAG_PROG_ALLGEMEIN.cAllgemein.getSTAMMFILIALE
|
|
|
|
'Speditionsbuch aktualisieren
|
|
SQL.doSQL("UPDATE Speditionsbuch SET FilialenNrHandling='" & VERAG_PROG_ALLGEMEIN.cAllgemein.getSTAMMFILIALE & "' WHERE AvisoId='" & Aviso.AvisoID & "'", "FMZOLL")
|
|
|
|
tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "auf FREIGABE gesetzt", "auf FREIGABE gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
If Not Aviso.LKW_fertig Then
|
|
AvisoDAL.addAenderung(tmpid, "LKW ist fertig - nicht gesetzt", "LKW ist fertig - nicht gesetzt, deshalb automatisch gesetzt mit FREIGABE")
|
|
End If
|
|
|
|
|
|
'Wenn DE oder AT Zoll eingereicht -> automatisch fertigstellen XXXXXXXXXX
|
|
' MsgBox(AvisoDAL.VermerkExistsInAvisoByID(Aviso.AvisoID, 17))
|
|
If AvisoDAL.VermerkExistsInAvisoByID(Aviso.AvisoID, 17) Then
|
|
' MsgBox(AvisoDAL.VermerkExistsInAvisoByID(Aviso.AvisoID, 18))
|
|
If Not AvisoDAL.VermerkExistsInAvisoByID(Aviso.AvisoID, 18) Then
|
|
Dim myVermerk As New cVermerk
|
|
myVermerk.AvisoID = Aviso.AvisoID : myVermerk.Datum = Now
|
|
myVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter : myVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
myVermerk.Hinweis_Vermerk = "DE Zoll fertig" : myVermerk.VermerkCodeId = 18
|
|
VermerkeDAL.SpeichernVermerk(myVermerk)
|
|
End If
|
|
End If
|
|
If AvisoDAL.VermerkExistsInAvisoByID(Aviso.AvisoID, 19) Then
|
|
If Not AvisoDAL.VermerkExistsInAvisoByID(Aviso.AvisoID, 20) Then
|
|
Dim myVermerk As New cVermerk
|
|
myVermerk.AvisoID = Aviso.AvisoID : myVermerk.Datum = Now
|
|
myVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter : myVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
myVermerk.Hinweis_Vermerk = "AT Zoll fertig" : myVermerk.VermerkCodeId = 20
|
|
VermerkeDAL.SpeichernVermerk(myVermerk)
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
'nach dem erfolgreichem Speichern wird jetzt noch ein automatisches Mail für den Frächter und Auftraggeber erstellt
|
|
|
|
SendFreigabeEmail(Aviso)
|
|
|
|
VERAG_PROG_ALLGEMEIN.cMessenger.SET_LKWCHAT_INAKTIV(Aviso.AvisoID)
|
|
|
|
If True Then
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("AUTONACHERFASSUNG", CONTROL.FindForm) Then
|
|
Dim doAutoNacherf = True ' (vbYes = MsgBox("Autonacherfassung durchführen?", vbYesNoCancel))
|
|
If doAutoNacherf Then
|
|
AUTONACHERFASSUNG(CONTROL, AvisoID)
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
End If
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
Function setFreigabeMsg(AVISO As VERAG_PROG_ALLGEMEIN.cAviso) As Boolean
|
|
|
|
Dim text = ""
|
|
Dim text_Freigabe = ""
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "ATILLA"
|
|
'Case "VERAG", "IMEX", "IMEX", "IMEX"
|
|
Case Else
|
|
Try
|
|
If IsNumeric(AVISO.Auftraggeber_KdNr) Then
|
|
Dim cADMIN As New cADMIN
|
|
text = cADMIN.getValueTxtBySql("SELECT DokumenteLKWFreigabe FROM Kunden WHERE KundenNr=" & AVISO.Auftraggeber_KdNr, "FMZOLL")
|
|
End If
|
|
Catch ex As Exception
|
|
End Try
|
|
End Select
|
|
|
|
If AVISO.Freigabe_Info <> "" Then
|
|
text_Freigabe &= AVISO.Freigabe_Info
|
|
End If
|
|
|
|
If True Then ' If text <> "" Or text_Freigabe <> "" Then
|
|
|
|
Dim f As New frmFreigabeSetzen(AVISO)
|
|
f.rtbDokumente.Text = text
|
|
f.rtbSonstigeInfo.Text = text_Freigabe
|
|
If AVISO.Grenzstelle = "SUB" Then ' Nur in Suben!
|
|
f.cbxInfoblattFurDigitalabfertigungDrucken.Checked = (SQL.DLookup("COUNT(*)", "Vermerke", " AvisoID=" & AVISO.AvisoID & " and VermerkeCode=82", "AVISO", 0) > 0)
|
|
End If
|
|
|
|
If f.ShowDialog() = DialogResult.Cancel Then
|
|
Return False
|
|
End If
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
|
|
Shared Sub printFinish(myAviso As VERAG_PROG_ALLGEMEIN.cAviso)
|
|
Try
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("PRINT_Freigabe_FinishDigital") Then
|
|
If myAviso.Grenzstelle = "SUB" Then ' Nur in Suben!
|
|
If (SQL.DLookup("COUNT(*)", "Vermerke", " AvisoID=" & myAviso.AvisoID & " and VermerkeCode=82", "AVISO", 0) > 0) Then
|
|
Dim path = SDL.FormularManagerNEU.Finish_AVISO(myAviso)
|
|
Dim oPS As New System.Drawing.Printing.PrinterSettings
|
|
If path <> "" Then
|
|
VERAG_PROG_ALLGEMEIN.cFormularManager.PrintViaGS(path, oPS.PrinterName)
|
|
MsgBox("Finish-Zettel wird gedruckt!")
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Public Sub AUTONACHERFASSUNG(CONTROL As Control, AvisoID As Integer)
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Exit Sub
|
|
End If
|
|
Dim ZOLL_IMPORT As New DAKOSY_Worker.cZOLL_IMPORT
|
|
|
|
Try
|
|
CONTROL.FindForm.Cursor = Cursors.WaitCursor
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
For Each r In AvisoDAL.loadDataTableBySQL("SELECT tblSnd_SendungID FROM tblSendungen WHERE tblSnd_AvisoID=" & AvisoID).Rows
|
|
SENDUNG_LIST.Add(New VERAG_PROG_ALLGEMEIN.cSendungen(r("tblSnd_SendungID")))
|
|
Next
|
|
|
|
For Each s In SENDUNG_LIST
|
|
If s.tblSnd_Abfertigungsart_ID = 23 Then
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_FMZollPersID Then
|
|
Dim Personalnummer = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_FMZollPersID
|
|
|
|
Dim SPEDITIONSBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(s.FilialenNr, s.AbfertigungsNr)
|
|
If Not SPEDITIONSBUCH.hasEntry Then
|
|
|
|
Dim notFound As Boolean = True
|
|
|
|
SPEDITIONSBUCH = ZOLL_IMPORT.IMPORT(SPEDITIONSBUCH, AvisoID, s.tblSnd_SendungID, "", "", "", "", "", notFound, True, Personalnummer)
|
|
|
|
If ZOLL_IMPORT.checkIfAutoOK Then
|
|
If SPEDITIONSBUCH.SAVE() Then
|
|
s.tblSnd_SpeditionsbuchEingetragen = 1
|
|
s.SAVE()
|
|
End If
|
|
End If
|
|
Else
|
|
Dim SPEDBUCH_LIST As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuchList(s.FilialenNr, s.AbfertigungsNr) 'Liste laden, falls merhrere Einträge
|
|
If SPEDBUCH_LIST IsNot Nothing AndAlso SPEDBUCH_LIST.LIST IsNot Nothing Then
|
|
For Each SB In SPEDBUCH_LIST.LIST
|
|
If Not SPEDITIONSBUCH.Bar Then
|
|
ZOLL_IMPORT.SetBarKassiert(SB) ' BAR-Häckchen setzen, wenn kassiert wurde! (durch auto-Nacherfassung of nicht gesetzt)
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
|
|
End If
|
|
'If ZOLL_IMPORT.AUTO_IMPORT(s.tblSnd_SendungID) Then
|
|
' s.tblSnd_SpeditionsbuchEingetragen = 1
|
|
' s.SAVE()
|
|
'End If
|
|
End If
|
|
End If
|
|
Next
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
CONTROL.FindForm.Cursor = Cursors.Default
|
|
End Sub
|
|
Public Function AktUebernehmen(AvisoID, Optional askSendungenUebernehmen = False, Optional checkStatus = True, Optional nurLeereSendungenUebernehmen = False) As Boolean
|
|
|
|
'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
' MsgBox("Keine Berechtigung!")
|
|
' Return False
|
|
'End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
|
|
If checkStatus Then
|
|
|
|
'Taste Akt übernehmen
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits freigegeben.", vbInformation)
|
|
Return False
|
|
End If
|
|
|
|
If Aviso.Status = VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen Then
|
|
MsgBox("Dieses LKW-Aviso ist bereits auf 'LKW nicht eingetroffen' gesetzt.", vbInformation)
|
|
Return False
|
|
End If
|
|
End If
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then
|
|
Aviso.Buero = VERAG_PROG_ALLGEMEIN.cAllgemein.BÜRO
|
|
End If
|
|
'Status ist Ankunft, Vorbereitet, Vorgeschrieben oder Erfasst - aktiver Mitarbeiter wird geändert
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then
|
|
' If Aviso.Grenzstelle.Replace("???", "") <> "" Then
|
|
' If VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG <> "" Then Aviso.Grenzstelle = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
|
|
' End If
|
|
'End If
|
|
|
|
Aviso.Änderungen = "Akt übernommen von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, "Akt übernommen", "Akt übernommen von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
'Benachrichtigungen erledigen 'nicht mehr, 16.07.2020
|
|
'VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.BESTAETIGEN_BENACHRICHTIGUNG_ALL(Aviso.AvisoID, True)
|
|
|
|
|
|
If askSendungenUebernehmen Or nurLeereSendungenUebernehmen Then
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, AvisoID) 'LÄDT alle SENDUNGSDATEN
|
|
|
|
If nurLeereSendungenUebernehmen Then
|
|
For Each s In SENDUNG_LIST
|
|
If s.LetzterMitarbeiterId Is Nothing OrElse CInt(s.LetzterMitarbeiterId) <= 0 Then
|
|
SendungUebernehmen(s.tblSnd_SendungID, AvisoID)
|
|
End If
|
|
Next
|
|
Else
|
|
Dim alleAkten = False
|
|
If askSendungenUebernehmen Then
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER Then
|
|
For Each s1 In SENDUNG_LIST
|
|
If s1.LetzterMitarbeiterId IsNot Nothing AndAlso s1.LetzterMitarbeiterId <> VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Then
|
|
Select Case MsgBox("Möchten Sie alle Sendungen übernehmen?", vbYesNoCancel)
|
|
Case vbYes : alleAkten = True
|
|
Case vbCancel : Return False
|
|
End Select
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
If alleAkten Then
|
|
For Each s In SENDUNG_LIST
|
|
' If s.LetzterMitarbeiterId IsNot Nothing Then
|
|
SendungUebernehmen(s.tblSnd_SendungID, AvisoID)
|
|
' End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
Try
|
|
If frmHauptfenster.pnlDetailsRechts.Controls.Count > 0 Then
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAviso.getFirmaByAvisoId(AvisoID)
|
|
'Case "VERAG"
|
|
' If DirectCast(frmHauptfenster.pnlDetailsRechts.Controls(0), usrcntlAktDetails).AvisoID = AvisoID Then
|
|
' DirectCast(frmHauptfenster.pnlDetailsRechts.Controls(0), usrcntlAktDetails).showInfo("Akt übernommen", 2)
|
|
' End If
|
|
Case "ATILLA"
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.ATILLA_SND Then
|
|
|
|
GoTo ELSE_ATILLA
|
|
|
|
Else
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Or VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DAKOSY", "AVISO") Then
|
|
If DirectCast(frmHauptfenster.pnlDetailsRechts.Controls(0), usrcntlAktDetailsATILLANeu).AvisoID = AvisoID Then
|
|
DirectCast(frmHauptfenster.pnlDetailsRechts.Controls(0), usrcntlAktDetailsATILLANeu).showInfo("Akt übernommen", 2)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
Case Else
|
|
ELSE_ATILLA:
|
|
If DirectCast(frmHauptfenster.pnlDetailsRechts.Controls(0), usrcntlAktDetails).AvisoID = AvisoID Then
|
|
DirectCast(frmHauptfenster.pnlDetailsRechts.Controls(0), usrcntlAktDetails).showInfo("Akt übernommen", 2)
|
|
End If
|
|
|
|
End Select
|
|
End If
|
|
Catch ex As Exception
|
|
'MsgBox(ex.Message)
|
|
End Try
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
|
|
|
|
Public Function AktUebernehmen_Zuruecksetzen(AvisoID As Integer, Optional WeiterleitungTextTV As String = "", Optional letzterMitarbeiter As String = "Weiterleitung") As Boolean
|
|
Try
|
|
|
|
'If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
' MsgBox("Keine Berechtigung!")
|
|
' Return False
|
|
'End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
|
|
|
|
Aviso.LetzterMitarbeiterId = -1
|
|
Aviso.letzterMitarbeiter = letzterMitarbeiter ' VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.WeiterleitungTextTV = WeiterleitungTextTV ' VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
|
|
Aviso.TeamId = -1 'VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
|
|
'Aviso.Änderungen = "Akt übernommen von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
'Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
'AvisoDAL.addAenderung(tmpid, "Akt übernommen", "Akt übernommen von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, AvisoID) 'LÄDT alle SENDUNGSDATEN
|
|
|
|
AvisoDAL.SpeichernAviso(Aviso, False)
|
|
|
|
|
|
'Nicht MEHR!
|
|
'For Each s In SENDUNG_LIST
|
|
' ' If s.LetzterMitarbeiterId IsNot Nothing Then
|
|
' SendungUebernehmen_Zuruecksetzen(s.tblSnd_SendungID, AvisoID)
|
|
' ' End If
|
|
'Next
|
|
|
|
|
|
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return False
|
|
End Try
|
|
|
|
|
|
End Function
|
|
|
|
Public Function SendungUebernehmen(SendungsId As Integer, AvisoID As Integer, Optional MaId As Integer = -1, Optional GesendetAn As Boolean = False) As Boolean
|
|
|
|
'If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
' If AvisoID Is Nothing Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
Return SendungUebernehmen(SENDUNG_TMP, MaId, GesendetAn)
|
|
End Function
|
|
|
|
Public Function SendungUebernehmen(ByRef SENDUNG_TMP As VERAG_PROG_ALLGEMEIN.cSendungen, Optional MaId As Integer = -1, Optional GesendetAn As Boolean = False) As Boolean
|
|
Dim MITARBEITER As cMitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER
|
|
If MaId > 0 Then
|
|
MITARBEITER = New cMitarbeiter(MaId)
|
|
End If
|
|
|
|
If SENDUNG_TMP Is Nothing Then Return False
|
|
Dim saveSachbearbeiterTmp = SENDUNG_TMP.saveSachbearbeiter
|
|
SENDUNG_TMP.saveSachbearbeiter = True
|
|
SENDUNG_TMP.LetzterMitarbeiterId = MITARBEITER.mit_id
|
|
SENDUNG_TMP.LetzterMitarbeiter = MITARBEITER.Fullname
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER Then ' nur, wenn BO, dann darf das Team geändert werden... Damit das zuständige Team nachvollzeiehn kann, was mit dem LKW ist...
|
|
SENDUNG_TMP.tblSnd_TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
End If
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
|
|
If (SENDUNG_TMP.tblSnd_QS_MA Is Nothing OrElse SENDUNG_TMP.tblSnd_QS_MA <= 0) Then SENDUNG_TMP.tblSnd_QS_MA = MITARBEITER.mit_id
|
|
Else
|
|
If (SENDUNG_TMP.tblSnd_VG_MA Is Nothing OrElse SENDUNG_TMP.tblSnd_VG_MA <= 0) Then SENDUNG_TMP.tblSnd_VG_MA = MITARBEITER.mit_id
|
|
End If
|
|
|
|
If SENDUNG_TMP.SAVE() Then
|
|
AvisoDAL.addAenderung(SENDUNG_TMP.tblSnd_AvisoID, "Sendung übernommen", "Sendung Nr. " & SENDUNG_TMP.tblSnd_PosUnterNr & If(GesendetAn, " gesendet an ", " übernommen von ") & MITARBEITER.Fullname & " am " & Format(Now, "dd.MM.yyyy HH:mm") & If(GesendetAn, " (von " & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname & ")", ""))
|
|
SENDUNG_TMP.saveSachbearbeiter = saveSachbearbeiterTmp
|
|
|
|
'Benachrichtigungen erledigen 'nicht mehr, 16.07.2020
|
|
' VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.BESTAETIGEN_BENACHRICHTIGUNG_SND(SENDUNG_TMP.tblSnd_SendungID, True)
|
|
|
|
Return True
|
|
End If
|
|
SENDUNG_TMP.saveSachbearbeiter = saveSachbearbeiterTmp
|
|
Return False
|
|
End Function
|
|
|
|
Public Function SendungUebernehmen_Zuruecksetzen(SendungsId As Integer, AvisoID As Integer) As Boolean
|
|
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
Return SendungUebernehmen_Zuruecksetzen(SENDUNG_TMP)
|
|
End Function
|
|
Public Function SendungUebernehmen_Zuruecksetzen(ByRef SENDUNG_TMP As VERAG_PROG_ALLGEMEIN.cSendungen) As Boolean
|
|
|
|
|
|
If SENDUNG_TMP Is Nothing Then Return False
|
|
Dim saveSachbearbeiterTmp = SENDUNG_TMP.saveSachbearbeiter
|
|
SENDUNG_TMP.saveSachbearbeiter = True
|
|
SENDUNG_TMP.LetzterMitarbeiterId = -1
|
|
SENDUNG_TMP.LetzterMitarbeiter = ""
|
|
SENDUNG_TMP.tblSnd_TeamId = -1
|
|
|
|
'If Not VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER Then ' nur, wenn BO, dann darf das Team geändert werden... Damit das zuständige Team nachvollzeiehn kann, was mit dem LKW ist...
|
|
' SENDUNG_TMP.tblSnd_TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
'End If
|
|
|
|
If SENDUNG_TMP.SAVE() Then
|
|
'AvisoDAL.addAenderung(SENDUNG_TMP.tblSnd_AvisoID, "Sendung übernommen", "Sendung Nr. " & SENDUNG_TMP.tblSnd_PosUnterNr & If(GesendetAn, " gesendet an ", " übernommen von ") & MITARBEITER.Fullname & " am " & Format(Now, "dd.MM.yyyy HH:mm") & If(GesendetAn, " (von " & VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.Fullname & ")", ""))
|
|
SENDUNG_TMP.saveSachbearbeiter = saveSachbearbeiterTmp
|
|
Return True
|
|
End If
|
|
SENDUNG_TMP.saveSachbearbeiter = saveSachbearbeiterTmp
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Public Function setSendungVorgeschrieben(SendungsId, AvisoID) As Boolean
|
|
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
If AvisoID Is Nothing Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
SENDUNG_TMP.saveSachbearbeiter = True
|
|
|
|
If SENDUNG_TMP.tblSnd_Vorgeschrieben Is Nothing Then
|
|
SENDUNG_TMP.tblSnd_VG_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERIMEX" Then
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId IsNot Nothing Then SENDUNG_TMP.tblSnd_TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
End If
|
|
SENDUNG_TMP.tblSnd_Vorgeschrieben = Now 'SENDUNG_TMP.tblSnd_Status=VERAG_PROG_ALLGEMEIN.vor ' Status macht keinen Sinn..
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf VORGESCHRIEBEN gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf VORGESCHRIEBEN gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("Kreditlimit_Check_SND_Vorgeschrieben", "AVISO") Then
|
|
frmSendungsdetailsNEU.checkKreditlimit_ID(frmHauptfenster, AvisoID, SendungsId, True, False) 'NOCH NICHT..
|
|
End If
|
|
Else
|
|
SENDUNG_TMP.tblSnd_Vorgeschrieben = Nothing
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf NICHT VORGESCHRIEBEN gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf NICHT VORGESCHRIEBEN gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
|
|
|
|
Return SENDUNG_TMP.SAVE()
|
|
|
|
End Function
|
|
|
|
Public Function setSendungVorbereitetQS(SendungsId, AvisoID) As Boolean
|
|
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
If AvisoID Is Nothing Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
SENDUNG_TMP.saveSachbearbeiter = True
|
|
|
|
If SENDUNG_TMP.tblSnd_Vorbereitet Is Nothing Then ' VB gesetzt!
|
|
SENDUNG_TMP.tblSnd_QS_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
SENDUNG_TMP.tblSnd_FilialeAbklaerung = VERAG_PROG_ALLGEMEIN.cAllgemein.getSTAMMFILIALE
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
|
|
' SENDUNG_TMP.tblSnd_QS_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
'End If
|
|
|
|
|
|
'Lt. Bespr. ML und TW (6.10.22) --> wenn VBQS gesetzt, soll MA leer sein:
|
|
SENDUNG_TMP.LetzterMitarbeiter = ""
|
|
SENDUNG_TMP.LetzterMitarbeiterId = -1
|
|
|
|
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "VERIMEX" Then
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId IsNot Nothing Then SENDUNG_TMP.tblSnd_TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
End If
|
|
SENDUNG_TMP.tblSnd_Vorbereitet = Now 'SENDUNG_TMP.tblSnd_Status=VERAG_PROG_ALLGEMEIN.vor ' Status macht keinen Sinn..
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf VORBEREITET gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf VORBEREITET gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
Else
|
|
SENDUNG_TMP.tblSnd_Vorbereitet = Nothing
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf NICHT VORBEREITET gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf NICHT VORBEREITET gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
Return SENDUNG_TMP.SAVE()
|
|
|
|
End Function
|
|
|
|
Public Function setSendungAbklaerungTR(SendungsId, AvisoID) As Boolean
|
|
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
If AvisoID Is Nothing Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
SENDUNG_TMP.saveSachbearbeiter = True
|
|
|
|
'If SENDUNG_TMP.tblSnd_Vorgeschrieben IsNot Nothing Then
|
|
' MsgBox("Sendung wurde bereits auf 'Vorgeschrieben' gesetzt - Status nicht mehr möglich!")
|
|
' Return False
|
|
'End If
|
|
'If SENDUNG_TMP.tblSnd_Vorbereitet IsNot Nothing Then
|
|
' MsgBox("Sendung wurde bereits auf 'QS Vorbereitet' gesetzt - Status nicht mehr möglich!")
|
|
' Return False
|
|
'End If
|
|
|
|
|
|
If SENDUNG_TMP.tblSnd_AbklaerungTR Is Nothing Then
|
|
SENDUNG_TMP.tblSnd_AbklaerungTR_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
SENDUNG_TMP.tblSnd_FilialeAbklaerung = VERAG_PROG_ALLGEMEIN.cAllgemein.getSTAMMFILIALE
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
|
|
' SENDUNG_TMP.tblSnd_QS_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
'End If
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId IsNot Nothing Then SENDUNG_TMP.tblSnd_TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
SENDUNG_TMP.tblSnd_AbklaerungTR = Now 'SENDUNG_TMP.tblSnd_Status=VERAG_PROG_ALLGEMEIN.vor ' Status macht keinen Sinn..
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf ABGEKLÄRT (TR) gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf ABGEKLÄRT (TR) gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
Else
|
|
SENDUNG_TMP.tblSnd_AbklaerungTR = Nothing
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf NICHT ABGEKLÄRT (TR) gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf NICHT ABGEKLÄRT (TR) gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
Return SENDUNG_TMP.SAVE()
|
|
|
|
End Function
|
|
|
|
Public Function setSendungAbfertigungTR(SendungsId, AvisoID, Optional anzahl = 1, Optional anzahlPos = 1) As Boolean
|
|
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
If AvisoID Is Nothing Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
SENDUNG_TMP.saveSachbearbeiter = True
|
|
|
|
'If SENDUNG_TMP.tblSnd_Vorgeschrieben IsNot Nothing Then
|
|
' MsgBox("Sendung wurde bereits auf 'Vorgeschrieben' gesetzt - Status nicht mehr möglich!")
|
|
' Return False
|
|
'End If
|
|
'If SENDUNG_TMP.tblSnd_Vorbereitet IsNot Nothing Then
|
|
' MsgBox("Sendung wurde bereits auf 'QS Vorbereitet' gesetzt - Status nicht mehr möglich!")
|
|
' Return False
|
|
'End If
|
|
|
|
SENDUNG_TMP.tblSnd_AbfertigungTRAnzahl = anzahl
|
|
SENDUNG_TMP.tblSnd_AbfertigungTRAnzahlPos = anzahlPos
|
|
|
|
If SENDUNG_TMP.tblSnd_AbfertigungTR Is Nothing Then
|
|
SENDUNG_TMP.tblSnd_AbfertigungTR_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
'SENDUNG_TMP.tblSnd_FilialeAbfertigung = VERAG_PROG_ALLGEMEIN.cAllgemein.getSTAMMFILIALE
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
|
|
' SENDUNG_TMP.tblSnd_QS_MA = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
'End If
|
|
' If VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId IsNot Nothing Then SENDUNG_TMP.tblSnd_TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
|
|
SENDUNG_TMP.tblSnd_AbfertigungTR = Now 'SENDUNG_TMP.tblSnd_Status=VERAG_PROG_ALLGEMEIN.vor ' Status macht keinen Sinn..
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf ABGEFERTIGT (TR) gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf ABGEFERTIGT (TR) gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & "(Anz:" & SENDUNG_TMP.tblSnd_AbfertigungTRAnzahl & ", Pos:" & SENDUNG_TMP.tblSnd_AbfertigungTRAnzahlPos & ")")
|
|
Else
|
|
SENDUNG_TMP.tblSnd_AbfertigungTR = Nothing
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf NICHT ABGEFERTIGT (TR) gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf NICHT ABGEFERTIGT (TR) gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
Return SENDUNG_TMP.SAVE()
|
|
|
|
End Function
|
|
|
|
Public Function setSendungFakturiert(SendungsId, AvisoID) As Boolean
|
|
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(SendungsId) Then Return False
|
|
If AvisoID Is Nothing Then Return False
|
|
If Not IsNumeric(AvisoID) Then Return False
|
|
|
|
Dim SENDUNG_TMP = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungsId)
|
|
|
|
SENDUNG_TMP.saveSachbearbeiter = False
|
|
|
|
If SENDUNG_TMP.tblSnd_Fakturiert Is Nothing Then
|
|
|
|
SENDUNG_TMP.tblSnd_Fakturiert = Now 'SENDUNG_TMP.tblSnd_Status=VERAG_PROG_ALLGEMEIN.vor ' Status macht keinen Sinn..
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf FAKTURIERT gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf FAKTURIERT gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
Else
|
|
SENDUNG_TMP.tblSnd_Fakturiert = Nothing
|
|
AvisoDAL.addAenderung(AvisoID, "Sendung auf NICHT FAKTURIERT gesetzt", "Sendung '" & SENDUNG_TMP.tblSnd_PosUnterNr & " " & SENDUNG_TMP.tblSnd_Empfaenger & "' auf NICHT FAKTURIERT gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm"))
|
|
End If
|
|
Return SENDUNG_TMP.SAVE()
|
|
|
|
End Function
|
|
|
|
|
|
Public Function openSnd(sendId, AvisoID) As Form
|
|
Try
|
|
|
|
|
|
If sendId Is Nothing Then Return Nothing
|
|
If AvisoID Is Nothing Then Return Nothing
|
|
If sendId <= 0 Then Return Nothing
|
|
If AvisoID <= 0 Then Return Nothing
|
|
|
|
For Each openForm In Application.OpenForms()
|
|
If TypeOf (openForm) Is frmSendungsdetailsNEU Then
|
|
'MsgBox("Sendungsfenster bereits geöffnet!")
|
|
'CType(openForm, frmSendungsdetailsNEU).BringToFront()
|
|
'Return Nothing
|
|
CType(openForm, frmSendungsdetailsNEU).WindowState = FormWindowState.Minimized
|
|
CType(openForm, frmSendungsdetailsNEU).Close()
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
' Dim frmGrayOut = VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.grayoutForm()
|
|
Dim frmSendungsdetails As New frmSendungsdetailsNEU(AvisoID, sendId)
|
|
frmSendungsdetails.Show() 'Dialog() ' frmSendungsdetails.ShowDialog(frmGrayOut)
|
|
' frmGrayOut.Close()
|
|
Return frmSendungsdetails
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
'avisoAktualisierenAktiveIdBehalten(AvisoID)
|
|
|
|
|
|
' End Function
|
|
|
|
|
|
Shared Function getGrenzstelleZollstelle(hGrenzstelle As String, AVISO As VERAG_PROG_ALLGEMEIN.cAviso) As String
|
|
If hGrenzstelle.Replace("???", "") <> "" Then
|
|
Dim Standorte As New cStandorteDAL
|
|
Dim Standort As New cStandort
|
|
Standort = Standorte.LesenStandort(0, hGrenzstelle, "")
|
|
If Not IsNothing(Standort) Then
|
|
Return Standort.Standort_Text.Trim
|
|
End If
|
|
Else
|
|
If AVISO.Zollstelle IsNot Nothing AndAlso AVISO.Zollstelle.ToString <> "" Then
|
|
' hGrenzstelle = VERAGSQL.getValueTxtBySql("SELECT [basncd_name] FROM basncd WHERE basncd_dstnr='" & AVISO.Zollstelle & "' ", "ATLAS")
|
|
hGrenzstelle = VERAGSQL.getValueTxtBySql("SELECT [Description] FROM tbl_DY_ZollDE_C0141_Zollstellen WHERE Code='" & AVISO.Zollstelle & "' AND ((StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE())) order by left(Code,2), Description ", "FMZOLL")
|
|
|
|
End If
|
|
End If
|
|
|
|
Return hGrenzstelle.Replace("???", "")
|
|
End Function
|
|
|
|
|
|
Shared Function Platzhalter_ersetzen(hText As String, hLKW As String, hGrenzstelle As String, abfertigungsNr As String, art As String, AVISO As VERAG_PROG_ALLGEMEIN.cAviso, KundenNr As Integer, ByRef anhaenge As List(Of String), artKunde As String) As String
|
|
If hText = "" Then
|
|
Platzhalter_ersetzen = hText
|
|
Exit Function
|
|
End If
|
|
|
|
hText = hText.Replace("%LKW%", hLKW)
|
|
|
|
Select Case art
|
|
Case "5"
|
|
Dim linkAviso = "https://status.app.verag.ag/aviso-status/" & VERAG_PROG_ALLGEMEIN.cCryptography3.Encrypt(AVISO.AvisoID)
|
|
hText = hText.Replace("%Link%", "<div style=""border: 1px solid #333;width:300px;height:50px;background-color:#eee;color:#003680""><br> <a href=""" & linkAviso & """><b>Tracking shipment status<br></b></a></div>")
|
|
|
|
Case Else
|
|
|
|
|
|
'hier werden alle möglichen Platzhalter ersetzt
|
|
|
|
|
|
hText = hText.Replace("%Standort%", getGrenzstelleZollstelle(hGrenzstelle, AVISO))
|
|
hText = hText.Replace("%Uhrzeit%", Format(Now, "dd.MM.yyyy HH:mm"))
|
|
hText = hText.Replace("&", "und")
|
|
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX"
|
|
hText = hText.Replace("%Firma_simple%", "IMEX")
|
|
hText = hText.Replace("%Firma%", "IMEX Customs Service GmbH")
|
|
hText = hText.Replace("%Platzhalter2%", "<br><br><span style=""font-family: calibri;font-size:14px"">Freundliche Grüße / Saygilarimizla / Best Regards<br>
|
|
<b>IMEX Customs Service GmbH</b><br>
|
|
Abteilung: Zollabfertigung<br>
|
|
Tel.: +43 7711 31630<br>
|
|
Fax: +43 7711 31630 - 1<br>
|
|
Mail: <a href=""mailto:info@imex-group.at"">info@imex-group.at</a><br>
|
|
</span>")
|
|
Case "UNISPED"
|
|
hText = hText.Replace("%Firma_simple%", "UNISPED")
|
|
hText = hText.Replace("%Firma%", "UNISPED Speditions GmbH")
|
|
hText = hText.Replace("%Platzhalter2%", "<br><br><span style=""font-family: calibri;font-size:14px"">Freundliche Grüße / Saygilarimizla / Best Regards<br>
|
|
<b>UNISPED Speditions GmbH</b><br>
|
|
Abteilung: Zollabfertigung<br>
|
|
Tel.: +43 7711 2677-0<br>
|
|
Mail: <a href=""mailto:office@unisped.at"">office@unisped.at</a><br>
|
|
</span>")
|
|
Case "ATILLA"
|
|
|
|
hText = hText.Replace("%Firma_simple%", "ATILLA")
|
|
hText = hText.Replace("%Firma%", "ATILLA Spedition GmbH")
|
|
Case "AMBAR"
|
|
|
|
hText = hText.Replace("%Firma_simple%", "AMBAR")
|
|
hText = hText.Replace("%FirmaTR%", "<b>Ambar Logistic Bad Reichenhall</b>")
|
|
hText = hText.Replace("%Firma%", "<b>Ambar Logistic in Bad Reichenhall</b>")
|
|
Case Else
|
|
hText = hText.Replace("%Platzhalter2%", "")
|
|
|
|
hText = hText.Replace("%Firma_simple%", "VERAG")
|
|
hText = hText.Replace("%Firma%", "VERAG Spedition AG")
|
|
End Select
|
|
|
|
hText = hText.Replace("%AbfertigungsNr%", abfertigungsNr)
|
|
|
|
Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(KundenNr)
|
|
|
|
If (art = 2 Or art = 4) And (KUNDE_ERW.EmailFreigabeSendungsListe Or KUNDE_ERW.EmailFreigabe_VBDPDF Or KUNDE_ERW.EmailFreigabe_SteuerbescheidPDF) Then 'Freigabe
|
|
|
|
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, 0, AVISO.AvisoID) 'LÄDT alle SENDUNGSDATEN
|
|
If SENDUNG_LIST.Count > 0 Then
|
|
|
|
Dim SendungslistTXT = ""
|
|
SendungslistTXT &= "<span style=""font-family:calibri;font-size:14""><b>Sendungsliste:</b><br></span>"
|
|
SendungslistTXT &= "<table style=""font-family:calibri;font-size:18;background-color:#F2F8FE;padding:0;min-width:600px;"" border=""1"" bordercolor=""#003680"" cellspacing=""0"">"
|
|
|
|
'If VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER Then
|
|
' SendungslistTXT &= "<tr style=""font-size:18;min-width:180;font-weight: bolder""><td> Nr. </td><td>Spedition</td><td> PosNr </td><td> Art </td><td> Empfänger </td><td> ATC/MRN </td><td> Frist (T1/T2) </td></tr>"
|
|
'Else
|
|
' SendungslistTXT &= "<tr style=""font-size:18;min-width:180;font-weight: bolder""><td> Nr. </td><td> PosNr </td><td> Art </td><td> Empfänger </td><td> ATC/MRN </td><td> Frist (T1/T2) </td></tr>"
|
|
'End If
|
|
Dim showNCTSAdress = False
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("FREIGABEMAIL_T1Adresse") Then showNCTSAdress = True
|
|
SendungslistTXT &= "<tr style=""font-size:18;min-width:180;font-weight: bolder""><td> Nr. </td><td>Spedition</td><td> PosNr </td><td> Art </td><td> Empfänger </td><td> ATC/MRN </td><td> Frist (T1/T2) </td>" & If(showNCTSAdress, "<td> Gestellungsadresse (T1/T2) </td>", "") & "</tr>"
|
|
|
|
Dim cnt = 1
|
|
For Each s In SENDUNG_LIST
|
|
If s.tblSnd_Abfertigungsart_ID <> 9 And isKdInSendData(KUNDE_ERW, AVISO, s) Then
|
|
|
|
Dim AtcMrn = ""
|
|
Dim DsId = ""
|
|
Dim DsId2 = ""
|
|
Dim frist = ""
|
|
Dim gestellungsadresse = "<td><td/>"
|
|
Dim found = False
|
|
Select Case s.tblSnd_Abfertigungsart_ID
|
|
Case 5, 6, 18, 24, 32, 33, 34, 37, 40 'Versand
|
|
gestellungsadresse = "<td>" & s.getNCTSAdress(True, True, False) & "</td>"
|
|
|
|
|
|
|
|
getDataFronDY_NCTS(s.tblSnd_SendungID, AtcMrn, frist, DsId, s.FilialenNr, s.AbfertigungsNr, s.tblSnd_Abfertigungsart_ID, s.tblSnd_DakosyRef)
|
|
If KUNDE_ERW.EmailFreigabe_VBDPDF And IsNumeric(DsId) Then 'VBD anhängen
|
|
Try
|
|
Dim anhaengeVersand As New List(Of String)
|
|
Dim PathTmp = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(DsId)).GET_TOP1_PATH(False)
|
|
If PathTmp <> "" Then anhaengeVersand.Add(PathTmp) : found = True
|
|
|
|
'---------------------------------------------------------
|
|
'AMBAR: BEI T2 auch EXPORT_DOCS mitschicken! ' ------------------------'''Rechnung, CMR; Ausfuhr
|
|
'---------------------------------------------------------
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.PARAMS.GET_PARAMETER_VALUE_BOOL("FREIGABEMAIL_T2_ANHAENGER") Then '--> nur bei AMBAR gesetzt
|
|
Select Case s.tblSnd_Abfertigungsart_ID
|
|
Case 6, 18, 24, 32, 33, 34, 37, 40 'nur T2!!
|
|
Dim ANH_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge)
|
|
VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge.LOAD_LIST_BySendung(ANH_LIST, s.tblSnd_SendungID) 'LÄDT alle Aviso-Anhänge
|
|
For Each l In ANH_LIST
|
|
Select Case l.anh_Art.ToString.ToUpper
|
|
' Case "RECHNUNG", "CMR", "AUSFUHR", "COO", "PACKLISTE"
|
|
Case "EXPORT_DOCS"
|
|
Dim PathTmpANH = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(l.anh_docId)).GET_TOP1_PATH(False)
|
|
If PathTmpANH <> "" Then anhaengeVersand.Add(PathTmpANH) : found = True
|
|
End Select
|
|
Next
|
|
End Select
|
|
End If
|
|
'---------------------------------------------------------
|
|
|
|
If anhaengeVersand.Count = 1 Then
|
|
anhaenge.Add(anhaengeVersand(0)) 'Falls nur 1 Anhang
|
|
ElseIf anhaengeVersand.Count > 1 Then
|
|
'AMBAR: Zusammenfassen des T2 und der T2 Anhänge
|
|
Dim zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("T2_" & s.FilialenNr & "-" & s.AbfertigungsNr & ".pdf", ".pdf",, False, "Zusammenfassung_T2_AMB")
|
|
If SDL.FormularManagerNEU.MergePdfFiles(anhaengeVersand, zielPfadZusammenfassung) Then
|
|
anhaenge.Add(zielPfadZusammenfassung)
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
Catch ex As Exception : VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) : End Try
|
|
If Not found Then
|
|
AvisoStatusFunctions.insertSendungsVermerk(s.tblSnd_SendungID, AVISO.AvisoID, "ERR: VBD nicht gefunden: " & s.FilialenNr & "/" & s.AbfertigungsNr, 47)
|
|
'AvisoStatusFunctions.insertVermerkAllg(AVISO.AvisoID, "ERR: VBD nicht gefunden: " & s.FilialenNr & "/" & s.AbfertigungsNr, 46, , "(AUTO)")
|
|
MsgBox("ACHTUNG: Das Versandbegleitdokument konnte nicht automatisiert ermittelt werden." & vbNewLine & "Bitte dem Kunden das VBD per E-Mail zustellen!" & vbNewLine & vbNewLine & "Sendung: " & s.FilialenNr & "/" & s.AbfertigungsNr)
|
|
End If
|
|
End If
|
|
Case 7 'Ausfuhr
|
|
|
|
getDataFronDY_AES(s.tblSnd_SendungID, AtcMrn, DsId, s.FilialenNr, s.AbfertigungsNr, DsId2)
|
|
' MsgBox(DsId)
|
|
If KUNDE_ERW.EmailFreigabe_ABDPDF And IsNumeric(DsId) Then 'VBD anhängen
|
|
Try
|
|
Dim PathTmp = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(DsId)).GET_TOP1_PATH(False)
|
|
If PathTmp <> "" Then anhaenge.Add(PathTmp) : found = True
|
|
Catch ex As Exception : VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) : End Try
|
|
If Not found Then
|
|
AvisoStatusFunctions.insertSendungsVermerk(s.tblSnd_SendungID, AVISO.AvisoID, "ERR: ABD nicht gefunden: " & s.FilialenNr & "/" & s.AbfertigungsNr, 47)
|
|
'AvisoStatusFunctions.insertVermerkAllg(AVISO.AvisoID, "ERR: VBD nicht gefunden: " & s.FilialenNr & "/" & s.AbfertigungsNr, 46, , "(AUTO)")
|
|
MsgBox("ACHTUNG: Das Ausfuhrbegleitdokument konnte nicht automatisiert ermittelt werden." & vbNewLine & "Bitte dem Kunden das ABD per E-Mail zustellen!" & vbNewLine & vbNewLine & "Sendung: " & s.FilialenNr & "/" & s.AbfertigungsNr)
|
|
End If
|
|
End If
|
|
Case Else
|
|
getDataFronDY_EZA(s.tblSnd_SendungID, AtcMrn, DsId, s.FilialenNr, s.AbfertigungsNr, DsId2)
|
|
If s.tblSnd_Abfertigungsart_ID = 23 Then
|
|
s.LOAD_HANDLING()
|
|
For Each hd In s.HANDLING
|
|
AtcMrn &= hd.sndhdg_nr & ", "
|
|
Next
|
|
If AtcMrn.EndsWith(", ") Then AtcMrn = AtcMrn.Substring(0, AtcMrn.Length - 2)
|
|
|
|
'If If(s.tblSnd_ATCMRN_Fremd, "") <> "" Then AtcMrn = s.tblSnd_ATCMRN_Fremd
|
|
End If
|
|
Select Case artKunde
|
|
Case "FRÄCHTER", "AVISIERER" 'Die bekommen keine Steuerbescheide..
|
|
Case Else
|
|
|
|
If KUNDE_ERW.EmailFreigabe_SteuerbescheidPDF And (IsNumeric(DsId) Or IsNumeric(DsId2)) Then 'Steuerbescheid anhängen
|
|
If checkSteuerbescheidbedingung(KundenNr, DsId) Or checkSteuerbescheidbedingung(KundenNr, DsId2) Then
|
|
Try
|
|
If IsNumeric(DsId) Then
|
|
Dim PathTmp = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(DsId)).GET_TOP1_PATH(False)
|
|
If PathTmp <> "" Then anhaenge.Add(PathTmp) : found = True
|
|
End If
|
|
If IsNumeric(DsId) Then
|
|
Dim PathTmp2 = (New VERAG_PROG_ALLGEMEIN.cDATENSERVER(DsId2)).GET_TOP1_PATH(False)
|
|
If PathTmp2 <> "" Then anhaenge.Add(PathTmp2) : found = True
|
|
End If
|
|
Catch ex As Exception : VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) : End Try
|
|
If Not found Then
|
|
AvisoStatusFunctions.insertSendungsVermerk(s.tblSnd_SendungID, AVISO.AvisoID, "ERR: Steuerbescheid nicht gefunden: " & s.FilialenNr & "/" & s.AbfertigungsNr, 47)
|
|
' AvisoStatusFunctions.insertVermerkAllg(AVISO.AvisoID, "ERR: Steuerbescheid nicht gefunden: " & s.FilialenNr & "/" & s.AbfertigungsNr, 46, , "(AUTO)")
|
|
MsgBox("ACHTUNG: Der Steuerbescheid konnte nicht automatisiert ermittelt werden." & vbNewLine & "Bitte dem Kunden den Steuerbescheid per E-Mail zustellen!" & vbNewLine & vbNewLine & "Sendung: " & s.FilialenNr & "/" & s.AbfertigungsNr)
|
|
End If
|
|
End If
|
|
End If
|
|
End Select
|
|
End Select
|
|
If IsDate(frist) Then frist = CDate(frist).ToShortDateString
|
|
|
|
Dim txtCluster = ""
|
|
' If VERAG_PROG_ALLGEMEIN.cAllgemein.isCLUSTER Then txtCluster = "<td>" & VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(s.FilialenNr, False) & "</td>"
|
|
txtCluster = "<td>" & VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(s.FilialenNr, False) & "</td>"
|
|
SendungslistTXT &= "<tr style=""font-size:18;min-width:180;""><td>" & cnt & "</td>" & txtCluster & "<td>" & If(s.FilialenNr > 0, s.FilialenNr, "") & "/" & If(s.AbfertigungsNr > 0, s.AbfertigungsNr, "") & "</td><td>" & getAbfertBez(s) & "</td><td>" & If(s.tblSnd_Empfaenger, "") & "</td><td>" & AtcMrn & "</td><td>" & frist & "</td>" & If(showNCTSAdress, gestellungsadresse, "") & "</tr> "
|
|
cnt += 1
|
|
End If
|
|
Next
|
|
|
|
SendungslistTXT &= "</table>"
|
|
SendungslistTXT &= "<br><br>"
|
|
If cnt = 1 Then ' wurde nicht erhöht -> keine Einträge
|
|
SendungslistTXT = ""
|
|
End If
|
|
If KUNDE_ERW.EmailFreigabeSendungsListe Then hText = hText.Replace("%Platzhalter%", SendungslistTXT)
|
|
End If
|
|
End If
|
|
End Select
|
|
hText = hText.Replace("%Platzhalter%", "")
|
|
|
|
Platzhalter_ersetzen = hText
|
|
End Function
|
|
|
|
Private Shared VERAGSQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Shared Function getEZOLL_Steuerbescheid(KUNDE_ERW As VERAG_PROG_ALLGEMEIN.cKundenErweitert, AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen) As List(Of String)
|
|
Dim LIST As New List(Of String)
|
|
|
|
Dim dt As DataTable = VERAGSQL.loadDgvBySql("", "EZOLL")
|
|
|
|
|
|
End Function
|
|
|
|
|
|
'Prüft, ob die KundenNr in den Daten vorkommt --> zB Empfänger, soll nur die Empfänger-Sendung gefunden werden, Frächter scheint immer auf.
|
|
Shared Function isKdInSendData(KUNDE_ERW As VERAG_PROG_ALLGEMEIN.cKundenErweitert, AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen)
|
|
If KUNDE_ERW.kde_KundenNr <= 0 Then Return False
|
|
Select Case KUNDE_ERW.kde_KundenNr.ToString
|
|
Case SENDUNG.tblSnd_AbsenderKdNr.ToString : Return True
|
|
Case SENDUNG.tblSnd_EmpfaengerKdNr.ToString : Return True
|
|
Case SENDUNG.tblSnd_AuftraggeberKdNr.ToString : Return True
|
|
Case AVISO.Auftraggeber_KdNr.ToString : Return True
|
|
Case AVISO.Frächter_KdNr.ToString : Return True
|
|
End Select
|
|
Return False
|
|
End Function
|
|
Shared Function checkSteuerbescheidbedingung(KdNr As Integer, DSId As String) As Boolean
|
|
Try
|
|
If DSId = "" Then Return False
|
|
If Not IsNumeric(DSId) Then Return False
|
|
|
|
Dim KD_ERW = New VERAG_PROG_ALLGEMEIN.cKundenErweitert(KdNr)
|
|
'Alle KD-Aufschubdaten laden
|
|
Dim KD_AUFSCHUB = VERAG_PROG_ALLGEMEIN.cKundenAufschubkonten.LOAD_ListAufschubKTOByKdNr(KdNr)
|
|
If KD_ERW IsNot Nothing AndAlso KD_ERW.EmailFreigabe_SteuerbescheidPDF Then
|
|
Select Case KD_ERW.EmailFreigabe_SteuerbescheidPDF_Bedingung
|
|
Case 0 : Return True
|
|
Case 1
|
|
'EZA Laden
|
|
Dim eza_id = VERAGSQL.getValueTxtBySql("SELECT TOP 1 isnull(eza_id,'') FROM [tblDakosy_Zollanmeldungen] INNER JOIN tblDakosy_EZA ON eza_dyaAnmID=dy_Id where [dy_Steuerbescheid_dsId]='" & DSId & "'", "FMZOLL")
|
|
If IsNumeric(eza_id) Then
|
|
'Aufschub laden und vergleichen
|
|
Dim EZA As New DAKOSY_Worker.cDakosyEZA(eza_id)
|
|
If EZA IsNot Nothing AndAlso EZA.eza_AUFSCHUB IsNot Nothing Then
|
|
For Each eza_a In EZA.eza_AUFSCHUB
|
|
For Each a In KD_AUFSCHUB
|
|
If eza_a.ezaAfb_KontoNr = a.kdAkto_kontonummer Then
|
|
'Wenn Kontonummer gefunden --> reuten true
|
|
Return True
|
|
End If
|
|
Next
|
|
Next
|
|
End If
|
|
End If
|
|
End Select
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Shared Function getAbfertBez(s As VERAG_PROG_ALLGEMEIN.cSendungen) As String
|
|
If s.tblSnd_Fremdspedition Then Return If(s.tblSnd_FremdspeditionText <> "", s.tblSnd_FremdspeditionText, "FREMD")
|
|
If s.tblSnd_Abfertigungsart_ID < 0 Then Return "-"
|
|
Return VERAGSQL.getValueTxtBySql("select isnull(Abfertigungsbezeichnung,'-') from Abfertigungsarten where Abfertigungsart='" & s.tblSnd_Abfertigungsart_ID & "'", "FMZOLL")
|
|
End Function
|
|
|
|
Shared Function getDataFronDY_NCTS(SendungsId, ByRef AtcMrn, ByRef frist, ByRef dsId, FilialenNr, AbfertigungsNr, tblSnd_Abfertigungsart_ID, tblSnd_DakosyRef) As Boolean
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(AbfertigungsNr) Then Return False
|
|
If AbfertigungsNr <= 0 Then Return False
|
|
|
|
If FilialenNr <> 4805 And FilialenNr <> 4811 Then ' Kein Ü-T
|
|
Dim dt = VERAGSQL.loadDgvBySql("SELECT isnull(dy_vbd_dsid,'') as DsId ,isnull(isnull(ncts_MRN,ncts_ANR),'') as MRN, isnull(ncts_Wiedergestellungsdatum ,'') as WG FROM tblDakosy_Zollanmeldungen inner join tblDakosy_nctsout on dy_id=ncts_dyaAnmID where dy_SendungsId='" & SendungsId & "' and dy_status <= 70 order by dy_status desc, dy_Erstellung desc", "FMZOLL")
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
AtcMrn = dt.Rows(0)("MRN")
|
|
dsId = dt.Rows(0)("DsId")
|
|
frist = dt.Rows(0)("WG")
|
|
Return True
|
|
Else
|
|
Try 'AT-Zollsystem
|
|
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
|
|
AtcMrn = sql.getValueTxtBySql("SELECT CRN FROM zsAnmRefs WHERE (VorgangID = 'AV') AND (LRN LIKE '" & FilialenNr & "/" & AbfertigungsNr & "%' OR LRN LIKE '" & FilialenNr & "-" & AbfertigungsNr & "%') ORDER BY GeaendertAm DESC", "EZOLL")
|
|
frist = sql.getValueTxtBySql("SELECT TOP 1 Gestellungsfrist FROM vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme WHERE (LRN LIKE '" & FilialenNr & "/" & AbfertigungsNr & "%' OR LRN LIKE '" & FilialenNr & "-" & AbfertigungsNr & "%') ", "EZOLL")
|
|
dsId = sql.getValueTxtBySql("SELECT TOP 1 [DokumentId_VBD] FROM [Speditionsbuch] where [DokumentId_VBD] is not null AND FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")
|
|
Catch : End Try
|
|
End If
|
|
End If
|
|
|
|
'Wenn nichts gefunden:
|
|
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
|
|
ZOLLANMELDUNG.getDataByBezugsnummer(FilialenNr & "/" & AbfertigungsNr, tblSnd_Abfertigungsart_ID.ToString, tblSnd_DakosyRef, False, "DE") ' Die weiteren Daten werden hier geladen
|
|
If ZOLLANMELDUNG IsNot Nothing Then
|
|
AtcMrn = ZOLLANMELDUNG.ATCMRN
|
|
'dsId = dt.Rows(0)("DsId")
|
|
'frist = ZOLLANMELDUNG.dat
|
|
End If
|
|
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function getDataFronDY_EZA(SendungsId, ByRef AtcMrn, ByRef dsId, FilialenNr, AbfertigungsNr, ByRef dsId2) As Boolean
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(AbfertigungsNr) Then Return False
|
|
If AbfertigungsNr <= 0 Then Return False
|
|
|
|
Dim dt = VERAGSQL.loadDgvBySql("SELECT isnull(dy_steuerbescheid_dsid,'') as DsId, isnull(eza_ANR,'') as ATC FROM tblDakosy_Zollanmeldungen inner join tblDakosy_eza on dy_id=eza_dyaAnmID where dy_SendungsId='" & SendungsId & "' and dy_status <= 70 order by dy_status desc, dy_Erstellung desc", "FMZOLL")
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
AtcMrn = dt.Rows(0)("ATC")
|
|
dsId = dt.Rows(0)("DsId")
|
|
Return True
|
|
Else
|
|
Try 'AT-Zollsystem
|
|
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
|
|
AtcMrn = sql.getValueTxtBySql("SELECT CRN FROM zsAnmRefs WHERE (VorgangID = 'EF') AND (LRN LIKE '" & FilialenNr & "/" & AbfertigungsNr & "%' OR LRN LIKE '" & FilialenNr & "-" & AbfertigungsNr & "%') ORDER BY GeaendertAm DESC", "EZOLL")
|
|
dsId = sql.getValueTxtBySql("SELECT TOP 1 DokumentId_Steuerbeleg FROM [Speditionsbuch] where DokumentId_Steuerbeleg is not null AND FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")
|
|
dsId2 = sql.getValueTxtBySql("SELECT TOP 1 DokumentId_Mitteilung FROM [Speditionsbuch] where DokumentId_Mitteilung is not null AND FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")
|
|
|
|
Catch : End Try
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
Shared Function getDataFronDY_AES(SendungsId, ByRef AtcMrn, ByRef dsId, FilialenNr, AbfertigungsNr, ByRef dsId2) As Boolean
|
|
If SendungsId Is Nothing Then Return False
|
|
If Not IsNumeric(AbfertigungsNr) Then Return False
|
|
If AbfertigungsNr <= 0 Then Return False
|
|
|
|
Dim dt = VERAGSQL.loadDgvBySql("SELECT isnull(dy_ABD_dsId,'') as DsId, isnull(aes_MRN,'') as ATC FROM tblDakosy_Zollanmeldungen inner join tblDakosy_AES on dy_id=aes_dyaAnmID where dy_SendungsId='" & SendungsId & "' and dy_status <= 70 order by dy_status desc, dy_Erstellung desc", "FMZOLL")
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
AtcMrn = dt.Rows(0)("ATC")
|
|
dsId = dt.Rows(0)("DsId")
|
|
Return True
|
|
Else
|
|
Try 'AT-Zollsystem
|
|
'Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
|
|
'AtcMrn = sql.getValueTxtBySql("SELECT CRN FROM zsAnmRefs WHERE (VorgangID = 'EF') AND (LRN LIKE '" & FilialenNr & "/" & AbfertigungsNr & "%' OR LRN LIKE '" & FilialenNr & "-" & AbfertigungsNr & "%') ORDER BY GeaendertAm DESC", "EZOLL")
|
|
'dsId = sql.getValueTxtBySql("SELECT TOP 1 DokumentId_Steuerbeleg FROM [Speditionsbuch] where DokumentId_Steuerbeleg is not null AND FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")
|
|
'dsId2 = sql.getValueTxtBySql("SELECT TOP 1 DokumentId_Mitteilung FROM [Speditionsbuch] where DokumentId_Mitteilung is not null AND FilialenNr='" & FilialenNr & "' AND AbfertigungsNr='" & AbfertigungsNr & "' ", "FMZOLL")
|
|
'....... FEHLT NOCH !!!!
|
|
Catch : End Try
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
Function SpeditionsbuchEintrag(AvisoID As Integer, SendungID As Integer) As posNr
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return Nothing
|
|
End If
|
|
|
|
Try
|
|
Dim posNr As New posNr
|
|
If SendungID < 0 Then MsgBox("Fehler: SendungID kleiner 0.") : Return Nothing
|
|
If AvisoID < 0 Then MsgBox("Fehler: AvisoID kleiner 0.") : Return Nothing
|
|
|
|
Dim frmNacherfassung As New SDL.frmNacherfassungNEU
|
|
' MsgBox("1")
|
|
Dim sendung As New VERAG_PROG_ALLGEMEIN.cSendungen(SendungID)
|
|
'Dim dr As DataRow = AvisoDAL.loadDataTableBySQL(" SELECT FilialenNr,AbfertigungsNr, UnterNr FROM tblSendungen WHERE tblSnd_SendungID=" & SendungID).Rows(0)
|
|
Dim dr As DataRow = AvisoDAL.loadDataTableBySQL(" SELECT FilialenNr,AbfertigungsNr, UnterNr FROM tblSendungen WHERE FilialenNr=" & sendung.FilialenNr & " AND AbfertigungsNr=" & sendung.AbfertigungsNr & " order by UnterNr ").Rows(0)
|
|
|
|
posNr.Filiale = VarToInt2(dr.Item("FilialenNr"))
|
|
posNr.Abfertigungsnummer = VarToInt2(dr.Item("AbfertigungsNr"))
|
|
posNr.UnterNr = VarToInt2(dr.Item("UnterNr"))
|
|
If posNr.UnterNr < 0 Then posNr.UnterNr = 0
|
|
|
|
If posNr.Filiale <= 0 And VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.StandartFiliale > 0 Then 'Aus den Mitarbeiter-Stammdaten
|
|
posNr.Filiale = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.StandartFiliale
|
|
End If
|
|
|
|
If posNr.Abfertigungsnummer <= 0 Or posNr.Filiale <= 0 Or posNr.UnterNr < 0 Then
|
|
Dim frmPosNr As New SDL.frmPosNr(posNr.Filiale, posNr.Abfertigungsnummer, posNr.UnterNr)
|
|
Dim frmGrayOut = VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO.grayoutForm()
|
|
|
|
If Not frmPosNr.ShowDialog(frmGrayOut) = DialogResult.OK Then frmGrayOut.Close() : Return Nothing
|
|
frmGrayOut.Close()
|
|
|
|
posNr.Abfertigungsnummer = frmPosNr.txtAbfertigungsnummer.Text
|
|
posNr.Filiale = frmPosNr.cboFiliale._value
|
|
posNr.UnterNr = frmPosNr.txtUnterNr.Text
|
|
' Dim cADMIN As New cADMIN
|
|
' cADMIN.doSQL(" UPDATE tblSendungen SET FilialenNr='" & posNr.Filiale & "',AbfertigungsNr='" & srchAbfertigungsnummer & "', UnterNr='" & srchUnterNr & "' FROM tblSendungen WHERE tblSnd_SendungID=" & SendungID)
|
|
|
|
End If
|
|
|
|
frmNacherfassung.avisoLinkId = AvisoID
|
|
frmNacherfassung.SendungID = SendungID
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
frmNacherfassung.srchAbfertigungsnummer = posNr.Abfertigungsnummer
|
|
frmNacherfassung.srchFiliale = posNr.Filiale
|
|
frmNacherfassung.srchUnterNr = posNr.UnterNr
|
|
' frmNacherfassung.FMZollPersID = VERAG_PROG_ALLGEMEIN.cglobal.AktiverMitarbeiter.mit_FMZollPersID
|
|
' Dim qsMa_TMP = SQL.getValueTxtBySql("SELECT TOP 1 isnull([MitarbeiterId],-1) FROM [Aenderungen] WHERE Aenderung_Art = 'auf VORBEREITET gesetzt' AND [AvisoID]='" & AvisoID & "' ORDER BY Datum DESC", "AVISO")
|
|
|
|
' Dim qsMa = SQL.getValueTxtBySql("SELECT TOP 1 isnull([mit_FMZollPersID],-1) FROM [tblMitarbeiter] WHERE [mit_id]='" & qsMa_TMP & "' ", "ADMIN")
|
|
frmNacherfassung.newEntry = (0 = CInt(SQL.getValueTxtBySql("SELECT Count(*) FROM Speditionsbuch WHERE FilialenNr='" & posNr.Filiale & "' AND AbfertigungsNr='" & posNr.Abfertigungsnummer & "' AND UnterNr='" & posNr.UnterNr & "' ", "FMZOLL")))
|
|
'frmNacherfassung.FMZollPersIDQS = IIf(IsNumeric(qsMa_TMP), qsMa_TMP, -1)
|
|
|
|
|
|
frmNacherfassung.ShowDialog()
|
|
|
|
posNr.Abfertigungsnummer = frmNacherfassung.txtAbfertigungsnummer.Text
|
|
posNr.Filiale = frmNacherfassung.cboFiliale._value
|
|
posNr.UnterNr = frmNacherfassung.txtUnterNr.Text
|
|
|
|
|
|
Return posNr
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
Public Sub showKd(kdnr, Optional TopMost = False)
|
|
'For Each frm As Form In Application.OpenForms.Item("frmKundenUebersichtZOLL") Is Nothing
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("WARENORT", "AVISO") Then Exit Sub
|
|
|
|
For Each openForm In Application.OpenForms()
|
|
If TypeOf (openForm) Is SDL.frmKundenUebersichtZOLL Then
|
|
CType(openForm, SDL.frmKundenUebersichtZOLL).BringToFront()
|
|
If TopMost Then CType(openForm, SDL.frmKundenUebersichtZOLL).TopMost = True
|
|
CType(openForm, SDL.frmKundenUebersichtZOLL).KdSearchBox1.KdNr = kdnr
|
|
Exit Sub
|
|
End If
|
|
Next
|
|
'If False Then
|
|
|
|
' If Not Application.OpenForms.Item("frmKundenUebersichtZOLL") Is Nothing Then
|
|
' Application.OpenForms.Item("frmKundenUebersichtZOLL").BringToFront()
|
|
' Exit Sub
|
|
' End If
|
|
'End If
|
|
'' Next
|
|
Dim zoll As New SDL.frmKundenUebersichtZOLL(kdnr)
|
|
If zoll IsNot Nothing Then zoll.Show() : zoll.BringToFront()
|
|
End Sub
|
|
|
|
|
|
Shared Sub insertVermerkAllg(AvisoID As Integer, Text As String, VermerkCodeId As Integer, Optional Beschreibung As String = "", Optional BeschreibungMA As String = "")
|
|
'Daten zuweisen und speichern
|
|
Dim myVermerk As New cVermerk
|
|
myVermerk.VermerkID = 0
|
|
myVermerk.AvisoID = AvisoID
|
|
myVermerk.Datum = Now
|
|
myVermerk.Mitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter & " " & BeschreibungMA
|
|
myVermerk.MitarbeiterId = cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
myVermerk.Hinweis_Vermerk = Text
|
|
myVermerk.VermerkCodeId = VermerkCodeId
|
|
Dim VermerkeDAL As New cVermerkeDAL
|
|
VermerkeDAL.SpeichernVermerk(myVermerk)
|
|
If frmHauptfenster IsNot Nothing Then frmHauptfenster.Details_anzeigen(AvisoID)
|
|
|
|
End Sub
|
|
|
|
Shared Sub insertSendungsVermerk(SendungID As Integer, AvisoID As Integer, Text As String, VermerkCodeId As Integer, Optional Beschreibung As String = "", Optional VorauskasseId As Object = Nothing, Optional addAuto As Boolean = False)
|
|
'Daten zuweisen und speichern
|
|
Dim myVermerk As New cVermerk
|
|
myVermerk.VermerkID = 0
|
|
myVermerk.AvisoID = AvisoID
|
|
myVermerk.Datum = Now
|
|
myVermerk.Mitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter & If(addAuto, " (AUTO)", "")
|
|
myVermerk.MitarbeiterId = cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
myVermerk.Hinweis_Vermerk = Text
|
|
myVermerk.VermerkCodeId = VermerkCodeId
|
|
myVermerk.SendungID = SendungID
|
|
If VorauskasseId IsNot Nothing AndAlso VorauskasseId IsNot DBNull.Value Then myVermerk.VorauskasseId = VorauskasseId
|
|
myVermerk.VermerkArt = "S"
|
|
Dim VermerkeDAL As New cVermerkeDAL
|
|
|
|
VermerkeDAL.SpeichernVermerk(myVermerk)
|
|
|
|
If myVermerk.VermerkCodeId = 18 Then
|
|
VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False)
|
|
frmHauptfenster.avisoAktualisierenAktiveIdBehalten(myVermerk.AvisoID)
|
|
End If
|
|
|
|
End Sub
|
|
End Class
|
|
Public Class posNr
|
|
Property Abfertigungsnummer As Integer = -1
|
|
Property Filiale As Integer = -1
|
|
Property UnterNr As Integer = -1
|
|
End Class
|
|
|