diff --git a/Aviso/frmATEZ_NCTS.vb b/Aviso/frmATEZ_NCTS.vb index ff1e003..d8a1181 100644 --- a/Aviso/frmATEZ_NCTS.vb +++ b/Aviso/frmATEZ_NCTS.vb @@ -1,4 +1,5 @@ Imports GrapeCity.ActiveReports.Design.DdrDesigner.Designers +Imports GrapeCity.ActiveReports.ReportsCore.Tools Imports Newtonsoft.Json.Linq Imports SDL Imports VERAG_PROG_ALLGEMEIN @@ -24,15 +25,17 @@ Public Class frmATEZ_NCTS Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = Nothing Dim openExisting As Boolean = False Dim id As Integer = -1 + Dim dgv As DataGridView = Nothing Property BezugsNr As String = "" Property SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen - Sub New(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, JAHR As Integer) + Sub New(AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, JAHR As Integer, Optional _dgv As DataGridView = Nothing) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() + If _dgv IsNot Nothing Then Me.dgv = _dgv Me.AVISO = AVISO Me.SENDUNG = SENDUNG Me.JAHR = JAHR @@ -47,13 +50,22 @@ Public Class frmATEZ_NCTS End Sub - Sub New(_id As Integer) + Sub New(_id As Integer, AVISO As VERAG_PROG_ALLGEMEIN.cAviso, SENDUNG As VERAG_PROG_ALLGEMEIN.cSendungen, JAHR As Integer) ' Dieser Aufruf ist für den Designer erforderlich. InitializeComponent() openExisting = True id = _id + Me.AVISO = AVISO + Me.SENDUNG = SENDUNG + Me.JAHR = JAHR + + If SENDUNG IsNot Nothing Then + Me.FilialenNr = SENDUNG.FilialenNr + Me.AbfertigungsNr = SENDUNG.AbfertigungsNr + End If + ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. @@ -63,15 +75,18 @@ Public Class frmATEZ_NCTS If id > 0 Then - Dim atez_data = New cATEZ_NCTS_DATA(id) - If atez_data.json <> "" Then - MsgBox(atez_data.json) 'InputBox(atez_data.json, "JSON-Text", , 100, 100) + Dim atezData = New cATEZ_NCTS_DATA(id) + If atezData.json <> "" And atezData.status <> "Draft" Then + MsgBox(atezData.json) + Else + Dim atez As New cATEZ_NCTS_IN + sendAtezData(atezData, atez) End If Else lblInfo.Text = "" - Dim failreDesc As String + Dim selectedDocuments As Boolean = False @@ -134,43 +149,74 @@ Public Class frmATEZ_NCTS If sbRoute8._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute8._value) If sbRoute9._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute9._value) - - Dim authResp = atez.authenticate() - If authResp <> "200" Then - failreDesc = "Authentifizierung fehlgeschlagen - " & authResp & vbNewLine & "Vorgang abgebrochen!" - lblInfo.Text = failreDesc - Exit Sub - End If - - - If Not atez.setJson(atezData, dgvAnhaenge) Then MsgBox("Fehler beim Erstellen der Daten") - - Dim azetId = atez.SendRequestWithAuthHeader("application/json", failreDesc) - - If failreDesc <> "" Then - atezData.status = failreDesc - atezData.SAVE() - lblInfo.Text = "Fehler in der API" - - Else - atezData.status = "Sent" - atezData.atezId = IIf(azetId IsNot Nothing, azetId, "") - atezData.SAVE() - Me.Close() - End If + sendAtezData(atezData, atez) End If + End Sub + + Private Sub sendAtezData(atezData As cATEZ_NCTS_DATA, atez As cATEZ_NCTS_IN) + + Dim failreDesc As String + + Dim authResp = atez.authenticate() + If authResp <> "200" Then + failreDesc = "Authentifizierung fehlgeschlagen - " & authResp & vbNewLine & "Vorgang abgebrochen!" + lblInfo.Text = failreDesc + Exit Sub + End If + + + If Not atez.setJson(atezData, dgvAnhaenge) Then MsgBox("Fehler beim Erstellen der Daten" & vbNewLine & "Vorgang abgebrochen!") + + Dim azetId = atez.SendRequestWithAuthHeader("application/json", failreDesc) + + If failreDesc <> "" Then + If atezData.status = "Draft" Then + MsgBox("Fehler beim Senden") + Exit Sub + End If + Dim result As MsgBoxResult = MsgBox("Fehler beim Senden" & vbNewLine & "Soll NCTS wird als Entwurf gespeichert werden?", vbYesNoCancel) + If result = vbYes Then + atezData.status = "Draft" + atezData.SAVE() + End If + lblInfo.Text = "Fehler in der API" + + Else + atezData.status = "Sent" + atezData.atezId = IIf(azetId IsNot Nothing, azetId, "") + atezData.SAVE() + Me.Close() + End If + End Sub Function getBezugsnr(ByRef BezugsNr) Dim BezugsNrTmp = "" - BezugsNrTmp = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr '& If(zusatz <> "", "/" & zusatz, "") 'zusatz ' & "/" & Jahr2Stellig + BezugsNrTmp = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr BezugsNr = BezugsNrTmp zusatz = "A" - 'Soloagne bis die Bezugsnummer noch nicht existiert + + If dgv IsNot Nothing Then + For Each r As DataGridViewRow In dgv.Rows + If r.Cells("BezugsNr").Value = BezugsNr Then + + If zusatz.Length = 1 Then + zusatz = Chr(Asc(zusatz.ToString) + 1) + Else + zusatz = zusatz.Substring(0, 1) & Chr(Asc(zusatz.Substring(0, 2).ToString) + 1) + End If + + If zusatz = "Z" Then zusatz = "AA" + End If + BezugsNr = BezugsNrTmp & "/" & zusatz + Next + + End If + While DAKOSY_Worker.cDakosy_Zollanmeldungen.ExistsBezugsNr(BezugsNr) 'IsNot Nothing BezugsNr = BezugsNrTmp & "/" & zusatz @@ -182,6 +228,7 @@ Public Class frmATEZ_NCTS If zusatz = "Z" Then zusatz = "AA" End While + lblBezugsnummer.Text = BezugsNr Return BezugsNr End Function @@ -202,12 +249,16 @@ Public Class frmATEZ_NCTS initAttachment() If openExisting Then - Button1.Text = "JSON" If id > 0 Then Dim atez_data = New cATEZ_NCTS_DATA(id) - lblInfo.Text = "Atez-ID " & atez_data.atezId + If atez_data.atezId <> "" Then + lblInfo.Text = "Atez-ID " & atez_data.atezId + Else + lblInfo.Text = "Status: " & atez_data.status + End If + lblBezugsnummer.Text = atez_data.VERAG_LRN cboStammreferenz._value = atez_data.SendungsId @@ -264,8 +315,19 @@ Public Class frmATEZ_NCTS i = i + 1 Next - pnlHead.Enabled = False - Button1.Enabled = True + If atez_data.status = "Draft" Then + Button1.Text = "An ATEZ senden -->" + pnlHead.Enabled = True + Button1.Enabled = True + initAttachment() + + Else + Button1.Text = "JSON" + pnlHead.Enabled = False + Button1.Enabled = True + End If + + Else Button1.Enabled = False End If diff --git a/Aviso/usrcntlAktDetailsATILLANeu.vb b/Aviso/usrcntlAktDetailsATILLANeu.vb index 1abcc06..40dd46b 100644 --- a/Aviso/usrcntlAktDetailsATILLANeu.vb +++ b/Aviso/usrcntlAktDetailsATILLANeu.vb @@ -1652,7 +1652,7 @@ Public Class usrcntlAktDetailsATILLANeu If SENDUNG_LIST IsNot Nothing AndAlso SENDUNG_LIST.Count > 0 Then Dim SND As VERAG_PROG_ALLGEMEIN.cSendungen = SENDUNG_LIST(0) - Dim frmAttilaATEZNCTS = New frmATEZ_NCTS(AVISO, SND, Now.ToString("yy")) + Dim frmAttilaATEZNCTS = New frmATEZ_NCTS(AVISO, SND, Now.ToString("yy"), dgvATEZNCTS) frmAttilaATEZNCTS.Show(Me) End If @@ -1670,9 +1670,22 @@ Public Class usrcntlAktDetailsATILLANeu Private Sub dgvATEZNCTS_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvATEZNCTS.CellDoubleClick - Dim frmAttilaATEZNCTS = New frmATEZ_NCTS(dgvATEZNCTS.SelectedRows(0).Cells("Id").Value) - frmAttilaATEZNCTS.Show(Me) + Try + + If SENDUNG_LIST IsNot Nothing AndAlso SENDUNG_LIST.Count > 0 Then + Dim SND As VERAG_PROG_ALLGEMEIN.cSendungen = SENDUNG_LIST(0) + + Dim frmAttilaATEZNCTS = New frmATEZ_NCTS(dgvATEZNCTS.SelectedRows(0).Cells("Id").Value, AVISO, SND, Now.ToString("yy")) + frmAttilaATEZNCTS.Show(Me) + + End If + + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try + Me.Cursor = Cursors.Default End Sub End Class