MDM, Kundenblatt

This commit is contained in:
2024-06-07 13:34:42 +02:00
parent 28e4cfa1d3
commit 3ae8593dd5
4 changed files with 166 additions and 70 deletions

View File

@@ -50,10 +50,10 @@ Public Class frmAbrechnungsMaske
End If
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
FirmaTmp = "AMBAR"
'End If
'FirmaTmp = "AMBAR"
'End If
MyComboBox2.Items.Clear()
MyComboBox2.Items.Clear()
Select Case FirmaTmp
Case "VERAG"

View File

@@ -2094,7 +2094,7 @@ Partial Class frmKundenblatt
'
Me.cntxtCntxtMDM.ImageScalingSize = New System.Drawing.Size(24, 24)
Me.cntxtCntxtMDM.Name = "cntxtCntxtMDM"
Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem8
Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem4
Me.cntxtCntxtMDM.Size = New System.Drawing.Size(61, 4)
Me.cntxtCntxtMDM.Text = "cntxtMDM"
'

View File

@@ -102,9 +102,9 @@ Public Class frmMDMDatenverarbetiung
End If
Case "UTA"
If genRGAtt_UTA() Then
'If MautD_Befuellen() Then
' setFakturiertUTA()
'End If
If MautD_Befuellen() Then
'setFakturiertUTA()
End If
End If
Case "IDS"
@@ -529,7 +529,7 @@ Public Class frmMDMDatenverarbetiung
'Exit Sub
'MsgBox(.sql)
.SET_SQL(" SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImport.Fakturierwarenart
.SET_SQL(" SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImport.Fakturierwarenart,sum(tblUTAImport.Gesamtbetrag_Netto_in_Lieferlandwährung) as Netto ,sum(tblUTAImport.Gesamtbetrag_Brutto_in_Lieferlandwährung) as Brutto
FROM tblUTAFakturierwarenarten
INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer)
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
@@ -586,16 +586,16 @@ Public Class frmMDMDatenverarbetiung
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
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")
txtAnzahl.Text = .Rows.Count
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
.ClearSelection()
End With
@@ -784,38 +784,61 @@ Public Class frmMDMDatenverarbetiung
INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.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 (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck
"
'Dim SQLStr = " SELECT TOP 3 [Customer ID],[Customer Nr], UTAExportCSV,Rechnungsdruck , sum( Gesamtbetrag_Brutto_in_Darstellwährung )
' FROM(
' SELECT Kundennummer AS [Customer ID], KundenNr AS [Customer Nr], UTAExportCSV,Rechnungsdruck , ( Gesamtbetrag_Brutto_in_Darstellwährung )
' FROM tblUTAImport
' INNER JOIN Adressen ON Adressen.UTAKundenNr = tblUTAImport.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 (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)
' INNER JOIN tblUTAFakturierwarenarten ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
' ) as T1 /*WHERE Gesamtbetrag_Brutto_in_Darstellwährung <>0*/
' group by [Customer ID],[Customer Nr], UTAExportCSV,Rechnungsdruck
' "
group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck"
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
'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 vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
Dim dir = "F:\FMZoll\Maut\UTA\Archiv\" & Now.ToShortDateString
Dim dir = "F:\FMZoll\Maut\UTA\Archiv\" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test", "") & Now.ToShortDateString
If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
Directory.CreateDirectory(dir)
For Each R_PLOSE In dt_Main.Rows
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 tblUTAImport where Kundennummer = " & csv.Item("Customer ID"), "FMZOLL")
dt_CSV_selected.ParentRelations.Clear()
dt_CSV_selected.ChildRelations.Clear()
dt_CSV_selected.Constraints.Clear()
dt_CSV_selected.Columns.Remove("upsize_ts")
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 = True
' If Not genUTA_SPEDBUCH_ByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, SPEDBUCH) Then verarbOK = False
' If Not genUTA_RECHNUNG_BySPEDBUCH(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False
genUTAAttachmentByKdNr(R_PLOSE("Customer Nr"), R_PLOSE("Customer ID"), dir, datPloseAnhang.Value) 'R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, dir)
genUTAAttachmentByKdNr(UTA("Customer Nr"), UTA("Customer ID"), dir, datPloseAnhang.Value)
If verarbOK Then
'UPDATE Fakturiert
@@ -1253,6 +1276,108 @@ Public Class frmMDMDatenverarbetiung
If dt IsNot Nothing Then
con.Open()
For Each r In dt.Rows
Try
'Zeitstempel
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)))
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
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function genUTAInsertMautAT(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 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_Brutto_in_Darstellwährung AS [Total Amount],
qryUTA_Fakturierungspositionen.Gesamtbetrag_Netto_in_Darstellwährung AS [Nett Amount],
qryUTA_Fakturierungspositionen.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung AS [VAT 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, tblUTAImport.*
FROM tblUTAFakturierwarenarten INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.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 (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
WHERE Offertenpositionen.KundenNr=" & 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")
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
@@ -1495,9 +1620,8 @@ Public Class frmMDMDatenverarbetiung
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] + ' ' + dbo.timeserial(Left([Lieferzeit],2) , right(Left([Lieferzeit],4),2) , Right([Lieferzeit],2)) as datetime) AS [Transaction Date],
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
@@ -1908,24 +2032,6 @@ Public Class frmMDMDatenverarbetiung
Function genASFINAG_SPEDBUCH_ByKdNr(KdNr As String, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch)
Try
'MsgBox("Funktion noch nicht vollständig implementiert!")
'Exit Function
'Dim displayFilter = False
'Dim sqlstr As String = ""
'sqlstr &= " SELECT * "
'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_POLSEKundennummer = '" & 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 AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
@@ -2131,9 +2237,6 @@ Public Class frmMDMDatenverarbetiung
Function genASFINAG_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch)
Try
'MsgBox("Funktion noch nicht vollständig implementiert!")
'Exit Function
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
@@ -2751,6 +2854,8 @@ Public Class frmMDMDatenverarbetiung
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 genUTAInsertMautAT(kdNr)
Case "MSE" : deleteMautD("MSE") 'Return genUTAInsertMautAT(kdNr)
End Select
Return False
End Function
@@ -2768,6 +2873,7 @@ Public Class frmMDMDatenverarbetiung
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" : setFakturiertPLOSE()
Case "ASFINAG" : setFakturiert_ASFINAG()
End Select
End If
End Sub

View File

@@ -1375,15 +1375,5 @@ Public Class frmMessenger
'End If
End Sub
Private Sub UsrCntlChat_Art_Btn1_Load(ctl As usrCntlChat_Art_Btn) Handles UsrCntlChat_Art_Btn_MACHAT.CLICKED
End Sub
Private Sub UsrCntlChat_Art_Btn2_Load(ctl As usrCntlChat_Art_Btn) Handles UsrCntlChat_Art_Btn_LKWCHAT.CLICKED
End Sub
Private Sub UsrCntlChat_Art_snd_Load(ctl As usrCntlChat_Art_Btn) Handles UsrCntlChat_Art_Btn_SNDCHAT.CLICKED
End Sub
End Class