MDM Offertenprüfung für IDS

This commit is contained in:
2024-12-04 17:28:33 +01:00
parent e1c8ce20be
commit 4a4a647b5a
2 changed files with 78 additions and 13 deletions

View File

@@ -4143,15 +4143,32 @@ Public Class frmMDMDatenverarbetiung
End If
Dim sqlStringfehlendeLeistungsNr = "select count(*) from (SELECT Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG 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 IN (select tblIDSTransactionsNew.KdNrVERAG from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "') 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 Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG ) as t1" 'Verag360 und VeragAG
Dim dt As DataTable = SQL.loadDgvBySql("Select distinct(tblIDSTransactionsNew.KdNrVERAG) from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "'", "FMZOLL")
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
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
Dim fehlendeLeistungsNr As Integer = CInt((New SQL).getValueTxtBySql(sqlStringfehlendeLeistungsNr, "FMZOLL"))
If fehlendeLeistungsNr > 0 Then
pruefData_IDS = False
MsgBox("Bei " & fehlendeLeistungsNr & " Leistungen fehlt die Offertenzuweisung !" & vbNewLine & "Diese Offerten (von Rechnungsdatum " & DateTimePicker2.Text & ") müssen nachgetragen werden.")
Return False
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"))

View File

@@ -525,7 +525,7 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Sub genIDSBericht(art As String)
Dim dtOfferten As New DataTable
Dim sqlstr = ""
Select Case art
@@ -603,11 +603,51 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Case "OFFERTEN"
sqlstr = "select Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG 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 IN (select tblIDSTransactionsNew.KdNrVERAG from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "') and Leistungen.LeistungsNr = Offertenpositionen.LeistungsNr and Leistungen.LeistungsBez = Offertenpositionen.LeistungsBez and ( Offertenpositionen.OffertenNr=17 or Offertenpositionen.OffertenNr=21)
where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "' and Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG"
Dim dtKunden = SQL.loadDgvBySql("Select distinct(tblIDSTransactionsNew.KdNrVERAG) from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "'", "FMZOLL")
If dtKunden.Rows.Count > 0 Then
For Each r In dtKunden.Rows
Dim kundenNr = r.Item("KdNrVERAG")
If Not IsDBNull(kundenNr) AndAlso kundenNr > 0 Then
Dim sqlStringfehlendeLeistungsNr = " select * from (SELECT Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG 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) = '" & MAIN.DateTimePicker2.Text & "' and tblIDSTransactionsNew.KdNrVERAG = " & kundenNr & " and Offertenpositionen.LeistungsNr is null Group by Leistungen.LeistungsNr, Leistungen.LeistungsBez,tblIDSTransactionsNew.KdNrVERAG) as t1" 'Verag360 und VeragAG
Dim dtResult As New DataTable
dtResult = SQL.loadDgvBySql(sqlStringfehlendeLeistungsNr, "FMZOLL")
If dtOfferten IsNot Nothing Then
If Not dtOfferten.Columns.Contains("KdNrVERAG") Then
dtOfferten.Columns.Add("KdNrVERAG", GetType(String))
dtOfferten.Columns.Add("LeistungsNr", GetType(Integer))
dtOfferten.Columns.Add("LeistungsBez", GetType(String))
End If
For Each offert In dtResult.Rows
Dim ro As DataRow = dtOfferten.NewRow
ro("KdNrVERAG") = offert.Item("KdNrVERAG")
ro("LeistungsNr") = offert.Item("LeistungsNr")
ro("LeistungsBez") = offert.Item("LeistungsBez")
dtOfferten.Rows.Add(ro)
Next
End If
End If
Next
End If
Case Else
MsgBox("Auswertungsart nicht definiert!")
@@ -615,7 +655,15 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
End Select
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim dt As DataTable
If art = "OFFERTEN" Then
dt = dtOfferten
Else
dt = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
End If
Dim print As New frmPrintLayout
print.Text = "IDS"
If dt Is Nothing OrElse dt.Rows.Count = 0 Then