SQL Server Anpassungen, Reports repariert

This commit is contained in:
ms
2020-06-24 09:24:33 +02:00
parent a4c8b45922
commit c142858a98
11 changed files with 91 additions and 57 deletions

View File

@@ -18,7 +18,8 @@ GROUP BY DATEADD(MONTH, DateDiff(Year, 0, Abfertigungsdatum), 0),DATEADD(MONTH,
,vork.preis as vorkosten
,Rechnungsausgang.Abfertigungsdatum as Datum
from dbo.Vorkosten as vork
right join dbo.Rechnungsausgang on Rechnungsausgang.AbfertigungsNr = vork.AbfertigungsNr where Rechnungsausgang.FilialenNr = '{0}' AND Abfertigungsdatum >= '{1}' and Abfertigungsdatum <= '{2}'
right join dbo.Rechnungsausgang on Rechnungsausgang.AbfertigungsNr = vork.AbfertigungsNr --AND vork.filialenNr = atr_filialennr
where Rechnungsausgang.FilialenNr = '{0}' AND Abfertigungsdatum >= '{1}' and Abfertigungsdatum <= '{2}'
) as meh
GROUP BY DATEADD(MONTH, DateDiff(Year, 0, Datum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, Datum ), 0)"
@@ -56,7 +57,7 @@ case
else sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag - Vorkosten)
end as Marge
from dbo.Rechnungsausgang as RechAus
left join [BUCHHALTUNG\SQLExpress].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos
left join [sqlguide01.verag.ost.dmn].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos AND rechaus.filialenNr = atr_filialennr
where rechaus.FilialenNr = '{0}'
AND atr_datum between '{1}' and '{2}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling')
-- AND abfertigungsnr = @AbfertigungsNr
@@ -70,7 +71,7 @@ max(DATENAME(YEAR, (atr_datum))) As Jahr,
sum(Vorkosten) as Vorkosten FROM (
SELECT Vorkosten, atr_datum, ROW_NUMBER() OVER(PARTITION BY AbfertigungsNr ORDER BY AbfertigungsNr DESC) as rn
from dbo.Rechnungsausgang as RechAus
left join [BUCHHALTUNG\SQLExpress].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos
left join [sqlguide01.verag.ost.dmn].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos AND rechaus.filialenNr = atr_filialennr
where rechaus.FilialenNr = '{0}'
AND atr_datum between '{1}' and '{2}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling')
) a
@@ -86,7 +87,7 @@ sum (vorkosten) as Vorkosten,
sum (Rechnungsausgang.SteuerfreierGesamtbetrag + Rechnungsausgang.SteuerpflichtigerGesamtbetrag - Vorkosten) as Marge
FROM ((VERAG.dbo.Speditionsbuch --as SpedBuch
inner join [BUCHHALTUNG\SQLEXPRESS].DISPO.dbo.tblAuftraege as dispoauftraege on atr_speditionsbuchNr = Speditionsbuch.FilialenNr AND atr_frachtpos = Speditionsbuch.AbfertigungsNr)
inner join [sqlguide01.verag.ost.dmn].DISPO.dbo.tblAuftraege as dispoauftraege on atr_speditionsbuchNr = Speditionsbuch.FilialenNr AND atr_frachtpos = Speditionsbuch.AbfertigungsNr)
inner join VERAG.dbo.Rechnungsausgang on atr_speditionsbuchNr = Rechnungsausgang.FilialenNr AND atr_frachtpos = Rechnungsausgang.AbfertigungsNr)
where atr_datum between '{1}' and '{2}'
@@ -105,7 +106,7 @@ sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag) as Rechnungen,
sum (SteuerfreierGesamtbetrag + SteuerpflichtigerGesamtbetrag - Vorkosten) as Marge
from dbo.Rechnungsausgang as RechAus
left join [BUCHHALTUNG\SQLExpress].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos
left join [sqlguide01.verag.ost.dmn].DISPO.dbo.tblAuftraege on rechaus.AbfertigungsNr = atr_frachtpos AND rechaus.filialenNr = atr_filialennr
where rechaus.FilialenNr = '{0}' AND atr_datum between '{1}' and '{2}' AND (atr_auftragsart = 'Transport' OR atr_auftragsart = 'Handling')
GROUP BY DATEADD(MONTH, DateDiff(Year, 0, atr_datum), 0),DATEADD(MONTH, DATEDIFF(MONTH, 0, atr_datum ), 0)

View File

@@ -250,6 +250,7 @@ Public Class frmAuswertung
Dim vpasql As New VERAG_PROG_ALLGEMEIN.SQL
dt = vpasql.loadDgvBySql(sql, database)
'dt = RemoveDuplicateRows(dt, "atr_frachtpos")
printauswertung.von = von
printauswertung.bis = bis
@@ -270,4 +271,24 @@ Public Class frmAuswertung
Return filialnr
End Function
Public Function RemoveDuplicateRows(ByVal dTable As DataTable, ByVal colName As String) As DataTable
Dim hTable As Hashtable = New Hashtable()
Dim duplicateList As ArrayList = New ArrayList()
For Each drow As DataRow In dTable.Rows
If hTable.Contains(drow(colName)) Then
duplicateList.Add(drow)
Else
hTable.Add(drow(colName), String.Empty)
End If
Next
For Each dRow As DataRow In duplicateList
dTable.Rows.Remove(dRow)
Next
Return dTable
End Function
End Class