4915 lines
258 KiB
VB.net
4915 lines
258 KiB
VB.net
Imports System.Data.OleDb
|
|
Imports System.IO
|
|
Imports itextsharp.text.pdf
|
|
Imports MDM_Worker
|
|
Imports VERAG_PROG_ALLGEMEIN
|
|
|
|
Public Class frmMDMDatenverarbetiung
|
|
|
|
Public LIEFERANT = ""
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
' Dim ProduktCode_NOT_IN = "SELECT plp_ProductCode FROM [tblPLOSE_Produktbeschreibung] WHERE [plp_einarbeiten]=0 "
|
|
Dim ProduktCode_NOT_IN = "'9020'"
|
|
Dim datum As Date = Nothing
|
|
Dim test As Boolean = False
|
|
|
|
Private Sub frmPloseDatenverarbetiung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
|
Me.Top = 0
|
|
Me.Height = My.Computer.Screen.WorkingArea.Height
|
|
|
|
VERAG_PROG_ALLGEMEIN.cProgramFunctions.SetDoubleBuffered(MyDatagridview1)
|
|
|
|
test = cbxTestdaten.Checked
|
|
|
|
End Sub
|
|
|
|
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
|
Select Case LIEFERANT
|
|
Case "PLOSE" : genSummenbericht_PLOSE()
|
|
Case "ASFINAG" : genSummenbericht_ASFINAG()
|
|
Case "UTA" : genSummenbericht_UTA()
|
|
Case "IDS" : genSummenbericht_IDS(17, cbxIDSmitVerag.Checked) : genSummenbericht_IDS(21, cbxIDSmitVerag.Checked)
|
|
Case "MSE" : genSummenbericht_MSE()
|
|
Case Else : MsgBox("Nicht verfügbar!")
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
|
|
|
MyDatagridview1.ClearSelection()
|
|
|
|
Button3.BackColor = Color.White
|
|
Button3.ForeColor = Color.Black
|
|
|
|
Dim pruef As Boolean = False
|
|
Select Case LIEFERANT
|
|
Case "PLOSE"
|
|
Dim plose As cPLOSE_Inv_Data
|
|
pruef = plose.checkImport()
|
|
If pruef Then pruef = pruefData_PLOSE()
|
|
Case "ASFINAG" : pruef = pruefData_ASFINAG()
|
|
Case "UTA" : pruef = pruefData_UTA()
|
|
Case "IDS" : pruef = pruefData_IDS()
|
|
Case "MSE" : pruef = pruefData_MSE()
|
|
Case Else : MsgBox("Nicht verfügbar!") : Exit Sub
|
|
End Select
|
|
|
|
cbx.Checked = pruef
|
|
If pruef Then
|
|
Button3.BackColor = Color.Green
|
|
Button3.ForeColor = Color.White
|
|
Else
|
|
Button3.BackColor = Color.Red
|
|
Button3.ForeColor = Color.White
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub btnDatenLaden_Click(sender As Object, e As EventArgs) Handles btnDatenLaden.Click
|
|
init()
|
|
End Sub
|
|
|
|
Sub init()
|
|
txtAnzahl.Text = ""
|
|
txtPruefsummeNetto.Text = ""
|
|
Button1.Enabled = True
|
|
pb_importOK.Visible = False
|
|
|
|
Select Case LIEFERANT
|
|
Case "PLOSE" : checkImport(LIEFERANT) : initDgv_PLOSE()
|
|
btnDatenLaden.Text = "Daten laden"
|
|
Case "UTA" : checkImport(LIEFERANT) : initDgv_UTA()
|
|
btnDatenLaden.Text = "Daten laden"
|
|
Case "ASFINAG" : checkImport(LIEFERANT) : initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
|
|
btnDatenLaden.Text = "Daten laden"
|
|
Case "IDS" : checkImport(LIEFERANT) : initDgv_IDS()
|
|
btnDatenLaden.Text = "Daten laden"
|
|
Button1.Enabled = False
|
|
Case "MSE" : checkImport(LIEFERANT) : initDgv_MSE()
|
|
btnDatenLaden.Text = "Daten laden"
|
|
End Select
|
|
End Sub
|
|
|
|
Private Sub checkImport(LIEFERANT As String)
|
|
|
|
'autom Import bei Asfinag, Plose und MSE
|
|
'(noch) manueller Import bei UTA (weil immer so spät kommt) und IDS (wegen Nacharbeitung)
|
|
|
|
pb_importOK.Visible = True
|
|
Dim Import_OK As Boolean = False
|
|
|
|
Dim sqlstr As String = ""
|
|
|
|
Select Case LIEFERANT
|
|
Case "PLOSE"
|
|
sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "' and invoicedate between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "'"
|
|
Case "ASFINAG"
|
|
sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "' and YEAR(invoicedate) = " & Today().Year
|
|
Case Else
|
|
sqlstr = "SELECT * FROM [VERAG].[dbo].[tblMDMEinarbeitung] where supplier = '" & LIEFERANT & "' and invoicedate ='" & DateTimePicker2.Text & "'"
|
|
End Select
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
|
|
If dt.Rows.Count > 0 Then
|
|
Dim hasImcompleIports As Boolean = dt.AsEnumerable().Any(Function(row) row.Field(Of Boolean)("completed") = False)
|
|
If hasImcompleIports Then
|
|
pb_importOK.BackgroundImage = SDL.My.Resources.Resources.del
|
|
Else
|
|
If LIEFERANT = "IDS" Then 'IDS Bedard aktuell noch einer Nachbearbeitung!
|
|
Dim nacharbeitungNotCompleted As Boolean = dt.AsEnumerable().Any(Function(row) row.Field(Of Boolean)("nacharbeitung_completed") = False)
|
|
|
|
If nacharbeitungNotCompleted Then
|
|
Import_OK = False
|
|
Else
|
|
Import_OK = True
|
|
End If
|
|
|
|
Else
|
|
Import_OK = True
|
|
End If
|
|
|
|
End If
|
|
Else
|
|
Import_OK = False
|
|
End If
|
|
|
|
|
|
If Import_OK Then
|
|
pb_importOK.BackgroundImage = SDL.My.Resources.Resources.ok
|
|
Else
|
|
pb_importOK.BackgroundImage = SDL.My.Resources.Resources.del
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub btnREerstellen_Click_1(sender As Object, e As EventArgs) Handles btnREerstellen.Click
|
|
|
|
Dim errorTmp = False
|
|
|
|
If Not checkAbrechnungsdatum(CDate(datPloseAnhang.Value)) Then Exit Sub
|
|
|
|
If test Then
|
|
If Not vbYes = MsgBox("Aktuell ist der Testlauf aktiviert, wirklich fortfahren?", vbYesNoCancel) Then Exit Sub
|
|
End If
|
|
Select Case LIEFERANT
|
|
Case "PLOSE"
|
|
Dim ploseParam As New cPLOSE
|
|
ploseParam.initImportPfade()
|
|
If genRGAtt_PLOSE(ploseParam) Then
|
|
If Not test AndAlso MautD_Befuellen() Then
|
|
setFakturiert(LIEFERANT)
|
|
End If
|
|
End If
|
|
Case "UTA"
|
|
Dim UTA As New cUTA
|
|
UTA.initImportPfade(LIEFERANT)
|
|
If genRGAtt_UTA(UTA) Then
|
|
If Not test AndAlso MautD_Befuellen() Then
|
|
setFakturiert(LIEFERANT)
|
|
End If
|
|
End If
|
|
Case "IDS"
|
|
If cbxIDSmitVerag.Checked Then
|
|
MsgBox("Abrechnung ohne VERAG/VERAG360!")
|
|
Exit Sub
|
|
End If
|
|
showIDSContextMenu()
|
|
Case "MSE"
|
|
Dim mseParam As New cMSEAPI(LIEFERANT)
|
|
If genRGAtt_MSE(mseParam) Then
|
|
If Not test AndAlso MautD_Befuellen() Then
|
|
setFakturiert(LIEFERANT)
|
|
End If
|
|
End If
|
|
Case "ASFINAG"
|
|
Dim asfinagParam As New cAsfinagMaut
|
|
asfinagParam.initImportPfade()
|
|
Dim abrechnungsDatum As DateTime = Now()
|
|
If datum = Nothing Then
|
|
datum = SQL.getValueTxtBySql("select top (1) Abrechnungsdatum from Abrechnungsdatum", "ASFINAG")
|
|
End If
|
|
Dim inputKdNr = "" 'InputBox("Wenn einzelner Kunde abgerechnet werde soll, bitte KdNr eingeben" & vbNewLine & "Wenn keine KdNr angegeben wird, dann werden alle Kunden abgerechnet:", "Asfinag abrechen")
|
|
If genRGAtt_ASFINAG(abrechnungsDatum, datum, inputKdNr, asfinagParam) Then
|
|
MautD_Befuellen(inputKdNr)
|
|
End If
|
|
initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
|
|
End Select
|
|
End Sub
|
|
|
|
|
|
|
|
Sub genSummenbericht_PLOSE()
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
sqlstr &= " SELECT count(*) Anzahl ,plose_ProduktCode"
|
|
sqlstr &= ",max(plose_Produktbeschreibung) as plose_Produktbeschreibung"
|
|
sqlstr &= ",sum(plose_Menge) as plose_Menge"
|
|
sqlstr &= ",sum(plose_Preis) as plose_Preis"
|
|
sqlstr &= ",sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung"
|
|
sqlstr &= ",sum(plose_MWSTBetragWaehrungAbbuchung) as plose_MWSTBetragWaehrungAbbuchung"
|
|
sqlstr &= ",sum(plose_BruttobetragWaehrungAbbuchung) as plose_BruttobetragWaehrungAbbuchung "
|
|
sqlstr &= " FROM tblPLOSE_Details"
|
|
sqlstr &= " WHERE 1=1 "
|
|
|
|
sqlstr &= " AND plose_DatumTransaktion between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' "
|
|
sqlstr &= " AND plose_Fakturiert =0 "
|
|
sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & ") "
|
|
|
|
sqlstr &= " group by plose_ProduktCode"
|
|
sqlstr &= " order by plose_ProduktCode"
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'DataGridView.DataSource = dt
|
|
|
|
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "PLOSE"
|
|
|
|
Dim rpt As New rptPLOSE_TransaktionenSumary
|
|
|
|
rpt.DataSource = dt
|
|
|
|
|
|
'If cbxProdukt.Checked Then
|
|
' rpt.GroupHeader2.DataField = "prod_descr"
|
|
'Else
|
|
' rpt.GroupHeader2.Visible = False
|
|
' rpt.GroupFooter2.Visible = False
|
|
'End If
|
|
|
|
|
|
|
|
Dim sum = 0
|
|
rpt.lblUeberschrift.Text = "PLOSE Summenbericht " & dat_Sum_Von.Text & " bis " & dat_Sum_Bis.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 sumPreis As Double = 0
|
|
Dim sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
Dim sumMenge As Double = 0
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
|
rpt.lblAnzahl.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Anzahl").Value, "")
|
|
rpt.lblProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
|
|
rpt.lblMenge.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Menge").Value, 0, "")
|
|
' rpt.lblPreis.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Preis").Value, 2, "")
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 2, "")
|
|
|
|
|
|
|
|
sumMenge += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Menge").Value, 4, 0)
|
|
' sumPreis += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Preis").Value, 4, 0)
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 4, 0)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
rpt.lblSumMenge.Text = sumMenge.ToString("N0")
|
|
'rpt.lblSumPreis.Text = sumPreis.ToString("N2")
|
|
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
|
rpt.lblSumMwst.Text = sumMWST.ToString("N2")
|
|
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
|
|
|
End Sub
|
|
|
|
print.Viewer.LoadDocument(rpt)
|
|
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.Show()
|
|
End Sub
|
|
|
|
Sub genSummenbericht_ASFINAG()
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
If datum = Nothing Then
|
|
datum = SQL.getValueTxtBySql("select top (1) Abrechnungsdatum from Abrechnungsdatum", "ASFINAG")
|
|
End If
|
|
|
|
sqlstr &= "select [cardnumber] as CardNumber
|
|
,Adressen.AdressenNr AS KundenNr
|
|
,Adressen.[Name 1]
|
|
,[contractPartner] as ProductCode
|
|
,sum([netAmount]) as Netamount
|
|
,sum([VATamount]) as VATAmount
|
|
,sum([totalAmount]) as amountInclVAT
|
|
FROM [VERAG].[dbo].[tblAsfinagMaut]
|
|
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
|
|
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
|
|
group by Adressen.AdressenNr,Adressen.[Name 1], contractPartner,CardNumber
|
|
order by Adressen.AdressenNr"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'DataGridView.DataSource = dt
|
|
|
|
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "ASFINAG"
|
|
|
|
Dim rpt As New rptASFINAG_TransaktionenSumary
|
|
|
|
rpt.DataSource = dt
|
|
|
|
|
|
'If cbxProdukt.Checked Then
|
|
' rpt.GroupHeader2.DataField = "prod_descr"
|
|
'Else
|
|
' rpt.GroupHeader2.Visible = False
|
|
' rpt.GroupFooter2.Visible = False
|
|
'End If
|
|
|
|
|
|
|
|
Dim sum = 0
|
|
rpt.lblUeberschrift.Text = "ASFINAG Summenbericht " & CDate(datum.ToShortDateString)
|
|
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 sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumperKdNrNetto As Double = 0
|
|
Dim sumperKdNrMWST As Double = 0
|
|
Dim sumperKdNrBrutto As Double = 0
|
|
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
|
|
|
|
rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
|
|
rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
|
rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("CardNumber").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("ProductCode").Value, "")
|
|
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Netamount").Value, 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATAmount").Value, 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("amountInclVAT").Value, 2, "")
|
|
|
|
|
|
rpt.lblSumNet.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Netamount").Value, 2, "")
|
|
rpt.lblSumVat.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATAmount").Value, 2, "")
|
|
rpt.lblSumBrt.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("amountInclVAT").Value, 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Netamount").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATAmount").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("amountInclVAT").Value, 4, 0)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
|
|
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
|
rpt.lblSumMwst.Text = sumMWST.ToString("N2")
|
|
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
|
|
|
End Sub
|
|
|
|
print.Viewer.LoadDocument(rpt)
|
|
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.Show()
|
|
End Sub
|
|
|
|
Sub genSummenbericht_UTA()
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
sqlstr &= "SELECT Kundennummer,
|
|
KundenNr,
|
|
[Name 1],
|
|
LandKz,
|
|
Ort,
|
|
Lieferland,
|
|
Kartennummer,
|
|
Sum(Gesamtbetrag_Netto_in_Darstellwährung) AS SummevonGesamtbetrag_Netto_in_Darstellwährung,
|
|
Sum(Gesamtbetrag_Brutto_in_Darstellwährung) AS SummevonGesamtbetrag_Brutto_in_Darstellwährung from (
|
|
SELECT Adressen.AdressenNr,
|
|
Adressen.[Name 1],
|
|
Adressen.LandKz,
|
|
Adressen.Ort,
|
|
Adressen.UTAExportCSV,
|
|
Adressen.Rechnungsdruck,
|
|
Offertenpositionen.KundenNr,
|
|
Offertenpositionen.OffertenNr,
|
|
Offertenpositionen.LeistungsNr,
|
|
Offertenpositionen.LeistungsBez,
|
|
tblUTAFakturierwarenarten.Warenart,
|
|
tblUTAImportNew.*
|
|
FROM tblUTAFakturierwarenarten
|
|
INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer)
|
|
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
|
|
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr)
|
|
AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr)
|
|
AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland)
|
|
AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)
|
|
as temp
|
|
where isnull(temp.charged,0) = 0 and cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'
|
|
GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort, Lieferland, Kartennummer
|
|
order by Kundennummer,Lieferland"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'DataGridView.DataSource = dt
|
|
|
|
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "uta"
|
|
|
|
Dim rpt As New rptASFINAG_TransaktionenSumary
|
|
|
|
rpt.DataSource = dt
|
|
|
|
|
|
'If cbxProdukt.Checked Then
|
|
' rpt.GroupHeader2.DataField = "prod_descr"
|
|
'Else
|
|
' rpt.GroupHeader2.Visible = False
|
|
' rpt.GroupFooter2.Visible = False
|
|
'End If
|
|
|
|
|
|
|
|
Dim sum = 0
|
|
rpt.lblUeberschrift.Text = "UTA Summenbericht " & CDate(Now.ToShortDateString)
|
|
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 sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumperKdNrNetto As Double = 0
|
|
Dim sumperKdNrMWST As Double = 0
|
|
Dim sumperKdNrBrutto As Double = 0
|
|
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
|
|
|
|
rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
|
|
rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
|
rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Kartennummer").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("Lieferland").Value, "")
|
|
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value, 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value) - CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value), 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value, 2, "")
|
|
|
|
|
|
rpt.lblSumNet.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value, 2, "")
|
|
rpt.lblSumVat.Text = SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value) - CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value), 2, "")
|
|
rpt.lblSumBrt.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value, 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value) - CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value), 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value, 4, 0)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
|
|
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
|
rpt.lblSumMwst.Text = sumMWST.ToString("N2")
|
|
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
|
|
|
End Sub
|
|
|
|
print.Viewer.LoadDocument(rpt)
|
|
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.Show()
|
|
End Sub
|
|
|
|
Sub genSummenbericht_MSE()
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
sqlstr &= " SELECT Adressen.AdressenNr as KundenNr, Adressen.[Name 1] as Name, trans.transaction_country AS Country,trans.device_product_type AS CardType,
|
|
/*trans.device_product_number AS CardNr,*/
|
|
Sum(trans.transaction_gross_amount) AS [Transaction Amount],
|
|
Sum(trans.total_gross_amount) AS [Total Amount]
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
left join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0) = 0
|
|
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], trans.transaction_country, trans.device_product_type--, trans.device_product_number
|
|
order by KundenNr"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'DataGridView.DataSource = dt
|
|
|
|
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "mse"
|
|
|
|
Dim rpt As New rptASFINAG_TransaktionenSumary
|
|
|
|
rpt.DataSource = dt
|
|
|
|
'If cbxProdukt.Checked Then
|
|
|
|
'Else
|
|
' rpt.GroupHeader2.Visible = False
|
|
' rpt.GroupFooter2.Visible = False
|
|
'End If
|
|
|
|
|
|
|
|
Dim sum = 0
|
|
rpt.lblUeberschrift.Text = "MSE Summenbericht " & CDate(Now.ToShortDateString)
|
|
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
|
rpt.lblBrutto.Text = "Total Amount"
|
|
rpt.lblNetto.Text = "Transaction Amount"
|
|
rpt.Label4.Text = rpt.lblNetto.Text
|
|
rpt.Label2.Visible = False
|
|
rpt.Label14.Text = rpt.lblBrutto.Text
|
|
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
|
|
|
'Dim cnt As Integer = 0
|
|
rpt.lblDat.Text = Now.ToLongDateString
|
|
|
|
Dim sumNetto As Double = 0
|
|
'Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumperKdNrNetto As Double = 0
|
|
'Dim sumperKdNrMWST As Double = 0
|
|
Dim sumperKdNrBrutto As Double = 0
|
|
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
|
|
|
|
rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
|
|
rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Name").Value, "")
|
|
rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("CardType").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("Country").Value, "") '& " - " & SQL.isDbnullEmpty(rpt.Fields.Item("CardNr").Value, "")
|
|
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount").Value, 2, "")
|
|
rpt.lblMWST.Text = "" 'SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value) - CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value), 2, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 2, "")
|
|
|
|
|
|
rpt.lblSumNet.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount").Value, 2, "")
|
|
rpt.lblSumVat.Text = "" 'SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value) - CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value), 2, "")
|
|
rpt.lblSumBrt.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount").Value, 4, 0)
|
|
'sumMWST += SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Brutto_in_Darstellwährung").Value) - CDbl(rpt.Fields.Item("SummevonGesamtbetrag_Netto_in_Darstellwährung").Value), 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 4, 0)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
|
|
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
|
rpt.lblSumMwst.Text = "" 'sumMWST.ToString("N2")
|
|
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
|
|
|
End Sub
|
|
|
|
print.Viewer.LoadDocument(rpt)
|
|
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.Show()
|
|
End Sub
|
|
|
|
|
|
Sub genSummenbericht_IDS(typ As Integer, mitVerag360_VeragAG As Boolean)
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
Dim sqlwhere = ""
|
|
|
|
|
|
|
|
Select Case typ
|
|
Case 17 : sqlwhere = "<>740543" & IIf(mitVerag360_VeragAG, "", " and tblIDSTransactionsNew.KdNrVERAG not in (756150, 711104)")
|
|
Case 21 : sqlwhere = " =740543" & IIf(mitVerag360_VeragAG, "", " and tblIDSTransactionsNew.KdNrVERAG not in (756150, 711104)")
|
|
End Select
|
|
|
|
sqlstr &= "SELECT Adressen.AdressenNr, Adressen.[Name 1] as Name, tblIDSTransactionsNew.[CustomerCode], Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.AmminclVAT) AS Brutto, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Netto, Sum(tblIDSTransactionsNew.Rabattbetrag) AS Rabatt
|
|
FROM ((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte ON tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode) INNER JOIN Adressen ON tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
|
WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[OutletCountryCode]" & sqlwhere &
|
|
"GROUP BY Adressen.AdressenNr, Adressen.[Name 1], tblIDSTransactionsNew.[CustomerCode];"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
'DataGridView.DataSource = dt
|
|
|
|
|
|
Dim print As New frmPrintLayout
|
|
print.Text = "IDS"
|
|
|
|
Dim rpt As New rptASFINAG_TransaktionenSumary
|
|
|
|
rpt.DataSource = dt
|
|
|
|
'If cbxProdukt.Checked Then
|
|
|
|
'Else
|
|
' rpt.GroupHeader2.Visible = False
|
|
' rpt.GroupFooter2.Visible = False
|
|
'End If
|
|
|
|
|
|
|
|
Dim sum = 0
|
|
rpt.lblUeberschrift.Text = "IDS Summenbericht (Offert " & typ & ") " & CDate(Now.ToShortDateString)
|
|
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
|
rpt.lblBrutto.Text = "Brutto"
|
|
rpt.lblNetto.Text = "Liter"
|
|
rpt.lblMWST.Text = "Netto"
|
|
rpt.Label4.Text = rpt.lblNetto.Text
|
|
rpt.Label2.Text = rpt.lblMWST.Text
|
|
rpt.Label14.Text = rpt.lblBrutto.Text
|
|
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
|
|
|
'Dim cnt As Integer = 0
|
|
rpt.lblDat.Text = Now.ToLongDateString
|
|
|
|
Dim sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumperKdNrNetto As Double = 0
|
|
'Dim sumperKdNrMWST As Double = 0
|
|
Dim sumperKdNrBrutto As Double = 0
|
|
|
|
|
|
'=([Netto]-[Rabatt])/[Liter]
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
|
|
|
|
rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("CustomerCode").Value, "")
|
|
rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Name").Value, "")
|
|
rpt.lblKartennr.Text = "VERAG-KdNr: " & SQL.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "") & IIf(SQL.isDbnullEmpty(rpt.Fields.Item("Rabatt").Value, "") <> "", " abgezogener Rabatt:" & SQL.isDbnullEmpty(rpt.Fields.Item("Rabatt").Value & "", ""), "")
|
|
|
|
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Liter").Value, 2, "")
|
|
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl((CDbl(rpt.Fields.Item("Netto").Value) - CDbl(rpt.Fields.Item("Rabatt").Value)) / CDbl(rpt.Fields.Item("Liter").Value), 4, "")
|
|
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("Brutto").Value) - CDbl(rpt.Fields.Item("Rabatt").Value), 2, "")
|
|
|
|
|
|
rpt.lblSumNet.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Liter").Value, 2, "")
|
|
rpt.lblSumVat.Text = SQL.isDbnullEmptyDbl((CDbl(rpt.Fields.Item("Netto").Value) - CDbl(rpt.Fields.Item("Rabatt").Value)) / CDbl(rpt.Fields.Item("Liter").Value), 4, "")
|
|
rpt.lblSumBrt.Text = SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("Brutto").Value) - CDbl(rpt.Fields.Item("Rabatt").Value), 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Liter").Value, 4, 0)
|
|
'sumMWST += SQL.isDbnullEmptyDbl((CDbl(rpt.Fields.Item("Netto").Value) - CDbl(rpt.Fields.Item("Rabatt").Value)) / CDbl(rpt.Fields.Item("Liter").Value), 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(CDbl(rpt.Fields.Item("Brutto").Value) - CDbl(rpt.Fields.Item("Rabatt").Value), 4, 0)
|
|
|
|
|
|
End Sub
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
|
|
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
|
'rpt.lblSumMwst.Text = sumMWST.ToString("N2")
|
|
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
|
|
|
End Sub
|
|
|
|
print.Viewer.LoadDocument(rpt)
|
|
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
print.Show()
|
|
End Sub
|
|
|
|
|
|
|
|
Sub initDgv_PLOSE()
|
|
With MyDatagridview1
|
|
|
|
.Columns.Clear()
|
|
.SET_SQL(" SELECT plose_POLSEKundennummer, count(*) Anzahl,plose_ProduktCode,max(plose_Produktbeschreibung) as plose_Produktbeschreibung, sum(plose_Menge) as plose_Menge,sum(plose_Preis) as plose_Preis,sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung,sum(plose_MWSTBetragWaehrungAbbuchung) as plose_MWSTBetragWaehrungAbbuchung,sum(plose_BruttobetragWaehrungAbbuchung) as plose_BruttobetragWaehrungAbbuchung
|
|
FROM tblPLOSE_Details
|
|
WHERE 1 = 1
|
|
And plose_DatumTransaktion between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "'
|
|
AND plose_Fakturiert=0
|
|
AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & ")
|
|
group by plose_POLSEKundennummer,plose_ProduktCode
|
|
order by plose_POLSEKundennummer,plose_ProduktCode", "FMZOLL")
|
|
.LOAD()
|
|
'TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
|
|
If .Columns.Count > 0 Then
|
|
|
|
.Columns("plose_POLSEKundennummer").HeaderText = "PLOSE KdNr"
|
|
.Columns("plose_ProduktCode").HeaderText = "ProduktCode"
|
|
.Columns("plose_Produktbeschreibung").HeaderText = "Beschreibung"
|
|
.Columns("plose_Produktbeschreibung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("plose_Menge").HeaderText = "Menge"
|
|
.Columns("plose_Preis").HeaderText = "Preis"
|
|
.Columns("plose_NettobetragWaehrungAbbuchung").HeaderText = "Netto"
|
|
.Columns("plose_MWSTBetragWaehrungAbbuchung").HeaderText = "MWST"
|
|
.Columns("plose_BruttobetragWaehrungAbbuchung").HeaderText = "Brutto"
|
|
|
|
'.Columns("VERAGLeistungsNr").ReadOnly = False
|
|
'.Columns("VERAGKdNr").ReadOnly = False
|
|
|
|
'For Each r As DataGridViewColumn In .Columns
|
|
' If r.Name = "VERAGLeistungsNr" Or r.Name = "VERAGKdNr" Then
|
|
' r.ReadOnly = False
|
|
' Else
|
|
' r.ReadOnly = True
|
|
' End If
|
|
'Next
|
|
|
|
|
|
Dim c As New DataGridViewTextBoxColumn
|
|
c.Name = "VERAGKdNr"
|
|
c.HeaderText = "VERAG KdNr"
|
|
c.Width = 100
|
|
.Columns.Insert(1, c)
|
|
|
|
c = New DataGridViewTextBoxColumn
|
|
c.Name = "VERAGLeistungsNr"
|
|
c.HeaderText = "VERAG/PLOSE LeistungsNr."
|
|
c.Width = 100
|
|
.Columns.Insert(2, c)
|
|
|
|
c = New DataGridViewTextBoxColumn
|
|
c.Name = "KundeOffertenNr"
|
|
c.HeaderText = "Kunde OffertenNr."
|
|
c.Width = 100
|
|
.Columns.Insert(3, c)
|
|
|
|
c = New DataGridViewTextBoxColumn
|
|
c.Name = "KundeLeistungsNr"
|
|
c.HeaderText = "Kunde LeistungsNr."
|
|
c.Width = 100
|
|
.Columns.Insert(4, c)
|
|
|
|
|
|
|
|
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
|
|
End If
|
|
|
|
Dim sumBto As Double = 0
|
|
Dim sumNto As Double = 0
|
|
For Each r As DataGridViewRow In .Rows
|
|
sumBto += If(IsNumeric(r.Cells("plose_BruttobetragWaehrungAbbuchung").Value), CDbl(r.Cells("plose_BruttobetragWaehrungAbbuchung").Value), 0)
|
|
sumNto += If(IsNumeric(r.Cells("plose_NettobetragWaehrungAbbuchung").Value), CDbl(r.Cells("plose_NettobetragWaehrungAbbuchung").Value), 0)
|
|
Next
|
|
|
|
txtAnzahl.Text = .Rows.Count
|
|
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
|
|
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
|
|
.ClearSelection()
|
|
|
|
End With
|
|
|
|
End Sub
|
|
Sub initDgv_UTA()
|
|
With MyDatagridview1
|
|
.Columns.Clear()
|
|
'Exit Sub
|
|
'MsgBox(.sql)
|
|
|
|
.SET_SQL(" SELECT Kundennummer, KundenNr, [Name 1], LandKz, Ort, Sum(Gesamtbetrag_Netto_in_Darstellwährung) AS Netto, Sum(Gesamtbetrag_Brutto_in_Darstellwährung) AS Brutto
|
|
from (
|
|
SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Adressen.UTAExportCSV, Adressen.Rechnungsdruck, Offertenpositionen.KundenNr, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.*
|
|
FROM tblUTAFakturierwarenarten
|
|
INNER JOIN (((Adressen
|
|
INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer)
|
|
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
|
|
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr)
|
|
AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr)
|
|
AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland)
|
|
AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart))
|
|
ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) as temp
|
|
where isnull(temp.charged,0) = 0 and cast([Rechnungsdatum] as Date) = '" & DateTimePicker2.Text & "' and temp.AdressenNr not in (756150, 711104)
|
|
GROUP BY Kundennummer, KundenNr, [Name 1], LandKz, Ort", "FMZOLL")
|
|
.LOAD()
|
|
'MsgBox(.GET_SQL())
|
|
If .Columns.Count > 0 Then
|
|
|
|
.Columns("KundenNr").HeaderText = "KdNr"
|
|
.Columns("Name 1").HeaderText = "Kunde"
|
|
.Columns("LandKz").Width = 75
|
|
.Columns("LandKz").HeaderText = "Land"
|
|
.Columns("Ort").HeaderText = "Ort"
|
|
.Columns("Ort").Width = 100
|
|
'.Columns("Lieferland").HeaderText = "Land"
|
|
.Columns("Name 1").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
|
|
|
|
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
|
|
End If
|
|
|
|
Dim sumBto As Double = 0
|
|
Dim sumNto As Double = 0
|
|
For Each r As DataGridViewRow In .Rows
|
|
sumBto += If(IsNumeric(r.Cells("Brutto").Value), CDbl(r.Cells("Brutto").Value), 0)
|
|
sumNto += If(IsNumeric(r.Cells("Netto").Value), CDbl(r.Cells("Netto").Value), 0)
|
|
Next
|
|
|
|
txtAnzahl.Text = .Rows.Count
|
|
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
|
|
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
|
|
.ClearSelection()
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Sub initDgv_MSE()
|
|
With MyDatagridview1
|
|
.Columns.Clear()
|
|
|
|
.SET_SQL(" SELECT Adressen.AdressenNr as KundenNr, Adressen.[Name 1] as Name, trans.transaction_country AS Country,trans.device_product_type AS CardType,
|
|
Sum(trans.transaction_gross_amount) As [Transaktionsbetrag],
|
|
Sum(trans.msts_fee_amount) As [Transaktionskosten],
|
|
Sum(trans.total_gross_amount) As [Gesamtbetrag]
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
Left Join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0) = 0
|
|
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], trans.transaction_country, trans.device_product_type", "FMZOLL")
|
|
|
|
.LOAD()
|
|
|
|
If .Columns.Count > 0 Then
|
|
|
|
.Columns("Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
|
|
End If
|
|
|
|
Dim sumGes As Double = 0
|
|
Dim sumFee As Double = 0
|
|
Dim sumTr As Double = 0
|
|
For Each r As DataGridViewRow In .Rows
|
|
sumGes += If(IsNumeric(r.Cells("Gesamtbetrag").Value), CDbl(r.Cells("Gesamtbetrag").Value), 0)
|
|
sumTr += If(IsNumeric(r.Cells("Transaktionsbetrag").Value), CDbl(r.Cells("Transaktionsbetrag").Value), 0)
|
|
sumFee += If(IsNumeric(r.Cells("Transaktionskosten").Value), CDbl(r.Cells("Transaktionskosten").Value), 0)
|
|
Next
|
|
|
|
txtAnzahl.Text = .Rows.Count
|
|
txtPruefsummeNetto.Text = CDbl(sumTr).ToString("C2")
|
|
txtPruefsummeBrutto.Text = CDbl(sumGes).ToString("C2")
|
|
txtTTRSum.Text = CDbl(sumFee).ToString("C2")
|
|
|
|
lblTTRSum.Visible = True
|
|
txtTTRSum.Visible = True
|
|
txtTTRSum._WaehrungZeichen = True
|
|
|
|
lblTTRSum.Text = "Tr-Kosten"
|
|
|
|
|
|
.ClearSelection()
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Sub initDgv_IDS()
|
|
With MyDatagridview1
|
|
.Columns.Clear()
|
|
'Exit Sub
|
|
'MsgBox(.sql)
|
|
|
|
.SET_SQL("SELECT trans.[transaction_id]
|
|
,trans.[YearMonthDay] as Datum
|
|
,trans.[Paymentsummarynumber] as ZahlungsNr
|
|
,trans.[CustomerCode]
|
|
,trans.[CustomerName]
|
|
,trans.[OutletCountryCode]
|
|
,trans.[OutletCountry]
|
|
,trans.[OutletCode]
|
|
,trans.[OutletName]
|
|
,prod.[ProductDescription] Produkt
|
|
,trans.ProductTypeCode
|
|
,trans.[TransactionVolume] as Liter
|
|
,trans.[AmminclVAT] as Gesamtbetrag
|
|
,trans.[TotalNetAmount] as Net
|
|
,trans.[VATAmount] as UST
|
|
,trans.[avpriceexclVAT]
|
|
,trans.[Rechenwert]
|
|
,trans.[Kz]
|
|
,trans.[Rabattbetrag]
|
|
,trans.[RabattbetragProLiter]
|
|
,trans.[Zeitstempel]
|
|
,trans.[Sachbearbeiter]
|
|
,trans.[KdNrVERAG]
|
|
,trans.[CardNumber]
|
|
,trans.[EmissionNumber]
|
|
,trans.[CardComments]
|
|
,trans.[CalendarDate]
|
|
,trans.[TransactionHHMM]
|
|
,trans.[UStVAn_ID]
|
|
,trans.[VRNumber]
|
|
,trans.[OBONumber]
|
|
,Kunde.KdNrVERAG as KundeCustomerCode
|
|
,isnull(KundeOhneR.CustomerCode,0) as KundeOhneRabatt
|
|
from tblIDSTransactionsNew as trans
|
|
left join tbl_IDS_Kunden as Kunde on Kunde.CustomerCode = trans.CustomerCode And Kunde.KdNrAlt = 0
|
|
left join tbl_IDS_Kunden_ohne_Rabatt as KundeOhneR on KundeOhneR.CustomerCode = trans.CustomerCode
|
|
left join tbl_IDS_Produkte as prod on prod.ProductTypeCode = trans.ProductTypeCode
|
|
where cast(trans.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0) = 0 AND trans.[UStVAn_ID] is null " & IIf(cbxIDSmitVerag.Checked, " ", "and Kunde.KdNrVERAG not in (756150, 711104) "), "FMZOLL")
|
|
|
|
.LOAD()
|
|
|
|
If .Columns.Count > 0 Then
|
|
|
|
'.Columns("AdressenNr").HeaderText = "KdNr"
|
|
'.Columns("Name 1").HeaderText = "Kunde"
|
|
'.Columns("LandKz").HeaderText = "Land"
|
|
.Columns("CustomerName").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
|
|
'.Columns("VERAGLeistungsNr").ReadOnly = False
|
|
.Columns("transaction_id").Visible = False
|
|
.Columns("KundeCustomerCode").Visible = False
|
|
.Columns("Datum").Visible = False
|
|
.Columns("KundeOhneRabatt").Visible = False
|
|
.Columns("UStVAn_ID").Visible = False
|
|
|
|
.Columns("OutletCountryCode").Visible = False
|
|
.Columns("OutletCode").Visible = False
|
|
|
|
.Columns("OutletName").Visible = False
|
|
.Columns("CalendarDate").Visible = False
|
|
|
|
.Columns("TransactionHHMM").Visible = False
|
|
.Columns("CalendarDate").Visible = False
|
|
.Columns("CardNumber").Visible = False
|
|
.Columns("CardComments").Visible = False
|
|
.Columns("EmissionNumber").Visible = False
|
|
.Columns("ProductTypeCode").Visible = False
|
|
|
|
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
|
|
End If
|
|
|
|
Dim sumGes As Double = 0
|
|
Dim sumFee As Double = 0
|
|
Dim sumTr As Double = 0
|
|
For Each r As DataGridViewRow In .Rows
|
|
sumGes += If(IsNumeric(r.Cells("Gesamtbetrag").Value), CDbl(r.Cells("Gesamtbetrag").Value), 0)
|
|
|
|
If (IsNumeric(r.Cells("Liter").Value)) Then
|
|
sumTr += CDbl(r.Cells("Liter").Value)
|
|
Else
|
|
sumTr += 0
|
|
End If
|
|
|
|
|
|
|
|
sumFee += If(IsNumeric(r.Cells("Net").Value), CDbl(r.Cells("Net").Value), 0)
|
|
Next
|
|
|
|
txtAnzahl.Text = .Rows.Count
|
|
txtPruefsummeNetto.Text = CDbl(sumFee).ToString("C2")
|
|
txtPruefsummeBrutto.Text = CDbl(sumGes).ToString("C2")
|
|
txtTTRSum.Text = CDbl(sumTr).ToString("C2")
|
|
|
|
lblTTRSum.Visible = True
|
|
txtTTRSum.Visible = True
|
|
txtTTRSum._WaehrungZeichen = False
|
|
|
|
lblTTRSum.Text = "Liter"
|
|
|
|
|
|
.ClearSelection()
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
Sub initDgv_ASFINAG(abgerechnet As Boolean, belegeErstellt As Boolean)
|
|
|
|
'datum = CDate(SQL.getValueTxtBySql("SELECT Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
|
|
Dim sqlString = " AND (TTRBody.abrechnungsdatum " & IIf(abgerechnet, "is not null)", "is null)")
|
|
sqlString &= " AND (TTRBody.belegerstellungsdatum " & IIf(belegeErstellt, "is not null)", "is null)")
|
|
With MyDatagridview1
|
|
.Columns.Clear()
|
|
'MsgBox(.sql)
|
|
|
|
.SET_SQL(" SELECT dbo.TTRBody.OBUID,dbo.TTRBody.CardNumber,dbo.TTRBody.receiptNumber,dbo.TTRBody.VATAmount,dbo.TTRBody.amountInclVAT,dbo.TTRBody.abrechnungsdatum,dbo.TTRBody.belegerstellungsdatum, dbo.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate
|
|
FROM dbo.CLFArchiv
|
|
RIGHT OUTER JOIN dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.OBUID
|
|
LEFT OUTER JOIN dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode
|
|
WHERE (dbo.TTRBody.PKHistory = 0) AND (dbo.TTRBody.PKFileName LIKE N'" & checkifTestfiles() & ".%')" & sqlString & "
|
|
ORDER BY dbo.TTRBody.CardNumber, dbo.TTRBody.FileCreationDate, dbo.TTRBody.PKHistory, dbo.TTRBody.PKFileName, dbo.TTRBody.PKLine", "ASFINAG")
|
|
.LOAD()
|
|
'MsgBox(.GET_SQL())
|
|
If .Columns.Count > 0 Then
|
|
|
|
.Columns("WarenartDE").HeaderText = "Warenart"
|
|
.Columns("vehicleLicensePlate").HeaderText = "LKW-KZ"
|
|
.Columns("OBUID").HeaderText = "OBUID"
|
|
.Columns("OBUID").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
|
|
.Columns("CardNumber").HeaderText = "Kartennummer"
|
|
.Columns("abrechnungsdatum").HeaderText = "Abrechnungsdatum"
|
|
.Columns("belegerstellungsdatum").HeaderText = "Belegerstellung am"
|
|
.Columns("receiptNumber").HeaderText = "Rechnungsnummer"
|
|
.Columns("VATAmount").HeaderText = "MWST"
|
|
.Columns("amountInclVAT").HeaderText = "Brutto"
|
|
|
|
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
|
|
|
|
End If
|
|
|
|
Dim sumBto As Double = 0
|
|
Dim sumNto As Double = 0
|
|
For Each r As DataGridViewRow In .Rows
|
|
sumBto += If(IsNumeric(r.Cells("amountInclVAT").Value), CDbl(r.Cells("amountInclVAT").Value), 0)
|
|
sumNto += If(IsNumeric(r.Cells("amountInclVAT").Value AndAlso r.Cells("VATAmount").Value), CDbl(r.Cells("amountInclVAT").Value) - r.Cells("VATAmount").Value, 0)
|
|
Next
|
|
|
|
txtAnzahl.Text = .Rows.Count
|
|
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
|
|
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
|
|
.ClearSelection()
|
|
|
|
End With
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
|
|
initLieferant("PLOSE", sender)
|
|
End Sub
|
|
|
|
Sub initLieferant(l As String, btn As Button)
|
|
MyDatagridview1.DataSource = Nothing
|
|
Me.LIEFERANT = l
|
|
Panel3.Controls.Clear()
|
|
|
|
For Each c As Button In FlowLayoutPanel.Controls
|
|
If c Is btn Then
|
|
c.BackColor = Color.Wheat
|
|
Else
|
|
c.BackColor = Color.FloralWhite
|
|
End If
|
|
Next
|
|
|
|
cbxASFINAGAbgerechnet.Visible = False
|
|
cbxBelegeerstellt.Visible = False
|
|
cbxTestdaten.Visible = VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("ADMIN", Me.FindForm)
|
|
pnlAsfinag.Visible = False
|
|
pnlIDS.Visible = False
|
|
Panel4.Visible = False
|
|
Panel5.Visible = False
|
|
cbxKopie.Visible = False
|
|
cbxIDSmitVerag.Visible = False
|
|
|
|
|
|
Select Case Me.LIEFERANT
|
|
Case "PLOSE"
|
|
Panel4.Visible = True
|
|
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
|
|
Panel3.Controls.Add(c)
|
|
c.Dock = DockStyle.Fill
|
|
Case "UTA"
|
|
Panel5.Visible = True
|
|
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
|
|
Panel3.Controls.Add(c)
|
|
c.Dock = DockStyle.Fill
|
|
Case "ASFINAG"
|
|
cbxASFINAGAbgerechnet.Visible = True
|
|
cbxBelegeerstellt.Visible = True
|
|
pnlAsfinag.Visible = True
|
|
checkImport(LIEFERANT)
|
|
Exit Sub
|
|
Case "IDS"
|
|
Panel5.Visible = True
|
|
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
|
|
Panel3.Controls.Add(c)
|
|
c.Dock = DockStyle.Fill
|
|
pnlIDS.Visible = True
|
|
cbxKopie.Visible = True
|
|
cbxIDSmitVerag.Visible = True
|
|
|
|
Case "MSE"
|
|
Panel5.Visible = True
|
|
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
|
|
Panel3.Controls.Add(c)
|
|
c.Dock = DockStyle.Fill
|
|
End Select
|
|
|
|
init()
|
|
End Sub
|
|
|
|
|
|
|
|
Function genRGAtt_PLOSE(ploseParam As cPLOSE) As Boolean
|
|
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("SELECT [AdressenNr],PLOSEKundenNr FROM tblPLOSE_Details INNER JOIN Adressen ON plose_POLSEKundennummer=PLOSEKundenNr where plose_Fakturiert = 0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' group by [AdressenNr],PLOSEKundenNr ", "FMZOLL")
|
|
'MsgBox("Keine Daten!""SELECT [AdressenNr],PLOSEKundenNr FROM tblPLOSE_Details INNER JOIN Adressen ON plose_POLSEKundennummer=PLOSEKundenNr where AND plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' group by [AdressenNr],PLOSEKundenNr ")
|
|
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten!")
|
|
Return False
|
|
End If
|
|
Dim cnt = 0
|
|
|
|
If ploseParam.ANLAGEN IsNot Nothing AndAlso Not Directory.Exists(ploseParam.ANLAGEN) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Anlagen nicht verfügbar" & IIf(ploseParam.ANLAGEN IsNot Nothing, vbNewLine & ploseParam.ANLAGEN, ""))
|
|
Return False
|
|
End If
|
|
|
|
If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
|
|
Dim dir = ploseParam.ANLAGEN & Now.ToShortDateString
|
|
|
|
If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
|
|
Directory.CreateDirectory(dir)
|
|
For Each R_PLOSE In dt_Main.Rows
|
|
|
|
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
|
Dim verarbOK = IIf(test, False, True)
|
|
If Not gen_SPEDBUCH_ByKdNr(R_PLOSE("AdressenNr"), SPEDBUCH, "PLOSE", R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, datPloseAnhang.Value) Then verarbOK = False
|
|
If Not gen_RECHNUNG_BySPEDBUCH(R_PLOSE("AdressenNr"), SPEDBUCH, "PLOSE", R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False
|
|
' ANHÄNGE WERDEN NCIHT BENÖTIGT::genPLOSEAttachmentByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, dir)
|
|
|
|
If verarbOK Then
|
|
'UPDATE Fakturiert
|
|
SQL.doSQL("UPDATE tblPLOSE_Details SET plose_FakturiertDatum=GETDATE() WHERE plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' AND plose_POLSEKundennummer='" & R_PLOSE("PLOSEKundenNr") & "' ", "FMZOLL")
|
|
End If
|
|
|
|
If True Then 'cnt Mod 10 = 0 Then
|
|
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
|
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
|
pbPloseAnh_Proz.Value = proz
|
|
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
|
'GroupBox12.Refresh()
|
|
My.Application.DoEvents()
|
|
End If
|
|
cnt += 1
|
|
Next
|
|
|
|
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
|
|
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren:
|
|
'Dim dirAnhang = "F:\FMZoll\Maut\PLOSE\Anlagen\"
|
|
'If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
|
|
' For Each f In Directory.GetFiles(dirAnhang)
|
|
' File.Delete(f)
|
|
' Next
|
|
'End If
|
|
'If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
|
|
|
|
'For Each f In Directory.GetFiles(dir)
|
|
' File.Copy(f, dirAnhang & (New FileInfo(f)).Name)
|
|
'Next
|
|
|
|
'IN FMZOLL / DB MautD einfügen --> Mautbericht
|
|
'genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
|
|
|
|
|
|
pbPloseAnh_Proz.Value = 100
|
|
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
|
lblPloseAnh_Proz.Text = "100.00 %"
|
|
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
Function genRGAtt_UTA(utaParam As cUTA) As Boolean
|
|
Dim top = ""
|
|
'top = " TOP 20 "
|
|
Dim SQLStr = " SELECT Kundennummer AS [Customer ID], KundenNr AS [Customer Nr], UTAExportCSV,Rechnungsdruck
|
|
FROM tblUTAFakturierwarenarten
|
|
INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer)
|
|
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
|
|
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
|
|
where isnull(charged,0) = 0 and cast([Rechnungsdatum] as date) = '" & DateTimePicker2.Text & "' and Adressen.AdressenNr not in(756150, 711104) " & IIf(test, " and KundenNr = 402352 or KundenNr = 402421 ", "") &
|
|
" group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck"
|
|
|
|
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
|
|
|
|
|
|
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten!")
|
|
Return False
|
|
End If
|
|
If utaParam.ANLAGEN IsNot Nothing AndAlso Not Directory.Exists(utaParam.ANLAGEN) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Anlagen nicht verfügbar" & IIf(utaParam.ANLAGEN IsNot Nothing, vbNewLine & utaParam.ANLAGEN, ""))
|
|
Return False
|
|
End If
|
|
|
|
If utaParam.ARCHIV IsNot Nothing AndAlso Not Directory.Exists(utaParam.ARCHIV) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Archiv nicht verfügbar" & IIf(utaParam.ARCHIV IsNot Nothing, vbNewLine & utaParam.ARCHIV, ""))
|
|
Return False
|
|
End If
|
|
|
|
Dim cnt = 0
|
|
If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
|
|
|
|
Dim dir = IIf(test, utaParam.ARCHIV & "TEST\", utaParam.ARCHIV) & Now.ToShortDateString & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test\", "")
|
|
|
|
If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
|
|
Directory.CreateDirectory(dir)
|
|
|
|
|
|
Dim displayView = New DataView(dt_Main, "UTAExportCSV = 1", "Customer ID", DataViewRowState.CurrentRows)
|
|
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "Customer ID", "Customer Nr")
|
|
|
|
|
|
For Each csv As DataRow In distinctDT_CSV.Rows
|
|
|
|
Dim dt_CSV_selected = SQL.loadDgvBySql_Param("SELECT * FROM tblUTAImportNew where [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & csv.Item("Customer ID"), "FMZOLL")
|
|
dt_CSV_selected.ParentRelations.Clear()
|
|
dt_CSV_selected.ChildRelations.Clear()
|
|
dt_CSV_selected.Constraints.Clear()
|
|
If dt_CSV_selected.Columns.Contains("upsize_ts") Then dt_CSV_selected.Columns.Remove("upsize_ts")
|
|
If dt_CSV_selected.Columns.Contains("archiv") Then dt_CSV_selected.Columns.Remove("archiv")
|
|
If dt_CSV_selected.Columns.Contains("daId") Then dt_CSV_selected.Columns.Remove("daId")
|
|
If dt_CSV_selected.Columns.Contains("chargedDatetime") Then dt_CSV_selected.Columns.Remove("chargedDatetime")
|
|
If dt_CSV_selected.Columns.Contains("charged") Then dt_CSV_selected.Columns.Remove("charged")
|
|
|
|
|
|
Dim fn As String = dir & "\" & csv.Item(1) & "_Maut_UTA.csv"
|
|
Dim outFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
|
|
Dim clmns As String = ""
|
|
For i = 0 To dt_CSV_selected.Columns.Count - 1
|
|
clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ",") & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
For i = 0 To dt_CSV_selected.Rows.Count - 1
|
|
clmns = ""
|
|
For j = 0 To dt_CSV_selected.Columns.Count - 1
|
|
clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ",") & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
|
|
Next
|
|
outFile.Close()
|
|
Next
|
|
|
|
|
|
For Each uta In dt_Main.Rows
|
|
|
|
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
|
Dim verarbOK = IIf(test, False, True)
|
|
Dim RECHNUNG As cRechnungsausgang = Nothing
|
|
|
|
|
|
If Not gen_SPEDBUCH_ByKdNr(uta("Customer Nr"), SPEDBUCH, "UTA",,,, datPloseAnhang.Value) Then verarbOK = False
|
|
If Not gen_RECHNUNG_BySPEDBUCH(uta("Customer Nr"), SPEDBUCH, "UTA",,,, RECHNUNG) Then verarbOK = False
|
|
|
|
Dim pathFile = genUTAAttachmentByKdNr(uta("Customer Nr"), uta("Customer ID"), dir, datPloseAnhang.Value)
|
|
If Not AddAttachementToRE(pathFile, uta("Customer Nr"), RECHNUNG, "UTA") Then verarbOK = False
|
|
|
|
Dim customerNrwithCSV As Integer = distinctDT_CSV.AsEnumerable().Where(Function(res) res.Field(Of Integer)("Customer ID") = uta("Customer ID")).Select(Function(res) res.Field(Of Integer)("Customer Nr")).FirstOrDefault()
|
|
If customerNrwithCSV > 0 Then
|
|
For Each f In Directory.GetFiles(dir)
|
|
If f.Contains(customerNrwithCSV & "_Maut_UTA.csv") Then
|
|
Dim FileCSV = New FileInfo(f)
|
|
If Not AddAttachementToRE(FileCSV.FullName, uta("Customer Nr"), RECHNUNG, "UTA") Then
|
|
verarbOK = False
|
|
Else
|
|
Exit For
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
End If
|
|
If verarbOK Then
|
|
'UPDATE Fakturiert
|
|
SQL.doSQL("UPDATE [tblUTAImportNew] set chargedDatetime=GETDATE() where chargedDatetime is null and [Rechnungsdatum] = '" & DateTimePicker2.Text & "' and Kundennummer = " & uta("Customer ID"), "FMZOLL")
|
|
End If
|
|
If True Then 'cnt Mod 10 = 0 Then
|
|
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
|
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
|
pbPloseAnh_Proz.Value = proz
|
|
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
|
'GroupBox12.Refresh()
|
|
My.Application.DoEvents()
|
|
End If
|
|
cnt += 1
|
|
Next
|
|
If test Then Return True
|
|
|
|
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
|
|
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
|
|
Dim dirAnhang = IIf(test, utaParam.ANLAGEN & "TEST\", utaParam.ANLAGEN)
|
|
If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
|
|
For Each f In Directory.GetFiles(dirAnhang)
|
|
Try
|
|
File.Delete(f)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
End If
|
|
If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
|
|
For Each f In Directory.GetFiles(dir)
|
|
File.Copy(f, dirAnhang & (New FileInfo(f)).Name, True)
|
|
Next
|
|
pbPloseAnh_Proz.Value = 100
|
|
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
|
lblPloseAnh_Proz.Text = "100.00 %"
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Function
|
|
Function genRGAtt_MSE(mseParam As cMSEAPI) As Boolean
|
|
Dim top = ""
|
|
'top = " TOP 20 "
|
|
Dim sqlWhere = ""
|
|
|
|
Dim SQLStr = " SELECT distinct cust.customer_id as [Customer ID], Adressen.AdressenNr AS [Customer Nr], Adressen.MSEExportCSV, Adressen.Rechnungsdruck
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
left join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0)= 0 and (trans.transaction_gross_amount <> 0 or trans.[msts_fee_amount] <> 0) and Adressen.AdressenNr not in (756150, 711104) " & sqlWhere & "
|
|
order by cust.customer_id"
|
|
|
|
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
|
|
|
|
|
|
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten!")
|
|
Return False
|
|
End If
|
|
|
|
If mseParam.ARCHIV Is Nothing OrElse Not Directory.Exists(mseParam.ARCHIV) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Archiv nicht verfügbar" & IIf(mseParam.ARCHIV IsNot Nothing, vbNewLine & mseParam.ARCHIV, ""))
|
|
Return False
|
|
End If
|
|
|
|
If mseParam.ANLAGEN Is Nothing OrElse Not Directory.Exists(mseParam.ANLAGEN) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Anlagen nicht verfügbar" & IIf(mseParam.ANLAGEN IsNot Nothing, vbNewLine & mseParam.ANLAGEN, ""))
|
|
Return False
|
|
End If
|
|
|
|
Dim cnt = 0
|
|
If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
|
|
|
|
Dim dir = IIf(test, mseParam.ARCHIV & "TEST\", mseParam.ARCHIV) & Now.ToShortDateString & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test\", "")
|
|
|
|
If Directory.Exists(dir) Then
|
|
dir &= "_" & Now.ToShortTimeString.Replace(":", "")
|
|
End If
|
|
Directory.CreateDirectory(dir)
|
|
|
|
|
|
Dim displayView = New DataView(dt_Main, "MSEExportCSV = 1", "Customer ID", DataViewRowState.CurrentRows)
|
|
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "Customer ID", "Customer Nr")
|
|
|
|
|
|
For Each csv As DataRow In distinctDT_CSV.Rows
|
|
|
|
Dim dt_CSV_selected = SQL.loadDgvBySql_Param("
|
|
SELECT controller_id as [Controller ID], 'VERAG 360 GmbH' as [Controller Name] , inv.[invoice_id] as [Invoice ID], inv.invoice_date as [Invoice Date],
|
|
cust.customer_id as [Customer ID], cust.partner_customer_number as [Customer No], cust.customer_name as [Customer name], bills.specification_page_name as [Specification Page], bills.specification_page_id as [Specification ID], trans.purchase_datetime as [Transaction date], trans.transaction_id as [Transaction ID],
|
|
trans.supplier_name as [Transaction Supplier/Terminal], trans.transaction_country as [Transaction Country], trans.transaction_product_name as [Product description], trans.transaction_product_id as [Product Description ID], trans.device_product_type as [Card Type], trans.device_product_number as [Card number], trans.license_plate_number as [Load File Licence Plate Number],
|
|
'' as [Card Licence Plate Number], trans.license_plate_number as [Truck Licence Plate Number], '' as [Truck Fleet Code], '' as [Truck Driver Name], trans.entry_point_name as [Entry Terminal/Direction], trans.entry_datetime as [Start date], trans.entry_datetime as [Start Time], trans.exit_point_name as [Exit Terminal Description], trans.exit_datetime as [End Date], trans.exit_datetime as [End Time],
|
|
'' as [Eurovignet K-Number], '' as [LKW-Kostenstelle], trans.original_net_amount as [Original Nett Amount], trans.original_vat_amount as [Original VAT Amount], trans.original_gross_amount as [Original Amount], trans.original_currency as [Original Currency],
|
|
trans.transaction_gross_amount as [Transaction Amount ( EUR )], trans.msts_fee_amount as [Admin Fee Amount ( EUR )], '' as [Fees and Costs Amount ( EUR )], trans.msts_vat_amount as [VAT Amount ( EUR )],trans.total_gross_amount as [Total Amount ( EUR )], '' as [Total Dutch VAT ( EUR )], '' as [Total Foreign VAT ( EUR )], trans.[USteuer_EUR] as [USteuer_EUR]
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0)= 0 and (trans.transaction_gross_amount <> 0 or [msts_fee_amount] <> 0) and cust.[customer_id] = " & csv.Item("Customer ID"), "FMZOLL")
|
|
|
|
dt_CSV_selected.ParentRelations.Clear()
|
|
dt_CSV_selected.ChildRelations.Clear()
|
|
dt_CSV_selected.Constraints.Clear()
|
|
|
|
|
|
Dim fn As String = dir & "\" & csv.Item("Customer Nr") & "_Maut_MSE.csv"
|
|
Dim outFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
|
|
Dim clmns As String = ""
|
|
For i = 0 To dt_CSV_selected.Columns.Count - 1
|
|
clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ", ") & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
For i = 0 To dt_CSV_selected.Rows.Count - 1
|
|
clmns = ""
|
|
For j = 0 To dt_CSV_selected.Columns.Count - 1
|
|
clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ", ") & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
Next
|
|
outFile.Close()
|
|
Next
|
|
|
|
|
|
For Each MSE In dt_Main.Rows
|
|
|
|
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
|
Dim verarbOK = IIf(test, False, True)
|
|
Dim RECHNUNG As cRechnungsausgang = Nothing
|
|
|
|
If Not gen_SPEDBUCH_ByKdNr(MSE("Customer Nr"), SPEDBUCH, "MSE",,,, datPloseAnhang.Value) Then verarbOK = False
|
|
If Not gen_RECHNUNG_BySPEDBUCH(MSE("Customer Nr"), SPEDBUCH, "MSE",,,, RECHNUNG) Then verarbOK = False
|
|
|
|
Dim pathfilePDF = genMSEAttachmentByKdNr(MSE("Customer Nr"), MSE("Customer ID"), dir, datPloseAnhang.Value)
|
|
If Not AddAttachementToRE(pathfilePDF, MSE("Customer Nr"), RECHNUNG, "MSE") Then verarbOK = False
|
|
|
|
If Directory.Exists(dir) Then
|
|
For Each f In Directory.GetFiles(dir)
|
|
If f.Contains(MSE("Customer Nr") & "_Maut_MSE.csv") Then
|
|
Dim pathFileCSV As String = New FileInfo(f).FullName
|
|
If Not AddAttachementToRE(pathFileCSV, MSE("Customer Nr"), RECHNUNG, "MSE") Then verarbOK = False
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
|
|
|
|
If verarbOK Then
|
|
'Update Fakturiert
|
|
SQL.doSQL("UPDATE [tblMSETransactions] Set chargedDatetime = GETDATE()
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
inner join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
inner join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and trans.chargedDatetime is null and cust.[customer_id] = " & MSE("Customer ID"), "FMZOLL")
|
|
|
|
End If
|
|
|
|
If True Then 'cnt Mod 10 = 0 Then
|
|
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
|
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
|
pbPloseAnh_Proz.Value = proz
|
|
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
|
'GroupBox12.Refresh()
|
|
My.Application.DoEvents()
|
|
End If
|
|
cnt += 1
|
|
Next
|
|
|
|
If test Then Return True
|
|
|
|
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
|
|
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
|
|
Dim dirAnhang = IIf(test, mseParam.ANLAGEN & "TEST\", mseParam.ANLAGEN) & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") & Now.ToShortDateString
|
|
If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
|
|
For Each f In Directory.GetFiles(dirAnhang)
|
|
Try
|
|
File.Delete(f)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
Else
|
|
Directory.CreateDirectory(dirAnhang)
|
|
End If
|
|
|
|
For Each f In Directory.GetFiles(dir)
|
|
File.Copy(f, dirAnhang & "\" & (New FileInfo(f)).Name, True)
|
|
Next
|
|
|
|
'IN FMZOLL / DB MautD einfügen --> Mautbericht
|
|
'genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
|
|
|
|
pbPloseAnh_Proz.Value = 100
|
|
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
|
lblPloseAnh_Proz.Text = "100.00 %"
|
|
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Function genRGAtt_IDS(art As String, idsParam As cIDS) As Boolean
|
|
|
|
Dim top = ""
|
|
Dim sqlWhere = ""
|
|
Select Case art
|
|
Case "IDS" : sqlWhere = " AND tblIDSTransactionsNew.OutletCountryCode<>740543" & IIf(Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, " AND Adressen.AdressenNr = 204055 ", "")
|
|
Case "IDS_AT" : sqlWhere = " AND tblIDSTransactionsNew.OutletCountryCode=740543" & IIf(Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, " AND Adressen.AdressenNr = 204055 ", "")
|
|
Case Else
|
|
MsgBox("falscher Typ!") : Return False
|
|
|
|
End Select
|
|
|
|
Dim SQLStr = " SELECT
|
|
distinct(tblIDSTransactionsNew.KdNrVERAG),
|
|
tblIDSTransactionsNew.CustomerCode,
|
|
Adressen.Rechnungsdruck,
|
|
isNULL(tblIDSInvoicesNew.daId,0) as InvoiceID
|
|
FROM
|
|
tblIDSTransactionsNew
|
|
INNER JOIN
|
|
Adressen
|
|
ON tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
|
LEFT JOIN
|
|
tblIDSInvoicesNew
|
|
on tblIDSInvoicesNew.CustomerCode = tblIDSTransactionsNew.CustomerCode and tblIDSInvoicesNew.Invoicenumber = Paymentsummarynumber
|
|
WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and isnull(charged,0) = 0 and Adressen.AdressenNr not in (756150, 711104) " & sqlWhere & "
|
|
order by tblIDSTransactionsNew.KdNrVERAG"
|
|
|
|
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
|
|
|
|
|
|
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten!")
|
|
Return False
|
|
End If
|
|
|
|
|
|
If idsParam.ANLAGEN Is Nothing OrElse Not Directory.Exists(idsParam.ANLAGEN) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Anlagen nicht verfügbar" & IIf(idsParam.ANLAGEN IsNot Nothing, vbNewLine & idsParam.ANLAGEN, ""))
|
|
Return False
|
|
End If
|
|
|
|
If idsParam.ARCHIV Is Nothing OrElse Not Directory.Exists(idsParam.ARCHIV) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Archiv nicht verfügbar" & IIf(idsParam.ARCHIV IsNot Nothing, vbNewLine & idsParam.ARCHIV, ""))
|
|
Return False
|
|
End If
|
|
|
|
Dim cnt = 0
|
|
If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
|
|
|
|
Dim dir = IIf(test, idsParam.ARCHIV & "TEST\", idsParam.ARCHIV) & Now.ToShortDateString & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "")
|
|
|
|
If Not Directory.Exists(dir) Then
|
|
Directory.CreateDirectory(dir)
|
|
End If
|
|
|
|
For Each IDS In dt_Main.Rows
|
|
|
|
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
|
Dim verarbOK = IIf(test, False, True)
|
|
Dim RECHNUNG As cRechnungsausgang = Nothing
|
|
|
|
If Not gen_SPEDBUCH_ByKdNr(IDS("KdNrVERAG"), SPEDBUCH, art,,,, datPloseAnhang.Value) Then verarbOK = False
|
|
If Not gen_RECHNUNG_BySPEDBUCH(IDS("KdNrVERAG"), SPEDBUCH, art,,,, RECHNUNG) Then verarbOK = False
|
|
|
|
If IDS("Rechnungsdruck") = 2 Then
|
|
|
|
Dim pathfile = genIDSAttachmentByKdNr(IDS("KdNrVERAG"), IDS("CustomerCode"), dir, datPloseAnhang.Value, art)
|
|
If Not AddAttachementToRE(pathfile, IDS("KdNrVERAG"), RECHNUNG, "IDS") Then verarbOK = False
|
|
|
|
End If
|
|
|
|
If IDS("InvoiceID") > 0 Then
|
|
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER(IDS("InvoiceID"))
|
|
If cbxKopie.Checked Then
|
|
|
|
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
|
|
|
|
Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager
|
|
Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues)
|
|
|
|
For page As Integer = 1 To pdfReader.NumberOfPages
|
|
listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues("COPY ", 175, 38, 300, 20, "bold", 20, , itextsharp.text.Element.ALIGN_LEFT, page))
|
|
Next
|
|
|
|
pdfReader.Close()
|
|
|
|
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
|
|
|
|
If Not AddAttachementToRE(PdfTmp, IDS("KdNrVERAG"), RECHNUNG, "IDS") Then verarbOK = False
|
|
|
|
File.Copy(PdfTmp, dir & "\" & IDS("KdNrVERAG") & "_" & (DS.da_name), True)
|
|
|
|
|
|
Else
|
|
File.Copy(DS.GET_TOP1_PATH, dir & "\" & IDS("KdNrVERAG") & "_" & (DS.da_name), True)
|
|
End If
|
|
End If
|
|
|
|
|
|
If verarbOK Then
|
|
SQL.doSQL("UPDATE [tblIDSTransactionsNew] Set chargedDatetime = GETDATE()
|
|
where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and tblIDSTransactionsNew.KdNrVERAG = " & IDS("KdNrVERAG") & sqlWhere, "FMZOLL")
|
|
End If
|
|
|
|
If True Then 'cnt Mod 10 = 0 Then
|
|
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
|
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
|
pbPloseAnh_Proz.Value = proz
|
|
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
|
'GroupBox12.Refresh()
|
|
My.Application.DoEvents()
|
|
End If
|
|
cnt += 1
|
|
Next
|
|
|
|
If test Then Return True
|
|
|
|
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
|
|
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
|
|
Dim dirAnhang = IIf(test, idsParam.ANLAGEN & "TEST\", idsParam.ANLAGEN) & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") & Now.ToShortDateString
|
|
If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
|
|
For Each f In Directory.GetFiles(dirAnhang)
|
|
Try
|
|
File.Delete(f)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
Next
|
|
Else
|
|
Directory.CreateDirectory(dirAnhang)
|
|
End If
|
|
|
|
For Each f In Directory.GetFiles(dir)
|
|
File.Copy(f, dirAnhang & "\" & (New FileInfo(f)).Name, True)
|
|
Next
|
|
|
|
pbPloseAnh_Proz.Value = 100
|
|
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
|
lblPloseAnh_Proz.Text = "100.00 %"
|
|
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
Function genRGAtt_ASFINAG(belegerstellungsdatum As DateTime, abrechnungsdatum As Date, inputKdNr As String, asfinagParam As cAsfinagMaut) As Boolean
|
|
|
|
If cbxASFINAGAbgerechnet.Checked = False Then
|
|
MsgBox("Bitte abgerechnete Daten auswählen!")
|
|
Return False
|
|
End If
|
|
Dim sqlWhere As String = ""
|
|
If inputKdNr <> "" Then
|
|
sqlWhere &= " AND Adressen.AdressenNr=" & inputKdNr
|
|
End If
|
|
|
|
|
|
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("SELECT KundenNr, cardnumber FROM (SELECT Kreditkarten.KartenNr AS Kartennummer, Adressen.AdressenNr AS KundenNr FROM Adressen INNER JOIN Kreditkarten ON Adressen.AdressenNr = Kreditkarten.AdressenNr) as KUK INNER JOIN [tblAsfinagMaut] as Maut ON KUK.Kartennummer = Maut.cardnumber INNER JOIN Adressen ON KUK.KundenNr = Adressen.AdressenNr where Maut.receiptCreated = 0" & sqlWhere & "Group by KundenNr, cardnumber ", "FMZOLL")
|
|
|
|
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
|
|
MsgBox("Keine Abrechnungsdaten vorhanden" & IIf(inputKdNr <> "", " für KundenNr: " & inputKdNr, "!"))
|
|
Return False
|
|
End If
|
|
|
|
|
|
Dim dt_Main_PDF As DataTable = SQL.loadDgvBySql_Param("SELECT Maut.cardnumber, Maut.licenceplate, Maut.turnoverdate, Maut.contractPartner, Maut.netAmount, Maut.VATamount, Maut.totalAmount, Maut.[additionalData],Maut.receiptNumber, KUK.KundenNr, KUK.[Name 1] FROM (
|
|
SELECT Kreditkarten.KartenNr AS Kartennummer, Adressen.AdressenNr AS KundenNr, Adressen.[Name 1]
|
|
FROM Adressen INNER JOIN Kreditkarten ON Adressen.AdressenNr = Kreditkarten.AdressenNr) as KUK
|
|
INNER JOIN [tblAsfinagMaut] as Maut ON KUK.Kartennummer = Maut.cardnumber
|
|
INNER JOIN Adressen ON KUK.KundenNr = Adressen.AdressenNr
|
|
WHERE 1 = 1" & sqlWhere, "FMZOLL")
|
|
|
|
|
|
Dim dt_Main_CSV As DataTable = SQL.loadDgvBySql_Param("SELECT Adressen.AdressenNr, Maut.*
|
|
FROM Adressen INNER JOIN (Kreditkarten INNER JOIN tblAsfinagMaut as Maut ON Kreditkarten.KartenNr = Maut.cardnumber) ON Adressen.AdressenNr = Kreditkarten.AdressenNr
|
|
WHERE Adressen.ASFINAGExportCSV = 1 " & sqlWhere & "
|
|
ORDER BY Adressen.AdressenNr, Maut.cardnumber, Maut.licenceplate, Maut.turnoverdate", "FMZOLL")
|
|
|
|
|
|
If asfinagParam.ANLAGEN Is Nothing OrElse Not Directory.Exists(asfinagParam.ANLAGEN) Then
|
|
MsgBox("Pfad für " & LIEFERANT & "-Anlagen nicht verfügbar" & IIf(asfinagParam.ANLAGEN IsNot Nothing, vbNewLine & asfinagParam.ANLAGEN, ""))
|
|
Return False
|
|
End If
|
|
|
|
|
|
Dim cnt = 0
|
|
|
|
Dim displayViewKunden = New DataView(dt_Main, "", "KundenNr", DataViewRowState.CurrentRows)
|
|
Dim distinctDT_distKunden As DataTable = displayViewKunden.ToTable(True, "KundenNr")
|
|
|
|
Dim Info As String = ""
|
|
If inputKdNr = "" Then
|
|
Info = "Es wurden " & MyDatagridview1.Rows.Count & " Transaktionen von " & dt_Main.Rows.Count & " Kunden gefunden"
|
|
Else
|
|
Dim countTrans = SQL.getValueTxtBySql("SELECT count(cardnumber) FROM (SELECT Kreditkarten.KartenNr AS Kartennummer, Adressen.AdressenNr AS KundenNr FROM Adressen INNER JOIN Kreditkarten ON Adressen.AdressenNr = Kreditkarten.AdressenNr) as KUK INNER JOIN [tblAsfinagMaut] as Maut ON KUK.Kartennummer = Maut.cardnumber INNER JOIN Adressen ON KUK.KundenNr = Adressen.AdressenNr where Maut.receiptCreated = 0" & sqlWhere, "FMZOLL")
|
|
Info = "Es wurden " & countTrans & " Transaktionen von " & dt_Main.Rows.Count & " Kunden gefunden "
|
|
End If
|
|
|
|
If vbYes = MsgBox(Info & vbNewLine & "Möchten Sie die Rechnungen + Anhänge erstellen?", vbYesNoCancel) Then
|
|
|
|
Dim dir = asfinagParam.ANLAGEN & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "\Test", "")
|
|
|
|
If Not Directory.Exists(dir) Then
|
|
Directory.CreateDirectory(dir)
|
|
End If
|
|
|
|
|
|
If dt_Main_PDF IsNot Nothing AndAlso dt_Main_PDF.Rows.Count > 0 Then
|
|
|
|
Dim displayView = New DataView(dt_Main_PDF, "", "KundenNr", DataViewRowState.CurrentRows)
|
|
Dim distinctDT_PDF As DataTable = displayView.ToTable(True, "KundenNr")
|
|
|
|
|
|
For Each pdf As DataRow In distinctDT_PDF.Rows
|
|
|
|
Dim dt_PDF_selected = dt_Main_PDF.Select("KundenNr ='" & pdf.Item(0) & "'").CopyToDataTable
|
|
|
|
genASFINAGAttachmentByKdNr(pdf.Item(0), dt_PDF_selected, dir & "\" & pdf.Item(0) & "_Maut_AT.pdf")
|
|
|
|
Next
|
|
|
|
End If
|
|
|
|
|
|
If dt_Main_CSV IsNot Nothing AndAlso dt_Main_CSV.Rows.Count > 0 Then
|
|
|
|
Dim displayView = New DataView(dt_Main_CSV, "", "AdressenNr", DataViewRowState.CurrentRows)
|
|
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "AdressenNr")
|
|
|
|
|
|
For Each csv As DataRow In distinctDT_CSV.Rows
|
|
|
|
Dim dt_CSV_selected = dt_Main_CSV.Select("AdressenNr ='" & csv.Item(0) & "'").CopyToDataTable
|
|
|
|
|
|
Dim fn As String = dir & "\" & csv.Item(0) & "_Maut_AT.csv"
|
|
Dim outFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
|
|
Dim clmns As String = ""
|
|
For i = 0 To dt_CSV_selected.Columns.Count - 1
|
|
clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ",") & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
For i = 0 To dt_CSV_selected.Rows.Count - 1
|
|
clmns = ""
|
|
For j = 0 To dt_CSV_selected.Columns.Count - 1
|
|
clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ",") & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
|
|
Next
|
|
outFile.Flush()
|
|
outFile.Close()
|
|
Next
|
|
End If
|
|
|
|
|
|
|
|
For Each R_ASFINAG In distinctDT_distKunden.Rows
|
|
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
|
|
Dim verarbOK = IIf(test, False, True)
|
|
Dim RECHNUNG As cRechnungsausgang = Nothing
|
|
If Not gen_SPEDBUCH_ByKdNr(R_ASFINAG("KundenNr"), SPEDBUCH, "ASFINAG",,,, abrechnungsdatum) Then verarbOK = False
|
|
If Not gen_RECHNUNG_BySPEDBUCH(R_ASFINAG("KundenNr"), SPEDBUCH, "ASFINAG",,,, RECHNUNG) Then verarbOK = False
|
|
|
|
If Directory.Exists(dir) Then
|
|
For Each f In Directory.GetFiles(dir)
|
|
If f.Contains(R_ASFINAG("KundenNr") & "_Maut_AT.csv") Then
|
|
Dim pathFileCSV As String = New FileInfo(f).FullName
|
|
If Not AddAttachementToRE(pathFileCSV, R_ASFINAG("KundenNr"), RECHNUNG, "ASFINAG") Then verarbOK = False
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
|
|
If Directory.Exists(dir) Then
|
|
For Each f In Directory.GetFiles(dir)
|
|
If f.Contains(R_ASFINAG("KundenNr") & "_Maut_AT.pdf") Then
|
|
Dim pathFilePDF As String = New FileInfo(f).FullName
|
|
If Not AddAttachementToRE(pathFilePDF, R_ASFINAG("KundenNr"), RECHNUNG, "ASFINAG") Then verarbOK = False
|
|
End If
|
|
Next
|
|
|
|
End If
|
|
|
|
If verarbOK Then
|
|
|
|
If inputKdNr <> "" Then
|
|
Dim result As DataRow() = dt_Main.Select("KundenNr ='" & R_ASFINAG("KundenNr") & "'")
|
|
For Each row As DataRow In result
|
|
SQL.doSQL("UPDATE dbo.TTRBody SET belegerstellungsdatum = '" & belegerstellungsdatum & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <='" & belegerstellungsdatum & "') AND (abrechnungsdatum = '" & abrechnungsdatum & "') And belegerstellungsdatum is null And CardNumber = " & row.Item("cardnumber") & "", "ASFINAG")
|
|
Next
|
|
|
|
Else
|
|
SQL.doSQL("UPDATE dbo.TTRBody SET belegerstellungsdatum = '" & belegerstellungsdatum & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <='" & belegerstellungsdatum & "') AND (abrechnungsdatum = '" & abrechnungsdatum & "') And belegerstellungsdatum is null", "ASFINAG")
|
|
End If
|
|
|
|
|
|
Dim results As DataRow() = dt_Main.Select("KundenNr ='" & R_ASFINAG("KundenNr") & "'")
|
|
For Each r As DataRow In results
|
|
SQL.doSQL("UPDATE [tblAsfinagMaut] SET receiptCreated = 1 WHERE cardnumber = " & r.Item("cardnumber") & " AND receiptCreated = 0", "FMZOLL")
|
|
Next
|
|
End If
|
|
|
|
If True Then 'cnt Mod 10 = 0 Then
|
|
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
|
|
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
|
|
pbPloseAnh_Proz.Value = proz
|
|
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
|
|
'GroupBox12.Refresh()
|
|
My.Application.DoEvents()
|
|
End If
|
|
cnt += 1
|
|
Next
|
|
|
|
If test Then Return True
|
|
|
|
|
|
Dim dirCSV = asfinagParam.ANLAGEN & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test\", "")
|
|
|
|
If Not Directory.Exists(dirCSV) Then
|
|
Directory.CreateDirectory(dirCSV)
|
|
End If
|
|
|
|
For Each f In Directory.GetFiles(dir)
|
|
If f.EndsWith(".csv") Then File.Copy(f, dirCSV & (New FileInfo(f)).Name, True)
|
|
Next
|
|
|
|
pbPloseAnh_Proz.Value = 100
|
|
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
|
|
lblPloseAnh_Proz.Text = "100.00 %"
|
|
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Function genPLOSEInsertMautD(von As Date, bis As Date) As Boolean
|
|
Try
|
|
pic.Visible = False
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
sqlstr &= " SELECT 'PLOSE',AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,isnull([tblPLOSE_Produktbeschreibung].plp_Description_EN,plose_Produktbeschreibung) as plose_Produktbeschreibung ,isnull(plose_NummerKarteGeraet,plose_Kontonummer) as plose_NummerKarteGeraet ,plose_BeschreibungEinfahrt,case when plose_BeschreibungAusfahrt is null and plose_BeschreibungMautTankstelle = 'Bregana' then 'Bregana' else isnull(plose_BeschreibungAusfahrt,'') end as plose_BeschreibungAusfahrt,plose_NettobetragWaehrungAbbuchung,(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,plose_BruttobetragWaehrungAbbuchung "
|
|
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr and plp_LeistungsNr is not null "
|
|
sqlstr &= " WHERE 1=1 "
|
|
sqlstr &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
|
|
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
|
|
sqlstr &= " order by plp_Land, plose_DatumTransaktion"
|
|
|
|
|
|
' sqlstr &= " group by plose_ProduktCode"
|
|
' MsgBox(sqlstr)
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
Dim sqlstrAT As String = ""
|
|
|
|
sqlstrAT &= " SELECT 'PLOSE',AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,'' as plose_Produktbeschreibung ,plose_NummerKarteGeraet as plose_NummerKarteGeraet ,'' as plose_BeschreibungEinfahrt,'' as plose_BeschreibungAusfahrt,sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung,sum(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,sum(plose_BruttobetragWaehrungAbbuchung ) as plose_BruttobetragWaehrungAbbuchung "
|
|
sqlstrAT &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr and plp_LeistungsNr is not null "
|
|
sqlstrAT &= " WHERE 1=1 "
|
|
sqlstrAT &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land IN ('AT','DE') "
|
|
sqlstrAT &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
|
|
sqlstrAT &= " group by plp_Land, AdressenNr, plose_Kennzeichen,plose_DatumTransaktion,plose_NummerKarteGeraet"
|
|
sqlstrAT &= " order by plp_Land"
|
|
|
|
|
|
' sqlstr &= " group by plose_ProduktCode"
|
|
' MsgBox(sqlstr)
|
|
Dim dtAT As DataTable = SQL.loadDgvBySql_Param(sqlstrAT, "FMZOLL")
|
|
|
|
|
|
'AT ---> Gruppiert
|
|
If dtAT IsNot Nothing AndAlso dtAT.Rows.Count > 0 Then
|
|
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
|
dt = dtAT
|
|
Else
|
|
For Each r In dtAT.Rows
|
|
dt.Rows.Add({r(0), r(1), r(2), r(3), r(4), r(5), r(6), r(7), r(8), r(9), r(10), r(11)})
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
Dim connectionString = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accd"
|
|
Else
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
|
|
End If
|
|
|
|
Dim con As New OleDbConnection(connectionString)
|
|
|
|
Dim cmd As New OleDbCommand
|
|
Dim var1 As String
|
|
|
|
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
|
|
Dim reader As OleDbDataReader = Nothing
|
|
|
|
|
|
|
|
If dt IsNot Nothing Then
|
|
con.Open()
|
|
For Each r In dt.Rows
|
|
Try
|
|
|
|
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
|
|
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "','" & r(7).ToString.Replace("'", " ") & "','" & r(8).ToString.Replace("'", " ") & "'," & CDbl(r(9)).ToString.Replace(",", ".") & "," & CDbl(r(10)).ToString.Replace(",", ".") & "," & CDbl(r(11)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
|
|
|
|
'Zeitstempel
|
|
Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
|
|
' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
|
|
Using Command As New OleDbCommand(SQLQuery, con)
|
|
|
|
Command.Parameters.AddWithValue("@P1", r(0))
|
|
Command.Parameters.AddWithValue("@P2", r(1))
|
|
Command.Parameters.AddWithValue("@P3", r(2))
|
|
Command.Parameters.AddWithValue("@P4", r(3))
|
|
Command.Parameters.AddWithValue("@P5", r(4))
|
|
Command.Parameters.AddWithValue("@P6", r(5))
|
|
Command.Parameters.AddWithValue("@P7", r(6))
|
|
Command.Parameters.AddWithValue("@P8", r(7))
|
|
Command.Parameters.AddWithValue("@P9", r(8))
|
|
Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
|
|
Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
|
|
Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
|
|
Command.Dispose()
|
|
End Using
|
|
|
|
|
|
Catch ex2 As System.Exception
|
|
MsgBox("err: " & ex2.Message & ex2.StackTrace)
|
|
|
|
Finally
|
|
If reader IsNot Nothing Then reader.Close()
|
|
End Try
|
|
|
|
|
|
Next
|
|
con.Close()
|
|
End If
|
|
pic.Visible = True
|
|
Return True
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
|
|
Function genASFINAGInsertMautAT(kdNr) As Boolean
|
|
Try
|
|
pic.Visible = False
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
Dim sqlWhere As String = ""
|
|
If kdNr <> "" Then
|
|
sqlWhere &= " AND Adressen.AdressenNr=" & kdNr
|
|
End If
|
|
|
|
|
|
sqlstr = " select
|
|
'AT'
|
|
,Adressen.AdressenNr
|
|
,licenceplate
|
|
,turnoverdate
|
|
,'AT'
|
|
,contractPartner as ProductCode
|
|
,[cardnumber] as CardNumber
|
|
,[netAmount] as Netamount
|
|
,[VATamount] as VATAmount
|
|
,[totalAmount] as totalAmount
|
|
FROM [VERAG].[dbo].[tblAsfinagMaut]
|
|
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
|
|
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
|
|
WHERE 1 = 1 " & sqlWhere & "
|
|
order by Adressen.AdressenNr"
|
|
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
Dim sqlstrAT As String = ""
|
|
|
|
sqlstrAT &= "select 'AT'
|
|
,Adressen.AdressenNr
|
|
,licenceplate
|
|
,turnoverdate
|
|
,'AT' as land
|
|
,'' as ProductCode
|
|
,[cardnumber] as CardNumber
|
|
,sum([netAmount]) as Netamount
|
|
,sum([VATamount]) as VATAmount
|
|
,sum([totalAmount]) as totalAmount
|
|
FROM [VERAG].[dbo].[tblAsfinagMaut]
|
|
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
|
|
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
|
|
WHERE 1 = 1 " & sqlWhere & "
|
|
group by Adressen.AdressenNr, licenceplate,turnoverdate,CardNumber
|
|
order by Adressen.AdressenNr"
|
|
|
|
Dim dtAT As DataTable = SQL.loadDgvBySql_Param(sqlstrAT, "FMZOLL")
|
|
|
|
|
|
'AT ---> Gruppiert
|
|
'If dtAT IsNot Nothing AndAlso dtAT.Rows.Count > 0 Then
|
|
' If dt Is Nothing OrElse dt.Rows.Count = 0 Then
|
|
' dt = dtAT
|
|
' Else
|
|
' For Each r In dtAT.Rows
|
|
' dt.Rows.Add({r(0), r(1), r(2), r(3), r(4), r(5), r(6), r(7), r(8), r(9)})
|
|
' Next
|
|
' End If
|
|
'End If
|
|
|
|
Dim connectionString = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
|
|
Else
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
|
|
End If
|
|
|
|
Dim con As New OleDbConnection(connectionString)
|
|
Dim cmd As New OleDbCommand
|
|
Dim var1 As String
|
|
|
|
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
|
|
Dim reader As OleDbDataReader = Nothing
|
|
|
|
|
|
|
|
If dt IsNot Nothing Then
|
|
con.Open()
|
|
For Each r In dt.Rows
|
|
Try
|
|
'Zeitstempel
|
|
|
|
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
|
|
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "'," & CDbl(r(7)).ToString.Replace(",", ".") & "," & CDbl(r(8)).ToString.Replace(",", ".") & "," & CDbl(r(9)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
|
|
|
|
|
|
Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10) "
|
|
' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
|
|
Using Command As New OleDbCommand(SQLQuery, con)
|
|
|
|
Command.Parameters.AddWithValue("@P1", r(0))
|
|
Command.Parameters.AddWithValue("@P2", r(1))
|
|
Command.Parameters.AddWithValue("@P3", r(2))
|
|
Command.Parameters.AddWithValue("@P4", r(3))
|
|
Command.Parameters.AddWithValue("@P5", r(4))
|
|
Command.Parameters.AddWithValue("@P6", r(5))
|
|
Command.Parameters.AddWithValue("@P7", r(6))
|
|
Command.Parameters.AddWithValue("@P8", CDbl(r(7)))
|
|
Command.Parameters.AddWithValue("@P9", CDbl(r(8)))
|
|
Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
|
|
Command.Dispose()
|
|
End Using
|
|
|
|
Catch ex2 As System.Exception
|
|
MsgBox("err: " & ex2.Message & ex2.StackTrace)
|
|
|
|
Finally
|
|
If reader IsNot Nothing Then reader.Close()
|
|
End Try
|
|
|
|
|
|
Next
|
|
con.Close()
|
|
End If
|
|
pic.Visible = True
|
|
Return True
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
|
|
Function genUTAInsertMaut(kdNr) As Boolean
|
|
Try
|
|
pic.Visible = False
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
Dim sqlWhere As String = ""
|
|
If kdNr <> "" Then
|
|
sqlWhere &= " AND Adressen.AdressenNr=" & kdNr
|
|
End If
|
|
|
|
|
|
sqlstr = "SELECT 'UTA',qryUTA_Fakturierungspositionen.KundenNr AS [Customer No],
|
|
isnull([KFZ_Kennzeichen_komprimiert],isnull([KFZ_Kennzeichen],isnull([Prägetext_i_d_R_KFZ_Kennzeichen],''))) AS LicencePlateNumber,
|
|
cast([Belegdatum] as datetime) AS [Transaction Date],
|
|
qryUTA_Fakturierungspositionen.Lieferland AS [Transaction Country],
|
|
qryUTA_Fakturierungspositionen.Warenart AS [Product description],
|
|
qryUTA_Fakturierungspositionen.Kartennummer AS [Card number],
|
|
qryUTA_Fakturierungspositionen.Autobahnauffahrt AS [Entry Terminal],
|
|
qryUTA_Fakturierungspositionen.Autobahnausfahrt AS [Exit Terminal],
|
|
qryUTA_Fakturierungspositionen.Gesamtbetrag_Netto_in_Darstellwährung AS [Nett Amount],
|
|
qryUTA_Fakturierungspositionen.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung AS [VAT Amount],
|
|
qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung AS [Total Amount]
|
|
|
|
FROM
|
|
(SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Adressen.UTAExportCSV, Adressen.Rechnungsdruck, Offertenpositionen.KundenNr, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.*
|
|
FROM tblUTAFakturierwarenarten INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
|
|
WHERE cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "' and chargedDatetime is not null " & sqlWhere & "
|
|
) as qryUTA_Fakturierungspositionen
|
|
WHERE (((qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung)<>0))
|
|
order by KundenNr, LicencePlateNumber, Belegdatum"
|
|
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", 60)
|
|
|
|
|
|
|
|
|
|
Dim connectionString = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
|
|
Else
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
|
|
End If
|
|
|
|
Dim con As New OleDbConnection(connectionString)
|
|
Dim cmd As New OleDbCommand
|
|
Dim var1 As String
|
|
|
|
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
|
|
Dim reader As OleDbDataReader = Nothing
|
|
|
|
|
|
|
|
If dt IsNot Nothing Then
|
|
con.Open()
|
|
For Each r In dt.Rows
|
|
Try
|
|
'Zeitstempel
|
|
|
|
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
|
|
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "','" & r(7).ToString.Replace("'", " ") & "','" & r(8).ToString.Replace("'", " ") & "'," & CDbl(r(9)).ToString.Replace(",", ".") & "," & CDbl(r(10)).ToString.Replace(",", ".") & "," & CDbl(r(11)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
|
|
|
|
|
|
Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
|
|
' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
|
|
Using Command As New OleDbCommand(SQLQuery, con)
|
|
|
|
Command.Parameters.AddWithValue("@P1", r(0))
|
|
Command.Parameters.AddWithValue("@P2", r(1))
|
|
Command.Parameters.AddWithValue("@P3", r(2))
|
|
Command.Parameters.AddWithValue("@P4", r(3))
|
|
Command.Parameters.AddWithValue("@P5", r(4))
|
|
Command.Parameters.AddWithValue("@P6", r(5))
|
|
Command.Parameters.AddWithValue("@P7", r(6))
|
|
Command.Parameters.AddWithValue("@P8", r(7))
|
|
Command.Parameters.AddWithValue("@P9", r(8))
|
|
Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
|
|
Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
|
|
Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
|
|
|
|
Command.Dispose()
|
|
End Using
|
|
|
|
Catch ex2 As System.Exception
|
|
MsgBox("err: " & ex2.Message & ex2.StackTrace)
|
|
|
|
Finally
|
|
If reader IsNot Nothing Then reader.Close()
|
|
End Try
|
|
|
|
|
|
Next
|
|
con.Close()
|
|
End If
|
|
pic.Visible = True
|
|
Return True
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
|
|
Function genMSEInsertMaut(kdNr) As Boolean
|
|
Try
|
|
pic.Visible = False
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
Dim sqlWhere As String = ""
|
|
If kdNr <> "" Then
|
|
sqlWhere &= " AND Adressen.AdressenNr=" & kdNr
|
|
End If
|
|
|
|
|
|
sqlstr = " Select 'MSE',adressen.AdressenNr As [Customer No],
|
|
trans.license_plate_number as [Licence Plate Number],
|
|
cast(trans.[purchase_datetime] as Date) as [Transaction Date],
|
|
trans.transaction_country As [Transaction Country],trans.device_product_type As [Product description],
|
|
trans.device_product_number as [Card Number],
|
|
trans.entry_point_name as [Entry Terminal],
|
|
trans.exit_point_name as [Exit Terminal],
|
|
case when trans.device_product_type like '%System Fee' then (msts_fee_amount + transaction_gross_amount) - trans.USteuer_EUR else transaction_gross_amount - trans.USteuer_EUR End As [Nett Amount],
|
|
trans.USteuer_EUR As [VAT Amount],
|
|
case when trans.device_product_type like '%System Fee' then msts_fee_amount + transaction_gross_amount else transaction_gross_amount End as [Total Amount]
|
|
From [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left Join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left Join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left Join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] And inv.customer_number = cust.[customer_id] And trans.transaction_country = inv.country
|
|
Left Join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and trans.chargedDatetime is not null " & sqlWhere &
|
|
"order by Adressen.AdressenNr "
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
|
|
Dim connectionString = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
|
|
Else
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
|
|
End If
|
|
|
|
Dim con As New OleDbConnection(connectionString)
|
|
Dim cmd As New OleDbCommand
|
|
Dim var1 As String
|
|
|
|
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
|
|
Dim reader As OleDbDataReader = Nothing
|
|
|
|
|
|
|
|
If dt IsNot Nothing Then
|
|
con.Open()
|
|
For Each r In dt.Rows
|
|
Try
|
|
'Zeitstempel
|
|
|
|
SQL.doSQL("INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Net Amount],[VAT Amount],[Total Amount], [BillingDate]) VALUES ('" &
|
|
r(0) & "'," & r(1) & ",'" & r(2) & "','" & r(3) & "','" & r(4) & "','" & r(5).ToString.Replace("'", " ") & "','" & r(6) & "','" & r(7).ToString.Replace("'", " ") & "','" & r(8).ToString.Replace("'", " ") & "'," & CDbl(r(9)).ToString.Replace(",", ".") & "," & CDbl(r(10)).ToString.Replace(",", ".") & "," & CDbl(r(11)).ToString.Replace(",", ".") & ",'" & datPloseAnhang.Text & "')", "FMZOLL")
|
|
|
|
|
|
|
|
Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
|
|
' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
|
|
Using Command As New OleDbCommand(SQLQuery, con)
|
|
|
|
Command.Parameters.AddWithValue("@P1", r(0))
|
|
Command.Parameters.AddWithValue("@P2", r(1))
|
|
Command.Parameters.AddWithValue("@P3", r(2))
|
|
Command.Parameters.AddWithValue("@P4", r(3))
|
|
Command.Parameters.AddWithValue("@P5", r(4))
|
|
Command.Parameters.AddWithValue("@P6", r(5))
|
|
Command.Parameters.AddWithValue("@P7", r(6))
|
|
Command.Parameters.AddWithValue("@P8", r(7))
|
|
Command.Parameters.AddWithValue("@P9", r(8))
|
|
Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
|
|
Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
|
|
Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
|
|
Command.Dispose()
|
|
End Using
|
|
|
|
Catch ex2 As System.Exception
|
|
MsgBox("err: " & ex2.Message & ex2.StackTrace)
|
|
|
|
Finally
|
|
If reader IsNot Nothing Then reader.Close()
|
|
End Try
|
|
|
|
|
|
Next
|
|
con.Close()
|
|
End If
|
|
pic.Visible = True
|
|
Return True
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Function deleteMautD(Datenquelle As String) As Boolean
|
|
Try
|
|
Dim connectionString = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
|
|
Else
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
|
|
End If
|
|
|
|
Dim con As New OleDbConnection(connectionString)
|
|
Dim cmd As New OleDbCommand
|
|
Dim var1 As String
|
|
|
|
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
|
|
Dim reader As OleDbDataReader = Nothing
|
|
|
|
|
|
'FMZOLL-Tabelle
|
|
Try
|
|
con.Open()
|
|
|
|
'Zeitstempel
|
|
Dim SQLQuery = "DELETE FROM tblMautbericht WHERE Datenquelle='" & Datenquelle & "' "
|
|
Using Command As New OleDbCommand(SQLQuery, con)
|
|
|
|
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Command.ExecuteNonQuery()
|
|
|
|
Command.Dispose()
|
|
End Using
|
|
|
|
Catch ex2 As System.Exception
|
|
MsgBox("err: " & ex2.Message & ex2.StackTrace)
|
|
|
|
Finally
|
|
If reader IsNot Nothing Then reader.Close()
|
|
End Try
|
|
|
|
con.Close()
|
|
|
|
Return SQL.doSQL("DELETE FROM tblMautbericht WHERE Datenquelle='" & Datenquelle & "' AND cast(Billingdate as Date)= '" & datPloseAnhang.Text & "'", "FMZOLL")
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Function genPLOSEAttachmentByKdNr(KdNr As String, PLOSEKundenNr As String, von As Date, bis As Date, dir As String)
|
|
Try
|
|
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
sqlstr &= " SELECT AdressenNr,tblPLOSE_Details.*,tblPLOSE_Produktbeschreibung.* "
|
|
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr "
|
|
sqlstr &= " WHERE 1=1 "
|
|
sqlstr &= " AND plose_Fakturiert=0 "
|
|
sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) "
|
|
sqlstr &= " AND AdressenNr = '" & KdNr & "' "
|
|
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
|
|
|
|
' sqlstr &= " group by plose_ProduktCode"
|
|
sqlstr &= " order by plp_Land, plose_DatumTransaktion"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
|
|
Dim rpt As New rptPLOSE_Anhang
|
|
|
|
rpt.DataSource = dt
|
|
|
|
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
|
|
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
|
|
|
|
rpt.GroupHeaderKz.DataField = "plose_Kennzeichen" 'Gruppierung
|
|
|
|
Dim sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumNettoKat As Double = 0
|
|
Dim sumMWSTKat As Double = 0
|
|
Dim sumBruttoKat As Double = 0
|
|
|
|
Dim sumNettoGes As Double = 0
|
|
Dim sumMWSTGes As Double = 0
|
|
Dim sumBruttoGes As Double = 0
|
|
|
|
Dim cntKat = 0
|
|
Dim cnt = 0
|
|
rpt.GroupFooterKat.Visible = False
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' If cnt = 0 Then
|
|
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_POLSEKundennummer").Value, "") & " " & SQL.isDbnullEmpty(rpt.Fields.Item("plose_Firmenname").Value, "")
|
|
' End If
|
|
|
|
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
|
Select Case "DE"
|
|
Case "DE" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Description_DE").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
Case "IT" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Description_IT").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
Case Else : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Description_EN").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
End Select
|
|
|
|
rpt.txtKartennummer.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_NummerKarteGeraet").Value, "")
|
|
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_BeschreibungEinfahrt").Value, "")
|
|
rpt.txtAusgang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_BeschreibungAusfahrt").Value, "")
|
|
rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Land").Value, "")
|
|
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_DatumTransaktion").Value, "")
|
|
|
|
rpt.txtNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.txtMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.txtBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 4, 0)
|
|
cnt += 1
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupHeaderKz.Format, Sub()
|
|
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_Kennzeichen").Value, "")
|
|
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
|
|
End Sub
|
|
AddHandler rpt.GroupHeaderKat.Format, Sub()
|
|
rpt.lblKategorie.Text = "MAUT REPORT"
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupFooterKz.Format, Sub()
|
|
rpt.txtNettoKzSum.Text = sumNetto.ToString("N2")
|
|
rpt.txtMWSTKzSum.Text = sumMWST.ToString("N2")
|
|
rpt.txtBruttoKzSum.Text = sumBrutto.ToString("N2")
|
|
|
|
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", SQL.isDbnullEmpty(rpt.Fields.Item("plose_Kennzeichen").Value, ""))
|
|
End Sub
|
|
|
|
|
|
|
|
AddHandler rpt.GroupFooterKat.Format, Sub()
|
|
sumNettoKat += sumNetto
|
|
sumMWSTKat += sumMWST
|
|
sumBruttoKat += sumBrutto
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoKatSum.Text = sumNettoKat.ToString("N2")
|
|
rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2")
|
|
rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2")
|
|
cntKat += 1
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
sumNettoGes += sumNettoKat
|
|
sumMWSTGes += sumMWSTKat
|
|
sumBruttoGes += sumBruttoKat
|
|
sumNettoKat = 0
|
|
sumMWSTKat = 0
|
|
sumBruttoKat = 0
|
|
|
|
rpt.txtNettoGesSum.Text = sumNettoGes.ToString("N2")
|
|
rpt.txtMWSTGEsSum.Text = sumMWSTGes.ToString("N2")
|
|
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
|
|
|
|
|
|
|
|
'If cntKat <= 1 Then
|
|
' rpt.GroupFooterKat.Visible = False
|
|
'End If
|
|
End Sub
|
|
|
|
'print.Viewer.LoadDocument(rpt)
|
|
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
'print.Show()
|
|
|
|
|
|
|
|
Dim tmpPath = dir & "\" & KdNr & "_VERAG_Report.pdf"
|
|
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
|
rpt.Run(False)
|
|
p.NeverEmbedFonts = ""
|
|
p.Export(rpt.Document, tmpPath)
|
|
|
|
rpt.Dispose()
|
|
|
|
Return tmpPath
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return ""
|
|
|
|
End Function
|
|
Function genUTAAttachmentByKdNr(KdNr As String, UTAKdNr As String, dir As String, bis As Date) ', PLOSEKundenNr As String, von As Date, bis As Date, dir As String)
|
|
Try
|
|
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
sqlstr &= "SELECT qryUTA_Fakturierungspositionen.KundenNr AS [Customer Nr], qryUTA_Fakturierungspositionen.Kundennummer AS [Customer ID], qryUTA_Fakturierungspositionen.[Name 1] AS [Customer name],
|
|
cast([Belegdatum] as datetime) AS [Transaction Date],
|
|
qryUTA_Fakturierungspositionen.Lieferzeit AS [Transaction Time], qryUTA_Fakturierungspositionen.Lieferland AS [Transaction Country], qryUTA_Fakturierungspositionen.Warenart AS [Product description], qryUTA_Fakturierungspositionen.Fakturierwarenart AS [Product Description ID], qryUTA_Fakturierungspositionen.Kartentyp AS [Card Type], qryUTA_Fakturierungspositionen.Kartennummer AS [Card number],
|
|
isnull([KFZ_Kennzeichen_komprimiert],isnull([KFZ_Kennzeichen],isnull([Prägetext_i_d_R_KFZ_Kennzeichen],''))) AS LicencePlateNumber, qryUTA_Fakturierungspositionen.Autobahnauffahrt AS [Entry Terminal/Direction], qryUTA_Fakturierungspositionen.Autobahnausfahrt AS [Exit Terminal Description], qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung AS [Transaction Amount ( EUR )]
|
|
FROM
|
|
(SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Adressen.UTAExportCSV, Adressen.Rechnungsdruck, Offertenpositionen.KundenNr, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.*
|
|
FROM tblUTAFakturierwarenarten INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
|
|
WHERE Offertenpositionen.KundenNr='" & KdNr & "' and tblUTAImportNew.Rechnungsdatum = '" & DateTimePicker2.Text & "'
|
|
) as qryUTA_Fakturierungspositionen
|
|
WHERE (((qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung)<>0))
|
|
order by LicencePlateNumber, [Card Type]"
|
|
|
|
' sqlstr &= " group by plose_ProduktCode"
|
|
' sqlstr &= " order by plp_Land, plose_DatumTransaktion"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
If dt Is DBNull.Value Then Return ""
|
|
If dt.Rows.Count = 0 Then Return ""
|
|
|
|
Dim rpt As New rptPLOSE_Anhang
|
|
|
|
rpt.DataSource = dt
|
|
|
|
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
|
|
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
|
|
|
|
rpt.GroupHeaderKz.DataField = "LicencePlateNumber" 'Gruppierung
|
|
|
|
|
|
rpt.txtNettoKzSum.Visible = False
|
|
rpt.txtNettoGesSum.Visible = False
|
|
rpt.txtNetto.Visible = False
|
|
rpt.txtNettoKatSum.Visible = False
|
|
rpt.lblNetto.Visible = False
|
|
|
|
rpt.txtMWSTKzSum.Visible = False
|
|
rpt.txtMWSTGEsSum.Visible = False
|
|
rpt.txtMWST.Visible = False
|
|
rpt.txtMWSTKatSum.Visible = False
|
|
rpt.lblMWST.Visible = False
|
|
|
|
rpt.lblBrutto.Text = "Total Amount ( EUR )"
|
|
rpt.Label4.Text = bis.ToShortDateString
|
|
rpt.Label2.Text = "UTA-KundenNr:"
|
|
rpt.TextBox1.Text = UTAKdNr
|
|
rpt.Label1.Text = " UTA Fleet Management Service"
|
|
|
|
rpt.lblSummeKennzeichen.Visible = False
|
|
rpt.lblService.Visible = False
|
|
|
|
'rpt.lblSummeKennzeichen.Location = New PointF(rpt.lblSummeKennzeichen.Location.X + 4.5, rpt.lblSummeKennzeichen.Location.Y)
|
|
'rpt.lblSumKategorie.Location = New PointF(rpt.lblSumKategorie.Location.X + 4.5, rpt.lblSumKategorie.Location.Y)
|
|
'rpt.lblGessumme.Location = New PointF(rpt.lblGessumme.Location.X + 4.5, rpt.lblGessumme.Location.Y)
|
|
|
|
Dim sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumNettoKat As Double = 0
|
|
Dim sumMWSTKat As Double = 0
|
|
Dim sumBruttoKat As Double = 0
|
|
|
|
Dim sumNettoGes As Double = 0
|
|
Dim sumMWSTGes As Double = 0
|
|
Dim sumBruttoGes As Double = 0
|
|
|
|
Dim cntKat = 0
|
|
Dim cnt = 0
|
|
rpt.GroupFooterKat.Visible = False
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' If cnt = 0 Then
|
|
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Customer ID").Value, "")
|
|
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Customer name").Value, "")
|
|
' End If
|
|
|
|
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
|
Select Case "DE"
|
|
Case "DE" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
Case "IT" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
Case Else : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
End Select
|
|
|
|
rpt.txtKartennummer.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Card number").Value, "")
|
|
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Entry Terminal/Direction").Value, "")
|
|
rpt.txtAusgang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Exit Terminal Description").Value, "")
|
|
rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
|
|
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Date").Value, "")
|
|
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Card Type").Value, "")
|
|
|
|
rpt.txtNetto.Text = "" 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.txtMWST.Text = "" 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.txtBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").Value, 2, "")
|
|
|
|
sumNetto += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumMWST += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").Value, 4, 0)
|
|
cnt += 1
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupHeaderKz.Format, Sub()
|
|
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("LicencePlateNumber").Value, "")
|
|
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
|
|
End Sub
|
|
AddHandler rpt.GroupHeaderKat.Format, Sub()
|
|
rpt.lblKategorie.Text = "MAUT REPORT"
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupFooterKz.Format, Sub()
|
|
rpt.txtNettoKzSum.Text = sumNetto.ToString("N2")
|
|
rpt.txtMWSTKzSum.Text = sumMWST.ToString("N2")
|
|
rpt.txtBruttoKzSum.Text = sumBrutto.ToString("N2")
|
|
sumNettoGes += sumNetto
|
|
sumMWSTGes += sumMWST
|
|
sumBruttoGes += sumBrutto
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", SQL.isDbnullEmpty(rpt.Fields.Item("LicencePlateNumber").Value, ""))
|
|
End Sub
|
|
|
|
|
|
|
|
AddHandler rpt.GroupFooterKat.Format, Sub()
|
|
sumNettoKat += sumNetto
|
|
sumMWSTKat += sumMWST
|
|
sumBruttoKat += sumBrutto
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoKatSum.Text = sumNettoKat.ToString("N2")
|
|
rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2")
|
|
rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2")
|
|
cntKat += 1
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
'sumNettoGes += sumNettoKat
|
|
'sumMWSTGes += sumMWSTKat
|
|
'sumBruttoGes += sumBruttoKat
|
|
sumNettoKat = 0
|
|
sumMWSTKat = 0
|
|
sumBruttoKat = 0
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoGesSum.Text = sumNettoGes.ToString("N2")
|
|
rpt.txtMWSTGEsSum.Text = sumMWSTGes.ToString("N2")
|
|
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
|
|
|
|
|
|
|
|
'If cntKat <= 1 Then
|
|
' rpt.GroupFooterKat.Visible = False
|
|
'End If
|
|
End Sub
|
|
|
|
'print.Viewer.LoadDocument(rpt)
|
|
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
'print.Show()
|
|
|
|
|
|
|
|
Dim tmpPath = dir & "\" & KdNr & "_Maut_UTA.pdf"
|
|
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
|
rpt.Run(False)
|
|
p.NeverEmbedFonts = ""
|
|
p.Export(rpt.Document, tmpPath)
|
|
|
|
rpt.Dispose()
|
|
|
|
Return tmpPath
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return ""
|
|
|
|
End Function
|
|
|
|
Function genMSEAttachmentByKdNr(KdNr As String, MSEKdNr As String, dir As String, bis As Date)
|
|
Try
|
|
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
|
|
sqlstr &= "Select cust.customer_id as [Customer ID], cust.partner_customer_number as [Customer No], cust.customer_name as [Customer name],
|
|
trans.supplier_name as [Transaction Supplier/Terminal], trans.transaction_country as [Transaction Country], trans.transaction_product_name as [Product description], trans.purchase_datetime as [Transaction date],trans.device_product_type as [Card Type], trans.device_product_number as [Card number], trans.license_plate_number as [LicencePlateNumber],
|
|
trans.entry_point_name as [Entry Terminal/Direction], trans.entry_datetime as [Start date], trans.entry_datetime as [Start Time], trans.exit_point_name as [Exit Terminal Description], trans.exit_datetime as [End Date], trans.exit_datetime as [End Time],
|
|
trans.original_net_amount as [Original Nett Amount], trans.original_vat_amount as [Original VAT Amount], trans.original_gross_amount as [Original Amount], trans.original_currency as [Original Currency],
|
|
case when trans.device_product_type like '%System Fee' then msts_fee_amount + transaction_gross_amount
|
|
else transaction_gross_amount End as [Transaction Amount ( EUR )],
|
|
trans.msts_fee_amount as [Admin Fee Amount ( EUR )], '' as [Fees and Costs Amount ( EUR )],
|
|
trans.msts_vat_amount as [VAT Amount ( EUR )],trans.total_gross_amount as [Total Amount ( EUR )],
|
|
'' as [Total Dutch VAT ( EUR )],
|
|
'' as [Total Foreign VAT ( EUR )], trans.[USteuer_EUR] as [USteuer_EUR]
|
|
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and (trans.transaction_gross_amount <> 0 or [msts_fee_amount] <> 0) and cust.[customer_id] = " & MSEKdNr & " order by trans.license_plate_number"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
If dt Is DBNull.Value Then Return ""
|
|
If dt.Rows.Count = 0 Then Return ""
|
|
|
|
Dim rpt As New rptPLOSE_Anhang
|
|
|
|
rpt.DataSource = dt
|
|
|
|
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
|
|
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
|
|
|
|
rpt.GroupHeaderKz.DataField = "LicencePlateNumber" 'Gruppierung
|
|
|
|
|
|
rpt.txtNettoKzSum.Visible = False
|
|
rpt.txtNettoGesSum.Visible = False
|
|
rpt.txtNetto.Visible = False
|
|
rpt.txtNettoKatSum.Visible = False
|
|
rpt.lblNetto.Visible = False
|
|
|
|
rpt.txtMWSTKzSum.Visible = False
|
|
rpt.txtMWSTGEsSum.Visible = False
|
|
rpt.txtMWST.Visible = False
|
|
rpt.txtMWSTKatSum.Visible = False
|
|
rpt.lblMWST.Visible = False
|
|
|
|
rpt.lblBrutto.Text = "Transaction Amount(EUR)"
|
|
rpt.Label4.Text = bis.ToShortDateString
|
|
rpt.Label2.Text = "MSE-KundenNr:"
|
|
rpt.TextBox1.Text = MSEKdNr
|
|
rpt.Label1.Text = " MSE Fleet Management Service"
|
|
|
|
rpt.lblSummeKennzeichen.Visible = False
|
|
rpt.lblService.Visible = False
|
|
|
|
'rpt.lblSummeKennzeichen.Location = New PointF(rpt.lblSummeKennzeichen.Location.X + 4.5, rpt.lblSummeKennzeichen.Location.Y)
|
|
'rpt.lblSumKategorie.Location = New PointF(rpt.lblSumKategorie.Location.X + 4.5, rpt.lblSumKategorie.Location.Y)
|
|
'rpt.lblGessumme.Location = New PointF(rpt.lblGessumme.Location.X + 4.5, rpt.lblGessumme.Location.Y)
|
|
|
|
Dim sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumNettoKat As Double = 0
|
|
Dim sumMWSTKat As Double = 0
|
|
Dim sumBruttoKat As Double = 0
|
|
|
|
Dim sumNettoGes As Double = 0
|
|
Dim sumMWSTGes As Double = 0
|
|
Dim sumBruttoGes As Double = 0
|
|
|
|
Dim cntKat = 0
|
|
Dim cnt = 0
|
|
rpt.GroupFooterKat.Visible = False
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' If cnt = 0 Then
|
|
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Customer ID").Value, "")
|
|
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Customer name").Value, "")
|
|
' End If
|
|
|
|
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
|
Select Case "DE"
|
|
Case "DE" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
Case "IT" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
Case Else : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
End Select
|
|
|
|
rpt.txtKartennummer.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Card number").Value, "")
|
|
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Entry Terminal/Direction").Value, "")
|
|
rpt.txtAusgang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Exit Terminal Description").Value, "")
|
|
rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
|
|
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Date").Value, "")
|
|
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Card Type").Value, "")
|
|
|
|
rpt.txtNetto.Text = "" 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").Value, 2, "")
|
|
rpt.txtMWST.Text = "" 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
|
|
rpt.txtBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").Value, 2, "")
|
|
|
|
sumNetto += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").Value, 4, 0)
|
|
sumMWST += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").Value, 4, 0)
|
|
cnt += 1
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupHeaderKz.Format, Sub()
|
|
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("LicencePlateNumber").Value, "")
|
|
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
|
|
End Sub
|
|
AddHandler rpt.GroupHeaderKat.Format, Sub()
|
|
rpt.lblKategorie.Text = "MAUT REPORT"
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupFooterKz.Format, Sub()
|
|
rpt.txtNettoKzSum.Text = sumNetto.ToString("N2")
|
|
rpt.txtMWSTKzSum.Text = sumMWST.ToString("N2")
|
|
rpt.txtBruttoKzSum.Text = sumBrutto.ToString("N2")
|
|
sumNettoGes += sumNetto
|
|
sumMWSTGes += sumMWST
|
|
sumBruttoGes += sumBrutto
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", SQL.isDbnullEmpty(rpt.Fields.Item("LicencePlateNumber").Value, ""))
|
|
End Sub
|
|
|
|
|
|
|
|
AddHandler rpt.GroupFooterKat.Format, Sub()
|
|
sumNettoKat += sumNetto
|
|
sumMWSTKat += sumMWST
|
|
sumBruttoKat += sumBrutto
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoKatSum.Text = sumNettoKat.ToString("N2")
|
|
rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2")
|
|
rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2")
|
|
cntKat += 1
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
|
|
sumNettoKat = 0
|
|
sumMWSTKat = 0
|
|
sumBruttoKat = 0
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoGesSum.Text = sumNettoGes.ToString("N2")
|
|
rpt.txtMWSTGEsSum.Text = sumMWSTGes.ToString("N2")
|
|
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
|
|
|
|
|
|
|
|
'If cntKat <= 1 Then
|
|
' rpt.GroupFooterKat.Visible = False
|
|
'End If
|
|
End Sub
|
|
|
|
'print.Viewer.LoadDocument(rpt)
|
|
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
'print.Show()
|
|
|
|
|
|
|
|
Dim tmpPath = dir & "\" & KdNr & "_Maut_MSE.pdf"
|
|
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
|
rpt.Run(False)
|
|
p.NeverEmbedFonts = ""
|
|
p.Export(rpt.Document, tmpPath)
|
|
|
|
rpt.Dispose()
|
|
|
|
Return tmpPath
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return ""
|
|
|
|
End Function
|
|
|
|
Function genIDSAttachmentByKdNr(KdNr As String, IDSKdNr As String, dir As String, von As Date, art As String)
|
|
Try
|
|
|
|
Dim displayFilter = False
|
|
Dim sqlstr As String = ""
|
|
Dim sqlWhere As String = ""
|
|
Dim sqlSelect As String = ""
|
|
Dim sqlGroup As String = ""
|
|
|
|
Select Case art
|
|
Case "IDS" 'Offert17
|
|
sqlWhere = " AND tblIDSTransactionsNew.[OutletCountryCode]<>740543"
|
|
sqlSelect = " tblIDSTransactionsNew.[OutletCountry]"
|
|
sqlGroup = " tblIDSTransactionsNew.[OutletCountry]"
|
|
|
|
Case "IDS_AT" 'Offert21
|
|
sqlWhere = " AND tblIDSTransactionsNew.[OutletCountryCode]=740543"
|
|
sqlSelect = " CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END AS OutletCountry"
|
|
sqlGroup = " CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END"
|
|
End Select
|
|
|
|
sqlstr &= " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlSelect & ", tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
|
|
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
|
|
Sum(tblIDSTransactionsNew.Rabattbetrag) AS [SummevonRabattbetrag],
|
|
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
|
|
FROM ((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte ON tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode) INNER JOIN Adressen ON tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
|
WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & sqlWhere & "
|
|
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlGroup & ", tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz;
|
|
"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
If dt Is DBNull.Value Then Return ""
|
|
If dt.Rows.Count = 0 Then Return ""
|
|
|
|
Dim rpt As New rptIDS_Anhang
|
|
|
|
rpt.DataSource = dt
|
|
|
|
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
|
|
|
|
rpt.lblIDSKdNr.Text = IDSKdNr
|
|
|
|
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
|
|
|
|
rpt.GroupHeaderKz.DataField = "OutletCountry"
|
|
|
|
rpt.Label4.Text = von.ToShortDateString
|
|
|
|
|
|
Dim curRabattbetragProLiter As Double = 0
|
|
Dim curRabattbetrag As Double = 0
|
|
Dim curGesamtbetrag As Double = 0
|
|
|
|
|
|
Dim sumLiter As Double = 0
|
|
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumLiterLand As Double = 0
|
|
|
|
Dim sumLiterKat As Double = 0
|
|
|
|
Dim sumBruttoLand As Double = 0
|
|
|
|
Dim sumBruttoKat As Double = 0
|
|
|
|
Dim sumLiterGes As Double = 0
|
|
|
|
Dim sumBruttoGes As Double = 0
|
|
|
|
Dim cntKat = 0
|
|
Dim cnt = 0
|
|
|
|
rpt.GroupFooterKat.Visible = False
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' If cnt = 0 Then
|
|
curRabattbetrag = 0 - SQL.isDbnullEmptyDbl(rpt.Fields.Item("SummevonRabattbetrag").Value, 2, "") '=0-[Summe von Rabattbetrag]
|
|
curRabattbetragProLiter = 0 - IIf(SQL.isDbnullEmpty(rpt.Fields.Item("KZ").Value, "") = "P", SQL.isDbnullEmptyDbl(rpt.Fields.Item("RabattbetragProLiter").Value, 4, 0), SQL.isDbnullEmptyDbl(rpt.Fields.Item("Rechenwert").Value, 4, 0)) '=0-Wenn([Kz]="P";[RabattbetragProLiter];[Rechenwert])
|
|
curGesamtbetrag = CDbl(SQL.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 2, 0) + curRabattbetrag + SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 2, 0)) '=[Nettobetrag]+[curRabattbetrag]+[Steuerbetrag]
|
|
|
|
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "")
|
|
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
|
|
|
rpt.txtProduktBeschreibung.Text = SQL.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "")
|
|
|
|
rpt.txtLiter.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Liter").Value, "")
|
|
rpt.txtPreis.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("NettopreisProLiter").Value, 4, "")
|
|
rpt.txtBetrag.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 2, "")
|
|
|
|
rpt.txtRabattPreis.Text = curRabattbetragProLiter
|
|
rpt.txtRabattBetrag.Text = curRabattbetrag
|
|
|
|
rpt.lblMWST.Text = "zuzüglich MWST "
|
|
rpt.lblMWST.Text &= IIf(SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") <> "", SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") * 100 & " %", "")
|
|
|
|
rpt.txtMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 2, "")
|
|
|
|
rpt.txtPreisProLiter.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("NettopreisProLiter").Value, 4, 0) + curRabattbetragProLiter '=[NettopreisProLiter]+[curRabattbetragProLiter]
|
|
|
|
rpt.txtGesamtbetrag.Text = curGesamtbetrag
|
|
|
|
sumLiter += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Liter").Value, 2, 0)
|
|
|
|
sumBrutto += curGesamtbetrag
|
|
|
|
cnt += 1
|
|
End Sub
|
|
|
|
|
|
|
|
AddHandler rpt.GroupHeaderKz.Format, Sub()
|
|
rpt.txtOutletCountry.Text = SQL.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, "")
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupFooterKz.Format, Sub()
|
|
|
|
sumLiterLand += sumLiter
|
|
sumBruttoLand += sumBrutto
|
|
|
|
|
|
rpt.txtNettoKzSum.Text = sumLiterLand.ToString("N2")
|
|
rpt.txtMWSTKzSum.Text = ""
|
|
rpt.txtBruttoKzSum.Text = sumBruttoLand.ToString("N2")
|
|
cntKat += 1
|
|
|
|
sumLiter = 0
|
|
sumBrutto = 0
|
|
|
|
sumLiterGes += sumLiterLand
|
|
sumBruttoGes += sumBruttoLand
|
|
|
|
sumLiterLand = 0
|
|
sumBruttoLand = 0
|
|
|
|
rpt.txtOutletCountry.Text = rpt.txtOutletCountry.Text.Replace("Land", SQL.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, ""))
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
|
|
rpt.txtNettoGesSum.Text = sumLiterGes.ToString("N2")
|
|
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
|
|
|
|
If cntKat <= 1 Then
|
|
rpt.GroupFooterKat.Visible = False
|
|
End If
|
|
End Sub
|
|
|
|
'print.Viewer.LoadDocument(rpt)
|
|
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
'print.Show()
|
|
|
|
|
|
Dim tmpPath = dir & "\" & KdNr & "_Diesel_" & art & ".pdf"
|
|
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
|
rpt.Run(False)
|
|
p.NeverEmbedFonts = ""
|
|
p.Export(rpt.Document, tmpPath)
|
|
|
|
rpt.Dispose()
|
|
|
|
Return tmpPath
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return ""
|
|
|
|
End Function
|
|
|
|
|
|
Function genASFINAGAttachmentByKdNr(KdNr As Integer, dt As DataTable, tmpPath As String)
|
|
Try
|
|
|
|
|
|
If dt Is DBNull.Value Then Return ""
|
|
If dt.Rows.Count = 0 Then Return ""
|
|
|
|
Dim rpt As New rptASFINAG_Anhang
|
|
|
|
rpt.DataSource = dt
|
|
|
|
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
|
|
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
|
|
|
|
rpt.GroupHeaderKz.DataField = "licenceplate" 'Gruppierung
|
|
|
|
|
|
'rpt.txtNettoKzSum.Visible = False
|
|
'rpt.txtNettoGesSum.Visible = False
|
|
'rpt.txtNetto.Visible = False
|
|
'rpt.txtNettoKatSum.Visible = False
|
|
'rpt.lblNetto.Visible = False
|
|
|
|
'rpt.txtMWSTKzSum.Visible = False
|
|
'rpt.txtMWSTGEsSum.Visible = False
|
|
'rpt.txtMWST.Visible = False
|
|
'rpt.txtMWSTKatSum.Visible = False
|
|
'rpt.lblMWST.Visible = False
|
|
|
|
'rpt.lblBrutto.Text = "Total Amount ( EUR )"
|
|
'rpt.Label4.Text = bis.ToShortDateString
|
|
'rpt.Label2.Text = "UTA-KundenNr:"
|
|
'rpt.TextBox1.Text = UTAKdNr
|
|
rpt.Label1.Text = " ASFINAG"
|
|
|
|
' rpt.lblSummeKennzeichen.Visible = False
|
|
rpt.lblService.Visible = False
|
|
|
|
rpt.lblSummeKennzeichen.Location = New PointF(rpt.lblSummeKennzeichen.Location.X + 4.5, rpt.lblSummeKennzeichen.Location.Y)
|
|
'rpt.lblSumKategorie.Location = New PointF(rpt.lblSumKategorie.Location.X + 4.5, rpt.lblSumKategorie.Location.Y)
|
|
rpt.lblGessumme.Location = New PointF(rpt.lblGessumme.Location.X + 4.5, rpt.lblGessumme.Location.Y)
|
|
|
|
Dim sumNetto As Double = 0
|
|
Dim sumMWST As Double = 0
|
|
Dim sumBrutto As Double = 0
|
|
|
|
Dim sumNettoKat As Double = 0
|
|
Dim sumMWSTKat As Double = 0
|
|
Dim sumBruttoKat As Double = 0
|
|
|
|
Dim sumNettoGes As Double = 0
|
|
Dim sumMWSTGes As Double = 0
|
|
Dim sumBruttoGes As Double = 0
|
|
|
|
Dim cntKat = 0
|
|
Dim cnt = 0
|
|
rpt.GroupFooterKat.Visible = False
|
|
|
|
AddHandler rpt.Detail.Format, Sub()
|
|
' If cnt = 0 Then
|
|
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
|
|
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
|
rpt.txtLand.Text = "AT"
|
|
' End If
|
|
|
|
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
|
rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("contractPartner").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
|
|
|
|
|
rpt.txtKartennummer.Text = SQL.isDbnullEmpty(rpt.Fields.Item("cardnumber").Value, "")
|
|
rpt.txtAusgang.Text = "" 'SQL.isDbnullEmpty(rpt.Fields.Item("Exit Terminal Description").Value, "")
|
|
'rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
|
|
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("turnoverdate").Value, "")
|
|
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("receiptNumber").Value, "")
|
|
|
|
rpt.txtNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 2, "")
|
|
rpt.txtMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 2, "")
|
|
rpt.txtBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 2, "")
|
|
|
|
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 4, 0)
|
|
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 4, 0)
|
|
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 4, 0)
|
|
cnt += 1
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupHeaderKz.Format, Sub()
|
|
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("licenceplate").Value, "")
|
|
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
|
|
End Sub
|
|
AddHandler rpt.GroupHeaderKat.Format, Sub()
|
|
rpt.lblKategorie.Text = "MAUTGEBÜHR"
|
|
End Sub
|
|
|
|
AddHandler rpt.GroupFooterKz.Format, Sub()
|
|
rpt.txtNettoKzSum.Text = sumNetto.ToString("N2")
|
|
rpt.txtMWSTKzSum.Text = sumMWST.ToString("N2")
|
|
rpt.txtBruttoKzSum.Text = sumBrutto.ToString("N2")
|
|
sumNettoGes += sumNetto
|
|
sumMWSTGes += sumMWST
|
|
sumBruttoGes += sumBrutto
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", SQL.isDbnullEmpty(rpt.Fields.Item("licenceplate").Value, ""))
|
|
End Sub
|
|
|
|
|
|
|
|
AddHandler rpt.GroupFooterKat.Format, Sub()
|
|
sumNettoKat += sumNetto
|
|
sumMWSTKat += sumMWST
|
|
sumBruttoKat += sumBrutto
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoKatSum.Text = sumNettoKat.ToString("N2")
|
|
rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2")
|
|
rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2")
|
|
cntKat += 1
|
|
End Sub
|
|
AddHandler rpt.ReportFooter1.Format, Sub()
|
|
'sumNettoGes += sumNettoKat
|
|
'sumMWSTGes += sumMWSTKat
|
|
'sumBruttoGes += sumBruttoKat
|
|
sumNettoKat = 0
|
|
sumMWSTKat = 0
|
|
sumBruttoKat = 0
|
|
|
|
sumNetto = 0
|
|
sumMWST = 0
|
|
sumBrutto = 0
|
|
|
|
rpt.txtNettoGesSum.Text = sumNettoGes.ToString("N2")
|
|
rpt.txtMWSTGEsSum.Text = sumMWSTGes.ToString("N2")
|
|
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
|
|
|
|
|
|
|
|
'If cntKat <= 1 Then
|
|
' rpt.GroupFooterKat.Visible = False
|
|
'End If
|
|
End Sub
|
|
|
|
'print.Viewer.LoadDocument(rpt)
|
|
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
|
'print.Show()
|
|
|
|
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
|
rpt.Run(False)
|
|
p.NeverEmbedFonts = ""
|
|
p.Export(rpt.Document, tmpPath)
|
|
|
|
rpt.Dispose()
|
|
|
|
Return tmpPath
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return ""
|
|
|
|
End Function
|
|
|
|
|
|
Function gen_SPEDBUCH_ByKdNr(KdNr As String, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing, Optional abrechnugsdatum As Date = Nothing)
|
|
Try
|
|
If KdNr = "" Then Return False
|
|
|
|
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
|
|
SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
|
|
|
|
Dim OffertenNr As Integer
|
|
Dim Abfertigungsart As Integer
|
|
|
|
Select Case Lieferant
|
|
Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4824
|
|
Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4814
|
|
Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4823
|
|
Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4821
|
|
Case "IDS" : OffertenNr = 17 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4868
|
|
Case "IDS_AT" : OffertenNr = 21 : Abfertigungsart = 10 : SPEDBUCH.FilialenNr = 4868
|
|
End Select
|
|
|
|
Dim GJ = Now.Year
|
|
If IsDate(abrechnugsdatum) Then GJ = cRKSV.getGJ(abrechnugsdatum, 19)
|
|
|
|
SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, GJ)
|
|
SPEDBUCH.NewUNTER_NR()
|
|
|
|
SPEDBUCH.Vermittler = AD.Ordnungsbegriff
|
|
SPEDBUCH.VermittlerKundenNr = KdNr
|
|
SPEDBUCH.VermittlerOffertenNr = OffertenNr
|
|
SPEDBUCH.Abfertigungsdatum = datPloseAnhang.Value.ToShortDateString
|
|
|
|
SPEDBUCH.Abfertigungsart = Abfertigungsart
|
|
SPEDBUCH.Bar = 0
|
|
SPEDBUCH.Fakturiert = 1
|
|
SPEDBUCH.AnzahlSonstiges = 1
|
|
SPEDBUCH.Abfertigungsanzahl = 1
|
|
|
|
SPEDBUCH.AvisUhrzeit = Nothing
|
|
SPEDBUCH.Umrechnungskurs = Nothing
|
|
SPEDBUCH.veoerz_basbtg = Nothing
|
|
SPEDBUCH.Sicherheitsbetrag = Nothing
|
|
|
|
SPEDBUCH.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
|
|
|
|
Return IIf(test, True, SPEDBUCH.SAVE)
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, Lieferant As String, Optional PLOSEKundenNr As String = "", Optional von As Date = Nothing, Optional bis As Date = Nothing, Optional ByRef RE As cRechnungsausgang = Nothing)
|
|
Try
|
|
|
|
If KdNr = "" Then Return False
|
|
|
|
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr)
|
|
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr)
|
|
Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang
|
|
|
|
Dim OffertenNr As Integer
|
|
Dim Abfertigungsart As Integer
|
|
|
|
Select Case Lieferant
|
|
Case "PLOSE" : OffertenNr = 80 : Abfertigungsart = 10 : RG.Anlage_1 = ""
|
|
Case "ASFINAG" : OffertenNr = 11 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang"
|
|
Case "UTA" : OffertenNr = 30 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang"
|
|
Case "MSE" : OffertenNr = 23 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang"
|
|
Case "IDS" : OffertenNr = 17 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang"
|
|
Case "IDS_AT" : OffertenNr = 21 : Abfertigungsart = 10 : RG.Anlage_1 = "Email Anhang"
|
|
|
|
End Select
|
|
|
|
RG.Firma_ID = 19 'RG.Firma_ID = 15
|
|
|
|
RG.FilialenNr = SPEDBUCH.FilialenNr
|
|
RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr
|
|
RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr
|
|
RG.UnterNr = RG.getMaxRGUnterNr()
|
|
|
|
RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value, RG.Firma_ID) 'If(Now.Month = 1, Now.Year - 1, Now.Year)
|
|
RG.FilialenNr = SPEDBUCH.FilialenNr
|
|
RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum
|
|
RG.Sammelrechnung = 6 'MAUT/DIESEL
|
|
RG.BelegartenKz = "AR"
|
|
RG.BelegartenNr = 70
|
|
RG.BelegartenBez = "Rechnung"
|
|
RG.Vorzeichen = "+"
|
|
|
|
RG.VermittlerKundenNr = AD.AdressenNr
|
|
RG.VermittlerLandKz = AD.LandKz
|
|
RG.VermittlerName_1 = AD.Name_1
|
|
RG.VermittlerName_2 = AD.Name_2
|
|
RG.VermittlerOffertenNr = OffertenNr
|
|
RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
|
|
RG.VermittlerStraße = AD.Straße
|
|
RG.Rechnung_an = 3
|
|
RG.OffertenNr = OffertenNr
|
|
|
|
RG.KundenNrZentrale = KD.KundenNrZentrale
|
|
RG.RechnungsKundenNr = AD.AdressenNr
|
|
RG.RechnungsLandKz = AD.LandKz
|
|
RG.RechnungsName_1 = AD.Name_1
|
|
RG.RechnungsName_2 = AD.Name_2
|
|
RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
|
|
RG.RechnungsStraße = AD.Straße
|
|
|
|
RG.RechnungsUstIdKz = AD.UstIdKz
|
|
RG.RechnungsUstIdNr = AD.UstIdNr
|
|
RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft
|
|
|
|
RG.Lastschrift = KD.Lastschrift
|
|
RG.Kunden_SVS = KD.SVS
|
|
RG.Steuerschlüssel = KD.Steuerschlüssel
|
|
RG.Vorkasse = KD.Vorkasse
|
|
RG.Vorlageprovision_Proz = KD.Vorlageprovision
|
|
RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen
|
|
RG.RechnungSprache = "DE"
|
|
|
|
RG.Anlage_2 = ""
|
|
RG.Anlage_3 = ""
|
|
RG.Anlage_4 = ""
|
|
RG.Anlage_5 = ""
|
|
RG.Anlage_6 = ""
|
|
|
|
RG.Text = ""
|
|
RG.EMailRechnungstext = Nothing ' ""
|
|
|
|
|
|
RG.Nettozahlungsziel = KD.Zahlungsziel
|
|
|
|
RG.SteuerpflichtigerGesamtbetrag = 0
|
|
RG.SteuerfreierGesamtbetrag = 0
|
|
RG.Status = 0 '<= Status während der Erfassung über die Maut/Diesel-Schnittstelle - Nach Abschluss der Datenübernahme Änderung auf 0 20231220 -> gleich auf 0 setzen!
|
|
|
|
RG.[Vorkosten] = 0
|
|
RG.[Erlös] = 0
|
|
'RG.[Buchungsjahr] = 0
|
|
RG.[Währungscode] = "EUR"
|
|
RG.ReErfZeitstempel = Now
|
|
|
|
|
|
RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
|
|
'RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum, RG.Firma_ID)
|
|
|
|
Dim sqlstr As String = ""
|
|
Dim useNettogesamtbetrag As Boolean = False
|
|
|
|
'If KdNr = "401715" Or KdNr = "401943" Or KdNr = "402179" Or KdNr = "402598" Or KdNr = "402656" Or KdNr = "402688" Or KdNr = "402719" Or KdNr = "402888" Or KdNr = "402933" Then
|
|
'MsgBox("Test")
|
|
'End If
|
|
|
|
Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
|
|
RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
|
|
|
|
Select Case Lieferant
|
|
Case "PLOSE"
|
|
|
|
'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
|
|
'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
|
|
' RG.LOAD_POSITIONEN_FROM_OFFERTE(OFFERTE)
|
|
|
|
sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] "
|
|
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode "
|
|
sqlstr &= " WHERE 1=1 "
|
|
sqlstr &= " AND plose_Fakturiert=0 "
|
|
sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) "
|
|
sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' "
|
|
sqlstr &= " AND plp_LeistungsNr is not null "
|
|
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
|
|
sqlstr &= " group by [plp_LeistungsNr]"
|
|
sqlstr &= " order by plp_LeistungsNr"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
|
|
|
|
For Each r In dt.Rows
|
|
Dim BLNr = r("plp_LeistungsNr")
|
|
|
|
'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung")
|
|
|
|
Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung")
|
|
Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung")
|
|
Dim LeistungsNr As Integer = r("plp_LeistungsNr")
|
|
|
|
allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
|
|
|
|
'Rückvergütung Consortio !!
|
|
If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!!
|
|
rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
|
|
End If
|
|
Next
|
|
|
|
|
|
|
|
Case "ASFINAG"
|
|
useNettogesamtbetrag = True
|
|
|
|
sqlstr = "SELECT '135' as LeistungsNr, 'MAUT AT lt. Auslage' as ProductCode, sum([netAmount]) as Netto ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as Brutto FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount <> 0 group by Kreditkarten.AdressenNr
|
|
UNION
|
|
SELECT '153' as LeistungsNr, 'MAUT AT lt. Auslage' as ProductCode, sum([netAmount]) as Netto ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as Brutto FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount = 0 group by Kreditkarten.AdressenNr"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
|
|
For Each r In dt.Rows
|
|
|
|
|
|
Dim NettoBetrag As Double = r("Netto")
|
|
Dim BruttoBetrag As Double = r("Brutto")
|
|
Dim LeistungsNr As Integer = r("LeistungsNr")
|
|
|
|
'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
|
|
'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
|
|
|
|
allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
|
|
|
|
Next
|
|
|
|
|
|
|
|
Case "UTA"
|
|
|
|
sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, sum(tblUTAImportNew.Gesamtbetrag_Netto_in_Darstellwährung) as Netto ,sum(tblUTAImportNew.Gesamtbetrag_Brutto_in_Darstellwährung) as Brutto /*,tblUTAFakturierwarenarten.Warenart, tblUTAImportNew.Fakturierwarenart*/
|
|
FROM tblUTAFakturierwarenarten
|
|
INNER JOIN (((Adressen INNER JOIN tblUTAImportNew ON Adressen.UTAKundenNr = tblUTAImportNew.Kundennummer)
|
|
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
|
|
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
|
|
where Offertenpositionen.LeistungsNr is not null AND Offertenpositionen.OffertenNr = " & OffertenNr & " AND Offertenpositionen.KundenNr = " & KdNr & " and cast(tblUTAImportNew.Rechnungsdatum as date) = '" & DateTimePicker2.Text & "' " &
|
|
"group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez /*, tblUTAFakturierwarenarten.Warenart,tblUTAImportNew.Fakturierwarenart*/" &
|
|
"having sum(tblUTAImportNew.Gesamtbetrag_Brutto_in_Darstellwährung) <> 0"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
|
|
|
'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
|
|
'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
|
|
|
|
For Each r In dt.Rows
|
|
|
|
Dim NettoBetrag As Double = r("Netto")
|
|
Dim BruttoBetrag As Double = r("Brutto")
|
|
Dim UstBetrag As Double = BruttoBetrag = NettoBetrag
|
|
Dim LeistungsNr As Integer = r("LeistungsNr")
|
|
|
|
|
|
|
|
allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag, UstBetrag)
|
|
|
|
Next
|
|
|
|
|
|
|
|
Case "MSE"
|
|
|
|
sqlstr = "select customer_id, LeistungsNr, sum(Netto) as Netto, Sum (Brutto) as Brutto, Sum (UST) as UST from (select cust.[customer_id], trans.device_product_type, Offertenpositionen.LeistungsNr ,
|
|
case when trans.device_product_type like '%System Fee' then sum(msts_fee_amount) + sum(transaction_gross_amount)
|
|
else sum(transaction_net_amount) End as Netto,
|
|
case when trans.device_product_type like '%System Fee' then sum(msts_fee_amount) + sum(transaction_gross_amount)
|
|
else sum(transaction_gross_amount) End as Brutto,
|
|
sum(USteuer_EUR) as UST
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left JOIN tblMSELeistungen ON (tblMSELeistungen.[Card Type] = trans.device_product_type) AND (tblMSELeistungen.[Transaction Country] = trans.transaction_country)
|
|
left JOIN Offertenpositionen ON cust.partner_customer_number = Offertenpositionen.KundenNr and tblMSELeistungen.LeistungsNr = Offertenpositionen.LeistungsNr and Offertenpositionen.OffertenNr = " & OffertenNr & "
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and isnull(trans.charged,0) = 0 and cust.[partner_customer_number] = " & KdNr & "
|
|
group by cust.[customer_id], trans.device_product_type, Offertenpositionen.LeistungsNr , Offertenpositionen.LeistungsBez ) as temp group by customer_id, LeistungsNr"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", 1200)
|
|
|
|
'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
|
|
|
|
'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
|
|
|
|
For Each r In dt.Rows
|
|
|
|
Dim NettoBetrag As Double = r("Netto")
|
|
Dim BruttoBetrag As Double = r("Brutto")
|
|
Dim UstBetrag As Double = r("UST")
|
|
Dim LeistungsNr As Integer = r("LeistungsNr")
|
|
|
|
|
|
allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag, UstBetrag)
|
|
|
|
Next
|
|
|
|
|
|
Case "IDS", "IDS_AT"
|
|
|
|
Dim sqlWhere = " and tblIDSTransactionsNew.OutletCountryCode"
|
|
sqlWhere &= IIf(Lieferant = "IDS", "<>740543", "=740543")
|
|
|
|
sqlstr = "
|
|
Select
|
|
Leistungen.LeistungsNr,
|
|
Leistungen.LeistungsBez,
|
|
Leistungen.BerechnungsartNr,
|
|
tblIDSTransactionsNew.KdNrVERAG,
|
|
SUM(tblIDSTransactionsNew.AmminclVAT) As Brutto,
|
|
SUM(tblIDSTransactionsNew.[TotalNetAmount]) As Netto,
|
|
SUM(tblIDSTransactionsNew.[VATAmount]) As Steuerbetrag,
|
|
SUM(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag]
|
|
FROM
|
|
Leistungen
|
|
INNER Join
|
|
tbl_IDS_Länder
|
|
On Leistungen.LeistungsNr = tbl_IDS_Länder.LeistungsNr
|
|
INNER Join
|
|
tblIDSTransactionsNew
|
|
On tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode
|
|
INNER Join
|
|
Adressen
|
|
On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
|
WHERE cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null and tblIDSTransactionsNew.KdNrVERAG = " & KdNr & sqlWhere & "
|
|
GROUP BY
|
|
tblIDSTransactionsNew.KdNrVERAG,
|
|
Leistungen.LeistungsNr,
|
|
Leistungen.LeistungsBez,
|
|
Leistungen.BerechnungsartNr
|
|
|
|
order by tblIDSTransactionsNew.KdNrVERAG"
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL", 1200)
|
|
|
|
'Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
|
|
|
|
'RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0
|
|
|
|
For Each r In dt.Rows
|
|
|
|
|
|
Dim NettoBetrag As Double = r("Netto")
|
|
Dim BruttoBetrag As Double = r("Brutto")
|
|
Dim UstBetrag As Double = r("Steuerbetrag")
|
|
Dim Rabatt As Double = r("SummevonRabattbetrag")
|
|
Dim LeistungsNr As Integer = r("LeistungsNr")
|
|
Dim LeistungsBez As String = r("LeistungsBez")
|
|
|
|
allPos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag - Rabatt, UstBetrag, LeistungsBez) 'bei IDS muss ebenfalls die LeistungsBez ident sein!
|
|
|
|
Next
|
|
|
|
End Select
|
|
|
|
|
|
Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL")
|
|
If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then
|
|
RG.Steuersatz_Proz = dtSt.Rows(0)(0)
|
|
End If
|
|
|
|
'cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag)
|
|
'Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen -> NICHT NOTWENDIG WEIL 440 nicht mehr FÜR Sammelrechnung verwendet wird!
|
|
'Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen -> NICHT NOTWENDIG WEIL 440/PP nicht mehr FÜR Sammelrechnung verwendet wird!
|
|
|
|
Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen
|
|
Call usrCntlFaktAbrechnung.setFixeTaxeMin(RG, 500) ' Fixe Taxe 441 errechnen
|
|
|
|
cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag)
|
|
|
|
RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim
|
|
|
|
RE = RG
|
|
|
|
If test Then
|
|
Return True
|
|
Else
|
|
|
|
If RG.SAVE Then
|
|
RE = RG
|
|
Return True
|
|
Else
|
|
Return False
|
|
End If
|
|
|
|
End If
|
|
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return ""
|
|
|
|
End Function
|
|
|
|
|
|
Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double, Optional UstBetrag As Double = 0, Optional leistungsBez As String = "")
|
|
Try
|
|
|
|
For Each o In OFFERTE.POSITIONEN
|
|
If o.LeistungsNr = LeistungsNr AndAlso IIf(leistungsBez <> "", o.LeistungsBez = leistungsBez, True) Then 'TODO: bei IDS muss ebenfalls die Leistungsbezeichnung eindeutig sein!, muss noch auf Mehrsprachigkeit geändert werden
|
|
|
|
'Dim PARK = RECHNUNG.POSITIONEN.FindAll(Function(x) (x.LeistungsNr = 313 Or x.LeistungsNr = 312))
|
|
'If PARK Is Nothing Then
|
|
|
|
'End If
|
|
|
|
Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
|
|
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr)
|
|
POS.LeistungsNr = o.LeistungsNr
|
|
POS.LeistungsBez = o.LeistungsBez
|
|
|
|
POS.BerechnungsartNr = o.BerechnungsartNr
|
|
'POS.Preis = BruttoBetrag
|
|
POS.Anzahl = 1
|
|
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
|
|
'Berrechnunggebühr wird immer vom übergebenen Betrag abzüglich UST berechnet (Nettobetrag), außer bei UTA!
|
|
POS.BGebBgl = IIf(LIEFERANT = "UTA", BruttoBetrag - UstBetrag, NettoBetrag - UstBetrag)
|
|
|
|
|
|
If POS.Steuerpflichtig Then
|
|
POS.SteuerpflichtigerBetrag = NettoBetrag
|
|
POS.Preis = NettoBetrag
|
|
Else
|
|
POS.SteuerfreierBetrag = BruttoBetrag
|
|
POS.Preis = BruttoBetrag
|
|
End If
|
|
|
|
POS.BGebLeistungsNr = o.BGebLeistungsNr
|
|
POS.BGebProzent = o.BGebProzent
|
|
POS.BGebMinBetrag = o.BGebMinBetrag
|
|
|
|
RG.POSITIONEN.Add(POS)
|
|
|
|
|
|
If (If(POS.BGebLeistungsNr, 0) > 0) AndAlso (If(POS.BGebProzent, 0) > 0) AndAlso (If(POS.BGebBgl, 0) > 0) Then
|
|
allPlosePosBGeb(RG, OFFERTE, POS.BGebLeistungsNr, POS.BGebBgl, POS.BGebProzent)
|
|
End If
|
|
|
|
Return True
|
|
End If
|
|
Next
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Function rabattPlosePos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double)
|
|
Try
|
|
Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
|
|
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(LeistungsNr)
|
|
POS.LeistungsNr = LEISTUNG.LeistungsNr
|
|
POS.LeistungsBez = "Rabatt " & LEISTUNG.LeistungsBez
|
|
|
|
POS.BerechnungsartNr = LEISTUNG.BerechnungsartNr
|
|
'POS.Preis = BruttoBetrag
|
|
POS.Anzahl = 1
|
|
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
|
|
' POS.BGebBgl = NettoBetrag* -1
|
|
|
|
If POS.Steuerpflichtig Then
|
|
POS.SteuerpflichtigerBetrag = NettoBetrag * -1
|
|
|
|
POS.Preis = NettoBetrag
|
|
Else
|
|
POS.SteuerfreierBetrag = BruttoBetrag * -1
|
|
POS.Preis = BruttoBetrag * -1
|
|
End If
|
|
|
|
RG.POSITIONEN.Add(POS)
|
|
|
|
Return True
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
Function allPlosePosBGeb(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, BGebLeistungsNr As Integer, BGebBgl As Double, BGebProzent As Double)
|
|
Try
|
|
|
|
Dim Betrag As Double = Math.Round(BGebBgl * BGebProzent, 1)
|
|
For Each o In OFFERTE.POSITIONEN
|
|
If o.LeistungsNr = BGebLeistungsNr Then
|
|
|
|
'Falls schon vorhanden...
|
|
Dim POS = RG.POSITIONEN.Find(Function(x) x.LeistungsNr = BGebLeistungsNr) 'And x.BerechnungsartNr = 9)
|
|
If POS Is Nothing Then
|
|
POS = New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
|
|
POS.Preis = 0
|
|
POS.SteuerpflichtigerBetrag = 0
|
|
POS.SteuerfreierBetrag = 0
|
|
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr)
|
|
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
|
|
|
|
POS.LeistungsNr = o.LeistungsNr
|
|
POS.LeistungsBez = o.LeistungsBez
|
|
|
|
POS.BerechnungsartNr = o.BerechnungsartNr
|
|
POS.Anzahl = 1
|
|
' POS.BGebLeistungsNr = BGebLeistungsNr
|
|
|
|
RG.POSITIONEN.Add(POS)
|
|
End If
|
|
|
|
POS.Preis += Betrag
|
|
|
|
If POS.Steuerpflichtig Then
|
|
POS.SteuerpflichtigerBetrag += Betrag
|
|
Else
|
|
POS.SteuerfreierBetrag += Betrag
|
|
End If
|
|
|
|
' RG.POSITIONEN.Add(POS)
|
|
Return True
|
|
|
|
End If
|
|
Next
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Private Sub dat_Sum_Von_ValueChanged(sender As Object, e As EventArgs) Handles dat_Sum_Von.ValueChanged, dat_Sum_Bis.ValueChanged, DateTimePicker2.ValueChanged
|
|
init()
|
|
End Sub
|
|
|
|
Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbx.CheckedChanged
|
|
Panel2.Enabled = cbx.Checked
|
|
End Sub
|
|
|
|
|
|
Function pruefData_PLOSE() As Boolean
|
|
|
|
pruefData_PLOSE = True
|
|
|
|
Try
|
|
Dim VERAGKdNr_DT As DataTable = SQL.loadDgvBySql("SELECT AdressenNr,PLOSEKundenNr FROM Adressen WHERE PLOSEKundenNr is not null order by PLOSEKundenNr", "FMZOLL")
|
|
Dim VERAGLeistungsNr_DT = SQL.loadDgvBySql("SELECT [plp_LeistungsNr],plp_ProductCode FROM [tblPLOSE_Produktbeschreibung] where plp_ProductCode is not null and plp_Firma IN ('PSS','PU') order by plp_ProductCode ", "FMZOLL")
|
|
Dim OffertenNr_DT = SQL.loadDgvBySql("SELECT KundenNr,OffertenNr FROM [Offerten] where OffertenNr = 80 order by KundenNr", "FMZOLL")
|
|
Dim KundeLeistungsNr_DT = SQL.loadDgvBySql("SELECT [LeistungsNr],KundenNr FROM [Offertenpositionen] where OffertenNr = 80 order by KundenNr", "FMZOLL")
|
|
|
|
Dim VERAGKdNr = -1
|
|
Dim VERAGLeistungsNr = -1
|
|
Dim found = False
|
|
Dim results As DataRow()
|
|
|
|
Dim cnt = 0
|
|
Dim cntTotal = MyDatagridview1.Rows.Count()
|
|
|
|
checkFixeTaxeImOffert("PLOSE", VERAGKdNr_DT)
|
|
|
|
|
|
For Each r As DataGridViewRow In MyDatagridview1.Rows
|
|
'KUNDEN-NR / PLOSE KD-NR
|
|
results = VERAGKdNr_DT.Select("PLOSEKundenNr = '" & r.Cells("plose_POLSEKundennummer").Value & "'")
|
|
If results.Length > 0 Then
|
|
'Gefunden!
|
|
r.Cells("VERAGKdNr").Value = results(0)("PLOSEKundenNr")
|
|
r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
|
|
VERAGKdNr = results(0)("AdressenNr")
|
|
found = True
|
|
Else
|
|
r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
|
|
pruefData_PLOSE = False
|
|
End If
|
|
|
|
|
|
|
|
'VERAG/PLOSE LEISTUNG
|
|
results = VERAGLeistungsNr_DT.Select("plp_ProductCode = '" & r.Cells("plose_ProduktCode").Value & "' AND plp_LeistungsNr is not null")
|
|
If results.Length > 0 Then
|
|
'Gefunden!
|
|
VERAGLeistungsNr = results(0)("plp_LeistungsNr")
|
|
r.Cells("VERAGLeistungsNr").Value = results(0)("plp_LeistungsNr")
|
|
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.MintCream
|
|
found = True
|
|
Else
|
|
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.PapayaWhip
|
|
pruefData_PLOSE = False
|
|
End If
|
|
|
|
|
|
'VERAG OFFERT 80
|
|
'Default -> Nicht gefunden
|
|
'Dim OffertenNr_DT = SQL.loadDgvBySql("SELECT KundenNr,OffertenNr FROM [Offerten] where OffertenNr = 80 AND KundenNr = '" & VERAGKdNr & "'", "FMZOLL")
|
|
results = OffertenNr_DT.Select("KundenNr = '" & VERAGKdNr & "'")
|
|
If results.Length > 0 Then
|
|
'Gefunden!
|
|
r.Cells("KundeOffertenNr").Value = results(0)("OffertenNr")
|
|
r.Cells("KundeOffertenNr").Style.BackColor = Color.MintCream
|
|
Else
|
|
pruefData_PLOSE = False
|
|
r.Cells("KundeOffertenNr").Style.BackColor = Color.PapayaWhip
|
|
End If
|
|
|
|
|
|
|
|
'VERAG LEISTUNGS-NR
|
|
'Default -> Nicht gefunden
|
|
'Dim KundeLeistungsNr_DT = SQL.loadDgvBySql("SELECT [LeistungsNr],KundenNr FROM [Offertenpositionen] where OffertenNr = 80 AND KundenNr = '" & VERAGKdNr & "' AND LeistungsNr = '" & VERAGLeistungsNr & "'", "FMZOLL")
|
|
results = KundeLeistungsNr_DT.Select("KundenNr = '" & VERAGKdNr & "' AND LeistungsNr = '" & VERAGLeistungsNr & "'")
|
|
If results.Length > 0 Then
|
|
'Gefunden!
|
|
r.Cells("KundeLeistungsNr").Value = VERAGLeistungsNr
|
|
r.Cells("KundeLeistungsNr").Style.BackColor = Color.MintCream
|
|
Else
|
|
r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
|
|
pruefData_PLOSE = False
|
|
End If
|
|
|
|
If cnt Mod 5 = 0 Then
|
|
lblProzPruef.Text = CInt(cnt / cntTotal * 100) & " %"
|
|
lblProzPruef.Refresh()
|
|
'Me.Refresh()
|
|
End If
|
|
|
|
cnt += 1
|
|
|
|
Next
|
|
|
|
'lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %" '100
|
|
'lblProzPruef.Refresh()
|
|
Me.Refresh()
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
pruefData_PLOSE = False
|
|
End Try
|
|
End Function
|
|
|
|
Function pruefData_ASFINAG() As Boolean
|
|
pruefData_ASFINAG = True
|
|
Try
|
|
|
|
Dim dtAsfinagKartenpruef As DataTable = SQL.loadDgvBySql("
|
|
SELECT cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr, (SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11))) AS Offerte_11
|
|
FROM dbo.tblAsfinagMaut
|
|
LEFT JOIN [dbo].[Kreditkarten] on cardnumber= Kreditkarten.KartenNr
|
|
GROUP BY cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr
|
|
HAVING cardnumber is null or (cardnumber is not null AND ((Kreditkarten.AdressenNr) Is Not Null) AND (((SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11)))) Is Null))
|
|
ORDER BY cardnumber", "FMZOLL")
|
|
|
|
|
|
Dim dtKunden As DataTable = SQL.loadDgvBySql("SELECT Distinct(Kreditkarten.AdressenNr) FROM dbo.tblAsfinagMaut LEFT JOIN [dbo].[Kreditkarten] on cardnumber= Kreditkarten.KartenNr", "FMZOLL")
|
|
|
|
checkFixeTaxeImOffert("ASFINAG", dtKunden)
|
|
|
|
Dim VERAGKdNr = -1
|
|
Dim VERAGLeistungsNr = -1
|
|
Dim found = False
|
|
Dim results As DataRow()
|
|
|
|
Dim cnt = MyDatagridview1.Rows.Count
|
|
|
|
MyDatagridview1.ClearSelection()
|
|
MyDatagridview1.DataSource = dtAsfinagKartenpruef
|
|
Dim count = MyDatagridview1.Rows.Count()
|
|
If count > 0 Then
|
|
lblProzPruef.Text = CInt(cnt / count * 100) & " %"
|
|
Else
|
|
cbxASFINAGAbgerechnet.Checked = True
|
|
End If
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
pruefData_ASFINAG = False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Function pruefData_UTA() As Boolean
|
|
pruefData_UTA = True
|
|
Try
|
|
|
|
Dim dtUTAKundennummern As DataTable = SQL.loadDgvBySql("Select Distinct(tblUTAImportNew.Kundennummer)
|
|
FROM tblUTAImportNew LEFT JOIN Adressen ON tblUTAImportNew.Kundennummer = Adressen.UTAKundenNr WHERE cast(tblUTAImportNew.Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'
|
|
GROUP BY tblUTAImportNew.Kundennummer, Adressen.UTAKundenNr
|
|
HAVING (((Adressen.UTAKundenNr) Is Null))", "FMZOLL")
|
|
|
|
If dtUTAKundennummern.Rows.Count > 0 Then
|
|
|
|
pruefData_UTA = False
|
|
|
|
If dtUTAKundennummern.Rows.Count = 1 AndAlso dtUTAKundennummern.Rows(0).Item("Kundennummer") = 868070 Then 'ist VERAG -> OK
|
|
pruefData_UTA = True
|
|
Else
|
|
MsgBox(dtUTAKundennummern.Rows.Count & " fehlende Kundennummern")
|
|
End If
|
|
|
|
|
|
|
|
End If
|
|
|
|
|
|
Dim dtUTAFakturierwarenarten As DataTable = SQL.loadDgvBySql("SELECT tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland
|
|
FROM tblUTAImportNew LEFT JOIN tblUTALeistungen ON (tblUTAImportNew.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart) AND (tblUTAImportNew.Lieferland = tblUTALeistungen.Lieferland)
|
|
WHERE cast(tblUTAImportNew.Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'
|
|
GROUP BY tblUTAImportNew.Fakturierwarenart, tblUTAImportNew.Lieferland, tblUTALeistungen.Fakturierwarenart, tblUTALeistungen.Lieferland
|
|
HAVING (((tblUTALeistungen.Fakturierwarenart) Is Null) AND ((tblUTALeistungen.Lieferland) Is Null))", "FMZOLL")
|
|
|
|
|
|
If dtUTAFakturierwarenarten.Rows.Count > 0 Then
|
|
|
|
pruefData_UTA = False
|
|
MsgBox(dtUTAFakturierwarenarten.Rows.Count & " Fakturwarenarten in tblUTALeistung nicht hinterlegt")
|
|
|
|
End If
|
|
|
|
Dim dtUTAOffertenPositionen As DataTable = SQL.loadDgvBySql("SELECT * FROM vwUTA_PrüfungInkonsistenzVERAGOffertenpositionen2_new", "FMZOLL")
|
|
|
|
If dtUTAOffertenPositionen.Rows.Count > 0 Then
|
|
pruefData_UTA = False
|
|
MsgBox(dtUTAOffertenPositionen.Rows.Count & " fehlende Offertenpostionen")
|
|
|
|
End If
|
|
|
|
Dim dtKundenNr As DataTable = SQL.loadDgvBySql("SELECT Distinct(Adressen.AdressenNr)
|
|
FROM tblUTAImportNew LEFT JOIN Adressen ON tblUTAImportNew.Kundennummer = Adressen.UTAKundenNr
|
|
WHERE cast(tblUTAImportNew.Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "'
|
|
GROUP BY Adressen.AdressenNr", "FMZOLL")
|
|
|
|
checkFixeTaxeImOffert("UTA", dtKundenNr)
|
|
|
|
|
|
Dim fehlendeRechnungen As Integer = 0
|
|
|
|
fehlendeRechnungen = CInt((New SQL).getValueTxtBySql("select count(distinct(tblUTAImportNew.Abrechnungsnummer)) as Anzahl from tblUTAImportNew where daId is null and cast([Rechnungsdatum] as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL"))
|
|
|
|
If fehlendeRechnungen > 0 Then
|
|
pruefData_UTA = False
|
|
Dim hint As String = ""
|
|
If fehlendeRechnungen < 10 Then
|
|
hint &= SQL.getValueTxtBySql("select distinct(Rechnungsnummer_pro_Lieferland) from tblUTAImportNew where daId is null and cast(Rechnungsdatum as Date) = '" & DateTimePicker2.Text & "' and Lieferland <> 'ROM' and Steuerliches_Lieferland <> 'ROM'", "FMZOLL")
|
|
End If
|
|
MsgBox("Es fehlen " & fehlendeRechnungen & " PDF-Rechnungen in der Datenbank!" & vbNewLine & "Diese Dokumente (von Rechnung " & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
|
|
End If
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
pruefData_UTA = False
|
|
End Try
|
|
End Function
|
|
|
|
Function pruefData_MSE() As Boolean
|
|
pruefData_MSE = True
|
|
Try
|
|
|
|
Dim fehlendeKundenr As Integer = CInt((New SQL).getValueTxtBySql("select count(*) from (SELECT cust.customer_id, cust.customer_name, Adressen.AdressenNr, (SELECT Offerten.OffertenNr FROM Offerten WHERE (((Offerten.KundenNr)=isnull(Adressen.[AdressenNr],0)) AND ((Offerten.OffertenNr)=23))) AS Offerte_23
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
left join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
|
|
WHERE bills.[invoice_date] = '" & DateTimePicker2.Text & "'
|
|
GROUP BY cust.customer_id, cust.customer_name, Adressen.AdressenNr
|
|
HAVING (((cust.customer_id) Is Not Null) AND ((Adressen.AdressenNr) Is Null)) OR (((cust.customer_id) Is Not Null) AND ((Adressen.AdressenNr) Is Not Null) AND (((SELECT Offerten.OffertenNr FROM Offerten WHERE (((Offerten.KundenNr)=isnull(Adressen.[AdressenNr],0)) AND ((Offerten.OffertenNr)=23)))) Is Null)))as a", "FMZOLL"))
|
|
|
|
If fehlendeKundenr > 0 Then
|
|
pruefData_MSE = False
|
|
MsgBox("Es sind " & fehlendeKundenr & " Kunden nicht der MSE-KundenNr bzw. fehlt die Offerte verknüpft!" & vbNewLine & "Diese Kunden (von Rechnung " & DateTimePicker2.Text & ") müssen aktualisiert werden. (bitte an Administrator wenden).")
|
|
Return False
|
|
End If
|
|
|
|
Dim sqlStringfalscheLeistungsNr = "select count (*) from (Select trans.device_product_type, trans.transaction_country,trans.transaction_product_name, trans.transaction_product_id, cust.[customer_id], trans.partner_haulier_id, cust.customer_name,
|
|
sum(trans.transaction_gross_amount) As [Summe Transaction Amount ( EUR )],
|
|
sum(trans.msts_fee_amount) As [Summe Admin Fee Amount ( EUR )],
|
|
sum(trans.msts_fee_amount) As [Summe Fees And Costs Amount ( EUR )],
|
|
|
|
sum(trans.msts_vat_amount) As [Summe VAT Amount ( EUR )],
|
|
sum(trans.transaction_gross_amount) As [Summe Total Amount ( EUR )]
|
|
From [VERAG].[dbo].[tblMSESettlements] as bills
|
|
Left Join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
Left Join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
Left Join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] And inv.customer_number = cust.[customer_id] And trans.transaction_country = inv.country
|
|
Left Join tblMSELeistungen ON trans.device_product_type = tblMSELeistungen.[Card Type] And trans.transaction_country = tblMSELeistungen.[Transaction Country]
|
|
WHERE((trans.transaction_gross_amount <> 0) And tblMSELeistungen.LeistungsNr Is Null) And bills.[invoice_date] = '" & DateTimePicker2.Text & "'
|
|
GROUP by trans.device_product_type, trans.transaction_country, trans.transaction_product_name, trans.transaction_product_id, cust.[customer_id], trans.partner_haulier_id, cust.customer_name) as a"
|
|
|
|
Dim falscheLeistungsnummern As Integer = CInt((New SQL).getValueTxtBySql(sqlStringfalscheLeistungsNr, "FMZOLL"))
|
|
|
|
|
|
If falscheLeistungsnummern > 0 Then
|
|
If Not SQL.doSQL("update [VERAG].[dbo].[tblMSETransactions] set device_product_type = 'HUGO SIM renewal cost' where transaction_product_id = 453 and transaction_product_name like 'HUGO SIM renewal cost%'", "FMZOLL") Then
|
|
MsgBox("Fehler beim Setzen der HUGO SIM renewal cost")
|
|
Return False
|
|
End If
|
|
|
|
falscheLeistungsnummern = CInt((New SQL).getValueTxtBySql(sqlStringfalscheLeistungsNr, "FMZOLL"))
|
|
If falscheLeistungsnummern > 0 Then
|
|
pruefData_MSE = False
|
|
MsgBox("Es fehlen " & falscheLeistungsnummern & " Leistungsnummern!" & vbNewLine & "Diese Leistungssnummern (von Rechnung " & DateTimePicker2.Text & ") müssen nachgetragen werden. (bitte an Administrator wenden, tblMSELeistungen).")
|
|
Return False
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
Dim nichtAufAbgerechnetGesetzteTransactionen As Integer = 0
|
|
|
|
nichtAufAbgerechnetGesetzteTransactionen = CInt((New SQL).getValueTxtBySql("select count (*) FROM [VERAG].[dbo].[tblMSESettlements] as bills inner join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id] where trans.[transaction_status] <> 'Billed' and [invoice_date] = '" & DateTimePicker2.Text & "'", "FMZOLL"))
|
|
|
|
If nichtAufAbgerechnetGesetzteTransactionen > 0 Then
|
|
Dim hint As String = ""
|
|
pruefData_MSE = False
|
|
If nichtAufAbgerechnetGesetzteTransactionen > 500 Then
|
|
hint = "Batch-Nr: "
|
|
hint &= SQL.getValueTxtBySql("select distinct(trans.batch_seq_nr) FROM [VERAG].[dbo].[tblMSESettlements] as bills inner join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id] where trans.[transaction_status] <> 'Billed' and [invoice_date] = '" & DateTimePicker2.Text & "'", "FMZOLL")
|
|
End If
|
|
MsgBox("Es sind " & nichtAufAbgerechnetGesetzteTransactionen & " Transaktionen in der Datenbank, die noch nicht auf VERRECHNET gesetzt sind!" & vbNewLine & "Diese Transaktionen (von Rechnung " & DateTimePicker2.Text & ") müssen aktualisiert werden. (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
|
|
End If
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT Distinct(Adressen.AdressenNr)
|
|
FROM [VERAG].[dbo].[tblMSESettlements] as bills
|
|
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.[invoice_id] = bills.[invoice_number] and inv.customer_number = cust.[customer_id] and trans.transaction_country = inv.country
|
|
left join adressen ON cust.[customer_id] = Adressen.MSEKundenNr
|
|
WHERE bills.[invoice_date] = '" & DateTimePicker2.Text & "' ", "FMZOLL")
|
|
|
|
checkFixeTaxeImOffert("MSE", dt)
|
|
|
|
'das muss die letzte Prüfung sein, da uU eine Transaktion fehlen kann!
|
|
Dim fehlendeTransactionen As Integer = 0
|
|
|
|
fehlendeTransactionen = CInt((New SQL).getValueTxtBySql("select count(*) FROM [VERAG].[dbo].[tblMSESettlements] where [invoice_date] = '" & DateTimePicker2.Text & "' AND [transaction_id] not in (select [transaction_id] from [VERAG].[dbo].[tblMSETransactions]) ", "FMZOLL"))
|
|
|
|
If fehlendeTransactionen > 0 Then
|
|
pruefData_MSE = False
|
|
Dim hint As String = ""
|
|
If fehlendeTransactionen > 500 Then
|
|
hint = "Bsp. Transaction-ID: "
|
|
hint &= SQL.getValueTxtBySql("select top(1) transaction_id FROM [VERAG].[dbo].[tblMSESettlements] where [invoice_date] = '" & DateTimePicker2.Text & "' AND [transaction_id] not in (select [transaction_id] from [VERAG].[dbo].[tblMSETransactions]) ", "FMZOLL")
|
|
End If
|
|
MsgBox("Es fehlen " & fehlendeTransactionen & " Transaktionen in der Datenbank!" & vbNewLine & "Diese Transaktionen (von Rechnung " & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
pruefData_MSE = False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Function pruefData_IDS() As Boolean
|
|
pruefData_IDS = True
|
|
Try
|
|
|
|
|
|
|
|
Dim sqlStringfehlendeKdNr = "SELECT count(*) from tblIDSTransactionsNew as trans left join tbl_IDS_Kunden as Kunde on Kunde.CustomerCode = trans.CustomerCode where cast(trans.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' and Kunde.CustomerCode is null and trans.[CustomerCode] not in (60004479,60025994)" 'Verag360 und VeragAG
|
|
|
|
Dim fehlendeKdNr As Integer = CInt((New SQL).getValueTxtBySql(sqlStringfehlendeKdNr, "FMZOLL"))
|
|
If fehlendeKdNr > 0 Then
|
|
pruefData_IDS = False
|
|
MsgBox("Bei " & fehlendeKdNr & " Kunden fehlt die Zuweisung zur IDS-Kundentabelle!" & vbNewLine & "Diese Kundennummern (von Rechnungsdatum " & DateTimePicker2.Text & ") müssen nachgetragen werden.")
|
|
Return False
|
|
End If
|
|
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql("Select distinct(tblIDSTransactionsNew.KdNrVERAG) from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "'", "FMZOLL")
|
|
|
|
checkFixeTaxeImOffert("IDS", dt)
|
|
checkFixeTaxeImOffert("IDS_AT", dt)
|
|
|
|
If dt.Rows.Count > 0 Then
|
|
Dim counter As Integer = 0
|
|
For Each r In dt.Rows
|
|
Dim kundenNr = r.Item("KdNrVERAG")
|
|
If Not IsDBNull(kundenNr) AndAlso kundenNr > 0 Then
|
|
Dim sqlStringfehlendeLeistungsNr = " select count(*) from (SELECT Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG, Offertenpositionen.LeistungsNr as LeistungsNr2, Offertenpositionen.LeistungsBez as LeistungsBez2 FROM Leistungen INNER Join tbl_IDS_Länder On Leistungen.LeistungsNr = tbl_IDS_Länder.LeistungsNr INNER Join tblIDSTransactionsNew On tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode Left JOIN Offertenpositionen on Offertenpositionen.KundenNr = " & kundenNr & " and Leistungen.LeistungsNr = Offertenpositionen.LeistungsNr and Leistungen.LeistungsBez = Offertenpositionen.LeistungsBez
|
|
and ( Offertenpositionen.OffertenNr=17 or Offertenpositionen.OffertenNr=21) where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and tblIDSTransactionsNew.KdNrVERAG = " & kundenNr & " and
|
|
Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez ) as t1"
|
|
Dim fehlendeLeistungsNr As Integer = CInt((New SQL).getValueTxtBySql(sqlStringfehlendeLeistungsNr, "FMZOLL"))
|
|
If fehlendeLeistungsNr > 0 Then
|
|
counter += fehlendeLeistungsNr
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
If counter > 0 Then
|
|
MsgBox("Bei " & counter & " Leistungen fehlt die Offertenzuweisung !" & vbNewLine & "Diese Offerten (von Rechnungsdatum " & DateTimePicker2.Text & ") müssen nachgetragen werden.")
|
|
Return False
|
|
End If
|
|
|
|
End If
|
|
|
|
Dim OBONumberOderVRNumberfehlern As Integer = 0
|
|
|
|
OBONumberOderVRNumberfehlern = CInt((New SQL).getValueTxtBySql("select count(*) from [tblIDSTransactionsNew] WHERE cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null AND [VRNumber] is null AND [OBONumber] is null", "FMZOLL"))
|
|
|
|
If OBONumberOderVRNumberfehlern > 0 Then
|
|
Dim hint As String = ""
|
|
pruefData_IDS = False
|
|
MsgBox("Bei " & OBONumberOderVRNumberfehlern & " Transaktionen fehlt die OBONumber oder VRNumber!" & vbNewLine & "Diese Transaktionen (von Rechnung " & DateTimePicker2.Text & ") müssen aktualisiert werden. (bitte an Administrator wenden).")
|
|
End If
|
|
|
|
|
|
|
|
Dim IDSRechnungungenVorhanden As Integer = 0
|
|
|
|
IDSRechnungungenVorhanden = CInt((New SQL).getValueTxtBySql("select count(*) from tblIDSInvoicesNew where cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL"))
|
|
|
|
If IDSRechnungungenVorhanden < 1 Then
|
|
pruefData_IDS = False
|
|
Dim hint As String = ""
|
|
MsgBox("Es sind keine Rechnungen in der Datenbank, vermutlich noch nicht (vollständig) geladen!" & vbNewLine & "Diese Rechnungen vom" & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
|
|
End If
|
|
|
|
|
|
|
|
Dim fehlendeRechnungen As Integer = 0
|
|
|
|
fehlendeRechnungen = CInt((New SQL).getValueTxtBySql("select count(*) from tblIDSInvoicesNew where DocumentName is null and cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL"))
|
|
|
|
If fehlendeRechnungen > 0 Then
|
|
pruefData_IDS = False
|
|
Dim hint As String = ""
|
|
If fehlendeRechnungen < 10 Then
|
|
hint &= SQL.getValueTxtBySql("select distinct(Invoicenumber) from tblIDSInvoicesNew where DocumentName is null and cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL")
|
|
End If
|
|
MsgBox("Es fehlen " & fehlendeRechnungen & " PDF-Rechnungen in der Datenbank!" & vbNewLine & "Diese Dokumente (von Rechnung " & DateTimePicker2.Text & ") müssen nachgeladen werden (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
|
|
End If
|
|
|
|
Dim RechnenWertNichtEingetragen As Integer = CInt((New SQL).getValueTxtBySql("select count(*) from [tblIDSTransactionsNew] WHERE cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[UStVAn_ID] is null AND [Rechenwert] is null and CustomerCode not in (60004479,60025994) ", "FMZOLL")) 'Verag360 und VeragAG
|
|
|
|
If RechnenWertNichtEingetragen > 0 Then
|
|
pruefData_IDS = False
|
|
MsgBox("Es wurden bei " & RechnenWertNichtEingetragen & " Transaktionen die Rechenwerte nicht eingetragen!" & vbNewLine & "Diese müssen nacherfasst werden (von Rechnungsdatum " & DateTimePicker2.Text & ").")
|
|
Return False
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
pruefData_IDS = False
|
|
End Try
|
|
End Function
|
|
|
|
Function pruefData_PLOSE_old() As Boolean
|
|
pruefData_PLOSE_old = True
|
|
Try
|
|
Dim cnt = 0
|
|
|
|
For Each r As DataGridViewRow In MyDatagridview1.Rows
|
|
Dim VERAGKdNr = SQL.getValueTxtBySql("SELECT TOP 1 AdressenNr FROM Adressen WHERE PLOSEKundenNr='" & r.Cells("plose_POLSEKundennummer").Value & "'", "FMZOLL")
|
|
|
|
If VERAGKdNr <> "" Then
|
|
r.Cells("VERAGKdNr").Value = VERAGKdNr
|
|
r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
|
|
Else
|
|
pruefData_PLOSE_old = False
|
|
r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
|
|
End If
|
|
Dim VERAGLeistungsNr = SQL.getValueTxtBySql("SELECT TOP (1) [plp_LeistungsNr] FROM [tblPLOSE_Produktbeschreibung] where plp_ProductCode='" & r.Cells("plose_ProduktCode").Value & "' and plp_Firma IN ('PSS','PU') ", "FMZOLL")
|
|
If VERAGLeistungsNr <> "" Then
|
|
r.Cells("VERAGLeistungsNr").Value = VERAGLeistungsNr
|
|
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.MintCream
|
|
Else
|
|
pruefData_PLOSE_old = False
|
|
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.PapayaWhip
|
|
End If
|
|
|
|
|
|
Dim OffertenNr = SQL.getValueTxtBySql("SELECT TOP 1 OffertenNr FROM [Offerten] where KundenNr='" & VERAGKdNr & "' AND OffertenNr = 80 ", "FMZOLL")
|
|
If OffertenNr <> "" Then
|
|
r.Cells("KundeOffertenNr").Value = OffertenNr
|
|
r.Cells("KundeOffertenNr").Style.BackColor = Color.MintCream
|
|
Else
|
|
pruefData_PLOSE_old = False
|
|
r.Cells("KundeOffertenNr").Style.BackColor = Color.PapayaWhip
|
|
End If
|
|
|
|
If VERAGLeistungsNr <> "" Then
|
|
|
|
Dim KundeLeistungsNr = SQL.getValueTxtBySql("SELECT TOP 1 [LeistungsNr] FROM [Offertenpositionen] where LeistungsNr='" & VERAGLeistungsNr & "' and KundenNr='" & VERAGKdNr & "' AND OffertenNr = 80", "FMZOLL")
|
|
If KundeLeistungsNr <> "" Then
|
|
r.Cells("KundeLeistungsNr").Value = VERAGLeistungsNr
|
|
r.Cells("KundeLeistungsNr").Style.BackColor = Color.MintCream
|
|
Else
|
|
pruefData_PLOSE_old = False
|
|
r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
|
|
End If
|
|
Else
|
|
pruefData_PLOSE_old = False
|
|
r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
|
|
End If
|
|
|
|
|
|
If cnt Mod 5 = 0 Then
|
|
lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %"
|
|
lblProzPruef.Refresh()
|
|
Me.Refresh()
|
|
End If
|
|
|
|
cnt += 1
|
|
|
|
Next
|
|
lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %" '100
|
|
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
pruefData_PLOSE_old = False
|
|
End Try
|
|
End Function
|
|
|
|
|
|
Private Sub MyDatagridview1_SelectionChanged(sender As Object, e As EventArgs) Handles MyDatagridview1.SelectionChanged
|
|
If MyDatagridview1.SelectedRows.Count > 0 Then
|
|
If MyDatagridview1.Columns("VERAGKdNr") IsNot Nothing Then
|
|
If IsNumeric(MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value) AndAlso MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value > 0 Then
|
|
btnKunde.Enabled = True
|
|
Else
|
|
btnKunde.Enabled = False
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub btnKunde_Click(sender As Object, e As EventArgs) Handles btnKunde.Click
|
|
If MyDatagridview1.SelectedRows.Count > 0 Then
|
|
If MyDatagridview1.Columns("VERAGKdNr") IsNot Nothing Then
|
|
If IsNumeric(MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value) AndAlso MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value > 0 Then
|
|
cProgramFunctions.openKundenblatt(MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value, Me.FindForm)
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
|
|
|
|
|
|
|
If test Then
|
|
If Not vbYes = MsgBox("Aktuell ist der Testlauf aktiviert, wirklich fortfahren?", vbYesNoCancel) Then Exit Sub
|
|
End If
|
|
|
|
If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausgeführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then
|
|
|
|
If Not checkAbrechnungsdatum(datPloseAnhang.Value) Then Exit Sub
|
|
|
|
MautD_Befuellen()
|
|
End If
|
|
End Sub
|
|
|
|
Function MautD_Befuellen(Optional kdNr = "", Optional _Lieferant = "") As Boolean
|
|
|
|
Select Case LIEFERANT
|
|
Case "PLOSE" : deleteMautD("PLOSE") : Return genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
|
|
Case "ASFINAG" : deleteMautD("AT") : Return genASFINAGInsertMautAT(kdNr)
|
|
Case "UTA" : deleteMautD("UTA") : Return genUTAInsertMaut(kdNr)
|
|
Case "MSE" : deleteMautD("MSE") : Return genMSEInsertMaut(kdNr)
|
|
End Select
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Sub setFakturiert(Lieferant As String)
|
|
PictureBox1.Visible = False
|
|
|
|
Select Case Lieferant
|
|
Case "PLOSE"
|
|
If SQL.doSQL("UPDATE tblPLOSE_Details SET plose_Fakturiert=1 WHERE plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' ", "FMZOLL") Then
|
|
PictureBox1.Visible = True
|
|
End If
|
|
Case "UTA"
|
|
If SQL.doSQL("UPDATE [tblUTAImportNew] set charged=1 where chargedDatetime is not null and isnull(charged,0) = 0 And tblUTAImportNew.Rechnungsdatum = '" & DateTimePicker2.Text & "'", "FMZOLL") Then
|
|
PictureBox1.Visible = True
|
|
End If
|
|
Case "MSE"
|
|
If SQL.doSQL("UPDATE [VERAG].[dbo].[tblMSETransactions] Set charged = 1
|
|
From [VERAG].[dbo].[tblMSESettlements] as bills
|
|
inner join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
|
|
inner join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
|
|
where bills.invoice_date = '" & DateTimePicker2.Text & "' and trans.chargedDatetime is not null and isnull(trans.charged,0) = 0 ", "FMZOLL") Then
|
|
PictureBox1.Visible = True
|
|
End If
|
|
|
|
Case "IDS"
|
|
If SQL.doSQL("UPDATE [VERAG].[dbo].[tblIDSTransactionsNew] Set charged = 1
|
|
FROM [VERAG].[dbo].[tblIDSTransactionsNew]
|
|
where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and chargedDatetime is not null and isnull(charged,0) = 0 and tblIDSTransactionsNew.OutletCountryCode <> 740543 ", "FMZOLL") Then
|
|
PictureBox1.Visible = True
|
|
End If
|
|
|
|
Case "IDS_AT"
|
|
If SQL.doSQL("UPDATE [VERAG].[dbo].[tblIDSTransactionsNew] Set charged = 1
|
|
FROM [VERAG].[dbo].[tblIDSTransactionsNew]
|
|
where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and chargedDatetime is not null and isnull(charged,0) = 0 and tblIDSTransactionsNew.OutletCountryCode = 740543 ", "FMZOLL") Then
|
|
PictureBox1.Visible = True
|
|
End If
|
|
Case Else
|
|
MsgBox("Funktion setFaktiuriert für den Lieferant " & Lieferant & " nicht definiert!")
|
|
End Select
|
|
|
|
End Sub
|
|
|
|
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
|
|
|
|
If test Then
|
|
If Not vbYes = MsgBox("Aktuell ist der Testlauf aktiviert, wirklich fortfahren?", vbYesNoCancel) Then Exit Sub
|
|
End If
|
|
|
|
If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausgeführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then
|
|
Select Case LIEFERANT
|
|
Case "PLOSE" : setFakturiert(LIEFERANT)
|
|
Case "UTA" : setFakturiert(LIEFERANT)
|
|
Case "MSE" : setFakturiert(LIEFERANT)
|
|
Case "ASFINAG" : setFakturiert_ASFINAG()
|
|
Case "IDS" : setFakturiert(LIEFERANT) : setFakturiert("IDS_AT")
|
|
End Select
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
|
|
Try
|
|
|
|
Dim connectionString = ""
|
|
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\DEVELOPER\f\FMZoll\MautD.accdb"
|
|
Else
|
|
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
|
|
End If
|
|
|
|
Dim con As New OleDbConnection(connectionString)
|
|
Dim cmd As New OleDbCommand
|
|
Dim var1 As String
|
|
|
|
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
|
|
Dim reader As OleDbDataReader = Nothing
|
|
|
|
|
|
Dim ergebnis = ""
|
|
|
|
con.Open()
|
|
Try
|
|
'Zeitstempel
|
|
Dim SQLQuery = "SELECT COUNT(*) FROM tblMautbericht "
|
|
|
|
Using Command As New OleDbCommand(SQLQuery, con)
|
|
|
|
ergebnis = Command.ExecuteScalar
|
|
Command.Dispose()
|
|
End Using
|
|
|
|
|
|
|
|
Catch ex2 As System.Exception
|
|
MsgBox("err: " & ex2.Message & ex2.StackTrace)
|
|
|
|
Finally
|
|
If reader IsNot Nothing Then reader.Close()
|
|
End Try
|
|
|
|
|
|
con.Close()
|
|
|
|
|
|
MsgBox("Ergebnis: " & ergebnis)
|
|
Catch ex As System.Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
|
|
End Sub
|
|
|
|
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
|
|
initLieferant("UTA", sender)
|
|
End Sub
|
|
|
|
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
|
|
initLieferant("ASFINAG", sender)
|
|
End Sub
|
|
|
|
Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click
|
|
initLieferant("IDS", sender)
|
|
End Sub
|
|
|
|
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
|
|
initLieferant("MSE", sender)
|
|
End Sub
|
|
|
|
Private Function setFakturiert_ASFINAG() As Boolean
|
|
'Abrechnungsdatum setzen
|
|
|
|
If cbxASFINAGAbgerechnet.Checked = True Then
|
|
cbxASFINAGAbgerechnet.Checked = False
|
|
End If
|
|
|
|
If MyDatagridview1.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten zum Abrechnen vorhanden!")
|
|
Return False
|
|
End If
|
|
|
|
Dim f As New frmDatumsabfrage()
|
|
f.ShowDialog()
|
|
If f.DialogResult = DialogResult.OK Then
|
|
datum = f.Datum
|
|
SQL.doSQL("DELETE FROM tblAsfinagMaut", "FMZOLL")
|
|
If SQL.doSQL("Update Abrechnungsdatum SET Abrechnungsdatum = '" & f.Datum.ToShortDateString & "'", "ASFINAG") Then
|
|
If SQL.doSQL("UPDATE dbo.TTRBody SET Abrechnungsdatum = '" & f.Datum.ToShortDateString & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <= '" & f.Datum.ToShortDateString & "') AND abrechnungsdatum IS NULL AND belegerstellungsdatum IS NULL", "ASFINAG") Then
|
|
|
|
Dim dt As DataTable = SQL.loadDgvBySql("Select dbo.TTRBody.OBUID, dbo.TTRBody.CardNumber, dbo.TTRBody.receiptNumber, dbo.TTRBody.VATAmount, dbo.TTRBody.amountInclVAT, dbo.TTRBody.DeliveryDate,dbo.TTRBody.abrechnungsdatum,dbo.TTRBody.belegerstellungsdatum, dbo.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate, dbo.TTRBody.InfoField, dbo.TTRBody.ProductCode, dbo.TTRBody.Town, dbo.TTRBody.PKFileName
|
|
From dbo.CLFArchiv
|
|
RIGHT OUTER Join dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.OBUID
|
|
LEFT OUTER Join dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode
|
|
Where (dbo.TTRBody.PKHistory = 0) And (dbo.TTRBody.PKFileName Like N'" & checkifTestfiles() & ".%') AND TTRBody.abrechnungsdatum = '" & f.Datum.ToShortDateString & "'
|
|
Order By dbo.TTRBody.CardNumber, dbo.TTRBody.FileCreationDate, dbo.TTRBody.PKHistory, dbo.TTRBody.PKFileName, dbo.TTRBody.PKLine", "ASFINAG")
|
|
If dt.Rows.Count = 0 Then
|
|
MsgBox("Es wurden keine Daten in tblAsfinagMaut geschrieben!")
|
|
Return False
|
|
End If
|
|
For Each row As DataRow In dt.Rows
|
|
Dim maut As New VERAG_PROG_ALLGEMEIN.cAsfinagMaut()
|
|
maut.cardnumber = row.Item("CardNumber")
|
|
maut.licenceplate = IIf(Not IsDBNull(row.Item("vehicleLicensePlate")), row.Item("vehicleLicensePlate"), row.Item("InfoField"))
|
|
maut.turnoverdate = row.Item("DeliveryDate")
|
|
maut.contractPartner = "ASFINAG " & IIf(Not IsDBNull(row.Item("WarenartDE")), row.Item("WarenartDE"), "Product Code " & row.Item("ProductCode"))
|
|
maut.netAmount = CDbl(row.Item("amountInclVAT")) - CDbl(row.Item("VATAmount"))
|
|
maut.VATamount = CDbl(row.Item("VATAmount"))
|
|
maut.totalAmount = CDbl(row.Item("amountInclVAT"))
|
|
maut.additionalData = row.Item("Town") 'wird nicht mehr verwendet????
|
|
maut.receiptnumber = row.Item("receiptNumber")
|
|
maut.receiptCreated = IIf(IsDBNull(row.Item("belegerstellungsdatum")), False, True)
|
|
maut.SAVE()
|
|
Next
|
|
|
|
Dim pruefSumTTR = SQL.getValueTxtBySql("select sum(checksumAmounntInclVAT) from [ASFINAG].[dbo].[TTRTrailer] where PKHistory = 0 and [TTRTrailer].PKFileName in (select distinct([TTRBody].PKFileName) as Test from [ASFINAG].[dbo].[TTRBody] where (TTRBody.PKHistory = 0) And (TTRBody.PKFileName Like N'" & checkifTestfiles() & ".%') AND TTRBody.abrechnungsdatum = '" & f.Datum.ToShortDateString & "')", "ASFINAG")
|
|
If pruefSumTTR IsNot Nothing AndAlso IsNumeric(pruefSumTTR) Then
|
|
txtTTRSum.Text = CDbl(pruefSumTTR).ToString("C2")
|
|
lblTTRSum.Visible = True
|
|
txtTTRSum.Visible = True
|
|
lblTTRSum.Text = "Prüfsumme TTR:"
|
|
txtTTRSum._WaehrungZeichen = True
|
|
Else
|
|
lblTTRSum.Visible = False
|
|
txtTTRSum.Visible = False
|
|
End If
|
|
|
|
|
|
MsgBox("Abrechnungsdatum gesetzt!")
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
cbxASFINAGAbgerechnet.Checked = True
|
|
'initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked)
|
|
End If
|
|
|
|
|
|
End Function
|
|
|
|
Private Function setRechenwerteIDS() As Boolean
|
|
|
|
If Not LIEFERANT = "IDS" Then Return False
|
|
|
|
If MyDatagridview1.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten zum Setzen vorhanden!")
|
|
Return False
|
|
End If
|
|
|
|
Dim i As Integer = 0
|
|
|
|
Try
|
|
|
|
|
|
For Each row In MyDatagridview1.Rows
|
|
|
|
Dim kundeOhneRabatt = True
|
|
Dim seachedCustomer = False
|
|
|
|
Dim trans As New VERAG_PROG_ALLGEMEIN.cIDS(row.Cells("transaction_id").value)
|
|
trans.Rechenwert = 0
|
|
trans.Kz = "R"
|
|
|
|
Dim KategorieNr = 0
|
|
|
|
If trans.KdNrVERAG Is Nothing Then
|
|
|
|
'If trans.CustomerCode = 60003513 And trans.OutletCountry = "France" Then
|
|
' seachedCustomer = True
|
|
'End If
|
|
|
|
|
|
If trans.TransactionVolume <> 0 Then
|
|
trans.avpriceexclVAT = trans.TotalNetAmount / trans.TransactionVolume
|
|
End If
|
|
|
|
If Not IsDBNull(row.Cells("KundeCustomerCode").Value) AndAlso CInt(row.Cells("KundeCustomerCode").Value) > 0 Then
|
|
trans.KdNrVERAG = row.Cells("KundeCustomerCode").Value
|
|
kundeOhneRabatt = row.Cells("KundeOhneRabatt").Value
|
|
|
|
If kundeOhneRabatt Then GoTo RabattBerechnen 'kundeOhneRabatt -> gleich zu Rabattberechnen!
|
|
|
|
|
|
'Rechenwert für Land/Station/Kunde/Produkt ermitteln
|
|
Dim sqlStringLandStationKundeProdukt = "select Top(1) Rechenwert, Kz, KategorieNr FROM tbl_IDS_Rechenwerte WHERE OutletCountryCode=" & row.Cells("OutletCountryCode").Value & " AND OutletCode=" & row.Cells("OutletCode").Value & " And CustomerCode=" & row.Cells("KundeCustomerCode").Value & " AND ProductTypeCode=" & row.Cells("ProductTypeCode").Value & " ORDER BY Zeitstempel DESC"
|
|
Dim dtLandStationKundeProdukt As DataTable = SQL.loadDgvBySql(sqlStringLandStationKundeProdukt, "FMZOLL")
|
|
If dtLandStationKundeProdukt.Rows.Count > 0 Then
|
|
For Each r In dtLandStationKundeProdukt.Rows
|
|
KategorieNr = IIf(IsDBNull(r.Item("KategorieNr")), 0, r.Item("KategorieNr"))
|
|
trans.Rechenwert = r.Item("Rechenwert")
|
|
trans.Kz = r.Item("Kz")
|
|
Next
|
|
GoTo RechenwertBerechnen
|
|
End If
|
|
|
|
'Rechenwert für Land/Kunde/Produkt ermittteln
|
|
|
|
Dim sqlStringLandKundeProdukt = "Select Top(1) Rechenwert, Kz, KategorieNr FROM tbl_IDS_Rechenwerte WHERE OutletCountryCode=" & row.Cells("OutletCountryCode").Value & " And OutletCode Is Null AND CustomerCode=" & row.Cells("KundeCustomerCode").Value & " And ProductTypeCode=" & row.Cells("ProductTypeCode").Value & " ORDER BY Zeitstempel DESC"
|
|
Dim dtLandKundeProdukt As DataTable = SQL.loadDgvBySql(sqlStringLandKundeProdukt, "FMZOLL")
|
|
If dtLandKundeProdukt.Rows.Count > 0 Then
|
|
|
|
For Each r In dtLandKundeProdukt.Rows
|
|
KategorieNr = IIf(IsDBNull(r.Item("KategorieNr")), 0, r.Item("KategorieNr"))
|
|
trans.Rechenwert = r.Item("Rechenwert")
|
|
trans.Kz = r.Item("Kz")
|
|
Next
|
|
GoTo RechenwertBerechnen
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
|
|
|
|
|
|
' Rechenwert für Land/Station/Produkt ermitteln
|
|
|
|
Dim sqlStringLandStationProdukt = "select Top(1) Rechenwert, Kz, KategorieNr FROM tbl_IDS_Rechenwerte WHERE OutletCountryCode=" & row.Cells("OutletCountryCode").Value & " AND OutletCode=" & row.Cells("OutletCode").Value & " AND ProductTypeCode=" & row.Cells("ProductTypeCode").Value & " AND CustomerCode is null ORDER BY Zeitstempel DESC"
|
|
Dim dtLandStationProdukt As DataTable = SQL.loadDgvBySql(sqlStringLandStationProdukt, "FMZOLL")
|
|
If dtLandStationProdukt.Rows.Count > 0 Then
|
|
For Each r In dtLandStationProdukt.Rows
|
|
KategorieNr = IIf(IsDBNull(r.Item("KategorieNr")), 0, r.Item("KategorieNr"))
|
|
trans.Rechenwert += r.Item("Rechenwert")
|
|
trans.Kz = r.Item("Kz")
|
|
Next
|
|
GoTo RechenwertBerechnen
|
|
End If
|
|
|
|
|
|
|
|
' Rechenwert für Land/Produkt ermitteln
|
|
|
|
Dim sqlStringLandProdukt = "Select Top(1) Rechenwert, Kz, KategorieNr FROM tbl_IDS_Rechenwerte WHERE OutletCountryCode=" & row.Cells("OutletCountryCode").Value & " And OutletCode Is Null And ProductTypeCode=" & row.Cells("ProductTypeCode").Value & " AND CustomerCode is null ORDER BY Zeitstempel DESC"
|
|
Dim dtLandProdukt As DataTable = SQL.loadDgvBySql(sqlStringLandProdukt, "FMZOLL")
|
|
If dtLandProdukt.Rows.Count > 0 Then
|
|
For Each r In dtLandProdukt.Rows
|
|
KategorieNr = IIf(IsDBNull(r.Item("KategorieNr")), 0, r.Item("KategorieNr"))
|
|
trans.Rechenwert += r.Item("Rechenwert")
|
|
trans.Kz = r.Item("Kz")
|
|
Next
|
|
GoTo RechenwertBerechnen
|
|
End If
|
|
|
|
GoTo RabattBerechnen
|
|
|
|
|
|
|
|
RechenwertBerechnen:
|
|
If KategorieNr > 0 Then
|
|
|
|
Dim sqlRechenwert = "SELECT tbl_IDS_Kategorien_Rechenwerte.KategorieNr, tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode, tbl_IDS_Kategorien_Rechenwerte.Rechenwert
|
|
FROM tbl_IDS_Kategorien_Rechenwerte
|
|
WHERE (((tbl_IDS_Kategorien_Rechenwerte.KategorieNr)=" & KategorieNr & ") AND ((tbl_IDS_Kategorien_Rechenwerte.ProductTypeCode)=" & row.Cells("ProductTypeCode").Value & "))
|
|
ORDER BY tbl_IDS_Kategorien_Rechenwerte.Zeitstempel DESC"
|
|
Dim dtRechenwert As DataTable = SQL.loadDgvBySql(sqlRechenwert, "FMZOLL")
|
|
If dtRechenwert.Rows.Count > 0 Then
|
|
|
|
For Each r In dtRechenwert.Rows
|
|
trans.Rechenwert += r.Item("Rechenwert")
|
|
If trans.Rechenwert < 0 Then trans.Rechenwert = 0
|
|
Next
|
|
End If
|
|
'!Rechenwert = rstIDSRechenwert!Rechenwert
|
|
'1720 !Kz = rstIDSRechenwert!Kz
|
|
'1730 If Not IsNull(rstIDSRechenwert!KategorieNr) Then
|
|
'1740 Set qry = dbs.QueryDefs("qry_IDS_KategorieNr_ProductTypeCode_Rechenwert")
|
|
'1750 qry.Parameters("[prmKategorieNr]") = rstIDSRechenwert!KategorieNr
|
|
'1760 qry.Parameters("[prmProductTypeCode]") = ![Product Type Code]
|
|
'1770 Set rst = qry.OpenRecordset(dbOpenSnapshot)
|
|
'1780 If Not rst.EOF Then
|
|
'1790 !Rechenwert = !Rechenwert + rst!Rechenwert
|
|
'1800 If !Rechenwert < 0 Then
|
|
'1810 !Rechenwert = 0
|
|
'1820 End If
|
|
'1830 End If
|
|
'1840 rst.Close
|
|
'1850 qry.Close
|
|
'1860 End If
|
|
'1870 rstIDSRechenwert.Close
|
|
|
|
|
|
End If
|
|
|
|
|
|
|
|
RabattBerechnen:
|
|
Select Case trans.Kz
|
|
|
|
Case "P" 'Rechenwert ist Preis pro Liter
|
|
|
|
trans.Rabattbetrag = trans.TotalNetAmount - Math.Floor(trans.Rechenwert * trans.TransactionVolume * 100 + 0.5) / 100
|
|
trans.RabattbetragOrig = trans.Rabattbetrag
|
|
trans.Rabattbetrag = trans.Rabattbetrag
|
|
|
|
Case "R" 'Rechenwert ist Rabatt pro Liter
|
|
trans.Rabattbetrag = Math.Floor(trans.Rechenwert * trans.TransactionVolume * 100 + 0.5) / 100
|
|
trans.RabattbetragOrig = trans.Rabattbetrag
|
|
trans.Rabattbetrag = trans.Rabattbetrag
|
|
|
|
End Select
|
|
|
|
If trans.TransactionVolume <> 0 Then
|
|
trans.RabattbetragProLiter = trans.Rabattbetrag / trans.TransactionVolume
|
|
trans.RabattbetragProLiterOrig = trans.RabattbetragProLiter
|
|
trans.RabattbetragProLiter = trans.RabattbetragProLiter
|
|
End If
|
|
|
|
trans.Zeitstempel = Now()
|
|
trans.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
|
|
If trans.OBONumber IsNot Nothing Then
|
|
If trans.SAVE_OBO() Then i += 1
|
|
Else
|
|
If trans.SAVE_VR() Then i += 1
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
Next
|
|
|
|
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
Me.Cursor = Cursors.Default
|
|
End Try
|
|
|
|
initDgv_IDS()
|
|
MsgBox(i & " Rechenwerte wurden gesetzt!")
|
|
|
|
|
|
End Function
|
|
|
|
|
|
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles bntDatumzuruecksetzen.Click
|
|
If cbxASFINAGAbgerechnet.Checked = False Then
|
|
cbxASFINAGAbgerechnet.Checked = True
|
|
End If
|
|
|
|
If MyDatagridview1.Rows.Count = 0 Then
|
|
MsgBox("keine Daten zum zurücksetzen vorhanden!")
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim datumDel = CDate(SQL.getValueTxtBySql("Select Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
|
|
|
|
If MsgBox("Möchten Sie das Abrechnungsdatum vom " & datumDel.ToShortDateString & " zurücksetzen?" & vbNewLine & "Nur für Transaktionen möglich, zu denen es noch keine Rechnung erstellt wurde!", vbYesNoCancel) = MsgBoxResult.Yes Then
|
|
If SQL.doSQL("UPDATE dbo.TTRBody Set Abrechnungsdatum = NULL WHERE Abrechnungsdatum = '" & datumDel & "' AND (PKHistory = 0) AND (PKFileName LIKE '%" & checkifTestfiles() & ".%') AND belegerstellungsdatum IS NULL", "ASFINAG") Then
|
|
If SQL.doSQL("DELETE FROM tblAsfinagMaut", "FMZOLL") Then
|
|
MsgBox("Abrechnungsdatum zurückgesetzt!")
|
|
End If
|
|
cbxASFINAGAbgerechnet.Checked = False
|
|
|
|
'initDgv_ASFINAG(cbxASFINAGNichtAbgerechnet.Checked)
|
|
End If
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Private Function checkifTestfiles() As String
|
|
|
|
If cbxTestdaten.Checked Then
|
|
|
|
Return "TEPVGTTR"
|
|
Else
|
|
Return "LEPVGTTR"
|
|
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Sub cbxASFINAGabgerechnet_CheckedChanged(sender As Object, e As EventArgs) Handles cbxASFINAGAbgerechnet.CheckedChanged
|
|
If Me.LIEFERANT = "ASFINAG" Then
|
|
If Not cbxASFINAGAbgerechnet.Checked Then cbxBelegeerstellt.Checked = False
|
|
initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub bntDatumsetzen_Click(sender As Object, e As EventArgs) Handles bntDatumsetzen.Click
|
|
|
|
setFakturiert_ASFINAG()
|
|
|
|
End Sub
|
|
|
|
Private Sub cbxBelegeerstellt_CheckedChanged(sender As Object, e As EventArgs) Handles cbxBelegeerstellt.CheckedChanged
|
|
If Me.LIEFERANT = "ASFINAG" Then
|
|
|
|
If cbxBelegeerstellt.Checked Then
|
|
Panel2.Enabled = False
|
|
bntDatumsetzen.Enabled = False
|
|
bntDatumzuruecksetzen.Enabled = False
|
|
Else
|
|
Panel2.Enabled = True
|
|
bntDatumsetzen.Enabled = True
|
|
bntDatumzuruecksetzen.Enabled = True
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub PictureBox5_Click(sender As Object, e As EventArgs) Handles PictureBox5.Click
|
|
Dim webAddress As String = "https://wiki.verag.ag/de/software/sdl/funktionen"
|
|
Process.Start(webAddress)
|
|
End Sub
|
|
|
|
Private Sub cbxTestdaten_CheckedChanged(sender As Object, e As EventArgs) Handles cbxTestdaten.CheckedChanged
|
|
test = cbxTestdaten.Checked
|
|
End Sub
|
|
|
|
Private Sub btnRechenwertesetzen_Click(sender As Object, e As EventArgs) Handles btnRechenwertesetzen.Click
|
|
If vbYes = MsgBox("Haben Sie die Rechenwerte in den IDS-Tabellen aktualisiert?" & vbNewLine & "(Diese werden beim Importieren in die Abrechnungsdaten übernommen)", vbYesNoCancel) Then
|
|
Me.Cursor = Cursors.WaitCursor
|
|
setRechenwerteIDS()
|
|
Me.Cursor = Cursors.Default
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub Button10_Click_1(sender As Object, e As EventArgs) Handles Button10.Click
|
|
If Not LIEFERANT = "IDS" Then Exit Sub
|
|
|
|
If MyDatagridview1.Rows.Count = 0 Then
|
|
MsgBox("Keine Daten zum ZUrücksetzen vorhanden!")
|
|
Exit Sub
|
|
End If
|
|
|
|
If vbYes = MsgBox("Wollen Sie die Rechenwerte und Rabattbeträge in der IDS-Tabelle zurücksetzen?", vbYesNoCancel) Then
|
|
Me.Cursor = Cursors.WaitCursor
|
|
Dim i As Integer = 0
|
|
For Each row In MyDatagridview1.Rows
|
|
Dim trans As New VERAG_PROG_ALLGEMEIN.cIDS(row.Cells("transaction_id").Value)
|
|
trans.Rechenwert = 0
|
|
trans.Rabattbetrag = 0
|
|
trans.RabattbetragProLiter = 0
|
|
trans.Kz = "R"
|
|
trans.Zeitstempel = Now()
|
|
trans.KdNrVERAG = Nothing
|
|
trans.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
If trans.SAVE() Then i += 1
|
|
Next
|
|
initDgv_IDS()
|
|
Me.Cursor = Cursors.Default
|
|
MsgBox(i & " Rechenwerte und Rabattbeträge wurden zurückgesetzt!")
|
|
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub showIDSContextMenu()
|
|
|
|
If Not ContextMenuStrip1.Items.ContainsKey("IDS") Then
|
|
Dim IDS = New ToolStripMenuItem() With {.Text = "IDS", .Name = "IDS", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
ContextMenuStrip1.Items.Add(IDS)
|
|
AddHandler IDS.Click, AddressOf mnuItemIDS_Clicked
|
|
End If
|
|
|
|
If Not ContextMenuStrip1.Items.ContainsKey("IDS_AT") Then
|
|
Dim idsat = New ToolStripMenuItem() With {.Text = "IDS AT", .Name = "IDS_AT", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
|
AddHandler idsat.Click, AddressOf mnuItemIDS_Clicked
|
|
ContextMenuStrip1.Items.Add(idsat)
|
|
End If
|
|
|
|
ContextMenuStrip1.Show(Cursor.Position)
|
|
End Sub
|
|
|
|
Private Sub mnuItemIDS_Clicked(sender As Object, e As EventArgs)
|
|
|
|
ContextMenuStrip1.Hide()
|
|
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
|
|
|
If item IsNot Nothing Then
|
|
Dim idsParam As New cIDS()
|
|
idsParam.initImportPfade("IDS")
|
|
If genRGAtt_IDS(item.Name, idsParam) Then
|
|
If Not test Then
|
|
setFakturiert(item.Name)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Function AddAttachementToRE(pathFile As String, kdNr As Integer, RECHNUNG As cRechnungsausgang, Lieferant As String) As Boolean
|
|
|
|
If Not System.IO.File.Exists(pathFile) Then Return False
|
|
|
|
Dim fi As New System.IO.FileInfo(pathFile)
|
|
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_ABRECHNUNG", Lieferant, datPloseAnhang.Value.ToString("ddMMyyyy"), "", fi.Name,)
|
|
If Not DS.uploadDataToDATENSERVER(pathFile, fi.Name, fi.Extension,,,, True) Then
|
|
MsgBox("Fehler beim Speichern: Datenserver! KDNR:" & kdNr)
|
|
Return False
|
|
End If
|
|
If CInt(DS.da_id) <= 0 Then
|
|
MsgBox("Keine DocId!")
|
|
Return False
|
|
End If
|
|
Dim da_id = DS.da_id
|
|
Dim destPath = DS.GET_TOP1_PATH
|
|
|
|
If RECHNUNG IsNot Nothing Then
|
|
RECHNUNG.ANHAENGE.Clear()
|
|
Dim ANH As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge
|
|
ANH.dsId = CInt(DS.da_id)
|
|
ANH.Bezeichnung = DS.da_name
|
|
RECHNUNG.ANHAENGE.Add(ANH)
|
|
Return RECHNUNG.SAVE_ANHAENGE(RECHNUNG.RK_ID, False)
|
|
Else
|
|
Return False
|
|
End If
|
|
|
|
End Function
|
|
|
|
Private Function checkAbrechnungsdatum(abrDate As Date)
|
|
|
|
|
|
Dim checkDate As Boolean = False
|
|
|
|
If Not (abrDate.Day = 15 Or abrDate.Day = 30 Or abrDate.Day = 31 Or (abrDate.Month = 2 And abrDate.Day = 28)) Then
|
|
If Not vbYes = MsgBox("ACHTUNG, immer als Anhangsdatum den 15. bzw. den letzten Tag des Monats angeben!" & vbNewLine & "Dies kann zu Fehlern bei der Verrechnung führen!" & vbNewLine & "Möchten Sie wirklich mit dem " & abrDate.ToShortDateString & " fortfahren?", vbYesNoCancel) Then
|
|
checkDate = False
|
|
Else
|
|
checkDate = True
|
|
End If
|
|
Else
|
|
checkDate = True
|
|
End If
|
|
|
|
Return checkDate
|
|
End Function
|
|
|
|
Private Function checkFixeTaxeImOffert(Lieferant As String, dt As DataTable) As Boolean
|
|
|
|
Dim OffertenNr As Integer = -1
|
|
|
|
If Lieferant = "" Then Return False
|
|
|
|
If dt.Rows.Count = 1 Then
|
|
If dt.Columns.Contains("KdNrVERAG") AndAlso IsDBNull(dt(0).Item("KdNrVERAG")) Then Return False
|
|
If dt.Columns.Contains("AdressenNr") AndAlso IsDBNull(dt(0).Item("AdressenNr")) Then Return False
|
|
End If
|
|
|
|
Select Case Lieferant
|
|
Case "PLOSE" : OffertenNr = 80
|
|
Case "ASFINAG" : OffertenNr = 11
|
|
Case "UTA" : OffertenNr = 30
|
|
Case "MSE" : OffertenNr = 23
|
|
Case "IDS" : OffertenNr = 17
|
|
Case "IDS_AT" : OffertenNr = 21
|
|
Case Else
|
|
Return False
|
|
End Select
|
|
|
|
Dim AdressenNr As String = ""
|
|
|
|
If dt.Rows.Count > 0 Then
|
|
If dt.Columns.Contains("AdressenNr") Or dt.Columns.Contains("KdNrVERAG") Then
|
|
Dim dtNew As DataTable = dt.Rows.Cast(Of DataRow)().Where(Function(row) Not row.ItemArray.All(Function(field) field Is DBNull.Value Or field.Equals(""))).CopyToDataTable()
|
|
If dtNew.Rows.Count > 0 Then
|
|
Dim counter = 0
|
|
For Each r As DataRow In dtNew.Rows
|
|
AdressenNr &= r.Item(0)
|
|
counter = counter + 1
|
|
If (dtNew.Rows.Count <> 0 And counter <> dtNew.Rows.Count) Then
|
|
AdressenNr &= ","
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
Dim sqlStringOffertMehrfach = "select COUNT(*) as Anzahl ,OffertenNr, KundenNr LeistungsNr from Offertenpositionen where LeistungsNr = 441 and OffertenNr = " & OffertenNr & " and KundenNr in (" & AdressenNr & ") group by KundenNr, LeistungsNr, OffertenNr having COUNT(*) > 1"
|
|
Dim dtOfferten As DataTable = SQL.loadDgvBySql(sqlStringOffertMehrfach, "FMZOLL")
|
|
If dtOfferten.Rows.Count > 0 Then
|
|
MsgBox("Es sind bei " & dtOfferten.Rows.Count & " Kunden das Offert 441 mehrfach hinterlegt, das muss korrigiert werden, ansonten kann die Fixe Taxe nicht berechnet werden!")
|
|
cProgramFunctions.genExcelCSVFromDT(dtOfferten, True)
|
|
Return False
|
|
End If
|
|
|
|
Dim sqlStringFehlendeOffertenNr = "select KundenNr, OffertenNr from Offertenpositionen where OffertenNr = " & OffertenNr & " and KundenNr in (" & AdressenNr & ")
|
|
GROUP by KundenNr, OffertenNr
|
|
EXCEPT
|
|
select KundenNr, OffertenNr from Offertenpositionen where LeistungsNr = 441 and OffertenNr = " & OffertenNr & " and KundenNr in (" & AdressenNr & ")
|
|
GROUP by KundenNr, OffertenNr"
|
|
|
|
Dim dtfehlendeOfferten As DataTable = SQL.loadDgvBySql(sqlStringFehlendeOffertenNr, "FMZOLL")
|
|
If dtfehlendeOfferten.Rows.Count > 0 Then
|
|
MsgBox("Es fehlen bei " & dtfehlendeOfferten.Rows.Count & " Kunden das Offert 441, bitte hinterlegen ansonten wird die Fixe Taxe nicht gesetzt!")
|
|
cProgramFunctions.genExcelCSVFromDT(dtfehlendeOfferten, True)
|
|
Return True
|
|
End If
|
|
|
|
|
|
End Function
|
|
|
|
Private Sub cbxIDSmitVerag_CheckedChanged(sender As Object, e As EventArgs) Handles cbxIDSmitVerag.CheckedChanged
|
|
initDgv_IDS()
|
|
End Sub
|
|
|
|
End Class
|