Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN
This commit is contained in:
@@ -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,.-..
|
||||
|
||||
@@ -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,276 +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
|
||||
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 = 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 &= "<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
|
||||
|
||||
|
||||
Case "VW-EINGANG"
|
||||
|
||||
TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
|
||||
|
||||
TextHTMLtable &= "<table border=1>"
|
||||
TextHTMLtable &= "<tr><td>PosNr</td><td>Vorpapier</td><td>MRN</td><td>LKWID</td></tr>"
|
||||
|
||||
If GS IsNot Nothing Then
|
||||
TextHTMLtable &= "<tr>"
|
||||
TextHTMLtable &= "<td><b>" & GS.gs_posNr & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & GS.gs_ATBNr & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & GS.gs_MRNNr & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & GS.gs_avisoId & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
|
||||
End If
|
||||
|
||||
|
||||
TextHTMLtable &= "</table>"
|
||||
|
||||
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
|
||||
Return TextHTMLtable
|
||||
|
||||
Case "VW-AUSGANG"
|
||||
|
||||
TextHTMLtable &= typ & " wurde aus DAKOSY generiert!" & vbNewLine & vbNewLine & vbNewLine
|
||||
|
||||
TextHTMLtable &= "<table border=1>"
|
||||
TextHTMLtable &= "<tr><td>PosNr</td><td>MRN</td><td>ATC</td><td>AVISOID</td></tr>"
|
||||
|
||||
If GSPOS IsNot Nothing Then
|
||||
TextHTMLtable &= "<tr>"
|
||||
TextHTMLtable &= "<td><b>" & GSPOS.gsp_gspPosId & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & GSPOS.gsp_MRNNr & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & GSPOS.gsp_ATCNr & "</b></td>"
|
||||
TextHTMLtable &= "<td><b>" & GSPOS.gsp_avisoId & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
End If
|
||||
|
||||
|
||||
TextHTMLtable &= "</table>"
|
||||
|
||||
TextHTMLtable &= vbNewLine & vbNewLine & vbNewLine & "*Automatic generated e-mail*"
|
||||
Return TextHTMLtable
|
||||
|
||||
|
||||
Case Else
|
||||
|
||||
TextHTMLtable &= 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 Select
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
@@ -5,6 +5,13 @@ Public Class cWorker_Verwahrung
|
||||
|
||||
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
|
||||
@@ -215,7 +222,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 +486,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,30 +506,28 @@ Anzeige:
|
||||
Return alt = VeralteteWeitereRegistriernummer OrElse mrn = RegistriernummerATLAS
|
||||
End Function)
|
||||
|
||||
If zubehandelndeGS Then
|
||||
If zubehandelndeGSPOS Then
|
||||
Return True 'bereits behandelt ->
|
||||
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
|
||||
@@ -530,34 +535,43 @@ 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 = ""
|
||||
|
||||
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"
|
||||
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 = laufnummer
|
||||
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
|
||||
@@ -566,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
|
||||
|
||||
|
||||
@@ -575,16 +589,16 @@ 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, 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
|
||||
@@ -592,10 +606,9 @@ 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_systemuser = DAKOSY_STATUS.USER
|
||||
End With
|
||||
|
||||
CLOSED_DUMMY.SAVE()
|
||||
@@ -605,27 +618,36 @@ 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_freitext = posGestellung.Rows(i - 1).Item("AnzPackst") & " " & posGestellung.Rows(i - 1).Item("PackstArt")
|
||||
.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
|
||||
|
||||
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
|
||||
.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_posNr = laufnummer + i - 1
|
||||
.gs_avisoId = DUMMYSicherheit.gs_avisoId
|
||||
.gs_warenort = DUMMYSicherheit.gs_warenort
|
||||
.gs_posNr = newSicherheit.gs_posNr + i - 1
|
||||
.gs_posSubNr = i
|
||||
.gs_dakoyimport = True
|
||||
.gs_DK_laufnr = laufnummer
|
||||
|
||||
End With
|
||||
|
||||
@@ -636,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
|
||||
@@ -644,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")
|
||||
@@ -684,7 +709,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, Optional sicherheitsbetragInput As Double = 0)
|
||||
|
||||
Dim originalTestSetting As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
|
||||
|
||||
@@ -692,40 +717,54 @@ 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 & "")
|
||||
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()
|
||||
|
||||
|
||||
@@ -734,107 +773,116 @@ Anzeige:
|
||||
|
||||
'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")
|
||||
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
|
||||
|
||||
Dim posNr_temp As String = gsrightRow.Item("gs_posNr")
|
||||
|
||||
|
||||
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()
|
||||
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()
|
||||
|
||||
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
|
||||
|
||||
Warenwert = CDbl(row("tblSnd_Warenwert"))
|
||||
Sicherheitsbetrag = Math.Round(Warenwert * (GesSichRef.gsr_zollsatz / 100), 2)
|
||||
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
|
||||
anzahlPackstuecke = CInt(System.Text.RegularExpressions.Regex.Match(gs_row.Item("gs_freitext"), "\d+").Value)
|
||||
Dim StornierungKz As String = ""
|
||||
|
||||
If Not isNCTS Then
|
||||
StornierungKz = IIf(IsDBNull(POS("StornierungKz")), "", POS("StornierungKz"))
|
||||
End If
|
||||
|
||||
If anzahlPackstuecke > 0 AndAlso anzahlPackstuecke <> AnzahlStückErledigt Then 'Hinweismeldung, wenn nicht alle erledigt wurden!
|
||||
Dim dt As New DataTable
|
||||
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 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))
|
||||
|
||||
|
||||
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
|
||||
|
||||
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 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 = DAKOSY_STATUS.IMPORTED
|
||||
.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
|
||||
|
||||
|
||||
Dim InfoText As String = createInfoMail(MRNNR, dt, "")
|
||||
SicherheitsPos.SAVE()
|
||||
GesSichRef.CalcSaldo()
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
|
||||
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
|
||||
@@ -866,8 +914,7 @@ Anzeige:
|
||||
Return 0
|
||||
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) As String
|
||||
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
|
||||
|
||||
@@ -956,7 +1003,7 @@ Anzeige:
|
||||
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>"
|
||||
If Not isNCTS Then TextHTMLtable &= "<td><b>" & r.Item("StornierungKZ") & "</b></td>"
|
||||
TextHTMLtable &= "</tr>"
|
||||
|
||||
Next
|
||||
|
||||
@@ -405,6 +405,16 @@ Public Class frmDYNachrichtenVerarbeitung
|
||||
'------------------ Verwahrung/ Gestellung (NCTS) ------------------
|
||||
'------------------------------------------
|
||||
|
||||
|
||||
'VW: UngueltigkeitSicherheitenNCTSDE
|
||||
If Not found And cGetMsgType.isNCTS_SumAVerwahrungsinfo(doc, VERSION) Then
|
||||
Select Case VERSION
|
||||
Case False
|
||||
Case Else : If cWorker_Verwahrung.readVW_SumAVerwahrungsinfo(Me, d, saveVerwahrung, sendMail, GESTELLUNG_TESTLAUF) <> "" Then found = True
|
||||
End Select
|
||||
End If
|
||||
|
||||
|
||||
'VW: UngueltigkeitSicherheitenNCTSDE
|
||||
If Not found And cGetMsgType.isNCTS_SumAVerwahrungsinfo(doc, VERSION) Then
|
||||
Select Case VERSION
|
||||
|
||||
@@ -1027,7 +1027,7 @@ Public Class frmStartOptions
|
||||
destFull = ""
|
||||
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
||||
|
||||
Case "UNISPED" : copyFile(cDHF_Anhaenge.pfad.Replace("C:\", "\\SRV04.unisu.at\c$\"), ZIEL_PFAD, destFull)
|
||||
Case "UNISPED" : copyFile(cDHF_Anhaenge.pfad.Replace("C:\Program Files (x86)\DHF\", "\\SRV04.unisu.at\DHF\"), ZIEL_PFAD, destFull)
|
||||
Case Else : copyFile(cDHF_Anhaenge.pfad.Replace("C:\", "\\Ezoll\c$\"), ZIEL_PFAD, destFull)
|
||||
|
||||
End Select
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user