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_systemuser = "DAKOSY-AUTO" .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 RegistriernummerATLAS = "" ' 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 Dim BezugsNr = readEZA_SumAErledigungsinformationVorpapier_005 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 = EZA.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 existingEntryID As Integer = 0 existingEntryID = CInt((New SQL).getValueTxtBySql("Select count(*) From [tblGesamtsicherheitsPositionen] inner join [tblGesamtsicherheit] on gs_gsId = gsp_gsId where [gs_ATBNr] = '" & RegistriernummerATLAS & "' order by gs_datum desc")) If existingEntryID > 0 Then GoTo Anzeige existingEntryID = CInt((New SQL).getValueTxtBySql("Select count(*) From [tblGesamtsicherheitsPositionen] inner join [tblGesamtsicherheit] on gs_gsId = gsp_gsId where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) or gs_avisoId = '" & SND.tblSnd_AvisoID & "' order by gs_datum desc")) If existingEntryID > 0 Then GoTo Anzeige Dim gsNr As Integer = 0 gsNr = CInt((New SQL).getValueTxtBySql("Select gsNr From [tblGesamtsicherheit] where [gs_ATBNr] = '" & RegistriernummerATLAS & "' order by gs_datum desc")) If gsNr > 0 Then GoTo Insert gsNr = CInt((New SQL).getValueTxtBySql("Select gsNr From [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) or gs_avisoId = '" & SND.tblSnd_AvisoID & "' order by gs_datum desc")) If gsNr > 0 Then GoTo Insert Else GoTo Anzeige End If ''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 Insert: Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cAufschubKonten(Standort) Dim saldo = GesSichRef.CalcSaldo() Try Dim SicherheitsPos As New cGesamtsicherheitsPositionen() With SicherheitsPos '.gsp_gsId = gs_gsId ''.gsp_gspPosId = Me.getLatestPosNr(currentSicherheit.gs_gsNr, ) + 1 '.gsp_gspPosId = OPEN.gs_posNr '.gsp_warenwert = Double.Parse(txtPosWarenwert.Text) '.gsp_sicherheitsbetrag = Double.Parse(txtPosSicherheitsbetrag.Text) '.gsp_freitext = txtPosFreitext.Text '.gsp_filialenNr = currentSicherheit.gs_filialenNr '.gsp_art = "CLOSE" .gsp_gsNr = gsNr '.gsp_abfertigungsNr = currentSicherheit.gs_abfertigungsnr .gsp_datum = 'DateTimeString2DateTimeKonvertinator(txtPosDat.Text, txtPosTime.Text) .gsp_erstellungsdatum = DateTime.Now .gsp_ust = 'currentSicherheit.gs_ust .gsp_ATCNr = 'txtPositionenCRN.Text .gsp_avisoId = 'Me.avisoID' .gsp_systemuser = "DAKOSY-AUTO" End With VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True SicherheitsPos.SAVE() VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False Catch ex As Exception End Try End If End If End If Anzeige: FORM.addDGVEinarbeitung("VW: Erledigungsinformation-Vorpapier", 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() '---------------------------------------------------------------- '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