96 lines
4.7 KiB
VB.net
96 lines
4.7 KiB
VB.net
Public Class usrCntlAuswertungenKunden_Auftragsrueckgang
|
|
|
|
|
|
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Private Sub usrCntlBrgBuchungenFremd_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
cboMonatDurmaz.Items.Clear()
|
|
cboMonatDurmaz.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
cboMonatDurmaz.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Auftraggeber", "Vermittler"))
|
|
cboMonatDurmaz.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Empfänger", "Empfänger"))
|
|
cboMonatDurmaz.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Avisierer", "Avisierer"))
|
|
cboMonatDurmaz.SelectedIndex = 1
|
|
' cboMonatDurmaz.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
|
|
End Sub
|
|
|
|
Private Sub btnNCTSDurmaz_Click(sender As Object, e As EventArgs) Handles btnNCTSDurmaz.Click
|
|
|
|
Try
|
|
txtFilialen.ForeColor = Color.Black
|
|
If txtFilialen.Text.Contains(",") Then
|
|
For Each s In txtFilialen.Text.Split(",")
|
|
If Not IsNumeric(s) Then txtFilialen.ForeColor = Color.Red : Exit Sub
|
|
Next
|
|
Else
|
|
If Not IsNumeric(txtFilialen.Text) Then txtFilialen.ForeColor = Color.Red : Exit Sub
|
|
End If
|
|
|
|
txtAbfArt.ForeColor = Color.Black
|
|
If txtAbfArt.Text.Contains(",") Then
|
|
For Each s In txtAbfArt.Text.Split(",")
|
|
If Not IsNumeric(s) Then txtAbfArt.ForeColor = Color.Red : Exit Sub
|
|
Next
|
|
Else
|
|
If Not IsNumeric(txtAbfArt.Text) Then txtAbfArt.ForeColor = Color.Red : Exit Sub
|
|
End If
|
|
|
|
lblErr.Visible = False
|
|
If cboMonatDurmaz._value = "" Then Exit Sub
|
|
Dim sqlStr = ""
|
|
sqlStr &= " select * FROM("
|
|
sqlStr &= " select * ,"
|
|
sqlStr &= " case when monatsdurchschn >" & txtSchwellenwertPeriode.Text & " then 'W'"
|
|
sqlStr &= " else 'M'"
|
|
sqlStr &= " end as DurschnBerechnung"
|
|
sqlStr &= " FROM("
|
|
sqlStr &= " SELECT SUM (abfertigungsanzahl) as [Abf.Anzahl], VermittlerKundenNr, MAX(Vermittler) as Vermittler"
|
|
sqlStr &= " , cast(SUM (cast(abfertigungsanzahl as float) /12) as decimal(10,1) ) as Monatsdurchschn "
|
|
sqlStr &= " , (SELECT "
|
|
sqlStr &= " isnull(SUM(sp2.abfertigungsanzahl), 0)"
|
|
sqlStr &= " FROM [VERAG].[dbo].[Speditionsbuch] as sp2"
|
|
|
|
sqlStr &= " where sp2.Abfertigungsdatum between cast(DATEADD (MONTH , -1 , GETDATE() ) as date) AND GETDATE()"
|
|
sqlStr &= " and sp2.FilialenNr IN (" & txtFilialen.Text & ")"
|
|
sqlStr &= " and sp2.Abfertigungsart IN(" & txtAbfArt.Text & ") "
|
|
sqlStr &= " and sp2.VermittlerKundenNr=sp1.VermittlerKundenNr"
|
|
sqlStr &= " ) as LetzterMonat,"
|
|
|
|
sqlStr &= " (SELECT "
|
|
sqlStr &= " isnull(SUM(sp2.abfertigungsanzahl), 0)"
|
|
sqlStr &= " FROM [VERAG].[dbo].[Speditionsbuch] as sp2"
|
|
sqlStr &= " where sp2.Abfertigungsdatum between cast(DATEADD (WEEK , -1 , GETDATE() ) as date) AND GETDATE()"
|
|
sqlStr &= " and sp2.FilialenNr IN (" & txtFilialen.Text & ")"
|
|
sqlStr &= " and sp2.Abfertigungsart IN(" & txtAbfArt.Text & ") "
|
|
sqlStr &= " and sp2.VermittlerKundenNr=sp1.VermittlerKundenNr"
|
|
sqlStr &= " ) as LetzeWoche"
|
|
|
|
sqlStr &= " FROM [VERAG].[dbo].[Speditionsbuch] as sp1"
|
|
|
|
sqlStr &= " where Abfertigungsdatum between cast(DATEADD (YEAR , -1 , GETDATE() ) as date) AND GETDATE()"
|
|
sqlStr &= " and VermittlerKundenNr is not null and VermittlerKundenNr > 0 "
|
|
sqlStr &= " and FilialenNr IN (" & txtFilialen.Text & ")"
|
|
sqlStr &= " and Abfertigungsart IN(" & txtAbfArt.Text & ") "
|
|
|
|
sqlStr &= " group by VermittlerKundenNr"
|
|
sqlStr &= " ) as T where [Abf.Anzahl]> " & txtAnz12Monate.Text & " "
|
|
sqlStr &= " ) as T2"
|
|
sqlStr &= " where"
|
|
sqlStr &= " (DurschnBerechnung='M' and LetzterMonat<='" & txtletztePeriode.Text & "') or (DurschnBerechnung='W' and LetzeWoche<='" & txtletztePeriode.Text & "') "
|
|
sqlStr &= " order by [Abf.Anzahl] desc"
|
|
|
|
sqlStr = sqlStr.Replace("Vermittler", cboMonatDurmaz._value)
|
|
Dim dt As DataTable = SQL.loadDgvBySql(sqlStr, "FMZOLL")
|
|
If dt Is Nothing OrElse dt.Rows.Count = 0 Then lblErr.Visible = True : Exit Sub
|
|
|
|
cProgramFunctions.genExcelFromDT_NEW(dt) ', {"E1:E" & (dt.Rows.Count + 1)})
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
End Class
|