fix2 (Verwahrung)

This commit is contained in:
2026-03-17 11:55:07 +01:00
parent e52499338d
commit 36893a9e2b
2 changed files with 115 additions and 84 deletions

View File

@@ -4108,95 +4108,95 @@ Public Class cWorker_NCTS
If readNCTS_Ueberlassungsmeldung009 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung009
STATUS.dySt_artMitteilung = "UEM"
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readNCTS_Ueberlassungsmeldung009
STATUS.dySt_artMitteilung = "UEM"
STATUS.dySt_dyArt = "" '"NCTS" 'T1/T2
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50
STATUS.dySt_ergCode = "MRN"
STATUS.dySt_ergMitteilung = MRN
STATUS.dySt_ergZeitpunkt = zp
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004 = saveDY_NCTS004(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN, True)
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.S_50
STATUS.dySt_ergCode = "MRN"
STATUS.dySt_ergMitteilung = MRN
STATUS.dySt_ergZeitpunkt = zp
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), "NCTS")
Dim NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004 = saveDY_NCTS004(STATUS, DY_TMP, NCTS.Transaktion.IOReferenz, If(zp, NCTS.Transaktion.IODatumZeit), , MRN, True)
NCTS_TMP.ncts_Eroeffnung = zp
NCTS_TMP.SAVE()
NCTS_TMP.ncts_Eroeffnung = zp
NCTS_TMP.SAVE()
'------------------------------------------------------------------------------------------------------------------------------
'GARANTIE ÜBERSCHREIBEN:
'If NCTS.EinzelUeberlassungsmeldung.TransitOperation IsNot Nothing AndAlso NCTS.EinzelUeberlassungsmeldung.TransitOperation.Guarantee IsNot Nothing AndAlso NCTS.EinzelUeberlassungsmeldung.TransitOperation.Guarantee.Count > 0 Then
' NCTS_TMP.ncts_GUARANTEE.Clear()
'------------------------------------------------------------------------------------------------------------------------------
'GARANTIE ÜBERSCHREIBEN:
'If NCTS.EinzelUeberlassungsmeldung.TransitOperation IsNot Nothing AndAlso NCTS.EinzelUeberlassungsmeldung.TransitOperation.Guarantee IsNot Nothing AndAlso NCTS.EinzelUeberlassungsmeldung.TransitOperation.Guarantee.Count > 0 Then
' NCTS_TMP.ncts_GUARANTEE.Clear()
' For Each GRT_M In NCTS.EinzelUeberlassungsmeldung.TransitOperation.Guarantee
' For Each GRT_M In NCTS.EinzelUeberlassungsmeldung.TransitOperation.Guarantee
' For Each GRT In GRT_M.GuaranteeReference
' Dim NCTS_GRT As New DAKOSY_Worker.cDakosy_NCTSOut004_Guarantee
' For Each GRT In GRT_M.GuaranteeReference
' Dim NCTS_GRT As New DAKOSY_Worker.cDakosy_NCTSOut004_Guarantee
' NCTS_GRT.nctsGRT_Type = GRT_M.GuaranteeType
' NCTS_GRT.nctsGRT_OtherGuaranteeReference = GRT_M.OtherGuaranteeReference
' NCTS_GRT.nctsGRT_AmountToBeCovered = GRT.AmountToBeCovered
' 'NCTS_GRT.nctsGRT_AccessCode = GRT.accessCode
' NCTS_GRT.nctsGRT_GRN = GRT.GRN
' NCTS_GRT.nctsGRT_Currency = GRT.Currency
' NCTS_TMP.ncts_GUARANTEE.Add(NCTS_GRT)
' NCTS_GRT.nctsGRT_Type = GRT_M.GuaranteeType
' NCTS_GRT.nctsGRT_OtherGuaranteeReference = GRT_M.OtherGuaranteeReference
' NCTS_GRT.nctsGRT_AmountToBeCovered = GRT.AmountToBeCovered
' 'NCTS_GRT.nctsGRT_AccessCode = GRT.accessCode
' NCTS_GRT.nctsGRT_GRN = GRT.GRN
' NCTS_GRT.nctsGRT_Currency = GRT.Currency
' NCTS_TMP.ncts_GUARANTEE.Add(NCTS_GRT)
' Next
' Next
' NCTS_TMP.SAVE_Guarantee()
'End If
'------------------------------------------------------------------------------------------------------------------------------
' Next
' Next
' NCTS_TMP.SAVE_Guarantee()
'End If
'------------------------------------------------------------------------------------------------------------------------------
'For Each TE In NCTS_TMP.ncts_TRANSPORTEQUIPMENT
' If TE.nctsTE_NumberOfSeals > 0 Then
'For Each TE In NCTS_TMP.ncts_TRANSPORTEQUIPMENT
' If TE.nctsTE_NumberOfSeals > 0 Then
' End If
'Next
' End If
'Next
'If Verschluss_Anzahl > 0 Then
' NCTS_TMP.ncts_Verschluss_Anzahl = Verschluss_Anzahl
' NCTS_TMP.ncts_Verschluss_ArtCode = Verschluss_Art
' NCTS_TMP.ncts_Verschluss_Zeichen1 = If(Verschluss_Zeichen.Count > 0, Verschluss_Zeichen(0), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen2 = If(Verschluss_Zeichen.Count > 1, Verschluss_Zeichen(1), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen3 = If(Verschluss_Zeichen.Count > 2, Verschluss_Zeichen(2), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen4 = If(Verschluss_Zeichen.Count > 3, Verschluss_Zeichen(3), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen5 = If(Verschluss_Zeichen.Count > 4, Verschluss_Zeichen(4), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen6 = If(Verschluss_Zeichen.Count > 5, Verschluss_Zeichen(5), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen7 = If(Verschluss_Zeichen.Count > 6, Verschluss_Zeichen(6), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen8 = If(Verschluss_Zeichen.Count > 7, Verschluss_Zeichen(7), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen9 = If(Verschluss_Zeichen.Count > 8, Verschluss_Zeichen(8), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen10 = If(Verschluss_Zeichen.Count > 9, Verschluss_Zeichen(9), Nothing)
' NCTS_TMP.SAVE()
'End If
'If Verschluss_Anzahl > 0 Then
' NCTS_TMP.ncts_Verschluss_Anzahl = Verschluss_Anzahl
' NCTS_TMP.ncts_Verschluss_ArtCode = Verschluss_Art
' NCTS_TMP.ncts_Verschluss_Zeichen1 = If(Verschluss_Zeichen.Count > 0, Verschluss_Zeichen(0), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen2 = If(Verschluss_Zeichen.Count > 1, Verschluss_Zeichen(1), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen3 = If(Verschluss_Zeichen.Count > 2, Verschluss_Zeichen(2), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen4 = If(Verschluss_Zeichen.Count > 3, Verschluss_Zeichen(3), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen5 = If(Verschluss_Zeichen.Count > 4, Verschluss_Zeichen(4), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen6 = If(Verschluss_Zeichen.Count > 5, Verschluss_Zeichen(5), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen7 = If(Verschluss_Zeichen.Count > 6, Verschluss_Zeichen(6), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen8 = If(Verschluss_Zeichen.Count > 7, Verschluss_Zeichen(7), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen9 = If(Verschluss_Zeichen.Count > 8, Verschluss_Zeichen(8), Nothing)
' NCTS_TMP.ncts_Verschluss_Zeichen10 = If(Verschluss_Zeichen.Count > 9, Verschluss_Zeichen(9), Nothing)
' NCTS_TMP.SAVE()
'End If
SaveNCTS004_FirmaNL(NCTS_TMP, DY_TMP, division)
SaveNCTS004_WGDAT(NCTS_TMP, Wiedergestellungsdatum)
SaveNCTS004_FirmaNL(NCTS_TMP, DY_TMP, division)
SaveNCTS004_WGDAT(NCTS_TMP, Wiedergestellungsdatum)
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
statusTMP = STATUS
cVERAG_out_ncts.copyFileFTP_VERAGncts004_DY(NCTS_TMP, DY_TMP) 'VERAG SCHNITTSTELLE
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
statusTMP = STATUS
cVERAG_out_ncts.copyFileFTP_VERAGncts004_DY(NCTS_TMP, DY_TMP) 'VERAG SCHNITTSTELLE
' If If(NCTS_TMP.ncts_firma, "") = "IMEX" Then
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
NCTS_TMP.insertIntoSpedBuch(DY_TMP)
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_BereitstellungDHUB(DY_TMP, d)
'==================================
'=====ATEZ IRU BEREITSTELLUNG==========
checkATEZIRU_Bereitstellung(DY_TMP, d)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_Bereitstellung(DY_TMP, d)
'==================================
'=====ATEZ BEREITSTELLUNG==========
checkATEZ_BereitstellungDHUB(DY_TMP, d)
'==================================
'=====ATEZ IRU BEREITSTELLUNG==========
checkATEZIRU_Bereitstellung(DY_TMP, d)
'==================================
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr)
End If
FORM.addDGVEinarbeitung("NCTS: Überlassungsmeldung", STATUS.dySt_BezugsNr)
End If
End If
Catch ex As Exception
@@ -4683,7 +4683,8 @@ Public Class cWorker_NCTS
Dim gs_row As DataRow = dtGesamtsicherheit.Rows(0)
Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
'Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND isnull(gsp_MRNNr,'') <> ''")
If rows.Length > 0 Then
Exit Sub 'bereits vorhanden -> keine INFO
@@ -4698,24 +4699,40 @@ Public Class cWorker_NCTS
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,tblSnd_Vorpapier_Pos,tblSnd_Vorpapier2_Pos, tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("gs_ATBNr") & "'", "AVISO")
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("gs_ATBNr") & "'", "AVISO")
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
If dtVorpapiere.Rows.Count > 0 Then
Dim rowsVorp = dtVorpapiere.Select("tblSnd_Warenwert is not null AND (tblSnd_Vorpapier_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier2_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier3_Pos = '" & gs_row.Item("gs_posNr") & "')")
' Dim rowsVorp = dtVorpapiere.Select("tblSnd_Warenwert is not null AND (tblSnd_Vorpapier_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier2_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier3_Pos = '" & gs_row.Item("gs_posNr") & "')")
Dim posNr_temp As String = gs_row.Item("gs_posNr").ToString()
Dim rowsVorp = dtVorpapiere.AsEnumerable().
Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso (
r("tblSnd_Vorpapier_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
r("tblSnd_Vorpapier2_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
r("tblSnd_Vorpapier3_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp)
)
).ToArray()
Dim row = rowsVorp(0)
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = System.Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
If POSNr = posNr_temp Then
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = System.Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
End If
End If
'Dim dtSendungen = SQL.loadDgvBySql("SELECT")
Dim anzahlPackstuecke As Integer = -1
'Dim dtSendungen = SQL.loadDgvBySql("SELECT")
Dim anzahlPackstuecke As Integer = -1
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
'Dim StornierungKz As String = If(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
If gs_row.Item("gs_freitext") <> "" Then
@@ -4763,7 +4780,7 @@ Public Class cWorker_NCTS
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = gs_row("gs_ust")
.gsp_ATCNr = ""
.gsp_MRNNr = IIf(regNR = "", MRNNR, regNR)
.gsp_MRNNr = IIf(regNR = "", MRNNR.Trim(), regNR.Trim())
.gsp_avisoId = gs_row("gs_avisoID")
.gsp_systemuser = "DAKOSY-AUTO"
End With

View File

@@ -734,24 +734,38 @@ Anzeige:
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,tblSnd_Vorpapier_Pos,tblSnd_Vorpapier2_Pos, tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("gs_ATBNr") & "'", "AVISO")
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("gs_ATBNr") & "'", "AVISO")
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
If dtVorpapiere.Rows.Count > 0 Then
Dim rowsVorp = dtVorpapiere.Select("tblSnd_Warenwert is not null AND (tblSnd_Vorpapier_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier2_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier3_Pos = '" & gs_row.Item("gs_posNr") & "')")
' Dim rowsVorp = dtVorpapiere.Select("tblSnd_Warenwert is not null AND (tblSnd_Vorpapier_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier2_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier3_Pos = '" & gs_row.Item("gs_posNr") & "')")
Dim posNr_temp As String = gs_row.Item("gs_posNr").ToString()
Dim rowsVorp = dtVorpapiere.AsEnumerable().
Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso (
r("tblSnd_Vorpapier_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
r("tblSnd_Vorpapier2_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
r("tblSnd_Vorpapier3_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp)
)
).ToArray()
Dim row = rowsVorp(0)
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
If POSNr = posNr_temp Then
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
End If
End If
'Dim dtSendungen = SQL.loadDgvBySql("SELECT")
Dim anzahlPackstuecke As Integer = -1
'Dim dtSendungen = SQL.loadDgvBySql("SELECT")
Dim anzahlPackstuecke As Integer = -1
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
Dim StornierungKz As String = If(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
If gs_row.Item("gs_freitext") <> "" Then