This commit is contained in:
2021-12-06 11:52:36 +01:00
parent 50df683d3b
commit 273a0c5b29
71 changed files with 1305 additions and 270 deletions

View File

@@ -13,7 +13,7 @@ Public Class MySearchBox
Dim form As Form = Me.FindForm
'Public KdData As SDL.cKundenFMZOLL
Public DR As DataRow = Nothing
Public Property searchActive As Boolean = True
Public Property _AllowSetValue As Boolean = False
Public Property _allowFreitext As Boolean = False

View File

@@ -244,6 +244,77 @@ Public Class cSDL
Return ""
End Function
Public Shared Function GET_LIST_WEB(KundenNr As Integer, Optional SDLNr As Integer = -1) As List(Of cSDL)
Dim LIST As New List(Of cSDL)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL()
Dim sqlWHERE = ""
If SDLNr > 0 Then sqlWHERE &= " AND SDLNr =@SDLNr "
Using cmd As New SqlCommand("SELECT * FROM SDL WHERE KundenNr=@KundenNr " & sqlWHERE & " ORDER BY SDLNr,KfzKennzeichen ", conn)
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
cmd.Parameters.AddWithValue("@SDLNr", SDLNr)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim SDL As New cSDL()
For Each li In SDL.getParameterList()
Dim propInfo As PropertyInfo = SDL.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(SDL, Nothing)
Else
propInfo.SetValue(SDL, dr.Item(li.Text))
End If
Next
LIST.Add(SDL)
' If loadPos Then LOAD_POSITIONEN()
End While
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
Return LIST
End Function
Public Shared Function GET_LIST_WEB_LKW(KundenNr As Integer, Optional KfzKennzeichen As String = "") As List(Of cSDL)
Dim LIST As New List(Of cSDL)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL()
Dim sqlWHERE = ""
If KfzKennzeichen <> "" Then sqlWHERE &= " AND KfzKennzeichen =@KfzKennzeichen "
Using cmd As New SqlCommand("SELECT * FROM SDL WHERE KundenNr=@KundenNr " & sqlWHERE & " ORDER BY SDLNr ", conn)
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
cmd.Parameters.AddWithValue("@KfzKennzeichen", KfzKennzeichen)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim SDL As New cSDL()
For Each li In SDL.getParameterList()
Dim propInfo As PropertyInfo = SDL.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(SDL, Nothing)
Else
propInfo.SetValue(SDL, dr.Item(li.Text))
End If
Next
LIST.Add(SDL)
' If loadPos Then LOAD_POSITIONEN()
End While
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
Return LIST
End Function
End Class

View File

@@ -24,6 +24,9 @@ Public Class cSDL_LKW
Dim SQL As New SQL
Sub New()
End Sub
Sub New(KundenNr, KfzKennzeichen)
Me.KundenNr = KundenNr
Me.KfzKennzeichen = KfzKennzeichen
@@ -135,4 +138,39 @@ Public Class cSDL_LKW
Return ""
End Function
Public Shared Function GET_LIST_WEB(KundenNr As Integer) As List(Of cSDL_LKW)
Dim LIST As New List(Of cSDL_LKW)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionSDL()
Using cmd As New SqlCommand("SELECT * FROM LKW WHERE KundenNr=@KundenNr ORDER BY KfzKennzeichen ", conn)
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim SDL_LKW As New cSDL_LKW()
For Each li In SDL_LKW.getParameterList()
Dim propInfo As PropertyInfo = SDL_LKW.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(SDL_LKW, Nothing)
Else
propInfo.SetValue(SDL_LKW, dr.Item(li.Text))
End If
Next
LIST.Add(SDL_LKW)
' If loadPos Then LOAD_POSITIONEN()
End While
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
Return LIST
End Function
End Class

View File

@@ -1093,8 +1093,28 @@ Public Class cFormularManager
Public Shared Sub PrintViaSpirePDF(PDFFile As String(), Optional printerName As String = "")
Try
If printerName = "" Then
Dim oPS As New System.Drawing.Printing.PrinterSettings
printerName = oPS.PrinterName
If VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD <> String.Empty Then
Dim sPrinters As ArrayList
If VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST IsNot Nothing Then
sPrinters = VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST
Else
sPrinters = New ArrayList
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
sPrinters.Add(sPrinter)
Next
End If
For i As Integer = 0 To sPrinters.Count - 1
If i.ToString.ToUpper.Contains(VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_STANDARD.ToUpper) Then
printerName = i
End If
Next
Else
Dim oPS As New System.Drawing.Printing.PrinterSettings
printerName = oPS.PrinterName
End If
End If
'Dim docs As Spire.Pdf.PdfDocument() = {New Spire.Pdf.PdfDocument("C:\Users\DEVELOPER1\Desktop\Agrotel.pdf")}

View File

