Files
ADMIN/initATLASAufschubkonten/cWorker_Verwahrung.vb
2024-11-27 18:20:33 +01:00

457 lines
22 KiB
VB.net

Imports com.sun.org.apache.bcel.internal.generic
Imports DocumentFormat.OpenXml.Wordprocessing
Imports Spire.Pdf
Imports VERAG_PROG_ALLGEMEIN
Public Class cWorker_Verwahrung
Public Shared Dateiname = ""
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Shared Function readVW_SumAVerwahrungsinfo(FORM As frmDYNachrichtenVerarbeitung, d As String, saveVerwahrung As Boolean) As String
Try
Dim VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp = DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp.LoadFromFile(d)
Dim Vorpapiernummer = ""
Dim RegistriernummerATLAS = ""
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
Vorpapiernummer = 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.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))
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
posGestellung.Rows.Add(ro)
End If
Next
End If
End If
End If
End If
If readVW_SumAVerwahrungsinfo <> "" And Vorpapiernummer <> "" 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()
If saveVerwahrung Then
'----------------------------------------------------------------
Try
Dim BezugsNr = readVW_SumAVerwahrungsinfo
Dim Standort As String = ""
If BezugsNr.Length > 4 Then
Select Case BezugsNr.Substring(0, 4)
Case 4803, 4809
Standort = "VERAG AG"
Case 5601
Standort = "UNISPED GmbH"
Case 5701
Standort = "AMBAR GmbH"
Case 4810, 5103, 5901
Standort = "VERAG GmbH"
Case 5501
Standort = "IMEX"
Case Else
GoTo Anzeige
End Select
Dim filiale = IIf(BezugsNr.Length > 4, BezugsNr.Substring(0, 4), "")
Dim abfertigungsnummer = IIf(BezugsNr.Length >= 14, BezugsNr.Substring(5, 8), "")
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 existingEntry As Integer = 0
existingEntry = CInt((New SQL).getValueTxtBySql("Select count(*) from [tblGesamtsicherheit] where [gs_ATBNr] = '" & RegistriernummerATLAS & "' order by gs_datum desc"))
If existingEntry > 0 Then GoTo Anzeige
existingEntry = CInt((New SQL).getValueTxtBySql("Select count(*) from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) or gs_avisoId = '" & SND.tblSnd_AvisoID & "' order by gs_datum desc"))
If existingEntry > 0 Then GoTo Anzeige
''sonderfälle lt. Mestan
If SND.tblSnd_Zollsystem_Land = "DE" Then
Select Case SND.FilialenNr
Case 5501, 4803, 4809, 5103
Standort = "VERAG GmbH"
End Select
ElseIf SND.tblSnd_Zollsystem_Land = "AT" Then
If SND.tblSnd_Abfertigungsart_ID = 1 Then 'ZA
Standort = "VERAG CS"
ElseIf SND.tblSnd_Abfertigungsart_ID = 38 Then 'EV-Verz
Select Case SND.FilialenNr
Case 4803, 5303, 4809, 5103
Standort = "VERAG CS"
End Select
End If
End If
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cAufschubKonten(Standort)
Dim saldo = GesSichRef.CalcSaldo()
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
'Verwahrung ANSCHREIBUNG
Dim ANSCHREIBUNG As New cSicherheiten()
Dim gsId As Integer
With ANSCHREIBUNG
.gs_ATBNr = RegistriernummerATLAS
.gs_posNr = 1
.gs_datum = gestellungsdatum
.gs_warenwert = IIf(SND.tblSnd_Warenwert IsNot Nothing AndAlso IsNumeric(SND.tblSnd_Warenwert), CDbl(SND.tblSnd_Warenwert), 0)
.gs_sicherheitsbetrag = IIf(SND.tblSnd_Warenwert IsNot Nothing AndAlso IsNumeric(SND.tblSnd_Warenwert), CDbl(SND.tblSnd_Warenwert) * (GesSichRef.brgakto_gs_zollsatz / 100), 0)
.gs_standort = Standort
.gs_art = "OPEN"
'.gs_gsNr = ANSCHREIBUNG.gessicherheitID
.gs_erstellungsdatum = Now()
.gs_freitext = ""
.gs_saldo = saldo
.gs_atr = ""
.gs_filialenNr = filiale
.gs_abfertigungsnr = abfertigungsnummer
.gs_LKWKZ = SND.tblSnd_AvisoID
'.gs_warenort = gessich.warenortID
'.grenzstelle = AVISO.Grenzstelle.ToString.Replace("WO_", "")
.gs_systemuser = "DAKOSY-AUTO"
.gs_zollsatz = GesSichRef.brgakto_gs_zollsatz
.gs_avisoId = SND.tblSnd_AvisoID
End With
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
gsId = ANSCHREIBUNG.SAVEOBJECT()
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
If posGestellung.Rows.Count > 1 Then
For i As Integer = 2 To posGestellung.Rows.Count
Dim ANSCHREIBUNG_POS As New cSicherheiten()
With ANSCHREIBUNG_POS
.gs_gsNr = gsId
.gs_ATBNr = RegistriernummerATLAS
.gs_posNr = i
.gs_datum = gestellungsdatum
.gs_warenwert = 0
.gs_sicherheitsbetrag = 0
.gs_standort = Standort
.gs_art = "OPEN"
.gs_erstellungsdatum = DateTime.Now
.gs_freitext = ""
.gs_saldo = saldo
.gs_atr = ""
.gs_zollsatz = GesSichRef.brgakto_gs_zollsatz
.gs_avisoId = SND.tblSnd_AvisoID
End With
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
ANSCHREIBUNG.SAVE()
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Next
End If
End If
End If
End If
Catch ex As Exception
End Try
End If
Anzeige:
FORM.addDGVEinarbeitung("VW: Verwahrungsinfo", 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) As String
Try
Dim EZA As DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp = DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp.LoadFromFile(d)
Dim ART = ""
' Dim details = ""
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
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
End If
End If
End If
' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
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
' 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")
'Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA
''???????? REGNR
'If regNR <> "" Then
' STATUS.dySt_ergCode = "REGNr"
' STATUS.dySt_ergMitteilung = regNR
' EZA_TMP = FORM.saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), regNR)
'Else
' STATUS.dySt_ergCode = "ART"
' If ART <> "" Then STATUS.dySt_ergMitteilung = ART
' EZA_TMP = FORM.saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit))
'End If
'FORM.SaveEZA_FirmaNL(EZA_TMP, DY_TMP, division)
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'----------------------------------------------------------------
'Verwahrung ABSCHREIBUNG
If saveAbschreibung Then
Try
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End Try
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End If
'----------------------------------------------------------------
FORM.addDGVEinarbeitung("VW: Erledigungsinformation-Vorpapier", 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_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()
'----------------------------------------------------------------
'Verwahrung ABSCHREIBUNG
If saveAbschreibung Then
Try
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End Try
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
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
End Class