This commit is contained in:
2020-01-08 13:18:12 +01:00
parent de1d935624
commit a6964d7082
28 changed files with 3853 additions and 1086 deletions

View File

@@ -430,13 +430,13 @@ Public Class cDakosyEZA
End Try
Return LOADByAnmID
End Function
Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean) As cDakosyEZA
Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False) As cDakosyEZA
Try
Dim EZA As New cDakosyEZA
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EZA WHERE eza_ObjectName=@bezugsNr ", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EZA WHERE eza_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND eza_status BETWEEN 40 and 90 ", "") & " order by eza_LetzteBearbeitung desc ", conn)
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
@@ -448,8 +448,8 @@ Public Class cDakosyEZA
Else
propInfo.SetValue(EZA, dr.Item(l.Text))
End If
Next
If loadALL Then
EZA.LOAD_Unterlagen()
EZA.LOAD_Warenposition()
@@ -912,6 +912,10 @@ Public Class cDakosyEZA
Dim filiale = getFiliale(Me.eza_ObjectName, filialeBez)
Dim abfertigungsnummer = getAbfertigungsnummer(Me.eza_ObjectName)
If abfertigungsnummer = "" Then
getFilialeAbfertigungsnummerFromSendung(filiale, abfertigungsnummer, DY.dy_SendungsId)
End If
If filiale <> "" And abfertigungsnummer <> "" Then
If countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) = 0 Then
' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("HEUREKA EZA ", "" & Me.eza_ObjectName, Now.ToString("yyyy.MM.dd HH:mm"), "al@verag.ag", "")
@@ -968,6 +972,10 @@ Public Class cDakosyEZA
Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5501", "5601", "5701", "5801" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case Else
If IsNumeric(bezugsNr.ToString.Substring(0, 4)) Then Return bezugsNr.ToString.Substring(0, 4)
'Case "4801", "4803", "4805", "4807", "4811", "5003", "5103", "5303" : Return bezugsNr.ToString.Substring(0, 4) ...... derzeit nur 4803
'filialeBez SUB, NKD, WAI,.-..
End Select
@@ -996,6 +1004,17 @@ Public Class cDakosyEZA
End If
Return ""
End Function
Sub getFilialeAbfertigungsnummerFromSendung(ByRef filiale, ByRef abfertigungsnummer, dy_SendungsId)
If dy_SendungsId IsNot Nothing AndAlso IsNumeric(dy_SendungsId) Then
Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(dy_SendungsId)
If SND IsNot Nothing Then
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
End If
End If
End Sub
Public Shared Sub DakosyEZADatenbereitstellung(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, EZA_Nr As String, ByRef notFound As Boolean, ByRef PosAnzahl As Integer)
Dim DY As DAKOSY_Worker.cDakosyEZA = DAKOSY_Worker.cDakosyEZA.LOADByBezugsNr(EZA_Nr, True)
If DY Is Nothing Then
@@ -1280,6 +1299,7 @@ Public Class cDakosy_EZA_Aufschub
Property ezaAfb_ArtAufschubantrag As Object = Nothing
Property ezaAfb_AufschubnehmerEORI As Object = Nothing
Property ezaAfb_KontoNr As Object = Nothing
Property ezaAfb_HZA As Object = Nothing
Property ezaAfb_AufschuBIN As Object = Nothing
'Public selButton As Object = Nothing ' Für die GUI
@@ -1305,6 +1325,7 @@ Public Class cDakosy_EZA_Aufschub
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_AufschubnehmerEORI", ezaAfb_AufschubnehmerEORI))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_KontoNr", ezaAfb_KontoNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_AufschuBIN", ezaAfb_AufschuBIN))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ezaAfb_HZA", ezaAfb_HZA))
Return list
End Function

View File

