diff --git a/SDL/UsrCntlEssensbestellungen.vb b/SDL/UsrCntlEssensbestellungen.vb index af55b585..dd2229d8 100644 --- a/SDL/UsrCntlEssensbestellungen.vb +++ b/SDL/UsrCntlEssensbestellungen.vb @@ -585,8 +585,10 @@ Public Class UsrCntlessensbestellungen Private Sub initCBOFields() + cbxMitarbeiter.DropDownWidth = 200 + cbxMenu.fillWithSQL("SELECT Distinct Top 50 (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)), MenuDateVon from tblEBMenu order by MenuDateVon desc", True, "AVISO", True) '/ where MenuDateVon >= GETDATE() - cbxMitarbeiter.fillWithSQL("SELECT [mit_id], ([mit_vname] + ' ' + [mit_nname]) as name FROM [tblMitarbeiter] where [mit_ChatBenutzer] = 1 AND [mit_pseudoUser] = 0 AND [mit_gekuendigt] = 0 AND mit_niederlassung = 'SUB' AND ((CAse when mit_firma = 'ALL' Then mit_FirmaHaupt else mit_firma END ) = 'VERAG' Or mit_firma = 'UNISPED' OR mit_firma = 'IMEX' OR mit_firma = 'FRONTOFFICE') Or mit_id = 144 order by name ", False, "ADMIN", True) + cbxMitarbeiter.fillWithSQL("SELECT [mit_id], ([mit_vname] + ' ' + [mit_nname]) + ' (' + mit_firma +')' as name FROM [tblMitarbeiter] where [mit_ChatBenutzer] = 1 AND [mit_pseudoUser] = 0 AND [mit_gekuendigt] = 0 AND mit_niederlassung = 'SUB' AND ((CAse when mit_firma = 'ALL' Then mit_FirmaHaupt else mit_firma END ) = 'VERAG' Or mit_firma = 'UNISPED' OR mit_firma = 'IMEX' OR mit_firma = 'FRONTOFFICE') Or mit_id = 144 order by name ", False, "ADMIN", True) cbxAbteilung.fillWithSQL("SELECT [abt_kuerzel], [abt_bezeichnung] from [tblAbteilungen] ", False, "ADMIN", True,, "") cbxGebäude.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Frontoffice", "Frontoffice")) diff --git a/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb b/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb index 027fd059..f95e59f9 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.Designer.vb @@ -25,7 +25,8 @@ Partial Class frmMDMDatenverarbetiung Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMDMDatenverarbetiung)) Me.pnl = New System.Windows.Forms.Panel() - Me.cbxASFINAGNichtAbgerechnet = New System.Windows.Forms.CheckBox() + Me.cbxBelegeerstellt = New System.Windows.Forms.CheckBox() + Me.cbxASFINAGAbgerechnet = New System.Windows.Forms.CheckBox() Me.cbxTestdaten = New System.Windows.Forms.CheckBox() Me.Panel4 = New System.Windows.Forms.Panel() Me.Label46 = New System.Windows.Forms.Label() @@ -57,7 +58,7 @@ Partial Class frmMDMDatenverarbetiung Me.Panel2 = New System.Windows.Forms.Panel() Me.Label43 = New System.Windows.Forms.Label() Me.datPloseAnhang = New System.Windows.Forms.DateTimePicker() - Me.Button4 = New System.Windows.Forms.Button() + Me.btnREerstellen = New System.Windows.Forms.Button() Me.Label44 = New System.Windows.Forms.Label() Me.txtPloseAnh_Einarbeitung = New System.Windows.Forms.TextBox() Me.pbPloseAnh_Proz = New System.Windows.Forms.ProgressBar() @@ -83,7 +84,8 @@ Partial Class frmMDMDatenverarbetiung ' 'pnl ' - Me.pnl.Controls.Add(Me.cbxASFINAGNichtAbgerechnet) + Me.pnl.Controls.Add(Me.cbxBelegeerstellt) + Me.pnl.Controls.Add(Me.cbxASFINAGAbgerechnet) Me.pnl.Controls.Add(Me.cbxTestdaten) Me.pnl.Controls.Add(Me.Panel4) Me.pnl.Controls.Add(Me.FlowLayoutPanel) @@ -97,24 +99,35 @@ Partial Class frmMDMDatenverarbetiung Me.pnl.Size = New System.Drawing.Size(1163, 100) Me.pnl.TabIndex = 1 ' - 'cbxASFINAGNichtAbgerechnet + 'cbxBelegeerstellt ' - Me.cbxASFINAGNichtAbgerechnet.AutoSize = True - Me.cbxASFINAGNichtAbgerechnet.Checked = True - Me.cbxASFINAGNichtAbgerechnet.CheckState = System.Windows.Forms.CheckState.Checked - Me.cbxASFINAGNichtAbgerechnet.Location = New System.Drawing.Point(784, 75) - Me.cbxASFINAGNichtAbgerechnet.Name = "cbxASFINAGNichtAbgerechnet" - Me.cbxASFINAGNichtAbgerechnet.Size = New System.Drawing.Size(112, 17) - Me.cbxASFINAGNichtAbgerechnet.TabIndex = 52 - Me.cbxASFINAGNichtAbgerechnet.Text = "nicht abgerechnet" - Me.cbxASFINAGNichtAbgerechnet.UseVisualStyleBackColor = True - Me.cbxASFINAGNichtAbgerechnet.Visible = False + Me.cbxBelegeerstellt.AutoSize = True + Me.cbxBelegeerstellt.Checked = True + Me.cbxBelegeerstellt.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxBelegeerstellt.Location = New System.Drawing.Point(654, 75) + Me.cbxBelegeerstellt.Name = "cbxBelegeerstellt" + Me.cbxBelegeerstellt.Size = New System.Drawing.Size(86, 17) + Me.cbxBelegeerstellt.TabIndex = 53 + Me.cbxBelegeerstellt.Text = "Belge erstellt" + Me.cbxBelegeerstellt.UseVisualStyleBackColor = True + Me.cbxBelegeerstellt.Visible = False + ' + 'cbxASFINAGAbgerechnet + ' + Me.cbxASFINAGAbgerechnet.AutoSize = True + Me.cbxASFINAGAbgerechnet.Checked = True + Me.cbxASFINAGAbgerechnet.CheckState = System.Windows.Forms.CheckState.Checked + Me.cbxASFINAGAbgerechnet.Location = New System.Drawing.Point(746, 75) + Me.cbxASFINAGAbgerechnet.Name = "cbxASFINAGAbgerechnet" + Me.cbxASFINAGAbgerechnet.Size = New System.Drawing.Size(144, 17) + Me.cbxASFINAGAbgerechnet.TabIndex = 52 + Me.cbxASFINAGAbgerechnet.Text = "Abrechnungsdat. gesetzt" + Me.cbxASFINAGAbgerechnet.UseVisualStyleBackColor = True + Me.cbxASFINAGAbgerechnet.Visible = False ' 'cbxTestdaten ' Me.cbxTestdaten.AutoSize = True - Me.cbxTestdaten.Checked = True - Me.cbxTestdaten.CheckState = System.Windows.Forms.CheckState.Checked Me.cbxTestdaten.Location = New System.Drawing.Point(905, 75) Me.cbxTestdaten.Name = "cbxTestdaten" Me.cbxTestdaten.Size = New System.Drawing.Size(74, 17) @@ -435,7 +448,7 @@ Partial Class frmMDMDatenverarbetiung ' Me.Panel2.Controls.Add(Me.Label43) Me.Panel2.Controls.Add(Me.datPloseAnhang) - Me.Panel2.Controls.Add(Me.Button4) + Me.Panel2.Controls.Add(Me.btnREerstellen) Me.Panel2.Controls.Add(Me.Label44) Me.Panel2.Controls.Add(Me.txtPloseAnh_Einarbeitung) Me.Panel2.Controls.Add(Me.pbPloseAnh_Proz) @@ -463,15 +476,15 @@ Partial Class frmMDMDatenverarbetiung Me.datPloseAnhang.Size = New System.Drawing.Size(103, 20) Me.datPloseAnhang.TabIndex = 39 ' - 'Button4 + 'btnREerstellen ' - Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.Button4.Location = New System.Drawing.Point(6, 40) - Me.Button4.Name = "Button4" - Me.Button4.Size = New System.Drawing.Size(283, 23) - Me.Button4.TabIndex = 30 - Me.Button4.Text = "Rechnungen / Anhänge erstellen" - Me.Button4.UseVisualStyleBackColor = True + Me.btnREerstellen.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnREerstellen.Location = New System.Drawing.Point(6, 40) + Me.btnREerstellen.Name = "btnREerstellen" + Me.btnREerstellen.Size = New System.Drawing.Size(283, 23) + Me.btnREerstellen.TabIndex = 30 + Me.btnREerstellen.Text = "Rechnungen / Anhänge erstellen" + Me.btnREerstellen.UseVisualStyleBackColor = True ' 'Label44 ' @@ -657,7 +670,7 @@ Partial Class frmMDMDatenverarbetiung Friend WithEvents FlowLayoutPanel As FlowLayoutPanel Friend WithEvents btn As Button Friend WithEvents btnDatenLaden As Button - Friend WithEvents Button4 As Button + Friend WithEvents btnREerstellen As Button Friend WithEvents Button3 As Button Friend WithEvents Button2 As Button Friend WithEvents txtAnzahl As VERAG_PROG_ALLGEMEIN.MyTextBox @@ -689,5 +702,6 @@ Partial Class frmMDMDatenverarbetiung Friend WithEvents bntDatumsetzen As Button Friend WithEvents bntDatumzuruecksetzen As Button Friend WithEvents cbxTestdaten As CheckBox - Friend WithEvents cbxASFINAGNichtAbgerechnet As CheckBox + Friend WithEvents cbxASFINAGAbgerechnet As CheckBox + Friend WithEvents cbxBelegeerstellt As CheckBox End Class diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 7109bc28..64b91c6d 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -75,12 +75,12 @@ Public Class frmMDMDatenverarbetiung btnDatenLaden.Text = "Daten laden" Case "UTA" : initDgv_UTA() btnDatenLaden.Text = "Daten laden" - Case "ASFINAG" : initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked) - btnDatenLaden.Text = "Mautdaten einlesen" + Case "ASFINAG" : initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked) + btnDatenLaden.Text = "Daten laden" End Select End Sub - Private Sub Button4_Click_1(sender As Object, e As EventArgs) Handles Button4.Click + Private Sub btnREerstellen_Click_1(sender As Object, e As EventArgs) Handles btnREerstellen.Click Dim errorTmp = False Select Case LIEFERANT Case "PLOSE" @@ -97,16 +97,19 @@ Public Class frmMDMDatenverarbetiung End If Case "ASFINAG" - cbxASFINAGNichtAbgerechnet.Checked = False - - - MsgBox("Funktion nicht implementiert") - Exit Sub - - genRGAtt_ASFINAG() + 'cbxASFINAGAbgerechnet.Checked = False + 'cbxBelegeerstellt.Checked = False + Dim abrechnungsDatum As DateTime = Now() + 'MsgBox("Funktion nicht implementiert") + 'Exit Sub + If datum = Nothing Then + datum = SQL.getValueTxtBySql("select top (1) Abrechnungsdatum from Abrechnungsdatum", "ASFINAG") + End If + genRGAtt_ASFINAG(abrechnungsDatum, datum) + initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked) End Select End Sub @@ -257,8 +260,6 @@ Public Class frmMDMDatenverarbetiung group by Adressen.AdressenNr,Adressen.[Name 1], contractPartner,CardNumber order by Adressen.AdressenNr" - - Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "ASFINAG") 'DataGridView.DataSource = dt @@ -506,15 +507,16 @@ Public Class frmMDMDatenverarbetiung End Sub - Sub initDgv_ASFINAG(abgerechnet As Boolean) + 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)") + 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.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate + .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 @@ -530,6 +532,7 @@ Public Class frmMDMDatenverarbetiung .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" @@ -572,7 +575,8 @@ Public Class frmMDMDatenverarbetiung End If Next - cbxASFINAGNichtAbgerechnet.Visible = False + cbxASFINAGAbgerechnet.Visible = False + cbxBelegeerstellt.Visible = False cbxTestdaten.Visible = False Select Case Me.LIEFERANT @@ -589,11 +593,12 @@ Public Class frmMDMDatenverarbetiung 'Panel3.Controls.Add(c) 'c.Dock = DockStyle.Fill Case "ASFINAG" - cbxASFINAGNichtAbgerechnet.Visible = True + cbxASFINAGAbgerechnet.Visible = True + cbxBelegeerstellt.Visible = True cbxTestdaten.Visible = True Panel4.Visible = False pnlAsfinag.Visible = True - + Exit Sub End Select init() @@ -750,14 +755,14 @@ Public Class frmMDMDatenverarbetiung End Function - Function genRGAtt_ASFINAG() As Boolean + Function genRGAtt_ASFINAG(belegerstellungsdatum As DateTime, abrechnungsdatum As Date) As Boolean - If cbxASFINAGNichtAbgerechnet.Checked = True Then + If cbxASFINAGAbgerechnet.Checked = True Then MsgBox("Bitte abgerechnete Daten auswählen!") Return False End If - Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("SELECT Maut.*,Adressen.AdressenNr 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", "FMZOLL") + 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 Group by KundenNr, cardnumber ", "FMZOLL") If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then MsgBox("Keine Daten!") @@ -779,10 +784,11 @@ Public Class frmMDMDatenverarbetiung Dim cnt = 0 - Dim dv_main = New DataView(dt_Main, "", "AdressenNr", DataViewRowState.CurrentRows) - Dim dt_main_distinctKunden As DataTable = dv_main.ToTable(True, "AdressenNr") + Dim displayViewKunden = New DataView(dt_Main, "", "KundenNr", DataViewRowState.CurrentRows) + Dim distinctDT_distKunden As DataTable = displayViewKunden.ToTable(True, "KundenNr") - If vbYes = MsgBox("Es wurden " & MyDatagridview1.Rows.Count & " Abrechnungen von " & dt_main_distinctKunden.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then + + If vbYes = MsgBox("Es wurden " & MyDatagridview1.Rows.Count & " Transaktionen von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then Dim dir = "C:\Users\d.breimaier\Desktop\Asfinag\Mautberichte" '"F:\FMZoll\Maut\AT\Anlagen\SDL" If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "") @@ -836,11 +842,20 @@ Public Class frmMDMDatenverarbetiung - For Each R_ASFINAG In dt_Main.Rows + For Each R_ASFINAG In distinctDT_distKunden.Rows Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim verarbOK = True - If Not genASFINAG_SPEDBUCH_ByKdNr(R_ASFINAG("AdressenNr"), SPEDBUCH) Then verarbOK = False - If Not genASFINAG_RECHNUNG_BySPEDBUCH(R_ASFINAG("AdressenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False + If Not genASFINAG_SPEDBUCH_ByKdNr(R_ASFINAG("KundenNr"), SPEDBUCH) Then verarbOK = False + If Not genASFINAG_RECHNUNG_BySPEDBUCH(R_ASFINAG("KundenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False + + If verarbOK Then + + SQL.doSQL("UPDATE dbo.TTRBody SET belegerstellungsdatum = '" & belegerstellungsdatum & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <= '" & belegerstellungsdatum & "') AND (abrechnungsdatum = '" & abrechnungsdatum & "')", "ASFINAG") + 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") & "", "FMZOLL") + Next + End If If True Then 'cnt Mod 10 = 0 Then txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count @@ -1930,31 +1945,11 @@ Public Class frmMDMDatenverarbetiung RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum) - Dim sqlstr_mitMWSt As String = "SELECT '135' as leistungsNr, [contractPartner] as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount <> 0 Group by [contractPartner]" - - Dim sqlstr_ohneMWSt As String = "SELECT '153' as leistungsNr, [contractPartner] as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount = 0 Group by [contractPartner]" - - Dim dt_mitMwSt As DataTable = SQL.loadDgvBySql_Param(sqlstr_mitMWSt, "FMZOLL") - - Dim dt_ohneMwsT As DataTable = SQL.loadDgvBySql_Param(sqlstr_ohneMWSt, "FMZOLL") - - Dim dt As New DataTable - - If (dt_mitMwSt IsNot Nothing AndAlso dt_mitMwSt.Rows.Count > 0) And (dt_ohneMwsT IsNot Nothing AndAlso dt_ohneMwsT.Rows.Count > 0) Then - - dt_mitMwSt.Merge(dt_ohneMwsT, False, MissingSchemaAction.Add) - - dt = dt_mitMwSt.Copy - - ElseIf dt_ohneMwsT IsNot Nothing AndAlso dt_ohneMwsT.Rows.Count > 0 Then - - dt = dt_ohneMwsT.Copy - Else - - dt = dt_mitMwSt.Copy - - End If + Dim sqlstr As String = "SELECT '135' as leistungsNr, [contractPartner] as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount <> 0 Group by [contractPartner] + UNION + SELECT '153' as leistungsNr, [contractPartner] as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount = 0 Group by [contractPartner]" + Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") For Each r In dt.Rows @@ -2419,7 +2414,7 @@ Public Class frmMDMDatenverarbetiung If count > 0 Then lblProzPruef.Text = CInt(cnt / count * 100) & " %" '100 Else - cbxASFINAGNichtAbgerechnet.Checked = False + cbxASFINAGAbgerechnet.Checked = True End If Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) @@ -2610,12 +2605,12 @@ Public Class frmMDMDatenverarbetiung Private Function setFakturiert_ASFINAG() As Boolean 'Abrechnungsdatum setzen - If cbxASFINAGNichtAbgerechnet.Checked = False Then - cbxASFINAGNichtAbgerechnet.Checked = True + If cbxASFINAGAbgerechnet.Checked = False Then + cbxASFINAGAbgerechnet.Checked = True End If If MyDatagridview1.Rows.Count = 0 Then - MsgBox("keine Daten zum Abrechnen vorhanden!") + MsgBox("Keine Daten zum Abrechnen vorhanden!") Return False End If @@ -2625,9 +2620,9 @@ Public Class frmMDMDatenverarbetiung 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)", "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.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate, dbo.TTRBody.InfoField, dbo.TTRBody.ProductCode, dbo.TTRBody.Town + 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 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 @@ -2648,13 +2643,14 @@ Public Class frmMDMDatenverarbetiung 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 MsgBox("Abrechnungsdatum gesetzt!") End If End If - cbxASFINAGNichtAbgerechnet.Checked = False + cbxASFINAGAbgerechnet.Checked = True 'initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked) End If @@ -2663,8 +2659,8 @@ Public Class frmMDMDatenverarbetiung Private Sub Button10_Click(sender As Object, e As EventArgs) Handles bntDatumzuruecksetzen.Click - If cbxASFINAGNichtAbgerechnet.Checked = True Then - cbxASFINAGNichtAbgerechnet.Checked = False + If cbxASFINAGAbgerechnet.Checked = True Then + cbxASFINAGAbgerechnet.Checked = False End If If MyDatagridview1.Rows.Count = 0 Then @@ -2674,12 +2670,12 @@ Public Class frmMDMDatenverarbetiung Dim datumDel = CDate(SQL.getValueTxtBySql("Select Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG")) - If MsgBox("Möchten Sie das Abrechnungsdatum vom " & datumDel.ToShortDateString & " zurücksetzen?", vbYesNoCancel) = MsgBoxResult.Yes Then - If SQL.doSQL("UPDATE dbo.TTRBody Set Abrechnungsdatum = NULL WHERE Abrechnungsdatum = '" & datumDel & "' AND (PKHistory = 0) AND (PKFileName LIKE '%" & checkifTestfiles() & ".%')", "ASFINAG") Then + 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 - cbxASFINAGNichtAbgerechnet.Checked = True + cbxASFINAGAbgerechnet.Checked = True 'initDgv_ASFINAG(cbxASFINAGNichtAbgerechnet.Checked) End If @@ -2700,11 +2696,29 @@ Public Class frmMDMDatenverarbetiung End Function - Private Sub cbxASFINAGNichtAbgerechnet_CheckedChanged(sender As Object, e As EventArgs) Handles cbxASFINAGNichtAbgerechnet.CheckedChanged - If Me.LIEFERANT = "ASFINAG" Then initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked) + 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 cbxBelegeerstellt.Checked Then + btnREerstellen.Enabled = False + bntDatumsetzen.Enabled = False + bntDatumzuruecksetzen.Enabled = False + Else + btnREerstellen.Enabled = True + bntDatumsetzen.Enabled = True + bntDatumzuruecksetzen.Enabled = True + End If + + + End Sub End Class diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAsfinagMaut.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAsfinagMaut.vb index b4758ee1..4e7aed55 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAsfinagMaut.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAsfinagMaut.vb @@ -12,6 +12,7 @@ Public Class cAsfinagMaut Property totalAmount As Object = Nothing Property additionalData As Object = Nothing Property receiptnumber As Object = Nothing + Property receiptCreated As Boolean = False Public hasEntry = False @@ -32,6 +33,7 @@ Public Class cAsfinagMaut list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("totalAmount", totalAmount)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("additionalData", additionalData)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiptnumber", receiptnumber)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("receiptCreated", receiptCreated)) Return list End Function diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb index ae67ac77..1b9b09cf 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUIDPruefung.vb @@ -232,23 +232,24 @@ Public Class cUIDPruefung For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'") row("Ergebnis") = r("Ergebnis") Next - + ' Bei ungültig soll er einzeln durchgehen! Besprochen mit A.Stockenhuber Else r("Ergebnis") = "UNGÜLTIG" - For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'") - row("Ergebnis") = r("Ergebnis") - Next + ' For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'") + ' row("Ergebnis") = r("Ergebnis") + ' Next End If Else r("Ergebnis") = "ERROR" r("Error-Code") = errorCode.ToString() r("Error-Text") = FO.GetCodeText(errorCode) - For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'") - row("Ergebnis") = r("Ergebnis") - row("Error-Code") = r("Error-Code") - row("Error-Text") = r("Error-Text") - Next + ' Bei ERROR soll er ebenfalls einzeln durchgehen! Besprochen mit A.Stockenhuber + 'For Each row As DataRow In dt.Select("UstIdnr = '" & r("UstIdnr") & "' AND UstIdKz ='" & r("UstIdKz") & "'") + ' row("Ergebnis") = r("Ergebnis") + ' row("Error-Code") = r("Error-Code") + ' row("Error-Text") = r("Error-Text") + 'Next End If