rmc, datev, faktEmail

This commit is contained in:
2024-05-15 17:04:56 +02:00
parent 2f3400bc6d
commit c015a416fc
4 changed files with 246 additions and 17 deletions

View File

@@ -0,0 +1,192 @@

Imports System.Data.SqlClient
Imports System.IO
Imports System.Reflection
Public Class cRMC
Property rmc_id As Integer
Property rmc_kdNr As Object = Nothing
Property rmc_kdName As Object = Nothing
Property rmc_UID As Object = Nothing
Property rmc_landKZ As Object = Nothing
Property rmc_landBezeichnung As Object = Nothing
Property rmc_reDatum As Object = Nothing
Property rmc_reNr As Object = Nothing
Property rmc_betragNetto As Object = Nothing
Property rmc_betragBrutto As Object = Nothing
Property rmc_waehrung As Object = Nothing
Property rmc_euroBrutto As Object = Nothing
Property rmc_file As Object = Nothing
Property rmc_importDatum As DateTime = Now
Property rmc_version As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(rmc_id)
Me.rmc_id = rmc_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("rmc_id", rmc_id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_kdNr", rmc_kdNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_kdName", rmc_kdName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_UID", rmc_UID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_landKZ", rmc_landKZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_landBezeichnung", rmc_landBezeichnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_reDatum", rmc_reDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_reNr", rmc_reNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_betragNetto", rmc_betragNetto))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_betragBrutto", rmc_betragBrutto))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_waehrung", rmc_waehrung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_euroBrutto", rmc_euroBrutto))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_file", rmc_file))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_importDatum", rmc_importDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_version", rmc_version))
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 tblRMCImport WHERE rmc_id=@rmc_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblRMCImport WHERE rmc_id=@rmc_id ", conn)
cmd.Parameters.AddWithValue("@rmc_id", rmc_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
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 tblRMCImport SET " & str & " WHERE rmc_id=@rmc_id ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
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 tblRMCImport (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
Public VERARBEITUNG_PFAD
Public ARCHIV_PFAD
Public ERROR_PFAD
Public ZIEL_PFAD
Public FTP_PFAD
Public API_STRING As String
Public API As New DataTable
Dim Dateiname = ""
Public Function initImportPfade() As Boolean
ERROR_PFAD = cRMC.Paramter.GET_PARAM_ByName("ERROR_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
ARCHIV_PFAD = cRMC.Paramter.GET_PARAM_ByName("ARCHIV_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
VERARBEITUNG_PFAD = cRMC.Paramter.GET_PARAM_ByName("VERARBEITUNG_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
FTP_PFAD = cRMC.Paramter.GET_PARAM_ByName("SERVER_Path_In", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
ZIEL_PFAD = cRMC.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If Not IO.Directory.Exists(VERARBEITUNG_PFAD) Then IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
Return Paramter.getFTPConenction(API_STRING, API, "RMC")
End Function
Public Class Paramter
Shared apiSettingsloaded As Boolean = False
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Shared Function GET_PARAM_ByName(tcParam_name, TESTSYSTEM) As String
Return SQL.getValueTxtBySql("SELECT TOP 1 [Param_value] FROM [tblPartnersystem_Paramter] WHERE Param_system='RMC' AND [Param_name]='" & tcParam_name & "'", , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM))
End Function
Shared Function getFTPConenction(API_String As String, API As DataTable, program As String) As Boolean
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & program & " gefunden!")
Else
apiSettingsloaded = True
API_String = API.Rows(0).Item("api_url")
End If
Return apiSettingsloaded
End Function
End Class
End Class

View File

@@ -164,31 +164,32 @@
Public Shared Function genDatensatzCSV_ALL(firma As String, Optional OpenFile As Boolean = False, Optional boolKunden As Boolean = True, Optional boolBuchungen As Boolean = True, Optional Geschaeftsjahr As Integer = -1, Optional PathList As List(Of String) = Nothing) As Boolean
PathList.Clear()
If PathList IsNot Nothing Then
PathList.Clear()
End If
Dim Path = ""
Dim ExportfileCreated = False
If firma <> "AMBAR" Then
MsgBox("Export für Firma" & firma & " nicht aktiviert")
Return False
Return ExportfileCreated
End If
Dim CSV_ALL = True
If boolKunden Then
If Not genDatensatzCSV_Stammdaten(24, OpenFile, Geschaeftsjahr, Path) Then
CSV_ALL = False
If genDatensatzCSV_Stammdaten(24, OpenFile, Geschaeftsjahr, Path) Then
ExportfileCreated = True
If Path <> "" Then PathList.Add(Path)
End If
If Path <> "" Then PathList.Add(Path)
End If
If boolBuchungen Then
If Not genDatensatzCSV_Buchungen(24, OpenFile, Geschaeftsjahr, Path) Then
CSV_ALL = False
If genDatensatzCSV_Buchungen(24, OpenFile, Geschaeftsjahr, Path) Then
ExportfileCreated = True
If Path <> "" Then PathList.Add(Path)
End If
If Path <> "" Then PathList.Add(Path)
End If
Return True
Return ExportfileCreated
End Function
Public Shared Function genDatensatzCSV_Buchungen(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False, Optional Geschaeftsjahr As Integer = -1, Optional ByRef filepath As String = "") As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean

View File

@@ -381,6 +381,7 @@
<Compile Include="Classes\cParkzeiten.vb" />
<Compile Include="Classes\cUeberstunden.vb" />
<Compile Include="Classes\USTV\cUStVLeistender.vb" />
<Compile Include="Classes\cRMC.vb" />
<Compile Include="frmErrorMeldung.Designer.vb">
<DependentUpon>frmErrorMeldung.vb</DependentUpon>
</Compile>