This commit is contained in:
2021-01-19 20:27:19 +01:00
parent 1c8b5afac9
commit 595851ec3c
37 changed files with 1293 additions and 479 deletions

View File

@@ -60,6 +60,7 @@ Public Class cKundenErweitert
Property kde_InfoAuftragsNr As Object = Nothing
Property kde_KundeFremdspedition As Boolean = False
Property kde_verzolltBei As Object = Nothing
Property kde_API_Tradeshift As Boolean = False
Dim SQL As New SQL
@@ -120,6 +121,7 @@ Public Class cKundenErweitert
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_InfoAuftragsNr", kde_InfoAuftragsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundeFremdspedition", kde_KundeFremdspedition))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_verzolltBei", kde_verzolltBei))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_API_Tradeshift", kde_API_Tradeshift))
Return list
End Function

View File

@@ -458,6 +458,10 @@ Public Class cRechnungsausgang
'MsgBox(SQL.getValueTxtBySql(sqlstr, "FMZOLL",,, 0))
If Not CBool(SQL.DLookup("isnull([MitgliedslandEU],0)", "Währungstabelle", "LandKz='" & If(RechnungsLandKz, "") & "'", "FMZOLL", 0)) Then
Return False
End If
Return If(SQL.getValueTxtBySql(sqlstr, "FMZOLL",,, 0) = 0, False, True)
End Function

View File