@@ -499,13 +499,13 @@ Public Class cDakosyNCTSOut
End Try
Return LOADByAnmID
End Function
Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean) As cDakosyNCTSOut
Shared Function LOADByBezugsNr(bezugsNr As String, loadALL As Boolean, Optional checkValidStatus As Boolean = False) As cDakosyNCTSOut
Try
Dim NCTS As New cDakosyNCTSOut
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_NCTSOut WHERE ncts_ObjectName=@bezugsNr ", conn)
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_NCTSOut WHERE ncts_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND ncts_status BETWEEN 40 and 90 ", "") & " order by ncts_LetzteBearbeitung desc", conn)
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
@@ -761,6 +761,11 @@ Public Class cDakosyNCTSOut
Dim filialeBez = ""
Dim filiale = getFiliale(Me.ncts_ObjectName, filialeBez)
Dim abfertigungsnummer = getAbfertigungsnummer(Me.ncts_ObjectName)
If abfertigungsnummer = "" Then
getFilialeAbfertigungsnummerFromSendung(filiale, abfertigungsnummer, DY.dy_SendungsId)
End If
If filiale <> "" And abfertigungsnummer <> "" Then
' If countSpedbuchEntrysFilialeAbf(filiale, abfertigungsnummer) = 0 Then
If countSpedbuchEntrys(filiale, Me.ncts_ObjectName) = 0 Then
@@ -815,6 +820,9 @@ Public Class cDakosyNCTSOut
Case "5003" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5103" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5303" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case "5501", "5601", "5701", "5801" : Return bezugsNr.ToString.Substring(0, 4) '...... derzeit nur 4803
Case Else
If IsNumeric(bezugsNr.ToString.Substring(0, 4)) Then Return bezugsNr.ToString.Substring(0, 4) 'Case Else : 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,.-..
End Select
@@ -831,7 +839,7 @@ Public Class cDakosyNCTSOut
If Not IsNumeric(s) Then Exit For
abf &= s
Next
If IsNumeric(abf) Then
If CLng(abf) < 99000000 Then ' wenn zu groß, fehlerhaft
@@ -845,6 +853,16 @@ Public Class cDakosyNCTSOut
End If
Return ""
End Function
Sub getFilialeAbfertigungsnummerFromSendung(ByRef filiale, ByRef abfertigungsnummer, dy_SendungsId)
If dy_SendungsId IsNot Nothing AndAlso IsNumeric(dy_SendungsId) Then
Dim SND As New VERAG_PROG_ALLGEMEIN.cSendungen(dy_SendungsId)
If SND IsNot Nothing Then
If SND.FilialenNr > 0 Then filiale = SND.FilialenNr
If SND.AbfertigungsNr > 0 Then abfertigungsnummer = SND.AbfertigungsNr
End If
End If
End Sub
Public Shared Sub DakosyNCTSDatenbereitstellung(ByRef SPEDITIONSBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, NCTS_Nr As String, ByRef notFound As Boolean)
Dim DY As DAKOSY_Worker.cDakosyNCTSOut = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(NCTS_Nr, True)

View File

@@ -101,20 +101,28 @@ Public Class cDakosy_Zollanmeldungen
' ElseIf Then
' srchStrAbf = split(X)
Else
Return False
' Return False
End If
End If
If Not IsNumeric(srchStrFiliale) Or Not IsNumeric(srchStrAbf) Then Return False
If srchStrFiliale.Length <> 4 Then Return False
'If srchStrAbf.Length > 8 Then srchStrAbf = srchStrAbf.Substring(0, 8)
If srchStrAbf.Length < 8 Then srchStrAbf = Me.dy_Erstellung.ToString("yy") & CInt(srchStrAbf).ToString("000000")
If IsNumeric(srchStrFiliale) AndAlso IsNumeric(srchStrAbf) AndAlso srchStrFiliale.Length = 4 Then
'If srchStrAbf.Length > 8 Then srchStrAbf = srchStrAbf.Substring(0, 8)
If srchStrAbf.Length < 8 Then srchStrAbf = Me.dy_Erstellung.ToString("yy") & CInt(srchStrAbf).ToString("000000")
Dim sqlstr = " select [tblSnd_SendungID],[tblSnd_AvisoID] FROM [tblSendungen] where '" & srchStrAbf & "' like ('%' + cast(AbfertigungsNr as varchar(10))+ '%') and FilialenNr ='" & srchStrFiliale & "' and AbfertigungsNr >0"
Dim sqlstr = " select [tblSnd_SendungID],[tblSnd_AvisoID] FROM [tblSendungen] where '" & srchStrAbf & "' like ('%' + cast(AbfertigungsNr as varchar(10))+ '%') and FilialenNr ='" & srchStrFiliale & "' and AbfertigungsNr >0"
Dim dt2 As DataTable = SQL.loadDgvBySql(sqlstr, "AVISO")
If dt2 IsNot Nothing AndAlso dt2.Rows.Count > 0 Then
Me.dy_SendungsId = dt2.Rows(0)("tblSnd_SendungID")
Me.dy_AvisoId = dt2.Rows(0)("tblSnd_AvisoID")
Return True
End If
End If
Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "AVISO")
'UNISPED:
Dim sqlstr2 = " select [tblSnd_SendungID],[tblSnd_AvisoID] FROM [tblSendungen] where '" & Me.dy_BezugsNr & "' like ( cast(tblSnd_DakosyRef as varchar(20))+ '%') AND tblSnd_DakosyRef is not null AND len(tblSnd_DakosyRef) > 10 "
Dim dt = SQL.loadDgvBySql(sqlstr2, "AVISO")
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
Me.dy_SendungsId = dt.Rows(0)("tblSnd_SendungID")
Me.dy_AvisoId = dt.Rows(0)("tblSnd_AvisoID")

View File

