290 lines
15 KiB
VB.net
290 lines
15 KiB
VB.net
Public Class usrCntlMDMDatenverarbeitungAuswertungen_PLOSE
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim MAIN As frmMDMDatenverarbetiung
|
|
Sub New()
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
Sub New(MAIN As frmMDMDatenverarbetiung)
|
|
|
|
' Dieser Aufruf ist für den Designer erforderlich.
|
|
InitializeComponent()
|
|
Me.MAIN = MAIN
|
|
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
|
|
|
|
End Sub
|
|
|
|
|
|
Function getSQLPLOSE(plp_ProductCode_IN As String, plp_ProductCode_NOTIN As String, plose_POLSEKundennummer As String, plp_Kategorie_IN As String, onlyEUCountries As Boolean) As String
|
|
Return " SELECT Adressennr KundenNr, [Name 1] Firma,Adressen.LandKz,plz,Ort,CASE WHEN MitgliedslandEU =1 THEN 'JA' ELSE 'NEIN' END as EU, plose_POLSEKundennummer PLOSEKundennummer,sum(plose_NettobetragWaehrungAbbuchung) as Netto, sum(plose_MWSTBetragWaehrungAbbuchung) as MWST , sum(plose_BruttobetragWaehrungAbbuchung) as Brutto
|
|
FROM tblPLOSE_Details inner join Adressen on PLOSEKundenNr=plose_POLSEKundennummer
|
|
inner join tblPLOSE_Produktbeschreibung on plp_ProductCode=plose_ProduktCode
|
|
inner join [Währungstabelle] on [Währungstabelle].LandKz=Adressen.LandKz
|
|
WHERE plose_Fakturiert=1 and CAST(plose_FakturiertDatum AS DATE) between '" & MAIN.dat_Sum_Von.Value & "' and '" & MAIN.dat_Sum_Bis.Value & "'
|
|
and plp_Land='IT'
|
|
" & If(onlyEUCountries, " and MitgliedslandEU=1 ", "") & "
|
|
" & If(plp_Kategorie_IN <> "", " and plp_Kategorie IN (" & plp_Kategorie_IN & ")", "") & "
|
|
" & If(plp_ProductCode_IN <> "", " and plp_ProductCode IN (" & plp_ProductCode_IN & ")", "") & "
|
|
" & If(plp_ProductCode_NOTIN <> "", " and plp_ProductCode NOT IN (" & plp_ProductCode_NOTIN & ")", "") & "
|
|
" & If(plose_POLSEKundennummer <> "", " and plose_POLSEKundennummer IN (" & plose_POLSEKundennummer & ")", "") & "
|
|
group by plose_POLSEKundennummer,Adressennr,[Name 1],Adressen.LandKz,plz,Ort,MitgliedslandEU
|
|
order by MitgliedslandEU desc,[Name 1]"
|
|
|
|
|
|
End Function
|
|
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
|
|
Dim sqlstr = getSQLPLOSE("", "", "", "", cbxNurEULander.Checked) ' 262
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "PLOSE"
|
|
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten!")
|
|
Exit Sub
|
|
End If
|
|
|
|
|
|
Dim rpt As New rptPLOSE_Konsortium
|
|
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.lblFirma.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Firma").Value, "")
|
|
rpt.lblOrt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("PLZ").Value, "") & " " & SQL.isDbnullEmpty(rpt.Fields.Item("ORT").Value, "")
|
|
rpt.lblLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("LandKz").Value, "")
|
|
rpt.lblEU.Text = SQL.isDbnullEmpty(rpt.Fields.Item("EU").Value, "")
|
|
rpt.lblKdNR.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
|
|
|
|
|
|
rpt.lblBruttoAlleLeistungen.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Brutto").Value, 2, "")
|
|
sumBruttoAlleLeistungen += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Brutto").Value, 4, 0)
|
|
|
|
|
|
Dim dt2 As DataTable = SQL.loadDgvBySql_Param(getSQLPLOSE("", "", rpt.Fields.Item("PLOSEKundennummer").Value, "'MAUT'", cbxNurEULander.Checked), "FMZOLL") ' NUR MAUT je Kunde
|
|
|
|
If dt2.Rows.Count > 0 Then
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(dt2(0)("Netto"), 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(dt2(0)("MWST"), 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(dt2(0)("Brutto"), 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(dt2(0)("Netto"), 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(dt2(0)("MWST"), 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(dt2(0)("Brutto"), 4, 0)
|
|
Else
|
|
rpt.lblNetto.Text = "-"
|
|
rpt.lblMWST.Text = "-"
|
|
rpt.lblBrutto.Text = "-"
|
|
|
|
End If
|
|
|
|
|
|
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")
|
|
rpt.lblSumBruttoAlleLeistungen.Text = "(" & sumBruttoAlleLeistungen.ToString("N2") & ")"
|
|
|
|
End Sub
|
|
|
|
print.Viewer.LoadDocument(rpt)
|
|
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.Show()
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
Dim sqlstr = "SELECT plp_Land, CASE WHEN MitgliedslandEU =1 THEN 'JA' ELSE 'NEIN' END as EU, sum(plose_NettobetragWaehrungAbbuchung) as Netto, sum(plose_MWSTBetragWaehrungAbbuchung) as MWST , sum(plose_BruttobetragWaehrungAbbuchung) as Brutto
|
|
FROM tblPLOSE_Details inner join Adressen on PLOSEKundenNr=plose_POLSEKundennummer
|
|
inner join tblPLOSE_Produktbeschreibung on plp_ProductCode=plose_ProduktCode
|
|
inner join [Währungstabelle] on [Währungstabelle].LandKz=Adressen.LandKz
|
|
WHERE plose_Fakturiert=1 and CAST(plose_FakturiertDatum AS DATE) between '" & MAIN.dat_Sum_Von.Value & "' and '" & MAIN.dat_Sum_Bis.Value & "'
|
|
group by plp_Land,MitgliedslandEU
|
|
order by plp_Land, MitgliedslandEU desc"
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "PLOSE"
|
|
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten!")
|
|
Exit Sub
|
|
End If
|
|
|
|
|
|
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("plp_Land").Value, "")
|
|
rpt.lblEU.Text = SQL.isDbnullEmpty(rpt.Fields.Item("EU").Value, "")
|
|
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Netto").Value, 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("MWST").Value, 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Brutto").Value, 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Netto").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("MWST").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("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
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
genKundenbericht_PLOSE()
|
|
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 &= " FROM tblPLOSE_Details "
|
|
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 & "' "
|
|
|
|
If cbxConsFakt.CheckState = CheckState.Checked Then
|
|
sqlstr &= " AND plose_Fakturiert =1 "
|
|
ElseIf cbxConsFakt.CheckState = CheckState.Unchecked Then
|
|
sqlstr &= " AND plose_Fakturiert =0 "
|
|
End If
|
|
|
|
sqlstr &= " AND plose_ProduktCode IN (262,267,275,281,282,285,298,300,301,307,308,310) "
|
|
|
|
sqlstr &= " group by AdressenNr,Ordnungsbegriff "
|
|
sqlstr &= " order by Ordnungsbegriff "
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'DataGridView.DataSource = dt
|
|
|
|
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "PLOSE"
|
|
|
|
Dim rpt As New rptPLOSE_CustomerConsortio
|
|
|
|
rpt.DataSource = dt
|
|
|
|
|
|
'If cbxProdukt.Checked Then
|
|
' rpt.GroupHeader2.DataField = "prod_descr"
|
|
'Else
|
|
' rpt.GroupHeader2.Visible = False
|
|
' rpt.GroupFooter2.Visible = False
|
|
'End If
|
|
|
|
|
|
Dim sum = 0
|
|
rpt.lblUeberschrift.Text = "PLOSE Summenbericht " & frmMDM.dat_Sum_Von.Text & " bis " & frmMDM.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 sumMenge As Double = 0
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
|
rpt.lblAnzahl.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Anzahl").Value, "")
|
|
rpt.Label5.Text = SQL.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "")
|
|
rpt.lblProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Ordnungsbegriff").Value, "")
|
|
|
|
rpt.lblMenge.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Menge").Value, 0, "")
|
|
' rpt.lblPreis.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Preis").Value, 2, "")
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 2, "")
|
|
|
|
|
|
|
|
sumMenge += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Menge").Value, 4, 0)
|
|
' sumPreis += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Preis").Value, 4, 0)
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 4, 0)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
rpt.lblSumMenge.Text = sumMenge.ToString("N0")
|
|
'rpt.lblSumPreis.Text = sumPreis.ToString("N2")
|
|
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
|
|
End Class
|