@@ -0,0 +1,64 @@
Imports System.IO
Imports System.Net
Imports System.Web
Imports System.Text
Public Class cGoogleAPI
Public Shared APIKEY_distancematrix As String = "AIzaSyAyXX4aYtoE_v0tXhmuiApV6Qo2Ka2ObJY"
Public Shared Sub test()
Dim duration = ""
Dim distance = ""
Dim distanceSek = ""
GoogleDistance("A 4975 Suben 100", "A st. marienkirchen Hackenbuch 27", duration, distanceSek, distance)
MsgBox(duration)
MsgBox(distance)
End Sub
Public Shared Sub GoogleDistance(origin As String, destination As String, ByRef duration As Object, ByRef distance As Object, Optional lkw As Boolean = True)
Try
Dim url As String = "https://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & HttpUtility.UrlEncode(origin) & "&destinations=" + HttpUtility.UrlEncode(destination) & "&key=" & APIKEY_distancematrix
' MsgBox(url)
Dim request As WebRequest = WebRequest.Create(url)
Dim response As WebResponse = CType(request.GetResponse(), HttpWebResponse)
Dim reader As StreamReader = New StreamReader(response.GetResponseStream(), Encoding.UTF8)
Dim dsResult As DataSet = New DataSet()
dsResult.ReadXml(reader)
If lkw Then
Dim durationSek As Integer = 0
If dsResult.Tables("duration") Is Nothing Then
durationSek = 0
Else
durationSek = dsResult.Tables("duration").Rows(0)("value").ToString()
End If
If IsNumeric(durationSek) Then
durationSek = durationSek * 1.5 ' Bei LKW wird die Zeit um diesen Faktor hochgerechnet
Dim iSpan As TimeSpan = TimeSpan.FromSeconds(durationSek)
duration = iSpan.Hours.ToString.PadLeft(2, "0"c) & " Stunden " & iSpan.Minutes.ToString.PadLeft(2, "0"c) & " Minuten"
End If
Else
If dsResult.Tables("duration") Is Nothing Then
duration = ""
Else
duration = dsResult.Tables("duration").Rows(0)("text").ToString()
End If
End If
If dsResult.Tables("distance") Is Nothing Then
distance = ""
Else
distance = dsResult.Tables("distance").Rows(0)("text").ToString()
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
End Class

View File

