diff --git a/DAKOSY_Worker/cZOLL_IMPORT.vb b/DAKOSY_Worker/cZOLL_IMPORT.vb
index d4e4741..64bff29 100644
--- a/DAKOSY_Worker/cZOLL_IMPORT.vb
+++ b/DAKOSY_Worker/cZOLL_IMPORT.vb
@@ -523,6 +523,8 @@ Public Class cZOLL_IMPORT
Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "7001" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
+ Case Else : Return bezugsNr.ToString.Substring(0, 4)
+
' Case "5601" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803
'filialeBez SUB, NKD, WAI,.-..
diff --git a/initATLASAufschubkonten/cWorker_NCTS.vb b/initATLASAufschubkonten/cWorker_NCTS.vb
index 9f7b4f0..eb84e99 100644
--- a/initATLASAufschubkonten/cWorker_NCTS.vb
+++ b/initATLASAufschubkonten/cWorker_NCTS.vb
@@ -4103,7 +4103,8 @@ Public Class cWorker_NCTS
' NCTS.LOADByBezugsNr(bezugsNr, False) ' Falls schon ein DS mit dieser Bezugsnummer vorhanden ist.
If saveVerwahrung Then
- saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf)
+ 'saveVerwahrungsAusgang(MRN, posErledigung, NCTS, sendMail, testlauf)
+ cWorker_Verwahrung.saveVerwahrungsAusgang(MRN, posErledigung, "", zp, sendMail, testlauf, True)
End If
@@ -4649,282 +4650,4 @@ Public Class cWorker_NCTS
End Function
- Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, NCTS As DAKOSY_Worker.UeberlassungsmeldungNCTSDE_009.UeberlassungsmeldungMRTyp, 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 As DataRow = dtGesamtsicherheit.Rows(0)
-
- 'Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
- Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND isnull(gsp_MRNNr,'') <> ''")
-
- If rows.Length > 0 Then
- Exit Sub 'bereits vorhanden -> keine INFO
- 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 -> 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 = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("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 = gs_row.Item("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 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
-
- Try
- anzahlPackstuecke = CInt(System.Text.RegularExpressions.Regex.Match(gs_row.Item("gs_freitext"), "\d+").Value)
- 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") = 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 = NCTS.EinzelUeberlassungsmeldung.ObjektIdentifizierung.ZeitpunktEingang
- .gsp_erstellungsdatum = DateTime.Now
- .gsp_ust = gs_row("gs_ust")
- .gsp_ATCNr = ""
- .gsp_MRNNr = IIf(regNR = "", MRNNR.Trim(), regNR.Trim())
- .gsp_avisoId = gs_row("gs_avisoID")
- .gsp_systemuser = "DAKOSY-AUTO"
- End With
-
-
- SicherheitsPos.SAVE()
- GesSichRef.CalcSaldo()
-
- If sendInfoMail Then
- Dim InfoText2 As String = createInfoMail(gs_row.Item("gs_MRNNr"), 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 createInfoMail(regNR As String, dt As DataTable, typ As String, Optional GS As cSicherheiten = Nothing, Optional GSPOS As cGesamtsicherheitsPositionen = Nothing) As String
-
- Dim TextHTMLtable As String
-
- Select Case typ
- Case "MASSNAHME-DAKOSY"
- TextHTMLtable &= "Bei " & regNR & " wurden eine Zoll-Maßnahme ausgelöst." & vbNewLine & vbNewLine & vbNewLine
-
- TextHTMLtable &= "
"
- TextHTMLtable &= "| Code | Text | NichtzustellbarKz | PackstueckAnzahl | PackstueckArt |
"
-
- For Each r As DataRow In dt.Rows
-
- TextHTMLtable &= ""
- TextHTMLtable &= "| " & r.Item("MassnahmeCode") & " | "
- TextHTMLtable &= "" & r.Item("MassnahmeText") & " | "
- TextHTMLtable &= "" & r.Item("MassnahmeNichtzustellbarKz") & " | "
- TextHTMLtable &= "" & r.Item("PackstueckAnzahl") & " | "
- TextHTMLtable &= "" & r.Item("PackstueckArt") & " | "
- TextHTMLtable &= "
"
-
- Next
-
- TextHTMLtable &= "
"
-
- TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
- Return TextHTMLtable
-
-
- Case "VW-EINGANG"
-
- TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
-
- TextHTMLtable &= ""
- TextHTMLtable &= "| PosNr | Vorpapier | MRN | LKWID |
"
-
- If GS IsNot Nothing Then
- TextHTMLtable &= ""
- TextHTMLtable &= "| " & GS.gs_posNr & " | "
- TextHTMLtable &= "" & GS.gs_ATBNr & " | "
- TextHTMLtable &= "" & GS.gs_MRNNr & " | "
- TextHTMLtable &= "" & GS.gs_avisoId & " | "
- TextHTMLtable &= "
"
-
- End If
-
-
- TextHTMLtable &= "
"
-
- TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
- Return TextHTMLtable
-
- Case "VW-AUSGANG"
-
- TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
-
- TextHTMLtable &= ""
- TextHTMLtable &= "| PosNr | MRN | ATC | AVISOID |
"
-
- If GSPOS IsNot Nothing Then
- TextHTMLtable &= ""
- TextHTMLtable &= "| " & GSPOS.gsp_gspPosId & " | "
- TextHTMLtable &= "" & GSPOS.gsp_MRNNr & " | "
- TextHTMLtable &= "" & GSPOS.gsp_ATCNr & " | "
- TextHTMLtable &= "" & GSPOS.gsp_avisoId & " | "
- TextHTMLtable &= "
"
- End If
-
-
- TextHTMLtable &= "
"
-
- TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
- Return TextHTMLtable
-
-
- Case Else
-
- TextHTMLtable &= regNR & " wurde nicht vollständig aufgelöst." & vbNewLine & vbNewLine & vbNewLine
-
- TextHTMLtable &= ""
- TextHTMLtable &= "| MRN-Nr | LKW-ID | Packstücke gesamt | Packstücke erledigt | Stornierung KZ |
"
-
- For Each r As DataRow In dt.Rows
-
- TextHTMLtable &= ""
- TextHTMLtable &= "| " & r.Item("MRN") & " | "
- TextHTMLtable &= "" & r.Item("LKW_ID") & " | "
- TextHTMLtable &= "" & r.Item("anzahlPackstuecke") & " | "
- TextHTMLtable &= "" & r.Item("AnzahlStückErledigt") & " | "
- TextHTMLtable &= "" & r.Item("StornierungKZ") & " | "
- TextHTMLtable &= "
"
-
- Next
-
- TextHTMLtable &= "
"
-
- TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
- Return TextHTMLtable
-
- End Select
-
-
- End Function
-
-
End Class
diff --git a/initATLASAufschubkonten/cWorker_Verwahrung.vb b/initATLASAufschubkonten/cWorker_Verwahrung.vb
index 314ad50..95f1a92 100644
--- a/initATLASAufschubkonten/cWorker_Verwahrung.vb
+++ b/initATLASAufschubkonten/cWorker_Verwahrung.vb
@@ -1,4 +1,5 @@
-Imports VERAG_PROG_ALLGEMEIN
+Imports com.sun.xml.internal.rngom.digested
+Imports VERAG_PROG_ALLGEMEIN
Public Class cWorker_Verwahrung
Public Shared Dateiname = ""
@@ -215,7 +216,7 @@ Anzeige:
'Verwahrung ABSCHREIBUNG - rechte Seite bei Gesamtsicherheiten
If saveAbschreibung Then
- saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, EZA, sendMail, testlauf)
+ saveVerwahrungsAusgang(regNR, posErledigung, veralteteregNR, zp, sendMail, testlauf)
Anzeige:
@@ -479,17 +480,17 @@ Anzeige:
If SND IsNot Nothing AndAlso SND.tblSnd_Abfertigungsart_ID = 44 Then
Dim existingEntries As DataTable
- existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr, gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where [gs_ATBNr] = '" & Vorpapiernummer & "' order by gs_datum desc", "AVISO")
+ existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_DK_laufnr, gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport 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_posNr,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")
- existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) order by gs_datum desc", "AVISO")
+ existingEntries = (New SQL).loadDgvBySql("Select gs_gsnr, gs_gsId, gs_posNr,gs_DK_laufnr,gs_freitext,gs_systemuser,gs_VeralteteWeitereRegistriernummer,gs_MRNNr, gs_ATBNr, gs_dakoyimport from [tblGesamtsicherheit] where ([gs_filialenNr] = '" & SND.FilialenNr & "' and [gs_abfertigungsNr] = " & SND.AbfertigungsNr & " ) order by gs_datum desc", "AVISO")
End If
If existingEntries.Rows.Count > 0 Then
- Dim zubehandelndeGS As Boolean = existingEntries.AsEnumerable().
+ Dim zubehandelndeGSPOS As Boolean = existingEntries.AsEnumerable().
Any(Function(r)
- If r.IsNull("gs_posNr") OrElse r.Field(Of Integer)("gs_posNr") <> laufnummer Then
+ If r.IsNull("gs_DK_laufnr") OrElse r.Field(Of Integer)("gs_DK_laufnr") <> laufnummer Then
Return False
End If
@@ -499,7 +500,7 @@ Anzeige:
Return alt = VeralteteWeitereRegistriernummer OrElse mrn = RegistriernummerATLAS
End Function)
- If zubehandelndeGS Then
+ If zubehandelndeGSPOS Then
Return True 'bereits behandelt ->
End If
@@ -539,7 +540,15 @@ Anzeige:
Dim FreitextInfo As String = ""
If posGestellung.Rows.Count > 0 Then
- FreitextInfo = posGestellung.Rows(0).Item("AnzPackst") & " " & posGestellung.Rows(0).Item("PackstArt")
+ If IsNumeric(posGestellung.Rows(0).Item("AnzPackst")) Then
+ newSicherheit.gs_EH_Anzahl = CInt(posGestellung.Rows(0).Item("AnzPackst"))
+ End If
+
+ If IsNumeric(posGestellung.Rows(0).Item("Rohmasse")) Then
+ newSicherheit.gs_gewicht = CDbl(posGestellung.Rows(0).Item("Rohmasse"))
+ End If
+
+ FreitextInfo = posGestellung.Rows(0).Item("PackstArt")
Else
FreitextInfo = "DAKOSY-IMPORT"
End If
@@ -547,7 +556,8 @@ Anzeige:
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_posNr = getLatestPosNr(urspringsSicherheit.gs_gsNr, urspringsSicherheit.gs_ATBNr) + 1
+ newSicherheit.gs_DK_laufnr = laufnummer
newSicherheit.gs_freitext = FreitextInfo
newSicherheit.gs_abfertigungsnr = abfertigungsnummer
newSicherheit.gs_filialenNr = filiale
@@ -580,11 +590,11 @@ Anzeige:
urspringsSicherheit.SAVE()
End If
- Dim CLOSED_DUMMY = New cGesamtsicherheitsPositionen(gsid, laufnummer)
+ Dim CLOSED_DUMMY = New cGesamtsicherheitsPositionen(gsid, newSicherheit.gs_posNr)
With CLOSED_DUMMY
- .gsp_gsNr = urspringsSicherheit.gs_gsNr
+ .gsp_gsNr = newSicherheit.gs_gsNr
.gsp_warenwert = 0 ' = 0 wichtig
.gsp_sicherheitsbetrag = 0 ' = 0 wichtig
.gsp_filialenNr = filiale
@@ -594,7 +604,6 @@ Anzeige:
.gsp_ust = ""
.gsp_freitext = "DAKOSY-IMP-DY"
.gsp_avisoId = urspringsSicherheit.gs_avisoId
- .gsp_gsNr = urspringsSicherheit.gs_gsNr
.gsp_systemuser = "DAKOSY-AUTO"
End With
@@ -609,7 +618,14 @@ Anzeige:
.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")
+ If IsNumeric(posGestellung.Rows(i - 1).Item("AnzPackst")) Then
+ .gs_EH_Anzahl = posGestellung.Rows(i - 1).Item("AnzPackst")
+ End If
+
+ If IsNumeric(posGestellung.Rows(i - 1).Item("Rohmasse")) Then
+ .gs_gewicht = posGestellung.Rows(i - 1).Item("Rohmasse")
+ 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
@@ -624,8 +640,10 @@ Anzeige:
.gs_saldo = saldo
.gs_avisoId = urspringsSicherheit.gs_avisoId
.gs_warenort = urspringsSicherheit.gs_warenort
- .gs_posNr = laufnummer + i - 1
+ .gs_posNr = newSicherheit.gs_posNr + i - 1
.gs_posSubNr = i
+ .gs_dakoyimport = True
+ .gs_DK_laufnr = laufnummer
End With
@@ -684,7 +702,7 @@ Anzeige:
End Function
- Shared Sub saveVerwahrungsAusgang(regNR As String, posErledigung As DataTable, veralteteregNR As String, EZA As DAKOSY_Worker.SumAErledigungsinformationVorpapier_005.SumAErledigungsinformationVorpapierSIVRPTyp, sendInfoMail As Boolean, testlauf As Boolean)
+ 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)
Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
@@ -692,61 +710,74 @@ Anzeige:
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = testlauf
-
If posErledigung IsNot Nothing AndAlso posErledigung.Rows.Count > 0 Then
- 'If regNR <> "" AndAlso veralteteregNR <> "" 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 sqlString = ""
+ If isNCTS Then
+ sqlString = "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"
+ Else
+ sqlString = "Select * From [tblGesamtsicherheit] as gs left join tblGesamtsicherheitsPositionen as pos on pos.gsp_gsId = gs.gs_gsId where ([gs_VeralteteWeitereRegistriernummer] = '" & MRNNR & "' or [gs_MRNNr] = '" & regNR & "') and [gs_dakoyimport] = 1 order by gsp_gspPosId, gsp_MRNNr"
+ End If
- '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_VeralteteWeitereRegistriernummer] = '" & MRNNR & "' or [gs_MRNNr] = '" & regNR & "') and [gs_dakoyimport] = 1 order by gsp_gspPosId, gsp_MRNNr", "AVISO")
+ Dim dtGesamtsicherheit = SQL.loadDgvBySql(sqlString, "AVISO")
If dtGesamtsicherheit.Rows.Count > 0 Then
+ Dim gs_row As Array = Nothing
- Dim gs_row As DataRow = dtGesamtsicherheit.Rows(0)
+ 'Dim gs_row As DataRow = dtGesamtsicherheit.Rows(0)
- Dim rows = dtGesamtsicherheit.Select("gsp_gspPosId = " & gs_row("gs_posNr") & " AND gsp_MRNNr IS NOT NULL")
+ '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 -> keine INFO
+ 'If rows.Length > 0 Then
+ ' Exit Sub 'bereits vorhanden -> keine INFO
+ 'End If
+
+ If isNCTS Then
+ gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
+ Else
+ gs_row = dtGesamtsicherheit.Select("gs_posSubNr = " & POSNr & " AND isnull(gsp_MRNNr,'') = ''")
End If
- Dim GesSichRef = New VERAG_PROG_ALLGEMEIN.cGesamtsicherheitsReferenz(gs_row("gs_standort"))
+ If gs_row.Length = 0 Then
+ Continue For
+ End If
+
+ Dim gsrightRow As DataRow = gs_row(0) 'es gibt dann immer nur 1 Eintrag!
+
+ 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
+ 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 = '" & gs_row("gs_ATBNr") & "' Or tblSnd_Vorpapier2 = '" & gs_row("gs_ATBNr") & "' OR tblSnd_Vorpapier3 = '" & gs_row("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
- 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.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 = gs_row.Item("gs_posNr").ToString()
+ Dim posNr_temp As String = gsrightRow.Item("gs_posNr")
- Dim rowsVorp = dtVorpapiere.AsEnumerable().
+ 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
@@ -754,92 +785,106 @@ Anzeige:
)
).ToArray()
- If rowsVorp.Length > 0 Then
+ 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)
+ 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
+ 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 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 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")
End If
- End If
- 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_filialenNr = gsrightRow("gs_filialenNr")
+ .gsp_art = "CLOSE"
+ .gsp_gsNr = gsrightRow("gs_gsnr")
+ .gsp_abfertigungsNr = gsrightRow("gs_abfertigungsnr")
+ .gsp_datum = nachrichtenDatum
+ .gsp_erstellungsdatum = DateTime.Now
+ .gsp_ust = gsrightRow("gs_ust")
+
+ If Not isNCTS Then
+ .gsp_ATCNr = IIf(veralteteregNR = "", MRNNR, veralteteregNR)
+ .gsp_MRNNr = IIf(regNR = "", MRNNR, regNR)
+ Else
+ .gsp_ATCNr = ""
+ .gsp_MRNNr = IIf(regNR = "", MRNNR.Trim(), regNR.Trim())
+ End If
+
+ .gsp_avisoId = gsrightRow("gs_avisoID")
+ .gsp_systemuser = "DAKOSY-AUTO"
+ .gsp_EH_Anzahl = AnzahlStückErledigt
+
+ End With
+ SicherheitsPos.SAVE()
+ GesSichRef.CalcSaldo()
- '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
- Try
- anzahlPackstuecke = CInt(System.Text.RegularExpressions.Regex.Match(gs_row.Item("gs_freitext"), "\d+").Value)
- Catch ex As Exception
- anzahlPackstuecke = -1
- End Try
+ 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
- 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 = IIf(veralteteregNR = "", MRNNR, veralteteregNR)
- .gsp_MRNNr = IIf(regNR = "", MRNNR, regNR)
- .gsp_avisoId = gs_row("gs_avisoID")
- .gsp_systemuser = "DAKOSY-AUTO"
- End With
-
-
- SicherheitsPos.SAVE()
- GesSichRef.CalcSaldo()
-
- If sendInfoMail Then
- Dim InfoText2 As String = createInfoMail(gs_row.Item("gs_MRNNr"), Nothing, "VW-AUSGANG",, SicherheitsPos)
- VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("verwahrung@verag.ag", IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & "Verwahrungsausgang aus DAKOSY - " & Now().ToShortDateString, InfoText2,,,,, "d.breimaier@verag.ag")
End If
End If
- End If
-
-
End If
Next
@@ -855,6 +900,175 @@ 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"
@@ -871,8 +1085,25 @@ 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)
- Public Shared Function createInfoMail(regNR As String, dt As DataTable, typ As String, Optional GS As cSicherheiten = Nothing, Optional GSPOS As cGesamtsicherheitsPositionen = Nothing) As String
+ 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
@@ -961,7 +1192,7 @@ Anzeige:
TextHTMLtable &= "" & r.Item("LKW_ID") & " | "
TextHTMLtable &= "" & r.Item("anzahlPackstuecke") & " | "
TextHTMLtable &= "" & r.Item("AnzahlStückErledigt") & " | "
- TextHTMLtable &= "" & r.Item("StornierungKZ") & " | "
+ If Not isNCTS Then TextHTMLtable &= "" & r.Item("StornierungKZ") & " | "
TextHTMLtable &= ""
Next
diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb
index b3f150b..c3cb03d 100644
--- a/initATLASAufschubkonten/frmStartOptions.vb
+++ b/initATLASAufschubkonten/frmStartOptions.vb
@@ -1039,7 +1039,7 @@ Public Class frmStartOptions
End If
End If
Catch ex As Exception
- MsgBox(ex.Message & ex.StackTrace)
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
cDHF_Anhaenge.SAVE()
@@ -3197,7 +3197,9 @@ Public Class frmStartOptions
Public Function copyFile(file, toDirectory, Optional ByRef dest = "")
- If Not System.IO.File.Exists(file) Then Return False
+ Dim fileINfo As New FileInfo(file)
+ If Not HasDirectoryReadAccess(fileINfo.DirectoryName) Then Return False
+ If Not fileINfo.Exists Then Return False
If Not System.IO.Directory.Exists(toDirectory) Then System.IO.Directory.CreateDirectory(toDirectory)
dest = toDirectory & ".tmp_" & cut_file(file)
Dim tmpExt = ""
@@ -3211,6 +3213,23 @@ Public Class frmStartOptions
Return True
End Function
+
+
+ Function HasDirectoryReadAccess(path As String) As Boolean
+ Try
+ If Not System.IO.Directory.Exists(path) Then Return False
+ Dim entries = System.IO.Directory.EnumerateFileSystemEntries(path)
+ Dim first = entries.FirstOrDefault()
+ Return True
+ Catch ex As UnauthorizedAccessException
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, ERROR_OP.MAIL)
+ Return False
+ Catch ex As Exception
+ VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, ERROR_OP.MAIL)
+ Return False
+ End Try
+ End Function
+
Public Function cut_file(ByVal file As String) As String ' Funktion zum Entfernen der Backslashs / Ordner While file.Contains("\") file = file.Remove(0, 1) End While Return file End Function
While file.Contains("\")
file = file.Remove(0, 1)