Compare commits
2 Commits
d5a4322412
...
ADMIN
| Author | SHA1 | Date | |
|---|---|---|---|
| eab90bc81a | |||
| 6f59ac1470 |
@@ -1829,6 +1829,7 @@ Public Class cDakosy_EZA_Warenposition
|
|||||||
Property ezaWP_AbgabensteuerungKz As Object = Nothing ' VARCHAR (2) NULL,
|
Property ezaWP_AbgabensteuerungKz As Object = Nothing ' VARCHAR (2) NULL,
|
||||||
Property ezaWP_EUCode As Object = Nothing ' VARCHAR (3) NULL,
|
Property ezaWP_EUCode As Object = Nothing ' VARCHAR (3) NULL,
|
||||||
Property ezaWP_UrsprungslandCode As Object = Nothing ' VARCHAR (2) NULL,
|
Property ezaWP_UrsprungslandCode As Object = Nothing ' VARCHAR (2) NULL,
|
||||||
|
Property ezaWP_Praeferenzursprungsland As Object = Nothing ' VARCHAR (2) NULL,
|
||||||
Property ezaWP_Rohmasse As Object = Nothing ' DECIMAL (11, 1) NULL,
|
Property ezaWP_Rohmasse As Object = Nothing ' DECIMAL (11, 1) NULL,
|
||||||
Property ezaWP_Eigenmasse As Object = Nothing ' DECIMAL (11, 1) NULL,
|
Property ezaWP_Eigenmasse As Object = Nothing ' DECIMAL (11, 1) NULL,
|
||||||
Property ezaWP_AHStatMenge As Object = Nothing ' DECIMAL (15, 3) NULL,
|
Property ezaWP_AHStatMenge As Object = Nothing ' DECIMAL (15, 3) NULL,
|
||||||
@@ -1976,6 +1977,7 @@ Public Class cDakosy_EZA_Warenposition
|
|||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_AbgabensteuerungKz", ezaWP_AbgabensteuerungKz)) ' VARCHAR (2) NULL,
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_AbgabensteuerungKz", ezaWP_AbgabensteuerungKz)) ' VARCHAR (2) NULL,
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_EUCode", ezaWP_EUCode)) ' VARCHAR (3) NULL,
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_EUCode", ezaWP_EUCode)) ' VARCHAR (3) NULL,
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_UrsprungslandCode", ezaWP_UrsprungslandCode)) ' VARCHAR (2) NULL,
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_UrsprungslandCode", ezaWP_UrsprungslandCode)) ' VARCHAR (2) NULL,
|
||||||
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_Praeferenzursprungsland", ezaWP_Praeferenzursprungsland)) ' VARCHAR (2) NULL,
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_Rohmasse", ezaWP_Rohmasse)) ' DECIMAL (11, 1) NULL,
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_Rohmasse", ezaWP_Rohmasse)) ' DECIMAL (11, 1) NULL,
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_Eigenmasse", ezaWP_Eigenmasse)) ' DECIMAL (11, 1) NULL,
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_Eigenmasse", ezaWP_Eigenmasse)) ' DECIMAL (11, 1) NULL,
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_AHStatMenge", ezaWP_AHStatMenge)) ' DECIMAL (15, 3) NULL,
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaWP_AHStatMenge", ezaWP_AHStatMenge)) ' DECIMAL (15, 3) NULL,
|
||||||
|
|||||||
@@ -72,6 +72,7 @@
|
|||||||
<Compile Include="cDakosy_Statusmeldungen.vb" />
|
<Compile Include="cDakosy_Statusmeldungen.vb" />
|
||||||
<Compile Include="cDY_Statusliste.vb" />
|
<Compile Include="cDY_Statusliste.vb" />
|
||||||
<Compile Include="cDakosy_Stammreferenzen.vb" />
|
<Compile Include="cDakosy_Stammreferenzen.vb" />
|
||||||
|
<Compile Include="cImporter_DakosyToVERAG.vb" />
|
||||||
<Compile Include="cZollsysteme_Aktenbeschriftung.vb" />
|
<Compile Include="cZollsysteme_Aktenbeschriftung.vb" />
|
||||||
<Compile Include="cZOLL_IMPORT.vb" />
|
<Compile Include="cZOLL_IMPORT.vb" />
|
||||||
<Compile Include="DAKOSY\ATLAS\AES\AusfuhrAnmeldung_004.Designer.vb" />
|
<Compile Include="DAKOSY\ATLAS\AES\AusfuhrAnmeldung_004.Designer.vb" />
|
||||||
|
|||||||
257
DAKOSY_Worker/cImporter_DakosyToVERAG.vb
Normal file
257
DAKOSY_Worker/cImporter_DakosyToVERAG.vb
Normal file
@@ -0,0 +1,257 @@
|
|||||||
|
Imports System.Data.SqlClient
|
||||||
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
Public Class cImporter_DakosyToVERAG
|
||||||
|
|
||||||
|
Private SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
' ========================================================================
|
||||||
|
' MAIN ENTRY
|
||||||
|
' ========================================================================
|
||||||
|
Public Function ImportDakosyEZA(eza As cDakosyEZA) As Boolean
|
||||||
|
Try
|
||||||
|
' 1) Duplikatscheck auf Kopfebene (MRN / LRN + System)
|
||||||
|
If ExistsInVERAG(eza) Then
|
||||||
|
Console.WriteLine($"Skip import (duplicate): MRN={If(eza.eza_MRN, "")} / LRN={If(eza.eza_ANR, "")}")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
' 2) HEADER anlegen
|
||||||
|
Dim zaId = Save_Header(eza)
|
||||||
|
If zaId <= 0 Then
|
||||||
|
Console.WriteLine("Error: Header save failed")
|
||||||
|
Return False
|
||||||
|
End If
|
||||||
|
|
||||||
|
' 3) ITEMS speichern (alle Positionen – kein eigener Duplikatscheck)
|
||||||
|
Save_Items(eza, zaId)
|
||||||
|
|
||||||
|
' 4) DUTIES speichern (aus AUFSCHUB – kein eigener Duplikatscheck)
|
||||||
|
Save_Duties(eza, zaId)
|
||||||
|
|
||||||
|
' 5) DOCS speichern (Unterlagen auf Kopfebene – kein eigener Duplikatscheck)
|
||||||
|
Save_Docs(eza, zaId)
|
||||||
|
|
||||||
|
Return True
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(
|
||||||
|
ex.Message,
|
||||||
|
ex.StackTrace,
|
||||||
|
Reflection.MethodInfo.GetCurrentMethod().Name
|
||||||
|
)
|
||||||
|
Return False
|
||||||
|
End Try
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
' ========================================================================
|
||||||
|
' DUPLICATE CHECK : MRN / LRN + SYSTEM
|
||||||
|
' ========================================================================
|
||||||
|
Private Function ExistsInVERAG(eza As cDakosyEZA) As Boolean
|
||||||
|
|
||||||
|
Dim sqlStr As String =
|
||||||
|
"SELECT TOP 1 1
|
||||||
|
FROM tblVERAG_Zollanmeldung
|
||||||
|
WHERE za_System = 'DAKOSY'
|
||||||
|
AND (
|
||||||
|
(za_MRN = @mrn AND @mrn IS NOT NULL)
|
||||||
|
OR (za_LRN = @lrn AND @lrn IS NOT NULL)
|
||||||
|
)"
|
||||||
|
|
||||||
|
Dim p As New List(Of SQLVariable) From {
|
||||||
|
New SQLVariable("@mrn", If(eza.eza_MRN, DBNull.Value)),
|
||||||
|
New SQLVariable("@lrn", If(eza.eza_ANR, DBNull.Value))
|
||||||
|
}
|
||||||
|
|
||||||
|
Dim dt = SQL.loadDgvBySql_Param(sqlStr, "FMZOLL",, p)
|
||||||
|
Return (dt IsNot Nothing AndAlso dt.Rows.Count > 0)
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
' ========================================================================
|
||||||
|
' HEADER SAVE
|
||||||
|
' ========================================================================
|
||||||
|
Private Function Save_Header(eza As cDakosyEZA) As Integer
|
||||||
|
|
||||||
|
Dim list As New List(Of SQLVariable)
|
||||||
|
|
||||||
|
' PK wird von SQL doSQLVarListID gesetzt
|
||||||
|
list.Add(New SQLVariable("za_Id", Nothing, , True, True))
|
||||||
|
|
||||||
|
list.Add(New SQLVariable("za_System", "DAKOSY"))
|
||||||
|
list.Add(New SQLVariable("za_MRN", eza.eza_MRN))
|
||||||
|
list.Add(New SQLVariable("za_LRN", eza.eza_ObjectName))
|
||||||
|
|
||||||
|
list.Add(New SQLVariable("za_Firma", eza.eza_firma))
|
||||||
|
list.Add(New SQLVariable("za_Zollstelle", eza.eza_AdressierteZollstelle))
|
||||||
|
list.Add(New SQLVariable("za_Sachbearbeiter", eza.eza_Bearbeiter))
|
||||||
|
|
||||||
|
' interne Zuordnungen
|
||||||
|
list.Add(New SQLVariable("AvisoId", eza.eza_dyaAnmID))
|
||||||
|
list.Add(New SQLVariable("SendungsId", Nothing))
|
||||||
|
|
||||||
|
Dim cmd As String =
|
||||||
|
"INSERT INTO tblVERAG_Zollanmeldung
|
||||||
|
(za_System,
|
||||||
|
za_MRN,
|
||||||
|
za_LRN,
|
||||||
|
za_Firma,
|
||||||
|
za_Zollstelle,
|
||||||
|
za_Sachbearbeiter,
|
||||||
|
AvisoId,
|
||||||
|
SendungsId)
|
||||||
|
VALUES
|
||||||
|
(@za_System,
|
||||||
|
@za_MRN,
|
||||||
|
@za_LRN,
|
||||||
|
@za_Firma,
|
||||||
|
@za_Zollstelle,
|
||||||
|
@za_Sachbearbeiter,
|
||||||
|
@AvisoId,
|
||||||
|
@SendungsId);
|
||||||
|
SELECT SCOPE_IDENTITY()"
|
||||||
|
|
||||||
|
Dim newId = SQL.doSQLVarListID(0, cmd, "FMZOLL", , list)
|
||||||
|
|
||||||
|
|
||||||
|
Return CInt(newId)
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
' ========================================================================
|
||||||
|
' ITEMS SAVE (alle Positionen, kein Duplikatscheck)
|
||||||
|
' ========================================================================
|
||||||
|
Private Sub Save_Items(eza As cDakosyEZA, zaId As Integer)
|
||||||
|
|
||||||
|
If eza.eza_WARENPOS Is Nothing Then Exit Sub
|
||||||
|
|
||||||
|
For Each pos As cDakosy_EZA_Warenposition In eza.eza_WARENPOS
|
||||||
|
|
||||||
|
Dim list As New List(Of SQLVariable)
|
||||||
|
|
||||||
|
list.Add(New SQLVariable("za_Id", zaId))
|
||||||
|
|
||||||
|
' PosNr / Artikel / HS
|
||||||
|
list.Add(New SQLVariable("zaItem_PosNo", pos.ezaWP_PositionsNummer))
|
||||||
|
list.Add(New SQLVariable("zaItem_ArticleCode", pos.ezaWP_Artikelnummer))
|
||||||
|
list.Add(New SQLVariable("zaItem_HSCode", pos.ezaWP_WarennummerEZT))
|
||||||
|
|
||||||
|
' Ursprung / Origin
|
||||||
|
list.Add(New SQLVariable("zaItem_OriginCountry", pos.ezaWP_UrsprungslandCode))
|
||||||
|
|
||||||
|
' Zollwert / Statistikwert
|
||||||
|
list.Add(New SQLVariable("zaItem_CustomsValue", pos.ezaWP_Zollwert))
|
||||||
|
list.Add(New SQLVariable("zaItem_StatisticalValue", pos.ezaWP_AHStatWert))
|
||||||
|
|
||||||
|
' Begünstigungscode (Dakosy: ezaWP_BeguenstigungBenatragtCode)
|
||||||
|
list.Add(New SQLVariable("zaItem_BeguenstigungCode", pos.ezaWP_BeguenstigungBenatragtCode))
|
||||||
|
|
||||||
|
Dim cmd As String =
|
||||||
|
"INSERT INTO tblVERAG_Zollanmeldung_Items
|
||||||
|
(za_Id,
|
||||||
|
zaItem_PosNo,
|
||||||
|
zaItem_ArticleCode,
|
||||||
|
zaItem_HSCode,
|
||||||
|
zaItem_OriginCountry,
|
||||||
|
zaItem_CustomsValue,
|
||||||
|
zaItem_StatisticalValue,
|
||||||
|
zaItem_BeguenstigungCode)
|
||||||
|
VALUES
|
||||||
|
(@za_Id,
|
||||||
|
@zaItem_PosNo,
|
||||||
|
@zaItem_ArticleCode,
|
||||||
|
@zaItem_HSCode,
|
||||||
|
@zaItem_OriginCountry,
|
||||||
|
@zaItem_CustomsValue,
|
||||||
|
@zaItem_StatisticalValue,
|
||||||
|
@zaItem_BeguenstigungCode)"
|
||||||
|
|
||||||
|
SQL.doSQLVarList(cmd, "FMZOLL", , list)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
' ========================================================================
|
||||||
|
' DUTIES SAVE (alle AUFSCHUB-Einträge, kein Duplikatscheck)
|
||||||
|
' ========================================================================
|
||||||
|
Private Sub Save_Duties(eza As cDakosyEZA, zaId As Integer)
|
||||||
|
|
||||||
|
If eza.eza_AUFSCHUB Is Nothing Then Exit Sub
|
||||||
|
|
||||||
|
For Each duty As cDakosy_EZA_Aufschub In eza.eza_AUFSCHUB
|
||||||
|
|
||||||
|
Dim list As New List(Of SQLVariable)
|
||||||
|
|
||||||
|
list.Add(New SQLVariable("za_Id", zaId))
|
||||||
|
|
||||||
|
' Dakosy-Aufschub Felder:
|
||||||
|
' ezaAfb_AbgabeArt -> DutyType
|
||||||
|
' ezaAfb_Abgabenbetrag -> Amount / AmountEUR
|
||||||
|
list.Add(New SQLVariable("DutyType", duty.ezaAfb_AbgabeArt))
|
||||||
|
list.Add(New SQLVariable("Amount", duty.ezaAfb_Abgabenbetrag))
|
||||||
|
|
||||||
|
' In der Aufschubtabelle gibt es keine Fremdwährungsspalte,
|
||||||
|
' i.d.R. ist der Betrag EUR -> Currency/AmountEUR entsprechend setzen
|
||||||
|
list.Add(New SQLVariable("Currency", "EUR"))
|
||||||
|
list.Add(New SQLVariable("AmountEUR", duty.ezaAfb_Abgabenbetrag))
|
||||||
|
|
||||||
|
Dim cmd As String =
|
||||||
|
"INSERT INTO tblVERAG_Zollanmeldung_Duties
|
||||||
|
(za_Id,
|
||||||
|
DutyType,
|
||||||
|
Amount,
|
||||||
|
Currency,
|
||||||
|
AmountEUR)
|
||||||
|
VALUES
|
||||||
|
(@za_Id,
|
||||||
|
@DutyType,
|
||||||
|
@Amount,
|
||||||
|
@Currency,
|
||||||
|
@AmountEUR)"
|
||||||
|
|
||||||
|
SQL.doSQLVarList(cmd, "FMZOLL", , list)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
' ========================================================================
|
||||||
|
' DOCS SAVE (alle Unterlagen auf Kopfebene, kein Duplikatscheck)
|
||||||
|
' ========================================================================
|
||||||
|
Private Sub Save_Docs(eza As cDakosyEZA, zaId As Integer)
|
||||||
|
|
||||||
|
If eza.eza_UNTERLAGEN Is Nothing Then Exit Sub
|
||||||
|
|
||||||
|
For Each d As cDakosy_EZA_Unterlagen In eza.eza_UNTERLAGEN
|
||||||
|
|
||||||
|
Dim list As New List(Of SQLVariable)
|
||||||
|
|
||||||
|
list.Add(New SQLVariable("za_Id", zaId))
|
||||||
|
list.Add(New SQLVariable("Level", "H")) ' H = Header
|
||||||
|
list.Add(New SQLVariable("DocType", d.ezaUl_Art))
|
||||||
|
list.Add(New SQLVariable("DocNumber", d.ezaUl_Nummer))
|
||||||
|
|
||||||
|
Dim cmd As String =
|
||||||
|
"INSERT INTO tblVERAG_Zollanmeldung_Docs
|
||||||
|
(za_Id,
|
||||||
|
Level,
|
||||||
|
DocType,
|
||||||
|
DocNumber)
|
||||||
|
VALUES
|
||||||
|
(@za_Id,
|
||||||
|
@Level,
|
||||||
|
@DocType,
|
||||||
|
@DocNumber)"
|
||||||
|
|
||||||
|
SQL.doSQLVarList(cmd, "FMZOLL", , list)
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
Reference in New Issue
Block a user