This commit is contained in:
2023-09-24 23:03:25 +02:00
parent a9591ca6a7
commit 04664a652b
10 changed files with 1664 additions and 100 deletions

View File

@@ -3,6 +3,7 @@
Shared GLO_NCTS_DY As DAKOSY_Worker.cDakosyNCTSOut = Nothing
Shared GLO_NCTS004_DY As DAKOSY_Worker.cDakosyNCTSOut004 = Nothing
Shared GLO_DY As DAKOSY_Worker.cDakosy_Zollanmeldungen = Nothing
Shared GLO_NCTS_TC As TELOTEC_Worker.cTelotec_Anmeldung = Nothing
@@ -169,6 +170,138 @@
'End If
'Dim destFile = ""
'Dim filePath = ""
'Dim NCTS_VERAG_OUT As VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS.VERAG_out_ncts = Nothing
'' --> FTP Bereitstellung
'Select Case GRN
' Case "15TR0004000020917", "12TR0004000004665", "17TR0004000032349", "17TR0004000029518"
' NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY(NCTS_TMP, DY_TMP, filePath)
' If filePath = "" Then Return False
' frmStartOptions.copyFile(filePath, "\\ftps.verag.ag\FTP\TOBB\OUT\", destFile)
' If IO.File.Exists(destFile) Then insertFTPLOG(destFile, "TOBB", NCTS_VERAG_OUT) Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile & vbNewLine & NCTS_TMP.ncts_ObjectName, "", "copyFileFTP")
' Case "18DE0000000073276", "19DE0000000075520", "18DE0000000075520"
' NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY(NCTS_TMP, DY_TMP, filePath)
' If filePath = "" Then Return False
' frmStartOptions.copyFile(filePath, "\\ftps.verag.ag\FTP\OREGON\OUT\", destFile)
' If IO.File.Exists(destFile) Then insertFTPLOG(destFile, "OREGON", NCTS_VERAG_OUT) Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile & vbNewLine & NCTS_TMP.ncts_ObjectName, "", "copyFileFTP")
' Case "17DE0000000071678", "05AT510000G000FP7" 'VERAG
' NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY(NCTS_TMP, DY_TMP, filePath)
' If filePath = "" Then Return False
' frmStartOptions.copyFile(filePath, VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir() & "DAKOSY\ECHTSYSTEM\FTP\VERAG\", destFile)
' If IO.File.Exists(destFile) Then insertFTPLOG(destFile, "VERAG", NCTS_VERAG_OUT) Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile & vbNewLine & NCTS_TMP.ncts_ObjectName, "", "copyFileFTP")
'End Select
Return found
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & vbNewLine & "BezugsNr: " & NCTS_TMP.ncts_ObjectName, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Return False
End Try
End Function
Shared Function copyFileFTP_VERAGncts004_DY(NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, Optional checkAlreadyProvided As Boolean = True, Optional FilialenNrTmp As Object = Nothing, Optional AbfertigungsNrTmp As Object = Nothing) As Boolean
Try
If NCTS_TMP Is Nothing Then Return False
If NCTS_TMP.ncts_ObjectName Is Nothing Then Return False
If NCTS_TMP.ncts_ObjectName.ToString.StartsWith("DU") Then Return False
If If(NCTS_TMP.ncts_firma, "").ToString = "DURMAZ" Then Return False
GLO_NCTS004_DY = NCTS_TMP
GLO_DY = DY_TMP
GLO_SND = Nothing
GLO_AVISO = Nothing
If DY_TMP.dy_SendungsId IsNot Nothing AndAlso DY_TMP.dy_SendungsId > 0 Then
GLO_SND = New VERAG_PROG_ALLGEMEIN.cSendungen(DY_TMP.dy_SendungsId)
ElseIf FilialenNrTmp IsNot Nothing And AbfertigungsNrTmp IsNot Nothing Then
GLO_SND = VERAG_PROG_ALLGEMEIN.cSendungen.LOADByFilialenNrAbfertigungsNr(FilialenNrTmp, AbfertigungsNrTmp)
End If
If DY_TMP.dy_AvisoId IsNot Nothing AndAlso DY_TMP.dy_AvisoId > 0 Then
GLO_AVISO = VERAG_PROG_ALLGEMEIN.cAviso.getAvisoById(DY_TMP.dy_AvisoId)
ElseIf GLO_SND IsNot Nothing Then
GLO_AVISO = VERAG_PROG_ALLGEMEIN.cAviso.getAvisoById(GLO_SND.tblSnd_AvisoID)
End If
' Dim filePath = SQL.getValueTxtBySql("select [dySt_pfad] from [tblDakosy_Statusmeldungen] where dySt_BezugsNr='" & NCTS_TMP.ncts_ObjectName & "' and [dySt_status]=5 and [dySt_pfad] is not null ", "FMZOLL")
Dim GRN = ""
NCTS_TMP.LOAD_Guarantee()
If NCTS_TMP.ncts_GUARANTEE IsNot Nothing AndAlso NCTS_TMP.ncts_GUARANTEE.Count > 0 Then
GRN = NCTS_TMP.ncts_GUARANTEE(0).nctsGRT_GRN
End If
Dim destFile = ""
Dim filePath = ""
Dim UniqueId = ""
' --> FTP Bereitstellung
' Dim NCTS_VERAG_OUT As VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS.VERAG_out_ncts = Nothing
Dim found As Boolean = False
Dim vorsystem = "DY"
Dim IF_Obj As New List(Of cVERAG_InterfaceSharedObjects)
If getFTP_Paths(GRN, IF_Obj) Then
For Each o In IF_Obj
Select Case o.CooName
'Case "EKOL", "TOBB"
' 'Dim NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY_V2_0_1(NCTS_TMP, DY_TMP, UniqueId)
' 'copyNCTSToFTP_V2_0_1(NCTS_VERAG_OUT, o, vorsystem, filePath, destFile, UniqueId, checkAlreadyProvided, found)
' Dim NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY_V2_0_2(NCTS_TMP, DY_TMP, UniqueId)
' copyNCTSToFTP_V2_0_2(NCTS_VERAG_OUT, o, vorsystem, filePath, destFile, UniqueId, checkAlreadyProvided, found)
Case "GASTON_SCHUL"
Dim NCTS_VERAG_OUT = genVERAG_OUT_NCTS004_FromDAKOSY_V2_0_2(NCTS_TMP, DY_TMP, UniqueId)
Dim GASTON_SCHUL_EX As New VERAG_PROG_ALLGEMEIN.agsCustomsExchange.exchangeRequestType
GASTON_SCHUL_EX.requestDateTime = Now
GASTON_SCHUL_EX.creationDateTime = NCTS_VERAG_OUT.NCTS_Data.DatDeterminationLimit
GASTON_SCHUL_EX.movementReferenceNumber = NCTS_VERAG_OUT.ProcessData.MRN
GASTON_SCHUL_EX.dispatchCountry = NCTS_VERAG_OUT.NCTS_Data.DepartureCountry
GASTON_SCHUL_EX.destinationCountry = NCTS_VERAG_OUT.NCTS_Data.DestinationCountry
'filePath???
cGASTON_SCHUL_Interface.copyNCTSToFTP_V1_0_0(GASTON_SCHUL_EX, o, vorsystem, "", destFile, UniqueId, checkAlreadyProvided, found)
Case "TOBB"
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("KONTROLLE --------- TOBB: BezugsNr: " & NCTS_TMP.ncts_ObjectName, "", System.Reflection.MethodInfo.GetCurrentMethod.Name, , "BezugsNr: " & NCTS_TMP.ncts_ObjectName & " (DAKOSY)")
'Wenn TOBB, nur mit KDNR:
If getTOBBKdnr() > 0 Then
Dim NCTS_VERAG_OUT = genVERAG_OUT_NCTS004_FromDAKOSY_V2_0_2(NCTS_TMP, DY_TMP, UniqueId, getTOBBKdnr)
If NCTS_VERAG_OUT IsNot Nothing Then copyNCTSToFTP_V2_0_2(NCTS_VERAG_OUT, o, vorsystem, filePath, destFile, UniqueId, checkAlreadyProvided, found)
Else
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("TOBB: KEINE KDNR | BezugsNr: " & NCTS_TMP.ncts_ObjectName & vbNewLine & getTOBBDetails(), "", System.Reflection.MethodInfo.GetCurrentMethod.Name, , "BezugsNr: " & NCTS_TMP.ncts_ObjectName & " (DAKOSY)")
End If
Case Else
Dim NCTS_VERAG_OUT = genVERAG_OUT_NCTS004_FromDAKOSY_V2_0_2(NCTS_TMP, DY_TMP, UniqueId)
If NCTS_VERAG_OUT IsNot Nothing Then copyNCTSToFTP_V2_0_2(NCTS_VERAG_OUT, o, vorsystem, filePath, destFile, UniqueId, checkAlreadyProvided, found)
'Dim NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY(NCTS_TMP, DY_TMP, UniqueId)
'copyNCTSToFTP(NCTS_VERAG_OUT, o, vorsystem, filePath, destFile, UniqueId, checkAlreadyProvided, found)
End Select
Next
End If
'If getFTP_Paths(GRN, IF_Obj) Then
' NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY(NCTS_TMP, DY_TMP, UniqueId)
' copyNCTSToFTP(NCTS_VERAG_OUT, IF_Obj, vorsystem, filePath, destFile, UniqueId, checkAlreadyProvided)
'End If
'Dim vorsystem = "DY"
'Dim IF_Obj As New List(Of cVERAG_InterfaceSharedObjects)
'If getFTP_Paths(GRN, IF_Obj) Then
' NCTS_VERAG_OUT = genVERAG_OUT_NCTS_FromDAKOSY(NCTS_TMP, DY_TMP, UniqueId)
' For Each o In IF_Obj
' If NCTS_VERAG_OUT IsNot Nothing AndAlso Not alreadyProvidedInInterface(NCTS_VERAG_OUT, vorsystem, checkAlreadyProvided) Then
' If genXMLFile(NCTS_VERAG_OUT, filePath, vorsystem, UniqueId) <> "" Then
' frmStartOptions.copyFile(filePath, o.FTP_Path, destFile)
' If IO.File.Exists(destFile) Then insertFTPLOG(destFile, o.CooName, NCTS_VERAG_OUT, vorsystem) Else VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datei existiert nicht: " & destFile, "", "copyFileFTP")
' End If
' End If
' Next
'End If
'Dim destFile = ""
'Dim filePath = ""
'Dim NCTS_VERAG_OUT As VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS.VERAG_out_ncts = Nothing
@@ -1271,6 +1404,152 @@
End Function
Shared Function genVERAG_OUT_NCTS004_FromDAKOSY_V2_0_2(NCTS_TMP As DAKOSY_Worker.cDakosyNCTSOut004, DY_TMP As DAKOSY_Worker.cDakosy_Zollanmeldungen, ByRef UniqueId As String, Optional ClientReference As String = "") As VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS_V2_0_2.VERAG_out_ncts
Dim VERAG_NCTS As New VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS_V2_0_2.VERAG_out_ncts
Try
If DY_TMP Is Nothing Then Return Nothing
If NCTS_TMP Is Nothing Then Return Nothing
If NCTS_TMP.ncts_ObjectName Is Nothing Then Return Nothing
NCTS_TMP.LOAD_HouseConsignment()
VERAG_NCTS.Version = "2.0.2" ' Automaitsch, weil default ' doch nicht?
If NCTS_TMP.ncts_firma <> "" Then
VERAG_NCTS.Company = NCTS_TMP.ncts_firma
Else
VERAG_NCTS.Company = "VERAG"
End If
' If VERAG_NCTS.Company = "UNISPED" Then Return Nothing ' ---> KEIN UNISPED, erst klären!!!!!!!
VERAG_NCTS.Department = NCTS_TMP.ncts_niederlassung
'VERAG_NCTS.InternalReference.OfficeCode = If(
'VERAG_NCTS.InternalReference.PositionNumber = NCTS_TMP.ncts_niederlassung
Select Case DY_TMP.dy_Status
Case < 50
VERAG_NCTS.ProcessData.Status = 0
Case 50, 53
VERAG_NCTS.ProcessData.Status = 50
Case 60
VERAG_NCTS.ProcessData.Status = 60
End Select
VERAG_NCTS.ProcessData.TransactionDate = NCTS_TMP.ncts_Trans_DatumZeit
VERAG_NCTS.ProcessData.MRN = If(NCTS_TMP.ncts_MRN, "")
VERAG_NCTS.ProcessData.ReferenzNumber = If(NCTS_TMP.ncts_ObjectName, "")
VERAG_NCTS.ProcessData.ProcedureCode = If(NCTS_TMP.ncts_Declarationtype, "")
If IsDate(If(NCTS_TMP.ncts_LimitDate, "")) Then VERAG_NCTS.NCTS_Data.DatDeterminationLimit = CDate(If(NCTS_TMP.ncts_LimitDate, ""))
VERAG_NCTS.NCTS_Data.LicensePlate = If(NCTS_TMP.ncts_ActiveBorderTransportMeans_1_IdentificationNumber, "")
VERAG_NCTS.NCTS_Data.DepartureCustomsOffice = If(NCTS_TMP.ncts_CustomsOfficeOfDeparture, "")
VERAG_NCTS.NCTS_Data.DestinationCustomsOffice = If(NCTS_TMP.ncts_CustomsOfficeOfDestinationDeclared, "")
VERAG_NCTS.NCTS_Data.DepartureCountry = If(NCTS_TMP.ncts_CountryOfDispatch, "").Replace("SRB", "RS")
VERAG_NCTS.NCTS_Data.DestinationCountry = If(NCTS_TMP.ncts_CountryOfDestination, "").Replace("SRB", "RS")
'Versender
VERAG_NCTS.NCTS_Data.Sender.Name = If(NCTS_TMP.ncts_Consignor_Name, "")
VERAG_NCTS.NCTS_Data.Sender.EORI = If(NCTS_TMP.ncts_Consignor_IdentificationNumber, "")
VERAG_NCTS.NCTS_Data.Sender.EORI_NL = If(NCTS_TMP.ncts_Consignor_SubsidiaryNumber, "")
'VERAG_NCTS.NCTS_Data.Sender.UID_Nr = If(NCTS_TMP.vers, "")
VERAG_NCTS.NCTS_Data.Sender.Adress.Country = If(NCTS_TMP.ncts_Consignor_Country, "").Replace("SRB", "RS")
VERAG_NCTS.NCTS_Data.Sender.Adress.Postcode = If(NCTS_TMP.ncts_Consignor_Postcode, "")
VERAG_NCTS.NCTS_Data.Sender.Adress.Street = If(NCTS_TMP.ncts_Consignor_StreetNumber, "")
VERAG_NCTS.NCTS_Data.Sender.Adress.City = If(NCTS_TMP.ncts_Consignor_City, "")
'Empfänger
VERAG_NCTS.NCTS_Data.Consignee.Name = If(NCTS_TMP.ncts_Consignee_Name, "")
VERAG_NCTS.NCTS_Data.Consignee.EORI = If(NCTS_TMP.ncts_Consignee_IdentificationNumber, "")
VERAG_NCTS.NCTS_Data.Consignee.EORI_NL = If(NCTS_TMP.ncts_Consignee_SubsidiaryNumber, "")
'VERAG_NCTS.NCTS_Data.consignee.UID_Nr = If(NCTS_TMP.vers, "")
VERAG_NCTS.NCTS_Data.Consignee.Adress.Country = If(NCTS_TMP.ncts_Consignee_Country, "").Replace("SRB", "RS")
VERAG_NCTS.NCTS_Data.Consignee.Adress.Postcode = If(NCTS_TMP.ncts_Consignee_Postcode, "")
VERAG_NCTS.NCTS_Data.Consignee.Adress.Street = If(NCTS_TMP.ncts_Consignee_StreetNumber, "")
VERAG_NCTS.NCTS_Data.Consignee.Adress.City = If(NCTS_TMP.ncts_Consignee_City, "")
'Frächter
Dim FRAECHTER_KDNR = getFraechterKdnr()
If FRAECHTER_KDNR > 0 Then
Dim AD = New VERAG_PROG_ALLGEMEIN.cAdressen(FRAECHTER_KDNR)
Dim KD = New VERAG_PROG_ALLGEMEIN.cKunde(FRAECHTER_KDNR)
VERAG_NCTS.NCTS_Data.Carrier.Name = If(AD.Name_1, "")
VERAG_NCTS.NCTS_Data.Carrier.EORI = If(KD.EORITIN, "")
VERAG_NCTS.NCTS_Data.Carrier.EORI_NL = If(KD.EORITIN_NL, "")
VERAG_NCTS.NCTS_Data.Carrier.UID_Nr = If(AD.UstIdKz, "") & If(AD.UstIdNr, "")
VERAG_NCTS.NCTS_Data.Carrier.Adress.Country = If(AD.LandKz, "").replace("SRB", "RS")
VERAG_NCTS.NCTS_Data.Carrier.Adress.Postcode = If(AD.PLZ, "")
VERAG_NCTS.NCTS_Data.Carrier.Adress.Street = If(AD.Straße, "")
VERAG_NCTS.NCTS_Data.Carrier.Adress.City = If(AD.Ort, "")
VERAG_NCTS.NCTS_Data.Carrier.CustomerCode = FRAECHTER_KDNR
Else
VERAG_NCTS.NCTS_Data.Carrier.Name = If(NCTS_TMP.ncts_Carrier_ContactPerson_Name, "")
VERAG_NCTS.NCTS_Data.Carrier.EORI = If(NCTS_TMP.ncts_Carrier_IdentificationNumber, "")
VERAG_NCTS.NCTS_Data.Carrier.EORI_NL = If(NCTS_TMP.ncts_Carrier_SubsidiaryNumber, "")
'VERAG_NCTS.NCTS_Data.Carrier.UID_Nr = If(NCTS_TMP.vers, "")
' VERAG_NCTS.NCTS_Data.Carrier.Adress.Country = If(NCTS_TMP.ncts_Carrier_, "").Replace("SRB", "RS")
'VERAG_NCTS.NCTS_Data.Carrier.Adress.Postcode = If(NCTS_TMP.ncts_SumA_Befoerderer_PLZ, "")
'VERAG_NCTS.NCTS_Data.Carrier.Adress.Street = If(NCTS_TMP.ncts_SumA_Befoerderer_StrasseHausnummer, "")
'VERAG_NCTS.NCTS_Data.Carrier.Adress.City = If(NCTS_TMP.ncts_SumA_Befoerderer_Ort, "")
End If
If ClientReference <> "" Then
VERAG_NCTS.ClientReference = ClientReference
Else
Dim AVISIERER_KDNR = getAvisiererKdnr()
If AVISIERER_KDNR > 0 Then
VERAG_NCTS.ClientReference = AVISIERER_KDNR
Else
VERAG_NCTS.ClientReference = ""
End If
End If
If NCTS_TMP.ncts_GUARANTEE IsNot Nothing AndAlso NCTS_TMP.ncts_GUARANTEE.Count > 0 Then
VERAG_NCTS.NCTS_Data.Guarantee.GRN = If(NCTS_TMP.ncts_GUARANTEE(0).nctsGRT_GRN, "")
VERAG_NCTS.NCTS_Data.Guarantee.Amount = If(NCTS_TMP.ncts_GUARANTEE(0).nctsGRT_AmountToBeCovered, "0")
End If
VERAG_NCTS.NCTS_Data.SumGrossWeight = If(NCTS_TMP.ncts_GrossMass, "0")
Dim cntPos = 1
If NCTS_TMP.ncts_HOUSE_CONSIGNMENT IsNot Nothing Then
For Each HC In NCTS_TMP.ncts_HOUSE_CONSIGNMENT
For Each POS In HC.nctsWP_CONSIGNMENT_ITEM
Dim V_POS As New VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS_V2_0_2.VERAG_out_nctsNCTS_DataPosition
V_POS.PosNr = cntPos
Dim pkGes = 0
Dim pkArt = ""
If POS.nctsHCCI_PACKAGING IsNot Nothing Then
For Each PK In POS.nctsHCCI_PACKAGING
If PK.nctsHCCIPK_NumberOfPackages IsNot Nothing Then pkGes += PK.nctsHCCIPK_NumberOfPackages
If PK.nctsHCCIPK_TypeOfPackages IsNot Nothing Then pkArt = PK.nctsHCCIPK_TypeOfPackages
Next
End If
V_POS.Quantity = pkGes
V_POS.Packaging = pkArt
V_POS.GrossWeight = POS.nctsHCCI_GrossMass
V_POS.GoodsDescription = POS.nctsHCCI_DescriptionOfGoods
VERAG_NCTS.NCTS_Data.Position.Add(V_POS)
cntPos += 1
Next
Next
End If
UniqueId = DY_TMP.dy_Id
'VERAG_NCTS.SaveToFile(XMLFilePath)
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & vbNewLine & "BezugsNr: " & NCTS_TMP.ncts_ObjectName, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Return Nothing
End Try
Return VERAG_NCTS
End Function
Shared Function genVERAG_OUT_NCTS_FromEZOLLByLRN(LRN As String, ByRef UniqueId As String) As VERAG_PROG_ALLGEMEIN.VERAG_OUT_NCTS.VERAG_out_ncts
Dim dEZOLL As DataTable = SQL.loadDgvBySql("SELECT LizenzNr, OperatorID, VorgangID, AnmID, GeaendertAm, GeaendertVon, CRN, LRN" &