1021 lines
53 KiB
VB.net
1021 lines
53 KiB
VB.net
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class cWorker_Verwahrung
|
|
Public Shared Dateiname = ""
|
|
|
|
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Public Class DAKOSY_STATUS
|
|
Public Const HEADER As String = "DAKOSY-DUMMY"
|
|
Public Const SEND As String = "DAKOSY-WAITING"
|
|
Public Const IMPORTED As String = "DAKOSY-IMPORTED"
|
|
Public Const USER As String = "DAKOSY-AUTO"
|
|
End Class
|
|
|
|
|
|
|
|
Shared Function readVW_SumAVerwahrungsinfo(FORM As frmDYNachrichtenVerarbeitung, d As String, saveVerwahrung As Boolean, sendMail As Boolean, testlauf As Boolean) As String
|
|
Try
|
|
|
|
Dim VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp = DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp.LoadFromFile(d)
|
|
Dim VorpapiernummerInput = ""
|
|
Dim RegistriernummerATLAS = ""
|
|
Dim VeralteteWeitereRegistriernummer = ""
|
|
Dim ankungsdatum As Object = Nothing
|
|
Dim gestellungsdatum As Object = Nothing
|
|
Dim posGestellung As New DataTable
|
|
readVW_SumAVerwahrungsinfo = ""
|
|
If VWI IsNot Nothing Then
|
|
If VWI.EinzelSumAVerwahrungsinfo IsNot Nothing Then
|
|
If VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung IsNot Nothing Then
|
|
If VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readVW_SumAVerwahrungsinfo = VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ObjektName 'Nur ObjektAntragsart VV (SumA Vorgang) /NE (NCTS-Vorgang )
|
|
End If
|
|
End If
|
|
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten IsNot Nothing Then
|
|
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer IsNot Nothing Then
|
|
VorpapiernummerInput = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer
|
|
End If
|
|
|
|
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS IsNot Nothing Then
|
|
RegistriernummerATLAS = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS
|
|
End If
|
|
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer IsNot Nothing Then
|
|
VeralteteWeitereRegistriernummer = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer
|
|
End If
|
|
|
|
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum > "01.01.2000" Then
|
|
gestellungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum
|
|
End If
|
|
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Ankunftsdatum > "01.01.2000" Then
|
|
ankungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Ankunftsdatum
|
|
End If
|
|
|
|
If VWI.EinzelSumAVerwahrungsinfo.Position IsNot Nothing Then
|
|
For Each POS In VWI.EinzelSumAVerwahrungsinfo.Position
|
|
If POS.Positionsnummer IsNot Nothing AndAlso posGestellung IsNot Nothing Then
|
|
If Not posGestellung.Columns.Contains("AnzPackst") Then
|
|
posGestellung.Columns.Add("PosNr", GetType(Integer))
|
|
posGestellung.Columns.Add("AnzPackst", GetType(Integer))
|
|
posGestellung.Columns.Add("PackstArt", GetType(String))
|
|
posGestellung.Columns.Add("Rohmasse", GetType(Double))
|
|
posGestellung.Columns.Add("Warenbeschreibung", GetType(String))
|
|
posGestellung.Columns.Add("VerwahrerFirma", GetType(String))
|
|
posGestellung.Columns.Add("VerwahrerOrt", GetType(String))
|
|
posGestellung.Columns.Add("VerwahrerEORI", GetType(String))
|
|
posGestellung.Columns.Add("SpezifischerOrdnungsbegriffDaten", GetType(String))
|
|
End If
|
|
|
|
Dim ro As DataRow = posGestellung.NewRow
|
|
ro("PosNr") = POS.Positionsnummer
|
|
ro("AnzPackst") = POS.PackstueckAnzahl
|
|
ro("PackstArt") = POS.PackstueckArt
|
|
ro("Rohmasse") = POS.Rohmasse
|
|
ro("Warenbeschreibung") = POS.Warenbeschreibung
|
|
ro("VerwahrerFirma") = POS.Verwahrer.NameFirma
|
|
ro("VerwahrerOrt") = POS.Verwahrer.Ortsteil
|
|
ro("VerwahrerEORI") = POS.Verwahrer.TeilnehmerEORI
|
|
ro("SpezifischerOrdnungsbegriffDaten") = POS.SpezifischerOrdnungsbegriffDaten
|
|
posGestellung.Rows.Add(ro)
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
|
|
If readVW_SumAVerwahrungsinfo <> "" And VorpapiernummerInput <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(VWI.Transaktion.IOReferenz, VWI.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readVW_SumAVerwahrungsinfo
|
|
STATUS.dySt_artMitteilung = "VW_INFO"
|
|
STATUS.dySt_dyArt = "VW"
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_50
|
|
STATUS.dySt_ergCode = "GSTDATUM"
|
|
STATUS.dySt_ergMitteilung = ""
|
|
If gestellungsdatum IsNot Nothing Then STATUS.dySt_ergZeitpunkt = gestellungsdatum
|
|
|
|
STATUS.SAVE()
|
|
|
|
|
|
'LINKE SEITE BEI GESAMTSICHERHEITEN!!!!!!!!!!!!!
|
|
|
|
If saveVerwahrung Then saveVerwahrungseingang(readVW_SumAVerwahrungsinfo, VWI, RegistriernummerATLAS, posGestellung, VorpapiernummerInput, VeralteteWeitereRegistriernummer, sendMail, testlauf)
|
|
|
|
|
|
Anzeige:
|
|
|
|
FORM.addDGVEinarbeitung("VW: Eingang", STATUS.dySt_BezugsNr)
|
|
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readVW_SumAVerwahrungsinfo = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Shared Function readEZA_SumAErledigungsinformationVorpapier_005(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean, sendMail As Boolean, testlauf As Boolean) As String
|
|
Try
|
|
|
|
Dim EZA As DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp = DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp.LoadFromFile(d)
|
|
Dim ART = ""
|
|
Dim RegistriernummerATLAS = ""
|
|
Dim posErledigung As New DataTable
|
|
' Dim details = ""
|
|
|
|
Dim zp As Object = Nothing
|
|
Dim regNR = ""
|
|
Dim division = ""
|
|
Dim veralteteregNR = ""
|
|
|
|
readEZA_SumAErledigungsinformationVorpapier_005 = ""
|
|
If EZA IsNot Nothing Then
|
|
|
|
If EZA.Transaktion IsNot Nothing Then
|
|
If EZA.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = EZA.Transaktion.IODivision3
|
|
ElseIf EZA.Transaktion.IODivision1 IsNot Nothing Then
|
|
division = EZA.Transaktion.IODivision1
|
|
End If
|
|
End If
|
|
|
|
If EZA.EinzelSumAErledigungsinformation IsNot Nothing Then
|
|
If EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung IsNot Nothing Then
|
|
If EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readEZA_SumAErledigungsinformationVorpapier_005 = EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
zp = EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ZeitpunktNachrichteneingang
|
|
End If
|
|
If EZA.EinzelSumAErledigungsinformation.KopfDaten IsNot Nothing Then
|
|
If EZA.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung IsNot Nothing Then
|
|
ART = EZA.EinzelSumAErledigungsinformation.KopfDaten.ArtErledigung
|
|
End If
|
|
If EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise IsNot Nothing Then
|
|
regNR = EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise
|
|
End If
|
|
If EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise IsNot Nothing Then
|
|
veralteteregNR = EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise
|
|
End If
|
|
|
|
End If
|
|
|
|
If EZA.EinzelSumAErledigungsinformation.Position IsNot Nothing Then
|
|
|
|
For Each POS In EZA.EinzelSumAErledigungsinformation.Position
|
|
If POS.LaufendeNummer IsNot Nothing AndAlso posErledigung IsNot Nothing Then
|
|
If Not posErledigung.Columns.Contains("LaufendeNummer") Then
|
|
posErledigung.Columns.Add("LaufendeNummer", GetType(String))
|
|
posErledigung.Columns.Add("IDRegNrSumA", GetType(String))
|
|
posErledigung.Columns.Add("IDRegNrSumAPos", GetType(String))
|
|
posErledigung.Columns.Add("StornierungKz", GetType(String))
|
|
posErledigung.Columns.Add("StueckzahlErledigte", GetType(String))
|
|
End If
|
|
|
|
Dim ro As DataRow = posErledigung.NewRow
|
|
ro("LaufendeNummer") = POS.LaufendeNummer
|
|
ro("IDRegNrSumA") = POS.IDRegNrSumA
|
|
ro("IDRegNrSumAPos") = POS.IDRegNrSumAPos
|
|
ro("StornierungKz") = POS.StornierungKz
|
|
ro("StueckzahlErledigte") = POS.StueckzahlErledigte
|
|
posErledigung.Rows.Add(ro)
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
|
|
If readEZA_SumAErledigungsinformationVorpapier_005 <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readEZA_SumAErledigungsinformationVorpapier_005
|
|
STATUS.dySt_artMitteilung = "VW_EVP"
|
|
STATUS.dySt_dyArt = "VW" '"EZA" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_60
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
'----------------------------------------------------------------
|
|
|
|
'Verwahrung ABSCHREIBUNG - rechte Seite bei Gesamtsicherheiten
|
|
|
|
If saveAbschreibung AndAlso ART <> "NCTS" Then 'bei NCTS wird der Ausgang über ein UeberlassungsmeldungNCTSDE aufgelöst!!!!!!
|
|
saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, zp, sendMail, testlauf)
|
|
|
|
Anzeige:
|
|
|
|
FORM.addDGVEinarbeitung("VW: Ausgang", STATUS.dySt_BezugsNr)
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readEZA_SumAErledigungsinformationVorpapier_005 = ""
|
|
End Try
|
|
End Function
|
|
|
|
Shared Function readEZA_SumAErledigungsinformationCDXWare007(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean) As String
|
|
Try
|
|
|
|
Dim EZA As DAKOSY_Worker.SumAErledigungsinformationCDXWare_007.SumAErledigungsinformationCDXWareSCTyp = DAKOSY_Worker.SumAErledigungsinformationCDXWare_007.SumAErledigungsinformationCDXWareSCTyp.LoadFromFile(d)
|
|
Dim ART = ""
|
|
' Dim details = ""
|
|
|
|
Dim zp As Object = Nothing
|
|
Dim regNR = ""
|
|
Dim division = ""
|
|
|
|
readEZA_SumAErledigungsinformationCDXWare007 = ""
|
|
If EZA IsNot Nothing Then
|
|
|
|
If EZA.Transaktion IsNot Nothing Then
|
|
If EZA.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = EZA.Transaktion.IODivision3
|
|
ElseIf EZA.Transaktion.IODivision1 IsNot Nothing Then
|
|
division = EZA.Transaktion.IODivision1
|
|
End If
|
|
End If
|
|
|
|
If EZA.EinzelSumAErledigungsinformationCDXWare IsNot Nothing Then
|
|
If EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung IsNot Nothing Then
|
|
If EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readEZA_SumAErledigungsinformationCDXWare007 = EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
zp = EZA.EinzelSumAErledigungsinformationCDXWare.ObjektIdentifizierung.ZeitpunktNachrichteneingang
|
|
End If
|
|
If EZA.EinzelSumAErledigungsinformationCDXWare.KopfDaten IsNot Nothing Then
|
|
|
|
If EZA.EinzelSumAErledigungsinformationCDXWare.KopfDaten.RegNrATLAS IsNot Nothing Then
|
|
regNR = EZA.EinzelSumAErledigungsinformationCDXWare.KopfDaten.RegNrATLAS
|
|
End If
|
|
End If
|
|
End If
|
|
End If
|
|
' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
|
|
|
|
If readEZA_SumAErledigungsinformationCDXWare007 <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit)
|
|
STATUS.dySt_BezugsNr = readEZA_SumAErledigungsinformationCDXWare007
|
|
STATUS.dySt_artMitteilung = "VW_EVP_CDX"
|
|
STATUS.dySt_dyArt = "VW" '"EZA" 'T1/T2
|
|
|
|
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_60 '???
|
|
STATUS.dySt_ergZeitpunkt = zp
|
|
|
|
|
|
' STATUS.dySt_ergDetails = details
|
|
'EINTRAG IN tblDakosy_Zollanmeldungen
|
|
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
|
|
|
|
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
|
|
STATUS.SAVE()
|
|
|
|
'----------------------------------------------------------------
|
|
|
|
|
|
If saveAbschreibung Then
|
|
|
|
Try
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
|
|
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
|
End Try
|
|
|
|
|
|
End If
|
|
|
|
|
|
'----------------------------------------------------------------
|
|
|
|
FORM.addDGVEinarbeitung("VW: Erledigungsinformation-Vorpapier CDX", STATUS.dySt_BezugsNr)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readEZA_SumAErledigungsinformationCDXWare007 = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Shared Function readNCTS_SumAMassnahmenbekanntgabe(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean) As String
|
|
Try
|
|
|
|
Dim NCTS As DAKOSY_Worker.SumABekanntgabeMassnahme_005.SumABekanntgabeMassnahmeSBTyp = DAKOSY_Worker.SumABekanntgabeMassnahme_005.SumABekanntgabeMassnahmeSBTyp.LoadFromFile(d)
|
|
|
|
Dim zp As Object = Nothing
|
|
Dim regNR = ""
|
|
Dim division = ""
|
|
|
|
Dim posMassnahmen As New DataTable
|
|
|
|
readNCTS_SumAMassnahmenbekanntgabe = ""
|
|
If NCTS IsNot Nothing Then
|
|
|
|
If NCTS.Transaktion IsNot Nothing Then
|
|
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision3
|
|
ElseIf NCTS.Transaktion.IODivision1 IsNot Nothing Then
|
|
division = NCTS.Transaktion.IODivision1
|
|
End If
|
|
End If
|
|
|
|
If NCTS.EinzelSumABekanntgabeMassnahme IsNot Nothing Then
|
|
If NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung IsNot Nothing Then
|
|
If NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ObjektName IsNot Nothing Then
|
|
readNCTS_SumAMassnahmenbekanntgabe = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ObjektName
|
|
End If
|
|
zp = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ZeitpunktNachrichteneingang
|
|
End If
|
|
If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten IsNot Nothing Then
|
|
|
|
If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten.RegistriernummerATLAS IsNot Nothing Then
|
|
regNR = NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten.RegistriernummerATLAS
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
If NCTS.EinzelSumABekanntgabeMassnahme.Position IsNot Nothing Then
|
|
|
|
For Each POS In NCTS.EinzelSumABekanntgabeMassnahme.Position
|
|
If POS.MassnahmeCode IsNot Nothing AndAlso posMassnahmen IsNot Nothing Then
|
|
If Not posMassnahmen.Columns.Contains("MassnahmeText") Then
|
|
posMassnahmen.Columns.Add("MassnahmeCode", GetType(Integer))
|
|
posMassnahmen.Columns.Add("MassnahmeText", GetType(String))
|
|
posMassnahmen.Columns.Add("MassnahmeNichtzustellbarKz", GetType(String))
|
|
posMassnahmen.Columns.Add("PackstueckArt", GetType(String))
|
|
posMassnahmen.Columns.Add("PackstueckAnzahl", GetType(Integer))
|
|
End If
|
|
|
|
Dim ro As DataRow = posMassnahmen.NewRow
|
|
ro("MassnahmeText") = POS.MassnahmeText
|
|
ro("MassnahmeCode") = POS.MassnahmeCode
|
|
ro("MassnahmeNichtzustellbarKz") = POS.MassnahmeNichtzustellbarKz
|
|
ro("PackstueckAnzahl") = POS.PackstueckAnzahl
|
|
ro("PackstueckArt") = POS.PackstueckArt
|
|
posMassnahmen.Rows.Add(ro)
|
|
End If
|
|
|
|
|
|
|
|
Next
|
|
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
|
|
If readNCTS_SumAMassnahmenbekanntgabe <> "" Then 'BEZUGSNR vorhanden
|
|
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
|
|
|
|
'-----------------------EMAIL-NOTIFYCATION----------------------------------------
|
|
|
|
If posMassnahmen.Rows.Count > 0 Then
|
|
|
|
Dim Mailext = createInfoMail(regNR, posMassnahmen, "MASSNAHME-DAKOSY")
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Massnahme DAKOSY - " & Now().ToShortDateString, Mailext,,,,, "d.breimaier@verag.ag")
|
|
|
|
End If
|
|
|
|
'----------------------------------------------------------------
|
|
|
|
FORM.addDGVEinarbeitung("VW: Bekanntgabe Massnahme", regNR)
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
readNCTS_SumAMassnahmenbekanntgabe = ""
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function saveVerwahrungseingang(readVW_SumAVerwahrungsinfo As String, VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp, RegistriernummerATLAS As String, posGestellung As DataTable, VorpapiernummerInput As String, VeralteteWeitereRegistriernummer As String, sendInfoMail As Boolean, testlauf As Boolean)
|
|
|
|
Dim BezugsNr = readVW_SumAVerwahrungsinfo
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
|
|
|
|
Try
|
|
|
|
|
|
If VeralteteWeitereRegistriernummer = "" Then Return False
|
|
|
|
Dim filiale As String = ""
|
|
Dim abfertigungsnummer = ""
|
|
Dim Standort As String = ""
|
|
Dim Vorpapiernummer = ""
|
|
Dim laufnummer As Integer = -1
|
|
|
|
Dim parts() As String = VorpapiernummerInput.Split("-"c)
|
|
|
|
If parts.Length = 2 Then
|
|
Vorpapiernummer = parts(0)
|
|
Integer.TryParse(parts(1), laufnummer)
|
|
End If
|
|
|
|
|
|
If BezugsNr.Length > 4 AndAlso IsNumeric(BezugsNr.Substring(0, 4)) Then
|
|
If BezugsNr.Length > 4 Then
|
|
filiale = BezugsNr.Substring(0, 4)
|
|
End If
|
|
If BezugsNr.Length >= 14 Then
|
|
abfertigungsnummer = BezugsNr.Substring(5, 8)
|
|
End If
|
|
End If
|
|
|
|
If Vorpapiernummer <> "" Then
|
|
If Vorpapiernummer.Length > 18 Then
|
|
Vorpapiernummer = Vorpapiernummer.ToString.Substring(0, 18)
|
|
End If
|
|
Dim dtSendungsInfo As New DataTable
|
|
dtSendungsInfo = SQL.loadDgvBySql("SELECT [FilialenNr],[AbfertigungsNr],[UnterNr] FROM [dbo].[tblSendungen] where tblSnd_ATB_T1 = '" & Vorpapiernummer & "'", "AVISO")
|
|
|
|
If dtSendungsInfo.Rows.Count > 0 Then
|
|
filiale = dtSendungsInfo.Rows(0).Item("FilialenNr")
|
|
abfertigungsnummer = dtSendungsInfo.Rows(0).Item("AbfertigungsNr")
|
|
End If
|
|
|
|
|
|
Select Case filiale
|
|
Case "4803", "4809"
|
|
Standort = "VERAG AG"
|
|
Case "4810", "5103", "5901"
|
|
Standort = "VERAG GmbH"
|
|
Case "5501"
|
|
Standort = "IMEX"
|
|
Case Else
|
|
Return False
|
|
End Select
|
|
|
|
|
|
Dim dy_SendungsId = VWI.Transaktion.IOReferenz
|
|
|
|
If filiale <> "" AndAlso abfertigungsnummer <> "" AndAlso IsNumeric(filiale) AndAlso IsNumeric(abfertigungsnummer) Then
|
|
|
|
Dim SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(filiale, abfertigungsnummer)
|
|
|
|
If SND IsNot Nothing AndAlso SND.tblSnd_Abfertigungsart_ID = 44 Then
|
|
|
|
Dim existingEntries As DataTable
|
|
existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_DK_laufnr, gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where [gs_ATBNr] = '" & Vorpapiernummer & "' order by gs_datum desc", "AVISO")
|
|
If existingEntries.Rows.Count = 0 Then
|
|
'existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) or (gs_avisoId = " & SND.tblSnd_AvisoID & ") order by gs_datum desc", "AVISO")
|
|
existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_DK_laufnr,gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) order by gs_datum desc", "AVISO")
|
|
End If
|
|
|
|
If existingEntries.Rows.Count > 0 Then
|
|
|
|
Dim zubehandelndeGSPOS As Boolean = existingEntries.AsEnumerable().
|
|
Any(Function(r)
|
|
If r.IsNull("gs_DK_laufnr") OrElse r.Field(Of Integer)("gs_DK_laufnr") <> laufnummer Then
|
|
Return False
|
|
End If
|
|
|
|
Dim alt = If(r.IsNull("gs_VeralteteWeitereRegistriernummer"), "", r.Field(Of String)("gs_VeralteteWeitereRegistriernummer"))
|
|
Dim mrn = If(r.IsNull("gs_MRNNr"), "", r.Field(Of String)("gs_MRNNr"))
|
|
|
|
Return alt = VeralteteWeitereRegistriernummer OrElse mrn = RegistriernummerATLAS
|
|
End Function)
|
|
|
|
If zubehandelndeGSPOS Then
|
|
Return True 'bereits behandelt ->
|
|
End If
|
|
|
|
|
|
Dim DUMMYSicherheit As cSicherheiten
|
|
Dim rows = existingEntries.Select("gs_dakoyimport = true AND [gs_ATBNr] = '" & Vorpapiernummer & "' AND gs_freitext = '" & DAKOSY_STATUS.HEADER & "'")
|
|
|
|
If rows.Length > 0 Then
|
|
Dim row = rows(0)
|
|
DUMMYSicherheit = New cSicherheiten(row("gs_gsId"), row("gs_posNr"))
|
|
Else
|
|
Return False 'kein Dummy-Eintrag
|
|
End If
|
|
|
|
Dim newSicherheit As New cSicherheiten()
|
|
|
|
If Not DUMMYSicherheit.hasEntry Then
|
|
Return False
|
|
End If
|
|
|
|
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(DUMMYSicherheit.gs_standort)
|
|
Dim saldo = GesSichRef.CalcSaldo()
|
|
|
|
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
|
|
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
|
|
|
|
'Verwahrung ANSCHREIBUNG
|
|
|
|
newSicherheit.gs_systemuser = DAKOSY_STATUS.USER
|
|
newSicherheit.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
|
|
newSicherheit.gs_MRNNr = RegistriernummerATLAS 'wichtig für Zuweisung DAKOSY
|
|
newSicherheit.gs_gsNr = DUMMYSicherheit.gs_gsNr
|
|
newSicherheit.gs_ATBNr = DUMMYSicherheit.gs_ATBNr
|
|
|
|
Dim FreitextInfo As String = ""
|
|
|
|
If posGestellung.Rows.Count > 0 Then
|
|
If IsNumeric(posGestellung.Rows(0).Item("AnzPackst")) Then
|
|
newSicherheit.gs_EH_Anzahl = CInt(posGestellung.Rows(0).Item("AnzPackst"))
|
|
End If
|
|
|
|
If IsNumeric(posGestellung.Rows(0).Item("Rohmasse")) Then
|
|
newSicherheit.gs_gewicht = CDbl(posGestellung.Rows(0).Item("Rohmasse"))
|
|
End If
|
|
|
|
FreitextInfo = posGestellung.Rows(0).Item("PackstArt")
|
|
Else
|
|
FreitextInfo = DAKOSY_STATUS.SEND
|
|
End If
|
|
|
|
newSicherheit.gs_standort = DUMMYSicherheit.gs_standort
|
|
newSicherheit.gs_datum = DUMMYSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
|
|
newSicherheit.gs_erstellungsdatum = Now()
|
|
newSicherheit.gs_posNr = newSicherheit.getLatestPosNr(DUMMYSicherheit.gs_gsNr, DUMMYSicherheit.gs_ATBNr) + 1
|
|
newSicherheit.gs_DK_laufnr = laufnummer
|
|
newSicherheit.gs_freitext = FreitextInfo
|
|
newSicherheit.gs_abfertigungsnr = abfertigungsnummer
|
|
newSicherheit.gs_filialenNr = filiale
|
|
newSicherheit.gs_posSubNr = 1
|
|
newSicherheit.gs_LKWKZ = DUMMYSicherheit.gs_LKWKZ
|
|
newSicherheit.gs_zollsatz = DUMMYSicherheit.gs_zollsatz
|
|
|
|
If laufnummer = 1 Then
|
|
newSicherheit.gs_warenwert = DUMMYSicherheit.gs_warenwert
|
|
newSicherheit.gs_sicherheitsbetrag = DUMMYSicherheit.gs_sicherheitsbetrag
|
|
Else
|
|
newSicherheit.gs_warenwert = 0
|
|
newSicherheit.gs_sicherheitsbetrag = 0
|
|
|
|
End If
|
|
|
|
newSicherheit.gs_art = "OPEN"
|
|
newSicherheit.gs_saldo = saldo
|
|
newSicherheit.gs_avisoId = DUMMYSicherheit.gs_avisoId
|
|
newSicherheit.gs_warenort = DUMMYSicherheit.gs_warenort
|
|
newSicherheit.gs_dakoyimport = True
|
|
|
|
|
|
Dim gsid = newSicherheit.SAVEOBJECT()
|
|
|
|
If gsid > 0 AndAlso laufnummer = 1 Then
|
|
'wechsel des Sicherheitsbetrags und Warenwert von Dummypos auf erste Produkivposition
|
|
DUMMYSicherheit.gs_warenwert = 0
|
|
DUMMYSicherheit.gs_sicherheitsbetrag = 0
|
|
DUMMYSicherheit.SAVE()
|
|
End If
|
|
|
|
Dim CLOSED_DUMMY = New cGesamtsicherheitsPositionen(gsid, newSicherheit.gs_posNr)
|
|
|
|
|
|
With CLOSED_DUMMY
|
|
.gsp_gsNr = newSicherheit.gs_gsNr
|
|
.gsp_warenwert = 0 ' = 0 wichtig
|
|
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
|
|
.gsp_filialenNr = filiale
|
|
.gsp_art = "CLOSE"
|
|
.gsp_abfertigungsNr = abfertigungsnummer
|
|
.gsp_erstellungsdatum = DateTime.Now
|
|
.gsp_ust = ""
|
|
.gsp_freitext = DAKOSY_STATUS.SEND
|
|
.gsp_avisoId = DUMMYSicherheit.gs_avisoId
|
|
.gsp_systemuser = DAKOSY_STATUS.USER
|
|
End With
|
|
|
|
CLOSED_DUMMY.SAVE()
|
|
|
|
If posGestellung.Rows.Count > 1 Then
|
|
If True Then
|
|
For i As Integer = 2 To posGestellung.Rows.Count
|
|
Dim OPEN_DUMMY_SUBPOS As New cSicherheiten()
|
|
With OPEN_DUMMY_SUBPOS
|
|
.gs_systemuser = DAKOSY_STATUS.USER
|
|
.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
|
|
.gs_gsNr = DUMMYSicherheit.gs_gsNr
|
|
.gs_ATBNr = DUMMYSicherheit.gs_ATBNr
|
|
If IsNumeric(posGestellung.Rows(i - 1).Item("AnzPackst")) Then
|
|
.gs_EH_Anzahl = posGestellung.Rows(i - 1).Item("AnzPackst")
|
|
End If
|
|
|
|
If IsNumeric(posGestellung.Rows(i - 1).Item("Rohmasse")) Then
|
|
.gs_gewicht = posGestellung.Rows(i - 1).Item("Rohmasse")
|
|
End If
|
|
.gs_freitext = posGestellung.Rows(i - 1).Item("PackstArt")
|
|
.gs_MRNNr = RegistriernummerATLAS
|
|
.gs_standort = DUMMYSicherheit.gs_standort
|
|
.gs_datum = DUMMYSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
|
|
.gs_erstellungsdatum = Now()
|
|
.gs_abfertigungsnr = abfertigungsnummer
|
|
.gs_filialenNr = filiale
|
|
.gs_LKWKZ = DUMMYSicherheit.gs_LKWKZ
|
|
.gs_zollsatz = DUMMYSicherheit.gs_zollsatz
|
|
.gs_warenwert = 0
|
|
.gs_sicherheitsbetrag = 0
|
|
.gs_art = "OPEN"
|
|
.gs_saldo = saldo
|
|
.gs_avisoId = DUMMYSicherheit.gs_avisoId
|
|
.gs_warenort = DUMMYSicherheit.gs_warenort
|
|
.gs_posNr = newSicherheit.gs_posNr + i - 1
|
|
.gs_posSubNr = i
|
|
.gs_dakoyimport = True
|
|
.gs_DK_laufnr = laufnummer
|
|
|
|
End With
|
|
|
|
Dim gsid_SupPos = OPEN_DUMMY_SUBPOS.SAVEOBJECT()
|
|
|
|
Dim CLOSED_DUMMY_SUBPOS = New cGesamtsicherheitsPositionen()
|
|
|
|
With CLOSED_DUMMY_SUBPOS
|
|
.gsp_gspPosId = OPEN_DUMMY_SUBPOS.gs_posNr
|
|
.gsp_gsId = gsid_SupPos
|
|
.gsp_gsNr = DUMMYSicherheit.gs_gsNr
|
|
.gsp_warenwert = 0 ' = 0 wichtig
|
|
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
|
|
.gsp_filialenNr = filiale
|
|
.gsp_art = "CLOSE"
|
|
.gsp_abfertigungsNr = abfertigungsnummer
|
|
.gsp_erstellungsdatum = DateTime.Now
|
|
.gsp_ust = ""
|
|
.gsp_freitext = DAKOSY_STATUS.SEND
|
|
.gsp_avisoId = DUMMYSicherheit.gs_avisoId
|
|
.gsp_gsNr = DUMMYSicherheit.gs_gsNr
|
|
.gsp_systemuser = DAKOSY_STATUS.USER
|
|
End With
|
|
|
|
CLOSED_DUMMY_SUBPOS.SAVE()
|
|
|
|
Next
|
|
End If
|
|
|
|
End If
|
|
|
|
newSicherheit.rearangePosNrByDakosyLaufNr(newSicherheit.gs_gsNr, newSicherheit.gs_ATBNr)
|
|
|
|
If sendInfoMail Then
|
|
Dim InfoText As String = createInfoMail(RegistriernummerATLAS, posGestellung, "VW-EINGANG", newSicherheit)
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungseingang aus DAKOSY - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag")
|
|
End If
|
|
|
|
Return True
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Finally
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
|
|
End Try
|
|
|
|
|
|
|
|
|
|
End Function
|
|
|
|
Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, veralteteregNR As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, Optional isNCTS As Boolean = False, Optional sicherheitsbetragInput As Double = 0)
|
|
|
|
Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
|
|
|
|
Try
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
|
|
|
|
If posErledigung IsNot Nothing AndAlso posErledigung.Rows.Count > 0 Then
|
|
|
|
For Each POS As DataRow In posErledigung.Rows
|
|
|
|
Dim MRNNR As String = ""
|
|
Dim existingEntryID As Integer = 0
|
|
|
|
If Not IsDBNull(POS("IDRegNrSumA")) AndAlso POS("IDRegNrSumA").ToString <> "" Then
|
|
|
|
Dim POSNr As Integer = If(IsDBNull(POS("IDRegNrSumAPos")), 0, CInt(POS("IDRegNrSumAPos")))
|
|
|
|
If MRNNR <> POS.Item("IDRegNrSumA") Then
|
|
MRNNR = POS.Item("IDRegNrSumA")
|
|
Dim sqlString = ""
|
|
If isNCTS Then
|
|
sqlString = "Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsId = gs.gs_gsId where [gs_MRNNr] = '" & MRNNR & "' and [gs_dakoyimport] = 1 order by gsp_gspPosId"
|
|
Else
|
|
sqlString = "Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsId = gs.gs_gsId where ([gs_VeralteteWeitereRegistriernummer] = '" & MRNNR & "' or [gs_MRNNr] = '" & regNR & "') and [gs_dakoyimport] = 1 order by gsp_gspPosId, gsp_MRNNr"
|
|
End If
|
|
|
|
Dim dtGesamtsicherheit = SQL.loadDgvBySql(sqlString, "AVISO")
|
|
|
|
If dtGesamtsicherheit.Rows.Count > 0 Then
|
|
|
|
Dim gs_row As Array = Nothing
|
|
|
|
'Dim gs_row As DataRow = dtGesamtsicherheit.Rows(0)
|
|
|
|
'Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
|
|
|
|
'If rows.Length > 0 Then
|
|
' Exit Sub 'bereits vorhanden -> keine INFO
|
|
'End If
|
|
|
|
If isNCTS Then
|
|
'gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & "")
|
|
gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
|
|
Else
|
|
gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
|
|
End If
|
|
|
|
If gs_row.Length = 0 Then
|
|
Continue For
|
|
End If
|
|
|
|
Dim gsrightRow As DataRow = gs_row(0) 'es gibt dann immer nur 1 Eintrag!
|
|
|
|
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(gsrightRow("gs_standort"))
|
|
Dim saldo As Double = GesSichRef.CalcSaldo()
|
|
|
|
|
|
Dim Warenwert As Double = 0
|
|
Dim Sicherheitsbetrag As Double = 0
|
|
|
|
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
|
|
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gsrightRow("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gsrightRow("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gsrightRow("gs_ATBNr") & "'", "AVISO")
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
|
|
|
|
Dim posNr_temp As String = gsrightRow.Item("gs_posNr")
|
|
|
|
|
|
If dtVorpapiere.Rows.Count > 0 Then
|
|
|
|
Dim rowsVorp = dtVorpapiere.AsEnumerable().Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso ((
|
|
r("tblSnd_Vorpapier_Pos").ToString() & "," &
|
|
r("tblSnd_Vorpapier2_Pos").ToString() & "," &
|
|
r("tblSnd_Vorpapier3_Pos").ToString()).Split(","c).Select(Function(x) x.Trim()).Where(Function(x) x <> "").Select(Function(x) CInt(x)).DefaultIfEmpty(Integer.MaxValue).Min() = CInt(posNr_temp))).ToArray()
|
|
|
|
If rowsVorp.Length > 0 Then
|
|
Dim row = rowsVorp(0)
|
|
Warenwert = CDbl(row("tblSnd_Warenwert"))
|
|
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
|
|
End If
|
|
End If
|
|
|
|
|
|
Dim anzahlPackstuecke As Integer = -1
|
|
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
|
|
Dim StornierungKz As String = ""
|
|
|
|
If Not isNCTS Then
|
|
StornierungKz = IIf(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
|
|
End If
|
|
|
|
If Not IsDBNull(gsrightRow.Item("gs_EH_Anzahl")) AndAlso IsNumeric(gsrightRow.Item("gs_EH_Anzahl")) Then
|
|
Try
|
|
anzahlPackstuecke = CInt(gsrightRow.Item("gs_EH_Anzahl"))
|
|
Catch ex As Exception
|
|
anzahlPackstuecke = -1
|
|
End Try
|
|
|
|
|
|
|
|
If anzahlPackstuecke > 0 AndAlso anzahlPackstuecke <> AnzahlStückErledigt Then 'Hinweismeldung, wenn nicht alle erledigt wurden!
|
|
Dim dt As New DataTable
|
|
|
|
If Not dt.Columns.Contains("anzahlPackstuecke") Then
|
|
dt.Columns.Add("MRN", GetType(String))
|
|
dt.Columns.Add("LKW_ID", GetType(String))
|
|
dt.Columns.Add("anzahlPackstuecke", GetType(Integer))
|
|
If Not isNCTS Then dt.Columns.Add("StornierungKZ", GetType(String))
|
|
dt.Columns.Add("AnzahlStückErledigt", GetType(Integer))
|
|
End If
|
|
|
|
Dim ro As DataRow = dt.NewRow
|
|
ro("MRN") = gsrightRow.Item("gs_MRNNr")
|
|
ro("LKW_ID") = gsrightRow.Item("gs_avisoId")
|
|
ro("anzahlPackstuecke") = anzahlPackstuecke
|
|
ro("AnzahlStückErledigt") = AnzahlStückErledigt
|
|
If Not isNCTS Then ro("StornierungKZ") = StornierungKz
|
|
dt.Rows.Add(ro)
|
|
|
|
|
|
Dim InfoText As String = createInfoMail(MRNNR, dt, "")
|
|
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Erledigungsmeldung-DAKOSY fehlende Positionen - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag")
|
|
End If
|
|
|
|
Dim SicherheitsPos As New cGesamtsicherheitsPositionen()
|
|
With SicherheitsPos
|
|
.gsp_gsId = gsrightRow("gs_gsId")
|
|
'.gsp_gspPosId = CInt(POSNr)
|
|
.gsp_gspPosId = gsrightRow.Item("gs_posNr")
|
|
.gsp_warenwert = Warenwert
|
|
.gsp_sicherheitsbetrag = Sicherheitsbetrag
|
|
.gsp_freitext = DAKOSY_STATUS.IMPORTED
|
|
.gsp_filialenNr = gsrightRow("gs_filialenNr")
|
|
.gsp_art = "CLOSE"
|
|
.gsp_gsNr = gsrightRow("gs_gsnr")
|
|
.gsp_abfertigungsNr = gsrightRow("gs_abfertigungsnr")
|
|
.gsp_datum = nachrichtenDatum
|
|
.gsp_erstellungsdatum = DateTime.Now
|
|
.gsp_ust = gsrightRow("gs_ust")
|
|
|
|
If Not isNCTS Then
|
|
.gsp_ATCNr = IIf(veralteteregNR = "", MRNNR, veralteteregNR)
|
|
.gsp_MRNNr = IIf(regNR = "", MRNNR, regNR)
|
|
Else
|
|
.gsp_ATCNr = ""
|
|
.gsp_MRNNr = IIf(regNR = "", MRNNR.Trim(), regNR.Trim())
|
|
End If
|
|
|
|
.gsp_avisoId = gsrightRow("gs_avisoID")
|
|
.gsp_systemuser = "DAKOSY-AUTO"
|
|
.gsp_EH_Anzahl = AnzahlStückErledigt
|
|
|
|
End With
|
|
|
|
|
|
SicherheitsPos.SAVE()
|
|
GesSichRef.CalcSaldo()
|
|
|
|
If sendInfoMail Then
|
|
Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS)
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang aus DAKOSY " & IIf(isNCTS, "T1 ", "") & " - " & Now().ToShortDateString, InfoText2,,,,, "d.breimaier@verag.ag")
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
End If
|
|
|
|
'End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Finally
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Public Shared Function AddNewGesamtSichNr() As Integer
|
|
Dim sqlq As String = "select MAX([gs_gsNr]) as MaxGesSich from tblGesamtsicherheit"
|
|
Dim dt As New DataTable
|
|
dt = SQL.loadDgvBySql(sqlq, "AVISO", 100, True)
|
|
Dim LetzteGesSichNum As Integer = -1
|
|
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
|
|
|
|
LetzteGesSichNum = dt.Rows(0).Item(0)
|
|
Return LetzteGesSichNum + 1
|
|
|
|
End If
|
|
|
|
Return 0
|
|
End Function
|
|
|
|
Public Shared Function createInfoMail(regNR As String, dt As DataTable, typ As String, Optional GS As cSicherheiten = Nothing, Optional GSPOS As cGesamtsicherheitsPositionen = Nothing, Optional isNCTS As Boolean = False) As String
|
|
|
|
Dim TextHTMLtable As String
|
|
|
|
Select Case typ
|
|
Case "MASSNAHME-DAKOSY"
|
|
TextHTMLtable &= "Bei " & regNR & " wurden eine Zoll-Maßnahme ausgelöst." & vbNewLine & vbNewLine & vbNewLine
|
|
|
|
TextHTMLtable &= "<table border=1>"
|
|
TextHTMLtable &= "<tr><td>Code</td><td>Text</td><td>NichtzustellbarKz</td><td>PackstueckAnzahl</td><td>PackstueckArt</td></tr>"
|
|
|
|
For Each r As DataRow In dt.Rows
|
|
|
|
TextHTMLtable &= "<tr>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeCode") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeText") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeNichtzustellbarKz") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("PackstueckAnzahl") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("PackstueckArt") & "</b></td>"
|
|
TextHTMLtable &= "</tr>"
|
|
|
|
Next
|
|
|
|
TextHTMLtable &= "</table>"
|
|
|
|
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
|
|
Return TextHTMLtable
|
|
|
|
|
|
Case "VW-EINGANG"
|
|
|
|
TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
|
|
|
|
TextHTMLtable &= "<table border=1>"
|
|
TextHTMLtable &= "<tr><td>PosNr</td><td>Vorpapier</td><td>MRN</td><td>LKWID</td></tr>"
|
|
|
|
If GS IsNot Nothing Then
|
|
TextHTMLtable &= "<tr>"
|
|
TextHTMLtable &= "<td><b>" & GS.gs_posNr & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & GS.gs_ATBNr & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & GS.gs_MRNNr & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & GS.gs_avisoId & "</b></td>"
|
|
TextHTMLtable &= "</tr>"
|
|
|
|
End If
|
|
|
|
|
|
TextHTMLtable &= "</table>"
|
|
|
|
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
|
|
Return TextHTMLtable
|
|
|
|
Case "VW-AUSGANG"
|
|
|
|
TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
|
|
|
|
TextHTMLtable &= "<table border=1>"
|
|
TextHTMLtable &= "<tr><td>PosNr</td><td>MRN</td><td>ATC</td><td>AVISOID</td></tr>"
|
|
|
|
If GSPOS IsNot Nothing Then
|
|
TextHTMLtable &= "<tr>"
|
|
TextHTMLtable &= "<td><b>" & GSPOS.gsp_gspPosId & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & GSPOS.gsp_MRNNr & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & GSPOS.gsp_ATCNr & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & GSPOS.gsp_avisoId & "</b></td>"
|
|
TextHTMLtable &= "</tr>"
|
|
End If
|
|
|
|
|
|
TextHTMLtable &= "</table>"
|
|
|
|
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
|
|
Return TextHTMLtable
|
|
|
|
|
|
Case Else
|
|
|
|
TextHTMLtable &= regNR & " wurde nicht vollständig aufgelöst." & vbNewLine & vbNewLine & vbNewLine
|
|
|
|
TextHTMLtable &= "<table border=1>"
|
|
TextHTMLtable &= "<tr><td>MRN-Nr</td><td>LKW-ID</td><td>Packstücke gesamt</td><td>Packstücke erledigt</td><td>Stornierung KZ</td></tr>"
|
|
|
|
For Each r As DataRow In dt.Rows
|
|
|
|
TextHTMLtable &= "<tr>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("MRN") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("LKW_ID") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("anzahlPackstuecke") & "</b></td>"
|
|
TextHTMLtable &= "<td><b>" & r.Item("AnzahlStückErledigt") & "</b></td>"
|
|
If Not isNCTS Then TextHTMLtable &= "<td><b>" & r.Item("StornierungKZ") & "</b></td>"
|
|
TextHTMLtable &= "</tr>"
|
|
|
|
Next
|
|
|
|
TextHTMLtable &= "</table>"
|
|
|
|
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
|
|
Return TextHTMLtable
|
|
|
|
End Select
|
|
|
|
|
|
End Function
|
|
End Class
|