CBAM Auswertung; Verzollungspreise; T2 aus EXG manuell

This commit is contained in:
2025-02-24 15:10:30 +01:00
parent 44f746b1c5
commit ac33d5e1d1
9 changed files with 1699 additions and 291 deletions

View File

@@ -120,85 +120,100 @@ Public Class usrCntlATLAS_EXGestellung
Next
If Not err Then
If cbxNCTS.Checked Then
Dim BezugsNr = ""
Dim NCTS_OUT = usrCntlATLAS_NCTS004.genNCTSfromStammref(Me, FIRMA_DY, AVISO, SENDUNG, "")
NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Clear()
NCTS_OUT.DELETE_HouseConsignment()
If NCTS_OUT IsNot Nothing AndAlso NCTS_OUT.ncts_Id > 0 Then
MsgBox("Eine neue Versandanmeldung mit der BezugsNummer '" & NCTS_OUT.ncts_ObjectName & "' wurde erstellt. Befüllung wird bei Gestellvorgang automatisch vorgenommen.")
lblBezugsnummer.Text = NCTS_OUT.ncts_ObjectName
Dim NCTS_OUT As New DAKOSY_Worker.cDakosyNCTSOut004
Dim f As New frmDakosyStammreferenz("DE", "NCTS", False,,, FIRMA_DY)
Dim Stammreferenz = Nothing
f.selectForEXG = True
If f.ShowDialog(Me.FindForm) Then
Stammreferenz = f.STAMMREF
sentToDakosy = f.sentToDakosy
End If
Try
BezugsNr = usrCntlATLAS_NCTS004.getBezugsnr(FIRMA_DY, SENDUNG, BezugsNr, "")
lblBezugsnummer.Text = BezugsNr
MsgBox(BezugsNr)
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
ncts_OUT = cDakosyNCTSOut004.LOADByBezugsNr(BezugsNr, True)
If True Then 'NCTS_OUT Is Nothing Then
Dim cDy_ART = "T2"
Select Case (SENDUNG.tblSnd_Abfertigungsart_ID)
Case 5 : cDy_ART = "T1"
Case Else : cDy_ART = "T2"
End Select
Dim DY_ANM As New cDakosy_Zollanmeldungen
If DY_ANM Is Nothing Then
DY_ANM = New cDakosy_Zollanmeldungen(NCTS_OUT.ncts_dyaAnmID)
End If
DY_ANM.dy_ART = cDy_ART 'cDy_ART
DY_ANM.dy_BezugsNr = BezugsNr
DY_ANM.dy_AvisoId = If(AVISO Is Nothing, Nothing, AVISO.AvisoID)
DY_ANM.dy_SendungsId = If(SENDUNG Is Nothing, Nothing, SENDUNG.tblSnd_SendungID)
'Status?
If DY_ANM.SAVE() Then 'Speichern, ID wird erzeugt
'Falls zur BezugsNr schon ein Eintrag in der DB vorhanden ist
NCTS_OUT = cDakosyNCTSOut004.LOADByAnmIDFull(f.STAMMREF_DYID, True) ' DyID --> Falls bei der Stammreferenz eine Vorlage hinterlegt ist!
If NCTS_OUT Is Nothing Then
NCTS_OUT = New cDakosyNCTSOut004
End If
NCTS_OUT.ncts_Id = -1
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
'If NCTS_OUT IsNot Nothing Then
' 'Stmmreferenz - Werte zurücksetzen, damit nicht falsch übergeben
' NCTS_OUT.ncts_dyaAnmID = -1
' NCTS_OUT.ncts_Id = -1
'Else
' NCTS_OUT = New cDakosyNCTSOut004
'End If
usrCntlATLAS_NCTS004.loaddataFromAVISO(AVISO, SENDUNG, cDy_ART, BezugsNr, NCTS_OUT)
'cboStammreferenz.changeItem(Stammreferenz)
If NCTS_OUT.SAVE() Then
MsgBox("Eine neue Versandanmeldung mit der BezugsNummer '" & BezugsNr & "' wurde erstellt. Befüllung wird bei Gestellvorgang automatisch vorgenommen.")
For Each exgId In exg_list
MsgBox(NCTS_OUT.ncts_dyaAnmID)
cDakosyEXG.UPDATE_FillNCTS_ID(exgId, NCTS_OUT.ncts_dyaAnmID)
Next
End If
End If
For Each exgId In exg_list
MsgBox(NCTS_OUT.ncts_dyaAnmID)
cDakosyEXG.UPDATE_FillNCTS_ID(exgId, NCTS_OUT.ncts_dyaAnmID)
Next
End If
'ncts_OUT
'Dim BezugsNr = ""
'Dim NCTS_OUT As New DAKOSY_Worker.cDakosyNCTSOut004
'Dim f As New frmDakosyStammreferenz("DE", "NCTS", False,,, FIRMA_DY)
'Dim Stammreferenz = Nothing
'f.selectForEXG = True
'If f.ShowDialog(Me.FindForm) Then
' Stammreferenz = f.STAMMREF
' sentToDakosy = f.sentToDakosy
'End If
'Try
' BezugsNr = usrCntlATLAS_NCTS004.getBezugsnr(FIRMA_DY, SENDUNG, BezugsNr, "")
' lblBezugsnummer.Text = BezugsNr
' MsgBox(BezugsNr)
'Catch ex As Exception
' MsgBox(ex.Message & ex.StackTrace)
'End Try
'ncts_OUT = cDakosyNCTSOut004.LOADByBezugsNr(BezugsNr, True)
'If True Then 'NCTS_OUT Is Nothing Then
' Dim cDy_ART = "T2"
' Select Case (SENDUNG.tblSnd_Abfertigungsart_ID)
' Case 5 : cDy_ART = "T1"
' Case Else : cDy_ART = "T2"
' End Select
' Dim DY_ANM As New cDakosy_Zollanmeldungen
' If DY_ANM Is Nothing Then
' DY_ANM = New cDakosy_Zollanmeldungen(NCTS_OUT.ncts_dyaAnmID)
' End If
' DY_ANM.dy_ART = cDy_ART 'cDy_ART
' DY_ANM.dy_BezugsNr = BezugsNr
' DY_ANM.dy_AvisoId = If(AVISO Is Nothing, Nothing, AVISO.AvisoID)
' DY_ANM.dy_SendungsId = If(SENDUNG Is Nothing, Nothing, SENDUNG.tblSnd_SendungID)
' 'Status?
' If DY_ANM.SAVE() Then 'Speichern, ID wird erzeugt
' 'Falls zur BezugsNr schon ein Eintrag in der DB vorhanden ist
' NCTS_OUT = cDakosyNCTSOut004.LOADByAnmIDFull(f.STAMMREF_DYID, True) ' DyID --> Falls bei der Stammreferenz eine Vorlage hinterlegt ist!
' If NCTS_OUT Is Nothing Then
' NCTS_OUT = New cDakosyNCTSOut004
' End If
' NCTS_OUT.ncts_Id = -1
' NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
' 'If NCTS_OUT IsNot Nothing Then
' ' 'Stmmreferenz - Werte zurücksetzen, damit nicht falsch übergeben
' ' NCTS_OUT.ncts_dyaAnmID = -1
' ' NCTS_OUT.ncts_Id = -1
' 'Else
' ' NCTS_OUT = New cDakosyNCTSOut004
' 'End If
' usrCntlATLAS_NCTS004.loaddataFromAVISO(AVISO, SENDUNG, cDy_ART, BezugsNr, NCTS_OUT)
' 'cboStammreferenz.changeItem(Stammreferenz)
' If NCTS_OUT.SAVE() Then
' MsgBox("Eine neue Versandanmeldung mit der BezugsNummer '" & BezugsNr & "' wurde erstellt. Befüllung wird bei Gestellvorgang automatisch vorgenommen.")
' For Each exgId In exg_list
' MsgBox(NCTS_OUT.ncts_dyaAnmID)
' cDakosyEXG.UPDATE_FillNCTS_ID(exgId, NCTS_OUT.ncts_dyaAnmID)
' Next
' End If
' End If
'End If
''ncts_OUT

