TC Einarbeitung + DB Telo/SpedBuch

This commit is contained in:
2025-08-12 11:33:32 +02:00
parent c677846f7b
commit ede8b3a4f0
7 changed files with 1307 additions and 918 deletions

View File

@@ -772,7 +772,7 @@ Public Class cDakosyAES
'End Function
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, AES_Nr As String, ByVal notFound As Boolean)
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, AES_Nr As String, Byref notFound As Boolean)
Dim DY As DAKOSY_Worker.cDakosyAES = DAKOSY_Worker.cDakosyAES.LOADByBezugsNr(AES_Nr, True)
If DY Is Nothing Then
notFound = True
@@ -781,7 +781,7 @@ Public Class cDakosyAES
DakosyAESDatenbereitstellung(SPEDITIONSBUCH, DY, notFound)
End Sub
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As DAKOSY_Worker.cDakosyAES, ByVal notFound As Boolean)
Public Shared Sub DakosyAESDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As DAKOSY_Worker.cDakosyAES, Byref notFound As Boolean)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
notFound = False

View File

@@ -62,13 +62,17 @@ Public Class cZOLL_IMPORT
Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
Dim AbfertigungsNr = getAbfertigungsnummer(TC.telanm_BezugsNr)
Dim FilialenNr = getFilialenNr(TC.telanm_BezugsNr)
If FilialenNr <> "" AndAlso AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(FilialenNr, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(FilialenNr, AbfertigungsNr) = 0 Then
If AbfertigungsNr <> "" AndAlso countSpedbuchEntrysTC(5501, TC.telanm_BezugsNr, TC.telanm_ART) = 0 AndAlso countSpedbuchEntrys_AbfertigungsNr(5501, AbfertigungsNr) = 0 Then
SPEDBUCH.FilialenNr = 5501
SPEDBUCH.FilialenNr = FilialenNr
' SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year)
SPEDBUCH.AbfertigungsNr = AbfertigungsNr
SPEDBUCH.NewUNTER_NR()
SPEDBUCH.Zollsystem_Land = "AT"
SPEDBUCH.Zollsystem = "T"
SPEDBUCH.Abfertigungsdatum = Now.ToShortDateString
SPEDBUCH.Sachbearbeiter = "AUTO"
@@ -79,12 +83,12 @@ Public Class cZOLL_IMPORT
Select Case TC.telanm_ART
Case "NCTS", "T1", "T2", "T2L" : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr
Case "EUA", "EZA" : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr
' Case Else : TC.telanm_ART = "EZA" : SPEDBUCH.AtlasBezNrEZA = TC.telanm_BezugsNr
Case Else : TC.telanm_ART = "NCTS" : SPEDBUCH.AtlasBezNrNCTS = TC.telanm_BezugsNr
End Select
Dim PosAnzahl = 0
' TELOTECDatenbereitstellung(SPEDBUCH, Me.telanm_BezugsNr, notfound, art, PosAnzahl)
SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 2, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True)
SPEDBUCH = IMPORT(SPEDBUCH, TC.telanm_AvisoId, TC.telanm_SendungsId, "VERA", SPEDBUCH.FilialenNr, 3, SPEDBUCH.AtlasBezNrEZA, SPEDBUCH.AtlasBezNrNCTS, notfound, True)
If Not notfound Then
@@ -474,6 +478,28 @@ Public Class cZOLL_IMPORT
Shared Function getFilialenNr(ByVal bezugsNr) As String
getFilialenNr = ""
If If(bezugsNr, "").ToString.Length > 4 Then
Dim abf = ""
For Each s In bezugsNr.ToString.Substring(0, 4)
If Not IsNumeric(s) Then Exit For
abf &= s
Next
If IsNumeric(abf) Then
If CLng(abf) < 9999 Then
If CLng(abf) > 1000 Then
Return abf
End If
End If
End If
End If
Return ""
End Function
Shared Function getAbfertigungsnummer(ByVal bezugsNr) As String
getAbfertigungsnummer = ""
If If(bezugsNr, "").ToString.Length > 5 Then
@@ -548,6 +574,7 @@ Public Class cZOLL_IMPORT
Case "UNISPED" : EZOLL_SQL = "EZOLL_UNISPED"
End Select
SPEDITIONSBUCH.Zollsystem_Land = "AT"
SPEDITIONSBUCH.Zollsystem = "E"
If EZA_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
@@ -560,6 +587,7 @@ Public Class cZOLL_IMPORT
End If
notFound = Me.notFound
Case 2 'dakosy
SPEDITIONSBUCH.Zollsystem_Land = "DE"
SPEDITIONSBUCH.Zollsystem = "D"
If AES_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
@@ -577,6 +605,7 @@ Public Class cZOLL_IMPORT
Else End If
Me.notFound = notFound
Case 3 'telotec
SPEDITIONSBUCH.Zollsystem_Land = "AT"
SPEDITIONSBUCH.Zollsystem = "T"
If EZA_Nr <> "" Then
TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, "EZA", PosAnzahl)
@@ -597,6 +626,38 @@ Public Class cZOLL_IMPORT
End If
End If
'------------------------------------------------------------------------------------------------
'--- Versuche die Verknüpfung über Bezugsnummer (AbfertigungsNr/FilialeNr) zu finden ------------
'------------------------------------------------------------------------------------------------
If avisoLinkId = 0 Or SendungId = 0 Then
Dim BezugsNrSearch = If(EZA_Nr <> "", EZA_Nr, NCTS_Nr)
If BezugsNrSearch.Length > 13 Then BezugsNrSearch = BezugsNrSearch.Substring(0, 13) '4801/28000000
If BezugsNrSearch.Length = 13 AndAlso BezugsNrSearch.Contains("/") Then
Dim FilialeNr As Integer
Dim AbfertigungsNr As Integer
If BezugsNrSearch(4) = "/"c AndAlso IsNumeric(BezugsNrSearch.Substring(0, 4)) AndAlso IsNumeric(BezugsNrSearch.Substring(5)) Then
FilialeNr = CInt(BezugsNrSearch.Substring(0, 4))
AbfertigungsNr = CInt(BezugsNrSearch.Substring(5))
Dim SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(FilialeNr, AbfertigungsNr)
If SND IsNot Nothing Then
avisoLinkId = SND.tblSnd_AvisoID
SendungId = SND.tblSnd_SendungID
End If
Console.WriteLine("FilialeNr: " & FilialeNr & ", AbfertigungsNr: " & AbfertigungsNr)
Else
Console.WriteLine("Ungültiges Format!")
End If
End If
End If
'------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------
@@ -959,7 +1020,7 @@ Public Class cZOLL_IMPORT
If SPEDITIONSBUCH.Personalnummer Is Nothing Then Return False
Select Case SPEDITIONSBUCH.FilialenNr
Case 4801, 4802
Case 4801, 4802 : Return True
Case Else
If If(SPEDITIONSBUCH.Vermittler, "") = "" Then Return False
End Select

