This commit is contained in:
2024-08-08 13:43:59 +02:00
parent c409a5aa91
commit 3271723f41
6 changed files with 121 additions and 81 deletions

View File

@@ -192,14 +192,14 @@ Public Class frmBU_Mahnlauf
and (si_mahnstufe >0 AND si_mahnstufe is not NULL) and d_mahnung>='" & Mahn_Datum.ToShortDateString & "' and d_netto<=getdate()"
Return SQL.getValueTxtBySql(sqlStr, "FIBU",,, 0)
End Function
Public Function doMahnung(Mahndruckart As Integer, KdNr As Integer, Firma_ID As Integer, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional ByRef forceMahnstufe As String = "", Optional showErr As Boolean = True, Optional hideMahnstopp As Boolean = True) As Boolean
Public Shared Function doMahnung(Mahndruckart As Integer, KdNr As Integer, Firma_ID As Integer, Optional ByRef Path As String = "", Optional ByRef PrinterName As String = "", Optional ByRef forceMahnstufe As String = "", Optional showErr As Boolean = True, Optional hideMahnstopp As Boolean = True) As Boolean
Dim sqlStr = "SELECT c_urbelegid OP_Typ,d_rechnung Rechnungsdatum,d_netto Faelligkeit,dec_fremdbrutto Rechnungsbetrag,c_bemerkung Bemerkung,dec_fremdzahlung Zahlung,dec_fremdbrutto+dec_fremdzahlung Ausstand,c_waehrung Währung,si_mahnstufe Mahnstufe
FROM op_debitor OP
WHERE (OP.i_firm_refid = '" & Firma_ID & "') AND (dt_geloescht IS NULL)
and i_personenkonto='" & KdNr & "'
" & If(hideMahnstopp, " and isnull(si_mahnflags,0) <>(1) ", "") & "
order by d_rechnung"
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dtDataSource = SQL.loadDgvBySql(sqlStr, "FIBU")
If dtDataSource Is Nothing Then
If showErr Then MsgBox("Keine Daten vorhanden!")
@@ -852,9 +852,9 @@ Public Class frmBU_Mahnlauf
End Sub
Function getAusgabe(allowMailSend As Boolean) As String
Shared Function getAusgabe(MainForm As Control, allowMailSend As Boolean) As String
Dim f As New frmBU_Mahnlauf_Ausgabe(allowMailSend)
f.ShowDialog(Me)
f.ShowDialog(MainForm)
If f.DialogResult = DialogResult.OK Then
Return f.AUSGABE
End If
@@ -863,9 +863,25 @@ Public Class frmBU_Mahnlauf
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click, Button4.Click
Me.Cursor = Cursors.WaitCursor
If MyDatagridview1.SelectedRows.Count > 0 Then
Dim KontoList As New List(Of String)
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
KontoList.Add(MyDatagridview1.SelectedRows(0).Cells("Konto").Value)
Next
If sender Is Button5 Then doZahlungserinnerung(Me, "OP", KontoList, cboFirma._value, MyComboBox2._value)
If sender Is Button4 Then doZahlungserinnerung(Me, "ZE", KontoList, cboFirma._value, MyComboBox2._value)
End If
Me.Cursor = Cursors.Default
End Sub
Shared Sub doZahlungserinnerung(MainForm As Control, art As String, KontoList As List(Of String), Firma As String, Mahnstufe As String)
Dim fProgBar As New frmBU_Mahnlauf_Ausgabe_Ladebalken
Try
Me.Cursor = Cursors.WaitCursor
Dim oPS As New System.Drawing.Printing.PrinterSettings
Dim srchPrinter = oPS.PrinterName
@@ -873,25 +889,25 @@ Public Class frmBU_Mahnlauf
Dim forceMahnstufe As String = -2
Dim hideMahnstopp As String = True
Dim gesAnz As Integer = MyDatagridview1.SelectedRows.Count
Dim gesAnz As Integer = KontoList.Count
Dim cnt = 0
If sender Is Button5 Then forceMahnstufe = -2 : hideMahnstopp = False
If sender Is Button4 Then forceMahnstufe = MyComboBox2._value : hideMahnstopp = True
If art = "OP" Then forceMahnstufe = -2 : hideMahnstopp = False
If art = "ZE" Then forceMahnstufe = Mahnstufe : hideMahnstopp = True
If MyDatagridview1.SelectedRows.Count > 0 Then
Select Case getAusgabe(False)
If KontoList.Count > 0 Then
Select Case getAusgabe(MainForm, False)
Case "PDF"
If MyDatagridview1.SelectedRows.Count = 1 Then
doMahnung(3, MyDatagridview1.SelectedRows(0).Cells("Konto").Value, cboFirma._value, , srchPrinter, forceMahnstufe,, hideMahnstopp)
If KontoList.Count = 1 Then
doMahnung(3, KontoList(0), Firma, , srchPrinter, forceMahnstufe,, hideMahnstopp)
Else
Dim PDF_LIST As New List(Of String)
fProgBar.Show(Me)
fProgBar.Show(MainForm)
fProgBar.Refresh()
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
For Each konto In KontoList ' As DataGridViewRow In MyDatagridview1.SelectedRows
Dim Path = ""
If doMahnung(4, r.Cells("Konto").Value, cboFirma._value, Path, srchPrinter, forceMahnstufe, False, hideMahnstopp) Then
If doMahnung(4, konto, Firma, Path, srchPrinter, forceMahnstufe, False, hideMahnstopp) Then
PDF_LIST.Add(Path)
End If
cnt += 1
@@ -911,21 +927,21 @@ Public Class frmBU_Mahnlauf
Case "MAIL"
Dim PDF_LIST As New List(Of String)
fProgBar.Show(Me)
fProgBar.Show(MainForm)
fProgBar.Refresh()
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
For Each konto In KontoList ' As DataGridViewRow In MyDatagridview1.SelectedRows
Dim Path = ""
doMahnung(2, r.Cells("Konto").Value, cboFirma._value, Path, srchPrinter, forceMahnstufe, False, hideMahnstopp)
doMahnung(2, konto, Firma, Path, srchPrinter, forceMahnstufe, False, hideMahnstopp)
cnt += 1
fProgBar.progBar.Value = cnt / gesAnz * 100
fProgBar.lblAnzahl.Text = cnt & "/" & gesAnz
fProgBar.Refresh()
Next
Case "PRINT"
fProgBar.Show(Me)
fProgBar.Show(MainForm)
fProgBar.Refresh()
For Each r As DataGridViewRow In MyDatagridview1.SelectedRows
doMahnung(0, r.Cells("Konto").Value, cboFirma._value, , srchPrinter, forceMahnstufe,, hideMahnstopp)
For Each konto In KontoList ' As DataGridViewRow In MyDatagridview1.SelectedRows
doMahnung(0, konto, Firma, , srchPrinter, forceMahnstufe,, hideMahnstopp)
cnt += 1
fProgBar.progBar.Value = cnt / gesAnz * 100
fProgBar.lblAnzahl.Text = cnt & "/" & gesAnz
@@ -937,11 +953,10 @@ Public Class frmBU_Mahnlauf
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, , "WiedergestellungsDatum Fehler")
Finally
fProgBar.Close
fProgBar.Close()
End Try
Me.Cursor = Cursors.Default
End Sub
End Sub
Private Sub Panel1_Paint(sender As Object, e As PaintEventArgs) Handles Panel1.Paint
End Sub
@@ -957,7 +972,7 @@ Public Class frmBU_Mahnlauf
If MyDatagridview1.SelectedRows.Count > 0 Then
Dim AUSGABE = getAusgabe(True)
Dim AUSGABE = getAusgabe(Me, True)
Dim forceMahnstufe As String = -2