MDMDatenverarbeitung, Formulare, MSE API

This commit is contained in:
2024-08-23 11:05:58 +02:00
parent 23b8d757ba
commit 94501c2214
5 changed files with 266 additions and 70 deletions

View File

@@ -1,8 +1,11 @@
Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim MAIN As frmMDMDatenverarbetiung
Dim Lieferant As String
Dim abrechnugsdatum As String
Sub New()
' Dieser Aufruf ist für den Designer erforderlich.
@@ -40,6 +43,15 @@
Button2.Text = "Fakturierwarenart"
Button1.Text = "Offertenpositionen"
Case "MSE"
Button6.Text = "Nach Spezifikation"
Button2.Text = "Leistungsnummern"
Button1.Text = "Kunden"
Button3.Text = "fehlende Transakt."
Button3.Visible = True
Case Else
End Select
@@ -74,6 +86,10 @@
Case "UTA"
genUTABericht("KDNR")
Case "MSE"
genMSEBericht("SPEZ")
Case Else
MsgBox("nicht definiert!")
@@ -95,6 +111,10 @@
Case "UTA"
genUTABericht("OP")
Case "MSE"
genMSEBericht("KDNR")
End Select
@@ -112,6 +132,9 @@
Case "UTA"
genUTABericht("FKWA")
Case "MSE"
genMSEBericht("LENR")
End Select
@@ -360,22 +383,140 @@
End Sub
Sub genMSEBericht(art As String)
Dim sqlstr = ""
Select Case art
Case "SPEZ"
sqlstr = " SELECT inv.invoice_id as Rechnung,bills.specification_page_id AS Spezifikation_Id ,bills.specification_page_name AS Spezifikation,count(*) as AnzahlTransactionen,
Sum(trans.msts_fee_amount) as Gebühren_MSE,
Sum(trans.transaction_net_amount) as Transaktionsbetrag_Netto,
Sum(trans.USteuer_EUR) As Steuerbetrag,
Sum(trans.transaction_gross_amount) As Transaktionsbetrag_Brutto
FROM [VERAG].[dbo].[tblMSESettlements] as bills
inner join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
inner join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and trans.transaction_country = inv.country
where bills.invoice_date = '" & MAIN.DateTimePicker2.Text & "' --and trans.charged <> 1
GROUP BY inv.invoice_id,bills.specification_page_id, bills.specification_page_name"
Case "LENR"
sqlstr = "Select trans.device_product_type, trans.transaction_country,trans.transaction_product_name, trans.transaction_product_id, cust.[customer_id], trans.partner_haulier_id, cust.customer_name,
sum(trans.transaction_gross_amount) As [Summe Transaction Amount ( EUR )],
sum(trans.msts_fee_amount) As [Summe Admin Fee Amount ( EUR )],
sum(trans.msts_fee_amount) As [Summe Fees And Costs Amount ( EUR )],
sum(trans.msts_vat_amount) As [Summe VAT Amount ( EUR )],
sum(trans.transaction_gross_amount) As [Summe Total Amount ( EUR )]
From [VERAG].[dbo].[tblMSESettlements] as bills
Left Join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
Left Join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
Left Join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] And inv.customer_number = cust.[customer_id] And trans.transaction_country = inv.country
Left Join tblMSELeistungen ON trans.device_product_type = tblMSELeistungen.[Card Type] And trans.transaction_country = tblMSELeistungen.[Transaction Country]
WHERE((trans.transaction_gross_amount <> 0) And tblMSELeistungen.LeistungsNr Is Null) And bills.[invoice_date] = '" & MAIN.DateTimePicker2.Text & "'
GROUP by trans.device_product_type, trans.transaction_country, trans.transaction_product_name, trans.transaction_product_id, cust.[customer_id], trans.partner_haulier_id, cust.customer_name"
Case "KDNR"
sqlstr = " Select cust.customer_id, cust.customer_name, Adressen.AdressenNr, (SELECT Offerten.OffertenNr FROM Offerten WHERE (((Offerten.KundenNr)=isnull(Adressen.[AdressenNr],0)) AND ((Offerten.OffertenNr)=23))) AS Offerte_23
FROM [VERAG].[dbo].[tblMSESettlements] as bills
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
left join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
WHERE bills.[invoice_date] = '" & MAIN.DateTimePicker2.Text & "'
GROUP BY cust.customer_id, cust.customer_name, Adressen.AdressenNr
HAVING (((cust.customer_id) Is Not Null) AND ((Adressen.AdressenNr) Is Null)) OR (((cust.customer_id) Is Not Null) AND ((Adressen.AdressenNr) Is Not Null) AND (((SELECT Offerten.OffertenNr FROM Offerten WHERE (((Offerten.KundenNr)=isnull(Adressen.[AdressenNr],0)) AND ((Offerten.OffertenNr)=23)))) Is Null))"
Case "TRANS"
sqlstr = " select * FROM [VERAG].[dbo].[tblMSESettlements] where [invoice_date] = '" & MAIN.DateTimePicker2.Text & "' AND [transaction_id] not in (select [transaction_id] from [VERAG].[dbo].[tblMSETransactions])"
Case Else
MsgBox("Auswertungsart nicht definiert!")
Exit Sub
End Select
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim print As New frmPrintLayout
print.Text = "MSE"
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
MsgBox("Keine Daten!")
Exit Sub
End If
cProgramFunctions.genExcelCSVFromDT(dt, True)
'DEAKVIERT weil zu aufwendig, aktuell per Excel-Export
'Dim rpt As New rptPLOSE_LaenderGesamt
'rpt.DataSource = dt
'Dim sum = 0
'' rpt.lblUeberschrift.Text = "PLOSE Summenbericht " & dat_Sum_Von.Text & " bis " & dat_Sum_Bis.Text
'rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
''rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
''Dim cnt As Integer = 0
'rpt.lblDat.Text = Now.ToLongDateString
'Dim sumPreis As Double = 0
'Dim sumNetto As Double = 0
'Dim sumMWST As Double = 0
'Dim sumBrutto As Double = 0
'Dim sumBruttoAlleLeistungen As Double = 0
'Dim sumMenge As Double = 0
'AddHandler rpt.Detail.Format, Sub()
' rpt.lblLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Rechnung").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("Spezifikation_Id").Value, "")
' rpt.lblEU.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Spezifikation").Value, "")
' rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaktionsbetrag_Netto").Value, 2, "")
' rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 2, "")
' rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaktionsbetrag_Brutto").Value, 2, "")
' sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaktionsbetrag_Netto").Value, 4, 0)
' sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 4, 0)
' sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaktionsbetrag_Brutto").Value, 4, 0)
' End Sub
'AddHandler rpt.ReportFooter1.Format, Sub()
' rpt.lblSumNetto.Text = sumNetto.ToString("N2")
' rpt.lblSumMwst.Text = sumMWST.ToString("N2")
' rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
' End Sub
'print.Viewer.LoadDocument(rpt)
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
'print.Show()
End Sub
Sub genKundenbericht_PLOSE()
Dim displayFilter = False
Dim sqlstr As String = ""
Dim frmMDM As frmMDMDatenverarbetiung = Me.ParentForm
sqlstr &= " SELECT count(*) Anzahl,AdressenNr,Ordnungsbegriff "
sqlstr &= " ,sum(plose_Menge) as plose_Menge "
sqlstr &= " ,sum(plose_Preis) as plose_Preis "
sqlstr &= " ,sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung "
sqlstr &= " ,sum(plose_MWSTBetragWaehrungAbbuchung) as plose_MWSTBetragWaehrungAbbuchung "
sqlstr &= " ,sum(plose_BruttobetragWaehrungAbbuchung) as plose_BruttobetragWaehrungAbbuchung "
sqlstr &= " Select count(*) Anzahl,AdressenNr,Ordnungsbegriff "
sqlstr &= " ,sum(plose_Menge) As plose_Menge "
sqlstr &= " ,sum(plose_Preis) As plose_Preis "
sqlstr &= " ,sum(plose_NettobetragWaehrungAbbuchung) As plose_NettobetragWaehrungAbbuchung "
sqlstr &= " ,sum(plose_MWSTBetragWaehrungAbbuchung) As plose_MWSTBetragWaehrungAbbuchung "
sqlstr &= " ,sum(plose_BruttobetragWaehrungAbbuchung) As plose_BruttobetragWaehrungAbbuchung "
sqlstr &= " FROM tblPLOSE_Details "
sqlstr &= " INNER JOIN Adressen ON PLOSEKundenNr=plose_POLSEKundennummer "
sqlstr &= " INNER JOIN Adressen On PLOSEKundenNr=plose_POLSEKundennummer "
sqlstr &= " WHERE 1=1 "
sqlstr &= " AND plose_RechnungsDatum between '" & frmMDM.dat_Sum_Von.Value & "' and '" & frmMDM.dat_Sum_Bis.Value & "' "
sqlstr &= " And plose_RechnungsDatum between '" & frmMDM.dat_Sum_Von.Value & "' and '" & frmMDM.dat_Sum_Bis.Value & "' "
If cbxConsFakt.CheckState = CheckState.Checked Then
sqlstr &= " AND plose_Fakturiert =1 "
@@ -461,4 +602,15 @@
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Select Case Lieferant
Case "MSE"
genMSEBericht("TRANS")
End Select
End Sub
End Class