272 lines
12 KiB
VB.net
272 lines
12 KiB
VB.net
|
|
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_betragMWST As Object = Nothing
|
|
Property rmc_waehrung As Object = Nothing
|
|
Property rmc_euroBrutto As Object = Nothing
|
|
Property rmc_file As Object = Nothing
|
|
Property rmc_fileNr As Object = Nothing
|
|
Property rmc_importDatum As DateTime = Now
|
|
Property rmc_version As Object = Nothing
|
|
Property rmc_pdfFileName As Object = Nothing
|
|
Property rmc_daId As Object = Nothing
|
|
Property rmc_archiviertDatum As Object
|
|
Property rmc_archiv As Boolean = False
|
|
Property rmc_fibuNr As Boolean = False
|
|
Property rmc_sammelReNr As Object = Nothing
|
|
|
|
Public hasEntry = False
|
|
|
|
Dim SQL As New SQL
|
|
|
|
Sub New()
|
|
|
|
End Sub
|
|
|
|
Sub New(rmc_kdNr, rmc_reNr)
|
|
Me.rmc_kdNr = rmc_kdNr
|
|
Me.rmc_reNr = rmc_reNr
|
|
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))
|
|
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_fileNr", rmc_fileNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_importDatum", rmc_importDatum))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_version", rmc_version))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_pdfFileName", rmc_pdfFileName))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_daId", rmc_daId))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_archiv", rmc_archiv))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_archiviertDatum", rmc_archiviertDatum))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_fibuNr", rmc_fibuNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_sammelReNr", rmc_sammelReNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_betragMWST", rmc_betragMWST))
|
|
|
|
|
|
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_kdNr=@rmc_kdNr AND rmc_reNr = @rmc_reNr and rmc_archiv is null ) " &
|
|
" 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_kdNr=@rmc_kdNr AND rmc_reNr = @rmc_reNr", conn)
|
|
cmd.Parameters.AddWithValue("@rmc_kdNr", rmc_kdNr)
|
|
cmd.Parameters.AddWithValue("@rmc_reNr", rmc_reNr)
|
|
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_kdNr=@rmc_kdNr AND rmc_reNr = @rmc_reNr ")
|
|
|
|
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 Shared Function GET_Antraege_RMC(ByRef dt As DataTable, von As Date, bis As Date, KundenNr As Integer, LandKZ As String, Optional Archiv As Object = Nothing) As Boolean
|
|
Try
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
|
|
|
Using cmd As New SqlCommand(" SELECT rmc_reDatum,rmc_kdNr,[rmc_reNr],sum([rmc_betragNetto])[rmc_betragNetto],sum([rmc_betragMWST])[rmc_betragMWST] ,sum([rmc_betragBrutto] )[rmc_betragBrutto], [rmc_waehrung], sum([rmc_euroBrutto])[rmc_euroBrutto] FROM [tblRMCImport]
|
|
INNER JOIN Adressen as adr on rmc_kdNr=adr.[WölflKundenNr]
|
|
where cast(rmc_reDatum as date) between @von and @bis and AdressenNr=@AdressenNr
|
|
AND rmc_landKZ ='" & LandKZ & "'" & If(Archiv, " And rmc_archiv =@Archiv ", "") & "
|
|
group by rmc_reDatum,rmc_kdNr,[rmc_reNr],[rmc_waehrung]
|
|
having sum([rmc_betragMWST])>0
|
|
order by rmc_reDatum", conn)
|
|
|
|
cmd.Parameters.AddWithValue("@von", von)
|
|
cmd.Parameters.AddWithValue("@bis", bis)
|
|
cmd.Parameters.AddWithValue("@AdressenNr", KundenNr)
|
|
If Archiv IsNot Nothing Then cmd.Parameters.AddWithValue("@Archiv", If(Archiv, 1, 0))
|
|
|
|
Dim dr = cmd.ExecuteReader()
|
|
dt.Load(dr)
|
|
'While dr.Read
|
|
' dt.Load(dr)
|
|
'End While
|
|
dr.Close()
|
|
|
|
End Using
|
|
End Using
|
|
Return True
|
|
Catch ex As Exception
|
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
|
End Try
|
|
Return False
|
|
|
|
End Function
|
|
|
|
|
|
Public Shared Function UPDATE_ARCHIV(reDat As Date, reNr As Integer, rmc_kdNr As Integer) As Boolean
|
|
Try
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
|
|
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("reDat", reDat))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("reNr", reNr))
|
|
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("rmc_kdNr", rmc_kdNr))
|
|
|
|
|
|
Return SQL.doSQLVarList("
|
|
|
|
UPDATE [tblRMCImport] set rmc_archiv=1, [rmc_archiviertDatum]=GETDATE()
|
|
WHERE cast(rmc_reDatum as date) = @reDat and rmc_reNr = @reNr and rmc_kdNr=@rmc_kdNr
|
|
", "FMZOLL",, list)
|
|
|
|
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 PDFRECHNUNGEN
|
|
Public API_STRING As String
|
|
Public API As New DataTable
|
|
|
|
Dim Dateiname = ""
|
|
|
|
Public Function initImportPfade(programName As String) 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)
|
|
ZIEL_PFAD = cRMC.Paramter.GET_PARAM_ByName("ZIEL_PFAD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
|
PDFRECHNUNGEN = cRMC.Paramter.GET_PARAM_ByName("PDFRECHNUNGEN", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
|
|
If Not System.IO.Directory.Exists(VERARBEITUNG_PFAD) Then System.IO.Directory.CreateDirectory(VERARBEITUNG_PFAD)
|
|
|
|
Return Paramter.getFTPConenction(API_STRING, API, programName)
|
|
|
|
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(ByRef API_String As String, ByRef API As DataTable, ByRef 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
|