EXG
This commit is contained in:
@@ -1307,6 +1307,8 @@ Public Class cDakosy_EXG_Position
|
|||||||
Property exgPos_AdditionalInformation_8_Text As Object = Nothing
|
Property exgPos_AdditionalInformation_8_Text As Object = Nothing
|
||||||
Property exgPos_AdditionalInformation_9_Code As Object = Nothing
|
Property exgPos_AdditionalInformation_9_Code As Object = Nothing
|
||||||
Property exgPos_AdditionalInformation_9_Text As Object = Nothing
|
Property exgPos_AdditionalInformation_9_Text As Object = Nothing
|
||||||
|
Property exgPos_RequestedProcedure As Object = Nothing
|
||||||
|
Property exgPos_PreviousProcedure As Object = Nothing
|
||||||
|
|
||||||
|
|
||||||
Property exgPos_PACKAGING As New List(Of cDakosy_EXG_Position_Packaging)
|
Property exgPos_PACKAGING As New List(Of cDakosy_EXG_Position_Packaging)
|
||||||
@@ -1493,7 +1495,8 @@ Public Class cDakosy_EXG_Position
|
|||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_AdditionalInformation_8_Text", exgPos_AdditionalInformation_8_Text))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_AdditionalInformation_8_Text", exgPos_AdditionalInformation_8_Text))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_AdditionalInformation_9_Code", exgPos_AdditionalInformation_9_Code))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_AdditionalInformation_9_Code", exgPos_AdditionalInformation_9_Code))
|
||||||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_AdditionalInformation_9_Text", exgPos_AdditionalInformation_9_Text))
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_AdditionalInformation_9_Text", exgPos_AdditionalInformation_9_Text))
|
||||||
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_RequestedProcedure", exgPos_RequestedProcedure))
|
||||||
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("exgPos_PreviousProcedure", exgPos_PreviousProcedure))
|
||||||
|
|
||||||
|
|
||||||
Return list
|
Return list
|
||||||
|
|||||||
@@ -52,7 +52,6 @@
|
|||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="System.Net.Http" />
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Import Include="Microsoft.VisualBasic" />
|
<Import Include="Microsoft.VisualBasic" />
|
||||||
|
|||||||
@@ -100,7 +100,13 @@ Public Class cWorker_AES_EXG
|
|||||||
EXG_ITEM.exgPos_GrossMass = ITEM.GrossMass
|
EXG_ITEM.exgPos_GrossMass = ITEM.GrossMass
|
||||||
|
|
||||||
|
|
||||||
If RESP.GoodsItem IsNot Nothing Then
|
If ITEM.Procedure IsNot Nothing Then
|
||||||
|
|
||||||
|
EXG_ITEM.exgPos_PreviousProcedure = ITEM.Procedure.PreviousProcedure
|
||||||
|
EXG_ITEM.exgPos_RequestedProcedure = ITEM.Procedure.RequestedProcedure
|
||||||
|
|
||||||
|
End If
|
||||||
|
If ITEM.Packaging IsNot Nothing Then
|
||||||
For Each ITEM_PK In ITEM.Packaging
|
For Each ITEM_PK In ITEM.Packaging
|
||||||
Dim EXG_ITEM_PK As New cDakosy_EXG_Position_Packaging
|
Dim EXG_ITEM_PK As New cDakosy_EXG_Position_Packaging
|
||||||
|
|
||||||
@@ -137,9 +143,17 @@ Public Class cWorker_AES_EXG
|
|||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
'Wenn markiert wurde, dass die NCTS Daten ergänzt werden sollten
|
'Wenn markiert wurde, dass die NCTS Daten ergänzt werden sollten
|
||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
|
Dim testDY = True
|
||||||
If EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0 Then
|
If testDY Or (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then
|
||||||
Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, False)
|
Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, False)
|
||||||
|
If testDY Then
|
||||||
|
If NCTS_OUT Is Nothing Then
|
||||||
|
NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004
|
||||||
|
NCTS_OUT.ncts_ObjectName = "TEEEESSSSTTT"
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
If NCTS_OUT IsNot Nothing Then
|
If NCTS_OUT IsNot Nothing Then
|
||||||
Dim HC As New cDakosy_NCTSOut004_HouseConsignment
|
Dim HC As New cDakosy_NCTSOut004_HouseConsignment
|
||||||
HC.nctsHC_Consignee_Name = EXG.exg_Consignee_Name
|
HC.nctsHC_Consignee_Name = EXG.exg_Consignee_Name
|
||||||
@@ -177,6 +191,7 @@ Public Class cWorker_AES_EXG
|
|||||||
HC.nctsHC_PreviousDocument_1_ReferenceNumber = EXG.exg_MRN
|
HC.nctsHC_PreviousDocument_1_ReferenceNumber = EXG.exg_MRN
|
||||||
'HC.nctsHC_PreviousDocument_1_ComplementOfInformation =
|
'HC.nctsHC_PreviousDocument_1_ComplementOfInformation =
|
||||||
|
|
||||||
|
|
||||||
For Each EXG_POS In EXG.exg_POSITION
|
For Each EXG_POS In EXG.exg_POSITION
|
||||||
Dim HC_ITEM As New cDakosy_NCTSOut004_HouseConsignment_ConsignmentItem
|
Dim HC_ITEM As New cDakosy_NCTSOut004_HouseConsignment_ConsignmentItem
|
||||||
|
|
||||||
@@ -186,6 +201,9 @@ Public Class cWorker_AES_EXG
|
|||||||
HC_ITEM.nctsHCCI_GrossMass = EXG_POS.exgPos_GrossMass
|
HC_ITEM.nctsHCCI_GrossMass = EXG_POS.exgPos_GrossMass
|
||||||
HC_ITEM.nctsHCCI_NetMass = EXG_POS.exgPos_NetMass
|
HC_ITEM.nctsHCCI_NetMass = EXG_POS.exgPos_NetMass
|
||||||
|
|
||||||
|
If EXG_POS.exgPos_PreviousProcedure IsNot Nothing And EXG_POS.exgPos_RequestedProcedure IsNot Nothing Then
|
||||||
|
HC_ITEM.nctsHCCI_DeclarationType = DetermineTransitProcedure(EXG_POS.exgPos_RequestedProcedure, EXG_POS.exgPos_PreviousProcedure)
|
||||||
|
End If
|
||||||
|
|
||||||
If EXG.exg_AutoTranslate Then
|
If EXG.exg_AutoTranslate Then
|
||||||
If EXG.exg_ForceTranslate Then
|
If EXG.exg_ForceTranslate Then
|
||||||
@@ -210,12 +228,29 @@ Public Class cWorker_AES_EXG
|
|||||||
Next
|
Next
|
||||||
NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Add(HC)
|
NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Add(HC)
|
||||||
|
|
||||||
NCTS_OUT.INSERT_HouseConsignment()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
' NCTS_OUT.INSERT_HouseConsignment()
|
||||||
|
|
||||||
|
|
||||||
|
'--------Declarationtype-----------------------------------------------
|
||||||
|
Dim declType = GetDeclarationType(NCTS_OUT.ncts_HOUSE_CONSIGNMENT)
|
||||||
|
If declType <> "" Then
|
||||||
|
emptyAllDeclarationItems(NCTS_OUT.ncts_HOUSE_CONSIGNMENT) ' Leert alle DeclType in den Pos
|
||||||
|
NCTS_OUT.ncts_Declarationtype = declType ' Sezt es im Kopf
|
||||||
|
Else
|
||||||
|
NCTS_OUT.ncts_Declarationtype = "T-" ' Sezt es im Kopf
|
||||||
|
End If
|
||||||
|
'----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id) 'Eintrag, dass AutoFill durchgelaufen ist
|
cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id) 'Eintrag, dass AutoFill durchgelaufen ist
|
||||||
|
|
||||||
|
|
||||||
'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden!
|
'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden!
|
||||||
If cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId) Then
|
If testDY Or (cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId)) Then
|
||||||
|
|
||||||
Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId)
|
Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId)
|
||||||
If NCTS_OUT IsNot Nothing Then
|
If NCTS_OUT IsNot Nothing Then
|
||||||
@@ -228,15 +263,28 @@ Public Class cWorker_AES_EXG
|
|||||||
NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung
|
NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung
|
||||||
' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY)
|
' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY)
|
||||||
|
|
||||||
|
'VON HIER löschnen ohne test
|
||||||
|
If testDY OrElse NCTS_OUT.SAVE_ALL() Then
|
||||||
|
If If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Nur speichern wenn bei test exg_AutoFill_DyId befüllt ist
|
||||||
|
NCTS_OUT.SAVE_ALL()
|
||||||
|
End If
|
||||||
|
Dim saveFile = ""
|
||||||
|
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then
|
||||||
|
If saveFile <> "" Then
|
||||||
|
frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\NCTS\")
|
||||||
|
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
'BIS HIER löschnen ohne test
|
||||||
|
|
||||||
If NCTS_OUT.SAVE_ALL() Then
|
If NCTS_OUT.SAVE_ALL() Then
|
||||||
|
|
||||||
Dim saveFile = ""
|
Dim saveFile = ""
|
||||||
Dim testDY = True
|
|
||||||
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then
|
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath) Then
|
||||||
If saveFile <> "" Then
|
If saveFile <> "" Then
|
||||||
If testDY Then
|
|
||||||
frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\NCTS\")
|
|
||||||
Else
|
|
||||||
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, NCTS_OUT.ncts_ObjectName, DY_ANM.dy_Id, NCTS_OUT.ncts_firma) Then
|
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, NCTS_OUT.ncts_ObjectName, DY_ANM.dy_Id, NCTS_OUT.ncts_firma) Then
|
||||||
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
|
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
|
||||||
'If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen.
|
'If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen.
|
||||||
@@ -244,18 +292,23 @@ Public Class cWorker_AES_EXG
|
|||||||
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
|
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
|
||||||
MsgBox("Sendefehler!")
|
MsgBox("Sendefehler!")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not testDY Or If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Kann ganz weg kenn kein test
|
||||||
|
|
||||||
DY_ANM.UPDATE_DATA()
|
DY_ANM.UPDATE_DATA()
|
||||||
|
|
||||||
'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist.
|
'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist.
|
||||||
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
|
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -326,6 +379,83 @@ Public Class cWorker_AES_EXG
|
|||||||
End Try
|
End Try
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
' Funktion zur Bestimmung des Declaration Type
|
||||||
|
Shared Function GetDeclarationType(HC_LIST As List(Of cDakosy_NCTSOut004_HouseConsignment)) As String
|
||||||
|
Dim declType As String = Nothing
|
||||||
|
Dim isConsistent As Boolean = True ' Flag zur Überprüfung der Konsistenz
|
||||||
|
|
||||||
|
' Iteration über alle Positionen
|
||||||
|
For Each HC In HC_LIST
|
||||||
|
|
||||||
|
For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM
|
||||||
|
Dim currentType = HC_ITEM.nctsHCCI_DeclarationType
|
||||||
|
|
||||||
|
' Abbruch, wenn ein Wert leer oder Nothing ist
|
||||||
|
If String.IsNullOrWhiteSpace(currentType) Then
|
||||||
|
isConsistent = False
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
|
||||||
|
' Setze declType, wenn noch nicht gesetzt
|
||||||
|
If declType Is Nothing Then
|
||||||
|
declType = currentType
|
||||||
|
ElseIf declType <> currentType Then
|
||||||
|
' Unterschiedlicher Wert gefunden → Abbruch
|
||||||
|
isConsistent = False
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
|
||||||
|
' Rückgabe des einheitlichen declType oder leer, wenn inkonsistent
|
||||||
|
If isConsistent AndAlso Not String.IsNullOrWhiteSpace(declType) Then
|
||||||
|
Return declType
|
||||||
|
Else
|
||||||
|
Return ""
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
Shared Sub emptyAllDeclarationItems(ByRef HC_LIST As List(Of cDakosy_NCTSOut004_HouseConsignment))
|
||||||
|
Dim declType As String = Nothing
|
||||||
|
Dim isConsistent As Boolean = True ' Flag zur Überprüfung der Konsistenz
|
||||||
|
|
||||||
|
' Iteration über alle Positionen
|
||||||
|
For Each HC In HC_LIST
|
||||||
|
For Each HC_ITEM In HC.nctsWP_CONSIGNMENT_ITEM
|
||||||
|
HC_ITEM.nctsHCCI_DeclarationType = ""
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Shared Function DetermineTransitProcedure(requestedProcedure As String, previousProcedure As String) As String
|
||||||
|
' Entscheidungslogik für Transitverfahren (immer in der EU eröffnet)
|
||||||
|
Select Case requestedProcedure
|
||||||
|
Case "10" ' Ausfuhrverfahren
|
||||||
|
If previousProcedure = "00" Then
|
||||||
|
Return "T2" ' Ware ist weiterhin Unionsware, obwohl Ausfuhr vorgesehen ist
|
||||||
|
ElseIf previousProcedure = "40" Then
|
||||||
|
Return "T2" ' Ware im freien Verkehr (Unionsware)
|
||||||
|
ElseIf previousProcedure = "61" Then
|
||||||
|
Return "T1" ' Ware verlässt ein Zolllager (Nicht-Unionsware)
|
||||||
|
Else
|
||||||
|
Return "T2" ' Standardfall: Unionsware im Ausfuhrverfahren
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case "40" ' Überlassung zum freien Verkehr
|
||||||
|
Return "T2" ' Ware wird Unionsware nach Import
|
||||||
|
|
||||||
|
Case "31" ' Versandverfahren
|
||||||
|
Return "T-" ' Beibehaltung des ursprünglichen Status
|
||||||
|
|
||||||
|
Case "51" ' Passive Veredelung
|
||||||
|
Return "T1" ' Rückkehr von Nicht-Unionsware nach Verarbeitung
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
Return "Unbekannt" ' Unbekannter Verfahrenscode
|
||||||
|
End Select
|
||||||
|
End Function
|
||||||
|
|
||||||
Shared Function generateInformationenZumAusgang003(EXG As cDakosyEXG, ByVal Bezugsnummer As String, ByRef saveFile As String, DY_ACTIONS As List(Of String), IOPartner As String, IODivision3 As String, DAKOSY_SB As String) As Boolean
|
Shared Function generateInformationenZumAusgang003(EXG As cDakosyEXG, ByVal Bezugsnummer As String, ByRef saveFile As String, DY_ACTIONS As List(Of String), IOPartner As String, IODivision3 As String, DAKOSY_SB As String) As Boolean
|
||||||
Dim Interface_VERSION = "003"
|
Dim Interface_VERSION = "003"
|
||||||
|
|||||||
Reference in New Issue
Block a user