From 74faffede5da3cc2bbc3676c8aeb23f02beb9c9d Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 28 Oct 2024 17:30:14 +0100 Subject: [PATCH] Kundenablage Verag360 --- SDL/kunden/usrcntlKundeBearbeitenFull.vb | 9 +++++++-- SDL/mdm/frmMDMDatenverarbetiung.vb | 13 +++++++++---- VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb | 11 ++++++++--- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.vb b/SDL/kunden/usrcntlKundeBearbeitenFull.vb index 21dfd409..5c4fafe8 100644 --- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb +++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb @@ -3,6 +3,7 @@ Imports com.sun.org.apache.bcel.internal.generic Imports com.sun.tools.javac Imports GrapeCity.ActiveReports.ReportsCore.Tools Imports java.rmi.server +Imports org.apache.commons.lang3.exception Imports VERAG_PROG_ALLGEMEIN Public Class usrcntlKundeBearbeitenFull @@ -99,7 +100,7 @@ Public Class usrcntlKundeBearbeitenFull If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "FRONTOFFICE" And Not isVerag360 Then cboKundenkreis.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem(" 9900000-9999999: FRONT-OFFICE - Kunden", "9900000-9999999")) - + End If bntGOBOXUmstellung.Enabled = isVerag360 @@ -496,7 +497,11 @@ Public Class usrcntlKundeBearbeitenFull If WunschKdNr <= 0 Then - kdnr = VERAG_PROG_ALLGEMEIN.cAdressen.getHoechsteKdNr(s_KdNr(0), s_KdNr(1)) '+ 1 + kdnr = VERAG_PROG_ALLGEMEIN.cAdressen.getHoechsteKdNr(s_KdNr(0), s_KdNr(1), isVerag360) '+ 1 ' bei VERA360 soll zusätzlich auf abweichendeDEbitorenNr geprüft werden! + + If isVerag360 AndAlso Not vbYes = MsgBox("Nächste freie Kundennummer " & kdnr & " verwenden?" & vbNewLine & "Fortfahren? Andernfalls bitte Wunschkundenummer verwenden!", vbYesNo) Then + Return False + End If End If diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 4e16e301..4db33545 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -1139,13 +1139,18 @@ Public Class frmMDMDatenverarbetiung Dim cnt = 0 If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then - Dim dir = IIf(test, "C:\Users\d.breimaier\Desktop\MSE\", "F:\FMZoll\MSE\Archiv\" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") & Now.ToShortDateString) + Dim dir = IIf(test, "C:\Users\d.breimaier\Desktop\MSE\", "F:\FMZoll\MSE\Archiv\") & Now.ToShortDateString & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") + + If Directory.Exists(dir) Then + dir &= "_" & Now.ToShortTimeString.Replace(":", "") + End If - If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "") Directory.CreateDirectory(dir) - Dim displayView = New DataView(dt_Main, "MSEExportCSV = 1", "Customer ID", DataViewRowState.CurrentRows) + + + Dim displayView = New DataView(dt_Main, "MSEExportCSV = 1", "Customer ID", DataViewRowState.CurrentRows) Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "Customer ID", "Customer Nr") @@ -1232,7 +1237,7 @@ Public Class frmMDMDatenverarbetiung End If For Each f In Directory.GetFiles(dir) - File.Copy(f, dirAnhang & (New FileInfo(f)).Name) + File.Copy(f, dirAnhang & "\" & (New FileInfo(f)).Name) Next 'IN FMZOLL / DB MautD einfügen --> Mautbericht diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb index 1641887f..b723416e 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAdressen.vb @@ -65,10 +65,16 @@ Public Class cAdressen Return (If(Name_1, "") & " " & If(Name_2, "")).ToString.Replace(" ", " ") End Function - Public Shared Function getHoechsteKdNr(NrKr_von As Integer, NrKr_bis As Integer) As Integer + Public Shared Function getHoechsteKdNr(NrKr_von As Integer, NrKr_bis As Integer, Optional checkAbweichendeDebitorenNr As Boolean = False) As Integer Try + Dim optionalSQLString = "" + + If checkAbweichendeDebitorenNr Then + optionalSQLString = "AND not exists ( select * from [Adressen] b INNER JOIN Kunden k2 ON k2.Kundennr=b.adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' and a.[AdressenNr] +1 = k2.KundenNrZentrale) AND KundenNrZentrale NOT IN (([AdressenNr]) +1)" + End If + Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL(False) - Using cmd As New SqlCommand("select isnull(min([AdressenNr]) +1," & NrKr_von & ") as AdressenNr from [Adressen] a INNER JOIN Kunden ON Kundennr=adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' AND not exists ( select * from [Adressen] b INNER JOIN Kunden k2 ON k2.Kundennr=b.adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' and a.[AdressenNr] +1 = b.[AdressenNr]) AND KundenNr NOT IN (([AdressenNr]) +1) ", conn) + Using cmd As New SqlCommand("select isnull(min([AdressenNr]) +1," & NrKr_von & ") as AdressenNr from [Adressen] a INNER JOIN Kunden ON Kundennr=adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' AND not exists ( select * from [Adressen] b INNER JOIN Kunden k2 ON k2.Kundennr=b.adressennr where AdressenNr between '" & NrKr_von & "' AND '" & NrKr_bis & "' and a.[AdressenNr] +1 = b.[AdressenNr]) AND KundenNr NOT IN (([AdressenNr]) +1) " & optionalSQLString, conn) 'Using cmd As New SqlCommand("SELECT isnull(max([AdressenNr])," & NrKr_von & ") as AdressenNr FROM Adressen WHERE AdressenNr BETWEEN '" & NrKr_von & "' AND '" & NrKr_bis & "' ", conn) Dim dr = cmd.ExecuteReader() If dr.HasRows Then @@ -87,7 +93,6 @@ Public Class cAdressen Return -1 End Function - Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) ' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Mandant", Mandant))