This commit is contained in:
2025-10-16 16:06:34 +02:00
parent da5982069e
commit a5fbf88a20
3 changed files with 171 additions and 122 deletions

View File

@@ -422,111 +422,13 @@ Public Class usrCntlCBAM
If txtBis._value = "" Then MsgBox("Datum bis eingeben!") : Exit Sub If txtBis._value = "" Then MsgBox("Datum bis eingeben!") : Exit Sub
Me.Cursor = Cursors.WaitCursor Me.Cursor = Cursors.WaitCursor
Dim SQL_GP As String = "SELECT [Registriernummer_MRN] as 'declaration no' Dim SQL_DAKOSY = ""
,max(Überlassungsdatum) as 'declaration date' Dim SQL_GP = ""
,isnull(max(Empfänger_CN_EORI),'') as 'importer identification number' getDY_Detail_SQL(SQLSTR_WHERE_FIRMEN, EORI, SQL_DAKOSY, SQL_GP) '--> Aufbau SQL String
,'' as 'exporter identification number'
, max(Warentarifnummer) as 'commodity code'
,max([VersendungsLand]) as 'origin country code'
,Left(max(Verfahren2),2) as 'requested procedure'
,'' as 'previous procedure'
,(max(Eigenmasse) / 1000) as 'net mass'
,'TONNES' as 'type of measurement unit'
,'' as 'invoice numbers'
,'' as 'invoice date'
,'' as 'member state auth'
,'' as 'discharge bill waiver'
,'' as 'authorisation'
,'' as 'start time'
,'' as 'end time'
,'' as 'deadline'
,isnull(max(Empfänger_CN_EORI),'') as 'reporting declarant EORI number'
,'' as 'type of representation'
,isnull(max(CN_Name), '') as 'importer title'
,'' as 'importer email'
,'' as 'importer phone'
,isnull(max(CN_Ländercode), '') as 'importer country code or member state'
,'' as 'importer subdivision'
,'' as 'importer city'
,'' as 'importer street'
,'' as 'importer street additional'
,'' as 'importer address number'
,'' as 'importer post code'
,'' as 'importer po box'
,'' as 'importer coordinate longitude (x)'
,'' as 'importer coordinate latitude (y)'
,isnull(max(CZ_Name), '') as 'exporter title'
,isnull(max(CZ_Ländercode), '') as 'exporter country code or member state'
,'' as 'exporter street'
,'' as 'exporter street additional'"
Dim SQL_DAKOSY As String = "SELECT Dim dt = SQL.loadDgvBySql(SQL_DAKOSY, "AVISO", 600)
[Registriernummer_MRN] RegistriernummerATLAS
,PositionNo PositionsNummer
,max(Überlassungsdatum) Anmeldedatum
,max([Bezugsnummer_LRN]) BezugsNr
,max([Art_der_Vertretung]) VertretungsVerhaeltnis
,max(Warentarifnummer) Tarifnummer
,max(Eigenmasse) Eigenmasse
,max([VersendungsLand]) VersendungsLand
,'DE' Bestimmungsland
,max([DV1Rechnungsbetrag])Rechnungspreis
,max([Rechnungswährung]) Rechnungswaehrung
,isnull(max(Empfänger_CN_EORI),'') as EmpfängerEORI
,isnull(max(CN_Name), '') as Empfänger
,isnull(max(Versender_CZ_EORI),'') as AbsenderEORI
,isnull(max(CZ_Name), '') as Absender
,'' as 'Rechnungsnummer'
,'' as 'Rechnungsdatum'"
Dim SQLSTR = " FROM [tbl_DY_Zollmeldungen_Import] Dim dtGP = SQL.loadDgvBySql(SQL_GP, "AVISO", 600)
where
Überlassungsdatum between '" & txtVon._value & "' and '" & txtBis._value & "'
and
(
left(Warentarifnummer,4) IN (2523,2716,2808,2814,3102,3105,7201,7203,7318,7326,7601,7616)
OR left(Warentarifnummer,4) between 7301 and 7311
OR left(Warentarifnummer,4) between 7205 and 7229
OR left(Warentarifnummer,4) between 7603 and 7614
OR Warentarifnummer like '25070080%'
OR Warentarifnummer like '283421%'
OR Warentarifnummer like '260112%'
OR Warentarifnummer like '720211%'
OR Warentarifnummer like '720219%'
OR Warentarifnummer like '720241%'
OR Warentarifnummer like '720249%'
OR Warentarifnummer like '720260%'
OR Warentarifnummer like '280410%'
)
and Warentarifnummer not like '310560%'
"
If SQLSTR_WHERE_FIRMEN <> "" Then
SQLSTR &= " and Teilnehmer in ( " & SQLSTR_WHERE_FIRMEN & ")"
SQLSTR &= "
and left(Art_der_Vertretung,1) IN (2)
"
Else
'Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird.
'SQLSTR &= "
' and (select isnull([ezaAd_NameFirma1],[ezaAd_TeilnehmerEORI]) FROM tblDakosy_EZA_Adressen WHERE ezaAd_EZAId=eza_Id and [ezaAd_AdressTyp]='CN')='" & EORI & "'
' "
SQLSTR &= "
and Empfänger_CN_EORI='" & EORI & "'
"
End If
SQLSTR &= " group by Registriernummer_MRN,PositionNo"
SQLSTR &= " order by isnull(max(CZ_Name), ''), Registriernummer_MRN, PositionNo"
Dim dt = SQL.loadDgvBySql(SQL_DAKOSY & SQLSTR, "AVISO", 600)
Dim dtGP = SQL.loadDgvBySql(SQL_GP & SQLSTR, "AVISO", 600)
@@ -771,7 +673,116 @@ Public Class usrCntlCBAM
End Sub End Sub
Sub getDY_Detail_SQL(SQLSTR_WHERE_FIRMEN, EORI, ByRef SQL_DAKOSY, ByRef SQL_GP)
SQL_GP = "SELECT [Registriernummer_MRN] as 'declaration no'
,max(Überlassungsdatum) as 'declaration date'
,isnull(max(Empfänger_CN_EORI),'') as 'importer identification number'
,'' as 'exporter identification number'
, max(Warentarifnummer) as 'commodity code'
,max([VersendungsLand]) as 'origin country code'
,Left(max(Verfahren2),2) as 'requested procedure'
,'' as 'previous procedure'
,(max(Eigenmasse) / 1000) as 'net mass'
,'TONNES' as 'type of measurement unit'
,'' as 'invoice numbers'
,'' as 'invoice date'
,'' as 'member state auth'
,'' as 'discharge bill waiver'
,'' as 'authorisation'
,'' as 'start time'
,'' as 'end time'
,'' as 'deadline'
,isnull(max(Empfänger_CN_EORI),'') as 'reporting declarant EORI number'
,'' as 'type of representation'
,isnull(max(CN_Name), '') as 'importer title'
,'' as 'importer email'
,'' as 'importer phone'
,isnull(max(CN_Ländercode), '') as 'importer country code or member state'
,'' as 'importer subdivision'
,'' as 'importer city'
,'' as 'importer street'
,'' as 'importer street additional'
,'' as 'importer address number'
,'' as 'importer post code'
,'' as 'importer po box'
,'' as 'importer coordinate longitude (x)'
,'' as 'importer coordinate latitude (y)'
,isnull(max(CZ_Name), '') as 'exporter title'
,isnull(max(CZ_Ländercode), '') as 'exporter country code or member state'
,'' as 'exporter street'
,'' as 'exporter street additional'"
SQL_DAKOSY = "SELECT
[Registriernummer_MRN] RegistriernummerATLAS
,PositionNo PositionsNummer
,max(Überlassungsdatum) Anmeldedatum
,max([Bezugsnummer_LRN]) BezugsNr
,max([Art_der_Vertretung]) VertretungsVerhaeltnis
,max(Warentarifnummer) Tarifnummer
,max(Eigenmasse) Eigenmasse
,max([VersendungsLand]) VersendungsLand
,'DE' Bestimmungsland
,max([DV1Rechnungsbetrag])Rechnungspreis
,max([Rechnungswährung]) Rechnungswaehrung
,isnull(max(Empfänger_CN_EORI),'') as EmpfängerEORI
,isnull(max(CN_Name), '') as Empfänger
,isnull(max(Versender_CZ_EORI),'') as AbsenderEORI
,isnull(max(CZ_Name), '') as Absender
,'' as 'Rechnungsnummer'
,'' as 'Rechnungsdatum'"
Dim SQLSTR = " FROM [tbl_DY_Zollmeldungen_Import]
where
Überlassungsdatum between '" & txtVon._value & "' and '" & txtBis._value & "'
AND (
LEFT(Warentarifnummer,4) IN (2523,2716,2808,2814,2803,2818,3102,3103,3104,3105,
7201,7202,7203,7204,7325,7318,7326,7601,7602)
OR LEFT(Warentarifnummer,4) BETWEEN 7205 AND 7229
OR LEFT(Warentarifnummer,4) BETWEEN 7301 AND 7311
OR LEFT(Warentarifnummer,4) BETWEEN 7603 AND 7614
OR Warentarifnummer LIKE '25070080%'
OR Warentarifnummer LIKE '260112%'
OR Warentarifnummer LIKE '260300%'
OR Warentarifnummer LIKE '260600%'
OR Warentarifnummer LIKE '283421%'
OR Warentarifnummer LIKE '720211%'
OR Warentarifnummer LIKE '720219%'
OR Warentarifnummer LIKE '720241%'
OR Warentarifnummer LIKE '720249%'
OR Warentarifnummer LIKE '720260%'
OR Warentarifnummer LIKE '280410%'
)
AND Warentarifnummer NOT LIKE '310560%'
"
If SQLSTR_WHERE_FIRMEN <> "" Then
SQLSTR &= " and Teilnehmer in ( " & SQLSTR_WHERE_FIRMEN & ")"
SQLSTR &= "
and left(Art_der_Vertretung,1) IN (2)
"
Else
'Das ist nicht zulässig, wenn die Unterabfrage auf =, !=, <, <=, > oder >= folgt oder als Ausdruck verwendet wird.
'SQLSTR &= "
' and (select isnull([ezaAd_NameFirma1],[ezaAd_TeilnehmerEORI]) FROM tblDakosy_EZA_Adressen WHERE ezaAd_EZAId=eza_Id and [ezaAd_AdressTyp]='CN')='" & EORI & "'
' "
SQLSTR &= "
and Empfänger_CN_EORI='" & EORI & "'
"
End If
SQLSTR &= " group by Registriernummer_MRN,PositionNo"
SQLSTR &= " order by isnull(max(CZ_Name), ''), Registriernummer_MRN, PositionNo"
SQL_GP &= SQLSTR
SQL_DAKOSY &= SQLSTR
End Sub
'Private Sub btnCBAM_DS_DAKOSY_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY.Click 'Private Sub btnCBAM_DS_DAKOSY_Click(sender As Object, e As EventArgs) Handles btnCBAM_DS_DAKOSY.Click
' btnCBAM_DS_DAKOSY_Deteil.Enabled = False ' btnCBAM_DS_DAKOSY_Deteil.Enabled = False
@@ -979,12 +990,12 @@ Public Class usrCntlCBAM
'End Sub 'End Sub
Private Sub ButtonXML_Click(sender As Object, e As EventArgs) Handles Button1.Click, Button3.Click Private Sub ButtonXML_Click(sender As Object, e As EventArgs) Handles Button1.Click
If sender Is Button1 Then If sender Is Button1 Then
Button2.Enabled = False Button2.Enabled = False
btnCBAM_DS_DAKOSY_XML.Enabled = False btnCBAM_DS_DAKOSY_XML.Enabled = False
btnCBAM_DS_DAKOSY_XML.Tag = "" btnCBAM_DS_DAKOSY_XML.Tag = ""
End If End If
@@ -1053,10 +1064,8 @@ Public Class usrCntlCBAM
If sender Is Button1 Then '----- XML ----------------------------------------------------------------------------------------------------------------------------------------
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
'----- XML ----------------------------------------------------------------------------------------------------------------------------------------
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
'--------------------------------------------------------------------------------------------------------------------------------------------- '---------------------------------------------------------------------------------------------------------------------------------------------
doCBAM_XML(dt, EORI) doCBAM_XML(dt, EORI)
'--------------------------------------------------------------------------------------------------------------------------------------------- '---------------------------------------------------------------------------------------------------------------------------------------------
@@ -1064,13 +1073,50 @@ Public Class usrCntlCBAM
btnCBAM_DS_DAKOSY_XML.Enabled = True btnCBAM_DS_DAKOSY_XML.Enabled = True
End If End If
ElseIf sender Is Button3 Then
'----- kafka / Greenpulse ----------------------------------------------------------------------------------------------------------------------------------------
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
doCBAM_KafkaFromDakosy(dt) '---------------------------------------------------------------------------------------------------------------------------------------------
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub Button3gp_Click(sender As Object, e As EventArgs) Handles Button3.Click
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Try
Dim EORI = txtEori.Text
If cbxVERAG.Checked Then EORI = "VERAG"
If EORI = "" Then MsgBox("EORI eingeben!") : Exit Sub
If txtVon._value = "" Then MsgBox("Datum von eingeben!") : Exit Sub
If txtBis._value = "" Then MsgBox("Datum bis eingeben!") : Exit Sub
Me.Cursor = Cursors.WaitCursor
Dim SQLSTR_WHERE_FIRMEN = ""
If cbxVERAG.Checked Then SQLSTR_WHERE_FIRMEN &= "'SUB','WAI','SBG','NKD','NEU','AMBWO','AMB','IRU','EXP','SUW','DUR'"
If cbxIMEX.Checked Then SQLSTR_WHERE_FIRMEN &= IIf(SQLSTR_WHERE_FIRMEN <> "", ", ", "") & "'IME'"
If cbxUNISPED.Checked Then SQLSTR_WHERE_FIRMEN &= IIf(SQLSTR_WHERE_FIRMEN <> "", ", ", "") & "'ATSPED'" '???
Dim SQL_DAKOSY = ""
getDY_Detail_SQL(SQLSTR_WHERE_FIRMEN, EORI, SQL_DAKOSY, "") '--> Aufbau SQL String
Dim dt = SQL.loadDgvBySql(SQL_DAKOSY, "AVISO", 600)
'----- kafka / Greenpulse ----------------------------------------------------------------------------------------------------------------------------------------
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
doCBAM_KafkaFromDakosy(dt)
End If
End If End If
'--------------------------------------------------------------------------------------------------------------------------------------------- '---------------------------------------------------------------------------------------------------------------------------------------------