View File

@@ -1,5 +1,6 @@
Imports System.IO.Pipes
Imports DAKOSY_Worker
Imports javax.management
Imports Tamir
Imports Tamir.SharpSsh
Imports VERAG_PROG_ALLGEMEIN
@@ -159,6 +160,8 @@ Public Class usrCntlATLAS_NCTS004
cboDakosyAction.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Datensatz an ZOLL senden", DY_ObjektAktion.OBJ_SEND))
cboDakosyAction.changeItem(DY_ObjektAktion.OBJ_CREATE)
AusGestllungToolStripMenuItem.Visible = True
Select Case FIRMA_DY
Case "VERAG" : txtDyMandant.Text = "VERG"
txtDyNiederlassung.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG
@@ -636,6 +639,81 @@ Public Class usrCntlATLAS_NCTS004
End Sub
Private Sub AusGestllungToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AusGestllungToolStripMenuItem.Click
Dim EXG_LRN = InputBox("Geben Sie die Gestellungs-LRN ein (ohne aufsteigende Zahlen):")
If EXG_LRN.Length < 13 Then MsgBox("LRN zu kurz!") : Exit Sub
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql("SELECT TOP (500) [exg_Id] FROM [tblDakosy_EXG] where exg_ObjectName LIKE '" & EXG_LRN & "%' order by exg_ObjectName desc", "FMZOLL")
If dt IsNot Nothing Then
Dim BezugsNr = ""
Dim NCTS_OUT = usrCntlATLAS_NCTS004.genNCTSfromStammref(Me, FIRMA_DY, AVISO, SENDUNG, BezugsNr)
NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Clear()
NCTS_OUT.DELETE_HouseConsignment()
For Each row In dt.Rows
Dim EXG As New cDakosyEXG(row("exg_Id"))
If EXG IsNot Nothing Then
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG)
End If
Next
If NCTS_OUT.SAVE_ALL() Then
'--------------------------------------------------------------------------------
'----SENDEN----------------------------------------------------------------------
'--------------------------------------------------------------------------------
Dim EXG_TMP As New cDakosyEXG(dt(0)("exg_Id"))
Dim DY_ANM = New cDakosy_Zollanmeldungen(NCTS_OUT.ncts_dyaAnmID)
If NCTS_OUT IsNot Nothing Then
'Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB)
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
NCTS_OUT.ncts_LetzteBearbeitung = Now
NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
NCTS_OUT.ncts_firma = EXG_TMP.exg_firma
NCTS_OUT.ncts_niederlassung = EXG_TMP.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 NCTS_OUT.SAVE_ALL() Then
If vbYes = MsgBox("Erfolgreich erstellt! Soll(en) die Ausfuhr-Gestellung(en) abgeschickt werden?", vbYesNoCancel) Then
Dim saveFile = ""
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, cboDakosyAction._value, Application.StartupPath) Then
If saveFile <> "" Then
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, BezugsNr, DY_ANM.dy_Id, Me.FIRMA_DY) Then
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.
Else
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
MsgBox("Sendefehler!")
End If
End If
End If
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.
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
End If
End If
End If
'--------------------------------------------------------------------------------
'--------------------------------------------------------------------------------
End If
End If
'ncts_OUT.DELETE_HouseConsignment()
@@ -649,6 +727,72 @@ Public Class usrCntlATLAS_NCTS004
End Sub
Shared Function genNCTSfromStammref(CONTROL As Control, FIRMA_DY As String, AVISO As cAviso, SENDUNG As cSendungen, ByRef BezugsNr As String) As DAKOSY_Worker.cDakosyNCTSOut004
Dim NCTS_OUT As New DAKOSY_Worker.cDakosyNCTSOut004
Dim f As New frmDakosyStammreferenz("DE", "NCTS", False,,, FIRMA_DY)
Dim Stammreferenz = Nothing
f.selectForEXG = True
If f.ShowDialog(CONTROL.FindForm) Then
Stammreferenz = f.STAMMREF
' sentToDakosy = f.sentToDakosy
End If
Try
If BezugsNr = "" Then BezugsNr = usrCntlATLAS_NCTS004.getBezugsnr(FIRMA_DY, SENDUNG, BezugsNr, "")
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
NCTS_OUT = cDakosyNCTSOut004.LOADByBezugsNr(BezugsNr, True)
If True Then 'NCTS_OUT Is Nothing Then
Dim cDy_ART = "T2"
Select Case (SENDUNG.tblSnd_Abfertigungsart_ID)
Case 5 : cDy_ART = "T1"
Case Else : cDy_ART = "T2"
End Select
Dim DY_ANM As New cDakosy_Zollanmeldungen
'If DY_ANM Is Nothing Then
' DY_ANM = New cDakosy_Zollanmeldungen(NCTS_OUT.ncts_dyaAnmID)
'End If
DY_ANM.dy_ART = cDy_ART 'cDy_ART
DY_ANM.dy_BezugsNr = BezugsNr
DY_ANM.dy_AvisoId = If(AVISO Is Nothing, Nothing, AVISO.AvisoID)
DY_ANM.dy_SendungsId = If(SENDUNG Is Nothing, Nothing, SENDUNG.tblSnd_SendungID)
'Status?
If DY_ANM.SAVE() Then 'Speichern, ID wird erzeugt
'Falls zur BezugsNr schon ein Eintrag in der DB vorhanden ist
NCTS_OUT = cDakosyNCTSOut004.LOADByAnmIDFull(f.STAMMREF_DYID, True) ' DyID --> Falls bei der Stammreferenz eine Vorlage hinterlegt ist!
If NCTS_OUT Is Nothing Then
NCTS_OUT = New cDakosyNCTSOut004
End If
NCTS_OUT.ncts_Id = -1
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
usrCntlATLAS_NCTS004.loaddataFromAVISO(AVISO, SENDUNG, cDy_ART, BezugsNr, NCTS_OUT)
'cboStammreferenz.changeItem(Stammreferenz)
If NCTS_OUT.SAVE() Then
Return NCTS_OUT
End If
End If
End If
Return Nothing
End Function
End Class