FixeTaxe441 bei Sammelrechnung
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
Imports System.Data.OleDb
|
||||
Imports System.IO
|
||||
Imports com.sun.xml.internal.rngom
|
||||
Imports itextsharp.text.pdf
|
||||
Imports MDM_Worker
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
@@ -1220,28 +1221,26 @@ Public Class frmMDMDatenverarbetiung
|
||||
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
|
||||
'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)
|
||||
' 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)
|
||||
@@ -1250,16 +1249,16 @@ Public Class frmMDMDatenverarbetiung
|
||||
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
|
||||
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 = ""
|
||||
@@ -3437,6 +3436,10 @@ Public Class frmMDMDatenverarbetiung
|
||||
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
|
||||
|
||||
@@ -3636,11 +3639,11 @@ Public Class frmMDMDatenverarbetiung
|
||||
End If
|
||||
|
||||
'cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag)
|
||||
'Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen -> NICHT NOTWENDIG WEIL 440 nicht FÜR Sammelrechnung verwendet wird!
|
||||
'Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen -> NICHT NOTWENDIG WEIL 440 nicht FÜR Sammelrechnung verwendet wird!
|
||||
'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, 20) ' Fixe Taxe 441 errechnen
|
||||
Call usrCntlFaktAbrechnung.setFixeTaxeMin(RG, 500) ' Fixe Taxe 441 errechnen
|
||||
|
||||
cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag)
|
||||
|
||||
@@ -3705,12 +3708,6 @@ Public Class frmMDMDatenverarbetiung
|
||||
POS.BGebProzent = o.BGebProzent
|
||||
POS.BGebMinBetrag = o.BGebMinBetrag
|
||||
|
||||
If POS.LeistungsNr = 441 Then
|
||||
MsgBox("")
|
||||
End If
|
||||
|
||||
|
||||
|
||||
RG.POSITIONEN.Add(POS)
|
||||
|
||||
|
||||
@@ -3839,6 +3836,9 @@ Public Class frmMDMDatenverarbetiung
|
||||
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 & "'")
|
||||
@@ -3930,6 +3930,10 @@ Public Class frmMDMDatenverarbetiung
|
||||
ORDER BY cardnumber", "FMZOLL")
|
||||
|
||||
|
||||
Dim dtKunden As DataTable = SQL.loadDgvBySql("SELECT Distinct(Kreditkarten.AdressenNr FROM dbo.tblAsfinagMaut", "FMZOLL")
|
||||
|
||||
checkFixeTaxeImOffert("ASFINAG", dtKunden)
|
||||
|
||||
Dim VERAGKdNr = -1
|
||||
Dim VERAGLeistungsNr = -1
|
||||
Dim found = False
|
||||
@@ -3956,7 +3960,7 @@ Public Class frmMDMDatenverarbetiung
|
||||
pruefData_UTA = True
|
||||
Try
|
||||
|
||||
Dim dtUTAKundennummern As DataTable = SQL.loadDgvBySql("SELECT Distinct(tblUTAImportNew.Kundennummer)
|
||||
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")
|
||||
@@ -3998,6 +4002,13 @@ Public Class frmMDMDatenverarbetiung
|
||||
|
||||
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
|
||||
|
||||
@@ -4088,6 +4099,16 @@ Public Class frmMDMDatenverarbetiung
|
||||
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
|
||||
|
||||
@@ -4134,6 +4155,9 @@ Public Class frmMDMDatenverarbetiung
|
||||
|
||||
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
|
||||
@@ -4903,4 +4927,64 @@ RabattBerechnen:
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user