Files
AVISO/Aviso/Auswertung/usrctlStatVERIMEX.vb
2023-01-13 23:51:56 +01:00

317 lines
16 KiB
VB.net

Imports Gemeinsames
Imports VERAG_PROG_ALLGEMEIN
Public Class usrctlStatVERIMEX
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Sub init()
Dim whereFiliale = ""
Dim innerJoinFiliale = ""
Select Case cboFirma._value
Case ""
Case 0 : whereFiliale = " and tblSendungen.FilialenNr <=0 "
Case Else
whereFiliale = " and Filialen.Firma='" & cboFirma._value & "' "
innerJoinFiliale = "inner join " & VERAG_PROG_ALLGEMEIN.cAllgemein.FMZOLL_SERVER & ".VERAG.dbo.Filialen on [tblSendungen].FilialenNr=Filialen.FilialenNr"
End Select
With dgvAbklaerungTR
Dim sqlstr = "SELECT mit_vname + ' ' + mit_nname as Mitarbeiter ,count(*) as Sendungen ,count(distinct(avisoid)) as LKW
FROM [tblSendungen] inner join Aviso on AvisoID = tblSnd_AvisoID inner join admin.dbo.tblMitarbeiter on mit_id=tblSnd_AbklaerungTR_MA
" & innerJoinFiliale & "
where cast(tblSnd_AbklaerungTR as date) BETWEEN '" & datStatVon.Value & "' and '" & datStatBis.Value & "' and tblSnd_AbklaerungTR_MA is not null
" & whereFiliale & "
group by mit_vname,mit_nname"
'früher: Datum statt tblSnd_AbklaerungTR
dgvAbklaerungTR.DataSource = SQL.loadDgvBySql(sqlstr, "AVISO")
End With
End Sub
Sub initAbf()
Dim whereFiliale = ""
Dim innerJoinFiliale = ""
Select Case cboAbfFirma._value
Case ""
Case 0 : whereFiliale = " and tblSendungen.FilialenNr <=0 "
Case "ATILLA" : whereFiliale = " and tblSendungen.FilialenNr='4801' "
Case Else
whereFiliale = " and tblSendungen.FilialenNr<>'4801' and Filialen.Firma='" & cboAbfFirma._value & "' "
innerJoinFiliale = "inner join " & VERAG_PROG_ALLGEMEIN.cAllgemein.FMZOLL_SERVER & ".VERAG.dbo.Filialen on [tblSendungen].FilialenNr=Filialen.FilialenNr"
End Select
With dgvAbfertigungTR
Dim sqlstr = "SELECT mit_vname + ' ' + mit_nname as Mitarbeiter ,sum(tblSnd_AbfertigungTRAnzahl) as Versandscheine ,sum(tblSnd_AbfertigungTRAnzahlPos) as Positionen ,count(distinct(avisoid)) as LKW
FROM [tblSendungen] inner join Aviso on AvisoID = tblSnd_AvisoID inner join admin.dbo.tblMitarbeiter on mit_id=tblSnd_AbfertigungTR_MA
" & innerJoinFiliale & "
where cast(tblSnd_AbfertigungTR as date) BETWEEN '" & datAbfStatVon.Value & "' and '" & datAbfStatBis.Value & "' and tblSnd_AbfertigungTR_MA is not null
" & whereFiliale & "
group by mit_vname,mit_nname"
'früher: Datum statt tblSnd_AbfertigungTR
'MsgBox(sqlstr)
dgvAbfertigungTR.DataSource = SQL.loadDgvBySql(sqlstr, "AVISO")
End With
End Sub
'Private Sub datStatVon_ValueChanged(sender As Object, e As EventArgs) Handles datStatVon.ValueChanged, datStatBis.ValueChanged
'End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Cursor = Cursors.WaitCursor
SDL.cProgramFunctions.genExcelFromDGV_NEW(dgvAbklaerungTR, False)
Me.Cursor = Cursors.Default
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim print As New frmPrintLayout
print.Text = "Speditionsbericht"
Dim rpt As New rptStat_VERIMEX_AbklTR
rpt.DataSource = dgvAbklaerungTR.DataSource
If rpt.DataSource Is Nothing OrElse rpt.DataSource.rows.count = 0 Then
rpt.Dispose() : print.Dispose()
MsgBox("Keine Daten vorhanden!")
Exit Sub
End If
Dim sum = 0
rpt.lblUeberschrift.Text = "Sendungserfassung TR " & datStatVon.Text & " bis " & datStatBis.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 sumSnd As Integer = 0
Dim sumLKW As Integer = 0
AddHandler rpt.Detail.Format, Sub()
'rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString
'rpt.lblBis.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString
rpt.lblAnzSnd.Text = rpt.Fields.Item("Sendungen").Value
rpt.lblAnzLKW.Text = rpt.Fields.Item("LKW").Value
rpt.lblMitarbeiter.Text = rpt.Fields.Item("Mitarbeiter").Value
sumSnd += CInt(rpt.Fields.Item("Sendungen").Value)
sumLKW += CInt(rpt.Fields.Item("LKW").Value)
End Sub
AddHandler rpt.GroupHeader1.Format, Sub()
' If CheckBox1.Checked Then rpt.lblFiliale.Text = SQL.getValueTxtBySql("SELECT CAST(FilialenNr as varchar (4)) + ' ' + Grenzstelle FROM filialen WHERE FilialenNr='" & rpt.Fields.Item("FilialenNr").Value & "'", "FMZOLL")
sumSnd = 0
sumLKW = 0
End Sub
AddHandler rpt.GroupFooter1.Format, Sub()
rpt.lblAnzSndSum.Text = sumSnd
rpt.lblAnzLKWSum.Text = sumLKW
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Private Sub usrctlStatVERIMEX_Load(sender As Object, e As EventArgs) Handles Me.Load
cboFirma.Items.Clear()
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ALLE", ""))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("*Nicht zugeordnet", "0"))
cboFirma.changeItem("")
cboAbfFirma.Items.Clear()
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ALLE", ""))
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG", "VERAG"))
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("UNISPED", "UNISPED"))
cboAbfFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("*Nicht zugeordnet", "0"))
cboAbfFirma.changeItem("ATILLA")
' cboFirma.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", ""))
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
init()
End Sub
Private Sub databfStatVon_KeyDown(sender As Object, e As KeyEventArgs) Handles datStatVon.KeyDown, datStatBis.KeyDown, cboFirma.KeyDown
If e.KeyCode = Keys.Return Then
init()
End If
End Sub
Private Sub datStatVon_KeyDown(sender As Object, e As KeyEventArgs) Handles datAbfStatVon.KeyDown, datAbfStatBis.KeyDown, cboAbfFirma.KeyDown, datStatVon.KeyDown, datStatBis.KeyDown, cboFirma.KeyDown
If e.KeyCode = Keys.Return Then
initAbf()
End If
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Me.Cursor = Cursors.WaitCursor
Try
Dim whereFiliale = ""
Dim innerJoinFiliale = ""
Select Case cboFirma._value
Case ""
Case 0 : whereFiliale = " and tblSendungen.FilialenNr <=0 "
Case Else
whereFiliale = " and Filialen.Firma='" & cboFirma._value & "' "
innerJoinFiliale = "inner join " & VERAG_PROG_ALLGEMEIN.cAllgemein.FMZOLL_SERVER & ".VERAG.dbo.Filialen on [tblSendungen].FilialenNr=Filialen.FilialenNr"
End Select
Dim sqlstr = "SELECT (Select isnull(Filialen.firma,'') FROM [FMZOLL\SQLFMZOLL].VERAG.dbo.Filialen WHERE [tblSendungen].FilialenNr=Filialen.FilialenNr) Firma,
mit_vname + ' ' + mit_nname as Mitarbeiter, aviso.LKW_Nr [LKW Kennzeichen],tblSnd_AvisoID [LKW-ID], Auftraggeber as Avisierer, Frächter, tblSnd_Empfaenger as Empfänger, tblSnd_Colli Colli, tblSnd_Gewicht Gewicht, tblSnd_Abfertigungsart_ID Abfertigungsart, tblSendungen.FilialenNr , tblSendungen.AbfertigungsNr, replace(Ankunft,'1899-12-30 00:00:00','') Ankunft, replace(Freigabe,'1899-12-30 00:00:00','') Freigabe
FROM [tblSendungen] inner join Aviso on AvisoID = tblSnd_AvisoID inner join admin.dbo.tblMitarbeiter on mit_id=tblSnd_AbklaerungTR_MA
" & innerJoinFiliale & "
where cast(tblSnd_AbklaerungTR as date) BETWEEN '" & datStatVon.Value & "' and '" & datStatBis.Value & "' and tblSnd_AbklaerungTR_MA is not null
" & whereFiliale & "
ORDER BY Firma, Mitarbeiter,Auftraggeber,LKW_Nr,tblSnd_PosUnterNr"
SDL.cProgramFunctions.genExcelFromDT_NEW(SQL.loadDgvBySql(sqlstr, "AVISO"))
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub btnAbfDetailbereicht_Click(sender As Object, e As EventArgs) Handles btnAbfDetailbereicht.Click
Me.Cursor = Cursors.WaitCursor
Try
Dim whereFiliale = ""
Dim innerJoinFiliale = ""
Select Case cboAbfFirma._value
Case ""
Case 0 : whereFiliale = " and tblSendungen.FilialenNr <=0 "
Case "ATILLA" : whereFiliale = " and tblSendungen.FilialenNr='4801' "
Case Else
whereFiliale = " and tblSendungen.FilialenNr<>'4801' and Filialen.Firma='" & cboAbfFirma._value & "' "
innerJoinFiliale = "inner join " & VERAG_PROG_ALLGEMEIN.cAllgemein.FMZOLL_SERVER & ".VERAG.dbo.Filialen on [tblSendungen].FilialenNr=Filialen.FilialenNr"
End Select
Dim sqlstr = "SELECT mit_vname + ' ' + mit_nname as Mitarbeiter ,tblSnd_AbfertigungTRAnzahl as AnzahlVersandscheine ,tblSnd_AbfertigungTRAnzahlPos as AnzahlPositionen, aviso.LKW_Nr [LKW Kennzeichen],tblSnd_AvisoID [LKW-ID], Auftraggeber as Avisierer, Frächter, tblSendungen.FilialenNr , tblSendungen.AbfertigungsNr, replace(Ankunft,'1899-12-30 00:00:00','') Ankunft, replace(Freigabe,'1899-12-30 00:00:00','') Freigabe
FROM [tblSendungen] inner join Aviso on AvisoID = tblSnd_AvisoID inner join admin.dbo.tblMitarbeiter on mit_id=tblSnd_AbfertigungTR_MA
" & innerJoinFiliale & "
where cast(tblSnd_AbfertigungTR as date) BETWEEN '" & datAbfStatVon.Value & "' and '" & datAbfStatBis.Value & "' and tblSnd_AbfertigungTR_MA is not null
" & whereFiliale & " ORDER BY mit_nname, tblSnd_AbfertigungTR"
SDL.cProgramFunctions.genExcelFromDT_NEW(SQL.loadDgvBySql(sqlstr, "AVISO"))
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub btnAbfExcel_Click(sender As Object, e As EventArgs) Handles btnAbfExcel.Click
Me.Cursor = Cursors.WaitCursor
SDL.cProgramFunctions.genExcelFromDGV_NEW(dgvAbfertigungTR, False)
Me.Cursor = Cursors.Default
End Sub
Private Sub btnAbfBericht_Click(sender As Object, e As EventArgs) Handles btnAbfBericht.Click
Dim print As New frmPrintLayout
print.Text = "Speditionsbericht"
Dim rpt As New rptStat_VERIMEX_AbklTR
rpt.DataSource = dgvAbfertigungTR.DataSource
If rpt.DataSource Is Nothing OrElse rpt.DataSource.rows.count = 0 Then
rpt.Dispose() : print.Dispose()
MsgBox("Keine Daten vorhanden!")
Exit Sub
End If
Dim sum = 0
rpt.lblUeberschrift.Text = "Abfertigung (NCTS) TR " & datStatVon.Text & " bis " & datStatBis.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 sumSnd As Integer = 0
Dim sumPos As Integer = 0
Dim sumLKW As Integer = 0
AddHandler rpt.Detail.Format, Sub()
Dim anz_Positionen As Integer = 0
Dim anz_Versandscheine As Integer = 0
Dim anz_LKW As Integer = 0
If rpt.Fields.Item("Positionen").Value IsNot DBNull.Value AndAlso IsNumeric(rpt.Fields.Item("Positionen").Value) Then
anz_Positionen = CInt(rpt.Fields.Item("Positionen").Value)
End If
If rpt.Fields.Item("Versandscheine").Value IsNot DBNull.Value AndAlso IsNumeric(rpt.Fields.Item("Versandscheine").Value) Then
anz_Versandscheine = CInt(rpt.Fields.Item("Versandscheine").Value)
End If
If rpt.Fields.Item("LKW").Value IsNot DBNull.Value AndAlso IsNumeric(rpt.Fields.Item("LKW").Value) Then
anz_LKW = CInt(rpt.Fields.Item("LKW").Value)
End If
rpt.Label2.Text = anz_Positionen
rpt.lblAnzSnd.Text = anz_Versandscheine
rpt.lblAnzLKW.Text = anz_LKW
rpt.lblMitarbeiter.Text = rpt.Fields.Item("Mitarbeiter").Value
sumPos += anz_Positionen
sumSnd += anz_Versandscheine
sumLKW += anz_LKW
End Sub
AddHandler rpt.GroupHeader1.Format, Sub()
' If CheckBox1.Checked Then rpt.lblFiliale.Text = SQL.getValueTxtBySql("SELECT CAST(FilialenNr as varchar (4)) + ' ' + Grenzstelle FROM filialen WHERE FilialenNr='" & rpt.Fields.Item("FilialenNr").Value & "'", "FMZOLL")
sumPos = 0
sumSnd = 0
sumLKW = 0
End Sub
AddHandler rpt.GroupFooter1.Format, Sub()
rpt.lblAnzSndSum.Text = sumSnd
rpt.lblAnzPosSum.Text = sumPos
rpt.lblAnzLKWSum.Text = sumLKW
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Private Sub btnAbfAuswerten_Click(sender As Object, e As EventArgs) Handles btnAbfAuswerten.Click
initAbf()
End Sub
End Class