Compare commits

...

3 Commits

Author SHA1 Message Date
db9cbf2191 Verwahrung 2026-03-09 14:54:13 +01:00
3c2fb57abf Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN 2026-03-09 13:24:36 +01:00
2410e4ff4e Ankunft, etc, 2026-03-09 13:24:19 +01:00
5 changed files with 779 additions and 441 deletions

View File

@@ -360,13 +360,24 @@ Module Mail
Dim KdNr As String = "764755"
If dtParam.Rows.Count = 1 Then
If dtParam.Rows.Count > 1 Then
'System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info"))
'System.Console.WriteLine("Auswertung Details gestartet...")
'If SendEmail_ZF(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_kundenNr"), von, bis, "quarter", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then
' System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
'End If
For Each r As DataRow In dtParam.Rows
System.Console.WriteLine("OPTION erkannt: " & r.Item("ms_info"))
System.Console.WriteLine("Auswertung Details gestartet...")
If SendEmail_ZF(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_kundenNr"), von, bis, "quarter", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
End If
Next
System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info"))
System.Console.WriteLine("Auswertung Details gestartet...")
If SendEmail_ZF(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_kundenNr"), von, bis, "quarter", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
End If
Else
@@ -2455,10 +2466,17 @@ Module Mail
Public Function genEXCEL_ZF(KdNr As String, von As Date, bis As Date, Auswertungstyp As String) As String
Try
Dim KUNDENADR = New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
Dim Path = ""
If KdNr = "714869" Or KdNr = "718486" Or KdNr = "764755" Then 'ZUR SICHERHEIT, FALLS FALSCHE KDNR EINGEGEBEN WIRD!!!
Dim dt As DataTable = loadDgvBySqlFMZOLL("SELECT CAST([FilialenNr] as varchar) + '/' + CAST([AbfertigungsNr] as varchar) Abfertigungsnummer
Dim dt As DataTable = loadDgvBySqlFMZOLL("SELECT CAST([FilialenNr] as varchar) + '/' + CAST([AbfertigungsNr] as varchar) Abfertigungsnummer
,cast([Abfertigungsdatum] as date)Abfertigungsdatum
,Absender
,Rechnungsbetrag Betrag
@@ -2469,117 +2487,159 @@ Module Mail
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SR\"
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
My.Computer.FileSystem.CreateDirectory(sPath)
End If
Dim Path = ""
Dim exclApp As Object 'as Application
Dim Datei As Object 'as WorkBook
Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
exclApp = CreateObject("Excel.Application")
Select Case Auswertungstyp
Case "monthly"
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SR\"
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
My.Computer.FileSystem.CreateDirectory(sPath)
End If
With exclApp
.Visible = False
Try
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & " - " & bis.ToShortDateString & "" & ".xlsx"
While System.IO.File.Exists(Path)
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
MsgBox("Error 01: " & ex.Message & vbNewLine & ex.StackTrace)
Dim exclApp As Object 'as Application
Dim Datei As Object 'as WorkBook
Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
exclApp = CreateObject("Excel.Application")
Select Case Auswertungstyp
Case "monthly"
Return ""
End Try
With exclApp
.Visible = False
Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen
Try
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & " - " & bis.ToShortDateString & "" & ".xlsx"
While System.IO.File.Exists(Path)
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
MsgBox("Error 01: " & ex.Message & vbNewLine & ex.StackTrace)
Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
Dim cnt = 3
For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 2
Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
' Blatt.Range("C" & cnt).Value = r("RechnungsNr")
Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung")
Blatt.Range("E" & cnt).Value = r("Absender")
Blatt.Range("F" & cnt).Value = "" 'r("Betrag")
Blatt.Range("H" & cnt).Value = r("BelegNr")
Return ""
End Try
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen
Dim ZOLLANMELDUNG As New cZollsysteme_Aktenbeschriftung
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis
Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then
Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN
Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
Dim cnt = 3
For Each r In dt.Rows
Blatt.Range("A" & cnt).Value = cnt - 2
Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
' Blatt.Range("C" & cnt).Value = r("RechnungsNr")
Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung")
Blatt.Range("E" & cnt).Value = r("Absender")
Blatt.Range("F" & cnt).Value = "" 'r("Betrag")
Blatt.Range("H" & cnt).Value = r("BelegNr")
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
Dim ZOLLANMELDUNG As New cZollsysteme_Aktenbeschriftung
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis
Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then
Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN
End If
End If
End If
cnt += 1
cnt += 1
Next
Next
Datei.Save()
.DisplayAlerts = False
.quit()
Try : Datei.close(True) : Catch : End Try
End With
Datei.Save()
.DisplayAlerts = False
.quit()
Try : Datei.close(True) : Catch : End Try
End With
Case "quarter"
Case "quarter"
With exclApp
.Visible = False
With exclApp
.Visible = False
Try
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & " - " & bis.ToShortDateString & "" & ".xlsx"
While System.IO.File.Exists(Path)
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF_NEW, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
MsgBox("Error 01: " & ex.Message & vbNewLine & ex.StackTrace)
Try
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & " - " & bis.ToShortDateString & "" & ".xlsx"
While System.IO.File.Exists(Path)
Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF_NEW, False)
Catch ex As System.Exception
' MsgBox(ex.Message)
MsgBox("Error 01: " & ex.Message & vbNewLine & ex.StackTrace)
Return ""
End Try
Return ""
End Try
Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen
Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen
Dim cnt = 2
Dim cnt = 2
For Each r In dt.Rows
For Each r In dt.Rows
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "")
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then
If ZOLLANMELDUNG.dtWARENPOS.Rows.Count > 0 Then
If ZOLLANMELDUNG.dtWARENPOS.Rows.Count > 0 Then
Dim rowcounter As Integer = 0
Dim rowcounter As Integer = 0
For Each row As DataRow In ZOLLANMELDUNG.dtWARENPOS.Rows
For Each row As DataRow In ZOLLANMELDUNG.dtWARENPOS.Rows
Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100
Blatt.Range("A" & cnt).Value = cnt - 1
Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("C" & cnt).Value = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(r("FilialenNr"))
Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger
Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr")
Blatt.Range("F" & cnt).Value = r("BelegNr")
Blatt.Range("G" & cnt).Value = row.Item("PosNr")
Blatt.Range("H" & cnt).Value = row.Item("WarenNr")
Blatt.Range("I" & cnt).Value = "-"
Blatt.Range("J" & cnt).Value = row.Item("WarenBez")
Blatt.Range("K" & cnt).Value = ""
Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode
Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart
Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang
Blatt.Range("O" & cnt).Value = ""
Blatt.Range("P" & cnt).Value = row.Item("Netto")
Blatt.Range("Q" & cnt).Value = row.Item("PosWert")
Blatt.Range("R" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_EUST, "")
Blatt.Range("S" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_ZOLL, "")
Blatt.Range("T" & cnt).Value = IIf(rowcounter = 0, ZollInProzent.ToString("N2") & " %", "")
Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "")
Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender
Blatt.Range("W" & cnt).Value = row.Item("Herkunft")
Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms
Blatt.Range("Y" & cnt).Value = row.Item("Verfahren")
Blatt.Range("Z" & cnt).Value = row.Item("Preferenz")
Blatt.Range("AA" & cnt).Value = IIf(row.Item("isCBAM"), "Y", "N")
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN
End If
cnt += 1
rowcounter += 1
Next
Else
Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100
@@ -2589,100 +2649,58 @@ Module Mail
Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger
Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr")
Blatt.Range("F" & cnt).Value = r("BelegNr")
Blatt.Range("G" & cnt).Value = row.Item("PosNr")
Blatt.Range("H" & cnt).Value = row.Item("WarenNr")
Blatt.Range("G" & cnt).Value = ""
Blatt.Range("H" & cnt).Value = ""
Blatt.Range("I" & cnt).Value = "-"
Blatt.Range("J" & cnt).Value = row.Item("WarenBez")
Blatt.Range("J" & cnt).Value = ""
Blatt.Range("K" & cnt).Value = ""
Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode
Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart
Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang
Blatt.Range("O" & cnt).Value = ""
Blatt.Range("P" & cnt).Value = row.Item("Netto")
Blatt.Range("Q" & cnt).Value = row.Item("PosWert")
Blatt.Range("R" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_EUST, "")
Blatt.Range("S" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_ZOLL, "")
Blatt.Range("T" & cnt).Value = IIf(rowcounter = 0, ZollInProzent.ToString("N2") & " %", "")
Blatt.Range("P" & cnt).Value = ""
Blatt.Range("Q" & cnt).Value = ""
Blatt.Range("R" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST
Blatt.Range("S" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
Blatt.Range("T" & cnt).Value = ZollInProzent.ToString("N2") & " %"
Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "")
Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender
Blatt.Range("W" & cnt).Value = row.Item("Herkunft")
Blatt.Range("W" & cnt).Value = ""
Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms
Blatt.Range("Y" & cnt).Value = row.Item("Verfahren")
Blatt.Range("Z" & cnt).Value = row.Item("Preferenz")
Blatt.Range("AA" & cnt).Value = IIf(row.Item("isCBAM"), "Y", "N")
Blatt.Range("Y" & cnt).Value = ""
Blatt.Range("Z" & cnt).Value = ""
Blatt.Range("AA" & cnt).Value = ""
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN
End If
cnt += 1
rowcounter += 1
Next
Else
Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100
Blatt.Range("A" & cnt).Value = cnt - 1
Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum")
Blatt.Range("C" & cnt).Value = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(r("FilialenNr"))
Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger
Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr")
Blatt.Range("F" & cnt).Value = r("BelegNr")
Blatt.Range("G" & cnt).Value = ""
Blatt.Range("H" & cnt).Value = ""
Blatt.Range("I" & cnt).Value = "-"
Blatt.Range("J" & cnt).Value = ""
Blatt.Range("K" & cnt).Value = ""
Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode
Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart
Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang
Blatt.Range("O" & cnt).Value = ""
Blatt.Range("P" & cnt).Value = ""
Blatt.Range("Q" & cnt).Value = ""
Blatt.Range("R" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST
Blatt.Range("S" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
Blatt.Range("T" & cnt).Value = ZollInProzent.ToString("N2") & " %"
Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "")
Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender
Blatt.Range("W" & cnt).Value = ""
Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms
Blatt.Range("Y" & cnt).Value = ""
Blatt.Range("Z" & cnt).Value = ""
Blatt.Range("AA" & cnt).Value = ""
If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN
End If
cnt += 1
End If
End If
Next
Next
Datei.Save()
.DisplayAlerts = False
.quit()
Try : Datei.close(True) : Catch : End Try
Datei.Save()
.DisplayAlerts = False
.quit()
Try : Datei.close(True) : Catch : End Try
End With
End With
End Select
End Select
'Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & KUNDENADR.FullName & "_" & von.ToShortDateString & "-" & bis.ToShortDateString)
End If
'Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & KUNDENADR.FullName & "_" & von.ToShortDateString & "-" & bis.ToShortDateString)
Dim filepath = Path
If filepath = "" Then Return "ERROR 01: Fehler beim Erzeugen des XLS."

View File

@@ -150,6 +150,20 @@ Public Class cGetMsgType
Return False
End Function
Shared Function isNCTS_SumABekanntgabeMassnahme(doc As XmlDocument, ByRef version As String) As Boolean
If doc.HasChildNodes Then
If doc.GetElementsByTagName("SumABekanntgabeMassnahme").Count > 0 Then
If doc.GetElementsByTagName("Version").Count > 0 Then
version = doc.GetElementsByTagName("Version")(0).InnerText
End If
Return True
End If
End If
Return False
End Function
Shared Function isAES_DEXPSD(doc As XmlDocument) As Boolean
If doc.HasChildNodes Then

View File

@@ -1,5 +1,4 @@
Imports com.sun.xml.internal.bind.v2.model.core
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN
Public Class cWorker_Verwahrung
Public Shared Dateiname = ""
@@ -12,8 +11,9 @@ Public Class cWorker_Verwahrung
Try
Dim VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp = DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp.LoadFromFile(d)
Dim Vorpapiernummer = ""
Dim VorpapiernummerInput = ""
Dim RegistriernummerATLAS = ""
Dim VeralteteWeitereRegistriernummer = ""
Dim ankungsdatum As Object = Nothing
Dim gestellungsdatum As Object = Nothing
Dim posGestellung As New DataTable
@@ -27,12 +27,16 @@ Public Class cWorker_Verwahrung
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten IsNot Nothing Then
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer IsNot Nothing Then
Vorpapiernummer = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer
VorpapiernummerInput = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.Vorpapiernummer
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS IsNot Nothing Then
RegistriernummerATLAS = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.RegistriernummerATLAS
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer IsNot Nothing Then
VeralteteWeitereRegistriernummer = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.VeralteteWeitereRegistriernummer
End If
If VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum > "01.01.2000" Then
gestellungsdatum = VWI.EinzelSumAVerwahrungsinfo.KopfDaten.GestellungDatum
End If
@@ -52,6 +56,7 @@ Public Class cWorker_Verwahrung
posGestellung.Columns.Add("VerwahrerFirma", GetType(String))
posGestellung.Columns.Add("VerwahrerOrt", GetType(String))
posGestellung.Columns.Add("VerwahrerEORI", GetType(String))
posGestellung.Columns.Add("SpezifischerOrdnungsbegriffDaten", GetType(String))
End If
Dim ro As DataRow = posGestellung.NewRow
@@ -63,6 +68,7 @@ Public Class cWorker_Verwahrung
ro("VerwahrerFirma") = POS.Verwahrer.NameFirma
ro("VerwahrerOrt") = POS.Verwahrer.Ortsteil
ro("VerwahrerEORI") = POS.Verwahrer.TeilnehmerEORI
ro("SpezifischerOrdnungsbegriffDaten") = POS.SpezifischerOrdnungsbegriffDaten
posGestellung.Rows.Add(ro)
@@ -78,7 +84,7 @@ Public Class cWorker_Verwahrung
End If
If readVW_SumAVerwahrungsinfo <> "" And Vorpapiernummer <> "" Then 'BEZUGSNR vorhanden
If readVW_SumAVerwahrungsinfo <> "" And VorpapiernummerInput <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(VWI.Transaktion.IOReferenz, VWI.Transaktion.IODatumZeit)
STATUS.dySt_BezugsNr = readVW_SumAVerwahrungsinfo
STATUS.dySt_artMitteilung = "VW_INFO"
@@ -94,145 +100,14 @@ Public Class cWorker_Verwahrung
'LINKE SEITE BEI GESAMTSICHERHEITEN!!!!!!!!!!!!!
If saveVerwahrung Then
If saveVerwahrung Then saveVerwahrungseingang(readVW_SumAVerwahrungsinfo, VWI, RegistriernummerATLAS, posGestellung, VorpapiernummerInput, VeralteteWeitereRegistriernummer)
'----------------------------------------------------------------
Try
Dim BezugsNr = readVW_SumAVerwahrungsinfo
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True Then VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim filiale As String = ""
Dim abfertigungsnummer = ""
Dim Standort As String = ""
Dim warenort = ""
If BezugsNr.Length > 4 AndAlso IsNumeric(BezugsNr.Substring(0, 4)) Then
filiale = IIf(BezugsNr.Length > 4, BezugsNr.Substring(0, 4), "")
abfertigungsnummer = IIf(BezugsNr.Length >= 14, BezugsNr.Substring(5, 8), "")
ElseIf Vorpapiernummer <> "" Then
If Vorpapiernummer.Length > 18 Then
Vorpapiernummer = Vorpapiernummer.ToString.Substring(0, 18)
End If
Dim dtSendungsInfo As New DataTable
dtSendungsInfo = SQL.loadDgvBySql("SELECT [FilialenNr],[AbfertigungsNr],[UnterNr] FROM [dbo].[tblSendungen] where tblSnd_ATB_T1 = '" & Vorpapiernummer & "'", "AVISO")
If dtSendungsInfo.Rows.Count > 0 Then
filiale = dtSendungsInfo.Rows(0).Item("FilialenNr")
abfertigungsnummer = dtSendungsInfo.Rows(0).Item("AbfertigungsNr")
End If
Select Case filiale
Case "4803", "4809"
Standort = "VERAG AG"
Case "4810", "5103", "5901"
Standort = "VERAG GmbH"
Case "5501"
Standort = "IMEX"
Case Else
GoTo Anzeige
End Select
Dim dy_SendungsId = VWI.Transaktion.IOReferenz
If filiale <> "" AndAlso abfertigungsnummer <> "" AndAlso IsNumeric(filiale) AndAlso IsNumeric(abfertigungsnummer) Then
Dim SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(filiale, abfertigungsnummer)
If SND IsNot Nothing AndAlso SND.tblSnd_Abfertigungsart_ID = 44 Then
Dim existingEntry As Integer = 0
existingEntry = CInt((New SQL).getValueTxtBySql("Select gs_gsnr from [tblGesamtsicherheit] where [gs_ATBNr] = '" & Vorpapiernummer & "' order by gs_datum desc", "AVISO",,,, "0"))
If existingEntry = 0 Then
existingEntry = CInt((New SQL).getValueTxtBySql("Select gs_gsnr from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & ") or (gs_avisoId = " & SND.tblSnd_AvisoID & ") order by gs_datum desc", "AVISO",,, "0"))
End If
If existingEntry > 0 Then
Dim urspringsSicherheit As New cSicherheiten(existingEntry)
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(urspringsSicherheit.gs_standort)
Dim saldo = GesSichRef.CalcSaldo()
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
'Verwahrung ANSCHREIBUNG
Dim gsId As Integer
urspringsSicherheit.gs_systemuser = "DAKOSY-AUTO"
urspringsSicherheit.gs_posNr = CInt(posGestellung.Rows(0).Item("PosNr"))
urspringsSicherheit.gs_freitext = RegistriernummerATLAS
urspringsSicherheit.gs_MRNNr = RegistriernummerATLAS
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
gsId = urspringsSicherheit.SAVEOBJECT()
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
If posGestellung.Rows.Count > 1 Then
For i As Integer = 2 To posGestellung.Rows.Count - 1
Dim ANSCHREIBUNG_POS As New cSicherheiten()
With ANSCHREIBUNG_POS
.gs_gsNr = gsId
.gs_ATBNr = urspringsSicherheit.gs_ATBNr
.gs_freitext = RegistriernummerATLAS
.gs_posNr = i
.gs_datum = gestellungsdatum
.gs_gsNr = urspringsSicherheit.gs_gsNr
.gs_warenwert = 0
.gs_sicherheitsbetrag = 0
.gs_standort = Standort
.gs_art = "OPEN"
.gs_erstellungsdatum = DateTime.Now
.gs_MRNNr = RegistriernummerATLAS
.gs_saldo = saldo
.gs_atr = ""
.gs_systemuser = urspringsSicherheit.gs_systemuser
.gs_zollsatz = GesSichRef.gsr_zollsatz
.gs_avisoId = SND.tblSnd_AvisoID
.gs_warenort = urspringsSicherheit.gs_warenort
End With
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
ANSCHREIBUNG_POS.SAVE()
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Next
End If
End If
End If
End If
End If
Catch ex As Exception
End Try
End If
Anzeige:
FORM.addDGVEinarbeitung("VW: Verwahrungsinfo", STATUS.dySt_BezugsNr)
FORM.addDGVEinarbeitung("VW: Verwahrungsinfo", STATUS.dySt_BezugsNr)
End If
End If
Catch ex As Exception
@@ -241,20 +116,9 @@ Anzeige:
End Try
End Function
Public Shared Function AddNewGesamtSichNr() As Integer
Dim sqlq As String = "select MAX([gs_gsNr]) as MaxGesSich from tblGesamtsicherheit"
Dim dt As New DataTable
dt = SQL.loadDgvBySql(sqlq, "AVISO", 100, True)
Dim LetzteGesSichNum As Integer = -1
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
LetzteGesSichNum = dt.Rows(0).Item(0)
Return LetzteGesSichNum + 1
End If
Return 0
End Function
@@ -270,6 +134,7 @@ Anzeige:
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
Dim veralteteregNR = ""
readEZA_SumAErledigungsinformationVorpapier_005 = ""
If EZA IsNot Nothing Then
@@ -296,6 +161,10 @@ Anzeige:
If EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise IsNot Nothing Then
regNR = EZA.EinzelSumAErledigungsinformation.KopfDaten.RegNrATLASWeitereNachweise
End If
If EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise IsNot Nothing Then
veralteteregNR = EZA.EinzelSumAErledigungsinformation.KopfDaten.VeralteteWeitereNachweise
End If
End If
If EZA.EinzelSumAErledigungsinformation.Position IsNot Nothing Then
@@ -319,8 +188,6 @@ Anzeige:
posErledigung.Rows.Add(ro)
End If
Next
@@ -328,9 +195,6 @@ Anzeige:
End If
End If
' EZA.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If readEZA_SumAErledigungsinformationVorpapier_005 <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(EZA.Transaktion.IOReferenz, EZA.Transaktion.IODatumZeit)
@@ -341,24 +205,7 @@ Anzeige:
STATUS.dySt_status = DAKOSY_Worker.cDY_Statusliste.V_60
STATUS.dySt_ergZeitpunkt = zp
' STATUS.dySt_ergDetails = details
'EINTRAG IN tblDakosy_Zollanmeldungen
Dim DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen = FORM.saveDY_ZA(STATUS, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), "EZA")
'Dim EZA_TMP As DAKOSY_Worker.cDakosyEZA
''???????? REGNR
'If regNR <> "" Then
' STATUS.dySt_ergCode = "REGNr"
' STATUS.dySt_ergMitteilung = regNR
' EZA_TMP = FORM.saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit), regNR)
'Else
' STATUS.dySt_ergCode = "ART"
' If ART <> "" Then STATUS.dySt_ergMitteilung = ART
' EZA_TMP = FORM.saveDY_EZA(STATUS, DY_TMP, EZA.Transaktion.IOReferenz, If(zp, EZA.Transaktion.IODatumZeit))
'End If
'FORM.SaveEZA_FirmaNL(EZA_TMP, DY_TMP, division)
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
@@ -368,111 +215,7 @@ Anzeige:
'Verwahrung ABSCHREIBUNG - rechte Seite bei Gesamtsicherheiten
If saveAbschreibung Then
If posErledigung IsNot Nothing AndAlso posErledigung.Rows.Count > 0 Then
If regNR <> "" Then
Dim dtGesamtsicherheit = SQL.loadDgvBySql("Select * From [tblGesamtsicherheit] where [gs_MRNNr] = '" & regNR & "' or [gs_ATBNr]= '" & regNR & "'", "AVISO")
If dtGesamtsicherheit.Rows.Count > 0 Then
For Each POS As DataRow In posErledigung.Rows
Dim MRNNR As String = ""
Dim existingEntryID As Integer = 0
If Not IsDBNull(POS.Item("IDRegNrSumA")) AndAlso POS.Item("IDRegNrSumA") IsNot Nothing AndAlso POS.Item("IDRegNrSumA") <> "" Then
Dim POSNr As Integer = CInt(POS.Item("IDRegNrSumAPos"))
If MRNNR <> POS.Item("IDRegNrSumA") Then
MRNNR = POS.Item("IDRegNrSumA")
Dim firmaID = -1
'Select Case dtGesamtsicherheit.Rows(0).Item("gs_standort")
' Case "VERAG GmbH"
' firmaID = 23
' Case "Verag AG"
' firmaId = 1
' Case "Unisped GmbH"
' firmaId = 21
' Case "AMBAR GmbH"
' firmaId = 24
' Case "Verag CS"
' firmaId = 11
' Case "IMEX"
' firmaId = 20
'End Select
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(dtGesamtsicherheit.Rows(0).Item("gs_standort"))
Dim saldo As Double = GesSichRef.CalcSaldo()
Try
'innerhalb der gs_gsnr muss mithilfe der gs_gsid die richtige PosNr ermittelt werden!
Dim Warenwert As Double = 0
Dim dtSendungen = SQL.loadDgvBySql("SELECT")
Dim SicherheitsPos As New cGesamtsicherheitsPositionen()
With SicherheitsPos
.gsp_gsId = dtGesamtsicherheit.Rows(0).Item("gs_gsId")
'.gsp_gspPosId = CInt(POSNr)
.gsp_gspPosId = dtGesamtsicherheit.Rows(0).Item("gs_posNr")
.gsp_warenwert = 0
.gsp_sicherheitsbetrag = 0
.gsp_freitext = "DASKOY-IMPORT"
.gsp_filialenNr = dtGesamtsicherheit.Rows(0).Item("gs_filialenNr")
.gsp_art = "CLOSE"
.gsp_gsNr = dtGesamtsicherheit.Rows(0).Item("gs_gsnr")
.gsp_abfertigungsNr = dtGesamtsicherheit.Rows(0).Item("gs_abfertigungsnr")
.gsp_datum = DateTime.Now
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = dtGesamtsicherheit.Rows(0).Item("gs_ust")
.gsp_ATCNr = POS.Item("IDRegNrSumA")
.gsp_avisoId = dtGesamtsicherheit.Rows(0).Item("gs_avisoID")
.gsp_systemuser = "DAKOSY-AUTO"
End With
SicherheitsPos.SAVE()
GesSichRef.CalcSaldo()
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End Try
End If
End If
Next
End If
End If
End If
saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, EZA)
Anzeige:
@@ -544,13 +287,9 @@ Anzeige:
If DY_TMP IsNot Nothing Then STATUS.dySt_dyId = DY_TMP.dy_Id
STATUS.SAVE()
'----------------------------------------------------------------
'Verwahrung ABSCHREIBUNG
If saveAbschreibung Then
Try
@@ -563,11 +302,6 @@ Anzeige:
End Try
End If
@@ -582,4 +316,567 @@ Anzeige:
End Function
Shared Function readNCTS_SumAMassnahmenbekanntgabe(FORM As frmDYNachrichtenVerarbeitung, d As String, saveAbschreibung As Boolean) As String
Try
Dim NCTS As DAKOSY_Worker.SumABekanntgabeMassnahme_005.SumABekanntgabeMassnahmeSBTyp = DAKOSY_Worker.SumABekanntgabeMassnahme_005.SumABekanntgabeMassnahmeSBTyp.LoadFromFile(d)
Dim zp As Object = Nothing
Dim regNR = ""
Dim division = ""
Dim posMassnahmen As New DataTable
readNCTS_SumAMassnahmenbekanntgabe = ""
If NCTS IsNot Nothing Then
If NCTS.Transaktion IsNot Nothing Then
If NCTS.Transaktion.IODivision3 IsNot Nothing Then
division = NCTS.Transaktion.IODivision3
ElseIf NCTS.Transaktion.IODivision1 IsNot Nothing Then
division = NCTS.Transaktion.IODivision1
End If
End If
If NCTS.EinzelSumABekanntgabeMassnahme IsNot Nothing Then
If NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung IsNot Nothing Then
If NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ObjektName IsNot Nothing Then
readNCTS_SumAMassnahmenbekanntgabe = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ObjektName
End If
zp = NCTS.EinzelSumABekanntgabeMassnahme.ObjektIdentifizierung.ZeitpunktNachrichteneingang
End If
If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten IsNot Nothing Then
If NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten.RegistriernummerATLAS IsNot Nothing Then
regNR = NCTS.EinzelSumABekanntgabeMassnahme.KopfDaten.RegistriernummerATLAS
End If
End If
End If
If NCTS.EinzelSumABekanntgabeMassnahme.Position IsNot Nothing Then
For Each POS In NCTS.EinzelSumABekanntgabeMassnahme.Position
If POS.MassnahmeCode IsNot Nothing AndAlso posMassnahmen IsNot Nothing Then
If Not posMassnahmen.Columns.Contains("MassnahmeText") Then
posMassnahmen.Columns.Add("MassnahmeCode", GetType(Integer))
posMassnahmen.Columns.Add("MassnahmeText", GetType(String))
posMassnahmen.Columns.Add("MassnahmeNichtzustellbarKz", GetType(String))
posMassnahmen.Columns.Add("PackstueckArt", GetType(String))
posMassnahmen.Columns.Add("PackstueckAnzahl", GetType(Integer))
End If
Dim ro As DataRow = posMassnahmen.NewRow
ro("MassnahmeText") = POS.MassnahmeText
ro("MassnahmeCode") = POS.MassnahmeCode
ro("MassnahmeNichtzustellbarKz") = POS.MassnahmeNichtzustellbarKz
ro("PackstueckAnzahl") = POS.PackstueckAnzahl
ro("PackstueckArt") = POS.PackstueckArt
posMassnahmen.Rows.Add(ro)
End If
Next
End If
End If
If readNCTS_SumAMassnahmenbekanntgabe <> "" Then 'BEZUGSNR vorhanden
Dim STATUS As DAKOSY_Worker.cDakosy_Statusmeldungen = FORM.getStatusCheckTransID(NCTS.Transaktion.IOReferenz, NCTS.Transaktion.IODatumZeit)
'-----------------------EMAIL-NOTIFYCATION----------------------------------------
If posMassnahmen.Rows.Count > 0 Then
Dim Mailext = createInfoMail(regNR, posMassnahmen, "MASSNAHME-DAKOSY")
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Massnahme DAKOSY - " & Now().ToShortDateString, Mailext,,,,, "d.breimaier@verag.ag")
End If
'----------------------------------------------------------------
FORM.addDGVEinarbeitung("VW: Bekanntgabe Massnahme", regNR)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
readNCTS_SumAMassnahmenbekanntgabe = ""
End Try
End Function
Shared Function saveVerwahrungseingang(readVW_SumAVerwahrungsinfo As String, VWI As DAKOSY_Worker.SumAVerwahrungsinfo_009.SumAVerwahrungsinfoSVTyp, RegistriernummerATLAS As String, posGestellung As DataTable, VorpapiernummerInput As String, VeralteteWeitereRegistriernummer As String)
Dim BezugsNr = readVW_SumAVerwahrungsinfo
If VeralteteWeitereRegistriernummer = "" Then Return False
Dim filiale As String = ""
Dim abfertigungsnummer = ""
Dim Standort As String = ""
Dim Vorpapiernummer = ""
Dim laufnummer As Integer = -1
Dim parts() As String = VorpapiernummerInput.Split("-"c)
If parts.Length = 2 Then
Vorpapiernummer = parts(0)
Integer.TryParse(parts(1), laufnummer)
End If
If BezugsNr.Length > 4 AndAlso IsNumeric(BezugsNr.Substring(0, 4)) Then
If BezugsNr.Length > 4 Then
filiale = BezugsNr.Substring(0, 4)
End If
If BezugsNr.Length >= 14 Then
abfertigungsnummer = BezugsNr.Substring(5, 8)
End If
End If
If Vorpapiernummer <> "" Then
If Vorpapiernummer.Length > 18 Then
Vorpapiernummer = Vorpapiernummer.ToString.Substring(0, 18)
End If
Dim dtSendungsInfo As New DataTable
dtSendungsInfo = SQL.loadDgvBySql("SELECT [FilialenNr],[AbfertigungsNr],[UnterNr] FROM [dbo].[tblSendungen] where tblSnd_ATB_T1 = '" & Vorpapiernummer & "'", "AVISO")
If dtSendungsInfo.Rows.Count > 0 Then
filiale = dtSendungsInfo.Rows(0).Item("FilialenNr")
abfertigungsnummer = dtSendungsInfo.Rows(0).Item("AbfertigungsNr")
End If
Select Case filiale
Case "4803", "4809"
Standort = "VERAG AG"
Case "4810", "5103", "5901"
Standort = "VERAG GmbH"
Case "5501"
Standort = "IMEX"
Case Else
Return False
End Select
Dim dy_SendungsId = VWI.Transaktion.IOReferenz
If filiale <> "" AndAlso abfertigungsnummer <> "" AndAlso IsNumeric(filiale) AndAlso IsNumeric(abfertigungsnummer) Then
Dim SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(filiale, abfertigungsnummer)
If SND IsNot Nothing AndAlso SND.tblSnd_Abfertigungsart_ID = 44 Then
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Dim existingEntries As DataTable
existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr, gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer from [tblGesamtsicherheit] where [gs_ATBNr] = '" & Vorpapiernummer & "' order by gs_datum desc", "AVISO")
If existingEntries.Rows.Count = 0 Then
existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) or (gs_avisoId = " & SND.tblSnd_AvisoID & ") order by gs_datum desc", "AVISO")
End If
If existingEntries.Rows.Count > 0 Then
Dim zubehandelndeGS As Boolean = existingEntries.AsEnumerable().
Any(Function(r_entry)
Return Not r_entry.IsNull("gs_posNr") AndAlso r_entry.Field(Of Integer)("gs_posNr") = laufnummer AndAlso Not r_entry.IsNull("gs_VeralteteWeitereRegistriernummer") AndAlso r_entry.Field(Of String)("gs_VeralteteWeitereRegistriernummer") <> "" AndAlso r_entry.Field(Of String)("gs_VeralteteWeitereRegistriernummer") = VeralteteWeitereRegistriernummer
End Function)
If zubehandelndeGS Then
Return True 'bereits behandelt ->
End If
Dim urspringsSicherheit As cSicherheiten
Try
Dim rows = existingEntries.Select("gs_freitext = 'DAKOSY DUMMY' AND gs_posNr = 0")
If rows.Length > 0 Then
Dim row = rows(0)
urspringsSicherheit = New cSicherheiten(row("gs_gsId"), row("gs_posNr"))
Else
Return False 'kein Dummy-Eintrag
End If
Dim newSicherheit As New cSicherheiten()
If Not urspringsSicherheit.hasEntry Then
Return False
End If
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(urspringsSicherheit.gs_standort)
Dim saldo = GesSichRef.CalcSaldo()
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
'Verwahrung ANSCHREIBUNG
newSicherheit.gs_systemuser = "DAKOSY-AUTO"
newSicherheit.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
newSicherheit.gs_gsNr = urspringsSicherheit.gs_gsNr
newSicherheit.gs_ATBNr = urspringsSicherheit.gs_ATBNr
Dim FreitextInfo As String = ""
If posGestellung.Rows.Count > 0 Then
FreitextInfo = posGestellung.Rows(0).Item("AnzPackst") & " " & posGestellung.Rows(0).Item("PackstArt")
Else
FreitextInfo = "DAKOSY-IMPORT"
End If
newSicherheit.gs_freitext = FreitextInfo
newSicherheit.gs_MRNNr = RegistriernummerATLAS
newSicherheit.gs_standort = urspringsSicherheit.gs_standort
newSicherheit.gs_datum = urspringsSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
newSicherheit.gs_erstellungsdatum = Now()
newSicherheit.gs_posNr = laufnummer
newSicherheit.gs_abfertigungsnr = abfertigungsnummer
newSicherheit.gs_filialenNr = filiale
newSicherheit.gs_LKWKZ = urspringsSicherheit.gs_LKWKZ
newSicherheit.gs_zollsatz = urspringsSicherheit.gs_zollsatz
newSicherheit.gs_warenwert = 0
newSicherheit.gs_sicherheitsbetrag = 0
newSicherheit.gs_art = "OPEN"
newSicherheit.gs_saldo = saldo
newSicherheit.gs_avisoId = urspringsSicherheit.gs_avisoId
newSicherheit.gs_warenort = urspringsSicherheit.gs_warenort
newSicherheit.gs_posSubNr = 1
Dim gsid = newSicherheit.SAVEOBJECT()
Dim CLOSED_DUMMY = New cGesamtsicherheitsPositionen(gsid, laufnummer)
With CLOSED_DUMMY
.gsp_gsNr = urspringsSicherheit.gs_gsNr
.gsp_warenwert = 0 ' = 0 wichtig
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
.gsp_filialenNr = filiale
.gsp_art = "CLOSE"
.gsp_abfertigungsNr = abfertigungsnummer
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = ""
.gsp_freitext = "DAKOSY-IMP-DY"
.gsp_avisoId = urspringsSicherheit.gs_avisoId
.gsp_gsNr = urspringsSicherheit.gs_gsNr
.gsp_systemuser = "DAKOSY-AUTO"
End With
CLOSED_DUMMY.SAVE()
'pro gestellungsposition bekommen wir eine SumAVerwahrungsinfo -> daher sind die Positionen innerhalb dieser info irrelevant (vorerst).
If posGestellung.Rows.Count > 1 Then
If True Then
For i As Integer = 2 To posGestellung.Rows.Count
Dim OPEN_DUMMY_SUBPOS As New cSicherheiten()
With OPEN_DUMMY_SUBPOS
.gs_systemuser = "DAKOSY-AUTO"
.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
.gs_gsNr = urspringsSicherheit.gs_gsNr
.gs_ATBNr = urspringsSicherheit.gs_ATBNr
.gs_freitext = posGestellung.Rows(i - 1).Item("AnzPackst") & " " & posGestellung.Rows(i - 1).Item("PackstArt")
.gs_MRNNr = RegistriernummerATLAS
.gs_standort = urspringsSicherheit.gs_standort
.gs_datum = urspringsSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
.gs_erstellungsdatum = Now()
.gs_posNr = laufnummer + i - 1
.gs_abfertigungsnr = abfertigungsnummer
.gs_filialenNr = filiale
.gs_LKWKZ = urspringsSicherheit.gs_LKWKZ
.gs_zollsatz = urspringsSicherheit.gs_zollsatz
.gs_warenwert = 0
.gs_sicherheitsbetrag = 0
.gs_art = "OPEN"
.gs_saldo = saldo
.gs_avisoId = urspringsSicherheit.gs_avisoId
.gs_warenort = urspringsSicherheit.gs_warenort
'.gs_posSubNr = i
End With
Dim gsid_SupPos = OPEN_DUMMY_SUBPOS.SAVEOBJECT()
Dim CLOSED_DUMMY_SUBPOS = New cGesamtsicherheitsPositionen()
With CLOSED_DUMMY_SUBPOS
.gsp_gspPosId = OPEN_DUMMY_SUBPOS.gs_posNr
.gsp_gsId = gsid_SupPos
.gsp_gsNr = urspringsSicherheit.gs_gsNr
.gsp_warenwert = 0 ' = 0 wichtig
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
.gsp_filialenNr = filiale
.gsp_art = "CLOSE"
.gsp_abfertigungsNr = abfertigungsnummer
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = ""
.gsp_freitext = "DAKOSY-IMP-DY"
.gsp_avisoId = urspringsSicherheit.gs_avisoId
.gsp_gsNr = urspringsSicherheit.gs_gsNr
.gsp_systemuser = "DAKOSY-AUTO"
End With
CLOSED_DUMMY_SUBPOS.SAVE()
Next
End If
End If
'VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Return False
Finally
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End Try
End If
End If
End If
End If
End Function
Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, veralteteregNR As String, EZA As DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp)
If posErledigung IsNot Nothing AndAlso posErledigung.Rows.Count > 0 Then
If regNR <> "" AndAlso veralteteregNR <> "" Then
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
For Each POS As DataRow In posErledigung.Rows
Dim MRNNR As String = ""
Dim existingEntryID As Integer = 0
If Not IsDBNull(POS("IDRegNrSumA")) AndAlso POS("IDRegNrSumA").ToString <> "" Then
Dim POSNr As Integer = If(IsDBNull(POS("IDRegNrSumAPos")), 0, CInt(POS("IDRegNrSumAPos")))
If MRNNR <> POS.Item("IDRegNrSumA") Then
MRNNR = POS.Item("IDRegNrSumA")
Dim firmaID = -1
Dim dtGesamtsicherheit = SQL.loadDgvBySql("Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsnr = gs.gs_gsnr where [gs_VeralteteWeitereRegistriernummer] = '" & MRNNR & "' order by gsp_gspPosId", "AVISO")
If dtGesamtsicherheit.Rows.Count > 0 Then
Try
Dim gs_row As DataRow = dtGesamtsicherheit.Rows(0)
Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
If rows.Length > 0 Then
Exit Sub 'bereits vorhanden
End If
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(gs_row("gs_standort"))
Dim saldo As Double = GesSichRef.CalcSaldo()
Dim Warenwert As Double = 0
Dim Sicherheitsbetrag As Double = 0
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,tblSnd_Vorpapier_Pos,tblSnd_Vorpapier2_Pos, tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("gs_ATBNr") & "'", "AVISO")
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
If dtVorpapiere.Rows.Count > 0 Then
Dim rowsVorp = dtVorpapiere.Select("tblSnd_Warenwert is not null AND (tblSnd_Vorpapier_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier2_Pos = '" & gs_row.Item("gs_posNr") & "' or tblSnd_Vorpapier3_Pos = '" & gs_row.Item("gs_posNr") & "')")
Dim row = rowsVorp(0)
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100))
End If
'Dim dtSendungen = SQL.loadDgvBySql("SELECT")
Dim anzahlPackstuecke As Integer = -1
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
Dim StornierungKz As String = If(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
If gs_row.Item("gs_freitext") <> "" Then
anzahlPackstuecke = CInt(System.Text.RegularExpressions.Regex.Match(gs_row.Item("gs_freitext"), "\d+").Value)
End If
If anzahlPackstuecke > 0 AndAlso anzahlPackstuecke <> AnzahlStückErledigt Then 'Hinweismeldung, wenn nicht alle erledigt wurden!
Dim dt As New DataTable
If Not dt.Columns.Contains("anzahlPackstuecke") Then
dt.Columns.Add("MRN", GetType(String))
dt.Columns.Add("LKW_ID", GetType(String))
dt.Columns.Add("anzahlPackstuecke", GetType(Integer))
dt.Columns.Add("StornierungKZ", GetType(String))
dt.Columns.Add("AnzahlStückErledigt", GetType(Integer))
End If
Dim ro As DataRow = dt.NewRow
ro("MRN") = gs_row.Item("gs_MRNNr")
ro("LKW_ID") = gs_row.Item("gs_avisoId")
ro("anzahlPackstuecke") = anzahlPackstuecke
ro("AnzahlStückErledigt") = AnzahlStückErledigt
ro("StornierungKZ") = StornierungKz
dt.Rows.Add(ro)
Dim InfoText As String = createInfoMail(MRNNR, dt, "")
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Erledigungsmeldung-DAKOSY fehlende Positionen - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag")
End If
Dim SicherheitsPos As New cGesamtsicherheitsPositionen()
With SicherheitsPos
.gsp_gsId = gs_row("gs_gsId")
'.gsp_gspPosId = CInt(POSNr)
.gsp_gspPosId = gs_row.Item("gs_posNr")
.gsp_warenwert = Warenwert
.gsp_sicherheitsbetrag = Sicherheitsbetrag
.gsp_freitext = "DASKOY-IMPORT"
.gsp_filialenNr = gs_row("gs_filialenNr")
.gsp_art = "CLOSE"
.gsp_gsNr = gs_row("gs_gsnr")
.gsp_abfertigungsNr = gs_row("gs_abfertigungsnr")
.gsp_datum = EZA.EinzelSumAErledigungsinformation.ObjektIdentifizierung.ZeitpunktNachrichteneingang
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = gs_row("gs_ust")
.gsp_ATCNr = veralteteregNR
.gsp_MRNNr = regNR
.gsp_avisoId = gs_row("gs_avisoID")
.gsp_systemuser = "DAKOSY-AUTO"
End With
SicherheitsPos.SAVE()
GesSichRef.CalcSaldo()
'VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
'VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Finally
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
End Try
End If
End If
End If
Next
End If
End If
End Sub
Public Shared Function AddNewGesamtSichNr() As Integer
Dim sqlq As String = "select MAX([gs_gsNr]) as MaxGesSich from tblGesamtsicherheit"
Dim dt As New DataTable
dt = SQL.loadDgvBySql(sqlq, "AVISO", 100, True)
Dim LetzteGesSichNum As Integer = -1
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
LetzteGesSichNum = dt.Rows(0).Item(0)
Return LetzteGesSichNum + 1
End If
Return 0
End Function
Public Shared Function createInfoMail(regNR As String, dt As DataTable, typ As String) As String
Dim TextHTMLtable As String
If typ = "MASSNAHME-DAKOSY" Then
TextHTMLtable &= "Bei " & regNR & " wurden eine Zoll-Maßnahme ausgelöst." & vbNewLine & vbNewLine & vbNewLine
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>Code</td><td>Text</td><td>NichtzustellbarKz</td><td>PackstueckAnzahl</td><td>PackstueckArt</td></tr>"
For Each r As DataRow In dt.Rows
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeCode") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeText") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("MassnahmeNichtzustellbarKz") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("PackstueckAnzahl") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("PackstueckArt") & "</b></td>"
TextHTMLtable &= "</tr>"
Next
TextHTMLtable &= "</table>"
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
Return TextHTMLtable
Else
TextHTMLtable &= "Bei " & regNR & " wurde nicht vollständig aufgelöst." & vbNewLine & vbNewLine & vbNewLine
TextHTMLtable &= "<table border=1>"
TextHTMLtable &= "<tr><td>MRN-Nr</td><td>LKW-ID</td><td>Packstücke gesamt</td><td>Packstücke erledigt</td><td>Stornierung KZ</td></tr>"
For Each r As DataRow In dt.Rows
TextHTMLtable &= "<tr>"
TextHTMLtable &= "<td><b>" & r.Item("MRN") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("LKW_ID") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("anzahlPackstuecke") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("AnzahlStückErledigt") & "</b></td>"
TextHTMLtable &= "<td><b>" & r.Item("StornierungKZ") & "</b></td>"
TextHTMLtable &= "</tr>"
Next
TextHTMLtable &= "</table>"
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
Return TextHTMLtable
End If
End Function
End Class

View File

@@ -427,6 +427,14 @@ Public Class frmDYNachrichtenVerarbeitung
End Select
End If
'VW: SumABekanntgabeMassnahme
If Not found And cGetMsgType.isNCTS_SumABekanntgabeMassnahme(doc, VERSION) Then
Select Case VERSION
Case False
Case Else : If cWorker_Verwahrung.readNCTS_SumAMassnahmenbekanntgabe(Me, d, saveVerwahrung) <> "" Then found = True
End Select
End If
'------------------------------------------
'------------------ EXPORT / Gestellung (AES) ------------------

View File

@@ -2964,6 +2964,7 @@ Public Class frmStartOptions
Me.Visible = False
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
Dim f As New frmDYNachrichtenVerarbeitung
f.saveVerwahrung = cbxGestellungspeichern.Checked
f.ShowDialog()
Me.Visible = True
End Sub