340 lines
15 KiB
VB.net
340 lines
15 KiB
VB.net
|
|
Imports GrapeCity.ActiveReports
|
|
Imports GrapeCity.ActiveReports.Document
|
|
Imports System.Globalization
|
|
|
|
Public Class rptKontrolleLKW_NCTSTR
|
|
Public datVon As Date
|
|
Public datBis As Date
|
|
Public FIRMA As String = "ATILLA"
|
|
Dim operatorID = "1"
|
|
Dim kundenSQL As New kundenSQL
|
|
Dim SUB_DATA As DataTable = Nothing
|
|
Dim LIST_NCTSABR As VERAG_PROG_ALLGEMEIN.cAbrechnung_NCTSBrg_LIST = Nothing
|
|
'Public brg As String = "05DE0000000009345," 'default brg
|
|
Public erstelltVon As String = ""
|
|
Dim groupKz = True 'Es kann nach Kennzeichen groupiert werden
|
|
|
|
Private Sub PageFooter1_Format(sender As System.Object, e As System.EventArgs) Handles PageFooter.Format
|
|
lblDetails.Text = String.Format("erstellt am {0} um {1} von {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), erstelltVon)
|
|
|
|
End Sub
|
|
|
|
Private Sub rptAuswertung_NoData(sender As Object, e As System.EventArgs) Handles Me.NoData
|
|
MsgBox("Es wurden keine Daten zum Drucken gefunden.", vbInformation, "Druck Aviso-Auswertung")
|
|
Me.Cancel() 'ev. abbrechen, falls noch aufgebaut wird
|
|
End Sub
|
|
|
|
'''''''' ADD AT RUNTIME:
|
|
'Dim d As New GrapeCity.ActiveReports.SectionReportModel.TextBox
|
|
Private Sub rptAuswertung_ReportStart(sender As System.Object, e As System.EventArgs) Handles MyBase.ReportStart
|
|
|
|
'''''''' ADD AT RUNTIME:
|
|
'd.Location = New Point(2, 0)
|
|
'd.Text = "asd"
|
|
'Me.Detail.Controls.Add(d)
|
|
|
|
|
|
Me.Name = "T-Kontrolle Dakosy "
|
|
|
|
'lblHeader.Text = Me.Name
|
|
|
|
'Format + Ränder setzen
|
|
Me.PageSettings.Orientation = Section.PageOrientation.Portrait
|
|
Me.PageSettings.Margins.Left = 0.3
|
|
Me.PageSettings.Margins.Right = 0.3
|
|
Me.PageSettings.Margins.Top = 0.5
|
|
Me.PageSettings.Margins.Bottom = 0.4
|
|
|
|
Dim brg_AT As String = "05AT510000G000FP7"
|
|
Dim brg_DE As String = "05DE0000000009345"
|
|
Dim brg_DE_NEU As String = "17DE0000000071678"
|
|
'Dim brg_UNISPED As String = "17DE0000000071270"
|
|
'Dim brg_DE_IMEX As String =
|
|
' Dim brg_DE_ATILLA As String = "20AT520000G000092"
|
|
|
|
Dim firmaStr = ""
|
|
If FIRMA = "VERIMEX_MAVI" Then
|
|
firmaStr = " AND [ncts_Partnersystem] IN('MAVI') "
|
|
LIST_NCTSABR = New VERAG_PROG_ALLGEMEIN.cAbrechnung_NCTSBrg_LIST("VERIMEX_MAVI")
|
|
Label10.Text = " Auswertung MAVI"
|
|
ElseIf FIRMA = "VERIMEX_OREGON" Then
|
|
firmaStr = " AND [ncts_Partnersystem] IN('OREGON') "
|
|
LIST_NCTSABR = New VERAG_PROG_ALLGEMEIN.cAbrechnung_NCTSBrg_LIST("VERIMEX_OREGON")
|
|
Label10.Text = " Auswertung OREGON"
|
|
ElseIf FIRMA = "ATEZ" Then
|
|
firmaStr = " AND [ncts_Partnersystem] IN('ATEZ') "
|
|
Label10.Text = " Auswertung ATEZ"
|
|
ElseIf FIRMA = "MIC_UNISPED" Then
|
|
firmaStr = " AND [ncts_Partnersystem] IN('MIC') AND ncts_firma='UNISPED' "
|
|
LIST_NCTSABR = New VERAG_PROG_ALLGEMEIN.cAbrechnung_NCTSBrg_LIST("MIC_UNISPED")
|
|
Label10.Text = " Auswertung UNISPED"
|
|
ElseIf FIRMA = "MIC_AWOR" Then
|
|
firmaStr = " AND [ncts_Partnersystem] IN('MIC') AND ncts_firma='AWOR' "
|
|
LIST_NCTSABR = New VERAG_PROG_ALLGEMEIN.cAbrechnung_NCTSBrg_LIST("MIC_AWOR")
|
|
Label10.Text = " Auswertung AWOR"
|
|
groupKz = False
|
|
End If
|
|
|
|
If True Then '"OREGON"
|
|
End If
|
|
|
|
' If FIRMA = "ATILLA" Then operatorID = "'5','6'"
|
|
|
|
Dim sqlStr As String = " SELECT " & If(Not groupKz, " ncts_id, ", "") & " isnull(ncts_Befoerderungsmittel_KennzeichenAbgang,'') as Kennzeichen, cast(ncts_Eroeffnung as date) as AnmeldungsDatum,COUNT(*) ,isnull(SUM(nctsSA_AbgabenBetrag),0) as GarantieWert,isnull(SUM(ncts_VERAG_WeiterverrechungSatz),0) ncts_VERAG_WeiterverrechungSatz FROM tblNCTS_TR_Sicherheitsangaben inner join tblNCTS_TR on ncts_Id = nctsSA_NctsId "
|
|
sqlStr &= " WHERE cast (ncts_Eroeffnung as date) BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "'"
|
|
sqlStr &= " AND nctsSA_GRN IN ( '" & brg_AT & "' , '" & brg_DE & "' , '" & brg_DE_NEU & "' ) "
|
|
sqlStr &= " AND ncts_status BETWEEN 50 AND 60 "
|
|
'sqlStr &= " AND ncts_status BETWEEN 50 AND 80 "
|
|
sqlStr &= firmaStr
|
|
' sqlStr &= " and vw.OperatorId IN (" & operatorID & ")"
|
|
sqlStr &= " group by cast(ncts_Eroeffnung as date),ncts_Befoerderungsmittel_KennzeichenAbgang" & If(Not groupKz, ", ncts_id ", "") '--> wenn nciht nach Kennezcihen groupioert werden kann, einfach die ID hinzufügen--> nur mehr einzelene Zeilen möglich
|
|
sqlStr &= " order by cast(ncts_Eroeffnung as date)"
|
|
' MsgBox(sqlStr)
|
|
Me.DataSource = kundenSQL.loadDgvBySql(sqlStr, "FMZOLL", 1000)
|
|
|
|
|
|
Dim sqlStrSUB As String = " SELECT *, isnull(nctsSA_AbgabenBetrag,0) as GarantieWert,isnull(ncts_Befoerderungsmittel_KennzeichenAbgang,'') as Kennzeichen,cast(ncts_Eroeffnung as date) as AnmeldungsDatum,cast(ncts_Ankunft as date) as ncts_Ankunft,cast(ncts_Erledigung as date) as ncts_Erledigung,ncts_VERAG_WeiterverrechungSatz FROM tblNCTS_TR_Sicherheitsangaben inner join tblNCTS_TR on ncts_Id = nctsSA_NctsId "
|
|
sqlStrSUB &= " WHERE cast(ncts_Eroeffnung as date) BETWEEN '" & datVon.ToShortDateString & "' AND '" & datBis.ToShortDateString & "'"
|
|
sqlStrSUB &= " AND nctsSA_GRN IN ( '" & brg_AT & "' , '" & brg_DE & "' , '" & brg_DE_NEU & "' ) "
|
|
sqlStrSUB &= " AND ncts_status BETWEEN 50 AND 60 "
|
|
'sqlStrSUB &= " AND ncts_status BETWEEN 50 AND 80 "
|
|
sqlStrSUB &= firmaStr
|
|
' sqlStrSUB &= " and vw.OperatorId IN (" & operatorID & ")"
|
|
|
|
sqlStrSUB &= " order by cast(ncts_Eroeffnung as date),ncts_ObjectName"
|
|
|
|
' MsgBox(sqlStr)
|
|
' MsgBox(sqlStrSUB)
|
|
SUB_DATA = kundenSQL.loadDgvBySql(sqlStrSUB, "FMZOLL", 1000)
|
|
|
|
|
|
|
|
lblText1.Text = lblText1.Text & " - " & FIRMA
|
|
Label6.Text = "Zeitraum: von " & datVon.ToShortDateString & " bis " & datBis.ToShortDateString
|
|
Label7.Text = "" '"Bürgschaft: " & brg
|
|
End Sub
|
|
|
|
|
|
Dim dummycount As Integer = 0
|
|
Dim anzLkw As Integer = 0
|
|
Dim anzT As Integer = 0
|
|
Dim summeSiBetr As Double = 0
|
|
Dim nr As Integer = 1
|
|
Private Sub Detail1_Format(sender As System.Object, e As System.EventArgs) Handles Detail.Format
|
|
dummycount = dummycount + 1
|
|
anzLkw += 1
|
|
summeSiBetr += CDbl(Fields.Item("GarantieWert").Value)
|
|
lblLKW.Text = CStr(Fields.Item("Kennzeichen").Value)
|
|
lblNr.Text = anzLkw & "."
|
|
lblSiBetragValue.Text = "€ " & CDbl(Fields.Item("GarantieWert").Value).ToString("N2", CultureInfo.InvariantCulture)
|
|
|
|
' MsgBox(Fields.Item("ncts_id").Value)
|
|
|
|
If SUB_DATA IsNot Nothing Then
|
|
|
|
Dim subrpt As New subrptKontrolleLKW_Dakosy
|
|
subrpt.Kennzeichen = Fields.Item("Kennzeichen").Value
|
|
subrpt.AnmeldungsDatum = Fields.Item("AnmeldungsDatum").Value
|
|
subrpt.ncts_id = If(Fields.Item("ncts_id") Is Nothing, -1, Fields.Item("ncts_id").Value)
|
|
|
|
|
|
|
|
Dim dt As DataTable = SUB_DATA.Clone
|
|
dt.Rows.Clear()
|
|
'For Each c As DataColumn In dt.Columns
|
|
'c.AllowDBNull = True
|
|
'Next
|
|
For Each r In SUB_DATA.Rows
|
|
|
|
Dim pruefNctsId = False
|
|
If Not groupKz Then
|
|
If r("ncts_id") = subrpt.ncts_id Then
|
|
pruefNctsId = True
|
|
End If
|
|
End If
|
|
|
|
If r("AnmeldungsDatum") = subrpt.AnmeldungsDatum And ((r("Kennzeichen") = "" And pruefNctsId) Or (r("Kennzeichen") <> "" And r("Kennzeichen") = subrpt.Kennzeichen)) Then
|
|
' dt.Rows.Add(r)
|
|
' If groupKz Or (r("ncts_id") = subrpt.ncts_id) Then End If
|
|
|
|
dt.ImportRow(r)
|
|
|
|
End If
|
|
Next
|
|
subrpt.DataSource = dt
|
|
|
|
Me.SubReport.Report = subrpt
|
|
|
|
AddHandler Me.SubReport.Report.ReportEnd, Sub()
|
|
anzT += DirectCast(Me.SubReport.Report, subrptKontrolleLKW_Dakosy).AnzT
|
|
|
|
End Sub
|
|
|
|
End If
|
|
|
|
|
|
If LIST_NCTSABR IsNot Nothing Then
|
|
|
|
'Spezial
|
|
Dim SpezialFound = False
|
|
Dim AllSpezial = True
|
|
If SUB_DATA IsNot Nothing Then
|
|
For Each r In SUB_DATA.Rows
|
|
|
|
'Dim LKW_Kz_Pruef = True 'OB nach LKW gesplittet werden kann, oder dieses Feld immer leer ist.
|
|
'If Not groupKz Then
|
|
' If r("ncts_id") = Fields.Item("ncts_id").Value Then
|
|
' LKW_Kz_Pruef = True
|
|
' Else
|
|
' LKW_Kz_Pruef = False
|
|
' End If
|
|
'End If
|
|
|
|
Dim pruefNctsId = False
|
|
If Not groupKz Then
|
|
If r("ncts_id") = Fields.Item("ncts_id").Value Then
|
|
pruefNctsId = True
|
|
End If
|
|
End If
|
|
|
|
If r("AnmeldungsDatum") = Fields.Item("AnmeldungsDatum").Value And ((r("Kennzeichen") = "" And pruefNctsId) Or (r("Kennzeichen") <> "" And r("Kennzeichen") = Fields.Item("Kennzeichen").Value)) Then
|
|
If r("ncts_VERAG_WeiterverrechungSatz") IsNot DBNull.Value And r("ncts_VERAG_WeiterverrechungSatz") IsNot Nothing Then
|
|
SpezialFound = True 'Kennzeichen, dass spezial
|
|
|
|
Dim VERAG_WeiterverrechungSatz As Double = CDbl(r("ncts_VERAG_WeiterverrechungSatz"))
|
|
Dim L As New VERAG_PROG_ALLGEMEIN.cAbrechnung_NCTSBrg(-1)
|
|
L.abrg_Partner = FIRMA
|
|
L.abrg_artAbrechnung = "SPEZIAL"
|
|
L.abrg_GarantiewertBis = CDbl(r("GarantieWert"))
|
|
L.abrg_bertrag = VERAG_WeiterverrechungSatz
|
|
L.abrg_prozent = Nothing
|
|
L._ANZAHL = 1
|
|
L._BETRAG = VERAG_WeiterverrechungSatz
|
|
|
|
LIST_NCTSABR.LIST.Add(L)
|
|
Else
|
|
AllSpezial = False ' Es sind nicht alle spezial
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
If Not SpezialFound OrElse Not AllSpezial Then
|
|
|
|
'per LKW
|
|
For Each l In LIST_NCTSABR.LIST
|
|
|
|
Dim GarantieWertLKW As Double = CDbl(Fields.Item("GarantieWert").Value)
|
|
Select Case l.abrg_artAbrechnung
|
|
Case "LKW"
|
|
If GarantieWertLKW < l.abrg_GarantiewertBis Then
|
|
l._ANZAHL += 1 : Exit For
|
|
End If
|
|
'Case "Versandschein"
|
|
' If SUB_DATA IsNot Nothing Then
|
|
' For Each r In SUB_DATA.Rows
|
|
' Dim GarantieWertSND As Double = CDbl(r("GarantieWert"))
|
|
' If r("AnmeldungsDatum") = Fields.Item("AnmeldungsDatum").Value And r("Kennzeichen") = Fields.Item("Kennzeichen").Value Then
|
|
' If GarantieWertSND < l.abrg_GarantiewertBis Then
|
|
' l._ANZAHL += 1
|
|
' End If
|
|
' End If
|
|
' Next
|
|
' End If
|
|
Case "%" 'LKW
|
|
If GarantieWertLKW < l.abrg_GarantiewertBis Then
|
|
l._ANZAHL += 1
|
|
Dim prozent As Double = 0.001
|
|
If l.abrg_prozent IsNot Nothing Then prozent = CDbl(l.abrg_prozent)
|
|
l._BETRAG += (CDbl(Fields.Item("GarantieWert").Value)) * prozent
|
|
Exit For
|
|
End If
|
|
End Select
|
|
|
|
Next
|
|
End If
|
|
|
|
'per VERSANDSCHEIN
|
|
If SUB_DATA IsNot Nothing Then
|
|
For Each r In SUB_DATA.Rows
|
|
'Dim next_SND = False
|
|
For Each l In LIST_NCTSABR.LIST
|
|
'If Not next_SND Then
|
|
Select Case l.abrg_artAbrechnung
|
|
Case "Versandschein"
|
|
Dim GarantieWertSND As Double = CDbl(r("GarantieWert"))
|
|
Dim pruefNctsId = False
|
|
If Not groupKz Then
|
|
If r("ncts_id") = Fields.Item("ncts_id").Value Then
|
|
pruefNctsId = True
|
|
End If
|
|
End If
|
|
|
|
If r("ncts_VERAG_WeiterverrechungSatz") Is DBNull.Value Or r("ncts_VERAG_WeiterverrechungSatz") Is Nothing Then 'Wenn nicht durch Speziel-Satz verrechnet
|
|
If r("AnmeldungsDatum") = Fields.Item("AnmeldungsDatum").Value And ((r("Kennzeichen") = "" And pruefNctsId) Or (r("Kennzeichen") <> "" And r("Kennzeichen") = Fields.Item("Kennzeichen").Value)) Then
|
|
If GarantieWertSND < l.abrg_GarantiewertBis Then
|
|
l._ANZAHL += 1
|
|
'next_SND = True
|
|
Exit For
|
|
End If
|
|
End If
|
|
End If
|
|
End Select
|
|
' End If
|
|
Next
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
|
|
'Abwechselnd grauen und weißen Hintergrund
|
|
If (dummycount Mod 2) = 0 Then
|
|
Detail.BackColor = Color.White
|
|
Else
|
|
Detail.BackColor = Color.WhiteSmoke
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Private Sub ReportFooter1_Format(sender As Object, e As EventArgs) Handles ReportFooter1.Format
|
|
lblSummeSiBetr.Text = "€ " & summeSiBetr.ToString("N2", CultureInfo.InvariantCulture)
|
|
lblAnzLKWs.Text = anzLkw
|
|
lblAnzT.Text = anzT
|
|
|
|
If LIST_NCTSABR IsNot Nothing Then
|
|
Dim dt As New DataTable
|
|
dt.Columns.Add("GARANTIEBIS")
|
|
dt.Columns.Add("ANZAHL")
|
|
dt.Columns.Add("EINZALBETRAG")
|
|
dt.Columns.Add("GESAMTBETRAG")
|
|
dt.Columns.Add("BETRAG")
|
|
dt.Columns.Add("ART")
|
|
|
|
For Each l In LIST_NCTSABR.LIST
|
|
If l._ANZAHL > 0 Then dt.Rows.Add(l.abrg_GarantiewertBis, l._ANZAHL, l.abrg_bertrag, l.abrg_bertrag * l._ANZAHL, l._BETRAG, l.abrg_artAbrechnung)
|
|
Next
|
|
|
|
|
|
Dim subrpt As New subrptKontrolleLKW_NCTSTR_Abrechnung
|
|
'subrpt.Kennzeichen = Fields.Item("Kennzeichen").Value
|
|
'subrpt.AnmeldungsDatum = Fields.Item("AnmeldungsDatum").Value
|
|
|
|
subrpt.DataSource = dt
|
|
|
|
Me.SubReport2.Report = subrpt
|
|
|
|
End If
|
|
|
|
|
|
End Sub
|
|
End Class
|