@@ -1282,17 +1282,19 @@ Public Class cSyska_Interface
' End Function
Public Shared Sub OP_Einlesen_ALL(Optional KdNr As Integer = -1)
Public Shared Function OP_Einlesen_ALL(Optional KdNr As Integer = -1) As Boolean
Dim dt As DataTable = SQL.loadDgvBySql("SELECT Firma_ID FROM tblFirma ORDER BY tblFirma.Firma_ID", "FMZOLL")
Dim _bool = True
If dt IsNot Nothing Then
For Each r_firma In dt.Rows
OP_Einlesen(r_firma("Firma_ID"), KdNr)
If Not OP_Einlesen(r_firma("Firma_ID"), KdNr) Then _bool = False
Next
End If
End Sub
Return _bool
End Function
Public Shared Function OP_Einlesen(Firma_ID As Integer, Optional KdNr As Integer = -1)
Public Shared Function OP_Einlesen(Firma_ID As Integer, Optional KdNr As Integer = -1) As Boolean
Try
Dim OP_ID_CNT = 0
If OP_ID_CNT < 1000000 Then OP_ID_CNT = 1000000 * Firma_ID
@@ -1413,9 +1415,56 @@ Public Class cSyska_Interface
Public Shared Function OP_DELETE(Firma_ID As Integer, Optional KdNr As Integer = -1) As Boolean
Dim SQL As New SQL
Return SQL.doSQL("DELETE FROM [Offene Posten] where Firma_ID='" & Firma_ID & "'" & If(KdNr > 0, " AND Kontonummer='" & KdNr & "'", ""), "FMZOLL")
End Function
Public Shared Function UPDATE_FIBU_RISIKO(Optional KdNr = -1) As Boolean
Try
Dim dt = SQL.loadDgvBySql(getFIBU_RISIKOSQL, "FMZOLL")
If dt IsNot Nothing Then
For Each r In dt.Rows
If KdNr = -1 OrElse r("KundenNrZentrale") = KdNr Then 'TEST!!
Dim strRisiko = Format(CDbl(r("Risiko")), fmt).Replace(",", ".")
SQL.doSQL("UPDATE [FIBU2].[dbo].[fibu_konto]
SET [dec_wert3] = '" & strRisiko & "'
WHERE ([i_firm_refid]=1 Or [i_firm_refid]=19)
AND [c_kontoart]='DE'
And [i_konto]=" & r("KundenNrZentrale") & " ", "FIBU")
End If
Next
End If
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
Return False
End Try
End Function
Shared Function getFIBU_RISIKOSQL() As String
Return "SELECT KundenNrZentrale, Risiko, LfdSaldo, Sum([UStV-Saldo]) AS [SummevonUStV-Saldo], Sum(UStV_Summe3470BetragEUR) AS SummevonUStV_Summe3470BetragEUR, Sum(UStV_SummeVZBetragEUR) AS SummevonUStV_SummeVZBetragEUR, Sum(UStV_SummeVorschaubetragEUR) AS SummevonUStV_SummeVorschaubetragEUR, BankgarantieBetrag, BankgarantieGültigBis
FROM (
SELECT Adressen.Ordnungsbegriff AS [Index], Adressen.LandKz, Adressen.AdressenNr, Kunden.KundenNrZentrale, Kunden.Abfertigungsverbot,
Kunden.LfdSaldo,
[LfdSaldo]-((case when [UStV_SummeUmsatzsteuerbetragEUR]>[UStV_SummeErstattungsbetragEUR] THEN [UStV_SummeUmsatzsteuerbetragEUR]-[UStV_SummeErstattungsbetragEUR] ELSE 0 END)+[UStV_Summe3470BetragEUR]-[UStV_SummeVZBetragEUR]+[UStV_SummeVorschaubetragEUR])
-(CASE WHEN isnull([BankgarantieGültigBis],GETDATE())<GETDATE() THEN 0 ELSE isnull([BankgarantieBetrag],0) END) AS Risiko,
Kunden.UStV_SummeUmsatzsteuerbetragEUR, Kunden.UStV_SummeErstattungsbetragEUR,
case when [UStV_SummeUmsatzsteuerbetragEUR]>[UStV_SummeErstattungsbetragEUR] THEN [UStV_SummeUmsatzsteuerbetragEUR]-[UStV_SummeErstattungsbetragEUR] ELSE 0 END AS [UStV-Saldo],
Kunden.UStV_Summe3470BetragEUR, Kunden.UStV_SummeVZBetragEUR, Kunden.UStV_SummeVorschaubetragEUR, Kunden.BankgarantieBetrag, Kunden.BankgarantieGültigBis
FROM (Adressen INNER JOIN Kunden ON Adressen.AdressenNr = Kunden.KundenNr) INNER JOIN tblSteuernummern ON Adressen.AdressenNr = tblSteuernummern.AdressenNr
GROUP BY Adressen.Ordnungsbegriff, Adressen.LandKz, Adressen.AdressenNr, Kunden.KundenNrZentrale, Kunden.Abfertigungsverbot, Kunden.LfdSaldo, Kunden.UStV_SummeUmsatzsteuerbetragEUR,
Kunden.UStV_SummeErstattungsbetragEUR, Kunden.UStV_Summe3470BetragEUR, Kunden.UStV_SummeVZBetragEUR, Kunden.UStV_SummeVorschaubetragEUR, Kunden.BankgarantieBetrag, Kunden.BankgarantieGültigBis
) as T1
GROUP BY KundenNrZentrale, Risiko,LfdSaldo, BankgarantieBetrag, BankgarantieGültigBis"
End Function
End Class

View File

@@ -67,7 +67,8 @@
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="ClosedXML">
<Reference Include="ClosedXML, Version=0.76.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\dll\ClosedXML.dll</HintPath>
</Reference>
<Reference Include="Dynamsoft.Forms.Viewer, Version=8.0.0.510, Culture=neutral, PublicKeyToken=298ad97013b423eb, processorArchitecture=MSIL">
@@ -420,6 +421,7 @@
<Compile Include="frmKdVermerkAdd.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="Google\cGoogleAPI.vb" />
<Compile Include="Messenger\frmMessenger.Designer.vb">
<DependentUpon>frmMessenger.vb</DependentUpon>
</Compile>
@@ -988,7 +990,7 @@
<Version>3.8.0</Version>
</PackageReference>
<PackageReference Include="Newtonsoft.Json">
<Version>6.0.8</Version>
<Version>10.0.3</Version>
</PackageReference>
</ItemGroup>
<ItemGroup>

View File

@@ -23,6 +23,11 @@ Public Class cAllgemein
Public Shared BÜRO As String
Public Shared PRINTER_BON As String
Public Shared PRINTER_STANDARD As String
Public Shared PRINTER_LIST As ArrayList = Nothing
Public Shared dpi As Integer
Public Shared TESTSYSTEM As Boolean = True
@@ -110,6 +115,16 @@ Public Class cAllgemein
LOAD_TRANSLATE()
LOAD_FIRMEN()
LOAD_FILIALEN()
Try 'DRUCKER LADEN
Dim sPrinters As New ArrayList
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
sPrinters.Add(sPrinter)
Next
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST = sPrinters
Catch ex As Exception
End Try
If TESTSYSTEM Then
AVISO_SERVER = "[DEVELOPER\DEVSQL]"
FMZOLL_SERVER = "[DEVELOPER\DEVSQL]"