View File

@@ -381,6 +381,59 @@ Public Class cTelotec_Anmeldung
Public Sub SAVE_ME_AKTUELLSTE_NACHRICHT(Optional saveAll = True)
''''Aktuellste Nachricht
If Me.Refs_LRN <> "" Then
SQL.doSQL(" UPDATE [tblTelotec_Anmeldung] SET telnam_aktuellsteNachricht = 0 WHERE Refs_LRN='" & Me.Refs_LRN & "' ", "FMZOLL")
Me.telnam_aktuellsteNachricht = 1
Me.SAVE(False) 'nur die Nachricht speichern
End If
End Sub
Shared Sub Update_Anmeldedatum(Refs_LRN As String, Anmeldedatum As Date)
''''Aktuellste Nachricht
If Refs_LRN <> "" Then
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
sql.doSQL(" UPDATE [tblTelotec_Anmeldung] SET telanm_Erstellung='" & Anmeldedatum.ToShortDateString & "' , dec_CreateDate='" & Anmeldedatum.ToShortDateString & "' WHERE Refs_LRN='" & Refs_LRN & "' ", "FMZOLL")
End If
End Sub
Shared Sub Update_Status_LRN(Refs_LRN As String, status As String)
''''Aktuellste Nachricht
If Refs_LRN <> "" Then
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
sql.doSQL(" UPDATE [tblTelotec_Anmeldung] SET telanm_status='" & status & "' , telanm_Status_KEWILL_Equivalent='" & status & "' WHERE Refs_LRN='" & Refs_LRN & "' AND [telnam_aktuellsteNachricht]=1 ", "FMZOLL")
End If
End Sub
Shared Sub Update_writeOffDate(Refs_LRN As String, writeOffDate As Date)
''''Aktuellste Nachricht
If Refs_LRN <> "" Then
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
sql.doSQL(" UPDATE [tblTelotec_Anmeldung] SET Hea_WoffD='" & writeOffDate.ToShortDateString & "' , Hea_DecDT='" & writeOffDate.ToShortDateString & "' WHERE Refs_LRN='" & Refs_LRN & "' ", "FMZOLL")
End If
End Sub
Public Function tryFindAviso() As Boolean
Dim srchStrFiliale = ""
@@ -499,6 +552,7 @@ Public Class cTelotec_Anmeldung
Return Nothing
End Function
Public Function UPDATE_Status(status As Integer) As String
If telanm_id > 0 Then
Try
@@ -717,22 +771,24 @@ Public Class cTelotec_Anmeldung
Public Shared Sub TELOTECDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, telanm_Nr As String, ByVal notFound As Boolean, ByVal art As String, ByRef PosAnzahl As Integer)
Public Shared Sub TELOTECDatenbereitstellung(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, telanm_Nr As String, ByRef notFound As Boolean, ByVal art As String, ByRef PosAnzahl As Integer)
Dim DY As cTelotec_Anmeldung = cTelotec_Anmeldung.LOADByBezugsNr(telanm_Nr)
If DY Is Nothing Then
notFound = True
Exit Sub
End If
notFound = False
TELOTECDatenbereitstellung(SPEDITIONSBUCH, DY, notFound, art, PosAnzahl)
End Sub
Public Shared Sub TELOTECDatenbereitstellung(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As cTelotec_Anmeldung, ByVal notFound As Boolean, ByVal art As String, ByRef PosAnzahl As Integer)
Public Shared Sub TELOTECDatenbereitstellung(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As cTelotec_Anmeldung, ByRef notFound As Boolean, ByVal art As String, ByRef PosAnzahl As Integer)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
notFound = False
Select Case art
Case "EZA", "EUA" : TELOTECDatenbereitstellung_EZA(SPEDITIONSBUCH, DY, notFound, PosAnzahl)
Case "NCTS" : TELOTECDatenbereitstellung_NCTS(SPEDITIONSBUCH, DY, notFound, PosAnzahl)
Case Else : TELOTECDatenbereitstellung_NCTS(SPEDITIONSBUCH, DY, notFound, PosAnzahl)
End Select
'Personal Abfertigung:
@@ -747,7 +803,7 @@ Public Class cTelotec_Anmeldung
End Sub
Public Shared Sub TELOTECDatenbereitstellung_EZA(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As cTelotec_Anmeldung, ByVal notFound As Boolean, ByRef PosAnzahl As Integer)
Public Shared Sub TELOTECDatenbereitstellung_EZA(ByVal SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As cTelotec_Anmeldung, ByRef notFound As Boolean, ByRef PosAnzahl As Integer)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
notFound = False
@@ -898,7 +954,7 @@ Public Class cTelotec_Anmeldung
Return False
End Function
Public Shared Sub TELOTECDatenbereitstellung_NCTS(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As cTelotec_Anmeldung, ByVal notFound As Boolean, ByRef PosAnzahl As Integer)
Public Shared Sub TELOTECDatenbereitstellung_NCTS(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, DY As cTelotec_Anmeldung, ByRef notFound As Boolean, ByRef PosAnzahl As Integer)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
notFound = False
@@ -906,7 +962,7 @@ Public Class cTelotec_Anmeldung
Try
If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now 'CDate(DY.eza_Trans_DatumZeit).ToShortDateString
SPEDITIONSBUCH.Zollsystem_Land = "AT"
SPEDITIONSBUCH.Versendungsland = DY.Locs_Disp
SPEDITIONSBUCH.Bestimmungsland = DY.Locs_Dest
SPEDITIONSBUCH.LKW_Kennzeichen = DY.Transp_DepIdnt 'Transp_BordMo
@@ -981,8 +1037,8 @@ Public Class cTelotec_Anmeldung
'Personal Abfertigung:
Try
If DY.Represent_Na IsNot Nothing Then
Dim p = SQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE [mit_TELOTEC_SB]='" & DY.Represent_Na & "'", "ADMIN")
If If(DY.dec_CreatePersonalID, DY.Represent_Na) IsNot Nothing Then
Dim p = SQL.getValueTxtBySql("SELECT ISNULL(CASE WHEN [mit_FMZollPersIDKasseIsnotSpedBuch]=1 THEN [mit_FMZollPersIDSpedBuch] ELSE [mit_FMZollPersID] END ,-1) as [mit_FMZollPersID] FROM [ADMIN].[dbo].[tblMitarbeiter] WHERE [mit_TELOTEC_SB]='" & If(DY.dec_CreatePersonalID, DY.Represent_Na) & "'", "ADMIN")
SPEDITIONSBUCH.Personalnummer = If(IsNumeric(p), p, Nothing)
End If
Catch ex As Exception
@@ -1251,18 +1307,29 @@ Public Class cTelotec_Anmeldung
With msg
If .declarationContent IsNot Nothing Then
Dim decl = .declarationContent
telotec.initData()
telotec.telanm_ART = "TA"
telotec.telanm_BezugsNr = .lrn
telotec.telanm_CRN = .mrn
telotec.MsgType = .msgType
Select Case .msgType
Case "CC029C" : telotec.telanm_Status = "50"
'Case "CC045C" : telotec.status = "53"
Case "CC045C" : telotec.telanm_Status = "60"
End Select
telotec.telanm_Status_KEWILL_Equivalent = telotec.telanm_Status
telotec.Refs_LRN = .lrn
telotec.Refs_CRN = .mrn
telotec.Represent_Na = decl.erstellPersonalID
telotec.Mandant_ID = decl.mandant_ID
telotec.Referenz_ID = decl.interfaceReferenceId
telotec.dec_CreatePersonalID = decl.erstellPersonalID
telotec.dec_CreateDate = decl.erstellDatum
telotec.dec_CreateDate = decl.anmeldedatum
telotec.dec_Template_ID = decl.template_ID
telotec.dec_TotNet = decl.totNet
telotec.dec_TotNetSplit_IND = decl.totNetSplit_IND
@@ -1272,7 +1339,7 @@ Public Class cTelotec_Anmeldung
telotec.Hea_DecTy = decl.declarationType
telotec.Hea_Simp = decl.reducedDatasetIndicator
telotec.Hea_DecDT = decl.declarationAcceptanceDate
telotec.Hea_WoffD = decl.writeOffDate
telotec.Hea_WoffD = decl.writeOffDate 'Gestetellt am...
telotec.Hea_AccDT = decl.declarationAcceptanceDate
telotec.Hea_ProArrDT = decl.presentationOfTheGoodsDateAndTime
telotec.Hea_PlaDepDT = decl.presentationOfTheGoodsDateAndTime
@@ -1284,8 +1351,15 @@ Public Class cTelotec_Anmeldung
telotec.Transp_InMo = decl.inlandModeOfTransport
telotec.Transp_BordMo = decl.modeOfTransportAtTheBorder
telotec.Transp_ContInd = decl.containerIndicator
telotec.Transp_DepIdnt = SafeFirst(decl.departureTransportMeans, Function(dt) dt.identificationNumber)
telotec.Transp_DepNat = SafeFirst(decl.departureTransportMeans, Function(dt) dt.nationality)
If decl.activeBorderTransportMeans IsNot Nothing AndAlso decl.activeBorderTransportMeans.Count > 0 Then
telotec.Transp_CrossIdnt = decl.activeBorderTransportMeans(0).identificationNumber
telotec.Transp_CrossIdntNat = decl.activeBorderTransportMeans(0).nationality
telotec.Transp_DepIdnt = decl.activeBorderTransportMeans(0).identificationNumber
telotec.Transp_DepNat = decl.activeBorderTransportMeans(0).nationality
End If
' Consignor/Consignee
telotec.ConorTra_Na = SafeGetName(decl.consignor)
@@ -1302,13 +1376,41 @@ Public Class cTelotec_Anmeldung
telotec.ConeeTra_Ctry = decl.consignee?.country
telotec.ConeeTra_TIN = decl.consignee?.identificationNumber
telotec.Represent_Na = decl.representative?.contactPersonName
'telotec.Represent_Na = decl.representative?.contactPersonName
telotec.Represent_RIN = decl.representative?.identificationNumber
telotec.Locs_Disp = decl.countryOfDispatch
telotec.Locs_Dest = decl.countryOfDestination
telotec.Locs_GdsLoc = decl.locationOfGoods_PlaceOfGoods
telotec.Locs_GdsLocCd = decl.locationOfGoods_CustomsOffice
telotec.CtrlRslt_DLimit = decl.limitDate
If decl.guarantee IsNot Nothing Then
telotec.SICHERHEIT = New List(Of cTelotec_Sicherheit)
Dim TC_GRT As New cTelotec_Sicherheit()
TC_GRT.GVal = 0
TC_GRT.Mandant_ID = telotec.Mandant_ID
TC_GRT.Bereich_ID = If(telotec.Bereich_ID, "")
TC_GRT.Referenz_ID = If(telotec.Referenz_ID, "")
TC_GRT.ComIndicator = If(telotec.ComIndicator, "0")
For Each grt In decl.guarantee
TC_GRT.GrteeRef_GTy = grt.guaranteeType
For Each hc In grt.guaranteeReference
TC_GRT.GRN = hc.grn
TC_GRT.Curr = hc.currency
TC_GRT.Acc = hc.accessCode
TC_GRT.GVal += CDbl(hc.amountToBeCovered)
Next
telotec.SICHERHEIT.Add(TC_GRT)
Next
End If
' HouseConsignments inkl. ConsignmentItems und Packaging
'If decl.houseConsignment IsNot Nothing Then
@@ -1362,7 +1464,7 @@ Public Class cTelotec_Anmeldung
telotec.telanm_Erstellung_SB = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
telotec.telanm_LetzteBearbeitung_SB = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
telotec.ComIndicator = True
telotec.initData()
Return telotec
End Function

