Merge branch 'newMaster2024' of https://git.it.verag.ag/edv/SDL into newMaster2024

This commit is contained in:
2026-11-09 15:13:21 +01:00
22 changed files with 1050 additions and 686 deletions

View File

@@ -2020,6 +2020,7 @@ Public Class cDatenarchiv_Collection
Catch : End Try
Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL")
Else
Return SQL.doSQL("DELETE FROM [tblDatenarchiv_Collection] WHERE [coll_id]=" & coll_id & " ", "FMZOLL") 'wegn fehlendem Speicherplatz kann uU zwar der DS angelegt wurden sein, allerdings keine Datei dahinter, diese sollten hier bereinigt werden.
Return True
End If
End If

View File

@@ -519,7 +519,7 @@ Public Class cVERAG_CustomsDeclarations
Return ZA
End Function
Public Sub checkfreshCBAMWarning()
Public Sub checkfreshCBAMWarning(hasValidCBAMDocNr_VERAG As Boolean)
Try
Dim CBAM_ITEMS As New List(Of cVERAG_CustomsDeclarations_Item)
@@ -543,7 +543,7 @@ Public Class cVERAG_CustomsDeclarations
If AD IsNot Nothing Then
ImporterString = AD.Name_1 & " " & If(AD.Name_2, "") & "<br/>" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")
ImporterString = AD.AdressenNr & "<br/>" & AD.Name_1 & " " & If(AD.Name_2, "") & "<br/>" & If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")
End If
Dim KD_EX As cKunde = Nothing
@@ -555,7 +555,7 @@ Public Class cVERAG_CustomsDeclarations
End If
If AD_EX IsNot Nothing Then
ExporterString = AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "<br/>" & If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "")
ExporterString = AD_EX.AdressenNr & "<br/>" & AD_EX.Name_1 & " " & If(AD_EX.Name_2, "") & "<br/>" & If(AD_EX.LandKz, "") & " " & If(AD_EX.PLZ, "") & " " & If(AD_EX.Ort, "")
End If
@@ -582,7 +582,7 @@ Public Class cVERAG_CustomsDeclarations
End If
If AD_IND IsNot Nothing Then
vertretenerString = AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "<br/>" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "")
vertretenerString = AD_IND.AdressenNr & "<br/>" & AD_IND.Name_1 & " " & If(AD_IND.Name_2, "") & "<br/>" & If(AD_IND.LandKz, "") & " " & If(AD_IND.PLZ, "") & " " & If(AD_IND.Ort, "")
ERW_IND = New cKundenErweitert(AD.AdressenNr)
VERTR_IND = cKundenVertraege.LOAD_LISTOF(AD.AdressenNr)
End If
@@ -601,8 +601,8 @@ Public Class cVERAG_CustomsDeclarations
Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(vertretenerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year), za_MRN) / 1000
Dim quarter As Integer = Math.Ceiling(dateCBAM.Month / 3.0)
Dim CountryOfOrigin As String = If(CBAM_ITEMS.FirstOrDefault()?.zaItem_OriginCountry, "")
createOrUpdateKundenSicherheitseintrag(KD_IND, CountryOfOrigin, vertretenerEORI, quarter, dateCBAM.Year)
Dim ImportCountry As String = If(za_CountryImport, "")
If hasValidCBAMDocNr_VERAG Then createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, vertretenerEORI, quarter, dateCBAM.Year)
'Prüft, ob Vertrag vorliegt:
@@ -660,8 +660,8 @@ Public Class cVERAG_CustomsDeclarations
"</body></html>"
Dim empfanegerMail As String = ""
empfanegerMail = cMitarbeiter.GetEMailRecipientForEmailNotification("CBAM-WARNUNG")
Dim empfanegerMail As String = "cbam@verag.ag;"
empfanegerMail &= cMitarbeiter.GetEMailRecipientForEmailNotification("CBAM-WARNUNG")
If empfanegerMail <> "" Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerMail, "CBAM WARNUNG - " & Me.za_MRN, bodyHtml, "cbam@verag.ag")
End If
@@ -686,9 +686,9 @@ Public Class cVERAG_CustomsDeclarations
Dim dateCBAM = If(If(za_ReleaseDate, za_DeclarationDate), Now)
Dim CountryOfOrigin As String = If(CBAM_ITEMS.FirstOrDefault()?.zaItem_OriginCountry, "")
Dim ImportCountry As String = If(za_CountryImport, "")
Dim quarter As Integer = Math.Ceiling(dateCBAM.Month / 3.0)
createOrUpdateKundenSicherheitseintrag(KD, CountryOfOrigin, importerEORI, quarter, dateCBAM.Year)
If hasValidCBAMDocNr_VERAG Then createOrUpdateKundenSicherheitseintrag(KD, ImportCountry, importerEORI, quarter, dateCBAM.Year)
Dim eigenmasseSumme_Shipment As Decimal = CBAM_ITEMS.Sum(Function(i) If(i.zaItem_NetMass, 0D)) / 1000
Dim eigenmasseSumme_YEAR As Decimal = getCBAM_KG(importerEORI, CDate("01.01." & dateCBAM.Year), CDate("31.12." & dateCBAM.Year)) / 1000
@@ -818,7 +818,7 @@ Public Class cVERAG_CustomsDeclarations
Return String.Join(", ", result)
End Function
Private Function createOrUpdateKundenSicherheitseintrag(KUNDE As cKunde, CountryOfOrigin As String, EORI As String, cbamQquarter As Integer, cbamYear As Integer)
Private Function createOrUpdateKundenSicherheitseintrag(KUNDE As cKunde, ImportCountry As String, EORI As String, cbamQquarter As Integer, cbamYear As Integer)
Dim von As Date
Dim bis As Date
@@ -844,12 +844,12 @@ Public Class cVERAG_CustomsDeclarations
Case "4"
von = New Date(cbamYear, 10, 1)
bis = New Date(cbamYear, 12, 31)
CBAMZertifikatKosten = 0
CBAMZertifikatKosten = 100
End Select
Dim EORI_ = {EORI}
Dim LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations) = VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations.LOAD_List_CBAM(EORI_, CountryOfOrigin, von, bis,, True)
Dim LIST As List(Of VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations) = VERAG_PROG_ALLGEMEIN.cVERAG_CustomsDeclarations.LOAD_List_CBAM(EORI_, ImportCountry, von, bis,, True)
Dim grouped = From za In LIST
@@ -870,9 +870,6 @@ Public Class cVERAG_CustomsDeclarations
}
If grouped.Count < 1 Then
Return False
End If
@@ -884,10 +881,15 @@ Public Class cVERAG_CustomsDeclarations
For Each r In grouped
cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(r.Tarif, r.Rohmasse, r.Country, CBAMZertifikatKosten, cbamYear, cost, emission, benchmark)
Dim eigMasse = If(IsNumeric(r.Eigenmasse), r.Eigenmasse / 1000, 0)
cATEZ_Greenpulse_CBAM_CostCalculation.calcCBAM_ByCertificatePrice(r.Tarif, eigMasse, r.Country, CBAMZertifikatKosten, cbamYear, cost, emission, benchmark)
gesamtBetrag += cost
Next
If gesamtBetrag > 0 Then
gesamtBetrag *= -1
End If
If gesamtBetrag <> 0 Then
Dim Kunde_Sicherheit As New cKundenSicherheiten(KUNDE.KundenNr, cbamQquarter, cbamYear)

