Files
AVISO/Aviso/frmSndVorgeschriebenSetzen.vb
2022-03-21 09:19:52 +01:00

161 lines
6.4 KiB
VB.net

Public Class frmSndVorgeschriebenSetzen
Public AVISO As VERAG_PROG_ALLGEMEIN.cAviso = Nothing
Public SND As VERAG_PROG_ALLGEMEIN.cSendungen = Nothing
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Public KD As VERAG_PROG_ALLGEMEIN.cKunde = Nothing
Public AD As VERAG_PROG_ALLGEMEIN.cAdressen = Nothing
Public ueberschreitungFound As Boolean = False
Dim TmpFirma As String = ""
Sub New(AvisoId As Integer, ByRef SND As VERAG_PROG_ALLGEMEIN.cSendungen, KdNr As Integer)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.AVISO = AvisoDAL.LesenAviso(AvisoId, "")
Me.SND = SND
If KdNr > 0 Then
KD = New VERAG_PROG_ALLGEMEIN.cKunde(KdNr)
If KD IsNot Nothing Then
AD = New VERAG_PROG_ALLGEMEIN.cAdressen(KD.KundenNrZentrale)
End If
End If
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Sub New(ByRef Aviso As VERAG_PROG_ALLGEMEIN.cAviso, ByRef SND As VERAG_PROG_ALLGEMEIN.cSendungen, KdNr As Integer)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
Me.AVISO = Aviso
Me.SND = SND
If KdNr > 0 Then
KD = New VERAG_PROG_ALLGEMEIN.cKunde(KdNr)
If KD IsNot Nothing Then
AD = New VERAG_PROG_ALLGEMEIN.cAdressen(KD.KundenNrZentrale)
End If
End If
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Private Sub pnl_Paint(sender As Object, e As PaintEventArgs) Handles pnl.Paint
End Sub
Private Sub frmAnkunftSetzen_Load(sender As Object, e As EventArgs) Handles Me.Load
btn.Focus()
TmpFirma = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale2(KD.FilialenNr)
If AVISO IsNot Nothing And SND IsNot Nothing And AD IsNot Nothing And KD IsNot Nothing Then
Select Case TmpFirma
Case "UNISPED", "AMBAR", "" 'Kein Kreditlimit
Me.Close()
Exit Sub
End Select
If KD.Kreditlimit Is Nothing OrElse KD.Kreditlimit = 2600 OrElse KD.Kreditlimit = 0 Then ' Kein Limit hinterlegt
Me.Close()
Exit Sub
End If
If Not calcUeberzeihung() Then
Me.Close() ' Keine Überzieheung
Exit Sub
Else
ueberschreitungFound = True
End If
Else
Me.Close()
End If
End Sub
Function calcUeberzeihung() As Boolean
Try
Label3.Visible = False
Label12.Visible = False
lblUeberzeihung.Text = "-"
lblKunde.Text = KD.KundenNrZentrale & " " & AD.Ordnungsbegriff
Dim OP_Saldo As Double = 0
Dim EUST As Double = 0
Dim Risiko As Double = 0
Dim Kreditlimit As Double = 0
Dim Ueberziehung As Double = 0
Dim KdNr As Integer = KD.KundenNrZentrale
If TmpFirma = "IMEX" Then
OP_Saldo = CDbl(SQL.getValueTxtBySql("SELECT isnull(sum([Buchungsbetrag_SOLL]),0)-isnull(sum([Buchungsbetrag_HABEN]),0) FROM [Offene_Posten_DVO] WHERE [Konto]='" & KdNr & "'", "FMZOLL",,, 0))
Else
OP_Saldo = CDbl(SQL.getValueTxtBySql("SELECT sum(Gesamtausstand) FROM [Offene Posten] where Kontonummer='" & KdNr & "'", "FMZOLL",,, 0))
End If
'Offene EUST/ZOLL aus Zkteing ermitteln
EUST = CDbl(SQL.getValueTxtBySql("SELECT isnull(SUM (Betrag),0)
FROM tblSendungen INNER JOIN [tblSendAbrechnung] on tblSnd_SendungID=sndabr_sendId
INNER JOIN [FMZOLL\SQLFMZOLL].VERAG.dbo.[Zkteing] ON (cast(FilialenNr as varchar(4)) + '/' + cast(AbfertigungsNr as varchar(8))) LIKE ([Bezugsnummer] + '%')
WHERE sndabr_abrArt IN ('EUST','ZOLL')
AND (
(tblSnd_AvisiererKdNr='" & KdNr & "' and sndabr_beteiligter='AVISIERER') OR
(tblSnd_AbsenderKdNr='" & KdNr & "' and sndabr_beteiligter='ABS') OR
(tblSnd_EmpfaengerKdNr='" & KdNr & "' and sndabr_beteiligter='EMPF') OR
(tblSnd_FrachtfuehrerKdNr='" & KdNr & "' and sndabr_beteiligter='FRACHTF') OR
(tblSnd_AuftraggeberKdNr='" & KdNr & "' and sndabr_beteiligter='AUFTR')
)
AND [Abfertigungsdatum]>DATEADD(month,-6 ,GETDATE())
AND [sndabr_wert]='X'
AND [Status] NOT IN ('F')", "AVISO",, , 0))
Kreditlimit = CDbl(If(KD.Kreditlimit, 0))
Risiko = OP_Saldo + EUST
Ueberziehung = Risiko - Kreditlimit
lblOPSaldo.Text = OP_Saldo.ToString("C2")
lblEUST.Text = EUST.ToString("C2")
' lblEUST.Text = "nicht verfügbar"
lblRisiko.Text = Risiko.ToString("C2")
lblKreditlimit.Text = Kreditlimit.ToString("C2")
If Ueberziehung > 0 Then
lblUeberzeihung.Text = Ueberziehung.ToString("C2")
Label3.Visible = True
Label12.Visible = True
Return True
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return False
End Function
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
' AVISO.FahrerHandy = txtFahrerHandy.Text
'If AvisoDAL.SpeichernAviso(AVISO) Then
' Me.DialogResult = DialogResult.OK
'Else
' Me.DialogResult = DialogResult.None
'End If
Me.DialogResult = DialogResult.OK
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.DialogResult = DialogResult.OK
End Sub
Private Sub frmAnkunftSetzen_KeyDown(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.Return Then
btn.PerformClick()
End If
End Sub
End Class