StartOptions, Verwahrung, etc.

This commit is contained in:
2026-03-19 11:09:24 +01:00
parent 2cdc1d73ba
commit 3a50d183f1
3 changed files with 123 additions and 302 deletions

View File

@@ -1,11 +1,17 @@
Imports com.sun.xml.internal.rngom.digested
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN
Public Class cWorker_Verwahrung
Public Shared Dateiname = ""
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Public Class DAKOSY_STATUS
Public Const HEADER As String = "DAKOSY-DUMMY"
Public Const SEND As String = "DAKOSY-WAITING"
Public Const IMPORTED As String = "DAKOSY-IMPORTED"
Public Const USER As String = "DAKOSY-AUTO"
End Class
Shared Function readVW_SumAVerwahrungsinfo(FORM As frmDYNachrichtenVerarbeitung, d As String, saveVerwahrung As Boolean, sendMail As Boolean, testlauf As Boolean) As String
@@ -505,25 +511,23 @@ Anzeige:
End If
Dim urspringsSicherheit As cSicherheiten
Dim rows = existingEntries.Select("gs_dakoyimport = true AND [gs_ATBNr] = '" & Vorpapiernummer & "' AND gs_freitext = 'DAKOSY DUMMY'")
Dim DUMMYSicherheit As cSicherheiten
Dim rows = existingEntries.Select("gs_dakoyimport = true AND [gs_ATBNr] = '" & Vorpapiernummer & "' AND gs_freitext = '" & DAKOSY_STATUS.HEADER & "'")
If rows.Length > 0 Then
Dim row = rows(0)
'urspringsSicherheit = New cSicherheiten(row("gs_gsId"), row("gs_posNr"))
urspringsSicherheit = New cSicherheiten(row("gs_gsId"), row("gs_posNr"))
DUMMYSicherheit = 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
If Not DUMMYSicherheit.hasEntry Then
Return False
End If
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(urspringsSicherheit.gs_standort)
Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(DUMMYSicherheit.gs_standort)
Dim saldo = GesSichRef.CalcSaldo()
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
@@ -531,11 +535,11 @@ Anzeige:
'Verwahrung ANSCHREIBUNG
newSicherheit.gs_systemuser = "DAKOSY-AUTO"
newSicherheit.gs_systemuser = DAKOSY_STATUS.USER
newSicherheit.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
newSicherheit.gs_MRNNr = RegistriernummerATLAS 'wichtig für Zuweisung DAKOSY
newSicherheit.gs_gsNr = urspringsSicherheit.gs_gsNr
newSicherheit.gs_ATBNr = urspringsSicherheit.gs_ATBNr
newSicherheit.gs_gsNr = DUMMYSicherheit.gs_gsNr
newSicherheit.gs_ATBNr = DUMMYSicherheit.gs_ATBNr
Dim FreitextInfo As String = ""
@@ -550,24 +554,24 @@ Anzeige:
FreitextInfo = posGestellung.Rows(0).Item("PackstArt")
Else
FreitextInfo = "DAKOSY-IMPORT"
FreitextInfo = DAKOSY_STATUS.SEND
End If
newSicherheit.gs_standort = urspringsSicherheit.gs_standort
newSicherheit.gs_datum = urspringsSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
newSicherheit.gs_standort = DUMMYSicherheit.gs_standort
newSicherheit.gs_datum = DUMMYSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
newSicherheit.gs_erstellungsdatum = Now()
newSicherheit.gs_posNr = getLatestPosNr(urspringsSicherheit.gs_gsNr, urspringsSicherheit.gs_ATBNr) + 1
newSicherheit.gs_posNr = newSicherheit.getLatestPosNr(DUMMYSicherheit.gs_gsNr, DUMMYSicherheit.gs_ATBNr) + 1
newSicherheit.gs_DK_laufnr = laufnummer
newSicherheit.gs_freitext = FreitextInfo
newSicherheit.gs_abfertigungsnr = abfertigungsnummer
newSicherheit.gs_filialenNr = filiale
newSicherheit.gs_posSubNr = 1
newSicherheit.gs_LKWKZ = urspringsSicherheit.gs_LKWKZ
newSicherheit.gs_zollsatz = urspringsSicherheit.gs_zollsatz
newSicherheit.gs_LKWKZ = DUMMYSicherheit.gs_LKWKZ
newSicherheit.gs_zollsatz = DUMMYSicherheit.gs_zollsatz
If laufnummer = 1 Then
newSicherheit.gs_warenwert = urspringsSicherheit.gs_warenwert
newSicherheit.gs_sicherheitsbetrag = urspringsSicherheit.gs_sicherheitsbetrag
newSicherheit.gs_warenwert = DUMMYSicherheit.gs_warenwert
newSicherheit.gs_sicherheitsbetrag = DUMMYSicherheit.gs_sicherheitsbetrag
Else
newSicherheit.gs_warenwert = 0
newSicherheit.gs_sicherheitsbetrag = 0
@@ -576,8 +580,8 @@ Anzeige:
newSicherheit.gs_art = "OPEN"
newSicherheit.gs_saldo = saldo
newSicherheit.gs_avisoId = urspringsSicherheit.gs_avisoId
newSicherheit.gs_warenort = urspringsSicherheit.gs_warenort
newSicherheit.gs_avisoId = DUMMYSicherheit.gs_avisoId
newSicherheit.gs_warenort = DUMMYSicherheit.gs_warenort
newSicherheit.gs_dakoyimport = True
@@ -585,9 +589,9 @@ Anzeige:
If gsid > 0 AndAlso laufnummer = 1 Then
'wechsel des Sicherheitsbetrags und Warenwert von Dummypos auf erste Produkivposition
urspringsSicherheit.gs_warenwert = 0
urspringsSicherheit.gs_sicherheitsbetrag = 0
urspringsSicherheit.SAVE()
DUMMYSicherheit.gs_warenwert = 0
DUMMYSicherheit.gs_sicherheitsbetrag = 0
DUMMYSicherheit.SAVE()
End If
Dim CLOSED_DUMMY = New cGesamtsicherheitsPositionen(gsid, newSicherheit.gs_posNr)
@@ -602,9 +606,9 @@ Anzeige:
.gsp_abfertigungsNr = abfertigungsnummer
.gsp_erstellungsdatum = DateTime.Now
.gsp_ust = ""
.gsp_freitext = "DAKOSY-IMP-DY"
.gsp_avisoId = urspringsSicherheit.gs_avisoId
.gsp_systemuser = "DAKOSY-AUTO"
.gsp_freitext = DAKOSY_STATUS.SEND
.gsp_avisoId = DUMMYSicherheit.gs_avisoId
.gsp_systemuser = DAKOSY_STATUS.USER
End With
CLOSED_DUMMY.SAVE()
@@ -614,10 +618,10 @@ Anzeige:
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_systemuser = DAKOSY_STATUS.USER
.gs_VeralteteWeitereRegistriernummer = VeralteteWeitereRegistriernummer 'wichtig für Zuweisung DAKOSY
.gs_gsNr = urspringsSicherheit.gs_gsNr
.gs_ATBNr = urspringsSicherheit.gs_ATBNr
.gs_gsNr = DUMMYSicherheit.gs_gsNr
.gs_ATBNr = DUMMYSicherheit.gs_ATBNr
If IsNumeric(posGestellung.Rows(i - 1).Item("AnzPackst")) Then
.gs_EH_Anzahl = posGestellung.Rows(i - 1).Item("AnzPackst")
End If
@@ -627,19 +631,19 @@ Anzeige:
End If
.gs_freitext = posGestellung.Rows(i - 1).Item("PackstArt")
.gs_MRNNr = RegistriernummerATLAS
.gs_standort = urspringsSicherheit.gs_standort
.gs_datum = urspringsSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
.gs_standort = DUMMYSicherheit.gs_standort
.gs_datum = DUMMYSicherheit.gs_datum 'VWI.EinzelSumAVerwahrungsinfo.ObjektIdentifizierung.ZeitpunktNachrichteneingang
.gs_erstellungsdatum = Now()
.gs_abfertigungsnr = abfertigungsnummer
.gs_filialenNr = filiale
.gs_LKWKZ = urspringsSicherheit.gs_LKWKZ
.gs_zollsatz = urspringsSicherheit.gs_zollsatz
.gs_LKWKZ = DUMMYSicherheit.gs_LKWKZ
.gs_zollsatz = DUMMYSicherheit.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_avisoId = DUMMYSicherheit.gs_avisoId
.gs_warenort = DUMMYSicherheit.gs_warenort
.gs_posNr = newSicherheit.gs_posNr + i - 1
.gs_posSubNr = i
.gs_dakoyimport = True
@@ -654,7 +658,7 @@ Anzeige:
With CLOSED_DUMMY_SUBPOS
.gsp_gspPosId = OPEN_DUMMY_SUBPOS.gs_posNr
.gsp_gsId = gsid_SupPos
.gsp_gsNr = urspringsSicherheit.gs_gsNr
.gsp_gsNr = DUMMYSicherheit.gs_gsNr
.gsp_warenwert = 0 ' = 0 wichtig
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
.gsp_filialenNr = filiale
@@ -662,18 +666,21 @@ Anzeige:
.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"
.gsp_freitext = DAKOSY_STATUS.SEND
.gsp_avisoId = DUMMYSicherheit.gs_avisoId
.gsp_gsNr = DUMMYSicherheit.gs_gsNr
.gsp_systemuser = DAKOSY_STATUS.USER
End With
CLOSED_DUMMY_SUBPOS.SAVE()
Next
End If
End If
newSicherheit.rearangePosNrByDakosyLaufNr(newSicherheit.gs_gsNr, newSicherheit.gs_ATBNr)
If sendInfoMail Then
Dim InfoText As String = createInfoMail(RegistriernummerATLAS, posGestellung, "VW-EINGANG", newSicherheit)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungseingang aus DAKOSY - " & Now().ToShortDateString, InfoText,,,,, "d.breimaier@verag.ag")
@@ -702,7 +709,7 @@ Anzeige:
End Function
Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, veralteteregNR As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, Optional isNCTS As Boolean = False)
Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, veralteteregNR As String, nachrichtenDatum As Date, sendInfoMail As Boolean, testlauf As Boolean, Optional isNCTS As Boolean = False, Optional sicherheitsbetragInput As Double = 0)
Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
@@ -745,6 +752,7 @@ Anzeige:
'End If
If isNCTS Then
'gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & "")
gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
Else
gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
@@ -760,93 +768,83 @@ Anzeige:
Dim saldo As Double = GesSichRef.CalcSaldo()
Dim Warenwert As Double = 0
Dim Sicherheitsbetrag As Double = 0
Dim Warenwert As Double = 0
Dim Sicherheitsbetrag As Double = 0
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gsrightRow("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gsrightRow("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gsrightRow("gs_ATBNr") & "'", "AVISO")
'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gsrightRow("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gsrightRow("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gsrightRow("gs_ATBNr") & "'", "AVISO")
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
Dim posNr_temp As String = gsrightRow.Item("gs_posNr")
If dtVorpapiere.Rows.Count > 0 Then
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 rowsVorp = dtVorpapiere.AsEnumerable().Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso ((
r("tblSnd_Vorpapier_Pos").ToString() & "," &
r("tblSnd_Vorpapier2_Pos").ToString() & "," &
r("tblSnd_Vorpapier3_Pos").ToString()).Split(","c).Select(Function(x) x.Trim()).Where(Function(x) x <> "").Select(Function(x) CInt(x)).DefaultIfEmpty(Integer.MaxValue).Min() = CInt(posNr_temp))).ToArray()
Dim posNr_temp As String = gsrightRow.Item("gs_posNr")
Dim rowsVorp = dtVorpapiere.AsEnumerable().
Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso (
r("tblSnd_Vorpapier_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
r("tblSnd_Vorpapier2_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
r("tblSnd_Vorpapier3_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp)
)
).ToArray()
If rowsVorp.Length > 0 Then
Dim row = rowsVorp(0)
If POSNr = posNr_temp Then
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
End If
End If
If rowsVorp.Length > 0 Then
Dim row = rowsVorp(0)
Warenwert = CDbl(row("tblSnd_Warenwert"))
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
End If
End If
Dim anzahlPackstuecke As Integer = -1
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
Dim StornierungKz As String = ""
Dim anzahlPackstuecke As Integer = -1
Dim AnzahlStückErledigt As Integer = If(IsDBNull(POS("StueckzahlErledigte")), 0, CInt(POS("StueckzahlErledigte")))
Dim StornierungKz As String = ""
If Not isNCTS Then
StornierungKz = IIf(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
End If
If Not isNCTS Then
StornierungKz = IIf(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
End If
If Not IsDBNull(gsrightRow.Item("gs_EH_Anzahl")) AndAlso IsNumeric(gsrightRow.Item("gs_EH_Anzahl")) Then
Try
anzahlPackstuecke = CInt(gsrightRow.Item("gs_EH_Anzahl"))
Catch ex As Exception
anzahlPackstuecke = -1
End Try
If Not IsDBNull(gsrightRow.Item("gs_EH_Anzahl")) AndAlso IsNumeric(gsrightRow.Item("gs_EH_Anzahl")) Then
Try
anzahlPackstuecke = CInt(gsrightRow.Item("gs_EH_Anzahl"))
Catch ex As Exception
anzahlPackstuecke = -1
End Try
If anzahlPackstuecke > 0 AndAlso anzahlPackstuecke <> AnzahlStückErledigt Then 'Hinweismeldung, wenn nicht alle erledigt wurden!
Dim dt As New DataTable
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))
If Not isNCTS Then dt.Columns.Add("StornierungKZ", GetType(String))
dt.Columns.Add("AnzahlStückErledigt", GetType(Integer))
End If
Dim ro As DataRow = dt.NewRow
ro("MRN") = gsrightRow.Item("gs_MRNNr")
ro("LKW_ID") = gsrightRow.Item("gs_avisoId")
ro("anzahlPackstuecke") = anzahlPackstuecke
ro("AnzahlStückErledigt") = AnzahlStückErledigt
If Not isNCTS Then 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")
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))
If Not isNCTS Then dt.Columns.Add("StornierungKZ", GetType(String))
dt.Columns.Add("AnzahlStückErledigt", GetType(Integer))
End If
Dim SicherheitsPos As New cGesamtsicherheitsPositionen()
With SicherheitsPos
Dim ro As DataRow = dt.NewRow
ro("MRN") = gsrightRow.Item("gs_MRNNr")
ro("LKW_ID") = gsrightRow.Item("gs_avisoId")
ro("anzahlPackstuecke") = anzahlPackstuecke
ro("AnzahlStückErledigt") = AnzahlStückErledigt
If Not isNCTS Then 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 = gsrightRow("gs_gsId")
'.gsp_gspPosId = CInt(POSNr)
.gsp_gspPosId = gsrightRow.Item("gs_posNr")
.gsp_warenwert = Warenwert
.gsp_sicherheitsbetrag = Sicherheitsbetrag
.gsp_freitext = "DASKOY-IMPORT"
.gsp_freitext = DAKOSY_STATUS.IMPORTED
.gsp_filialenNr = gsrightRow("gs_filialenNr")
.gsp_art = "CLOSE"
.gsp_gsNr = gsrightRow("gs_gsnr")
@@ -870,21 +868,21 @@ Anzeige:
End With
SicherheitsPos.SAVE()
GesSichRef.CalcSaldo()
SicherheitsPos.SAVE()
GesSichRef.CalcSaldo()
If sendInfoMail Then
If sendInfoMail Then
Dim InfoText2 As String = createInfoMail(gsrightRow.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos, isNCTS)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang aus DAKOSY " & IIf(isNCTS, "T1 ", "") & " - " & Now().ToShortDateString, InfoText2,,,,, "d.breimaier@verag.ag")
End If
End If
End If
End If
End If
End If
Next
@@ -900,175 +898,6 @@ Anzeige:
End Try
End Sub
'Shared Sub saveVerwahrungsAusgang2(regNR As String, posErledigung As DataTable, veralteteregNR As String, nachrichtenDatum As CDate, sendInfoMail As Boolean, testlauf As Boolean)
' Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
' Try
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
' If posErledigung IsNot Nothing AndAlso posErledigung.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("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_gsId = gs.gs_gsId where [gs_MRNNr] = '" & MRNNR & "' and [gs_dakoyimport] = 1 order by gsp_gspPosId", "AVISO")
' If dtGesamtsicherheit.Rows.Count > 0 Then
' Dim gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
' If gs_row.Length = 0 Then
' Continue For 'kein Eintag -> next
' End If
' Dim gsrightRow As DataRow = gs_row(0)
' Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(gsrightRow("gs_standort"))
' Dim saldo As Double = GesSichRef.CalcSaldo()
' Dim Warenwert As Double = 0
' Dim Sicherheitsbetrag As Double = 0
' 'Berechnung Warenwert und Sicherheitsbetrag aus Sendung -> immer aus den Produktivdaten!
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
' Dim dtVorpapiere As DataTable = SQL.loadDgvBySql("SELECT tblSnd_Warenwert,tblSnd_WarenwertWaehrung,replace(tblSnd_Vorpapier_Pos,'+',',') as tblSnd_Vorpapier_Pos,replace(tblSnd_Vorpapier2_Pos,'+',',') as tblSnd_Vorpapier2_Pos, replace(tblSnd_Vorpapier3_Pos,'+',',') as tblSnd_Vorpapier3_Pos from tblSendungen where tblSnd_Vorpapier = '" & gsrightRow("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gsrightRow("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gsrightRow("gs_ATBNr") & "'", "AVISO")
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
' 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 posNr_temp As String = gsrightRow("gs_posNr").ToString()
' Dim rowsVorp = dtVorpapiere.AsEnumerable().
' Where(Function(r) Not IsDBNull(r("tblSnd_Warenwert")) AndAlso (
' r("tblSnd_Vorpapier_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
' r("tblSnd_Vorpapier2_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp) OrElse
' r("tblSnd_Vorpapier3_Pos").ToString().Split(","c).Select(Function(x) x.Trim()).Contains(posNr_temp)
' )
' ).ToArray()
' If rowsVorp.Length > 0 Then
' Dim row = rowsVorp(0)
' If POSNr = posNr_temp Then
' Warenwert = CDbl(row("tblSnd_Warenwert"))
' Sicherheitsbetrag = System.Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
' End If
' End If
' End If
' 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 Not IsDBNull(gsrightRow("gs_EH_Anzahl")) AndAlso IsNumeric(gsrightRow("gs_EH_Anzahl")) Then
' Try
' anzahlPackstuecke = CInt(gsrightRow("gs_EH_Anzahl"))
' Catch ex As Exception
' anzahlPackstuecke = -1
' End Try
' 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") = gsrightRow("gs_MRNNr")
' ro("LKW_ID") = gsrightRow("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 = gsrightRow("gs_gsId")
' '.gsp_gspPosId = CInt(POSNr)
' .gsp_gspPosId = gsrightRow("gs_posNr").ToString
' .gsp_warenwert = Warenwert
' .gsp_sicherheitsbetrag = Sicherheitsbetrag
' .gsp_freitext = "DASKOY-IMPORT"
' .gsp_filialenNr = gsrightRow("gs_filialenNr")
' .gsp_art = "CLOSE"
' .gsp_gsNr = gsrightRow("gs_gsnr")
' .gsp_abfertigungsNr = gsrightRow("gs_abfertigungsnr")
' .gsp_datum = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang
' .gsp_erstellungsdatum = DateTime.Now
' .gsp_ust = gsrightRow("gs_ust")
' .gsp_ATCNr = ""
' .gsp_MRNNr = IIf(regNR = "", MRNNR.Trim(), regNR.Trim())
' .gsp_avisoId = gsrightRow("gs_avisoID")
' .gsp_systemuser = "DAKOSY-AUTO"
' End With
' SicherheitsPos.SAVE()
' GesSichRef.CalcSaldo()
' If sendInfoMail Then
' Dim InfoText2 As String = createInfoMail(gsrightRow("gs_MRNNr").ToString, Nothing, "VW-AUSGANG",, SicherheitsPos)
' VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang T1 aus DAKOSY - " & Now().ToShortDateString, InfoText2,,,,, "d.breimaier@verag.ag")
' End If
' End If
' End If
' End If
' Next
' End If
' 'End If
' Catch ex As Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & "Datei: " & Dateiname, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' Finally
' VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
' End Try
'End Sub
Public Shared Function AddNewGesamtSichNr() As Integer
Dim sqlq As String = "select MAX([gs_gsNr]) as MaxGesSich from tblGesamtsicherheit"
@@ -1085,24 +914,6 @@ Anzeige:
Return 0
End Function
Private Shared Function getLatestPosNr(gs_gsnr As Integer, gs_ATBNr As String) As Integer
Dim posNr As Integer = 0
'Dim sqlq As String = "Select MAX([gsp_gspPosId]) As MaxPosNr from tblGesamtsicherheitsPositionen where gsp_gsnr = " & gs_gsnr
Dim sqlq As String = "Select MAX([gs_posNr]) As MaxPosNr from [tblGesamtsicherheit] where gs_gsnr = " & gs_gsnr & " And gs_ATBNR = '" & gs_ATBNr & "'"
Dim dt As New DataTable
dt = SQL.loadDgvBySql(sqlq, "AVISO", 100, True)
If (dt.Rows(0).Item(0) IsNot DBNull.Value) Then
posNr = dt.Rows(0).Item(0)
End If
Return posNr
End Function
Public Shared Function createInfoMail(regNR As String, dt As DataTable, typ As String, Optional GS As cSicherheiten = Nothing, Optional GSPOS As cGesamtsicherheitsPositionen = Nothing, Optional isNCTS As Boolean = False) As String
Dim TextHTMLtable As String