From 274ea5ee01ed2a009862b1a3b52a9e9c7b2a12d3 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Wed, 12 Aug 2026 15:50:06 +0200 Subject: [PATCH] plose, etc. --- MDM_Worker/cPLOSE_Inv_Data.vb | 18 +++- UID/My Project/AssemblyInfo.vb | 4 +- initATLASAufschubkonten/cWorker_NCTS.vb | 9 +- initATLASAufschubkonten/cWorker_Verwahrung.vb | 102 ++++++++++-------- 4 files changed, 77 insertions(+), 56 deletions(-) diff --git a/MDM_Worker/cPLOSE_Inv_Data.vb b/MDM_Worker/cPLOSE_Inv_Data.vb index e79d6a1..7a345cd 100644 --- a/MDM_Worker/cPLOSE_Inv_Data.vb +++ b/MDM_Worker/cPLOSE_Inv_Data.vb @@ -375,7 +375,7 @@ Public Class cPLOSE_Inv_Data End Function - Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing, Optional dt As DataTable = Nothing, Optional AdressenNrVon As Integer = -1, Optional AdressenNrBis As Integer = -1) As Integer + Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing, Optional dt As DataTable = Nothing, Optional AdressenNrVon As Integer = -1, Optional AdressenNrBis As Integer = -1, Optional getDetailsInDatatable As Boolean = False, Optional ByRef dt_missingInvoices As DataTable = Nothing) As Integer Try Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL @@ -391,13 +391,23 @@ Public Class cPLOSE_Inv_Data End If If dt IsNot Nothing Then - Dim SQLstr = "Select [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null " & sqlTime & sqlAdressenNr & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" + Dim SQLstr = "Select [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL") + dt_missingInvoices = dt Return dt.Rows.Count Else - Dim SQLstr = "Select count(plInv_SupplierRechnungsNr) from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null " & sqlTime & sqlAdressenNr & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" - Return SQL.getValueTxtBySql(SQLstr, "FMZOLL",,, 0) + + If getDetailsInDatatable Then + + Dim SQLstr = "Select [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" + dt_missingInvoices = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL") + Return dt_missingInvoices.Rows.Count + + Else + Dim SQLstr = "Select count(plInv_SupplierRechnungsNr) from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " -- group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" + Return SQL.getValueTxtBySql(SQLstr, "FMZOLL",,, 0) + End If End If diff --git a/UID/My Project/AssemblyInfo.vb b/UID/My Project/AssemblyInfo.vb index c446412..b192136 100644 --- a/UID/My Project/AssemblyInfo.vb +++ b/UID/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/initATLASAufschubkonten/cWorker_NCTS.vb b/initATLASAufschubkonten/cWorker_NCTS.vb index cbc333a..120706f 100644 --- a/initATLASAufschubkonten/cWorker_NCTS.vb +++ b/initATLASAufschubkonten/cWorker_NCTS.vb @@ -4102,10 +4102,6 @@ Public Class cWorker_NCTS 'End If ' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist. - If saveVerwahrung Then - 'saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf) - cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, True, "T1") - End If If readNCTS_Ueberlassungsmeldung009 <> "" And MRN <> "" Then 'BEZUGSNR vorhanden @@ -4174,6 +4170,11 @@ Public Class cWorker_NCTS 'End If + If saveVerwahrung Then + 'saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf) + cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, STATUS.dySt_id, True, "T1") + End If + SaveNCTS004_FirmaNL(NCTS_TMP, DY_TMP, division) SaveNCTS004_WGDAT(NCTS_TMP, Wiedergestellungsdatum) diff --git a/initATLASAufschubkonten/cWorker_Verwahrung.vb b/initATLASAufschubkonten/cWorker_Verwahrung.vb index 367deff..ddf579d 100644 --- a/initATLASAufschubkonten/cWorker_Verwahrung.vb +++ b/initATLASAufschubkonten/cWorker_Verwahrung.vb @@ -1,4 +1,5 @@ -Imports VERAG_PROG_ALLGEMEIN +Imports com.sun.org.apache.xerces.internal.util +Imports VERAG_PROG_ALLGEMEIN Public Class cWorker_Verwahrung Public Shared Dateiname = "" @@ -99,7 +100,7 @@ Public Class cWorker_Verwahrung STATUS.dySt_BezugsNr = readVW_SumAVerwahrungsinfo STATUS.dySt_artMitteilung = "VW_INFO" STATUS.dySt_dyArt = "VW" - + STATUS.dySt_pfad = d STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_50 STATUS.dySt_ergCode = "GSTDATUM" STATUS.dySt_ergMitteilung = "" @@ -110,7 +111,7 @@ Public Class cWorker_Verwahrung 'LINKE SEITE BEI GESAMTSICHERHEITEN!!!!!!!!!!!!! - If saveVerwahrung Then saveVerwahrungseingang(readVW_SumAVerwahrungsinfo, VWI, MRN_SUMA, posGestellung, Vorpapiernummer, MRN_SUMA_veraltet, sendMail, testlauf) + If saveVerwahrung Then saveVerwahrungseingang(readVW_SumAVerwahrungsinfo, VWI, MRN_SUMA, posGestellung, Vorpapiernummer, MRN_SUMA_veraltet, sendMail, testlauf, STATUS.dySt_id) Anzeige: @@ -226,7 +227,7 @@ Anzeige: STATUS.dySt_BezugsNr = readVW_SumAErledigungsinformation STATUS.dySt_artMitteilung = "SUMA_Erledigung" STATUS.dySt_dyArt = "VW" - + STATUS.dySt_pfad = d STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_50 STATUS.dySt_ergCode = "GSTDATUM" STATUS.dySt_ergMitteilung = "" @@ -237,7 +238,7 @@ Anzeige: 'rechte SEITE BEI GESAMTSICHERHEITEN!!!!!!!!!!!!! If saveAbschreibung Then - saveVerwahrungsAusgang(MRN_Eledigungsvorgang, posErledigung, MRN_Eledigungsvorgang_veraltet, zp, sendMail, testlauf,, "SumAErledigung", MRN_Sonstige_Nr) + saveVerwahrungsAusgang(MRN_Eledigungsvorgang, posErledigung, MRN_Eledigungsvorgang_veraltet, zp, sendMail, STATUS.dySt_id, testlauf,, "SumAErledigung", MRN_Sonstige_Nr) Anzeige: @@ -351,7 +352,7 @@ Anzeige: 'Verwahrung ABSCHREIBUNG - rechte Seite bei Gesamtsicherheiten If saveAbschreibung AndAlso ART <> "NCTS" Then 'bei NCTS wird der Ausgang über ein UeberlassungsmeldungNCTSDE aufgelöst!!!!!! - saveVerwahrungsAusgang(MRN_Eledigungsvorgang, posErledigung, MRN_Eledigungsvorgang_veraltet, zp, sendMail, testlauf,, "SumAErledigung-VP") + saveVerwahrungsAusgang(MRN_Eledigungsvorgang, posErledigung, MRN_Eledigungsvorgang_veraltet, zp, sendMail, testlauf, STATUS.dySt_id,, "SumAErledigung-VP") Anzeige: @@ -548,7 +549,7 @@ Anzeige: - Shared Function saveVerwahrungseingang(readVW_SumAVerwahrungsinfo As String, VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp, MRN_SUMA As String, posGestellung As DataTable, VorpapiernummerInput As String, MRN_SUMA_veraltet As String, sendInfoMail As Boolean, testlauf As Boolean) + Shared Function saveVerwahrungseingang(readVW_SumAVerwahrungsinfo As String, VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp, MRN_SUMA As String, posGestellung As DataTable, VorpapiernummerInput As String, MRN_SUMA_veraltet As String, sendInfoMail As Boolean, testlauf As Boolean, statusid As Integer) Dim BezugsNr = readVW_SumAVerwahrungsinfo @@ -677,6 +678,7 @@ Anzeige: newSicherheit.gs_MRNNr = MRN_SUMA 'wichtig für Zuweisung DAKOSY newSicherheit.gs_gsNr = DUMMYSicherheit.gs_gsNr newSicherheit.gs_ATBNr = DUMMYSicherheit.gs_ATBNr + newSicherheit.gs_dakosystatusID = statusid Dim FreitextInfo As String = "" @@ -746,6 +748,7 @@ Anzeige: .gsp_freitext = DAKOSY_STATUS.SEND .gsp_avisoId = DUMMYSicherheit.gs_avisoId .gsp_systemuser = DAKOSY_STATUS.USER + .gsp_dakosystatusID = statusid End With CLOSED_DUMMY.SAVE() @@ -785,6 +788,7 @@ Anzeige: .gs_posSubNr = i .gs_dakoyimport = True .gs_DK_laufnr = laufnummer + .gs_dakosystatusID = statusid End With @@ -807,6 +811,7 @@ Anzeige: .gsp_avisoId = DUMMYSicherheit.gs_avisoId .gsp_gsNr = DUMMYSicherheit.gs_gsNr .gsp_systemuser = DAKOSY_STATUS.USER + .gsp_dakosystatusID = statusid End With CLOSED_DUMMY_SUBPOS.SAVE() @@ -847,7 +852,7 @@ Anzeige: End Function - Shared Sub saveVerwahrungsAusgang(MRN_Erledigung As String, posErledigung As DataTable, MRN_Erledigung_veraltet As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, Optional isNCTS As Boolean = False, Optional zusätzlicheInfo As String = "", Optional sonstigeMRNNr As String = "") + Shared Sub saveVerwahrungsAusgang(MRN_Erledigung As String, posErledigung As DataTable, MRN_Erledigung_veraltet As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, statusID As Integer, Optional isNCTS As Boolean = False, Optional zusätzlicheInfo As String = "", Optional sonstigeMRNNr As String = "") Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM @@ -955,7 +960,7 @@ Anzeige: End If - End If + End If Dim anzahlPackstuecke As Integer = -1 @@ -1004,18 +1009,18 @@ Anzeige: Dim SicherheitsPos As New cGesamtsicherheitsPositionen(gsrightRow("gs_gsId"), gsrightRow.Item("gs_posNr")) - With SicherheitsPos - '.gsp_gsId = gsrightRow("gs_gsId") - '.gsp_gspPosId = gsrightRow.Item("gs_posNr") - .gsp_filialenNr = gsrightRow("gs_filialenNr") - .gsp_art = "CLOSE" - .gsp_gsNr = gsrightRow("gs_gsnr") - .gsp_abfertigungsNr = gsrightRow("gs_abfertigungsnr") - .gsp_datum = nachrichtenDatum - .gsp_erstellungsdatum = DateTime.Now - .gsp_ust = gsrightRow("gs_ust") - .gsp_EH_Anzahl += AnzahlStückErledigt - + With SicherheitsPos + '.gsp_gsId = gsrightRow("gs_gsId") + '.gsp_gspPosId = gsrightRow.Item("gs_posNr") + .gsp_filialenNr = gsrightRow("gs_filialenNr") + .gsp_art = "CLOSE" + .gsp_gsNr = gsrightRow("gs_gsnr") + .gsp_abfertigungsNr = gsrightRow("gs_abfertigungsnr") + .gsp_datum = nachrichtenDatum + .gsp_erstellungsdatum = DateTime.Now + .gsp_ust = gsrightRow("gs_ust") + .gsp_EH_Anzahl += AnzahlStückErledigt + .gsp_dakosystatusID = statusID If Not IsDBNull(gsrightRow.Item("gs_EH_Anzahl")) Then If .gsp_EH_Anzahl = CInt(gsrightRow.Item("gs_EH_Anzahl")) Then isCompletelyFinished = True 'wenn alle Teile da sind, dann komplett! Else @@ -1024,33 +1029,36 @@ Anzeige: .gsp_freitext = IIf(isCompletelyFinished, DAKOSY_STATUS.IMPORTED, DAKOSY_STATUS.NOTCOMPLETED) & vermerkFremdweahrung - .gsp_warenwert = IIf(isCompletelyFinished, WarenwertEUR, 0) - .gsp_sicherheitsbetrag = IIf(isCompletelyFinished, Sicherheitsbetrag, 0) - If isCompletelyFinished Then - If Not isNCTS Then - .gsp_ATCNr = IIf(MRN_Erledigung_veraltet = "", MRN_SUMA, MRN_Erledigung_veraltet) - .gsp_MRNNr = IIf(MRN_Erledigung = "", MRN_SUMA, MRN_Erledigung) - Else - .gsp_ATCNr = "" - .gsp_MRNNr = IIf(MRN_Erledigung = "", MRN_SUMA.Trim(), MRN_Erledigung.Trim()) - End If + .gsp_warenwert = IIf(isCompletelyFinished, WarenwertEUR, 0) + .gsp_sicherheitsbetrag = IIf(isCompletelyFinished, Sicherheitsbetrag, 0) + If isCompletelyFinished Then + If Not isNCTS Then + .gsp_ATCNr = IIf(MRN_Erledigung_veraltet = "", MRN_SUMA, MRN_Erledigung_veraltet) + .gsp_MRNNr = IIf(MRN_Erledigung = "", MRN_SUMA, MRN_Erledigung) + Else + .gsp_ATCNr = "" + .gsp_MRNNr = IIf(MRN_Erledigung = "", MRN_SUMA.Trim(), MRN_Erledigung.Trim()) End If - .gsp_avisoId = gsrightRow("gs_avisoID") - .gsp_systemuser = "DAKOSY-AUTO" - End With + End If + .gsp_avisoId = gsrightRow("gs_avisoID") + .gsp_systemuser = "DAKOSY-AUTO" + End With SicherheitsPos.SAVE() GesSichRef.CalcSaldo() Dim differenz As Double = cSicherheiten.getDifferenz_alleAusgetragen(gsrightRow("gs_gsnr")) - - Dim InfoDifferenz As String = "Austragung Sicherheitsbertrag." - + Dim InfoDifferenz As String = "Austragung Sicherheitsbertrag." & gsrightRow.Item("gs_MRNNr") + Dim corrWarenwert As Double = 0 If differenz <> 0 Then If Math.Abs(differenz) <= 0.02 AndAlso Math.Abs(differenz) > 0 Then - InfoDifferenz = "Korrekt. Rundungsdiff. " + InfoDifferenz = "Korrekt. Rundungsdiff. " & gsrightRow("gs_gsnr") + Else + + Dim sicherheitsbetrag_temp As Double = IIf(differenz > 0, Math.Abs(differenz), 0) + corrWarenwert = sicherheitsbetrag_temp * 100 / CDbl(gsrightRow("gs_zollsatz")) End If @@ -1058,7 +1066,7 @@ Anzeige: With OPEN_RUNDIF .gs_gsNr = gsrightRow("gs_gsnr") - .gs_ATBNr = InfoDifferenz & gsrightRow("gs_gsnr") + .gs_ATBNr = InfoDifferenz .gs_MRNNr = "" .gs_posNr = OPEN_RUNDIF.getLatestPosNr(OPEN_RUNDIF.gs_gsNr, OPEN_RUNDIF.gs_ATBNr) + 1 .gs_posSubNr = Nothing @@ -1075,6 +1083,7 @@ Anzeige: .gs_isRundungsdiff = True .gs_dakoyimport = 1 .gs_systemuser = DAKOSY_STATUS.USER + .gs_dakosystatusID = statusID End With Dim gs_gsId = OPEN_RUNDIF.SAVEOBJECT() @@ -1083,7 +1092,7 @@ Anzeige: With CLOSED_RUNDIF .gsp_gsId = gs_gsId .gsp_gspPosId = OPEN_RUNDIF.gs_posNr - .gsp_warenwert = 0 + .gsp_warenwert = corrWarenwert .gsp_sicherheitsbetrag = IIf(differenz > 0, Math.Abs(differenz), 0) .gsp_freitext = "" .gsp_filialenNr = gsrightRow("gs_filialenNr") @@ -1092,10 +1101,11 @@ Anzeige: .gsp_abfertigungsNr = gsrightRow("gs_abfertigungsNr") .gsp_datum = DateTime.Now .gsp_erstellungsdatum = DateTime.Now - .gsp_MRNNr = InfoDifferenz & gsrightRow("gs_gsnr") + .gsp_MRNNr = InfoDifferenz .gsp_isPosRundungsdiff = True .gsp_avisoId = gsrightRow("gs_avisoID") .gsp_systemuser = DAKOSY_STATUS.USER + .gsp_dakosystatusID = statusID End With CLOSED_RUNDIF.SAVE() @@ -1105,15 +1115,15 @@ Anzeige: If sendInfoMail Then - Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS, sonstigeMRNNr, gsrightRow) - Dim empfaenger = cMitarbeiter.GetEMailRecipientForEmailNotification("DAKOSY-VWA", GesSichRef.brgakto_firmaID) - If empfaenger <> "" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaenger, GesSichRef.brgakto_gs_standort & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, " TEST-", " ") & "Verwahrungsausgang aus DAKOSY " & zusätzlicheInfo & " - " & Now().ToShortDateString, InfoText2, "NoReply@verag.ag") - End If - + Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS, sonstigeMRNNr, gsrightRow) + Dim empfaenger = cMitarbeiter.GetEMailRecipientForEmailNotification("DAKOSY-VWA", GesSichRef.brgakto_firmaID) + If empfaenger <> "" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaenger, GesSichRef.brgakto_gs_standort & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, " TEST-", " ") & "Verwahrungsausgang aus DAKOSY " & zusätzlicheInfo & " - " & Now().ToShortDateString, InfoText2, "NoReply@verag.ag") End If End If + End If + End If Next