2570 lines
137 KiB
VB.net
2570 lines
137 KiB
VB.net
Imports SDL
|
||
Imports VERAG_PROG_ALLGEMEIN
|
||
Imports VERAG_PROG_ALLGEMEIN.cGlobal
|
||
Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO
|
||
|
||
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
|
||
|
||
|
||
'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
|
||
|
||
'If Aviso.Warenort = False Then 'VERIMEX darf bei Warenort Status setzen
|
||
' If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
||
' MsgBox("Keine Berechtigung!")
|
||
' Return False
|
||
' End If
|
||
'End If
|
||
|
||
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
|
||
|
||
'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
|
||
|
||
'If Aviso.Warenort = False Then 'VERIMEX darf bei Warenort Status setzen
|
||
' If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
||
' MsgBox("Keine Berechtigung!")
|
||
' Return False
|
||
' End If
|
||
'End If
|
||
|
||
|
||
'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)
|
||
|
||
|
||
'-------------- SIGNATUR --------------
|
||
Dim signatur = ""
|
||
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||
Case "IMEX"
|
||
' signatur = "
|
||
' Freundliche Grüße / Saygılarımızla / Best Regards<br>
|
||
' <b style=""color:#003680;"">IMEX Customs Service GmbH</b><br>
|
||
'Abteilung: EU Zollabfertigung<br>
|
||
'Tel.: +43 7711 2777 DW 200<br>
|
||
'Mail: <a href=""mailto:eu@verag.ag"" style=""color:#003680; text-decoration:none;"">eu@verag.ag</a><br>
|
||
' "
|
||
Case "UNISPED"
|
||
|
||
' signatur = "
|
||
' Freundliche Grüße / Saygılarımızla / Best Regards<br>
|
||
' <b style=""color:#003680;"">UNISPED Speditions GmbH</b><br>
|
||
'Abteilung: EU Zollabfertigung<br>
|
||
'Tel.: +43 7711 2777 DW 200<br>
|
||
'Mail: <a href=""mailto:eu@verag.ag"" style=""color:#003680; text-decoration:none;"">eu@verag.ag</a><br>
|
||
' "
|
||
Case "ATILLA"
|
||
|
||
' signatur = "
|
||
' Freundliche Grüße / Saygılarımızla / Best Regards<br>
|
||
' <b style=""color:#003680;"">ATILLA Spedition GmbH</b><br>
|
||
'Abteilung: EU Zollabfertigung<br>
|
||
'Tel.: +43 7711 2777 DW 200<br>
|
||
'Mail: <a href=""mailto:eu@verag.ag"" style=""color:#003680; text-decoration:none;"">eu@verag.ag</a><br>
|
||
' "
|
||
|
||
Case "AMBAR"
|
||
' signatur = "
|
||
' Freundliche Grüße / Saygılarımızla / Best Regards<br>
|
||
' <b style=""color:#003680;"">AMBAR</b><br>
|
||
'Abteilung: EU Zollabfertigung<br>
|
||
'Tel.: +43 7711 2777 DW 200<br>
|
||
'Mail: <a href=""mailto:eu@verag.ag"" style=""color:#003680; text-decoration:none;"">eu@verag.ag</a><br>
|
||
' "
|
||
Case Else
|
||
signatur = "
|
||
Freundliche Grüße / Saygılarımızla / Best Regards<br>
|
||
<b style=""color:#003680;"">VERAG Spedition AG</b><br>
|
||
Abteilung: EU Zollabfertigung<br>
|
||
Tel.: +43 7711 2777 DW 200<br>
|
||
Mail: <a href=""mailto:eu@verag.ag"" style=""color:#003680; text-decoration:none;"">eu@verag.ag</a><br>
|
||
"
|
||
End Select
|
||
|
||
hText = hText.Replace("%Signatur%", signatur)
|
||
|
||
'--------------------------------------------------------
|
||
|
||
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")
|
||
signatur = ""
|
||
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
|
||
|