View File

@@ -1119,7 +1119,7 @@ Public Class SQL
End Select End Select
Return where Return where
End Function End Function
Public Function getFMZOLLKdNrFromEORI(ByVal eori As String, eoriNL As String, Firma As String) As String Public Function getFMZOLLKdNrFromEORI(ByVal eori As String, eoriNL As String, Firma As String, Optional ignoreCountOver1 As Boolean = False) As String
Dim s As String = "" Dim s As String = ""
Dim where = getFirmaWhere(Firma) Dim where = getFirmaWhere(Firma)
@@ -1137,10 +1137,13 @@ Public Class SQL
If dr.HasRows Then If dr.HasRows Then
Dim dt As New DataTable Dim dt As New DataTable
dt.Load(dr) dt.Load(dr)
If dt.Rows.Count > 1 Then If Not ignoreCountOver1 Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
' MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical) If dt.Rows.Count > 1 Then
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", "", System.Reflection.MethodInfo.GetCurrentMethod.Name) If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
' MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
End If
End If End If
End If End If
s = dt.Rows(0).Item(0) s = dt.Rows(0).Item(0)

View File

@@ -23,8 +23,8 @@ Public Class cATEZ_Greenpulse_KafkaDecs
'== Kafka: Konfiguration (Klassenebene) '== Kafka: Konfiguration (Klassenebene)
'======================== '========================
Public Shared BootstrapServers As String = "192.168.85.250:9092" 'http://192.168.85.250:8888 Public Shared BootstrapServers As String = "192.168.85.250:9092" 'http://192.168.85.250:8888
' Public Shared TopicName As String = "greenpulse.declarationdata.v1" Public Shared TopicName As String = "greenpulse.declarationdata.v1"
Public Shared TopicName As String = "dev.greenpulse.declarationdata.v1" ' Public Shared TopicName As String = "dev.greenpulse.declarationdata.v1"
' Falls SASL/TLS benötigt: ' Falls SASL/TLS benötigt:
Public Shared UseSasl As Boolean = False Public Shared UseSasl As Boolean = False
Public Shared SaslUsername As String = "" Public Shared SaslUsername As String = ""