BH, Helferfunktionen, CHAT Refactor!!!!!!
This commit is contained in:
@@ -320,9 +320,9 @@ Public Class cFakturierung
|
|||||||
|
|
||||||
If RECHNUNG_KD.Zahlungsziel IsNot Nothing AndAlso IsNumeric(RECHNUNG_KD.Zahlungsziel) Then
|
If RECHNUNG_KD.Zahlungsziel IsNot Nothing AndAlso IsNumeric(RECHNUNG_KD.Zahlungsziel) Then
|
||||||
ZZTage = RECHNUNG_KD.Zahlungsziel
|
ZZTage = RECHNUNG_KD.Zahlungsziel
|
||||||
If ZZTage > 14 AndAlso RECHNUNG.Firma_ID = 19 AndAlso RECHNUNG.FilialenNr = 8001 Then
|
'If ZZTage > 14 AndAlso RECHNUNG.Firma_ID = 19 AndAlso RECHNUNG.FilialenNr = 8001 Then
|
||||||
ZZTage = 14
|
' ZZTage = 14 'Hier aus DEebitor überschreiben!
|
||||||
End If
|
'End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Select Case RECHNUNG.[BelegartenNr]
|
Select Case RECHNUNG.[BelegartenNr]
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("1.5.3.0")>
|
<Assembly: AssemblyVersion("1.5.3.1")>
|
||||||
<Assembly: AssemblyFileVersion("1.5.3.0")>
|
<Assembly: AssemblyFileVersion("1.5.3.1")>
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
Imports System.Windows.Documents
|
Imports System.Windows.Documents
|
||||||
|
Imports com.sun.org.apache.bcel.internal.generic
|
||||||
Imports java.awt.geom
|
Imports java.awt.geom
|
||||||
|
Imports MDM_Worker
|
||||||
Imports VERAG_PROG_ALLGEMEIN
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
|
||||||
Public Class frmUSTVoffeneAntraege
|
Public Class frmUSTVoffeneAntraege
|
||||||
@@ -1089,57 +1091,88 @@ Public Class frmUSTVoffeneAntraege
|
|||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
||||||
Dim SQLQuery As String = ""
|
|
||||||
|
Dim dtfehlendePDF As New DataTable
|
||||||
|
Dim dtPartInvoicesIDS As New DataTable
|
||||||
|
|
||||||
Select Case LIEFERANT.ToString.ToLower
|
Select Case LIEFERANT.ToString.ToLower
|
||||||
Case "plose" : SQLQuery = "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 cast([plInv_SupplierRechnungsDatum] as Date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt"
|
Case "plose"
|
||||||
Case "rmc" : SQLQuery = "select rmc_reNr as RechnungsNr,rmc_reDatum AS Rechnungsdatum, Adressen.AdressenNr as KundenNr,Adressen.[Name 1] as Kunde, kde_keineMWSt as keineMWST from [tblRMCImport] INNER JOIN Adressen on WölflKundenNr=[rmc_kdNr] or weitereWölflKundenNr=[rmc_kdNr] INNER JOIN tblKundenErweitert on AdressenNr = kde_KundenNr where rmc_daId is null and cast([rmc_reDatum] as Date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' group by rmc_reNr, Adressen.AdressenNr, Adressen.[Name 1],rmc_reDatum, kde_keineMWSt "
|
|
||||||
Case "mse" : SQLQuery = "select invoice_id as RechnungsNr,[invoice_date] as Rechnungsdatum, Adressen.AdressenNr as KundenNr,Adressen.[Name 1] as Kunde, kde_keineMWSt as keineMWST from tblMSEInvoices inner join [tblMSECustomers] on [customer_number] = [customer_id] INNER JOIN Adressen on Adressen.MSEKundenNr = [customer_number] INNER JOIN tblKundenErweitert on AdressenNr = kde_KundenNr where daId is null and cast(invoice_date as Date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' group by invoice_id, Adressen.AdressenNr, Adressen.[Name 1], invoice_date, kde_keineMWSt"
|
Dim LIEFERANT As cPLOSE_Inv_Data
|
||||||
Case "uta" : SQLQuery = " SELECT U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.AdressenNr AS KundenNr,A.UTAKundenNr AS UTAKundenNr,A.[Name 1] AS Kunde,A.LandKz, kde_keineMWSt as keineMWST FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer INNER JOIN tblKundenErweitert on A.AdressenNr = kde_KundenNr WHERE U.daId IS NULL AND CAST(U.Rechnungsdatum AS date) BETWEEN '" & dat_Sum_Von.Value & "' AND '" & dat_Sum_Bis.Value & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.AdressenNr,A.UTAKundenNr ,A.[Name 1],A.LandKz, kde_keineMWSt ORDER BY U.Rechnungsdatum"
|
dtfehlendePDF = LIEFERANT.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
||||||
Case "ids" : SQLQuery = "select Invoicenumber as RechnungsNr,YearMonthDay as Rechnungsdatum, Adressen.AdressenNr as KundenNr,Adressen.[Name 1] as Kunde, kde_keineMWSt from tblIDSInvoicesNew Inner join [tbl_IDS_Kunden] on [tbl_IDS_Kunden].CustomerCode =tblIDSInvoicesNew.CustomerCode and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 Inner join Adressen on Adressen.AdressenNr = [tbl_IDS_Kunden].KdNrVERAG INNER JOIN tblKundenErweitert on Adressen.AdressenNr = kde_KundenNr where DocumentName is null and cast(YearMonthDay as Date) between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' group by Invoicenumber, Adressen.AdressenNr, Adressen.[Name 1], YearMonthDay, kde_keineMWSt"
|
|
||||||
Case Else : SQLQuery = ""
|
Case "rmc"
|
||||||
|
Dim LIEFERANT As cRMC
|
||||||
|
dtfehlendePDF = LIEFERANT.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
||||||
|
|
||||||
|
Case "mse"
|
||||||
|
|
||||||
|
Dim LIEFERANT As cMSEAPI
|
||||||
|
dtfehlendePDF = LIEFERANT.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
||||||
|
|
||||||
|
|
||||||
|
Case "uta"
|
||||||
|
|
||||||
|
Dim LIEFERANT As cUTA
|
||||||
|
dtfehlendePDF = LIEFERANT.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
||||||
|
|
||||||
|
|
||||||
|
Case "ids"
|
||||||
|
Dim LIEFERANT As cIDS
|
||||||
|
dtfehlendePDF = LIEFERANT.checkPDFInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
||||||
|
dtPartInvoicesIDS = LIEFERANT.checkPartInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
||||||
|
|
||||||
|
|
||||||
|
Case "verag"
|
||||||
|
|
||||||
|
MsgBox("PDF wird zur Laufzeit aus RE-Daten generiert")
|
||||||
|
Exit Sub
|
||||||
|
|
||||||
|
Case Else
|
||||||
|
|
||||||
|
MsgBox("Funktion nur pro Lieferant möglich!")
|
||||||
|
Exit Sub
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
|
||||||
Dim fehlendePDFs As Integer = 0
|
Dim fehlendePDFs As Integer = 0
|
||||||
If SQLQuery <> "" Then
|
|
||||||
Dim dtfehlendePDF As DataTable = (New SQL).loadDgvBySql(SQLQuery, "FMZOLL")
|
|
||||||
MsgBox("Anzahl fehlende PDFs: " & dtfehlendePDF.Rows.Count & IIf(CDate(dat_Sum_Von.Value).Year <= 2024 OrElse CDate(dat_Sum_Bis.Value).Year <= 2024, vbNewLine & "PDF-Rechnungen vor 2025 wurden tlw. nicht importiert!", ""))
|
|
||||||
|
|
||||||
If dtfehlendePDF.Rows.Count > 0 Then
|
MsgBox("Anzahl fehlende PDFs: " & dtfehlendePDF.Rows.Count & IIf(CDate(dat_Sum_Von.Value).Year <= 2024 OrElse CDate(dat_Sum_Bis.Value).Year <= 2024, vbNewLine & "PDF-Rechnungen vor 2025 wurden tlw. nicht importiert!", ""))
|
||||||
If vbYes = MsgBox("Details der fehlenden PDF-Rechnungen anzeigen?", vbYesNo) Then
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dtfehlendePDF,,, "Fehlende PDF-Rechnungen: " & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString)
|
If dtfehlendePDF.Rows.Count > 0 Then
|
||||||
|
If vbYes = MsgBox("Details der fehlenden PDF-Rechnungen anzeigen?", vbYesNo) Then
|
||||||
|
cProgramFunctions.genExcelFromDT_NEW(dtfehlendePDF,,, "Fehlende PDF-Rechnungen: " & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString)
|
||||||
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
'extra bei IDS -> wenn nicht korrekt verarbeitet/gesetzt!!
|
|
||||||
If LIEFERANT.ToString.ToLower = "ids" Then
|
|
||||||
Dim IDS As cIDS
|
|
||||||
Dim dt = IDS.checkInvoices(dat_Sum_Von.Value, dat_Sum_Bis.Value)
|
|
||||||
|
|
||||||
If dt.Rows.Count > 0 Then
|
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dt,,, "Fehlende PDF-Teilrechnungen inkl. Datensatz " & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString)
|
|
||||||
If dt.Rows.Count <= 10 Then
|
|
||||||
If vbYes = MsgBox(dt.Rows.Count & " Gesamtrechnungen der fehlenden PDF-Teilrechnungen anzeigen?", vbYesNo) Then
|
|
||||||
For Each row In dt.Rows
|
|
||||||
If row.item("daId") IsNot Nothing AndAlso IsNumeric(row.item("daId")) AndAlso CInt(row.item("daId")) > 0 Then
|
|
||||||
Dim DS As New cDATENSERVER(row.item("daId"))
|
|
||||||
Dim pathPDF = DS.GET_TOP1_PATH
|
|
||||||
If pathPDF <> "" Then Process.Start(pathPDF)
|
|
||||||
End If
|
|
||||||
|
|
||||||
Next
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
MsgBox("Funktion nur pro Lieferant möglich!")
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
'extra bei IDS ->Prüft ob es zur Gesamtrechnung Teilrechnungen gibt!!
|
||||||
|
If LIEFERANT.ToString.ToLower = "ids" Then
|
||||||
|
If dtPartInvoicesIDS.Rows.Count > 0 Then
|
||||||
|
|
||||||
|
If vbYes = MsgBox("Es fehlen " & dtPartInvoicesIDS.Rows.Count & " Teilrechnungen" & vbNewLine & "Details der fehlenden Teilrechnungen anzeigen?", vbYesNo) Then
|
||||||
|
cProgramFunctions.genExcelFromDT_NEW(dtPartInvoicesIDS,,, "Fehlende PDF-Teilrechnungen inkl. Datensatz " & dat_Sum_Von.Value.ToShortDateString & " - " & dat_Sum_Bis.Value.ToShortDateString)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If dtPartInvoicesIDS.Rows.Count <= 10 Then
|
||||||
|
If vbYes = MsgBox(dtPartInvoicesIDS.Rows.Count & " Gesamtrechnungen der fehlenden PDF-Teilrechnungen anzeigen?", vbYesNo) Then
|
||||||
|
For Each row In dtPartInvoicesIDS.Rows
|
||||||
|
If row.item("daId") IsNot Nothing AndAlso IsNumeric(row.item("daId")) AndAlso CInt(row.item("daId")) > 0 Then
|
||||||
|
Dim DS As New cDATENSERVER(row.item("daId"))
|
||||||
|
Dim pathPDF = DS.GET_TOP1_PATH
|
||||||
|
If pathPDF <> "" Then Process.Start(pathPDF)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -401,7 +401,7 @@ Public Class usrCntlUSTV
|
|||||||
' AND cast( [UStVAn_USteuerbetragEUR] as decimal(17,2))-cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))<>0
|
' AND cast( [UStVAn_USteuerbetragEUR] as decimal(17,2))-cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))<>0
|
||||||
' AND UStVAn_AntragEingereichtAm is not null
|
' AND UStVAn_AntragEingereichtAm is not null
|
||||||
' order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LandKz,[UStVAn_ReDatVon] desc"
|
' order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LandKz,[UStVAn_ReDatVon] desc"
|
||||||
Dim sqlStr = "SELECT [UStVAn_ID] as ID,[UStVAn_KuNr] as KundenNr,[UStVAn_Name] as Kundename,Adressen.LandKz as Land_Kunde, case when UstIdKz is not null and UstIdNr is not null THEN UstIdKz +'' + UstIdNr ELSE isnull(Steuernummer,'') END as SteuerUIDNr, LfdA .LandKz Land_Antrag,cast([UStVAn_ReDatVon] as Date) as ReDatVon,cast([UStVAn_ReDatBis] as Date) as ReDatBis , cast(UStVAn_AntragEingereichtAm as Date) as EingereichtAm,[UStVAn_3470] as An3470 ,[UStVAn_Währungscode] as Währung,[UStVAn_USteuerbetrag] as Steuerbetrag,[UStVAn_Erstattungsbetrag] as Erstattungsbetrag,[UStVAn_USteuerbetragEUR] as SteuerbetragEUR,[UStVAn_ErstattungsbetragEUR] as ErstattungsbetragEUR,(cast([UStVAn_USteuerbetragEUR] as decimal(17,2)) - cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))) as DifferenzbetragEUR, UStVAn_VZBetrag as Vorauszahlungsbetrag, [UStVAn_Sachbearbeiter] as Sachbearbeiter, UStVAn_AntragArt as Art, stnr.[StNrFürRückerstattungUSt] as SteuerNr
|
Dim sqlStr = "SELECT [UStVAn_ID] as ID,[UStVAn_KuNr] as KDNR,[UStVAn_Name] as Kundename,Adressen.LandKz as LKZ_KD, case when UstIdKz is not null and UstIdNr is not null THEN UstIdKz +'' + UstIdNr ELSE isnull(Steuernummer,'') END as SteuerUIDNr, LfdA.LandKz as LKZ,cast([UStVAn_ReDatVon] as Date) as ReDatVon,cast([UStVAn_ReDatBis] as Date) as ReDatBis , cast(UStVAn_AntragEingereichtAm as Date) as EingereichtAm,[UStVAn_3470] as An3470 ,[UStVAn_Währungscode] as WKZ,[UStVAn_USteuerbetrag] as Steuerbetrag,[UStVAn_Erstattungsbetrag] as Erstattungsbetrag,[UStVAn_USteuerbetragEUR] as SteuerbetragEUR,[UStVAn_ErstattungsbetragEUR] as ErstattungsbetragEUR,(cast([UStVAn_USteuerbetragEUR] as decimal(17,2)) - cast( [UStVAn_ErstattungsbetragEUR] as decimal(17,2))) as DifferenzbetragEUR, UStVAn_VZBetrag as VZ, [UStVAn_Sachbearbeiter] as Sachbearbeiter, UStVAn_AntragArt as Art, stnr.[StNrFürRückerstattungUSt] as SteuerNr
|
||||||
FROM [tblUStVAntrag]
|
FROM [tblUStVAntrag]
|
||||||
inner join [Länderverzeichnis für die Außenhandelsstatistik] as LfdA on UStVAn_LandNr=Landnr
|
inner join [Länderverzeichnis für die Außenhandelsstatistik] as LfdA on UStVAn_LandNr=Landnr
|
||||||
inner join Adressen on AdressenNr=UStVAn_KuNr
|
inner join Adressen on AdressenNr=UStVAn_KuNr
|
||||||
@@ -413,7 +413,7 @@ Public Class usrCntlUSTV
|
|||||||
|
|
||||||
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
Dim dt = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
||||||
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
||||||
cProgramFunctions.genExcelFromDT_NEW(dt, {"J1:M" & (dt.Rows.Count + 1)},,,,, True)
|
cProgramFunctions.genExcelFromDT_NEW(dt, ,,,,, True,,,,,, {"L1:Q" & (dt.Rows.Count + 1)})
|
||||||
Else
|
Else
|
||||||
MsgBox("Keine Daten!")
|
MsgBox("Keine Daten!")
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -1035,7 +1035,7 @@ Public Class usrCntlBH
|
|||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef RK_ID As Integer, ByRef Fusstext As String)
|
Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef RK_ID As Integer, ByRef Fusstext As String, ZahlungszielAusDebitor As Integer)
|
||||||
Try
|
Try
|
||||||
|
|
||||||
If KdNr = "" Then Return False
|
If KdNr = "" Then Return False
|
||||||
@@ -1105,10 +1105,14 @@ Public Class usrCntlBH
|
|||||||
RG.Packstücke_und_Warenbezeichnung = "NACHBERECHNUNG VON VERZUGSZINSEN" & vbNewLine & SPEDBUCH.Vermerk
|
RG.Packstücke_und_Warenbezeichnung = "NACHBERECHNUNG VON VERZUGSZINSEN" & vbNewLine & SPEDBUCH.Vermerk
|
||||||
'RG.EMailRechnungstext = Fusstext
|
'RG.EMailRechnungstext = Fusstext
|
||||||
|
|
||||||
If Not IsDBNull(KD.Zahlungsziel) AndAlso IsNumeric(KD.Zahlungsziel) Then
|
'IN DIESEM FALL IMMER AUS DEBITOR NEHMEN!!!
|
||||||
Dim Zahlungsziel As Integer = CInt(KD.Zahlungsziel)
|
|
||||||
RG.Nettozahlungsziel = IIf(Zahlungsziel > 14, 14, KD.Zahlungsziel)
|
'If Not IsDBNull(KD.Zahlungsziel) AndAlso IsNumeric(KD.Zahlungsziel) Then
|
||||||
End If
|
' Dim Zahlungsziel As Integer = CInt(KD.Zahlungsziel)
|
||||||
|
' RG.Nettozahlungsziel = IIf(Zahlungsziel > 14, 14, KD.Zahlungsziel)
|
||||||
|
'End If
|
||||||
|
|
||||||
|
RG.Nettozahlungsziel = ZahlungszielAusDebitor
|
||||||
|
|
||||||
RG.SteuerpflichtigerGesamtbetrag = 0
|
RG.SteuerpflichtigerGesamtbetrag = 0
|
||||||
RG.SteuerfreierGesamtbetrag = 0
|
RG.SteuerfreierGesamtbetrag = 0
|
||||||
@@ -1245,7 +1249,7 @@ Public Class usrCntlBH
|
|||||||
Private Sub btnZNBverrechnen_Click(sender As Object, e As EventArgs) Handles btnZNBverrechnen.Click
|
Private Sub btnZNBverrechnen_Click(sender As Object, e As EventArgs) Handles btnZNBverrechnen.Click
|
||||||
|
|
||||||
If txtZRbis.Text = "" OrElse Not IsDate(txtZRbis.Text) Then
|
If txtZRbis.Text = "" OrElse Not IsDate(txtZRbis.Text) Then
|
||||||
MsgBox("Abrechnungdatum setzen!")
|
MsgBox("Abrechnungdatum (Zahlungen bis) setzen!")
|
||||||
txtZRbis.Focus()
|
txtZRbis.Focus()
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
@@ -1255,7 +1259,7 @@ Public Class usrCntlBH
|
|||||||
LimitBEtrag = CInt(txtAbBetragAbrechnen.Text)
|
LimitBEtrag = CInt(txtAbBetragAbrechnen.Text)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("Select [kundenNr],SUM([zinsbetrag]) as Zinsbetrag, zahlungsperiode_start,zahlungsperiode_ende FROM [VERAG].[dbo].[tblMDM_Zinsberechnung] where [verrechnet] Is null group by [kundenNr], zahlungsperiode_start, zahlungsperiode_ende" & IIf(LimitBEtrag > 0, " having SUM([zinsbetrag]) >= " & LimitBEtrag, ""), "FMZOLL")
|
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("Select [kundenNr],SUM([zinsbetrag]) as Zinsbetrag,max(belegZahlungsziel) as belegZahlungsziel , zahlungsperiode_start,zahlungsperiode_ende FROM [VERAG].[dbo].[tblMDM_Zinsberechnung] where [verrechnet] Is null group by [kundenNr], zahlungsperiode_start, zahlungsperiode_ende" & IIf(LimitBEtrag > 0, " having SUM([zinsbetrag]) >= " & LimitBEtrag, ""), "FMZOLL")
|
||||||
|
|
||||||
If dt_Main.Rows.Count > 0 Then
|
If dt_Main.Rows.Count > 0 Then
|
||||||
Dim kundenNr As String = ""
|
Dim kundenNr As String = ""
|
||||||
@@ -1342,7 +1346,7 @@ Public Class usrCntlBH
|
|||||||
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
||||||
Dim RK_ID As Integer = -1
|
Dim RK_ID As Integer = -1
|
||||||
If Not gen_SPEDBUCH_ByKdNr(R("kundenNr"), SPEDBUCH, CDate(txtZRbis.Text).ToShortDateString, vermerk) Then verarbOK = False
|
If Not gen_SPEDBUCH_ByKdNr(R("kundenNr"), SPEDBUCH, CDate(txtZRbis.Text).ToShortDateString, vermerk) Then verarbOK = False
|
||||||
If Not gen_RECHNUNG_BySPEDBUCH(R("kundenNr"), SPEDBUCH, RK_ID, Fußtext) Then verarbOK = False
|
If Not gen_RECHNUNG_BySPEDBUCH(R("kundenNr"), SPEDBUCH, RK_ID, Fußtext, R("belegZahlungsziel")) Then verarbOK = False
|
||||||
|
|
||||||
If verarbOK Then
|
If verarbOK Then
|
||||||
SQL.doSQL("UPDATE [tblMDM_Zinsberechnung] SET [verrechnet]=GETDATE(), RK_ID = " & RK_ID & " WHERE [verrechnet] Is null And kundenNr='" & R("kundenNr") & "' ", "FMZOLL")
|
SQL.doSQL("UPDATE [tblMDM_Zinsberechnung] SET [verrechnet]=GETDATE(), RK_ID = " & RK_ID & " WHERE [verrechnet] Is null And kundenNr='" & R("kundenNr") & "' ", "FMZOLL")
|
||||||
|
|||||||
@@ -1131,7 +1131,7 @@ Public Class cProgramFunctions
|
|||||||
Return ""
|
Return ""
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True, Optional fitWideToOnePage As Boolean = False) As String
|
Public Shared Function genExcelFromDT_NEW(dt As DataTable, Optional rangeAsWaehrung() As String = Nothing, Optional ShowAutoFilter As Boolean = True, Optional HeaderTxt As String = "", Optional HeaderTxt2 As String = "", Optional waehrungsZeichen As String = "€", Optional fitCellsToContent As Boolean = False, Optional mergeHeadersToCell As Char = "", Optional Landscape As Boolean = False, Optional fitToOnePage As Boolean = False, Optional openFile As Boolean = True, Optional fitWideToOnePage As Boolean = False, Optional rangeAsBuchhaltung() As String = Nothing) As String
|
||||||
Try
|
Try
|
||||||
|
|
||||||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SDL\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
||||||
@@ -1156,6 +1156,16 @@ Public Class cProgramFunctions
|
|||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If rangeAsBuchhaltung IsNot Nothing Then
|
||||||
|
For Each r In rangeAsBuchhaltung
|
||||||
|
Try
|
||||||
|
wb.Worksheets(0).Range(r).Style.NumberFormat.SetFormat("_-* #,##0.00_-;-* #,##0.00_-;_-* ""-""??_-;_-@_-")
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox(ex.Message & ex.StackTrace)
|
||||||
|
End Try
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
If HeaderTxt <> "" Then
|
If HeaderTxt <> "" Then
|
||||||
wb.Worksheets(0).FirstRow.InsertRowsAbove(2)
|
wb.Worksheets(0).FirstRow.InsertRowsAbove(2)
|
||||||
wb.Worksheets(0).Range("A1").Value = HeaderTxt
|
wb.Worksheets(0).Range("A1").Value = HeaderTxt
|
||||||
|
|||||||
@@ -663,10 +663,36 @@ Public Class cIDS
|
|||||||
Return ""
|
Return ""
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Shared Function checkInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable
|
Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable
|
||||||
Try
|
Try
|
||||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
Dim sqlTime As String = ""
|
||||||
|
|
||||||
|
If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then
|
||||||
|
sqlTime = " And cast(YearMonthDay as Date) between '" & reDatVon.ToShortDateString & "' and '" & reDatBis.ToShortDateString & "'"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim SQLstr = "select Invoicenumber as RechnungsNr,YearMonthDay as Rechnungsdatum, Adressen.AdressenNr as KundenNr,Adressen.[Name 1] as Kunde, kde_keineMWSt from tblIDSInvoicesNew Inner join [tbl_IDS_Kunden] on [tbl_IDS_Kunden].CustomerCode =tblIDSInvoicesNew.CustomerCode and isnull([tbl_IDS_Kunden].KdNrAlt, 1) = 0 Inner join Adressen on Adressen.AdressenNr = [tbl_IDS_Kunden].KdNrVERAG INNER JOIN tblKundenErweitert on Adressen.AdressenNr = kde_KundenNr where DocumentName is null " & sqlTime & " group by Invoicenumber, Adressen.AdressenNr, Adressen.[Name 1], YearMonthDay, kde_keineMWSt"
|
||||||
|
|
||||||
|
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
|
||||||
|
|
||||||
|
Return dt
|
||||||
|
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function checkPartInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable
|
||||||
|
Try
|
||||||
|
'Prüft, ob es zu Gesamtrechnungen Teilrechnungen gibt!
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
Dim SQLstr = " "
|
Dim SQLstr = " "
|
||||||
|
|
||||||
If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then
|
If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ Public Class cMessenger
|
|||||||
Next
|
Next
|
||||||
Me.LOAD_MEMBERS()
|
Me.LOAD_MEMBERS()
|
||||||
If dateTmp Is Nothing Then
|
If dateTmp Is Nothing Then
|
||||||
Me.LOAD_MESSAGES(topMax)
|
Me.LOAD_MESSAGES_NEW(topMax)
|
||||||
Else
|
Else
|
||||||
Me.LOAD_MESSAGES_DATE(dateTmp)
|
Me.LOAD_MESSAGES_DATE(dateTmp)
|
||||||
End If
|
End If
|
||||||
@@ -346,7 +346,7 @@ Public Class cMessenger
|
|||||||
|
|
||||||
Me.LOAD_MEMBERS()
|
Me.LOAD_MEMBERS()
|
||||||
If dateTmp Is Nothing Then
|
If dateTmp Is Nothing Then
|
||||||
Me.LOAD_MESSAGES()
|
Me.LOAD_MESSAGES_NEW()
|
||||||
Else
|
Else
|
||||||
Me.LOAD_MESSAGES_DATE(dateTmp)
|
Me.LOAD_MESSAGES_DATE(dateTmp)
|
||||||
End If
|
End If
|
||||||
@@ -415,9 +415,9 @@ Public Class cMessenger
|
|||||||
cmd.Parameters.AddWithValue("@top", top)
|
cmd.Parameters.AddWithValue("@top", top)
|
||||||
Dim dr = cmd.ExecuteReader()
|
Dim dr = cmd.ExecuteReader()
|
||||||
While dr.Read
|
While dr.Read
|
||||||
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) ' ----> 100 messages = 101 SQL calls
|
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) ' ----> 100 messages = 101 SQL calls
|
||||||
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
|
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
|
||||||
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
|
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_chatId"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
|
||||||
Me.CHAT_MESSAGES.Add(MSG)
|
Me.CHAT_MESSAGES.Add(MSG)
|
||||||
End While
|
End While
|
||||||
dr.Close()
|
dr.Close()
|
||||||
@@ -431,6 +431,64 @@ Public Class cMessenger
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Sub LOAD_MESSAGES_NEW(Optional top As Integer = 100)
|
||||||
|
Try
|
||||||
|
Me.CHAT_MESSAGES.Clear()
|
||||||
|
|
||||||
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
|
||||||
|
Using cmd As New SqlCommand(
|
||||||
|
"SELECT TOP (@top) chatMg_id, chatMg_chatId, chatMg_maId, chatMg_maName, chatMg_maFirma, chatMg_datetime, chatMg_type, chatMg_text, chatMg_anhang_docId, chatMg_referenz_AvisoId, chatMg_referenz_SendungsId, chatMg_referenz_KundenNr
|
||||||
|
FROM tblMessenger_ChatMessages
|
||||||
|
WHERE chatMg_chatId = @chat_id
|
||||||
|
ORDER BY chatMg_datetime DESC", conn)
|
||||||
|
|
||||||
|
cmd.Parameters.AddWithValue("@chat_id", chat_id)
|
||||||
|
cmd.Parameters.AddWithValue("@top", top)
|
||||||
|
|
||||||
|
Using dr As SqlDataReader = cmd.ExecuteReader()
|
||||||
|
While dr.Read()
|
||||||
|
Dim chatMg_id As Integer? = SafeInt(dr("chatMg_id"))
|
||||||
|
Dim chatMg_chatId As Integer? = SafeInt(dr("chatMg_chatId"))
|
||||||
|
Dim chatMg_maId As Integer? = SafeInt(dr("chatMg_maId"))
|
||||||
|
Dim chatMg_type As String = If(IsDBNull(dr("chatMg_type")), "", dr("chatMg_type").ToString())
|
||||||
|
Dim chatMg_anhang_docId As Integer? = SafeInt(dr("chatMg_anhang_docId"))
|
||||||
|
Dim chatMg_referenz_AvisoId As Integer? = SafeInt(dr("chatMg_referenz_AvisoId"))
|
||||||
|
Dim chatMg_referenz_SendungsId As Integer? = SafeInt(dr("chatMg_referenz_SendungsId"))
|
||||||
|
Dim chatMg_datetime As DateTime = If(IsDBNull(dr("chatMg_datetime")), DateTime.MinValue, Convert.ToDateTime(dr("chatMg_datetime")))
|
||||||
|
Dim chatMg_maName As String = If(IsDBNull(dr("chatMg_maName")), "", dr("chatMg_maName").ToString())
|
||||||
|
Dim chatMg_maFirma As String = If(IsDBNull(dr("chatMg_maFirma")), "", dr("chatMg_maFirma").ToString())
|
||||||
|
Dim chatMg_text As String = If(IsDBNull(dr("chatMg_text")), "", dr("chatMg_text").ToString())
|
||||||
|
Dim chatMg_referenz_KundenNr As String = If(IsDBNull(dr("chatMg_referenz_KundenNr")), "", dr("chatMg_referenz_KundenNr").ToString())
|
||||||
|
|
||||||
|
' Message-Objekt direkt erstellen
|
||||||
|
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_chatId"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr"))
|
||||||
|
|
||||||
|
Me.CHAT_MESSAGES.Add(MSG)
|
||||||
|
End While
|
||||||
|
End Using
|
||||||
|
End Using
|
||||||
|
End Using
|
||||||
|
|
||||||
|
' Nachrichten umdrehen, damit älteste zuerst angezeigt werden
|
||||||
|
Me.CHAT_MESSAGES.Reverse()
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox("Fehler in LOAD_MESSAGES: " & vbNewLine & ex.Message & vbNewLine & ex.StackTrace)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function SafeInt(value As Object) As Integer?
|
||||||
|
If IsDBNull(value) Then Return Nothing
|
||||||
|
Dim s As String = value.ToString().Trim()
|
||||||
|
Dim result As Integer
|
||||||
|
If Integer.TryParse(s, result) Then
|
||||||
|
Return result
|
||||||
|
Else
|
||||||
|
Return Nothing
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Sub LOAD_MESSAGES_DATE(dateTmp As Date)
|
Public Sub LOAD_MESSAGES_DATE(dateTmp As Date)
|
||||||
Try
|
Try
|
||||||
Me.CHAT_MESSAGES.Clear()
|
Me.CHAT_MESSAGES.Clear()
|
||||||
@@ -442,9 +500,9 @@ Public Class cMessenger
|
|||||||
|
|
||||||
While dr.Read
|
While dr.Read
|
||||||
|
|
||||||
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) '----> 100 messages = 101 SQL calls
|
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) '----> 100 messages = 101 SQL calls
|
||||||
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
|
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
|
||||||
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
|
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_chatId"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
|
||||||
Me.CHAT_MESSAGES.Add(MSG)
|
Me.CHAT_MESSAGES.Add(MSG)
|
||||||
|
|
||||||
End While
|
End While
|
||||||
@@ -780,7 +838,8 @@ Public Class cMessenger
|
|||||||
Me.chatMg_maId = chatMg_maId
|
Me.chatMg_maId = chatMg_maId
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Sub New(chatMg_chatId, chatMg_maId, chatMg_datetime, chatMg_maName, chatMg_maFirma, chatMg_type, chatMg_text, chatMg_anhang_docId, chatMg_referenz_AvisoId, chatMg_referenz_SendungsId, chatMg_referenz_KundenNr)
|
Sub New(chatMg_id, chatMg_chatId, chatMg_maId, chatMg_datetime, chatMg_maName, chatMg_maFirma, chatMg_type, chatMg_text, chatMg_anhang_docId, chatMg_referenz_AvisoId, chatMg_referenz_SendungsId, chatMg_referenz_KundenNr)
|
||||||
|
Me.chatMg_id = chatMg_id
|
||||||
Me.chatMg_chatId = chatMg_chatId
|
Me.chatMg_chatId = chatMg_chatId
|
||||||
Me.chatMg_maId = chatMg_maId
|
Me.chatMg_maId = chatMg_maId
|
||||||
Me.chatMg_datetime = chatMg_datetime
|
Me.chatMg_datetime = chatMg_datetime
|
||||||
|
|||||||
@@ -363,6 +363,31 @@ Public Class cRMC
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable
|
||||||
|
Try
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
Dim sqlTime As String = ""
|
||||||
|
|
||||||
|
If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then
|
||||||
|
sqlTime = " And cast([rmc_reDatum] As Date) between '" & reDatVon.ToShortDateString & "' and '" & reDatBis.ToShortDateString & "'"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim SQLstr = "Select rmc_reNr As RechnungsNr,rmc_reDatum As Rechnungsdatum, Adressen.AdressenNr As KundenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblRMCImport] INNER JOIN Adressen On WölflKundenNr=[rmc_kdNr] Or weitereWölflKundenNr=[rmc_kdNr] INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where rmc_daId Is null " & sqlTime & " group by rmc_reNr, Adressen.AdressenNr, Adressen.[Name 1],rmc_reDatum, kde_keineMWSt"
|
||||||
|
|
||||||
|
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
|
||||||
|
|
||||||
|
Return dt
|
||||||
|
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
Public Class Paramter
|
Public Class Paramter
|
||||||
|
|||||||
@@ -45,6 +45,31 @@ Public Class cUTA
|
|||||||
Return SQL.getValueTxtBySql("SELECT count(InvToCustomer) FROM [tblUTAImportNew] where InvToCustomer Is null ", "FMZOLL",,, -1)
|
Return SQL.getValueTxtBySql("SELECT count(InvToCustomer) FROM [tblUTAImportNew] where InvToCustomer Is null ", "FMZOLL",,, -1)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable
|
||||||
|
Try
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
Dim sqlTime As String = ""
|
||||||
|
|
||||||
|
If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then
|
||||||
|
sqlTime = " And CAST(U.Rechnungsdatum As Date) BETWEEN '" & reDatVon.ToShortDateString & "' and '" & reDatBis.ToShortDateString & "'"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim SQLstr = "Select U.Abrechnungsnummer As Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum As Date) As Rechnungsdatum,A.AdressenNr As KundenNr,A.UTAKundenNr As UTAKundenNr,A.[Name 1] As Kunde,A.LandKz, kde_keineMWSt As keineMWST FROM tblUTAImportNew U INNER JOIN Adressen A On A.UTAKundenNr = U.Kundennummer INNER JOIN tblKundenErweitert On A.AdressenNr = kde_KundenNr WHERE U.daId Is NULL " & sqlTime & " AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.AdressenNr,A.UTAKundenNr ,A.[Name 1],A.LandKz, kde_keineMWSt ORDER BY U.Rechnungsdatum"
|
||||||
|
|
||||||
|
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
|
||||||
|
|
||||||
|
Return dt
|
||||||
|
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
Public Class UTAHeader
|
Public Class UTAHeader
|
||||||
|
|
||||||
Property Übertragungsnummer As Integer
|
Property Übertragungsnummer As Integer
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ Public Class frmMessenger
|
|||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellClick '.CellContentClick
|
Private Sub MyDatagridview1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvChats.CellClick '.CellContentClick
|
||||||
If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
|
If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> 0 Then 'If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
|
||||||
Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
|
Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
|
||||||
intiDGVChats(dgv_ChatID, False) ' Splate ungelesen sol sich ändern
|
intiDGVChats(dgv_ChatID, False) ' Splate ungelesen sol sich ändern
|
||||||
End If
|
End If
|
||||||
@@ -216,7 +216,54 @@ Public Class frmMessenger
|
|||||||
" & where & "
|
" & where & "
|
||||||
) as T " & whereName & " ORDER BY chat_lastMsg DESC"
|
) as T " & whereName & " ORDER BY chat_lastMsg DESC"
|
||||||
|
|
||||||
.DataSource = SQL.loadDgvBySql(sqlQery, "ADMIN")
|
|
||||||
|
Dim sqlQery_optimiced As String = "SELECT TOP 200
|
||||||
|
c.chat_id,
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN ISNULL(c.chat_name, '') <> '' THEN c.chat_name
|
||||||
|
ELSE names.chat_name
|
||||||
|
END AS chat_name,
|
||||||
|
|
||||||
|
ISNULL(unread.ungelesen, 0) AS ungelesen,
|
||||||
|
|
||||||
|
c.chat_lastMsg
|
||||||
|
|
||||||
|
FROM tblMessenger_Chat c
|
||||||
|
|
||||||
|
-- ensure current user is member
|
||||||
|
INNER JOIN tblMessenger_ChatMembers m
|
||||||
|
ON m.chatMb_chatId = c.chat_id
|
||||||
|
AND m.chatMb_maId = " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "
|
||||||
|
|
||||||
|
-- 🔹 get participant names (distinct!)
|
||||||
|
OUTER APPLY (
|
||||||
|
SELECT STRING_AGG(name, ', ') AS chat_name
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT
|
||||||
|
mit.mit_vname + ' ' + mit.mit_nname AS name
|
||||||
|
FROM tblMessenger_ChatMembers m2
|
||||||
|
INNER JOIN tblMitarbeiter mit
|
||||||
|
ON mit.mit_id = m2.chatMb_maId
|
||||||
|
WHERE m2.chatMb_chatId = c.chat_id
|
||||||
|
AND m2.chatMb_maId <> " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "
|
||||||
|
) x
|
||||||
|
) names
|
||||||
|
|
||||||
|
-- 🔹 unread count separated (no duplication!)
|
||||||
|
OUTER APPLY (
|
||||||
|
SELECT COUNT(*) AS ungelesen
|
||||||
|
FROM tblMessenger_ChatMessages msg
|
||||||
|
INNER JOIN tblMessenger_ChatMessageStatus s
|
||||||
|
ON s.chatMgSt_chatMsgId = msg.chatMg_id
|
||||||
|
WHERE msg.chatMg_chatId = c.chat_id
|
||||||
|
AND s.chatMgSt_MaId = " & VERAG_PROG_ALLGEMEIN.cAllgemein.USRID & "
|
||||||
|
AND s.chatMgSt_gelesen = 0
|
||||||
|
) unread WHERE c.chat_aktiv = " & IIf(Not cbxInaktiveChats.Checked, 1, 0) & "" & where & "ORDER BY c.chat_lastMsg DESC"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.DataSource = SQL.loadDgvBySql(sqlQery_optimiced, "ADMIN")
|
||||||
|
|
||||||
If .Columns.Count = 0 Then Exit Sub
|
If .Columns.Count = 0 Then Exit Sub
|
||||||
|
|
||||||
@@ -547,10 +594,19 @@ Public Class frmMessenger
|
|||||||
|
|
||||||
If CHAT IsNot Nothing Then
|
If CHAT IsNot Nothing Then
|
||||||
|
|
||||||
CHAT.LOAD_MESSAGES(topMessages)
|
CHAT.LOAD_MESSAGES_NEW(topMessages)
|
||||||
|
|
||||||
' CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value)
|
' CHAT = New VERAG_PROG_ALLGEMEIN.cMessenger.cMessenger_Chat(dgvChats.SelectedRows(0).Cells("chat_id").Value)
|
||||||
Dim newMsg As Boolean = False
|
Dim newMsg As Boolean = False
|
||||||
|
|
||||||
|
Dim existingIds As New HashSet(Of Integer)
|
||||||
|
|
||||||
|
For Each ctrl In MyFlowLayoutPanel1.Controls
|
||||||
|
existingIds.Add(ctrl.CHAT_MSG.chatMg_id)
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
For Each MSG In CHAT.CHAT_MESSAGES
|
For Each MSG In CHAT.CHAT_MESSAGES
|
||||||
Dim found As Boolean = False
|
Dim found As Boolean = False
|
||||||
For Each I In MyFlowLayoutPanel1.Controls
|
For Each I In MyFlowLayoutPanel1.Controls
|
||||||
@@ -602,6 +658,61 @@ Public Class frmMessenger
|
|||||||
End Try
|
End Try
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub REFRESH_CHAT_NEW()
|
||||||
|
Try
|
||||||
|
If CHAT Is Nothing Then Exit Sub
|
||||||
|
|
||||||
|
' Load latest messages
|
||||||
|
CHAT.LOAD_MESSAGES_NEW(topMessages)
|
||||||
|
|
||||||
|
' Build fast lookup for existing message IDs
|
||||||
|
Dim existingIds As New HashSet(Of Integer)
|
||||||
|
|
||||||
|
For Each ctrl As Control In MyFlowLayoutPanel1.Controls
|
||||||
|
Select Case ctrl.GetType()
|
||||||
|
Case GetType(usrCntlMessenger_ChatElement)
|
||||||
|
existingIds.Add(DirectCast(ctrl, usrCntlMessenger_ChatElement).CHAT_MSG.chatMg_id)
|
||||||
|
|
||||||
|
Case GetType(usrCntlMessenger_ChatAnhang)
|
||||||
|
existingIds.Add(DirectCast(ctrl, usrCntlMessenger_ChatAnhang).CHAT_MSG.chatMg_id)
|
||||||
|
|
||||||
|
Case GetType(usrCntlMessenger_ChatEmoji)
|
||||||
|
existingIds.Add(DirectCast(ctrl, usrCntlMessenger_ChatEmoji).CHAT_MSG.chatMg_id)
|
||||||
|
|
||||||
|
Case GetType(usrCntlMessenger_ChatElementDEL)
|
||||||
|
existingIds.Add(DirectCast(ctrl, usrCntlMessenger_ChatElementDEL).CHAT_MSG.chatMg_id)
|
||||||
|
End Select
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim newMessageAdded As Boolean = False
|
||||||
|
|
||||||
|
MyFlowLayoutPanel1.SuspendLayout()
|
||||||
|
|
||||||
|
For Each MSG In CHAT.CHAT_MESSAGES
|
||||||
|
If Not existingIds.Contains(MSG.chatMg_id) Then
|
||||||
|
Dim ctrl = getControlFromMSG(MSG)
|
||||||
|
If ctrl IsNot Nothing Then
|
||||||
|
MyFlowLayoutPanel1.Controls.Add(ctrl)
|
||||||
|
newMessageAdded = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
MyFlowLayoutPanel1.ResumeLayout()
|
||||||
|
|
||||||
|
If newMessageAdded Then
|
||||||
|
MyFlowLayoutPanel1.VerticalScroll.Value = MyFlowLayoutPanel1.VerticalScroll.Maximum
|
||||||
|
End If
|
||||||
|
|
||||||
|
checkOnlineOffline()
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace,
|
||||||
|
System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
|
||||||
'Sub ORDER_CHAT_MSG()
|
'Sub ORDER_CHAT_MSG()
|
||||||
' If Not CHECK_CHATMSG_ORDER() Then
|
' If Not CHECK_CHATMSG_ORDER() Then
|
||||||
|
|
||||||
@@ -689,15 +800,16 @@ Public Class frmMessenger
|
|||||||
MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
MSG.chatMg_maFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||||
|
|
||||||
If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
|
If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
|
||||||
SEND_TOKEN_NEW_MESSAGE()
|
|
||||||
' CHAT.CHAT_MESSAGES.Add(MSG)
|
|
||||||
SET_ALL_READ()
|
|
||||||
REFRESH_CHAT()
|
|
||||||
rtbChatMessage.Text = ""
|
|
||||||
rtbChatMessage.Focus()
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
SEND_TOKEN_NEW_MESSAGE()
|
||||||
|
CHAT.CHAT_MESSAGES.Add(MSG)
|
||||||
|
SET_ALL_READ()
|
||||||
|
REFRESH_CHAT_NEW()
|
||||||
|
rtbChatMessage.Text = ""
|
||||||
|
rtbChatMessage.Focus()
|
||||||
|
End If
|
||||||
|
|
||||||
|
End If
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
@@ -753,13 +865,13 @@ Public Class frmMessenger
|
|||||||
If CHAT IsNot Nothing And VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = True Then
|
If CHAT IsNot Nothing And VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = True Then
|
||||||
VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = False
|
VERAG_PROG_ALLGEMEIN.cMessenger.NEW_MESSGE = False
|
||||||
' MsgBox("asd")
|
' MsgBox("asd")
|
||||||
REFRESH_CHAT()
|
REFRESH_CHAT_NEW()
|
||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Sub Timer_REFRESH_Tick(sender As Object, e As EventArgs) Handles Timer_REFRESH.Tick
|
Private Sub Timer_REFRESH_Tick(sender As Object, e As EventArgs) Handles Timer_REFRESH.Tick
|
||||||
loaded = False
|
loaded = False
|
||||||
REFRESH_CHAT()
|
REFRESH_CHAT_NEW()
|
||||||
Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
|
Dim dgv_ChatID = If(dgvChats.SelectedRows.Count > 0, dgvChats.SelectedRows(0).Cells("chat_id").Value, -1)
|
||||||
If checkNewestShit() Then ' prüft, ob neue Nachrichten gekommen sind, sont kein Refresh (stört das scrollen)
|
If checkNewestShit() Then ' prüft, ob neue Nachrichten gekommen sind, sont kein Refresh (stört das scrollen)
|
||||||
intiDGVChats(dgv_ChatID, False)
|
intiDGVChats(dgv_ChatID, False)
|
||||||
@@ -871,7 +983,7 @@ Public Class frmMessenger
|
|||||||
If dgvChats.Columns.Count > 0 Then
|
If dgvChats.Columns.Count > 0 Then
|
||||||
|
|
||||||
If e.ColumnIndex = dgvChats.Columns("ungelesen").Index Then
|
If e.ColumnIndex = dgvChats.Columns("ungelesen").Index Then
|
||||||
If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
|
If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> 0 Then ' If dgvChats.Rows(e.RowIndex).Cells("ungelesen").Value <> "" Then
|
||||||
dgvChats.Rows(e.RowIndex).Cells("ungelesen").Style.BackColor = Color.Red
|
dgvChats.Rows(e.RowIndex).Cells("ungelesen").Style.BackColor = Color.Red
|
||||||
End If
|
End If
|
||||||
'For Each r As DataGridViewRow In .Rows
|
'For Each r As DataGridViewRow In .Rows
|
||||||
@@ -946,10 +1058,10 @@ Public Class frmMessenger
|
|||||||
|
|
||||||
If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
|
If MSG.SAVE(True, CHAT.CHAT_MEMBERS) Then
|
||||||
If reloadChat Then
|
If reloadChat Then
|
||||||
|
CHAT.CHAT_MESSAGES.Add(MSG)
|
||||||
SEND_TOKEN_NEW_MESSAGE()
|
SEND_TOKEN_NEW_MESSAGE()
|
||||||
' CHAT.CHAT_MESSAGES.Add(MSG)
|
|
||||||
SET_ALL_READ()
|
SET_ALL_READ()
|
||||||
REFRESH_CHAT()
|
REFRESH_CHAT_NEW()
|
||||||
rtbChatMessage.Text = ""
|
rtbChatMessage.Text = ""
|
||||||
rtbChatMessage.Focus()
|
rtbChatMessage.Focus()
|
||||||
End If
|
End If
|
||||||
@@ -972,7 +1084,7 @@ Public Class frmMessenger
|
|||||||
SEND_TOKEN_NEW_MESSAGE()
|
SEND_TOKEN_NEW_MESSAGE()
|
||||||
' CHAT.CHAT_MESSAGES.Add(MSG)
|
' CHAT.CHAT_MESSAGES.Add(MSG)
|
||||||
SET_ALL_READ()
|
SET_ALL_READ()
|
||||||
REFRESH_CHAT()
|
REFRESH_CHAT_NEW()
|
||||||
'rtbChatMessage.Text = filePath
|
'rtbChatMessage.Text = filePath
|
||||||
'rtbChatMessage.Focus()
|
'rtbChatMessage.Focus()
|
||||||
End If
|
End If
|
||||||
@@ -1155,7 +1267,7 @@ Public Class frmMessenger
|
|||||||
'CHAT neu laden!
|
'CHAT neu laden!
|
||||||
SEND_TOKEN_NEW_MESSAGE()
|
SEND_TOKEN_NEW_MESSAGE()
|
||||||
SET_ALL_READ()
|
SET_ALL_READ()
|
||||||
REFRESH_CHAT()
|
REFRESH_CHAT_NEW()
|
||||||
rtbChatMessage.Text = ""
|
rtbChatMessage.Text = ""
|
||||||
rtbChatMessage.Focus()
|
rtbChatMessage.Focus()
|
||||||
End If
|
End If
|
||||||
|
|||||||
@@ -71,6 +71,31 @@ Public Class cMSEAPI
|
|||||||
Return SQL.getValueTxtBySql("SELECT count(InvToCustomer) FROM [tblMSEInvoices] where InvToCustomer Is null ", "FMZOLL",,, -1)
|
Return SQL.getValueTxtBySql("SELECT count(InvToCustomer) FROM [tblMSEInvoices] where InvToCustomer Is null ", "FMZOLL",,, -1)
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Public Shared Function checkPDFInvoices(Optional reDatVon As Date = Nothing, Optional reDatBis As Date = Nothing) As DataTable
|
||||||
|
Try
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
Dim sqlTime As String = ""
|
||||||
|
|
||||||
|
If IsDate(reDatVon) AndAlso CDate(reDatVon) > "01.01.2020" AndAlso IsDate(reDatBis) AndAlso CDate(reDatBis) > "01.01.2020" Then
|
||||||
|
sqlTime = " And cast(invoice_date As Date) between '" & reDatVon.ToShortDateString & "' and '" & reDatBis.ToShortDateString & "'"
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim SQLstr = "Select invoice_id As RechnungsNr,[invoice_date] As Rechnungsdatum, Adressen.AdressenNr As KundenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from tblMSEInvoices inner join [tblMSECustomers] On [customer_number] = [customer_id] INNER JOIN Adressen On Adressen.MSEKundenNr = [customer_number] INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where daId Is null " & sqlTime & " group by invoice_id, Adressen.AdressenNr, Adressen.[Name 1], invoice_date, kde_keineMWSt"
|
||||||
|
|
||||||
|
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
|
||||||
|
|
||||||
|
Return dt
|
||||||
|
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
|
End Try
|
||||||
|
|
||||||
|
Return Nothing
|
||||||
|
|
||||||
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user