Files
ADMIN/UID/usrCntlAPI.vb
2022-03-21 10:17:42 +01:00

310 lines
15 KiB
VB.net

Imports System.ComponentModel
Public Class usrCntlAPI
Dim MONAT As Date = CDate("01." & Now.Month & "." & Now.Year) '.AddMonths(-1)
Dim srcTAG As Date = CDate(Now.ToShortDateString)
Dim JAHR As Date = CDate("01.01." & Now.Year)
Private Sub usrCntlAPI_Load(sender As Object, e As EventArgs) Handles Me.Load
txtAbfertDat.Text = Now.ToShortDateString 'CDate("01." & Now.ToString("MM.yyyy")).AddMonths(-1).txtAbfertDatBisToShortDateString
txtAbfertDatBis.Text = Now.ToShortDateString
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
kdtxtKunde.initKdBox(Me.FindForm) ' initKdAbsender()
cboFiliale.fillWithSQL("SELECT FilialenNr, Grenzstelle FROM Filialen WHERE Fil_Status='A' ORDER BY FilialenNr ", True, "FMZOLL", True)
cboDatum.Items.Clear()
cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("API-Datum", "ADat"))
cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Durchführungsdatum", "DDat"))
cboDatum.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Error-Datum", "EDat"))
cboDatum.changeItem("RDat")
cboInOut.Items.Clear()
cboInOut.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cboInOut.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IN", VERAG_PROG_ALLGEMEIN.cAPI_INOUT.IN))
cboInOut.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("OUT", VERAG_PROG_ALLGEMEIN.cAPI_INOUT.OUT))
cboInOut.changeItem("")
cboType.Items.Clear()
cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FTP", VERAG_PROG_ALLGEMEIN.cAPI_Type.FTP))
cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("MAIL", VERAG_PROG_ALLGEMEIN.cAPI_Type.MAIL))
cboType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("REST", VERAG_PROG_ALLGEMEIN.cAPI_Type.REST))
cboType.changeItem("")
cboAPIArt.Items.Clear()
cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AVISO_OUT_STATUSMAIL", VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_STATUSMAIL))
cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AVISO_OUT_BELEGMAIL", VERAG_PROG_ALLGEMEIN.cAPI_ART.AVISO_OUT_BELEGMAIL))
cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG_OUT_EZA", VERAG_PROG_ALLGEMEIN.cAPI_ART.VERAG_OUT_EZA))
cboAPIArt.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG_OUT_NCTS", VERAG_PROG_ALLGEMEIN.cAPI_ART.VERAG_OUT_NCTS))
cboAPIArt.changeItem("")
End Sub
Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged
txtAbfertDat._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub DateTimePicker2_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker2.ValueChanged
txtAbfertDatBis._value = CDate(sender.value).ToShortDateString
End Sub
Private Sub btnMonat_Click(sender As Object, e As EventArgs) Handles btnMonat.Click
initBtns("Monat")
End Sub
Sub initBtns(MonatJahr)
btnMonat.Text = MONAT.ToString("MMMM")
btnJahr.Text = JAHR.Year
Select Case MonatJahr
Case "Monat"
DateTimePicker1.Value = MONAT
DateTimePicker2.Value = MONAT.AddMonths(1).AddDays(-1)
Case "Jahr"
' If cbxGeschaftsjahr.Checked Then
'DateTimePicker1.Value = JAHR.AddMonths(1)
' DateTimePicker2.Value = JAHR.AddYears(1).AddMonths(1).AddDays(-1)
' Else
DateTimePicker1.Value = JAHR
DateTimePicker2.Value = JAHR.AddYears(1).AddDays(-1)
'End If
Case "Tag"
' If cbxGeschaftsjahr.Checked Then
'DateTimePicker1.Value = JAHR.AddMonths(1)
' DateTimePicker2.Value = JAHR.AddYears(1).AddMonths(1).AddDays(-1)
' Else
DateTimePicker1.Value = srcTAG
DateTimePicker2.Value = srcTAG
If srcTAG = Now.ToShortDateString Then
Button5.Text = "Heute"
ElseIf srcTAG = Now.AddDays(-1).ToShortDateString Then
Button5.Text = "Gestern"
ElseIf srcTAG = Now.AddDays(-2).ToShortDateString Then
Button5.Text = "Vorgestern"
Else
Button5.Text = srcTAG.ToString("dd.MM")
End If
'End If
Case ""
DateTimePicker1.Value = ("01." & Now.Month & "." & Now.Year)
DateTimePicker2.Value = Now
End Select
End Sub
Private Sub btnJahr_Click(sender As Object, e As EventArgs) Handles btnJahr.Click
initBtns("Jahr")
End Sub
Private Sub btnBisMonat_Click(sender As Object, e As EventArgs) Handles btnBisMonat.Click
MONAT = MONAT.AddMonths(1)
initBtns("Monat")
End Sub
Private Sub btnVonMonat_Click(sender As Object, e As EventArgs) Handles btnVonMonat.Click
MONAT = MONAT.AddMonths(-1)
initBtns("Monat")
End Sub
Private Sub btnBisJahr_Click(sender As Object, e As EventArgs) Handles btnBisJahr.Click
JAHR = JAHR.AddYears(1)
initBtns("Jahr")
End Sub
Private Sub btnVonJahr_Click(sender As Object, e As EventArgs) Handles btnVonJahr.Click
JAHR = JAHR.AddYears(-1)
initBtns("Jahr")
End Sub
Private Sub btnSuche_Click(sender As Object, e As EventArgs) Handles btnSuche.Click
Me.Cursor = Cursors.WaitCursor
Dim sqlstr As String = ""
Dim TopMax = If(IsNumeric(txtMaxSrch.Text), " TOP " & txtMaxSrch.Text, "")
sqlstr &= "SELECT " & TopMax & " api_id, [api_apiArt],[api_apiUArt],[api_apiZollStatus],[api_InOut],[api_datetime],[api_status],[api_fehlversuch],[api_progName],[api_progVersion],[api_Type],[api_EMail],[api_filepathSource],[api_filepathDestination],[api_Firma],[api_Username],[api_Partnersystem],[api_Vorsystem],[api_KundenNr],[api_AvisoId],[api_SendungsId],[api_FilialenNr],[api_AbfertigungsNr],[api_BezugsNr],[api_Zollbelegnummer],[api_finTstmp]
FROM [tblAPI] WHERE 1=1 "
With DataGridView
' .DataSource = myTable
.SET_SQL(sqlstr & getRechnungsAusgangWhere() & " ORDER BY api_datetime DESC", "ADMIN", getSpedbuchList)
.LOAD()
If .RowCount = 0 Then Me.Cursor = Cursors.Default : Exit Sub
.RowHeadersVisible = False
.ReadOnly = True
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
.Columns("api_id").Visible = False
'.Columns("RechnungsNr").Width = 70
'.Columns("RechnungsNr").HeaderText = "Rechnugs-Nr"
'.Columns("RechnungsNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("RechnungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("RechnungsDatum").Width = 100
'.Columns("RechnungsDatum").HeaderText = "Rg-Dat."
'.Columns("RechnungsDatum").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("RechnungsDatum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("Sammelrechnung").Width = 45
'.Columns("Sammelrechnung").HeaderText = "SR"
'.Columns("FilialenNr").Width = 45
'.Columns("FilialenNr").HeaderText = "Filiale"
'.Columns("FilialenNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("FilialenNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("AbfertigungsNr").Width = 70
'.Columns("AbfertigungsNr").HeaderText = "Abf-Nr"
'.Columns("AbfertigungsNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("AbfertigungsNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("UnterNr").Width = 45
'.Columns("UnterNr").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("UnterNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("Abfertigungsdatum").Width = 100
'.Columns("Abfertigungsdatum").HeaderText = "Abf-Dat."
'.Columns("Abfertigungsdatum").HeaderCell.Style.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("Abfertigungsdatum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
'.Columns("RechnungAn").MinimumWidth = 150
'.Columns("RechnungAn").HeaderText = "Rechnung an"
'.Columns("RechnungAn").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
''.Columns("Absender").MinimumWidth = 150
''.Columns("Absender").HeaderText = "Absender"
''.Columns("Absender").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("Vermittler").MinimumWidth = 150
'.Columns("Vermittler").HeaderText = "Auftraggeber"
'.Columns("Vermittler").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
''.Columns("Empfänger").MinimumWidth = 150
''.Columns("Empfänger").HeaderText = "Empfänger"
''.Columns("Empfänger").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("LKW Kennzeichen").Width = 120
'.Columns("LKW Kennzeichen").HeaderText = "LKW Kennzeichen"
'.Columns("Sachbearbeiter").MinimumWidth = 100
'.Columns("Sachbearbeiter").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("SteuerpflichtigerGesamtbetrag").Width = 120
'.Columns("SteuerpflichtigerGesamtbetrag").HeaderText = "Betrag (stpfl.)"
'.Columns("SteuerpflichtigerGesamtbetrag").DefaultCellStyle.Format = "N2"
'.Columns("SteuerfreierGesamtbetrag").Width = 120
'.Columns("SteuerfreierGesamtbetrag").HeaderText = "Betrag (stfr.)"
'.Columns("SteuerfreierGesamtbetrag").DefaultCellStyle.Format = "N2"
lblErgebnis.Text = "Ergebnisse: " & .RowCount
End With
Me.Cursor = Cursors.Default
End Sub
Function getRechnungsAusgangWhere() As String
Dim sqlstr = ""
If kdtxtKunde.Text <> "" And IsNumeric(kdtxtKunde.Text) Then sqlstr &= " AND [api_KundenNr] LIKE @Kunde "
If cboDatum._value = "ADat" Then
If txtAbfertDat.Text <> "" Then
If txtAbfertDatBis.Text <> "" Then
sqlstr &= " AND ([api_datetime] BETWEEN @Datum_von AND @Datum_bis ) "
Else
sqlstr &= " AND ([api_datetime] BETWEEN @Datum_von AND @Datum_von ) "
End If
End If
ElseIf cboDatum._value = "DDat" Then
If txtAbfertDat.Text <> "" Then
If txtAbfertDatBis.Text <> "" Then
sqlstr &= " AND ([api_finTstmp] BETWEEN @Datum_von AND @Datum_bis ) "
Else
sqlstr &= " AND ([api_finTstmp] BETWEEN @Datum_von AND @Datum_von ) "
End If
End If
ElseIf cboDatum._value = "EDat" Then
If txtAbfertDat.Text <> "" Then
If txtAbfertDatBis.Text <> "" Then
sqlstr &= " AND ([api_errTstmp] BETWEEN @Datum_von AND @Datum_bis ) "
Else
sqlstr &= " AND ([api_errTstmp] BETWEEN @Datum_von AND @Datum_von ) "
End If
End If
End If
If txtAbfertigungsnummer.Text <> "" Then
If txtAbfertigungsnummerBis.Text <> "" Then
sqlstr &= " AND ([api_AbfertigungsNr] BETWEEN @AbfertigungsNr AND @AbfertigungsNr_bis) "
Else
sqlstr &= " AND [api_AbfertigungsNr] LIKE @AbfertigungsNr "
End If
End If
If cboFiliale._value <> "" Then sqlstr &= " AND [api_FilialenNr] LIKE @FilialenNr "
If txtAPIUArt.Text <> "" Then sqlstr &= " AND [api_apiUArt] LIKE @UArt "
If cboAPIArt._value <> "" Then sqlstr &= " AND [api_apiArt] LIKE @APIArt "
If cboType._value <> "" Then sqlstr &= " AND [api_Type] LIKE @APIType "
If cboInOut._value <> "" Then sqlstr &= " AND [api_InOut] LIKE @APIInOut "
If txtAvisoId.Text <> "" Then sqlstr &= " AND [api_AvisoId] LIKE @AvisoId "
If txtSendungsId.Text <> "" Then sqlstr &= " AND [api_SendungsId] LIKE @SendungsId "
If txtZollBelegNr.Text <> "" Then sqlstr &= " AND [api_Zollbelegnummer] LIKE @ZollBelegNr "
If txtBezugsNr.Text <> "" Then sqlstr &= " AND [api_BezugsNr] LIKE @BezugsNr "
Return sqlstr
End Function
Function getSpedbuchList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Kunde", kdtxtKunde.KdNr_value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_von", txtAbfertDat.Text & " 00:00:00"))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Datum_bis", txtAbfertDatBis.Text & " 23:59:59"))
If txtAbfertigungsnummerBis.Text <> "" Then
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", "")))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr_bis", txtAbfertigungsnummerBis.Text.Replace("*", "")))
Else
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AbfertigungsNr", txtAbfertigungsnummer.Text.Replace("*", "%")))
End If
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FilialenNr", cboFiliale._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UArt", txtAPIUArt.Text.Replace("*", "%").ToUpper))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("APIArt", cboAPIArt._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("APIType", cboType._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("APIInOut", cboInOut._value))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoId", txtAvisoId.Text))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SendungsId", txtSendungsId.Text))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ZollBelegNr", txtZollBelegNr.Text.Replace("*", "%").ToUpper))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BezugsNr", txtBezugsNr.Text.Replace("*", "%").ToUpper))
Return list
End Function
Private Sub txtAbfertigungsnummer_TextChanged(sender As Object, e As EventArgs) Handles txtAbfertigungsnummer.TextChanged
txtAbfertigungsnummerBis.Enabled = (txtAbfertigungsnummer.Text <> "")
End Sub
End Class