Imports SDL Imports VERAG_PROG_ALLGEMEIN Public Class frmATEZ_NCTS Dim ART As String = "" Dim FilialenNr As Integer Dim AbfertigungsNr As Integer Dim JAHR As Integer = Now.ToString("yy") Public isSTAMMREF As Boolean = False Public STAMMREF As String = "" Public CopyFromZA_Id As Integer = -1 Dim FIRMA_DY = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA Dim ZOLL_SYSTEM = "DAKOSY" Dim DY As DAKOSY_Worker.cDakosy_Zollanmeldungen = Nothing Public ATT As List(Of String) Dim AVISO As New cAviso Dim zusatz As String Dim cDy_ART As String = If(FIRMA_DY = "ATILLA", "T2", "T1") Dim VermerkeDAL As New cVermerkeDAL Dim NCTS As DAKOSY_Worker.cDakosyNCTSOut = Nothing Dim openExisting As Boolean = False Dim id As Integer = -1 Dim dgv As DataGridView = Nothing Dim atez_data As cATEZ_NCTS_DATA Dim atez = New cATEZ_NCTS_IN("atez") Dim allSelected As Boolean = False 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, 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 If SENDUNG IsNot Nothing Then Me.FilialenNr = SENDUNG.FilialenNr Me.AbfertigungsNr = SENDUNG.AbfertigungsNr End If ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub 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. End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Try If Button1.Text = "JSON" Then If Not atez.setJson(atez_data) Then MsgBox("Fehler beim Erstellen der Daten") atez.setJsonPDF(atez_data, dgvAnhaenge) Dim data As New DataObject() data.SetData(DataFormats.Text, atez_data.json) Clipboard.SetDataObject(data) Me.Cursor = Cursors.Default MsgBox("JSON-Daten in Zwischenablage gespeichert") Exit Sub End If If atez_data.status = "Sent" Then Exit Sub End If 'auskommentiert, weil Sendungen ohne ANhang auch geschickt werden sollen: M.Akceylan 'If Not checkAttachment() Then ' Exit Sub 'End If If Not checkMandatoryField() Then Exit Sub End If Me.Cursor = Cursors.WaitCursor lblInfo.Text = "" With atez_data .AvisoId = AVISO.AvisoID .SendungsId = SENDUNG.tblSnd_SendungID .VERAG_LRN = lblBezugsnummer.Text .LicensePlateContainerNo = txtLKWId.Text .DAKOSY_TemplateCode = cboStammreferenz._value If .DAKOSY_TemplateCode = "" Then .DAKOSY_TemplateCode = "*OWN" .DAKOSY_Procedure = cboProzedur._value .DAKOSY_IOPartner = txtDyMandant.Text .DAKOSY_Division3 = txtDyNiederlassung.Text .DepartureCustomsOffice = sbAbgangZollstelle._value .DestinationCustomsOffice = sbBestimmungsZollstelle._value .DatDeterminationLimit = txtDat.Text .CoolingTemperature = IIf(cbxTemperatur.Checked, txtTransporttemp.Text, "") .Carrier_Name = usrCntl_Carrier.kdFirma.Text .Carrier_Adress_City = usrCntl_Carrier.txtOrt.Text .Carrier_Adress_Country = usrCntl_Carrier.sbLand._value .Carrier_Adress_Postcode = usrCntl_Carrier.txtPlz.Text .Carrier_Adress_Street = usrCntl_Carrier.txtStrasse.Text .Carrier_EORI = usrCntl_Carrier.txtEORI.Text .Guarantee_GRN = "" 'leer .erstellerId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID If .selectedDocuments <> "" Then .selectedDocuments = "" For Each doc As DataGridViewRow In dgvAnhaenge.Rows Dim isSelected = IIf(DBNull.Value Is doc.Cells("anh_selekt").Value, False, doc.Cells("anh_selekt").Value) If isSelected Then .selectedDocuments &= doc.Cells("anh_docId").Value & ", " End If Next .SAVE() End With saveDurchgangszollstelle(atez_data) saveRoute(atez_data) setDurchgangszolstellen() setRoute() If sendAtezData(atez_data, atez) Then AvisoStatusFunctions.insertSendungsVermerk(SENDUNG.tblSnd_SendungID, SENDUNG.tblSnd_AvisoID, "An ATEZ gesendet", 109) Me.Close() Else Me.Close() End If Me.Cursor = Cursors.Default Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) Me.Cursor = Cursors.Default End Try End Sub Private Function sendAtezData(atezData As cATEZ_NCTS_DATA, atez As cATEZ_NCTS_IN) As Boolean Dim failreDesc As String Dim authResp = atez.authenticate() If authResp <> "200" Then failreDesc = "Authentifizierung fehlgeschlagen" lblInfo.Text = failreDesc & " - " & authResp & vbNewLine & "Vorgang abgebrochen" & vbNewLine & " Bitte wiederholen!" Dim resultAuthentifizierung As MsgBoxResult = MsgBox("Fehler beim Authentifizieren" & vbNewLine & failreDesc & vbNewLine & "Soll NCTS als Entwurf gespeichert werden?", vbYesNoCancel) If resultAuthentifizierung = vbYes Then atezData.status = "Draft" atezData.fehlerbeschreibung = failreDesc Return atezData.SAVE() Else atezData.status = "Failure" atezData.fehlerbeschreibung = failreDesc Return atezData.SAVE() End If Return False End If atezData.sessionId = atez.sessionID If Not atez.setJson(atezData) Then MsgBox("Fehler beim Erstellen der Daten" & vbNewLine & "Vorgang abgebrochen!") atezData.status = "Failure" atezData.fehlerbeschreibung = "Fehler beim Erstellen der Daten" Return atezData.SAVE End If If checkAttachment() Then If Not atez.setJsonPDF(atezData, dgvAnhaenge) Then MsgBox("Fehler beim Erstellen der PDF-Daten!" & vbNewLine & "Vorgang abgebrochen!") atezData.status = "Failure" atezData.fehlerbeschreibung = "Fehler beim Erstellen der PDF-Daten!" Return atezData.SAVE End If End If Dim azetId = atez.SendRequestWithAuthHeader("application/json", failreDesc) If failreDesc <> "" Then If atezData.status = "Draft" Then MsgBox("Fehler beim Senden" & vbNewLine & failreDesc) atezData.fehlerbeschreibung = failreDesc Return atezData.SAVE() End If Dim result As MsgBoxResult = MsgBox("Fehler beim Senden" & vbNewLine & failreDesc & vbNewLine & "Soll NCTS als Entwurf gespeichert werden?", vbYesNoCancel) If result = vbYes Then atezData.status = "Draft" atezData.fehlerbeschreibung = failreDesc Return atezData.SAVE() Else atezData.status = "Failure" atezData.fehlerbeschreibung = failreDesc Return atezData.SAVE() End If lblInfo.Text = "Fehler in der API " Else If azetId = "-1" Then atezData.fehlerbeschreibung = "Request has been sent, but no header received!" Else atezData.fehlerbeschreibung = "" End If atezData.status = "Sent" atezData.atezId = IIf(azetId IsNot Nothing, azetId, "") Return atezData.SAVE() End If End Function Function getBezugsnr(ByRef BezugsNr) Dim BezugsNrTmp = "" BezugsNrTmp = SENDUNG.FilialenNr & "/" & SENDUNG.AbfertigungsNr BezugsNr = BezugsNrTmp zusatz = "A" If dgv IsNot Nothing AndAlso dgv.Rows.Count > 0 Then BezugsNr = BezugsNrTmp & "/" & zusatz 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 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 While lblBezugsnummer.Text = BezugsNr Return BezugsNr End Function Private Sub frmATEZNCTS_Load(sender As Object, e As EventArgs) Handles MyBase.Load Select Case FIRMA_DY Case "VERAG" : txtDyMandant.Text = "VERG" txtDyNiederlassung.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG Select Case FilialenNr Case "5103" : txtDyNiederlassung.Text = "WAI" End Select Case "ATILLA" : txtDyMandant.Text = "ATIL" : txtDyNiederlassung.Text = "SUW" Case "UNISPED" : txtDyMandant.Text = "UNAT" : txtDyNiederlassung.Text = "ATSPED" Case "IMEX" : txtDyMandant.Text = "IMEX" : txtDyNiederlassung.Text = "IME" Case "AMBAR" : txtDyMandant.Text = "ATIL" : txtDyNiederlassung.Text = "AMBWO" End Select initSeachboxes() lblAnh.Visible = True cboProzedur.Items.Clear() cboProzedur.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("T1", "T1")) cboProzedur.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("T2", "T2")) cboProzedur.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("TIR", "TIR")) Select Case FIRMA_DY Case "ATILLA" : cboProzedur.changeItem("T2") Case Else : cboProzedur.changeItem("T1") End Select If openExisting Then If id > 0 Then atez_data = New cATEZ_NCTS_DATA(id) initAttachment() If atez_data.atezId <> "" Then lblInfo.Text = "Atez-ID " & atez_data.atezId Else lblInfo.Text = "Status: " & IIf(atez_data.fehlerbeschreibung <> "", atez_data.status & "- " & atez_data.fehlerbeschreibung, atez_data.status) End If lblBezugsnummer.Text = atez_data.VERAG_LRN cboStammreferenz.fillWithSQL("SELECT [dySr_Stammreferenz],[dySr_Bezeichnung] FROM [tblDakosy_Stammreferenzen] WHERE dySr_Land='DE' AND dySr_Verfahren='NCTS' and dySr_dy_Mandant='" & txtDyMandant.Text & "' and dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "') and dySr_visible=1", False, "FMZOLL", True) cboStammreferenz.changeItem(atez_data.DAKOSY_TemplateCode) cboProzedur.changeItem(atez_data.DAKOSY_Procedure) txtLKWId.Text = atez_data.LicensePlateContainerNo sbBestimmungsZollstelle.SET_VALUE(atez_data.DestinationCustomsOffice) sbAbgangZollstelle.SET_VALUE(atez_data.DepartureCustomsOffice) cbxTemperatur.Checked = IIf(atez_data.CoolingTemperature <> "", True, False) txtTransporttemp.Text = atez_data.CoolingTemperature txtDat.Text = IIf(atez_data.DatDeterminationLimit IsNot DBNull.Value, atez_data.DatDeterminationLimit, "") usrCntl_Carrier.kdFirma.Text = atez_data.Carrier_Name usrCntl_Carrier.txtStrasse.Text = atez_data.Carrier_Adress_Street usrCntl_Carrier.txtPlz.Text = atez_data.Carrier_Adress_Postcode usrCntl_Carrier.txtOrt.Text = atez_data.Carrier_Adress_City usrCntl_Carrier.sbLand._value = atez_data.Carrier_Adress_Country usrCntl_Carrier.txtEORI.Text = atez_data.Carrier_EORI setDurchgangszolstellen() setRoute() 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 dgvAnhaenge.ReadOnly = True Button1.Enabled = True End If Else Button1.Enabled = False End If Else atez_data = New cATEZ_NCTS_DATA() initAttachment() Button1.Text = "An ATEZ senden -->" pnlHead.Enabled = True cboStammreferenz.fillWithSQL("SELECT [dySr_Stammreferenz],[dySr_Bezeichnung] FROM [tblDakosy_Stammreferenzen] WHERE dySr_Land='DE' AND dySr_Verfahren='NCTS' and dySr_dy_Mandant='" & txtDyMandant.Text & "' and dySr_dy_Niederlassung IN ('','" & txtDyNiederlassung.Text & "') and dySr_visible=1", False, "FMZOLL", True) cboStammreferenz.changeItem("") getBezugsnr(BezugsNr) txtLKWId.Text = AVISO.LKW_Nr sbBestimmungsZollstelle.SET_VALUE(SENDUNG.NCTS_Bestimmungszollstelle) cbxTemperatur.Checked = IIf(AVISO.TransportTemperatur <> "", True, False) txtTransporttemp.Text = AVISO.TransportTemperatur If AVISO.Frächter_KdNr IsNot Nothing AndAlso IsNumeric(AVISO.Frächter_KdNr) AndAlso AVISO.Frächter_KdNr > 0 Then usrCntl_Carrier.kdFirma.initKdBox(Me) usrCntl_Carrier.kdFirma.KdNr = AVISO.Frächter_KdNr End If If AVISO.Grenzstelle.Replace("???", "") = "" Then sbAbgangZollstelle.SET_VALUE(AVISO.Zollstelle) Else Dim GRZ As New VERAG_PROG_ALLGEMEIN.cGrenzstelle(AVISO.Grenzstelle) If GRZ IsNot Nothing AndAlso GRZ.hasEntry Then If GRZ.grz_ZollamtDST IsNot Nothing Then sbAbgangZollstelle.SET_VALUE(GRZ.grz_ZollamtDST) End If End If End If sbDurchgangszollstelle1.SET_VALUE(If(AVISO.Durchgangszollstelle1, "")) sbDurchgangszollstelle2.SET_VALUE(If(AVISO.Durchgangszollstelle2, "")) sbDurchgangszollstelle3.SET_VALUE(If(AVISO.Durchgangszollstelle3, "")) sbDurchgangszollstelle4.SET_VALUE(If(AVISO.Durchgangszollstelle4, "")) sbDurchgangszollstelle5.SET_VALUE(If(AVISO.Durchgangszollstelle5, "")) sbDurchgangszollstelle6.SET_VALUE(If(AVISO.Durchgangszollstelle6, "")) End If 'initAttachment() End Sub Sub initAttachment() Dim hSQL As String = " SELECT [anh_id],anh_Datum,[anh_Name],[anh_docId], case WHEN [anh_size] > 0 Then ROUND([anh_size] / 1000000,2) End as anh_size, CASE WHEN [anh_Art] = 'ATR-EUR1' then 'EUR' when [anh_Art] = 'Rechnung' then 'INVOICE' when [anh_Art] = 'eFatura' then 'INVOICE' when [anh_Art] = 'CMR' then 'CMR' when [anh_Art] = 'Ausfuhr' then 'OTHER' when [anh_Art] = 'Vorpapier' then 'OTHER' when [anh_Art] = 'Packliste' then 'PACK' when [anh_Art] = 'Auftrag' then 'OTHER' when [anh_Art] = 'Auftrag' then 'OTHER' when [anh_Art] = 'Dispoliste' then 'OTHER' when [anh_Art] = 'Vorkasse' then 'OTHER' when [anh_Art] = 'Überweisungsbeleg' then 'OTHER' when [anh_Art] = 'Vollmacht' then 'OTHER' when [anh_Art] = 'ATB' then 'OTHER' when [anh_Art] = 'ATA' then 'CarnetATA' when [anh_Art] = 'Sonstiges' then 'OTHER' when [anh_Art] ='' then 'OTHER' End [anh_Art],[anh_Typ] FROM [tblAvisoAnhaenge] WHERE [anh_AvisoId]=" & AVISO.AvisoID & "AND (anh_SendungsId is null OR anh_SendungsId <=0 OR anh_SendungsId='" & SENDUNG.tblSnd_SendungID & "') And anh_Typ = 'PDF' ORDER BY anh_SendungsId desc, case when [anh_Art] = 'ATR-EUR1' then 0 when [anh_Art] = 'Rechnung' then 1 when [anh_Art] = 'eFatura' then 1.1 when [anh_Art] = 'CMR' then 2 when [anh_Art] = 'Ausfuhr' then 3 when [anh_Art] = 'Vorpapier' then 4 when [anh_Art] = 'Packliste' then 5 when [anh_Art] = 'Auftrag' then 6 when [anh_Art] = 'Auftrag' then 7 when [anh_Art] = 'Dispoliste' then 8 when [anh_Art] = 'Vorkasse' then 9 when [anh_Art] = 'Überweisungsbeleg' then 10 when [anh_Art] = 'Vollmacht' then 11 when [anh_Art] = 'ATB' then 12 when [anh_Art] = 'ATA' then 13 when [anh_Art] = 'Sonstiges' then 99 when [anh_Art] ='' then 15 END, [anh_Reihenfolge],[anh_id]" Dim dt = VermerkeDAL.Anzeigen_Vermerke(hSQL) Dim col As DataColumn col = dt.Columns.Add("anh_selekt", GetType(Boolean)) col.SetOrdinal(0) dgvAnhaenge.Columns.Clear() dgvAnhaenge.DataSource = dt If dgvAnhaenge.RowCount = 0 Then dgvAnhaenge.Columns.Clear() : Exit Sub With dgvAnhaenge .Enabled = True .ReadOnly = False .RowTemplate.MinimumHeight = 30 .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells .Columns("anh_id").Visible = False 'VermerkID nicht anzeigenconMenuVermerke .Columns("anh_docId").Visible = False 'AvisoID nicht anzeigen .Columns("anh_selekt").Width = 25 .Columns("anh_selekt").HeaderText = "" .Columns("anh_selekt").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Datum").MinimumWidth = 50 .Columns("anh_Datum").HeaderText = "Datum" .Columns("anh_Datum").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Datum").ReadOnly = True .Columns("anh_Name").MinimumWidth = 150 .Columns("anh_Name").HeaderText = "Name" .Columns("anh_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("anh_Name").ReadOnly = True .Columns("anh_Art").MinimumWidth = 50 .Columns("anh_Art").HeaderText = "Art" .Columns("anh_Art").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Art").ReadOnly = True .Columns("anh_Typ").Width = 50 .Columns("anh_Typ").HeaderText = "Typ" .Columns("anh_Typ").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_Typ").ReadOnly = True .Columns("anh_size").Width = 50 .Columns("anh_size").HeaderText = "Größe in MB" .Columns("anh_size").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("anh_size").ReadOnly = True End With For Each doc As DataGridViewRow In dgvAnhaenge.Rows If Not IsDBNull(doc.Cells("anh_size").Value) AndAlso doc.Cells("anh_size").Value > 0 Then Dim size = (doc.Cells("anh_size").Value) If size < 1 Then doc.DefaultCellStyle.BackColor = Color.LightGreen ElseIf size > 1 AndAlso size < 5 Then doc.DefaultCellStyle.BackColor = Color.LightYellow Else doc.DefaultCellStyle.BackColor = Color.IndianRed End If End If Next If atez_data IsNot Nothing AndAlso atez_data.selectedDocuments <> "" Then For Each doc As DataGridViewRow In dgvAnhaenge.Rows If atez_data.selectedDocuments.Contains(doc.Cells("anh_docId").Value) Then doc.Cells("anh_selekt").Value = True Next End If End Sub Sub initSeachboxes() sbAbgangZollstelle.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbBestimmungsZollstelle.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle1.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle2.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle3.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle4.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle5.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle6.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle7.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle8.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbDurchgangszollstelle9.initSearchBox(Me.FindForm, "[Code] ,[Code] as Nr,Description as Dienststelle,left(Code,2) as Land,[Description] +' (' +left(Code,2)+')' as display FROM [tbl_DY_ZollDE_C0141_Zollstellen]", {" [Code]", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", " left(Code,2),[Description]", "Code", "display", "FMZOLL", , 400, 200, {"display", "Code"}) sbRoute1.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute2.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute3.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute4.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute5.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute6.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute7.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute8.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) sbRoute9.initSearchBox(Me.FindForm, " [Code] ,[Description] as Land,[Code]+' - ' +[Description] as display FROM tbl_DY_ZollDE_C0008_LaenderFull", {"Code", "Description"}, " (StartDate is null OR StartDate< GETDATE()) AND (EndDate is null OR EndDate> GETDATE()) ", "Code", "Code", "display", "FMZOLL", , 400, 200) End Sub Private Sub lklRoutenauswahl_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lklRoutenauswahl.LinkClicked Dim frmRoutenauswahl As New frmRoutenauswahl If frmRoutenauswahl.ShowDialog(Me) = DialogResult.OK Then If frmRoutenauswahl.ROUTE.Count > 0 Then sbRoute1.SET_VALUE(frmRoutenauswahl.ROUTE(0)) Else sbRoute1.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 1 Then sbRoute2.SET_VALUE(frmRoutenauswahl.ROUTE(1)) Else sbRoute2.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 2 Then sbRoute3.SET_VALUE(frmRoutenauswahl.ROUTE(2)) Else sbRoute3.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 3 Then sbRoute4.SET_VALUE(frmRoutenauswahl.ROUTE(3)) Else sbRoute4.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 4 Then sbRoute5.SET_VALUE(frmRoutenauswahl.ROUTE(4)) Else sbRoute5.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 5 Then sbRoute6.SET_VALUE(frmRoutenauswahl.ROUTE(5)) Else sbRoute6.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 6 Then sbRoute7.SET_VALUE(frmRoutenauswahl.ROUTE(6)) Else sbRoute7.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 7 Then sbRoute8.SET_VALUE(frmRoutenauswahl.ROUTE(7)) Else sbRoute8.SET_VALUE("") If frmRoutenauswahl.ROUTE.Count > 8 Then sbRoute9.SET_VALUE(frmRoutenauswahl.ROUTE(8)) Else sbRoute9.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 0 Then sbDurchgangszollstelle1.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(0)) Else sbDurchgangszollstelle1.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 1 Then sbDurchgangszollstelle2.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(1)) Else sbDurchgangszollstelle2.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 2 Then sbDurchgangszollstelle3.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(2)) Else sbDurchgangszollstelle3.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 3 Then sbDurchgangszollstelle4.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(3)) Else sbDurchgangszollstelle4.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 4 Then sbDurchgangszollstelle5.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(4)) Else sbDurchgangszollstelle5.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 5 Then sbDurchgangszollstelle6.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(5)) Else sbDurchgangszollstelle6.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 6 Then sbDurchgangszollstelle7.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(6)) Else sbDurchgangszollstelle7.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 7 Then sbDurchgangszollstelle8.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(7)) Else sbDurchgangszollstelle8.SET_VALUE("") If frmRoutenauswahl.ZOLLAEMTER.Count > 8 Then sbDurchgangszollstelle9.SET_VALUE(frmRoutenauswahl.ZOLLAEMTER(8)) Else sbDurchgangszollstelle9.SET_VALUE("") End If End Sub Private Sub dtpDat_ValueChanged(sender As Object, e As EventArgs) Handles dtpDat.ValueChanged txtDat._value = CDate(sender.value).ToShortDateString End Sub Public Function checkAttachment() As Boolean Dim selectedDocuments As Boolean = False For Each Row In dgvAnhaenge.Rows selectedDocuments = IIf(DBNull.Value Is Row.Cells("anh_selekt").Value, False, Row.Cells("anh_selekt").Value) If selectedDocuments Then Exit For Next 'If Not selectedDocuments Then ' lblInfo.Text = "kein Anhang selektiert" ' Cursor = Cursors.Default ' Return selectedDocuments 'End If Return selectedDocuments End Function Public Function checkMandatoryField() As Boolean 'TODO Return True End Function Public Sub setDurchgangszolstellen() Dim TCO_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_TransitCustomsOffice) VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_TransitCustomsOffice.LOAD_LIST_ByNCTS(TCO_LIST, id) Dim i As Integer = 0 For Each tco In TCO_LIST If i = 0 Then sbDurchgangszollstelle1.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 1 Then sbDurchgangszollstelle2.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 2 Then sbDurchgangszollstelle3.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 3 Then sbDurchgangszollstelle4.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 4 Then sbDurchgangszollstelle5.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 5 Then sbDurchgangszollstelle6.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 6 Then sbDurchgangszollstelle7.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 7 Then sbDurchgangszollstelle8.SET_VALUE(If(tco.TransitCustomsOffice, "")) If i = 8 Then sbDurchgangszollstelle9.SET_VALUE(If(tco.TransitCustomsOffice, "")) i = i + 1 Next End Sub Public Sub setRoute() Dim Route_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_Routen) VERAG_PROG_ALLGEMEIN.cATEZ_NCTS_Routen.LOAD_LIST_ByNCTS(Route_LIST, id) Dim i = 0 For Each route In Route_LIST If i = 0 Then sbRoute1.SET_VALUE(route.Route_Country) If i = 1 Then sbRoute2.SET_VALUE(route.Route_Country) If i = 2 Then sbRoute3.SET_VALUE(route.Route_Country) If i = 3 Then sbRoute4.SET_VALUE(route.Route_Country) If i = 4 Then sbRoute5.SET_VALUE(route.Route_Country) If i = 5 Then sbRoute6.SET_VALUE(route.Route_Country) If i = 6 Then sbRoute7.SET_VALUE(route.Route_Country) If i = 7 Then sbRoute8.SET_VALUE(route.Route_Country) If i = 8 Then sbRoute9.SET_VALUE(route.Route_Country) i = i + 1 Next End Sub Public Sub saveDurchgangszollstelle(atezData As cATEZ_NCTS_DATA) Dim atezTransitOffice As New cATEZ_NCTS_TransitCustomsOffice() atezTransitOffice.delete(atezData.Id) If sbDurchgangszollstelle1._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle1._value) If sbDurchgangszollstelle2._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle2._value) If sbDurchgangszollstelle3._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle3._value) If sbDurchgangszollstelle4._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle4._value) If sbDurchgangszollstelle5._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle5._value) If sbDurchgangszollstelle6._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle6._value) If sbDurchgangszollstelle7._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle7._value) If sbDurchgangszollstelle8._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle8._value) If sbDurchgangszollstelle9._value <> "" Then Dim TCO As New cATEZ_NCTS_TransitCustomsOffice(atezData.Id, sbDurchgangszollstelle9._value) End Sub Public Sub saveRoute(atezData As cATEZ_NCTS_DATA) Dim atezRouten As New cATEZ_NCTS_Routen() atezRouten.delete(atezData.Id) If sbRoute1._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute1._value) If sbRoute2._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute2._value) If sbRoute3._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute3._value) If sbRoute4._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute4._value) If sbRoute5._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute5._value) If sbRoute6._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute6._value) If sbRoute7._value <> "" Then Dim route As New cATEZ_NCTS_Routen(atezData.Id, sbRoute7._value) 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) End Sub Private Sub dgvAnhaenge_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellDoubleClick Try If dgvAnhaenge.SelectedRows.Count > 0 Then Dim docPath = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dgvAnhaenge.SelectedRows(0).Cells("anh_docId").Value) If Not IO.File.Exists(docPath) Then MsgBox("Die Datei existiert nicht!") Else If docPath.ToString.ToLower.EndsWith(".msg") Then ' MSG - Mails --> lokale Kopie, sonst Fehler (bereits von Benutzer soUndSo geöffnet) Dim docPathTMP = VERAG_PROG_ALLGEMEIN.cFormularManager.getTMPPath_MSG() System.IO.File.Copy(docPath, docPathTMP) Process.Start(docPathTMP) Else Process.Start(docPath) End If End If End If Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) End Try End Sub Private Sub dgvAnhaenge_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvAnhaenge.CellClick Dim countAnh As Double = 0 If dgvAnhaenge.RowCount > 0 Then If dgvAnhaenge.Columns(e.ColumnIndex).Name = "anh_selekt" Then If Not IsDBNull(dgvAnhaenge.CurrentRow.Cells("anh_selekt").Value) AndAlso dgvAnhaenge.CurrentRow.Cells("anh_selekt").Value = True Then countAnh += IIf(dgvAnhaenge.CurrentRow.Cells("anh_size").Value IsNot DBNull.Value, dgvAnhaenge.CurrentRow.Cells("anh_size").Value, 0) End If For Each Row As DataGridViewRow In dgvAnhaenge.Rows If Row.Cells("anh_selekt").Value IsNot DBNull.Value AndAlso Row.Cells("anh_selekt").Value = True AndAlso Row.Cells("anh_size").Value IsNot DBNull.Value Then countAnh += IIf(Row.Cells("anh_size").Value IsNot DBNull.Value, Row.Cells("anh_size").Value, 0) End If Next lblAnh.Text = "Anhang in MB: " & countAnh.ToString End If End If End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click If dgvAnhaenge.RowCount > 0 Then Dim countAnh As Double = 0 For Each Row As DataGridViewRow In dgvAnhaenge.Rows If allSelected Then Row.Cells("anh_selekt").Value = True countAnh += IIf(Row.Cells("anh_size").Value IsNot DBNull.Value, Row.Cells("anh_size").Value, 0) Else Row.Cells("anh_selekt").Value = False countAnh = 0 End If Next allSelected = Not allSelected lblAnh.Text = "Anhang in MB: " & countAnh.ToString End If End Sub End Class