@@ -125,6 +125,7 @@
<Compile Include="Form.vb" />
<Compile Include="Forms.vb" />
<Compile Include="KD_EXPORT\KundenExport\VERAG_KundenStamm_Export.Designer.vb" />
<Compile Include="KD_EXPORT\KundenExport\VERAG_KundenStamm_Export_V2.Designer.vb" />
<Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen>
@@ -277,6 +278,9 @@
<None Include="KD_EXPORT\KundenExport\VERAG_KundenStamm_Export.xsd">
<SubType>Designer</SubType>
</None>
<None Include="KD_EXPORT\KundenExport\VERAG_KundenStamm_Export_V2.xsd">
<SubType>Designer</SubType>
</None>
<None Include="My Project\Application.myapp">
<Generator>MyApplicationCodeGenerator</Generator>
<LastGenOutput>Application.Designer.vb</LastGenOutput>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Mit XMLSpy v2017 rel. 3 sp1 (x64) (http://www.altova.com) von Andreas Luxbauer (VERAG Spedition AG) bearbeitet -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" elementFormDefault="qualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
<xs:element name="VERAG_Kundenstamm_IMPORT">
<xs:complexType>
<xs:sequence>
<xs:element name="Transaktion">
<xs:complexType>
<xs:sequence>
<xs:element name="Version"/>
<xs:element name="IOPartner"/>
<xs:element name="IODivision1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="KundenDaten" maxOccurs="999">
<xs:complexType>
<xs:sequence>
<xs:element name="KundenNr"/>
<xs:element name="EORI"/>
<xs:element name="EORI_Niederlassung"/>
<xs:element name="Kurzname"/>
<xs:element name="Name1"/>
<xs:element name="Name2" minOccurs="0"/>
<xs:element name="UID_Nr" minOccurs="0"/>
<xs:sequence id="Adresse">
<xs:element name="Adresse" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="LandKz" minOccurs="0"/>
<xs:element name="Plz" minOccurs="0"/>
<xs:element name="Ort" minOccurs="0"/>
<xs:element name="Strasse" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence id="Kontakt">
<xs:element name="Kontakt" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="EMail" minOccurs="0"/>
<xs:element name="Tel" minOccurs="0"/>
<xs:element name="Fax" minOccurs="0"/>
<xs:element name="Ansprechpartner" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:sequence>
<xs:element name="Aufschubkonten" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Aufschub" minOccurs="0" maxOccurs="2">
<xs:complexType>
<xs:sequence>
<xs:element name="Art">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="10"/>
<xs:enumeration value="15"/>
<xs:enumeration value="20"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Hauptzollamt">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="KontoNr"/>
<xs:element name="BIN"/>
<xs:element name="EORI"/>
<xs:element name="EORI_Niederlassung"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:element name="Dakosy_Mandant"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

View File

@@ -19,8 +19,9 @@ Public Class cDakosyFunftions
Dim DY_pwd = ""
Dim DY_port = ""
Dim DY_PFAD_IN = ""
Dim DY_PFAD_IN_KD = ""
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "")
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "", DY_PFAD_IN_KD)
Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd))
Using client = New SftpClient(ConnectionInfo)
@@ -72,15 +73,17 @@ Public Class cDakosyFunftions
Dim DY_pwd = ""
Dim DY_port = ""
Dim DY_PFAD_IN = ""
Dim DY_PFAD_IN_KD = ""
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "")
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "" Then VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
getSFTPLoginData(DY_server, DY_name, DY_pwd, DY_port, DY_PFAD_IN, "", DY_PFAD_IN_KD)
Dim ConnectionInfo As New ConnectionInfo(DY_server, DY_port, DY_name, New PasswordAuthenticationMethod(DY_name, DY_pwd))
Using client = New SftpClient(ConnectionInfo)
client.Connect()
'client.Create(file, file)
If misc Then
client.ChangeDirectory(DY_PFAD_IN.Replace("gebox", "misc"))
client.ChangeDirectory(DY_PFAD_IN_KD) 'DY_PFAD_IN.Replace("gebox", "misc"))
Else
client.ChangeDirectory(DY_PFAD_IN)
End If
@@ -107,21 +110,31 @@ Public Class cDakosyFunftions
End Function
Shared Sub getSFTPLoginData(ByRef DY_server, ByRef DY_name, ByRef DY_pwd, ByRef DY_port, ByRef DY_PFAD_IN, ByRef DY_PFAD_OUT)
Shared Sub getSFTPLoginData(ByRef DY_server, ByRef DY_name, ByRef DY_pwd, ByRef DY_port, ByRef DY_PFAD_IN, ByRef DY_PFAD_OUT, ByRef DY_PFAD_IN_KD)
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
DY_server = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_SERVER", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_name = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_NAME", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_pwd = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_PASSWORD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_port = cDY_Paramter.GET_PARAM_ByName("FTP_TEST_PORT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_IN = "in/test/gebox/"
DY_PFAD_OUT = "out/test/"
DY_PFAD_IN = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_OUT = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_OUT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If DY_PFAD_IN = "" Then DY_PFAD_IN = "in/test/gebox/"
If DY_PFAD_OUT = "" Then DY_PFAD_OUT = "out/test/"
DY_PFAD_IN_KD = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN_KD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
Else
DY_server = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_SERVER", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_name = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_NAME", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_pwd = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_PASSWORD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_port = cDY_Paramter.GET_PARAM_ByName("FTP_PROD_PORT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_IN = "in/prod/gebox/"
DY_PFAD_OUT = "out/prod/"
DY_PFAD_IN = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
DY_PFAD_OUT = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_OUT", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
If DY_PFAD_IN = "" Then DY_PFAD_IN = "in/prod/gebox/"
If DY_PFAD_OUT = "" Then DY_PFAD_OUT = "out/prod/"
DY_PFAD_IN_KD = cDY_Paramter.GET_PARAM_ByName("DY_PFAD_IN_KD", VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM)
End If
End Sub
@@ -162,7 +175,14 @@ Public Class cDakosyFunftions
End Function
Shared Function sendData(Optional defaultFolder As String = "", Optional Dakosy_Mandant As String = "VERG")
Shared Function sendData(Optional defaultFolder As String = "") ', Optional Dakosy_Mandant As String = "VERG")
Dim Dakosy_Mandant = "VERG"
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "UNISPED" : Dakosy_Mandant = "UNAT"
'Case Else
' Dakosy_Mandant = "VERG"
End Select
Dim dt = DAKOSY_Worker.cDakosyFunftions.getKDData
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
@@ -179,7 +199,14 @@ Public Class cDakosyFunftions
Return False
End Function
Shared Function sendDataByKdNr(KdNr As Integer, Optional defaultFolder As String = "", Optional Dakosy_Mandant As String = "VERG")
Shared Function sendDataByKdNr(KdNr As Integer, Optional defaultFolder As String = "") ', Optional Dakosy_Mandant As String = "VERG")
Dim Dakosy_Mandant = "VERG"
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "UNISPED" : Dakosy_Mandant = "UNAT"
'Case Else
' Dakosy_Mandant = "VERG"
End Select
If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "IMEX" Then
MsgBox("Übertrag derzeit nicht möglich!")
Return False
@@ -219,6 +246,14 @@ Public Class cDakosyFunftions
End Function
Shared Function generateVERAGKdData(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean
Select Case Dakosy_Mandant
Case "UNAT" : Return generateVERAGKdData_V2(dt, path, saveFile, Dakosy_Mandant)
Case Else : Return generateVERAGKdData_V1(dt, path, saveFile, Dakosy_Mandant)
End Select
End Function
Shared Function generateVERAGKdData_V1(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean
Try
Dim Interface_VERSION = "003"
@@ -314,4 +349,113 @@ Public Class cDakosyFunftions
End Function
Shared Function generateVERAGKdData_V2(dt As DataTable, path As String, ByRef saveFile As String, Optional Dakosy_Mandant As String = "VERG") As Boolean
Try
'Dim Interface_VERSION = "003"
Dim XML As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORT
Dim TRANS As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTTransaktion
TRANS.Version = "002"
TRANS.IOPartner = Dakosy_Mandant
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Case "IMEX" : TRANS.IODivision1 = "IMEX"
Case "UNISPED" : TRANS.IODivision1 = "UNAT" : TRANS.IOPartner = "UNAT"
Case "ATILLA" : TRANS.IODivision1 = "ATIL"
Case Else
TRANS.IODivision1 = "VERG"
End Select
XML.Transaktion = TRANS
For Each ROW As DataRow In dt.Rows
Dim KD As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDaten
KD.Dakosy_Mandant = Dakosy_Mandant
KD.KundenNr = ROW("KundenNr")
KD.EORI = ROW("EORITIN")
If ROW("EORITIN_NL") Is DBNull.Value OrElse If(ROW("EORITIN_NL"), "") = "" Then
KD.EORI_Niederlassung = "0000"
Else
KD.EORI_Niederlassung = ROW("EORITIN_NL")
End If
If ROW("Ordnungsbegriff") IsNot DBNull.Value Then KD.Kurzname = ROW("Ordnungsbegriff")
If ROW("Name 1") IsNot DBNull.Value Then KD.Name1 = ROW("Name 1")
If ROW("Name 2") IsNot DBNull.Value Then KD.Name2 = ROW("Name 2")
If ROW("UstIdKz") IsNot DBNull.Value And ("UstIdNr") IsNot DBNull.Value Then KD.UID_Nr = ROW("UstIdKz") & ROW("UstIdNr")
KD.Adresse = New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAdresse
If ROW("Straße") IsNot DBNull.Value Then KD.Adresse.Strasse = ROW("Straße")
If ROW("PLZ") IsNot DBNull.Value Then KD.Adresse.Plz = ROW("PLZ")
If ROW("Ort") IsNot DBNull.Value Then KD.Adresse.Ort = ROW("Ort")
If ROW("LandKz") IsNot DBNull.Value Then KD.Adresse.LandKz = ROW("LandKzISO2")
KD.Kontakt = New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenKontakt
If ROW("E-Mail") IsNot DBNull.Value Then KD.Kontakt.EMail = ROW("E-Mail")
If ROW("Telefon") IsNot DBNull.Value Then KD.Kontakt.Tel = ROW("Telefon")
If ROW("Telefax") IsNot DBNull.Value Then KD.Kontakt.Fax = ROW("Telefax")
If ROW("Ansprechpartner") IsNot DBNull.Value Then KD.Kontakt.Ansprechpartner = If(ROW("Anrede") IsNot DBNull.Value, ROW("Anrede") & " ", "") & ROW("Ansprechpartner")
Dim KD_AKTO = VERAG_PROG_ALLGEMEIN.cKundenAufschubkonten.LOAD_ListAufschubKTOByKdNr(KD.KundenNr)
If KD_AKTO IsNot Nothing Then
Dim AKTOLIST = New List(Of VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschub)
For Each KTO In KD_AKTO
If If(KTO.kdAkto_bin, "").ToString.Trim <> String.Empty And
If(KTO.kdAkto_eori, "").ToString.Trim <> String.Empty And
If(KTO.kdAkto_hauptzollamt, "").ToString.Trim <> String.Empty And
If(KTO.kdAkto_kontonummer, "").ToString.Trim <> String.Empty Then
Dim AUFSCH As New DAKOSY_Worker.VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschub
Select Case KTO.kdAkto_art
Case "10" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item10
Case "15" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item15
Case "20" : AUFSCH.Art = VERAG_KundenStamm_Export_V2.VERAG_Kundenstamm_IMPORTKundenDatenAufschubArt.Item20
End Select
AUFSCH.BIN = KTO.kdAkto_bin
AUFSCH.EORI = KTO.kdAkto_eori
If KTO.kdAkto_eoriNL IsNot Nothing Then AUFSCH.EORI_Niederlassung = KTO.kdAkto_eoriNL Else AUFSCH.EORI_Niederlassung = "0000"
AUFSCH.Hauptzollamt = KTO.kdAkto_hauptzollamt
AUFSCH.KontoNr = KTO.kdAkto_kontonummer
AKTOLIST.Add(AUFSCH)
If AKTOLIST.Count = 2 Then Exit For 'max. 2 Aufschub
End If
Next
If AKTOLIST.Count > 0 Then KD.Aufschubkonten = AKTOLIST
End If
XML.KundenDaten.Add(KD)
Next
Dim saveDir = path
If Not IO.Directory.Exists(saveDir) Then
IO.Directory.CreateDirectory(saveDir)
End If
Dim counter = 1
While IO.File.Exists(saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml")
counter += 1
End While
saveFile = saveDir & "VERAG_KD_" & counter.ToString("D4") & ".xml"
XML.SaveToFile(saveFile)
Return True
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
Return False
End Try
End Function
End Class

View File

@@ -988,7 +988,7 @@ Public Class cDY_Paramter
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Shared Function GET_PARAM_ByName(dyParam_name, TESTSYSTEM) As String
Return SQL.getValueTxtBySql("SELECT TOP 1 [dyParam_value] FROM [tbl_DY_Paramter] WHERE [dyParam_name]='" & dyParam_name & "'", , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM))
Return SQL.getValueTxtBySql("SELECT TOP 1 [dyParam_value] FROM [tbl_DY_Paramter] WHERE [dyParam_name]='" & dyParam_name & "' AND dyParam_firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'", , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM))
End Function
End Class

View File

@@ -265,6 +265,21 @@ Public Class cZOLL_IMPORT
ATLAS_SERVER_VERBINDUNG = "ATLAS"
End If
If SendungId > 0 Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId)
If EZA_Nr = "" And NCTS_Nr = "" Then
If SENDUNG IsNot Nothing AndAlso If(SENDUNG.tblSnd_DakosyRef, "") <> "" Then
Select Case SENDUNG.tblSnd_Abfertigungsart_ID
Case 5, 6, 24, 33, 34, 37, 40
NCTS_Nr = SENDUNG.tblSnd_DakosyRef
SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
Case Else
EZA_Nr = SENDUNG.tblSnd_DakosyRef
SPEDITIONSBUCH.AtlasBezNrEZA = EZA_Nr
End Select
Zollsystem = 2
End If
End If
'-------------------------------------------------------------------------------------------------------------
' ATLAS / EZOLL
@@ -295,57 +310,44 @@ Public Class cZOLL_IMPORT
Case 2 'dakosy
SPEDITIONSBUCH.Zollsystem = "D"
If EZA_Nr <> "" Then
DAKOSY_Worker.cDakosyEZA.DakosyEZADatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, PosAnzahl)
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
DAKOSY_Worker.cDakosyNCTSOut.DakosyNCTSDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound)
End If
Me.notFound = notFound
Case 3 'telotec
SPEDITIONSBUCH.Zollsystem = "T"
If EZA_Nr <> "" Then
TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, EZA_Nr, notFound, "EZA", PosAnzahl)
ElseIf NCTS_Nr <> "" Then
' SPEDITIONSBUCH.AtlasBezNrNCTS = NCTS_Nr
TELOTEC_Worker.cTelotec_Anmeldung.TELOTECDatenbereitstellung(SPEDITIONSBUCH, NCTS_Nr, notFound, "NCTS", PosAnzahl)
End If
Me.notFound = notFound
Case Else 'Kein Zollsystem
End Select
If avisoLinkId = 0 Or SendungId = 0 Then
Dim DY As DAKOSY_Worker.cDakosy_Zollanmeldungen = DAKOSY_Worker.cDakosy_Zollanmeldungen.LOADByBezugsNr(If(EZA_Nr <> "", EZA_Nr, NCTS_Nr))
If DY IsNot Nothing Then
If avisoLinkId = 0 Then avisoLinkId = If(DY.dy_AvisoId, 0)
If SendungId = 0 Then SendungId = If(DY.dy_SendungsId, 0)
End If
End If
'-------------------------------------------------------------------------------------------------------------
If SPEDITIONSBUCH.Abfertigungsdatum Is Nothing Then SPEDITIONSBUCH.Abfertigungsdatum = Now.ToShortDateString
If SendungId > 0 Then SPEDITIONSBUCH.SendungID = SendungId
' Dim fNEF = DirectCast(Me.Owner, frmNacherfassungNEU)
If SendungId = 0 And SPEDITIONSBUCH.SendungID > 0 Then SendungId = SPEDITIONSBUCH.SendungID 'Falls falsch übergeben
If SendungId > 0 Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId)
If SendungId > 0 And SENDUNG Is Nothing Then SENDUNG = New VERAG_PROG_ALLGEMEIN.cSendungen(SendungId)
' Dim dt As DataTable = SQLAVISO.loadDataTableBySQL("SELECT * FROM tblSendungen WHERE tblSnd_SendungID='" & SendungId & "' ")
If SENDUNG IsNot Nothing Then
@@ -397,7 +399,6 @@ Public Class cZOLL_IMPORT
MsgBox("BAR-Err: Beträge konnten nicht geladen werden!" & vbNewLine & ex.Message & ex.StackTrace)
End Try
'If If(SENDUNG.tblSnd_bar, False) Then
'SPEDITIONSBUCH.Bar = True
' If (SENDUNG.tblSnd_barBeleg IsNot Nothing) And SPEDITIONSBUCH.ErfassungsNr = "" Then SPEDITIONSBUCH.ErfassungsNr = "VERA/" & VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG & "/" & CDate(SPEDITIONSBUCH.Abfertigungsdatum).ToShortDateString & "/" & SENDUNG.tblSnd_barBeleg
@@ -415,14 +416,11 @@ Public Class cZOLL_IMPORT
SPEDITIONSBUCH.NCTS_Verzollungsadresse &= vbNewLine
SPEDITIONSBUCH.NCTS_Verzollungsadresse = SPEDITIONSBUCH.NCTS_Verzollungsadresse.Trim
End If
If SPEDITIONSBUCH.Endempfänger Is Nothing OrElse SPEDITIONSBUCH.Endempfänger = "" Then
SPEDITIONSBUCH.Endempfänger = SENDUNG.tblSnd_Endempfaenger
End If
If IsNull(SPEDITIONSBUCH.KdAuftragsNr) Then SPEDITIONSBUCH.KdAuftragsNr = If(SENDUNG.tblSnd_KdAuftragsNr, "")
If IsNull(SPEDITIONSBUCH.KdAuftragsNrAvisierer) Then SPEDITIONSBUCH.KdAuftragsNrAvisierer = If(SENDUNG.tblSnd_KdAuftragsNrAvisierer, "")
If IsNull(SPEDITIONSBUCH.KdAuftragsNrEmpfaenger) Then SPEDITIONSBUCH.KdAuftragsNrEmpfaenger = If(SENDUNG.tblSnd_KdAuftragsNrEmpfaenger, "")
@@ -450,11 +448,12 @@ Public Class cZOLL_IMPORT
' txtAuftraggeber.Text = Aviso.Auftraggeber
' txtAuftraggeberKdNr.Text = Aviso.Auftraggeber_KdNr
SPEDITIONSBUCH.Avisierer = Aviso.Auftraggeber
If getint(Aviso.Auftraggeber_KdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = Aviso.Auftraggeber_KdNr
'NICHT MEHR:
'SPEDITIONSBUCH.Avisierer = Aviso.Auftraggeber
'If getint(Aviso.Auftraggeber_KdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = Aviso.Auftraggeber_KdNr
SPEDITIONSBUCH.Frachtführer = Aviso.Frächter
If getint(Aviso.Frächter_KdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = Aviso.Frächter_KdNr
'SPEDITIONSBUCH.Frachtführer = Aviso.Frächter
'If getint(Aviso.Frächter_KdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = Aviso.Frächter_KdNr
SPEDITIONSBUCH.LKW_Kennzeichen = Aviso.LKW_Nr
@@ -474,6 +473,17 @@ Public Class cZOLL_IMPORT
If SENDUNG IsNot Nothing Then
'NEU:
SPEDITIONSBUCH.Avisierer = SENDUNG.tblSnd_Avisierer
If getint(SENDUNG.tblSnd_AvisiererKdNr) > 0 Then SPEDITIONSBUCH.AvisiererKundenNr = SENDUNG.tblSnd_AvisiererKdNr
SPEDITIONSBUCH.Frachtführer = SENDUNG.tblSnd_Frachtfuehrer
If getint(SENDUNG.tblSnd_FrachtfuehrerKdNr) > 0 Then SPEDITIONSBUCH.FrachtführerKundenNr = SENDUNG.tblSnd_FrachtfuehrerKdNr
If SPEDITIONSBUCH.AbsenderKundenNr Is Nothing OrElse SPEDITIONSBUCH.AbsenderKundenNr <= 0 Then
If SENDUNG.tblSnd_AbsenderKdNr > 0 Then
SPEDITIONSBUCH.AbsenderKundenNr = SENDUNG.tblSnd_AbsenderKdNr
@@ -525,7 +535,7 @@ Public Class cZOLL_IMPORT
End If
If (SENDUNG.tblSnd_Abfertigungsart_ID = 26 Or SENDUNG.tblSnd_Abfertigungsart_ID = 28) And NCTS_Nr <> "" Then
If (SENDUNG.tblSnd_Abfertigungsart_ID = 26 Or SENDUNG.tblSnd_Abfertigungsart_ID = 28 Or SENDUNG.tblSnd_Abfertigungsart_ID = 38) And NCTS_Nr <> "" Then
'Überstellungs-T
SPEDITIONSBUCH.Abfertigungsart = 5
Else
@@ -633,7 +643,9 @@ Public Class cZOLL_IMPORT
If SPEDITIONSBUCH.Abfertigungsanzahl = 0 Then Return False
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail("Validierungsfehler SpedBuch - Trotzdem eingearbeitet!", ex.Message, ex.StackTrace, "al@verag.ag", "")
' VERAG_PROG_ALLGEMEIN.cErrorHandler.sendERRORperMail(, ex.Message, ex.StackTrace, , "",)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name,, "Validierungsfehler SpedBuch - Trotzdem eingearbeitet!", "al@verag.ag", "al@verag.ag")
End Try
Return True
End Function

View File

@@ -29,6 +29,9 @@
'End Sub
Function getATAMRNBezugsnummer(BezugsNr As String, Abfertigungsart As String) As String
If BezugsNr.Length <= 12 Then Return ""
BezugsNr = BezugsNr & "%"
getATAMRNBezugsnummer = ""
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
' Case "IMEX"
@@ -38,15 +41,16 @@
Select Case Abfertigungsart
Case 38, 26 'AT
' getADFrom_EZOLL
getATAMRNBezugsnummer = load_NCTS_MRN_FromDAKOSY(BezugsNr) 'Ü-T1
getATAMRNBezugsnummer = load_NCTS_MRN_FromDAKOSY(BezugsNr, True) 'Ü-T1
Sachbearbeiter = "" ' Bei Ü-T1 soll der SB leer sein, sonst wird dieser evtl. beim Austragen herangezogen...
Case 1, 2, 3, 28, 39
getATAMRNBezugsnummer = load_EZA_ATA_FromDAKOSY(BezugsNr)
getATAMRNBezugsnummer = load_EZA_ATA_FromDAKOSY(BezugsNr, True)
'... and Systeme
Case Else
getATAMRNBezugsnummer = load_NCTS_MRN_FromDAKOSY(BezugsNr)
getATAMRNBezugsnummer = load_NCTS_MRN_FromDAKOSY(BezugsNr, True)
If getATAMRNBezugsnummer = "" Then 'Falls doch nicht
getATAMRNBezugsnummer = load_EZA_ATA_FromDAKOSY(BezugsNr)
getATAMRNBezugsnummer = load_EZA_ATA_FromDAKOSY(BezugsNr, True)
End If
End Select
End Select
@@ -54,6 +58,8 @@
End Function
Function getDataByBezugsnummer(BezugsNr As String, Abfertigungsart As String) As Boolean
If BezugsNr.Length <= 12 Then Return ""
BezugsNr = BezugsNr & "%"
getDataByBezugsnummer = False
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
' Case "UNISPED"
@@ -62,19 +68,20 @@
Select Case Abfertigungsart
Case 38, 26 'AT
' getADFrom_EZOLL
getDataByBezugsnummer = load_NCTS_FromDAKOSY(BezugsNr)'Ü-T1
getDataByBezugsnummer = load_NCTS_FromDAKOSY(BezugsNr, True) 'Ü-T1
Sachbearbeiter = "" ' Bei Ü-T1 soll der SB leer sein, sonst wird dieser evtl. beim Austragen herangezogen...
Case 1, 2, 3, 28, 39
getDataByBezugsnummer = load_EZA_FromDAKOSY(BezugsNr)
getDataByBezugsnummer = load_EZA_FromDAKOSY(BezugsNr, True)
'... and Systeme
Case Else
getDataByBezugsnummer = load_NCTS_FromDAKOSY(BezugsNr)
getDataByBezugsnummer = load_NCTS_FromDAKOSY(BezugsNr, True)
If Not getDataByBezugsnummer Then 'Falls doch nicht
getDataByBezugsnummer = load_EZA_FromDAKOSY(BezugsNr)
getDataByBezugsnummer = load_EZA_FromDAKOSY(BezugsNr, True)
End If
End Select
End Select
Return False
End Function
@@ -96,22 +103,22 @@
End Function
Function load_EZA_ATA_FromDAKOSY(BezugsNr) As String
Dim EZA = DAKOSY_Worker.cDakosyEZA.LOADByBezugsNr(BezugsNr, True)
Function load_EZA_ATA_FromDAKOSY(BezugsNr, Optional checkValidStatus = False) As String
Dim EZA = DAKOSY_Worker.cDakosyEZA.LOADByBezugsNr(BezugsNr, True, checkValidStatus)
If EZA Is Nothing Then Return ""
Return If(EZA.eza_ANR, If(EZA.eza_MRN, ""))
End Function
Function load_NCTS_MRN_FromDAKOSY(BezugsNr) As String
Dim NCTS = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(BezugsNr, True)
Function load_NCTS_MRN_FromDAKOSY(BezugsNr, Optional checkValidStatus = False) As String
Dim NCTS = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(BezugsNr, True, checkValidStatus)
If NCTS Is Nothing Then Return ""
Return If(NCTS.ncts_MRN, If(NCTS.ncts_ANR, ""))
End Function
Function load_EZA_FromDAKOSY(BezugsNr) As Boolean
Dim EZA = DAKOSY_Worker.cDakosyEZA.LOADByBezugsNr(BezugsNr, True)
Function load_EZA_FromDAKOSY(BezugsNr As String, Optional checkValidStatus As Boolean = False) As Boolean
Dim EZA = DAKOSY_Worker.cDakosyEZA.LOADByBezugsNr(BezugsNr, True, True)
If EZA Is Nothing Then Return False
Return load_EZA_FromDAKOSY(EZA)
End Function
@@ -119,7 +126,7 @@
Function load_EZA_FromDAKOSY(EZA As DAKOSY_Worker.cDakosyEZA) As Boolean
Try
If EZA Is Nothing Then Return Nothing
If EZA Is Nothing Then Return False
EZA.LOAD_Warenposition()
'
@@ -185,7 +192,8 @@
Dim AUFSCHUB_List As New List(Of String)
For Each AB In EZA.eza_AUFSCHUB
addIfNotExists(AUFSCHUB_List, (If(AB.ezaAfb_KontoNr, "")).Trim)
Dim kto = (If(AB.ezaAfb_HZA, "") & If(AB.ezaAfb_KontoNr, "")).Trim
addIfNotExists(AUFSCHUB_List, kto & load_KdFromAKto(kto))
Next
AbgabenKonto = listToString(AUFSCHUB_List)
@@ -194,13 +202,17 @@
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace & vbNewLine & vbNewLine, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Return Nothing
Return False
End Try
Return False
End Function
Function load_NCTS_FromDAKOSY(BezugsNr) As Boolean
Dim NCTS = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(BezugsNr, True)
Function load_KdFromAKto(kto) As String
Return SQL.getValueTxtBySql("SELECT TOP 1 Ordnungsbegriff FROM [tblKundenAufschubkonten] inner join adressen on adressennr = [kdAkto_KundenNr] where kdAkto_hauptzollamt + kdAkto_kontonummer ='" & kto & "'", "FMZOLL")
End Function
Function load_NCTS_FromDAKOSY(BezugsNr As String, Optional checkValidStatus As Boolean = False) As Boolean
Dim NCTS = DAKOSY_Worker.cDakosyNCTSOut.LOADByBezugsNr(BezugsNr, True, checkValidStatus)
If NCTS Is Nothing Then Return False
Return load_NCTS_FromDAKOSY(NCTS)
End Function