View File

@@ -3951,7 +3951,7 @@ Public Class usrctlProcedures
End Sub
Private Sub Button47_Click(sender As Object, e As EventArgs) Handles Button47.Click
cTelotecAPI.GET_ALL_TELO_Messages()
cTelotecAPI.GET_ALL_TELO_Messages(True)
'Company = "VERAG" = ATILLA
'For ii As Integer = 0 To 50
@@ -3981,7 +3981,7 @@ Public Class usrctlProcedures
If ofd.ShowDialog() = DialogResult.OK Then
Dim selectedPath As String = ofd.FileName
messages = TELO.ParseTAMessagesFromFile(selectedPath)
messages = TELO.ParseTAMessagesFromFile(selectedPath, True)
MsgBox("Anzahl: " & messages.Count)

File diff suppressed because it is too large Load Diff

View File

@@ -212,6 +212,102 @@
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox12.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox11.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox10.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox26.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -622,9 +718,6 @@
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="clmnMRN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="PictureBox18.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
@@ -721,102 +814,12 @@
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox12.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox11.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox10.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<data name="PictureBox9.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABGdBTUEAALGPC/xhBQAABGdJREFUSEtj
YKAyYOFk4Za0knSzzrXOd8x2jJeUlGRgZ2dHV0YFwMjAKKInomlUYJRl32e/wn+Z/0Gf2T4L9eP1rQRV
BQWZ2JnQdVAGBNQEFI2KjHLCj4Qfjz0f+zX+Uvz/iKMR9z2XeU7USdNxENYVFmZkYWRE10c2sGqyKgg/
FH4s7mLcPxAGWQhjR5+Pnm5Wa+bAxs/Ggq6PbODQ77Aw5mzMO5BF6DjuYtzDoB1BU5ynO9uh6yMZcIpy
Sin5KsX5rva9gMWiP3EX4354LPDYb9VkVWpSZmKIrp8kwMrDyifnLBcUtCPoYfSp6G9oln2PPh39InRf
6EXVYNUYLjEuCXT9JAMFT4UI5+nO22POxPyMuxD3F83CK/4b/CdoJ2hb8CnwiTIyM5Iff8yczNxSVlJu
Nm02i8P2h72EJRKwRRfifsScibnts9Kn0yjfyIZfkZ+bhZOFGd0MkgC7ALuIXppeDXq8xZ6L/Rl+MPyR
2xy3iXpperai+qLUyfG4LIw8GvnGY57HVnFDcTk2bjZ0beQBHikeeWV/5QTvpd4nI49FfoRZFnM+5rdd
j91KEV0REzY+Ng5GZgJ5nJmDmZtPgU9dwUPBUsZeRoNLgosNXRO7ILsIOKFMdd4adTzqE7Lv/Pf6b9JM
1wxB0YALgFIQrxyvmlacVrHfer/prnNccxW9FWXZBdhZGZCKQEENQUOzKrMpaKnxR9zFuOeWMyy9JDwl
WJHNxQk4xTilVAJVkkP2hjyLPhP9NvJE5C7PJZ7J4ibikqw8rPDkjMPCazEXYorkveWVWHiISPnMHMxc
qsGqKe7z3Q+Cy75LcSBDXkQcjdjuMMEhStJKUo6JlYmVlZdVQD9Lv8F3je9FeKq8EHvZf5N/j26Grg6P
LA8PutlYgYKbQqjzVOdtyK6GuvxD7IXYlea15v5ixmISXBJcsm5z3PZC5X7FXYx7Grg9cKpZlZkzuxA7
GxMrE4FUAgXIpTuahWDxmPMx011mudiiWQhyzBKzSjMvQQ1BXnQz8QJpG2lPZX/lKMs6y464i3H34y/F
g+syJIsfhh8KPw6yLPxQ+GuQWOSRyNc27Tbd0rbSZizcZJQibHxsvBImEsamFaaVrjNdNwXvDH6A7mMY
BlnqNtttj5yrXDAosaGbRTKQdZYNsOu2WxZ9MvpD3IW43/GX4hHl5MW4n75rfI/pZ+kXsouwC6HrJQuw
cLPwKngqeLvPc18adTLqRfyl+F9IFt73We0zQTdd14BdkIotI25JbgkZBxkHtVC1JLc5brtjz8f+jL0Q
+z1oZ9B6syqzaGEdYX5mdmYqt4qgQDVINcVjocfByBORr63brCulbaW10NVQHYibiNsHbQ+6L24q7oAu
RxPAxs8mJG4iDmp1USehIAMuLi4GeXl5NlNTU347OzsRe3t7UWRsZ2cnbG5uzicrK8vKxcVFXOmCD0hK
SjJ6enoK1NXVqU6aNMlg2rRpxsh48uTJus3NzYqurq68EhISJGd6ADkzAttxL7feAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="clmnMRN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="clmnMRN.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAAAAEAGAAoyAAAFgAAACgAAACAAAAAAAEAAAEAGAAAAAAAAMgAAMQOAADEDgAAAAAAAAAA