View File

@@ -1,5 +1,6 @@
Imports System.Data.SqlClient
Imports System.IO
Imports System.Windows.Forms
Public Class cAllgemein
Public Shared FIRMA As String
Public Shared NIEDERLASSUNG As String 'SUB, WAI, ...
@@ -152,7 +153,7 @@ Public Class cAllgemein
Try 'DRUCKER LADEN
Dim sPrinters As New ArrayList
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
sPrinters.add(sPrinter)
sPrinters.Add(sPrinter)
Next
VERAG_PROG_ALLGEMEIN.cAllgemein.PRINTER_LIST = sPrinters
Catch ex As Exception
@@ -2031,3 +2032,97 @@ Public Class cSpeditionsbuchReport
End Class
Public Class cInvoiceReport
Public Function RunReport_VERAG_INVOICE(KDNR As Integer, ReDatVon As Date, ReDatBis As Date) As String
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = SQL.loadDgvBySql("SELECT
CAST(RechnungsDatum AS DATE) AS InvoiceDate,
RechnungsNr AS InvoiceNumber,
FilialenNr AS BranchNo,
AbfertigungsNr AS CustomsDeclarationNo,
Abfertigungsdatum AS CustomsDeclarationDate,
AvisoID AS TruckID,
CASE
WHEN RechnungsKundenNr = 770931
AND CHARINDEX('/', KdAuftragsNr) > 0
THEN LTRIM(RTRIM(
LEFT(
KdAuftragsNr,
CHARINDEX('/', KdAuftragsNr) - 1
)))
ELSE KdAuftragsNr
END AS CustomerOrderNo,
RechnungsKundenNr AS CustomerNo,
[RechnungsName 1] AS CustomerName,
RechnungsLandKz AS CountryCode,
RechnungsUstIdNr AS CustomerVATNo,
LeistungsNr AS ServiceCode,
LeistungsBez AS ServiceDescription,
RechnungsausgangPositionen.Anzahl AS Quantity,
RechnungsausgangPositionen.Preis AS UnitPrice,
RechnungsausgangPositionen.SteuerfreierBetrag AS NetAmountTaxFree,
RechnungsausgangPositionen.SteuerpflichtigerBetrag AS NetAmountTaxable,
-- Umsatzsteuerbetrag
RechnungsausgangPositionen.SteuerpflichtigerBetrag *
([Steuersatz %] - 1) AS VATAmount,
-- Bruttobetrag steuerpflichtiger Teil
RechnungsausgangPositionen.SteuerpflichtigerBetrag *
[Steuersatz %] AS GrossAmountTaxable,
-- Gesamtbetrag
RechnungsausgangPositionen.SteuerfreierBetrag +
(RechnungsausgangPositionen.SteuerpflichtigerBetrag *
[Steuersatz %]) AS GrossAmountTotal,
[Steuersatz %] AS VATRate,
Währungscode AS CurrencyCode,
CASE
WHEN ROW_NUMBER() OVER (
PARTITION BY Rechnungsausgang.RK_ID
ORDER BY RechnungsausgangPositionen.LeistungsNr
) = 1
THEN Wert
END AS GoodsValue,
RechnungsausgangPositionen.AufschubkontoNr AS DefermentAccountNo,
RechnungsausgangPositionen.Weitere_Reg_Nr AS AdditionalReferenceNo,
[LKW Kennzeichen] AS VehicleRegistrationNo,
Grenze AS BorderCrossing
FROM [VERAG].[dbo].[Rechnungsausgang]
inner join Adressen on RechnungsKundenNr=AdressenNr
inner join RechnungsausgangPositionen on Rechnungsausgang.RK_ID= RechnungsausgangPositionen.rk_id
where 1=1 AND Rechnungsausgang.[RechnungsDatum] BETWEEN '" & ReDatVon.ToShortDateString & "' AND '" & ReDatBis.ToShortDateString & "' and RechnungsKundenNr = " & KDNR & " order by rechnungsdatum,RechnungsNr,CustomerNo, LeistungsNr ", "FMZOLL")
If dt IsNot Nothing And dt.Rows.Count > 0 Then
Dim lastRow As Integer = dt.Rows.Count + 1
Dim fileName As String = cProgramFunctions.genExcelFromDT_NEW(dt,
rangeAsWaehrung:={
"N2:N" & lastRow, ' UnitPrice
"O2:O" & lastRow, ' NetAmountTaxFree
"P2:P" & lastRow, ' NetAmountTaxable
"Q2:Q" & lastRow, ' VATAmount
"R2:R" & lastRow, ' GrossAmountTaxable
"S2:S" & lastRow, ' GrossAmountTotal
"V2:V" & lastRow ' GoodsValue
}, ShowAutoFilter:=True, HeaderTxt:="",, False, "REPORT_INVOICE_" & KDNR & "_" & ReDatVon.Month & "-" & ReDatBis.Month & "/" & ReDatBis.Year)
If fileName <> "" Then
Return fileName
End If
Else
Return ""
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return ""
End Function
End Class

View File

@@ -12,6 +12,7 @@ Imports com.sun.xml.internal.rngom
Imports GrapeCity.ActiveReports
Imports GrapeCity.ActiveReports.SectionReportModel
Imports GrapeCity.Documents.Imaging
Imports iText.IO.Util
Imports Microsoft.Office.Interop
Imports ThoughtWorks.QRCode.Codec
@@ -885,6 +886,21 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
End Try
End Function
Public Shared Sub createMail(eMailTo As String, betreff As String, text As String, Optional email_CC As String = "", Optional email_BCC As String = "")
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.To = eMailTo
Mail.CC = email_CC
Mail.BCC = email_BCC
Mail.HTMLBody = text
Mail.Subject = betreff
Mail.Display()
End Sub
Public Shared Function sendMail(eMailTo, betreff, text, Optional eMailfrom = "support@verag.ag", Optional prio = False, Optional uhrzeitAngeben = True, Optional cc = "", Optional bcc = "", Optional anhaenge = Nothing, Optional art = 0, Optional furtherMailAdress = "")
Dim Msg As New MailMessage
Dim myCredentials As New System.Net.NetworkCredential