SDL Abholung Mail ergänzt

This commit is contained in:
2023-01-26 11:32:06 +01:00
parent 950127d6a4
commit cf6e1fd0cb
4 changed files with 86 additions and 25 deletions

View File

@@ -213,7 +213,7 @@ Public Class frmVorauskasse
End If
'sqlstr &= " SELECT " & TopMax & " [vk_id],[vk_FilialeNr],[vk_AbfertigungsNr],[vk_Datum],[vk_LKW],[vk_KdNr],[vk_Firma],[vk_QS_Sachbearbeiter],[vk_QS_Bemerkung],vk_Betrag,[vk_GeldEingetroffen],[vk_BH_Sachbearbeiter],[vk_BH_Bemerkung],[vk_BH_DatumGeldeingang],vk_storno,vk_Freigegeben " & LKWAnkunft & " FROM tblVorauskassen WHERE 1=1 "
sqlstr &= " SELECT " & TopMax & " [vk_id],[vk_FilialeNr],[vk_AbfertigungsNr],[vk_Datum],[vk_LKW],[vk_KdNr],[vk_Firma],[vk_QS_Sachbearbeiter],[vk_QS_Bemerkung],vk_Betrag,[vk_GeldEingetroffen],[vk_BH_Sachbearbeiter],[vk_BH_Bemerkung],[vk_BH_DatumGeldeingang],vk_storno,vk_Freigegeben FROM tblVorauskassen " & LKWAnkunft & " "
sqlstr &= " SELECT " & TopMax & " [vk_id],[vk_FilialeNr],[vk_AbfertigungsNr],[vk_Datum],[vk_LKW],[vk_KdNr],[vk_Firma],[vk_QS_Sachbearbeiter],vk_QS_SachbearbeiterId,[vk_QS_Bemerkung],vk_Betrag,[vk_GeldEingetroffen],[vk_BH_Sachbearbeiter],[vk_BH_Bemerkung],[vk_BH_DatumGeldeingang],vk_storno,vk_Freigegeben FROM tblVorauskassen " & LKWAnkunft & " "
' MsgBox(sqlstr & getVorauskasseWhere() & " ORDER BY vk_Datum desc ")
With MyDatagridview1
@@ -296,6 +296,7 @@ Public Class frmVorauskasse
.MultiSelect = False
.Columns("vk_id").Visible = False
.Columns("vk_QS_SachbearbeiterId").Visible = False
.Columns("vk_FilialeNr").Width = 45
.Columns("vk_FilialeNr").HeaderText = "Filiale"
.Columns("vk_FilialeNr").DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter
@@ -378,7 +379,7 @@ Public Class frmVorauskasse
Dim VK As New VERAG_PROG_ALLGEMEIN.cVorauskasse(MyDatagridview1.SelectedRows(0).Cells("vk_id").Value)
VK.SET_GELDEINGANG(True, txtBemerkung.Text)
Dim VermerkIDNew = -1
cVorauskasseOptions.insertVermerk(MyDatagridview1.SelectedRows(0).Cells("vk_FilialeNr").Value, MyDatagridview1.SelectedRows(0).Cells("vk_AbfertigungsNr").Value, 14,,, VermerkIDNew,,, MyDatagridview1.SelectedRows(0).Cells("vk_id").Value)
cVorauskasseOptions.insertVermerk(MyDatagridview1.SelectedRows(0).Cells("vk_FilialeNr").Value, MyDatagridview1.SelectedRows(0).Cells("vk_AbfertigungsNr").Value, 14,,, VermerkIDNew,,, MyDatagridview1.SelectedRows(0).Cells("vk_id").Value, MyDatagridview1.SelectedRows(0).Cells("vk_QS_SachbearbeiterId").Value)
If VK.vk_VermerkId IsNot Nothing AndAlso VermerkIDNew > 0 Then
Dim cVermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL
@@ -577,7 +578,7 @@ End Class
Public Class cVorauskasseOptions
Shared Sub insertVermerk(FilialenNr, AbfertigungsNr, VermerkCodeId, Optional DatumTmp = Nothing, Optional Freigegeben = False, Optional ByRef VermerkId = -1, Optional tblSnd_SendungID = -1, Optional vk_Betrag = Nothing, Optional VorauskasseId = Nothing)
Shared Sub insertVermerk(FilialenNr, AbfertigungsNr, VermerkCodeId, Optional DatumTmp = Nothing, Optional Freigegeben = False, Optional ByRef VermerkId = -1, Optional tblSnd_SendungID = -1, Optional vk_Betrag = Nothing, Optional VorauskasseId = Nothing, Optional vk_QS_SachbearbeiterId = Nothing)
Try
If vk_Betrag Is Nothing Then vk_Betrag = 0
@@ -613,10 +614,12 @@ Public Class cVorauskasseOptions
myVermerk.VorauskasseId = VorauskasseId
myVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME & " (AUTO)"
myVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Dim betragTXT = If(CDbl(vk_Betrag) > 0, " (" & CDbl(vk_Betrag).ToString("C2") & ")", "")
Dim betragTXT2 = If(CDbl(vk_Betrag) > 0, ": " & CDbl(vk_Betrag).ToString("C2") & "", "")
Select Case VermerkCodeId
Case 13 : myVermerk.Hinweis_Vermerk = "Vorauskasse angefordert" & If(CDbl(vk_Betrag) > 0, " (" & CDbl(vk_Betrag).ToString("C2") & ")", "")
Case 14 : myVermerk.Hinweis_Vermerk = "Vorauskasse erhalten" : insertBenachrichtigung(myVermerk.Hinweis_Vermerk, myVermerk.AvisoID, myVermerk.SendungID)
Case 59 : myVermerk.Hinweis_Vermerk = "Vorauskasse freigegeben" : insertBenachrichtigung(myVermerk.Hinweis_Vermerk, myVermerk.AvisoID, myVermerk.SendungID)
Case 13 : myVermerk.Hinweis_Vermerk = "Vorauskasse angefordert" & betragTXT
Case 14 : myVermerk.Hinweis_Vermerk = "Vorauskasse erhalten" : insertBenachrichtigung(myVermerk.Hinweis_Vermerk & betragTXT2, myVermerk.AvisoID, myVermerk.SendungID, vk_QS_SachbearbeiterId)
Case 59 : myVermerk.Hinweis_Vermerk = "Vorauskasse freigegeben" : insertBenachrichtigung(myVermerk.Hinweis_Vermerk & betragTXT2, myVermerk.AvisoID, myVermerk.SendungID, vk_QS_SachbearbeiterId)
Case Else : Exit Sub
End Select
If VermerkCodeId IsNot Nothing Then myVermerk.VermerkCodeId = VermerkCodeId
@@ -631,7 +634,7 @@ Public Class cVorauskasseOptions
Shared Sub delTop1Vermerk(FilialenNr, AbfertigungsNr, VermerkCodeId)
Try
Dim veragSQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = veragSQL.loadDgvBySql("SELECT TOP 1 [tblSnd_SendungID] FROM [tblSendungen] where AbfertigungsNr='" & AbfertigungsNr & "' and FilialenNr='" & FilialenNr & "'", "AVISO")
Dim dt As DataTable = veragSQL.loadDgvBySql("Select TOP 1 [tblSnd_SendungID] FROM [tblSendungen] where AbfertigungsNr='" & AbfertigungsNr & "' and FilialenNr='" & FilialenNr & "'", "AVISO")
If dt.Rows.Count = 0 Then Exit Sub
If Not IsNumeric(dt.Rows(0)("tblSnd_SendungID")) Then Exit Sub
@@ -654,18 +657,51 @@ Public Class cVorauskasseOptions
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Shared Sub insertBenachrichtigung(VermerkTxt, AvisoId, SendungID)
Shared Sub insertBenachrichtigung(VermerkTxt, AvisoId, SendungID, vk_QS_SachbearbeiterId)
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sendToID = SQL.DLookup("LetzterMitarbeiterId", "tblSendungen", "tblSnd_SendungID='" & SendungID & "'", "AVISO")
Dim sendToID = -1
Dim art = "B"
If sendToID < 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("tblSnd_TeamId", "tblSendungen", "tblSnd_SendungID='" & SendungID & "'", "AVISO")
art = "T"
'Wenn Benutzer der Vorauskasse nicht online, dann Benutzer der Sendung...
If vk_QS_SachbearbeiterId IsNot Nothing Then
sendToID = vk_QS_SachbearbeiterId
If sendToID < 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & AvisoId & "'", "AVISO")
art = "B"
End If
End If
'6 = VK OK
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(AvisoId, SendungID, 6, art, sendToID, "von '" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "'", 0, , VermerkTxt)
'Wenn Benutzer der Sendung nicht online, dann Benutzer der Sendung ..
If sendToID < 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & AvisoId & "'", "AVISO")
art = "B"
End If
'Wenn Benutzer des LKWs nicht online, Team...
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA ' --> Bezieht sich auf BU MA
Case "IMEX" ' Bie IMEX kommen die MA durhc verschobene Dienstzeiten oft später
Case Else
If sendToID < 0 OrElse (Not VERAG_PROG_ALLGEMEIN.cSession.IS_ONLINE(sendToID)) Then
sendToID = SQL.DLookup("tblSnd_TeamId", "tblSendungen", "tblSnd_SendungID='" & SendungID & "'", "AVISO")
art = "T"
End If
End Select
'Wenn gefunden
If sendToID >= 0 Then
Dim status = SQL.DLookup("Status", "Aviso", "AvisoID='" & AvisoId & "'", "AVISO")
Select Case status
'Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorbereitet, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Vorgeschrieben,,VERAG_PROG_ALLGEMEIN.cGlobal.erfasst Nue
Case VERAG_PROG_ALLGEMEIN.cGlobal.Status_NichtEingetroffen, VERAG_PROG_ALLGEMEIN.cGlobal.Status_Freigegeben
'Nicht
Case Else
'6 = VK OK
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(AvisoId, SendungID, 6, art, sendToID, "Eingang Vorauskasse ('" & VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "')", 0, , VermerkTxt)
End Select
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)