View File

@@ -7,11 +7,14 @@ Imports System.Text
Imports System.Xml
Imports com.sun.media.sound
Imports com.sun.org.apache.xerces.internal.impl.dv.xs
Imports DAKOSY_Worker
Imports MDM_Worker
Imports Org.BouncyCastle.Bcpg
Imports Renci.SshNet
Imports sun.java2d
Imports TELOTEC_Worker
Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.cTelotecAPI
Public Class frmStartOptions
Dim WithEvents timer As New Timer
@@ -6047,6 +6050,79 @@ weiter:
End Sub
Private Sub Button29_Click(sender As Object, e As EventArgs) Handles cboTCAPI_Files.Click
Dim TELO As New VERAG_PROG_ALLGEMEIN.cTelotecAPI
Dim ZOLLIMPORT As New DAKOSY_Worker.cZOLL_IMPORT
Dim messages As New List(Of TAMessage)()
Using ofd As New OpenFileDialog()
ofd.Title = "Wähle eine oder mehrere JSON-Dateien mit TA-Nachrichten"
ofd.InitialDirectory = "\\datenarchiv\Datenarchiv\TELOTEC\ECHTSYSTEM\Nachrichtendaten_Ablage_JSON\"
ofd.Filter = "JSON-Dateien (*.json)|*.json|Alle Dateien (*.*)|*.*"
ofd.Multiselect = True
If ofd.ShowDialog() = DialogResult.OK AndAlso ofd.FileNames IsNot Nothing AndAlso ofd.FileNames.Length > 0 Then
For Each selectedPath In ofd.FileNames
' Optional: kurze Info
Console.WriteLine($"📄 Verarbeite: {selectedPath}")
messages = TELO.ParseTAMessagesFromFile(selectedPath, cbxTCAnhEinlesen.Checked)
For Each msg In messages
Dim TELO_ANM = TELOTEC_Worker.cTelotec_Anmeldung.ConvertTAMessageToTelotec(msg)
If TELO_ANM.SAVE() Then
TELO_ANM.SAVE_ME_AKTUELLSTE_NACHRICHT()
' SpedBuch
ZOLLIMPORT.TelotecImport(TELO_ANM)
' Anhang
If cbxTCAnhEinlesen.Checked Then
SAVE_PDF(TELO_ANM, msg, cbxTCVB_Versand.Checked)
End If
End If
Next
Next
Else
Console.WriteLine("🔕 Keine Datei ausgewählt.")
End If
End Using
'Dim TELO As New VERAG_PROG_ALLGEMEIN.cTelotecAPI
'Dim ZOLLIMPORT As New DAKOSY_Worker.cZOLL_IMPORT
'Dim messages As New List(Of TAMessage)()
'Using ofd As New OpenFileDialog()
' ofd.Title = "Wähle eine JSON-Datei mit TA-Nachrichten"
' ofd.InitialDirectory = "\\datenarchiv\Datenarchiv\TELOTEC\ECHTSYSTEM\Nachrichtendaten_Ablage_JSON\"
' ofd.Filter = "JSON-Dateien (*.json)|*.json|Alle Dateien (*.*)|*.*"
' If ofd.ShowDialog() = DialogResult.OK Then
' Dim selectedPath As String = ofd.FileName
' messages = TELO.ParseTAMessagesFromFile(selectedPath, cbxTCAnhEinlesen.Checked)
' For Each msg In messages
' Dim TELO_ANM = TELOTEC_Worker.cTelotec_Anmeldung.ConvertTAMessageToTelotec(msg)
' If TELO_ANM.SAVE() Then
' TELO_ANM.SAVE_ME_AKTUELLSTE_NACHRICHT()
' ' OK
' 'SpedBuch
' ZOLLIMPORT.TelotecImport(TELO_ANM)
' 'ZOLLIMPORT.insertAbgabenTELOTEC(TC)
' 'Anhang
' If cbxTCAnhEinlesen.Checked Then SAVE_PDF(TELO_ANM, msg, cbxTCVB_Versand.Checked)
' End If
' Next
' Else
' Console.WriteLine("🔕 Keine Datei ausgewählt.")
' End If
'End Using
End Sub
@@ -6071,16 +6147,102 @@ weiter:
End Sub
Sub doTelotecAPIMulit(Firma)
Dim TELO As New VERAG_PROG_ALLGEMEIN.cTelotecAPI
Dim ZOLLIMPORT As New DAKOSY_Worker.cZOLL_IMPORT
For ii As Integer = 0 To 50
Dim messages As List(Of VERAG_PROG_ALLGEMEIN.cTelotecAPI.TAMessage) = TELO.GetTAMessages(Firma)
Dim messages As List(Of VERAG_PROG_ALLGEMEIN.cTelotecAPI.TAMessage) = TELO.GetTAMessages(Firma, True)
'Threading.Thread.Sleep(100) '
'convert
For Each msg In messages
' Dim cTelotec_Anmeldung = cTelotec_Anmeldung.ConvertTAMessageToTelotec(msg)
' -----------> HIER WEITERMACHEN!!!!
Dim TELO_ANM = TELOTEC_Worker.cTelotec_Anmeldung.ConvertTAMessageToTelotec(msg)
If TELO_ANM.SAVE() Then
TELO_ANM.SAVE_ME_AKTUELLSTE_NACHRICHT()
' OK
'SpedBuch
ZOLLIMPORT.TelotecImport(TELO_ANM)
'ZOLLIMPORT.insertAbgabenTELOTEC(TC)
'Anhang
SAVE_PDF(TELO_ANM, msg, True)
End If
Next
Next
End Sub
Public Function SAVE_PDF(TELO_ANM As TELOTEC_Worker.cTelotec_Anmeldung, msg As VERAG_PROG_ALLGEMEIN.cTelotecAPI.TAMessage, ZB_Versand As Boolean) As Boolean
'Case "TR109" 'VBD
If TELO_ANM.telanm_id >= 0 Then
With msg
If .declarationContent IsNot Nothing Then
Dim decl = .declarationContent
If decl.filePath <> "" Then
Dim frmStartOptions As New frmStartOptions
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim DS = New VERAG_PROG_ALLGEMEIN.cDATENSERVER("ZOLLDATEN", "VBD", TELO_ANM.telanm_id, "", "", TELO_ANM.Refs_LRN.ToString.Replace("/", "-").Replace(",", "-").Replace("\", "-").Replace(":", "."), 0, False)
DS.da_vorlage = False
Dim ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\VBD\NOT_IDENTIFIED\"
If IsNumeric(TELO_ANM.telanm_id) AndAlso TELO_ANM.telanm_id > 0 Then ZIEL_PFAD = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "TELOTEC\ECHTSYSTEM\ZOLLDATEN\VBD\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\"
If Not System.IO.Directory.Exists(ZIEL_PFAD) Then System.IO.Directory.CreateDirectory(ZIEL_PFAD)
Dim destFull = ""
frmStartOptions.moveFile(msg.declarationContent.filePath, ZIEL_PFAD, destFull)
If DS.insertDataToDATENSERVER(destFull) Then
If IsNumeric(TELO_ANM.telanm_id) AndAlso TELO_ANM.telanm_id > 0 Then
SQL.doSQL("UPDATE [tblTelotec_Anmeldung] SET [telanm_VBD_dsId]='" & DS.da_id & "' where telanm_CRN='" & TELO_ANM.Refs_CRN & "'", "FMZOLL")
SQL.doSQL("UPDATE Speditionsbuch SET DokumentId_VBD='" & DS.da_id & "' where AtlasBezNrNCTS='" & TELO_ANM.Refs_LRN.ToString.Trim & "' AND DokumentId_VBD is null", "FMZOLL") 'Falls Spedbuch schon zuvor generiert wurde!
If ZB_Versand Then
If DateDiff(DateInterval.Hour, TELO_ANM.dec_CreateDate, Now) < 24 Then frmStartOptions.doMailZollbeleg(DS.GET_TOP1_PATH, "VBD", TELO_ANM.telanm_id)
End If
End If
End If
End If
End If
End With
End If
End Function
Private Sub btnTesttc_Click(sender As Object, e As EventArgs) Handles btnTesttc.Click
Dim TELO As New VERAG_PROG_ALLGEMEIN.cTelotecAPI
Dim ZOLLIMPORT As New DAKOSY_Worker.cZOLL_IMPORT
Dim messages As New List(Of TAMessage)()
Using ofd As New OpenFileDialog()
ofd.Title = "Wähle eine oder mehrere JSON-Dateien mit TA-Nachrichten"
ofd.InitialDirectory = "\\datenarchiv\Datenarchiv\TELOTEC\ECHTSYSTEM\Nachrichtendaten_Ablage_JSON\"
ofd.Filter = "JSON-Dateien (*.json)|*.json|Alle Dateien (*.*)|*.*"
ofd.Multiselect = True
If ofd.ShowDialog() = DialogResult.OK AndAlso ofd.FileNames IsNot Nothing AndAlso ofd.FileNames.Length > 0 Then
For Each selectedPath In ofd.FileNames
' Optional: kurze Info
Console.WriteLine($"📄 Verarbeite: {selectedPath}")
messages = TELO.ParseTAMessagesFromFile(selectedPath, False)
For Each msg In messages
Dim TELO_ANM = TELOTEC_Worker.cTelotec_Anmeldung.ConvertTAMessageToTelotec(msg)
'TELOTEC_Worker.cTelotec_Anmeldung.Update_Anmeldedatum(TELO_ANM.Refs_LRN, TELO_ANM.dec_CreateDate)
If TELO_ANM.telanm_Status = 60 Then
TELOTEC_Worker.cTelotec_Anmeldung.Update_Status_LRN(TELO_ANM.Refs_LRN, TELO_ANM.telanm_Status)
End If
'UPDATE_Status
Next
Next
Else
Console.WriteLine("🔕 Keine Datei ausgewählt.")
End If
End Using
End Sub
End Class