EXG Auto Ncts
This commit is contained in:
@@ -858,7 +858,10 @@ Public Class cDakosyEXG
|
|||||||
'dy_Status = status
|
'dy_Status = status
|
||||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
Return SQL.doSQLVarList(" UPDATE [tblDakosy_EXG] SET [exg_AutoFill_DyId]=@dyId WHERE exg_Id=@exg_Id ", "FMZOLL", , list)
|
Return SQL.doSQLVarList("UPDATE tblDakosy_EXG SET exg_AutoFill_DyId=@dyId,
|
||||||
|
exg_AutoFill_DyId_Complete=0
|
||||||
|
WHERE exg_Id=@exg_Id",
|
||||||
|
"FMZOLL", , list)
|
||||||
|
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
@@ -886,23 +889,27 @@ Public Class cDakosyEXG
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Shared Function isFillNCTS_ID_ALLCompleted(dyId As Integer) As Boolean
|
Shared Function isFillNCTS_ID_ALLCompleted(dyId As Integer) As Boolean
|
||||||
If dyId > 0 Then
|
If dyId <= 0 Then Return False
|
||||||
Try
|
|
||||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
||||||
|
|
||||||
Dim cnt = SQL.getValueTxtBySql(" SELECT COUNT(*) FROM [tblDakosy_EXG] where [exg_AutoFill_DyId] ='" & dyId & "' and exg_AutoFill_DyId=1 AND [exg_AutoFill_DyId_Complete]=0 ", "FMZOLL", ,, -1)
|
Try
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
Dim sqlText = "SELECT
|
||||||
|
COUNT(*) AS Gesamt,
|
||||||
|
SUM(CASE
|
||||||
|
WHEN ISNULL(exg_AutoFill_DyId_Complete, 0) = 0
|
||||||
|
THEN 1 ELSE 0
|
||||||
|
END) AS Offen
|
||||||
|
FROM tblDakosy_EXG
|
||||||
|
WHERE exg_AutoFill_DyId= " & dyId & ""
|
||||||
|
|
||||||
If cnt = 0 Then
|
Dim cnt = SQL.getValueTxtBySql(sqlText, "FMZOLL", ,, -1)
|
||||||
Return True
|
Return Convert.ToInt32(cnt) = 0
|
||||||
End If
|
Catch ex As Exception
|
||||||
Catch ex As Exception
|
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
Return False
|
||||||
End Try
|
End Try
|
||||||
End If
|
|
||||||
Return False
|
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
'Public Function LOADByBezugsNr(exg_ObjectName As String, loadALL As Boolean) As Boolean
|
'Public Function LOADByBezugsNr(exg_ObjectName As String, loadALL As Boolean) As Boolean
|
||||||
' Try
|
' Try
|
||||||
' LOADByBezugsNr = False
|
' LOADByBezugsNr = False
|
||||||
@@ -945,7 +952,7 @@ Public Class cDakosyEXG
|
|||||||
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||||
' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " ) AS T order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE exg_dyaAnmID=exg_dyaAnmID order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ", conn)
|
' Using cmd As New SqlCommand("SELECT TOP 1 * FROM (SELECT * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " ) AS T order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE exg_dyaAnmID=exg_dyaAnmID order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ", conn)
|
||||||
'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE exg_dyaAnmID=exg_dyaAnmID order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ", conn)
|
'Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE @bezugsNr " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] WHERE exg_dyaAnmID=exg_dyaAnmID order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ", conn)
|
||||||
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXG WHERE exg_ObjectName LIKE @bezugsNr order by exg_LetzteBearbeitung desc", conn)
|
Using cmd As New SqlCommand("SELECT TOP 1 * FROM tblDakosy_EXG WHERE exg_ObjectName = @bezugsNr ORDER BY exg_LetzteBearbeitung DESC", conn)
|
||||||
'MsgBox("SELECT TOP 1 * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE exg_dyaAnmID=dy_id order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ")
|
'MsgBox("SELECT TOP 1 * FROM tblDakosy_EXGOut WHERE exg_ObjectName LIKE " & bezugsNr & " " & If(checkValidStatus, " AND exg_status BETWEEN 40 and 90 ", "") & " order by exg_status desc, (SELECT top 1 dySt_ts FROM [tblDakosy_Statusmeldungen] inner join tblDakosy_Zollanmeldungen on dy_id = dySt_dyId WHERE exg_dyaAnmID=dy_id order by dySt_ts desc) desc,exg_LetzteBearbeitung desc ")
|
||||||
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
|
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr)
|
||||||
Dim dr = cmd.ExecuteReader()
|
Dim dr = cmd.ExecuteReader()
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -111,7 +111,8 @@ Public Class cDakosyFunftions
|
|||||||
Else
|
Else
|
||||||
Select Case FIRMA_DY
|
Select Case FIRMA_DY
|
||||||
Case "ATILLA"
|
Case "ATILLA"
|
||||||
Return "VERG"
|
'Return "VERG"
|
||||||
|
Return "ATIL"
|
||||||
Case "VERAG"
|
Case "VERAG"
|
||||||
Return "VERG"
|
Return "VERG"
|
||||||
Case "DURMAZ"
|
Case "DURMAZ"
|
||||||
|
|||||||
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
|
|||||||
' übernehmen, indem Sie "*" eingeben:
|
' übernehmen, indem Sie "*" eingeben:
|
||||||
' <Assembly: AssemblyVersion("1.0.*")>
|
' <Assembly: AssemblyVersion("1.0.*")>
|
||||||
|
|
||||||
<Assembly: AssemblyVersion("1.2.6.2")>
|
<Assembly: AssemblyVersion("1.2.6.3")>
|
||||||
<Assembly: AssemblyFileVersion("1.2.6.2")>
|
<Assembly: AssemblyFileVersion("1.2.6.3")>
|
||||||
|
|||||||
28
UID/usrctlProcedures.Designer.vb
generated
28
UID/usrctlProcedures.Designer.vb
generated
@@ -87,6 +87,7 @@ Partial Class usrctlProcedures
|
|||||||
Me.Button48 = New System.Windows.Forms.Button()
|
Me.Button48 = New System.Windows.Forms.Button()
|
||||||
Me.Button47 = New System.Windows.Forms.Button()
|
Me.Button47 = New System.Windows.Forms.Button()
|
||||||
Me.TabPage6 = New System.Windows.Forms.TabPage()
|
Me.TabPage6 = New System.Windows.Forms.TabPage()
|
||||||
|
Me.Button60 = New System.Windows.Forms.Button()
|
||||||
Me.Label23 = New System.Windows.Forms.Label()
|
Me.Label23 = New System.Windows.Forms.Label()
|
||||||
Me.Button54 = New System.Windows.Forms.Button()
|
Me.Button54 = New System.Windows.Forms.Button()
|
||||||
Me.Label19 = New System.Windows.Forms.Label()
|
Me.Label19 = New System.Windows.Forms.Label()
|
||||||
@@ -182,7 +183,7 @@ Partial Class usrctlProcedures
|
|||||||
Me.Button57 = New System.Windows.Forms.Button()
|
Me.Button57 = New System.Windows.Forms.Button()
|
||||||
Me.Button58 = New System.Windows.Forms.Button()
|
Me.Button58 = New System.Windows.Forms.Button()
|
||||||
Me.Button59 = New System.Windows.Forms.Button()
|
Me.Button59 = New System.Windows.Forms.Button()
|
||||||
Me.Button60 = New System.Windows.Forms.Button()
|
Me.Button61 = New System.Windows.Forms.Button()
|
||||||
Me.tbTRStat.SuspendLayout()
|
Me.tbTRStat.SuspendLayout()
|
||||||
Me.TabPage3.SuspendLayout()
|
Me.TabPage3.SuspendLayout()
|
||||||
Me.TabPage1.SuspendLayout()
|
Me.TabPage1.SuspendLayout()
|
||||||
@@ -842,6 +843,15 @@ Partial Class usrctlProcedures
|
|||||||
Me.TabPage6.Text = "MDM Importe"
|
Me.TabPage6.Text = "MDM Importe"
|
||||||
Me.TabPage6.UseVisualStyleBackColor = True
|
Me.TabPage6.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
|
'Button60
|
||||||
|
'
|
||||||
|
Me.Button60.Location = New System.Drawing.Point(336, 63)
|
||||||
|
Me.Button60.Name = "Button60"
|
||||||
|
Me.Button60.Size = New System.Drawing.Size(106, 49)
|
||||||
|
Me.Button60.TabIndex = 74
|
||||||
|
Me.Button60.Text = "Plose PDF-Zuweisung"
|
||||||
|
Me.Button60.UseVisualStyleBackColor = True
|
||||||
|
'
|
||||||
'Label23
|
'Label23
|
||||||
'
|
'
|
||||||
Me.Label23.AutoSize = True
|
Me.Label23.AutoSize = True
|
||||||
@@ -1730,19 +1740,20 @@ Partial Class usrctlProcedures
|
|||||||
Me.Button59.Text = "Firmenlogo in DB"
|
Me.Button59.Text = "Firmenlogo in DB"
|
||||||
Me.Button59.UseVisualStyleBackColor = True
|
Me.Button59.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
'Button60
|
'Button61
|
||||||
'
|
'
|
||||||
Me.Button60.Location = New System.Drawing.Point(336, 63)
|
Me.Button61.Location = New System.Drawing.Point(759, 79)
|
||||||
Me.Button60.Name = "Button60"
|
Me.Button61.Name = "Button61"
|
||||||
Me.Button60.Size = New System.Drawing.Size(106, 49)
|
Me.Button61.Size = New System.Drawing.Size(145, 33)
|
||||||
Me.Button60.TabIndex = 74
|
Me.Button61.TabIndex = 72
|
||||||
Me.Button60.Text = "Plose PDF-Zuweisung"
|
Me.Button61.Text = "TEST NCTS FROM EXG"
|
||||||
Me.Button60.UseVisualStyleBackColor = True
|
Me.Button61.UseVisualStyleBackColor = True
|
||||||
'
|
'
|
||||||
'usrctlProcedures
|
'usrctlProcedures
|
||||||
'
|
'
|
||||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
|
||||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||||
|
Me.Controls.Add(Me.Button61)
|
||||||
Me.Controls.Add(Me.Button59)
|
Me.Controls.Add(Me.Button59)
|
||||||
Me.Controls.Add(Me.Button58)
|
Me.Controls.Add(Me.Button58)
|
||||||
Me.Controls.Add(Me.Button57)
|
Me.Controls.Add(Me.Button57)
|
||||||
@@ -1989,4 +2000,5 @@ Partial Class usrctlProcedures
|
|||||||
Friend WithEvents Button58 As Button
|
Friend WithEvents Button58 As Button
|
||||||
Friend WithEvents Button59 As Button
|
Friend WithEvents Button59 As Button
|
||||||
Friend WithEvents Button60 As Button
|
Friend WithEvents Button60 As Button
|
||||||
|
Friend WithEvents Button61 As Button
|
||||||
End Class
|
End Class
|
||||||
|
|||||||
@@ -123,10 +123,4 @@
|
|||||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>True</value>
|
|
||||||
</metadata>
|
|
||||||
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
|
||||||
<value>True</value>
|
|
||||||
</metadata>
|
|
||||||
</root>
|
</root>
|
||||||
@@ -5147,6 +5147,197 @@ OPTION (MAXRECURSION 1000);", "AVISO") '
|
|||||||
Return Nothing
|
Return Nothing
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Private Sub Button61_Click(sender As Object, e As EventArgs) Handles Button61.Click
|
||||||
|
Dim referenz As String = InputBox("Bitte EXG-Referenz eingeben (mit % am Ende):", "NCTS-Test aus EXG", "4801/26033344%")
|
||||||
|
If String.IsNullOrWhiteSpace(referenz) Then Exit Sub
|
||||||
|
|
||||||
|
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "UNISPED"
|
||||||
|
VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = "SUB"
|
||||||
|
|
||||||
|
Try
|
||||||
|
Dim saveFile = TestNCTSFromEXG(referenz.Trim(), True, "T1")
|
||||||
|
MsgBox("NCTS-Test erfolgreich!" & vbCrLf & saveFile)
|
||||||
|
Process.Start(saveFile)
|
||||||
|
Catch ex As Exception
|
||||||
|
MsgBox("Fehler beim NCTS-Test:" & vbCrLf & ex.Message)
|
||||||
|
End Try
|
||||||
|
End Sub
|
||||||
|
Shared Function GET_IDsByBezugsNr(bezugsNr As String) As List(Of Integer)
|
||||||
|
Dim ids As New List(Of Integer)
|
||||||
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
|
|
||||||
|
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
|
||||||
|
Using cmd As New SqlCommand("SELECT exg_Id FROM tblDakosy_EXG WHERE exg_ObjectName LIKE @bezugsNr ORDER BY exg_ObjectName", conn)
|
||||||
|
cmd.Parameters.AddWithValue("@bezugsNr", bezugsNr.Replace("[", "[[]").Replace("%", "[%]").Replace("_", "[_]") & "[_]EXG[0-9]%")
|
||||||
|
|
||||||
|
Using dr = cmd.ExecuteReader()
|
||||||
|
While dr.Read()
|
||||||
|
ids.Add(Convert.ToInt32(dr("exg_Id")))
|
||||||
|
End While
|
||||||
|
End Using
|
||||||
|
End Using
|
||||||
|
End Using
|
||||||
|
|
||||||
|
Return ids
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Shared Function TestNCTSFromEXG(bezugsNrEXG As String, Optional sendFTP As Boolean = False, Optional nctsArt As String = "T1") As String
|
||||||
|
Dim exgIds As List(Of Integer) = GET_IDsByBezugsNr(bezugsNrEXG)
|
||||||
|
|
||||||
|
If exgIds.Count = 0 Then
|
||||||
|
Throw New Exception("Keine EXG-Gestellungen gefunden für: " & bezugsNrEXG)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Console.WriteLine("EXG-Test: " & exgIds.Count & " Gestellungen gefunden.")
|
||||||
|
|
||||||
|
Dim BezugsNr As String = "TEST_EXG_" & Now.ToString("MMddHHmmss")
|
||||||
|
Dim NCTS_OUT As New DAKOSY_Worker.cDakosyNCTSOut004
|
||||||
|
Dim DY_ANM As New cDakosy_Zollanmeldungen
|
||||||
|
Dim firma As String = ""
|
||||||
|
Dim niederlassung As String = ""
|
||||||
|
Dim firstEXG As Boolean = True
|
||||||
|
|
||||||
|
NCTS_OUT.ncts_ObjectName = BezugsNr
|
||||||
|
|
||||||
|
'EXG-Daten laden und NCTS befüllen
|
||||||
|
For Each exgId In exgIds.Distinct()
|
||||||
|
Dim EXG As New DAKOSY_Worker.cDakosyEXG
|
||||||
|
EXG.exg_Id = exgId
|
||||||
|
|
||||||
|
If Not EXG.LOAD(True) Then Throw New Exception("EXG nicht gefunden: " & exgId)
|
||||||
|
If EXG.exg_POSITION Is Nothing OrElse EXG.exg_POSITION.Count = 0 Then Throw New Exception("EXG ohne Positionen: " & exgId)
|
||||||
|
|
||||||
|
If firstEXG Then
|
||||||
|
firma = EXG.exg_firma
|
||||||
|
niederlassung = EXG.exg_niederlassung
|
||||||
|
firstEXG = False
|
||||||
|
Else
|
||||||
|
If firma <> EXG.exg_firma OrElse niederlassung <> EXG.exg_niederlassung Then
|
||||||
|
Throw New Exception("EXG-Datensätze gehören zu unterschiedlichen Firmen oder Niederlassungen.")
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, BezugsNr) '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
Console.WriteLine("TEST NCTS: EXG übernommen: " & EXG.exg_ObjectName)
|
||||||
|
|
||||||
|
|
||||||
|
Dim HC = NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Last()
|
||||||
|
|
||||||
|
Console.WriteLine("EXG: " & EXG.exg_ObjectName)
|
||||||
|
Console.WriteLine("EXG Versender: " & Convert.ToString(EXG.exg_Consignor_Name))
|
||||||
|
Console.WriteLine("EXG Empfänger: " & Convert.ToString(EXG.exg_Consignee_Name))
|
||||||
|
Console.WriteLine("NCTS Versender: " & Convert.ToString(HC.nctsHC_Consignor_Name))
|
||||||
|
Console.WriteLine("NCTS Empfänger: " & Convert.ToString(HC.nctsHC_Consignee_Name))
|
||||||
|
|
||||||
|
|
||||||
|
Next
|
||||||
|
|
||||||
|
|
||||||
|
If NCTS_OUT.ncts_HOUSE_CONSIGNMENT Is Nothing OrElse NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Count = 0 Then
|
||||||
|
Throw New Exception("Keine NCTS-House-Consignments erzeugt.")
|
||||||
|
End If
|
||||||
|
|
||||||
|
'Neue Zollanmeldung erstellen
|
||||||
|
DY_ANM.dy_ART = nctsArt
|
||||||
|
DY_ANM.dy_BezugsNr = BezugsNr
|
||||||
|
|
||||||
|
If Not DY_ANM.SAVE() OrElse DY_ANM.dy_Id <= 0 Then
|
||||||
|
Throw New Exception("NCTS-Zollanmeldung konnte nicht erstellt werden.")
|
||||||
|
End If
|
||||||
|
|
||||||
|
'NCTS mit der neuen Zollanmeldung verknüpfen
|
||||||
|
NCTS_OUT.ncts_ObjectName = BezugsNr
|
||||||
|
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
|
||||||
|
NCTS_OUT.ncts_Trans_Referenz = BezugsNr & "_" & Now.ToString("ddMMyyHHmmSS") 'Eindeutig
|
||||||
|
NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
|
||||||
|
NCTS_OUT.ncts_LetzteBearbeitung = Now
|
||||||
|
NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
|
||||||
|
NCTS_OUT.ncts_firma = If(firma, "VERAG")
|
||||||
|
NCTS_OUT.ncts_niederlassung = If(niederlassung, "SUB")
|
||||||
|
|
||||||
|
'CheckNCTSStringLengths(NCTS_OUT)
|
||||||
|
If Not NCTS_OUT.SAVE_ALL() Then
|
||||||
|
Throw New Exception("NCTS-Daten konnten nicht gespeichert werden. DY-ID: " & DY_ANM.dy_Id)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'NCTS-XML erstellen
|
||||||
|
Dim saveFile As String = ""
|
||||||
|
|
||||||
|
|
||||||
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
If Not cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath, "NCTS") Then
|
||||||
|
Throw New Exception("NCTS-XML konnte nicht erzeugt werden.")
|
||||||
|
End If
|
||||||
|
|
||||||
|
If String.IsNullOrWhiteSpace(saveFile) OrElse Not System.IO.File.Exists(saveFile) Then
|
||||||
|
Throw New Exception("NCTS-XML-Datei fehlt.")
|
||||||
|
End If
|
||||||
|
|
||||||
|
'Optional an DAKOSY senden
|
||||||
|
If sendFTP Then
|
||||||
|
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, BezugsNr, DY_ANM.dy_Id, firma) Then
|
||||||
|
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
|
||||||
|
DY_ANM.UPDATE_DATA()
|
||||||
|
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
|
||||||
|
Else
|
||||||
|
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
|
||||||
|
Throw New Exception("NCTS-FTP-Versand fehlgeschlagen. DY-ID: " & DY_ANM.dy_Id)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Console.WriteLine("TEST NCTS: " & BezugsNr & " / DY-ID: " & DY_ANM.dy_Id)
|
||||||
|
Return saveFile
|
||||||
|
End Function
|
||||||
|
Private Shared Sub CheckNCTSStringLengths(NCTS_OUT As cDakosyNCTSOut004)
|
||||||
|
Using conn = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionFMZOLL
|
||||||
|
|
||||||
|
Dim lengths As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase)
|
||||||
|
|
||||||
|
Using cmd As New SqlClient.SqlCommand("
|
||||||
|
SELECT c.name, t.name AS DataType, c.max_length
|
||||||
|
FROM sys.columns c
|
||||||
|
INNER JOIN sys.types t ON c.user_type_id = t.user_type_id
|
||||||
|
WHERE c.object_id = OBJECT_ID('dbo.tblDakosy_NCTSOut004')
|
||||||
|
AND t.name IN ('varchar', 'nvarchar', 'char', 'nchar')", conn)
|
||||||
|
|
||||||
|
Using dr = cmd.ExecuteReader()
|
||||||
|
While dr.Read()
|
||||||
|
Dim maxLen As Integer = CInt(dr("max_length"))
|
||||||
|
If maxLen = -1 Then Continue While
|
||||||
|
Dim dataType As String = CStr(dr("DataType"))
|
||||||
|
If dataType = "nvarchar" OrElse dataType = "nchar" Then maxLen \= 2
|
||||||
|
lengths.Add(CStr(dr("name")), maxLen)
|
||||||
|
End While
|
||||||
|
End Using
|
||||||
|
End Using
|
||||||
|
|
||||||
|
Dim errors As New List(Of String)
|
||||||
|
|
||||||
|
For Each prop In NCTS_OUT.GetType().GetProperties()
|
||||||
|
If prop.PropertyType IsNot GetType(String) OrElse Not prop.CanRead Then Continue For
|
||||||
|
If prop.GetIndexParameters().Length > 0 Then Continue For
|
||||||
|
If Not lengths.ContainsKey(prop.Name) Then Continue For
|
||||||
|
|
||||||
|
Dim value As String = TryCast(prop.GetValue(NCTS_OUT, Nothing), String)
|
||||||
|
If value Is Nothing Then Continue For
|
||||||
|
|
||||||
|
Dim maxLen As Integer = lengths(prop.Name)
|
||||||
|
Dim actualBytes As Integer = System.Text.Encoding.GetEncoding(1252).GetByteCount(value)
|
||||||
|
If actualBytes > maxLen Then
|
||||||
|
errors.Add(prop.Name & ": " & actualBytes & "/" & maxLen & " Bytes - " & value.Substring(0, Math.Min(value.Length, 100)))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If errors.Count > 0 Then
|
||||||
|
MsgBox("Zu lange NCTS-Felder:" & vbCrLf & String.Join(vbCrLf, errors))
|
||||||
|
Throw New Exception("Zu lange NCTS-Felder:" & vbCrLf & String.Join(vbCrLf, errors))
|
||||||
|
End If
|
||||||
|
If lengths.Count = 0 Then
|
||||||
|
Throw New Exception("Keine Spalten für tblDakosy_NCTSOut004 gefunden. Datenbank oder Schema prüfen.")
|
||||||
|
End If
|
||||||
|
End Using
|
||||||
|
|
||||||
|
End Sub
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Imports DAKOSY_Worker
|
Imports DAKOSY_Worker
|
||||||
|
Imports VERAG_PROG_ALLGEMEIN
|
||||||
|
|
||||||
Public Class cWorker_AES_EXG
|
Public Class cWorker_AES_EXG
|
||||||
Public Shared Dateiname = ""
|
Public Shared Dateiname = ""
|
||||||
@@ -56,7 +57,8 @@ Public Class cWorker_AES_EXG
|
|||||||
EXG.exg_CountryOfDestination = RESP.HeaderData.CountryOfDestination
|
EXG.exg_CountryOfDestination = RESP.HeaderData.CountryOfDestination
|
||||||
EXG.exg_ReferenceNumberUCR = RESP.HeaderData.ReferenceNumberUCR
|
EXG.exg_ReferenceNumberUCR = RESP.HeaderData.ReferenceNumberUCR
|
||||||
|
|
||||||
frmDYNachrichtenVerarbeitung.setFirmaNL(VWI.Transaktion.IOPartner, VWI.Transaktion.IODivision3, EXG.exg_firma, EXG.exg_niederlassung)
|
frmDYNachrichtenVerarbeitung.setFirmaNL(VWI.Transaktion.IOPartner, VWI.Transaktion.IODivision3, EXG.exg_firma, EXG.exg_niederlassung, EXG.exg_ObjectName)
|
||||||
|
' frmDYNachrichtenVerarbeitung.tryGetFirmaNiederlassung(EXG.exg_firma, EXG.exg_niederlassung, If(EXG.exg_Representative_ContactPerson_EMailAddress, "").ToString, EXG.exg_ObjectName)
|
||||||
|
|
||||||
If RESP.HeaderData.Consignee IsNot Nothing Then
|
If RESP.HeaderData.Consignee IsNot Nothing Then
|
||||||
EXG.exg_Consignee_Name = RESP.HeaderData.Consignee.Name
|
EXG.exg_Consignee_Name = RESP.HeaderData.Consignee.Name
|
||||||
@@ -82,13 +84,23 @@ Public Class cWorker_AES_EXG
|
|||||||
EXG.exg_Consignor_SubsidiaryNumber = RESP.HeaderData.Exporter.SubsidiaryNumber
|
EXG.exg_Consignor_SubsidiaryNumber = RESP.HeaderData.Exporter.SubsidiaryNumber
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
EXG.exg_POSITION.Clear()
|
||||||
If RESP.GoodsItem IsNot Nothing Then
|
If RESP.GoodsItem IsNot Nothing Then
|
||||||
For Each ITEM In RESP.GoodsItem
|
For Each ITEM In RESP.GoodsItem
|
||||||
Dim EXG_ITEM As New cDakosy_EXG_Position
|
Dim EXG_ITEM As New cDakosy_EXG_Position
|
||||||
|
|
||||||
EXG_ITEM.exgPos_GoodsItemNumber = ITEM.GoodsItemNumber
|
EXG_ITEM.exgPos_GoodsItemNumber = ITEM.GoodsItemNumber
|
||||||
EXG_ITEM.exgPos_CommodityCode = ITEM.HarmonizedSystemSubHeadingCode & ITEM.CombinedNomenclatureCode
|
|
||||||
|
|
||||||
|
'Tarifnummer prüfen und zusammenstellen
|
||||||
|
Dim hsCode As String = If(ITEM.HarmonizedSystemSubHeadingCode, "").Trim()
|
||||||
|
Dim cnCode As String = If(ITEM.CombinedNomenclatureCode, "").Trim()
|
||||||
|
EXG_ITEM.exgPos_CommodityCode = hsCode & cnCode
|
||||||
|
If (hsCode <> "" AndAlso hsCode.Length <> 6) OrElse (cnCode <> "" AndAlso cnCode.Length <> 2) OrElse (hsCode = "" AndAlso cnCode <> "") Then
|
||||||
|
Debug.WriteLine("Ungültige Warentarifnummer in Position " & ITEM.GoodsItemNumber & ": " & EXG_ITEM.exgPos_CommodityCode)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
EXG_ITEM.exgPos_DescriptionOfGoods = ITEM.DescriptionOfGoods
|
EXG_ITEM.exgPos_DescriptionOfGoods = ITEM.DescriptionOfGoods
|
||||||
EXG_ITEM.exgPos_NetMass = ITEM.NetMass
|
EXG_ITEM.exgPos_NetMass = ITEM.NetMass
|
||||||
EXG_ITEM.exgPos_GrossMass = ITEM.GrossMass
|
EXG_ITEM.exgPos_GrossMass = ITEM.GrossMass
|
||||||
@@ -138,90 +150,76 @@ Public Class cWorker_AES_EXG
|
|||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
'Wenn markiert wurde, dass die NCTS Daten ergänzt werden sollten
|
'Wenn markiert wurde, dass die NCTS Daten ergänzt werden sollten
|
||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
Dim testDY = True
|
' Dim testDY = True
|
||||||
If testDY Or (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then
|
'----------------------------------------------------------------------
|
||||||
Console.WriteLine("EXG: NCTS Verarbeitung starten...")
|
'NCTS aktualisieren und nach letztem EXG-Rücklauf senden
|
||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
'NCTS BEFÜLLEN!
|
If EXG.exg_AutoFill_DyId IsNot Nothing Then
|
||||||
'----------------------------------------------------------------------
|
Dim dyId As Integer = Convert.ToInt32(EXG.exg_AutoFill_DyId)
|
||||||
Dim NCTS_OUT = fillNCTS_WithEXG_AutoFill(EXG, "TEEEEEEESTTT")
|
|
||||||
'----------------------------------------------------------------------
|
|
||||||
'----------------------------------------------------------------------
|
|
||||||
testDY = True
|
|
||||||
|
|
||||||
'Prüfen ob alle EXG Daten gekommen sind --> NCTS Senden!
|
If dyId > 0 Then
|
||||||
If testDY Or (cDakosyEXG.isFillNCTS_ID_ALLCompleted(EXG.exg_AutoFill_DyId)) Then
|
Dim DY_ANM As New cDakosy_Zollanmeldungen(dyId)
|
||||||
|
Dim NCTS_OUT = fillNCTS_WithEXG_AutoFill(EXG, "") '<<<<<-- Befüllung der NCTS-Daten mit den EXG-Daten. Danach wird geprüft, ob alle Positionen befüllt wurden.
|
||||||
|
|
||||||
|
If NCTS_OUT Is Nothing Then
|
||||||
|
Throw New Exception("NCTS-Befüllung fehlgeschlagen. EXG-ID: " & EXG.exg_Id)
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim DY_ANM = New cDakosy_Zollanmeldungen(EXG.exg_AutoFill_DyId)
|
If cDakosyEXG.isFillNCTS_ID_ALLCompleted(dyId) Then
|
||||||
If NCTS_OUT IsNot Nothing Then
|
|
||||||
|
|
||||||
|
'Alle EXG-Rückmeldungen vollständig: NCTS ergänzen und versenden
|
||||||
|
Dim BezugsNr As String = NCTS_OUT.ncts_ObjectName
|
||||||
|
If String.IsNullOrWhiteSpace(BezugsNr) Then BezugsNr = DY_ANM.dy_BezugsNr
|
||||||
|
If String.IsNullOrWhiteSpace(BezugsNr) Then Throw New Exception("NCTS-Bezugsnummer fehlt: " & dyId)
|
||||||
|
|
||||||
'Dim cDY As New cDakosyNCTSOut(cDyAnm.dy_Id, cDyAnm.dy_Erstellung_SB)
|
Dim firma As String = If(String.IsNullOrWhiteSpace(EXG.exg_firma), "VERAG", EXG.exg_firma)
|
||||||
|
Dim niederlassung As String = If(String.IsNullOrWhiteSpace(EXG.exg_niederlassung), "SUB", EXG.exg_niederlassung)
|
||||||
|
Dim nctsArt As String = If(String.IsNullOrWhiteSpace(DY_ANM.dy_ART), "T2", DY_ANM.dy_ART)
|
||||||
|
|
||||||
|
'AVISO und Sendung anhand der bestehenden Zollanmeldung laden
|
||||||
|
Dim AVISO As cAviso = Nothing
|
||||||
|
Dim SENDUNG As cSendungen = Nothing
|
||||||
|
|
||||||
|
If DY_ANM.dy_AvisoId IsNot Nothing AndAlso Convert.ToInt32(DY_ANM.dy_AvisoId) > 0 Then
|
||||||
|
AVISO = cAviso.getAvisoById(DY_ANM.dy_AvisoId)
|
||||||
|
End If
|
||||||
|
|
||||||
|
If DY_ANM.dy_SendungsId IsNot Nothing AndAlso Convert.ToInt32(DY_ANM.dy_SendungsId) > 0 Then
|
||||||
|
SENDUNG = New cSendungen(Convert.ToInt32(DY_ANM.dy_SendungsId))
|
||||||
|
End If
|
||||||
|
|
||||||
|
'AVISO-Vorblendung wie bei SendNCTS übernehmen
|
||||||
|
If AVISO IsNot Nothing Then
|
||||||
|
cDakosyNCTSOut004.loaddataFromAVISO(AVISO, SENDUNG, "", BezugsNr, NCTS_OUT, firma, False)
|
||||||
|
End If
|
||||||
|
|
||||||
|
'Bestehende NCTS-Anmeldung weiterverwenden
|
||||||
|
NCTS_OUT.ncts_ObjectName = BezugsNr
|
||||||
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
|
NCTS_OUT.ncts_dyaAnmID = DY_ANM.dy_Id
|
||||||
NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
|
NCTS_OUT.ncts_Erstellung_SB = DY_ANM.dy_Erstellung_SB
|
||||||
NCTS_OUT.ncts_LetzteBearbeitung = Now
|
NCTS_OUT.ncts_LetzteBearbeitung = Now
|
||||||
NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
|
NCTS_OUT.ncts_LetzteBearbeitung_SB = DY_ANM.dy_LetzteBearbeitung_SB
|
||||||
NCTS_OUT.ncts_firma = EXG.exg_firma
|
NCTS_OUT.ncts_firma = firma
|
||||||
NCTS_OUT.ncts_niederlassung = EXG.exg_niederlassung
|
NCTS_OUT.ncts_niederlassung = niederlassung
|
||||||
' DAKOSY_Interface_SEND.loadInClass_VersandanmeldungNCTSDE_004(NCTS_OUT, Me, DY_ANM, Me.FIRMA_DY)
|
NCTS_OUT.ncts_Declarationtype = nctsArt
|
||||||
|
NCTS_OUT.ncts_Trans_Referenz = BezugsNr & "_" & Now.ToString("ddMMyyHHmmss")
|
||||||
|
|
||||||
'VON HIER löschnen ohne test
|
If NCTS_OUT.ncts_HOUSE_CONSIGNMENT Is Nothing OrElse NCTS_OUT.ncts_HOUSE_CONSIGNMENT.Count = 0 Then
|
||||||
If testDY OrElse NCTS_OUT.SAVE_ALL() Then
|
Throw New Exception("Keine NCTS-House-Consignments vorhanden: " & dyId)
|
||||||
|
|
||||||
|
|
||||||
If If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Nur speichern wenn bei test exg_AutoFill_DyId befüllt ist
|
|
||||||
NCTS_OUT.SAVE_ALL()
|
|
||||||
End If
|
|
||||||
Dim saveFile = ""
|
|
||||||
|
|
||||||
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath, "NCTS") Then
|
|
||||||
|
|
||||||
If saveFile <> "" Then
|
|
||||||
|
|
||||||
frmStartOptions.copyFile(saveFile, "\\datenarchiv\Datenarchiv\DAKOSY\ECHTSYSTEM\EXG\upl\NCTS\")
|
|
||||||
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Else
|
|
||||||
'BIS HIER löschnen ohne test
|
|
||||||
|
|
||||||
If NCTS_OUT.SAVE_ALL() Then
|
|
||||||
|
|
||||||
Dim saveFile = ""
|
|
||||||
If cDakosyNCTSOut004.generateVersandanmeldungNCTSDE_004(NCTS_OUT, saveFile, "CREATE", Application.StartupPath, "NCTS") Then
|
|
||||||
If saveFile <> "" Then
|
|
||||||
|
|
||||||
If cDakosyFunftions.send_Data_To_Dakosy_FTP(saveFile, NCTS_OUT.ncts_ObjectName, DY_ANM.dy_Id, NCTS_OUT.ncts_firma) Then
|
|
||||||
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_03)
|
|
||||||
'If SENDUNG IsNot Nothing Then SENDUNG.SET_VGMA() ' MA Vorgeschrieben in Sendung setzen.
|
|
||||||
Else
|
|
||||||
DAKOSY_Worker.cDakosy_Statusmeldungen.InsertStatusMeldung(DY_ANM, DAKOSY_Worker.cDY_Statusliste.S_09)
|
|
||||||
MsgBox("Sendefehler!")
|
|
||||||
End If
|
|
||||||
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
'Identischer Speicher- und Versandweg wie bei SendNCTS
|
||||||
|
Dim result As String = cDakosyNCTSOut004.SaveAndSendNCTS(
|
||||||
|
NCTS_OUT, DY_ANM, BezugsNr, firma, True, SENDUNG, "CREATE", nctsArt)
|
||||||
|
|
||||||
If Not testDY Or If(EXG.exg_AutoFill_DyId, -1) > 0 Then 'Kann ganz weg kenn kein test
|
Console.WriteLine("EXG: Automatischer NCTS-Versand: " & BezugsNr & " - " & result)
|
||||||
|
|
||||||
DY_ANM.UPDATE_DATA()
|
|
||||||
|
|
||||||
'Beim Senden soll die Sendung überhnommen + tblSnd_VG_MA gesetzt werden --> damit gleich gesehen wird, dass der Akt in Bearbeitung ist.
|
|
||||||
DY_ANM.UPDATE_AVISO_SND(DY_ANM.dy_SendungsId)
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
'QULAIFIZIERUNG!
|
'QULAIFIZIERUNG!
|
||||||
'----------------------------------------------------------------------
|
'----------------------------------------------------------------------
|
||||||
@@ -298,24 +296,24 @@ Public Class cWorker_AES_EXG
|
|||||||
End Function
|
End Function
|
||||||
|
|
||||||
Shared Function fillNCTS_WithEXG_AutoFill(EXG As cDakosyEXG, ObjectName As String) As cDakosyNCTSOut004
|
Shared Function fillNCTS_WithEXG_AutoFill(EXG As cDakosyEXG, ObjectName As String) As cDakosyNCTSOut004
|
||||||
|
If EXG Is Nothing OrElse EXG.exg_AutoFill_DyId Is Nothing Then Return Nothing
|
||||||
|
|
||||||
If (EXG.exg_AutoFill_DyId IsNot Nothing AndAlso EXG.exg_AutoFill_DyId >= 0) Then
|
Dim dyId As Integer = Convert.ToInt32(EXG.exg_AutoFill_DyId)
|
||||||
Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(EXG.exg_AutoFill_DyId, True)
|
If dyId <= 0 Then Return Nothing
|
||||||
|
|
||||||
If NCTS_OUT Is Nothing Then
|
Dim NCTS_OUT = DAKOSY_Worker.cDakosyNCTSOut004.LOADByAnmIDFull(dyId, True)
|
||||||
NCTS_OUT = New DAKOSY_Worker.cDakosyNCTSOut004
|
If NCTS_OUT Is Nothing Then Throw New Exception("NCTS-Entwurf nicht gefunden. DY-ID: " & dyId)
|
||||||
NCTS_OUT.ncts_ObjectName = ObjectName
|
|
||||||
End If
|
|
||||||
|
|
||||||
Console.WriteLine("EXG: NCTS befüllen...")
|
Console.WriteLine("EXG: NCTS befüllen: " & EXG.exg_Id)
|
||||||
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, ObjectName)
|
DAKOSY_Worker.cDakosyNCTSOut004.fillNCTS_WithEXG(NCTS_OUT, EXG, NCTS_OUT.ncts_ObjectName)
|
||||||
Console.WriteLine("EXG: NCTS updaten...")
|
|
||||||
cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id) 'Eintrag, dass AutoFill durchgelaufen ist
|
|
||||||
|
|
||||||
Return NCTS_OUT
|
If Not NCTS_OUT.SAVE_ALL() Then
|
||||||
|
Throw New Exception("NCTS konnte nicht gespeichert werden. DY-ID: " & dyId)
|
||||||
End If
|
End If
|
||||||
Return Nothing
|
|
||||||
|
|
||||||
|
cDakosyEXG.UPDATE_FillNCTS_ID_Completed(EXG.exg_Id)
|
||||||
|
|
||||||
|
Return NCTS_OUT
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -946,7 +946,13 @@ Public Class frmDYNachrichtenVerarbeitung
|
|||||||
End If
|
End If
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Shared Sub setFirmaNL(iopartner As String, division As String, ByRef firma As String, ByRef nl As String)
|
Shared Sub setFirmaNL(iopartner As String, division As String, ByRef firma As String, ByRef nl As String, BezugsNr As String)
|
||||||
|
|
||||||
|
If iopartner = "UNAT" Then
|
||||||
|
firma = "UNISPED"
|
||||||
|
nl = "SUB"
|
||||||
|
End If
|
||||||
|
|
||||||
If division Is Nothing Then Exit Sub
|
If division Is Nothing Then Exit Sub
|
||||||
If division <> "" Then
|
If division <> "" Then
|
||||||
Select Case division
|
Select Case division
|
||||||
@@ -979,15 +985,40 @@ Public Class frmDYNachrichtenVerarbeitung
|
|||||||
nl = "AMBAR"
|
nl = "AMBAR"
|
||||||
Case "IME"
|
Case "IME"
|
||||||
firma = "IMEX"
|
firma = "IMEX"
|
||||||
nl = "IMX"
|
nl = "SUB"
|
||||||
Case "UNAT", "ATSPED"
|
Case "UNAT", "ATSPED"
|
||||||
firma = "UNISPED"
|
firma = "UNISPED"
|
||||||
nl = "ATSP"
|
nl = "SUB"
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
If String.IsNullOrWhiteSpace(firma) OrElse String.IsNullOrWhiteSpace(nl) Then
|
||||||
|
If Not String.IsNullOrWhiteSpace(BezugsNr) AndAlso BezugsNr.Length >= 4 Then
|
||||||
|
Dim neueFirma As String = ""
|
||||||
|
Dim neueNL As String = ""
|
||||||
|
|
||||||
|
Select Case BezugsNr.Substring(0, 4)
|
||||||
|
Case "5501" : neueFirma = "IMEX" : neueNL = "SUB"
|
||||||
|
Case "5701" : neueFirma = "AMBAR" : neueNL = "SBG"
|
||||||
|
Case "4801", "4802" : neueFirma = "ATILLA" : neueNL = "SUB"
|
||||||
|
Case "5801" : neueFirma = "FRONTOFFICE" : neueNL = "SUB"
|
||||||
|
Case "5802" : neueFirma = "FRONTOFFICE" : neueNL = "KLIPP"
|
||||||
|
Case "5003" : neueFirma = "VERAG" : neueNL = "SBG"
|
||||||
|
Case "5103" : neueFirma = "VERAG" : neueNL = "WAI"
|
||||||
|
Case "5303" : neueFirma = "VERAG" : neueNL = "NKD"
|
||||||
|
Case "4803", "4805", "4811", "7001" : neueFirma = "VERAG" : neueNL = "SUB"
|
||||||
|
Case "5601" : neueFirma = "UNISPED" : neueNL = "SUB"
|
||||||
|
End Select
|
||||||
|
|
||||||
|
If String.IsNullOrWhiteSpace(firma) Then firma = neueFirma
|
||||||
|
If String.IsNullOrWhiteSpace(nl) Then nl = neueNL
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
@@ -1004,7 +1035,7 @@ Public Class frmDYNachrichtenVerarbeitung
|
|||||||
|
|
||||||
Function getVerahrensartFromBezugsNr(bezugsNr) As String
|
Function getVerahrensartFromBezugsNr(bezugsNr) As String
|
||||||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||||||
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut004 WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
|
If SQL.getValueTxtBySql("Select TOP 1 COUNT(*) FROM tblDakosy_NCTSOut004 WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
|
||||||
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
|
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_NCTSOut WHERE ncts_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "NCTS"
|
||||||
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_EZA WHERE eza_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "EZA"
|
If SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) FROM tblDakosy_EZA WHERE eza_ObjectName='" & bezugsNr & "'", "FMZOLL") > 0 Then Return "EZA"
|
||||||
Return ""
|
Return ""
|
||||||
@@ -7214,6 +7245,7 @@ Public Class frmDYNachrichtenVerarbeitung
|
|||||||
|
|
||||||
|
|
||||||
Public Shared Sub tryGetFirmaNiederlassung(ByRef firma As String, ByRef niederlassung As String, Mail As String, BezugsNr As String)
|
Public Shared Sub tryGetFirmaNiederlassung(ByRef firma As String, ByRef niederlassung As String, Mail As String, BezugsNr As String)
|
||||||
|
|
||||||
If Mail.Contains("@imex") Then
|
If Mail.Contains("@imex") Then
|
||||||
firma = "IMEX"
|
firma = "IMEX"
|
||||||
niederlassung = "IMEX"
|
niederlassung = "IMEX"
|
||||||
|
|||||||
Reference in New Issue
Block a user