From 51d8cd41b000dfe3173b4a4ac4bef99528aa6a25 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Wed, 1 Nov 2023 09:11:41 +0100 Subject: [PATCH] NCTS Fremd BRG --- SDL/zoll/usrCntlBrgBuchungenFremd.vb | 26 ++++++--- VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb | 1 + .../Schnittstellen/cNCTS_Helper.vb | 57 +++++++++++++++---- 3 files changed, 66 insertions(+), 18 deletions(-) diff --git a/SDL/zoll/usrCntlBrgBuchungenFremd.vb b/SDL/zoll/usrCntlBrgBuchungenFremd.vb index 402c389c..6c0f1b6f 100644 --- a/SDL/zoll/usrCntlBrgBuchungenFremd.vb +++ b/SDL/zoll/usrCntlBrgBuchungenFremd.vb @@ -71,17 +71,29 @@ Public Class usrCntlBrgBuchungenFremd End Select - 'DAKOSY: - Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_Befoerderungsmittel_KennzeichenAbgang as Kennzeichen, isnull(ncts_MRN,'') as MRN, ncts_SumA_Befoerderer_Land as Land, nctsSA_AbgabenBetrag as GarantieBetrag, ncts_SumA_Befoerderer_Name as Firma " & - " " & If(cboBRG.Text.Contains("TOBB") Or cboBRG.Text.Contains("OREGON"), ", isnull(ncts_BestimmungsstelleDienststellennummer,'') as Bestimmungsstelle ", "") & " " & - " ,ncts_ObjectName as Bezugsnummer " & - "FROM [tblDakosy_NCTSOut] INNER JOIN [tblDakosy_NCTSOut_Sicherheitsangaben] on ncts_Id=[nctsSA_NctsId] " + ''DAKOSY: + 'Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_Befoerderungsmittel_KennzeichenAbgang as Kennzeichen, isnull(ncts_MRN,'') as MRN, ncts_SumA_Befoerderer_Land as Land, nctsSA_AbgabenBetrag as GarantieBetrag, ncts_SumA_Befoerderer_Name as Firma " & + ' " " & If(cboBRG.Text.Contains("TOBB") Or cboBRG.Text.Contains("OREGON"), ", isnull(ncts_BestimmungsstelleDienststellennummer,'') as Bestimmungsstelle ", "") & " " & + ' " ,ncts_ObjectName as Bezugsnummer " & + ' "FROM [tblDakosy_NCTSOut] INNER JOIN [tblDakosy_NCTSOut_Sicherheitsangaben] on ncts_Id=[nctsSA_NctsId] " - sqlatr &= " WHERE nctsSA_GRN IN (" & cboBRG._value & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" + 'sqlatr &= " WHERE nctsSA_GRN IN (" & cboBRG._value & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" + 'sqlatr &= where + 'sqlatr &= " AND (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "')>0 " + 'Dim dt As DataTable = SQL.loadDgvBySql(sqlatr, "FMZOLL", 120) + + 'DAKOSY NCTS 004: + Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_ActiveBorderTransportMeans_1_IdentificationNumber as Kennzeichen, isnull(ncts_MRN,'') as MRN, '' as Land, nctsGRT_AmountToBeCovered as GarantieBetrag, ncts_Carrier_IdentificationNumber as Firma " & + " " & If(cboBRG.Text.Contains("TOBB") Or cboBRG.Text.Contains("OREGON"), ", isnull(ncts_CustomsOfficeOfDestinationDeclared,'') as Bestimmungsstelle ", "") & " " & + " ,ncts_ObjectName as Bezugsnummer " & + "FROM [tblDakosy_NCTSOut004] INNER JOIN tblDakosy_NCTSOut004_Guarantee on ncts_Id=[nctsGRT_NctsId] " + + sqlatr &= " WHERE [nctsGRT_GRN] IN (" & cboBRG._value & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" sqlatr &= where - sqlatr &= " AND (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "')>0 " + sqlatr &= " AND and ncts_Eroeffnung BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' " Dim dt As DataTable = SQL.loadDgvBySql(sqlatr, "FMZOLL", 120) + 'MsgBox(sqlatr) 'Bei IMEX kein E-ZOLL If MyComboBox1._value = "VERAG/ATILLA" Then diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb b/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb index 19e362ff..1ea4cd6c 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cMessenger.vb @@ -146,6 +146,7 @@ Public Class cMessenger Me.chat_erstelltMaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID Me.chat_erstelltAm = Now Me.chat_art = "LKW_CHAT" + If chat_SendungsId > 0 Then Me.chat_art = "SND_CHAT" LOAD_ByLKW(chat_AvisoId, chat_SendungsId, chat_art, topMax, dateTmp) End Sub diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb index e3e3a4d5..2b9a5706 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/cNCTS_Helper.vb @@ -1,4 +1,7 @@ -Public Class cNCTS_Helper +Imports System.Windows.Forms +Imports System.Xml.Linq + +Public Class cNCTS_Helper Shared Function getXLS_FremdBRG(_COMPANY As String, _BRG_TEXT As String, _BRG_VALUE As String, datVon As Date, datBis As Date, _EZOLL As Boolean) As String 'MyComboBox1._value ,cboBRG.TEXT,_BRG_VALUE,datVon.Value ,datBis.Value.ToShortDateString ,cbxEZollDaten.Checked @@ -18,24 +21,50 @@ 'DAKOSY: - Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_Befoerderungsmittel_KennzeichenAbgang as Kennzeichen, isnull(ncts_MRN,'') as MRN, ncts_SumA_Befoerderer_Land as Land, nctsSA_AbgabenBetrag as GarantieBetrag, ncts_SumA_Befoerderer_Name as Firma " & - " " & If(_BRG_TEXT.Contains("TOBB") Or _BRG_TEXT.Contains("OREGON"), ", isnull(ncts_BestimmungsstelleDienststellennummer,'') as Bestimmungsstelle ", "") & " " & - " ,ncts_ObjectName as Bezugsnummer " & - " , nctsSA_GRN as GRN " & - " FROM [tblDakosy_NCTSOut] INNER JOIN [tblDakosy_NCTSOut_Sicherheitsangaben] on ncts_Id=[nctsSA_NctsId] " - sqlatr &= " WHERE nctsSA_GRN IN (" & _BRG_VALUE & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" + 'DAKOSY NCTS 004: + Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_ActiveBorderTransportMeans_1_IdentificationNumber as Kennzeichen, isnull(ncts_MRN,'') as MRN,nctsGRT_AmountToBeCovered as GarantieBetrag /* ' ' as Land, , '' as Firma */" & + " " & If(_BRG_TEXT.Contains("TOBB") Or _BRG_TEXT.Contains("OREGON"), ", isnull(ncts_CustomsOfficeOfDestinationDeclared,'') as Bestimmungsstelle ", "") & " " & + " ,ncts_ObjectName as Bezugsnummer " & + "FROM [tblDakosy_NCTSOut004] INNER JOIN tblDakosy_NCTSOut004_Guarantee on ncts_Id=[nctsGRT_NctsId] " + + sqlatr &= " WHERE [nctsGRT_GRN] IN (" & _BRG_VALUE & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" sqlatr &= where - sqlatr &= " AND (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "')>0 " + sqlatr &= " AND ncts_Eroeffnung BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "' " sqlatr &= " ORDER BY Datum " + Dim dt As DataTable = SQL.loadDgvBySql(sqlatr, "FMZOLL", 120) + + Dim C As New DataColumn + C.ColumnName = "Firma" + C.MaxLength = "30" + dt.Columns.Add(C) + + C = New DataColumn + C.ColumnName = "Land" + C.MaxLength = "3" + dt.Columns.Add(C) + + 'Dim sqlatr = " SELECT (SELECT TOP 1 CONVERT(varchar, [dySt_ergZeitpunkt] ,104 ) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 ) as Datum, ncts_Befoerderungsmittel_KennzeichenAbgang as Kennzeichen, isnull(ncts_MRN,'') as MRN, ncts_SumA_Befoerderer_Land as Land, nctsSA_AbgabenBetrag as GarantieBetrag, ncts_SumA_Befoerderer_Name as Firma " & + ' " " & If(_BRG_TEXT.Contains("TOBB") Or _BRG_TEXT.Contains("OREGON"), ", isnull(ncts_BestimmungsstelleDienststellennummer,'') as Bestimmungsstelle ", "") & " " & + ' " ,ncts_ObjectName as Bezugsnummer " & + ' " , nctsSA_GRN as GRN " & + ' " FROM [tblDakosy_NCTSOut] INNER JOIN [tblDakosy_NCTSOut_Sicherheitsangaben] on ncts_Id=[nctsSA_NctsId] " + + 'sqlatr &= " WHERE nctsSA_GRN IN (" & _BRG_VALUE & ") and ncts_Status between 50 and 60 " ' CONVERT(date, ncts_Trans_DatumZeit ,104 ) BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "'" + 'sqlatr &= where + 'sqlatr &= " AND (SELECT COUNT(*) FROM [tblDakosy_Statusmeldungen] WHERE [dySt_dyId]=ncts_dyaAnmID AND [dySt_status] = 50 AND CONVERT(date, [dySt_ergZeitpunkt] ,104 ) BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "')>0 " + 'sqlatr &= " ORDER BY Datum " + + + ' MsgBox(sqlatr) 'Bei IMEX kein E-ZOLL If _COMPANY = "VERAG/ATILLA" Then If _EZOLL Then 'EZOLL: - sqlatr = " Select TOP 100 AnmeldungsDatum As Datum , (Select [CrossIdnt] FROM [zsAnmTransp] where [zsAnmTransp].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnungneu.AnmID ) As Kennzeichen, isnull(CRN,'') as MRN, (select [CrossIdntNat] FROM [zsAnmTransp] where [zsAnmTransp].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnungneu.AnmID ) as Land, cast(GarantieWert as Decimal(17,2)) as GarantieBetrag,(SELECT [Na] FROM [ezoll].[dbo].[zsAnmCarrTra] where [zsAnmCarrTra].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnungneu.AnmID) as Firma " + sqlatr = " Select TOP 100 AnmeldungsDatum As Datum , (Select [CrossIdnt] FROM [zsAnmTransp] where [zsAnmTransp].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnungneu.AnmID ) As Kennzeichen, isnull(CRN,'') as MRN, cast(GarantieWert as Decimal(17,2)) as GarantieBetrag, (select [CrossIdntNat] FROM [zsAnmTransp] where [zsAnmTransp].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnungneu.AnmID ) as Land,(SELECT [Na] FROM [ezoll].[dbo].[zsAnmCarrTra] where [zsAnmCarrTra].AnmID=vwVERAG_Zolaris_EZoll_NCTS_Datenübernahme_Eroeffnungneu.AnmID) as Firma " sqlatr &= " " & If(_BRG_TEXT.Contains("TOBB") Or _BRG_TEXT.Contains("OREGON"), ", isnull(Bestimmungszollstelle,'') as Bestimmungsstelle ", "") & " " sqlatr &= " ,LRN as Bezugsnummer " sqlatr &= " , GRN " @@ -66,7 +95,7 @@ getEmptyFraechter(dt) dt.Columns.Remove("Bezugsnummer") Dim optfileName = "NCTS_TOBB_" & datVon.ToShortDateString & "-" & datBis.ToShortDateString - Return cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1)}, , "Bürgschaftsbuchungen " & _BRG_TEXT, "Datum: " & Now.ToShortDateString, False, optfileName) + Return cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1)}, , "Bürgschaftsbuchungen " & _BRG_TEXT, "Datum: " & Now.ToShortDateString, False, optfileName,, ) Catch ex As Exception @@ -80,7 +109,7 @@ If dt IsNot Nothing Then For Each r In dt.Rows Try - If r("Firma") Is DBNull.Value OrElse r("Firma") = "" Then + If r("Firma") Is DBNull.Value OrElse r("Firma").trim = "" Then Dim Bezugsnummer = If(r("Bezugsnummer"), "") Dim FirmaTmp = "" Dim FirmaNat = "" @@ -93,6 +122,12 @@ End If Else FirmaTmp = SQL.DLookup("isnull([Frachtführer],'')", "Speditionsbuch", " ([AtlasBezNrEZA]='" & Bezugsnummer & "' OR [AtlasBezNrNCTS]='" & Bezugsnummer & "')", "FMZOLL") + + If FirmaTmp = "" And Bezugsnummer.ToString.Length >= 13 Then + FirmaTmp = SQL.DLookup("isnull([Frächter],'')", "Aviso inner join tblSendungen on AvisoID=tblSnd_AvisoID", " cast(FilialenNr as varchar(4))+'/'+cast(AbfertigungsNr as varchar(10))='" & Bezugsnummer.ToString.Substring(0, 13) & "' ", "AVISO") ' and Datum >=DATEADD(month,-2, getdate()) + ' MsgBox("cast(FilialenNr as varchar(4))+'/'+cast(AbfertigungsNr as varchar(10))='" & Bezugsnummer.ToString.Substring(0, 13) & "'") + End If + 'SELECT FROM [AVISO].[dbo].[Aviso] inner join tblSendungen on AvisoID=tblSnd_AvisoID where cast(FilialenNr as varchar(4))+'/'+cast(AbfertigungsNr as varchar(10))like '4801/23000002%' End If If FirmaTmp.ToString.Contains(";") Then FirmaTmp = FirmaTmp.ToString.Split(";")(0)