@@ -0,0 +1,129 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cSendVorkosten
Property sndvk_id As Integer
Property sndvk_sendId As Object = Nothing
Property sndvk_LeistungsNr As Object = Nothing
Property sndvk_LeistungsBez As Object = Nothing
Property sndvk_Preis As Object = Nothing
Property sndvk_Firma As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(sndvk_id)
Me.sndvk_id = sndvk_id
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_id", sndvk_id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_sendId", sndvk_sendId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_LeistungsNr", sndvk_LeistungsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_LeistungsBez", sndvk_LeistungsBez))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_Preis", sndvk_Preis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sndvk_Firma", sndvk_Firma))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSendVorkosten WHERE sndvk_id=@sndvk_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "AVISO", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd As New SqlCommand("SELECT * FROM tblSendVorkosten WHERE sndvk_id=@sndvk_id ", conn)
cmd.Parameters.AddWithValue("@sndvk_id", sndvk_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each l In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(l.Scalarvariable)
If dr.Item(l.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(l.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblSendVorkosten] SET " & str & " WHERE sndvk_id=@sndvk_id ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblSendVorkosten (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function INSERT() As Boolean
Try
Return SQL.doSQLVarList(getInsertCmd, "AVISO", , getParameterList)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return False
End Function
End Class

View File

@@ -98,12 +98,14 @@ Public Class cSendungen
Property tblSnd_Vorpapier2_Pos As Object = Nothing
Property tblSnd_Vorpapier3 As Object = Nothing
Property tblSnd_Vorpapier3_Pos As Object = Nothing
Property tblSnd_Frachtkosten As Object = Nothing
Public saveSachbearbeiter As Boolean = False
Property ABRECHNUNG As New List(Of cSendungAbrechnung)
Property HANDLING As New List(Of cSendHandling)
Property VORKOSTEN As New List(Of cSendVorkosten)
'Dim cDatenbank As New cDatenbank
@@ -347,6 +349,7 @@ Public Class cSendungen
Me.tblSnd_Vorpapier2_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier2_Pos"), Nothing)
Me.tblSnd_Vorpapier3 = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier3"), Nothing)
Me.tblSnd_Vorpapier3_Pos = SQL.checkNullReturnValue(dr.Item("tblSnd_Vorpapier3_Pos"), Nothing)
Me.tblSnd_Frachtkosten = SQL.checkNullReturnValue(dr.Item("tblSnd_Frachtkosten"), Nothing)
End If
@@ -432,6 +435,39 @@ Public Class cSendungen
' Return Nothing
End Sub
Public Sub LOAD_VORKOSTEN()
Try
Me.VORKOSTEN.Clear()
Dim conn As SqlConnection = SQL.GetNewOpenConnectionAVISO()
Using cmd2 As New SqlCommand("SELECT * FROM tblSendVorkosten WHERE sndvk_sendId=@sndvk_sendId ", conn)
cmd2.Parameters.AddWithValue("@sndvk_sendId", Me.tblSnd_SendungID)
Dim dr2 = cmd2.ExecuteReader()
While dr2.Read
Dim a As New cSendVorkosten()
a.sndvk_LeistungsNr = SQL.checkNullReturnValue(dr2.Item("sndvk_LeistungsNr"), Nothing)
a.sndvk_sendId = SQL.checkNullReturnValue(dr2.Item("sndvk_sendId"), Nothing)
a.sndvk_LeistungsBez = SQL.checkNullReturnValue(dr2.Item("sndvk_LeistungsBez"), Nothing)
a.sndvk_Firma = SQL.checkNullReturnValue(dr2.Item("sndvk_Firma"), Nothing)
a.sndvk_Preis = SQL.checkNullReturnValue(dr2.Item("sndvk_Preis"), 0)
Me.VORKOSTEN.Add(a)
End While
dr2.Close()
End Using
conn.Close()
'End Using
'Return Nothing
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & " 'cSENDUNGEN'", System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
' Return Nothing
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
@@ -527,6 +563,7 @@ Public Class cSendungen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier2_Pos", tblSnd_Vorpapier2_Pos))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3", tblSnd_Vorpapier3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3_Pos", tblSnd_Vorpapier3_Pos))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Frachtkosten", tblSnd_Frachtkosten))
@@ -608,6 +645,23 @@ Public Class cSendungen
End Function
Public Function SAVE_VORKOSTEN() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
' Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
SAVE_VORKOSTEN = False
Dim sqlstr = " DELETE FROM tblSendVorkosten WHERE sndvk_sendId=" & Me.tblSnd_SendungID
' MsgBox(sqlstr)
If SQL.doSQL(sqlstr, "AVISO") Then
SAVE_VORKOSTEN = True
For Each a In VORKOSTEN
a.sndvk_sendId = Me.tblSnd_SendungID
If Not a.INSERT() Then SAVE_VORKOSTEN = False
Next
End If
' Return b
End Function
Public Shared Function SET_SpedbuchEntry(tblSnd_SendungID As Integer, tblSnd_SpeditionsbuchEingetragen As Boolean) As String
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
@@ -620,6 +674,39 @@ Public Class cSendungen
Return ""
End Function
Public Function getNCTSAdress(Optional htmlOptimized As Boolean = False, Optional ansprechpartner As Boolean = True, Optional Bestimmungszollstelle As Boolean = True) As String
Dim adresse = ""
adresse &= If(Me.tblSnd_NCTSVerzollungsadresse, "") & vbNewLine
adresse &= If(Me.NCTS_Verzollungsadresse_Strasse, "") & vbNewLine
adresse &= If(Me.NCTS_Verzollungsadresse_Land, "") & " " & If(Me.NCTS_Verzollungsadresse_PLZ, "") & " " & If(Me.NCTS_Verzollungsadresse_Ort, "") & vbNewLine
If ansprechpartner Then adresse &= If(Me.NCTS_Verzollungsadresse_Ansprechpartner, "") & vbNewLine
If Bestimmungszollstelle And If(Me.NCTS_Bestimmungszollstelle, "") <> "" Then
adresse &= SQL.getValueTxtBySql("SELECT basncd_dstnr +' - ' + [basncd_name] FROM basncd WHERE basncd_dstnr='" & Me.NCTS_Bestimmungszollstelle & "' ", "ATLAS")
End If
If htmlOptimized Then adresse = adresse.Trim.Replace(vbNewLine, "<br/>")
Return adresse.Trim
End Function
Public Function getEmpfaengerAdress(Optional htmlOptimized As Boolean = False, Optional ansprechpartner As Boolean = False) As String
If tblSnd_EmpfaengerKdNr > 0 Then
Dim AD As New cAdressen(tblSnd_EmpfaengerKdNr)
Dim adresse = ""
adresse &= If(AD.Name_1, "") & If(AD.Name_2, "") & vbNewLine
If If(AD.Straße, "") <> "" Then adresse &= If(AD.Straße, "") & vbNewLine
adresse &= If(AD.LandKz, "") & " " & If(AD.PLZ, "").ToString.ToUpper.Replace("OHNE", "") & " " & If(AD.Ort, "")
If htmlOptimized Then adresse = adresse.Trim.Replace(vbNewLine, "<br/>")
Return adresse.Trim
Else
Return tblSnd_Empfaenger
End If
End Function
End Class
Public Class cSendungAbrechnung

View File

@@ -499,8 +499,7 @@ Class TrdInvoice_FUNCTIONS
Select Case Firma_Id
Case 20 'IMEX --> Andere Sachkonten in Tbl Leistungen!
If [RK_RechnungsLandKz] Is Nothing _
OrElse [RK_RechnungsLandKz].trim = "" _
If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _
OrElse [RK_RechnungsLandKz] = "A" _
OrElse [RK_RechnungsLandKz] = "AT" Then
If CBool([RP_Steuerpflichtig]) Then
@@ -524,7 +523,7 @@ Class TrdInvoice_FUNCTIONS
Case 21, 22, 23, 24 '--> cLeistungenBUKonten!
Dim BU_KTO As New VERAG_PROG_ALLGEMEIN.cLeistungenBUKonten(RP_LeistungsNr, Firma_Id)
If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz].trim = "" OrElse
If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" OrElse
[RK_RechnungsLandKz] = FIRMA.Firma_LandKz.ToString.Replace("AT", "A").Replace("DE", "D") Then
If CBool([RP_Steuerpflichtig]) Then
@@ -547,8 +546,7 @@ Class TrdInvoice_FUNCTIONS
If getSachkonto = "" Then getSachkonto = "9999" 'DEFAULT!
Case Else
If [RK_RechnungsLandKz] Is Nothing _
OrElse [RK_RechnungsLandKz].trim = "" _
If [RK_RechnungsLandKz] Is Nothing OrElse [RK_RechnungsLandKz] Is DBNull.Value OrElse [RK_RechnungsLandKz].trim = "" _
OrElse [RK_RechnungsLandKz] = "A" _
OrElse [RK_RechnungsLandKz] = "AT" Then
If CBool([RP_Steuerpflichtig]) Then