Merge branch 'ADMIN' of https://git.it.verag.ag/edv/ADMIN into ADMIN

This commit is contained in:
2026-10-14 16:56:54 +02:00
7 changed files with 504 additions and 217 deletions

View File

@@ -434,7 +434,7 @@ Public Class cPLOSE_Inv_Data
End If
If dt IsNot Nothing Then
Dim SQLstr = "Select plInv_SupplierCountry as Land, [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierCountry,plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt"
Dim SQLstr = "Select plInv_SupplierCountry as Land, [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST,plInv_PdfFileName from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierCountry,plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt,plInv_PdfFileName"
dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
dt_missingInvoices = dt
Return dt.Rows.Count
@@ -443,7 +443,7 @@ Public Class cPLOSE_Inv_Data
If getDetailsInDatatable Then
Dim SQLstr = "Select plInv_SupplierCountry as Land ,[plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierCountry,plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt"
Dim SQLstr = "Select plInv_SupplierCountry as Land ,[plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST,plInv_PdfFileName from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierCountry,plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt,plInv_PdfFileName"
dt_missingInvoices = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
Return dt_missingInvoices.Rows.Count

View File

@@ -289,7 +289,7 @@ Module Mail
bis = New Date(Now.Year, Now.Month, 1).AddDays(-1)
End If
Dim mailTo = "Julie.Garton@kanadevia-inova.com; Mark.Stauffer@kanadevia-inova.com;Sevda.Aksoy@kanadevia-inova.com; Iryna.Hauser@kanadevia-inova.com"
Dim mailTo = "Julie.Garton@kanadevia-inova.com; Mark.Stauffer@kanadevia-inova.com;Sevda.Aksoy@kanadevia-inova.com; Iryna.Hauser@kanadevia-inova.com;Cansu.Buldum@kanadevia-inova.com;Koray.Genis@kanadevia-inova.com"
Dim mailToBCC = "ml@verag.ag;al@verag.ag"
'mailToBCC = "d.breimaier@verag.ag"
@@ -335,7 +335,7 @@ Module Mail
bis = New Date(Now.Year, Now.Month, 1).AddDays(-1)
End If
Dim mailTo = "Julie.Garton@kanadevia-inova.com; Mark.Stauffer@kanadevia-inova.com;Sevda.Aksoy@kanadevia-inova.com; Iryna.Hauser@kanadevia-inova.com;"
Dim mailTo = "Julie.Garton@kanadevia-inova.com; Mark.Stauffer@kanadevia-inova.com;Sevda.Aksoy@kanadevia-inova.com; Iryna.Hauser@kanadevia-inova.com;Cansu.Buldum@kanadevia-inova.com;Koray.Genis@kanadevia-inova.com"
Dim mailToBCC = "ml@verag.ag;al@verag.ag;"
'mailToBCC = "d.breimaier@verag.ag;"

View File

@@ -207,6 +207,8 @@ Partial Class frmMitarbDetails
Me.cboAdminBer = New System.Windows.Forms.ComboBox()
Me.Label7 = New System.Windows.Forms.Label()
Me.TabPage8 = New System.Windows.Forms.TabPage()
Me.Label73 = New System.Windows.Forms.Label()
Me.txtTimasID = New System.Windows.Forms.TextBox()
Me.cbxClientTimas = New System.Windows.Forms.ComboBox()
Me.cbxTimasMehrereFirmen = New System.Windows.Forms.CheckBox()
Me.clbTimasMehreFirmen = New System.Windows.Forms.CheckedListBox()
@@ -246,8 +248,6 @@ Partial Class frmMitarbDetails
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.txtTimasID = New System.Windows.Forms.TextBox()
Me.Label73 = New System.Windows.Forms.Label()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.TabControl2.SuspendLayout()
@@ -2378,6 +2378,24 @@ Partial Class frmMitarbDetails
Me.TabPage8.Text = "Zeiterfassung"
Me.TabPage8.UseVisualStyleBackColor = True
'
'Label73
'
Me.Label73.AutoSize = True
Me.Label73.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label73.Location = New System.Drawing.Point(269, 25)
Me.Label73.Name = "Label73"
Me.Label73.Size = New System.Drawing.Size(52, 13)
Me.Label73.TabIndex = 161
Me.Label73.Text = "Timas-ID:"
'
'txtTimasID
'
Me.txtTimasID.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtTimasID.Location = New System.Drawing.Point(345, 22)
Me.txtTimasID.Name = "txtTimasID"
Me.txtTimasID.Size = New System.Drawing.Size(46, 20)
Me.txtTimasID.TabIndex = 160
'
'cbxClientTimas
'
Me.cbxClientTimas.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
@@ -2527,11 +2545,11 @@ Partial Class frmMitarbDetails
Me.btnDelete.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.btnDelete.BackColor = System.Drawing.Color.White
Me.btnDelete.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnDelete.Location = New System.Drawing.Point(313, 140)
Me.btnDelete.Location = New System.Drawing.Point(312, 140)
Me.btnDelete.Name = "btnDelete"
Me.btnDelete.Size = New System.Drawing.Size(55, 26)
Me.btnDelete.Size = New System.Drawing.Size(84, 26)
Me.btnDelete.TabIndex = 143
Me.btnDelete.Text = "löschen"
Me.btnDelete.Text = "Verk löschen"
Me.btnDelete.UseVisualStyleBackColor = False
Me.btnDelete.Visible = False
'
@@ -2767,24 +2785,6 @@ Partial Class frmMitarbDetails
Me.ContextMenuStrip1.Name = "ContextMenuStrip1"
Me.ContextMenuStrip1.Size = New System.Drawing.Size(61, 4)
'
'txtTimasID
'
Me.txtTimasID.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtTimasID.Location = New System.Drawing.Point(345, 22)
Me.txtTimasID.Name = "txtTimasID"
Me.txtTimasID.Size = New System.Drawing.Size(46, 20)
Me.txtTimasID.TabIndex = 160
'
'Label73
'
Me.Label73.AutoSize = True
Me.Label73.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label73.Location = New System.Drawing.Point(269, 25)
Me.Label73.Name = "Label73"
Me.Label73.Size = New System.Drawing.Size(52, 13)
Me.Label73.TabIndex = 161
Me.Label73.Text = "Timas-ID:"
'
'frmMitarbDetails
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)

View File

@@ -157,6 +157,7 @@ Public Class frmMitarbDetails
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FO"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG AG", "VERAG AG"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG - MDM", "VERAG 360"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CS", "VERAG CS"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG GMBH", "VERAG GMBH"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG UNISPED Ltd", "VERAG UNISPED LIMITED"))

View File

@@ -22,7 +22,6 @@ Partial Class usrCntlMitarbeiter
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.Button6 = New System.Windows.Forms.Button()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.btnUEZ_ausz = New System.Windows.Forms.Button()
@@ -32,23 +31,25 @@ Partial Class usrCntlMitarbeiter
Me.Button3 = New System.Windows.Forms.Button()
Me.TabControl1 = New System.Windows.Forms.TabControl()
Me.TabPage1 = New System.Windows.Forms.TabPage()
Me.c = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.c = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage2 = New System.Windows.Forms.TabPage()
Me.dgvATILLA = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvATILLA = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage3 = New System.Windows.Forms.TabPage()
Me.dgvIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage4 = New System.Windows.Forms.TabPage()
Me.dgvUNISPED = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvUNISPED = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage5 = New System.Windows.Forms.TabPage()
Me.dgvAMBAR = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvAMBAR = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage6 = New System.Windows.Forms.TabPage()
Me.dgvFRONTOFFICE = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvFRONTOFFICE = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage7 = New System.Windows.Forms.TabPage()
Me.dgvVERIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvVERIMEX = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage9 = New System.Windows.Forms.TabPage()
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvDURMAZ = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.TabPage8 = New System.Windows.Forms.TabPage()
Me.dgvTimasNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.lblTimasMandant = New System.Windows.Forms.Label()
Me.cbxClientTimas = New System.Windows.Forms.ComboBox()
Me.dgvTimasNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.lblAktiv = New System.Windows.Forms.Label()
Me.cbxDakosy = New System.Windows.Forms.CheckBox()
@@ -59,10 +60,10 @@ Partial Class usrCntlMitarbeiter
Me.Button2 = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip()
Me.UserKopierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.BerechtigungenSetzenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.ContextMenuStrip2 = New System.Windows.Forms.ContextMenuStrip()
Me.Panel2.SuspendLayout()
Me.TabControl1.SuspendLayout()
Me.TabPage1.SuspendLayout()
@@ -353,6 +354,8 @@ Partial Class usrCntlMitarbeiter
'
'TabPage8
'
Me.TabPage8.Controls.Add(Me.lblTimasMandant)
Me.TabPage8.Controls.Add(Me.cbxClientTimas)
Me.TabPage8.Controls.Add(Me.dgvTimasNew)
Me.TabPage8.Location = New System.Drawing.Point(4, 22)
Me.TabPage8.Name = "TabPage8"
@@ -361,15 +364,37 @@ Partial Class usrCntlMitarbeiter
Me.TabPage8.Text = "Zeiterfassung"
Me.TabPage8.UseVisualStyleBackColor = True
'
'lblTimasMandant
'
Me.lblTimasMandant.AutoSize = True
Me.lblTimasMandant.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.lblTimasMandant.Location = New System.Drawing.Point(8, 6)
Me.lblTimasMandant.Name = "lblTimasMandant"
Me.lblTimasMandant.Size = New System.Drawing.Size(97, 13)
Me.lblTimasMandant.TabIndex = 54
Me.lblTimasMandant.Text = "Timas Mandant:"
'
'cbxClientTimas
'
Me.cbxClientTimas.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
Me.cbxClientTimas.DropDownWidth = 200
Me.cbxClientTimas.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cbxClientTimas.FormattingEnabled = True
Me.cbxClientTimas.Items.AddRange(New Object() {"", "1", "2", "3", "4", "5"})
Me.cbxClientTimas.Location = New System.Drawing.Point(111, 3)
Me.cbxClientTimas.Name = "cbxClientTimas"
Me.cbxClientTimas.Size = New System.Drawing.Size(114, 21)
Me.cbxClientTimas.TabIndex = 160
Me.cbxClientTimas.Visible = False
'
'dgvTimasNew
'
Me.dgvTimasNew.AKTUALISIERUNGS_INTERVALL = -1
Me.dgvTimasNew.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.dgvTimasNew.Dock = System.Windows.Forms.DockStyle.Fill
Me.dgvTimasNew.Location = New System.Drawing.Point(0, 0)
Me.dgvTimasNew.Location = New System.Drawing.Point(0, 28)
Me.dgvTimasNew.Name = "dgvTimasNew"
Me.dgvTimasNew.ReadOnly = True
Me.dgvTimasNew.Size = New System.Drawing.Size(881, 622)
Me.dgvTimasNew.Size = New System.Drawing.Size(881, 594)
Me.dgvTimasNew.TabIndex = 0
'
'Panel1
@@ -528,6 +553,7 @@ Partial Class usrCntlMitarbeiter
Me.TabPage9.ResumeLayout(False)
CType(Me.dgvDURMAZ, System.ComponentModel.ISupportInitialize).EndInit()
Me.TabPage8.ResumeLayout(False)
Me.TabPage8.PerformLayout()
CType(Me.dgvTimasNew, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
@@ -576,4 +602,6 @@ Partial Class usrCntlMitarbeiter
Friend WithEvents dgvDURMAZ As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents btnUEZ_ausz As Button
Friend WithEvents lblAktiv As Label
Friend WithEvents lblTimasMandant As Label
Friend WithEvents cbxClientTimas As ComboBox
End Class

View File

@@ -39,6 +39,7 @@ Public Class usrCntlMitarbeiter
btnUEZ_ausz.Visible = False
lblAktiv.Text = ""
cbxClientTimas.Visible = False
If TabControl1.SelectedIndex = 0 Then
showVERAGATILLA("VERAG")
@@ -61,6 +62,23 @@ Public Class usrCntlMitarbeiter
btnUEZ_ausz.Visible = True
End If
If dgvTimasNew IsNot Nothing Then
cbxClientTimas.Visible = True
cbxClientTimas.Items.Clear()
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("AMBAR", "AMBAR"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("ATILLA", "ATILLA"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("FRONTOFFICE", "FO"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("IMEX", "IMEX"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG AG", "VERAG AG"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG - MDM", "VERAG 360"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CS", "VERAG CS"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG GMBH", "VERAG GMBH"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG UNISPED Ltd", "VERAG UNISPED LIMITED"))
cbxClientTimas.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("VERAG CUSTOMS LOGISTICS Ltd", "VERAG CL LIMITED"))
cbxClientTimas.SelectedIndex = 0
showTIMAS(False)
End If
End If
@@ -224,11 +242,11 @@ Public Class usrCntlMitarbeiter
Public Sub showTIMAS(refresh As Boolean)
Public Sub showTIMAS(refresh As Boolean, Optional TimasMandant As String = "")
locZeilen = -1
If Not Grid_aktiv Then Exit Sub
If dt.Columns.Count > 0 And Not refresh Then
If dt.Columns.Count > 0 And Not refresh AndAlso TimasMandant <> "" Then
If txtSuche.Text <> "" Then
dt.DefaultView.RowFilter = "Vorname like '%" & txtSuche.Text & "%' or Nachname like '%" & txtSuche.Text & "%' or 'Personal-Nr (Lohn)' like '%" & txtSuche.Text & "%' or Info like '%" & txtSuche.Text & "%'"
@@ -236,12 +254,17 @@ Public Class usrCntlMitarbeiter
dt.DefaultView.RowFilter = Nothing
End If
If TimasMandant <> "" Then
dt.DefaultView.RowFilter = "Info like '%" & TimasMandant & "%'"
End If
dgvTimasNew.DataSource = dt
Else
Dim timas As New cTimasAPI("timas")
timas.getEmployeeList(dt)
timas.getEmployeeList(dt, TimasMandant)
dgvTimasNew.DataSource = dt
Dim dt_onlyActive As New DataTable
dt_onlyActive = dt.Select("[Ausweis-Nr] <> 0 and Vorname <> '' and Nachname <> ''").CopyToDataTable
dgvTimasNew.DataSource = dt_onlyActive
@@ -766,18 +789,30 @@ Public Class usrCntlMitarbeiter
copyToClipboardWIKI()
ElseIf item.Name = "checkue" Then
checkUeberstunden(False, Now().Month, Now().Year)
ElseIf item.Name = "ueuebersicht" Then
Dim f As New frmDatumsabfrage("Überstunden-Übersicht Monat ", True)
f.dtp_date.Format = DateTimePickerFormat.Custom
f.dtp_date.CustomFormat = "MM.yyyy"
ElseIf item.Name = "ue_stand_yesterday" Then
gettimesaldo(False)
ElseIf item.Name = "ue_stand" Then
Dim f As New frmDatumsabfrage("Zeitsaldo-Stichtag ", True)
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
checkUeberstunden(True, CDate(f.dtp_date.Value).Month, CDate(f.dtp_date.Value).Year)
gettimesaldo(True, CDate(f.dtp_date.Value))
End If
Else
ElseIf item.Name = "ueuebersicht" Then
Dim f As New frmDatumsabfrage("Überstunden-Übersicht Monat ", True)
f.dtp_date.Format = DateTimePickerFormat.Custom
f.dtp_date.CustomFormat = "MM.yyyy"
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
checkUeberstunden(True, CDate(f.dtp_date.Value).Month, CDate(f.dtp_date.Value).Year)
End If
Else
MsgBox("Funktion nicht implementiert!")
End If
@@ -826,6 +861,18 @@ Public Class usrCntlMitarbeiter
ContextMenuStrip2.Items.Add(checkue)
End If
If Not ContextMenuStrip2.Items.ContainsKey("ue_stand_yesterday") Then
Dim ue_stand = New ToolStripMenuItem() With {.Text = "Stand Zeitsaldo gestern", .Name = "ue_stand_yesterday", .Font = New Font(Me.Font.FontFamily, Me.Font.Size), .Image = My.Resources.Excel_2013_logo_155x110}
AddHandler ue_stand.Click, AddressOf mnuItem_Clicked
ContextMenuStrip2.Items.Add(ue_stand)
End If
If Not ContextMenuStrip2.Items.ContainsKey("ue_stand") Then
Dim ue_stand = New ToolStripMenuItem() With {.Text = "Stand Zeitsaldo Stichtag", .Name = "ue_stand", .Font = New Font(Me.Font.FontFamily, Me.Font.Size), .Image = My.Resources.Excel_2013_logo_155x110}
AddHandler ue_stand.Click, AddressOf mnuItem_Clicked
ContextMenuStrip2.Items.Add(ue_stand)
End If
ContextMenuStrip2.Show(Cursor.Position)
@@ -1012,7 +1059,9 @@ Public Class usrCntlMitarbeiter
dt_Accounts.Columns.Add("accountid", GetType(Integer))
Dim ROW_ACC As DataRow = dt_Accounts.NewRow
ROW_ACC("accountid") = "993" 'Auszahlungen ÜS!
dt_Accounts.Rows.Add(ROW_ACC)
Dim dt_Employee As New DataTable
@@ -1032,6 +1081,7 @@ Public Class usrCntlMitarbeiter
Dim dateEnd = CDate(tag.GetLastyDayYInxMonth(DayOfWeek.Monday, Month, year, True))
For Each r As DataGridViewRow In dgvTimasNew.Rows
Dim ROW As DataRow = dt_Employee.NewRow
ROW("employeeId") = r.Cells("Id").Value
@@ -1041,8 +1091,6 @@ Public Class usrCntlMitarbeiter
dt_Employee.Rows.Add(ROW)
Next
Dim timas As New cTimasAPI("timas")
timas.getTimeAccounts(dateStart, dateEnd, 0, dt_Accounts, dt_result, dt_Employee)
@@ -1096,8 +1144,8 @@ Public Class usrCntlMitarbeiter
' Daten einfügen
For Each row In query
dt_merged.Rows.Add(row)
Next
dt_merged.Rows.Add(row)
Next
If dt_merged.Rows.Count > 0 Then
If dt_merged.Rows.Count > 0 Then
@@ -1117,7 +1165,7 @@ Public Class usrCntlMitarbeiter
End If
End If
@@ -1129,4 +1177,142 @@ Public Class usrCntlMitarbeiter
End Sub
Private Sub gettimesaldo(stichtag As Boolean, Optional st_datum As Date = Nothing)
Dim timas As New cTimasAPI("timas")
Dim isServiceRunning As Boolean = True
Dim dt_Employee_temp As New DataTable
dt_Employee_temp.Columns.Add("employeeId", GetType(Integer))
If dgvTimasNew.SelectedRows.Count = 0 Then
MsgBox("Bitte Mitarbeiter markieren!")
End If
For Each r As DataGridViewRow In dgvTimasNew.SelectedRows
Dim ROW As DataRow = dt_Employee_temp.NewRow
ROW("employeeId") = r.Cells("Id").Value
dt_Employee_temp.Rows.Add(ROW)
Next
Dim sqlWhere As String = String.Join(",", dt_Employee_temp.AsEnumerable().Where(Function(r) Not r.IsNull("employeeId")).Select(Function(r) r("employeeId").ToString()))
Dim sql = "select mit_timasId as employeeId,mit_vname as Vorname ,mit_nname as Nachname , mit_niederlassung as Niederlassung,mit_abteilung as Abteilung, mit_firma as Firma
FROM [ADMIN].[dbo].tblMitarbeiter where mit_timasId in (" & sqlWhere & ")"
Dim dt_AVISO As DataTable = (New SQL).loadDgvBySql(sql, "ADMIN", 100, True)
Dim query =
From fa In dt_Employee_temp.AsEnumerable() Join emp In dt_AVISO.AsEnumerable() On fa.Field(Of Integer)("employeeId") Equals emp.Field(Of Integer)("employeeId")
Select New With {
.EmployeeId = fa.Field(Of Integer)("employeeId"),
.Vorname = emp.Field(Of String)("Vorname"),
.Nachname = emp.Field(Of String)("Nachname"),
.Niederlassung = emp.Field(Of String)("Niederlassung"),
.Abteilung = emp.Field(Of String)("Abteilung"),
.Firma = emp.Field(Of String)("Firma")
}
Dim dt_Employee As New DataTable
dt_Employee.Columns.Add("employeeId", GetType(Integer))
dt_Employee.Columns.Add("Vorname", GetType(String))
dt_Employee.Columns.Add("Nachname", GetType(String))
dt_Employee.Columns.Add("Niederlassung", GetType(String))
dt_Employee.Columns.Add("Abteilung", GetType(String))
dt_Employee.Columns.Add("Firma", GetType(String))
dt_Employee.Columns.Add("Saldo-raw", GetType(String))
dt_Employee.Columns.Add("Saldo", GetType(Double))
For Each item In query
dt_Employee.Rows.Add(
item.EmployeeId,
item.Vorname,
item.Nachname,
item.Niederlassung,
item.Abteilung,
item.Firma,
DBNull.Value, ' Saldo-raw
DBNull.Value ' Saldo
)
Next
Dim emp_id_all As Integer = -1
Dim saldo As String = ""
Dim saldoDouble As Double
For Each r As DataRow In dt_Employee.Rows
Dim emp_id As Integer = r.Item("employeeId")
If emp_id <> emp_id_all Then
If stichtag Then
saldo = timas.getTimeSaldo(emp_id, "", "dailyBalanceYesterday", isServiceRunning, "time", True, st_datum)
Else
saldo = timas.getTimeSaldo(emp_id, "", "dailyBalanceYesterday", isServiceRunning, "time", True)
End If
If Not isServiceRunning Then
MsgBox("Abfragefehler am Timas-Server!")
Exit Sub
End If
r.Item("Saldo-raw") = saldo
emp_id_all = emp_id
Dim teile = saldo.Trim().Split(":"c)
Dim stunden As Integer
Dim minuten As Integer
If teile.Length = 2 AndAlso
Integer.TryParse(teile(0), stunden) AndAlso
Integer.TryParse(teile(1), minuten) AndAlso
minuten >= 0 AndAlso minuten < 60 Then
saldoDouble = CDbl(stunden + minuten / 60.0)
r("Saldo") = Math.Round(saldoDouble, 2)
Else
saldoDouble = 0
r("Saldo") = DBNull.Value
End If
Else
r.Item("Saldo-raw") = saldo
r.Item("Saldo") = Math.Round(saldoDouble, 2)
End If
Next
If dt_Employee.Rows.Count > 0 Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt_Employee,,, "Stundensaldo: " & Now.AddDays(-1).ToShortDateString,,,,, True)
End If
End Sub
Private Sub cbxClientTimas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cbxClientTimas.SelectedIndexChanged
Dim Firma = cbxClientTimas.SelectedItem.Text
If Firma <> "" Then
showTIMAS(False, Firma)
Else
showTIMAS(False)
End If
End Sub
End Class

View File

@@ -6158,17 +6158,31 @@ weiter:
Dim fehlendeRechnungen As New DataTable
Dim datumString = ""
Dim von As Date
Dim bis As Date
If txtUTADate.Text = "" AndAlso txtUTAYear.Text <> "" Then
datumString = txtUTAYear.Text
fehlendeRechnungen = (New SQL).loadDgvBySql(" SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND YEAR(U.Rechnungsdatum) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
'fehlendeRechnungen = (New SQL).loadDgvBySql(" SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND YEAR(U.Rechnungsdatum) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
von = New Date(datumString, 1, 1)
bis = New Date(datumString, 12, 31)
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
fehlendeRechnungen = (New SQL).loadDgvBySql("SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND CAST(U.Rechnungsdatum AS date) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
'fehlendeRechnungen = (New SQL).loadDgvBySql("SELECT A.AdressenNr, A.[Name 1], U.Abrechnungsnummer AS Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL AND CAST(U.Rechnungsdatum AS date) = '" & datumString & "' AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY A.AdressenNr, A.[Name 1], U.Abrechnungsnummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz", "FMZOLL")
von = New Date(datumString)
bis = New Date(datumString)
End If
Dim uta As New cUTA
uta.checkPDFInvoices(von, bis, ,,, True, fehlendeRechnungen)
If fehlendeRechnungen.Rows.Count > 0 Then
If vbYes = MsgBox("Details der " & fehlendeRechnungen.Rows.Count & " fehlenden Rechnungszuweisungen anzeigen?", vbYesNo) Then
@@ -6388,21 +6402,31 @@ weiter:
Dim datumString = ""
Dim SQLWhere As String = ""
Dim von As Date
Dim bis As Date
If txtUTADate.Text = "" AndAlso txtUTAYear.Text <> "" Then
datumString = txtUTAYear.Text
SQLWhere = "And YEAR(U.Rechnungsdatum) = '" & datumString & "'"
von = New Date("01.01." & txtUTAYear.Text)
bis = New Date("31.12." & txtUTAYear.Text)
ElseIf txtUTADate.Text <> "" AndAlso IsDate(txtUTADate.Text) Then
datumString = txtUTADate.Text
SQLWhere = "And CAST(U.Rechnungsdatum AS date) = '" & datumString & "'"
von = New Date(datumString)
bis = New Date(datumString)
End If
Dim uta As New cUTA
Dim dtRechnnungsdaten As New DataTable
Dim fehlendePDFzuRE As String = " SELECT U.Abrechnungsnummer AS Abrechnungsnummer,U.Kundennummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL " & SQLWhere & " AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY U.Abrechnungsnummer,U.Kundennummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz "
uta.checkPDFInvoices(von, bis, ,,, True, dtRechnnungsdaten)
'Dim fehlendePDFzuRE As String = " SELECT U.Abrechnungsnummer AS Abrechnungsnummer,U.Kundennummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,CAST(U.Rechnungsdatum AS date) AS Rechnungsdatum,A.LandKz FROM tblUTAImportNew U INNER JOIN Adressen A ON A.UTAKundenNr = U.Kundennummer WHERE U.daId IS NULL " & SQLWhere & " AND NOT (A.LandKz = 'RO' AND U.Lieferland = 'ROM') GROUP BY U.Abrechnungsnummer,U.Kundennummer,U.Rechnungsnummer_pro_Lieferland,U.Lieferland,U.Rechnungsdatum,A.LandKz "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dtRechnnungsdaten As DataTable = SQL.loadDgvBySql(fehlendePDFzuRE, "FMZOLL")
'Dim dtRechnnungsdaten As DataTable = SQL.loadDgvBySql(fehlendePDFzuRE, "FMZOLL")
Dim counter As Integer = 0
@@ -6419,12 +6443,12 @@ weiter:
Dim daId As Integer = 0
daId = CInt(SQL.getValueTxtBySql("Select top(1) isnull(da_id,0) FROM tblDatenarchiv WHERE da_KundenNr = 0 And da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' AND da_uOrdner1= 'UTA' AND da_uOrdner2= '" & utaYear & "' AND da_name like '%ZUGFERD.pdf' AND da_name like '%" & r.Item("Kundennummer") & "_" & r.Item("Abrechnungsnummer") & "_" & r.Item("Rechnungsnummer_pro_Lieferland") & "%'", "FMZOLL",,, 0))
daId = CInt(SQL.getValueTxtBySql("Select top(1) isnull(da_id,0) FROM tblDatenarchiv WHERE da_KundenNr = 0 And da_kategorie = 'MDM' AND da_ordner='MDM_DATEN' AND da_uOrdner1= 'UTA' AND da_uOrdner2= '" & utaYear & "' AND da_name like '%ZUGFERD.pdf' AND da_name like '%" & r.Item("UTAKundenNr") & "_" & r.Item("Abrechnungsnummer") & "_" & r.Item("Rechnungsnummer_pro_Lieferland") & "%'", "FMZOLL",,, 0))
If daId > 0 Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(daId)
Dim Path As String = DS.GET_TOP1_PATH()
If Path <> "" And System.IO.File.Exists(Path) Then
SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "', daIdgesetztDatum = getdate() where [Rechnungsnummer_pro_Lieferland] = '" & r.Item("Rechnungsnummer_pro_Lieferland") & "' AND cast(Rechnungsdatum as Date) = '" & utaDate & "' AND Kundennummer =" & r.Item("Kundennummer") & " and Abrechnungsnummer =" & r.Item("Abrechnungsnummer") & " and daId is null", "FMZOLL")
SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "', daIdgesetztDatum = getdate() where [Rechnungsnummer_pro_Lieferland] = '" & r.Item("Rechnungsnummer_pro_Lieferland") & "' AND cast(Rechnungsdatum as Date) = '" & utaDate & "' AND Kundennummer =" & r.Item("UTAKundenNr") & " and Abrechnungsnummer =" & r.Item("Abrechnungsnummer") & " and daId is null", "FMZOLL")
counter += 1
End If
End If
@@ -6599,6 +6623,10 @@ weiter:
MsgBox(counter & " von " & dtRechnnungsdaten.Rows.Count & " IDS- Rechnungsdaten gesetzt!")
Else
MsgBox("keine fehlenden Rechnungen vorhanden!")
End If
@@ -8196,21 +8224,22 @@ repeatRequest:
Private Function checkZugferd(sendNotificationEmails As Boolean, Optional InvoicesUntilYesterday As Boolean = False) As Boolean
Try
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
'aktuell verwendet Verag360 kein Zugferd und Sammelrechnung 6 geht aktuell noch nicht - 29.04.2026 Start der neuen Funktion!
Dim DateString = "and CONVERT(DATE, GETDATE())"
Dim top As String = ""
If InvoicesUntilYesterday Then
top = " top(1000) "
DateString = "CONVERT(DATE, DATEADD(DAY, -1, GETDATE()))"
Dim DateString = " CONVERT(DATE, GETDATE())"
Dim top As String = ""
If InvoicesUntilYesterday Then
top = " top(2500) "
DateString = "CONVERT(DATE, DATEADD(DAY, -1, GETDATE()))"
End If
Dim dt As DataTable = SQL.loadDgvBySql("SELECT " & top & " RK_ID, dsId, Firma_ID, RechnungsNr FROM [Rechnungsausgang] where [zugferdcheck_daid] is null and [zugferdcheck_datetime] is null and dsId is not null and cast(RechnungsDatum as Date) between '29.04.2026' and " & DateString & " and Sammelrechnung <> 6 and Firma_ID <> 19 order by ReErfZeitstempel desc", "FMZOLL", 100, False)
Dim dt As DataTable = SQL.loadDgvBySql("SELECT " & top & " RK_ID, dsId, Firma_ID, RechnungsNr FROM [Rechnungsausgang] where [zugferdcheck_daid] is null and [zugferdcheck_datetime] is null and dsId is not null and cast(RechnungsDatum as Date) between '29.04.2026' and " & DateString & " and Sammelrechnung <> 6 and Firma_ID <> 19 order by ReErfZeitstempel desc", "FMZOLL", 1000, True)
Dim sumTotal_IMEX As Integer = 0
Dim sumTotal_VERAG As Integer = 0
@@ -8252,155 +8281,190 @@ repeatRequest:
Dim fileName = Paramslist.GET_PARAMETER_VALUE("ZUGFeRD_Check_Pfad_JAVA")
Dim arguments = Paramslist.GET_PARAMETER_VALUE("ZUGFeRD_Check_Pfad_CMD")
Dim errorCounter = 0
For Each row In dt.Rows
Dim CounterRows = 0
Dim rkObj As Object = row("RK_ID")
Dim dsObj As Object = row("dsId")
If rkObj IsNot DBNull.Value AndAlso dsObj IsNot DBNull.Value Then
Dim rkId As Integer
Dim dsId As Integer
If Integer.TryParse(rkObj.ToString(), rkId) AndAlso
Integer.TryParse(dsObj.ToString(), dsId) AndAlso
dsId > 0 Then
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsId)
Dim Path As String = DS.GET_TOP1_PATH()
If Path <> "" And System.IO.File.Exists(Path) Then
Try
Dim psi As New ProcessStartInfo()
If Environment.MachineName = "H6CCWP3" Then
'Workstation Daniel
psi.FileName = "C:\Program Files\Eclipse Adoptium\jre-11.0.32.101-hotspot\bin\java.exe"
psi.Arguments = "-jar ""C:\Users\d.breimaier\Downloads\Mustang-CLI-2.21.0.jar"" --no-notices --action validate --source " & Path
Else
psi.FileName = fileName
psi.Arguments = arguments & Path
End If
For Each row In dt.Rows
Dim rkObj As Object = row("RK_ID")
Dim dsObj As Object = row("dsId")
If rkObj IsNot DBNull.Value AndAlso dsObj IsNot DBNull.Value Then
Dim rkId As Integer
Dim dsId As Integer
If Integer.TryParse(rkObj.ToString(), rkId) AndAlso Integer.TryParse(dsObj.ToString(), dsId) AndAlso dsId > 0 Then
Dim Path = VERAG_PROG_ALLGEMEIN.cDATENSERVER.GET_PDFPath_BY_DocID(dsId)
psi.RedirectStandardOutput = True
psi.RedirectStandardError = True
psi.UseShellExecute = False
psi.CreateNoWindow = True
CounterRows += 1
Using p As Process = Process.Start(psi)
Dim output = p.StandardOutput.ReadToEnd()
Dim err = p.StandardError.ReadToEnd()
p.WaitForExit()
If Path <> "" AndAlso System.IO.File.Exists(Path) Then
If output <> "" Then
Dim tmpPath_Report = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("MUSTANG-REPORT_" & rkObj & ".pdf", ".pdf", , False)
Dim PruefungOK = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.CreateValidationPdf(output, Path, rkId, tmpPath_Report)
If tmpPath_Report <> "" Then
'Process.Start(tmpPath_Report)
Dim fileInfo_ZP As New FileInfo(tmpPath_Report)
Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year, "", "", fileInfo_ZP.Name, -1, False)
ZUGF_DS.uploadDataToDATENSERVER(tmpPath_Report, fileInfo_ZP.Name & ".pdf", fileInfo_ZP.Extension,,,, True)
SQL.doSQL("Update [Rechnungsausgang] SET zugferdcheck_datetime=getDate(),zugferdcheck = " & IIf(PruefungOK, "1", "0") & ", zugferdcheck_daid = " & ZUGF_DS.da_id & " where RK_ID = " & rkId, "FMZOLL")
Try
Select Case row("Firma_ID")
Case 11
sumTotal_CS += 1
If PruefungOK Then
sumvalid_CS += 1
Else
sumInvalid_CS += 1
Dim psi As New ProcessStartInfo()
dtCS.ImportRow(row)
End If
Case 24
sumTotal_AMBAR += 1
If Environment.MachineName = "H6CCWP3" Then
'Workstation Daniel
psi.FileName = "C:\Program Files\Eclipse Adoptium\jre-11.0.32.101-hotspot\bin\java.exe"
psi.Arguments = "-jar ""C:\Users\d.breimaier\Downloads\Mustang-CLI-2.21.0.jar"" --no-notices --action validate --source " & Path
If PruefungOK Then
sumvalid_AMBAR += 1
Else
sumInvalid_AMBAR += 1
dtAMBAR.ImportRow(row)
End If
Case 21, 22, 23
sumTotal_US += 1
If PruefungOK Then
sumvalid_US += 1
Else
sumInvalid_US += 1
dtUNISPED.ImportRow(row)
End If
Case 20
sumTotal_IMEX += 1
If PruefungOK Then
sumvalid_IMEX += 1
Else
sumInvalid_IMEX += 1
dtIMEX.ImportRow(row)
End If
Case 19
sumTotal_360 += 1
If PruefungOK Then
sumvalid_360 += 1
Else
sumInvalid_360 += 1
dt360.ImportRow(row)
End If
Case 7
sumTotal_ATILLA += 1
If PruefungOK Then
sumvalid_ATILLA += 1
Else
sumInvalid_ATILLA += 1
dtATILLA.ImportRow(row)
End If
Case Else
sumTotal_VERAG += 1
If PruefungOK Then
sumvalid_VERAG += 1
Else
sumInvalid_VERAG += 1
dtVerag.ImportRow(row)
End If
End Select
End If
Else
psi.FileName = fileName
psi.Arguments = arguments & Path
End If
End Using
psi.RedirectStandardOutput = True
psi.RedirectStandardError = True
psi.UseShellExecute = False
psi.CreateNoWindow = True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Return False
End Try
'MsgBox("START Mustang")
'MsgBox("Java: " & psi.FileName)
'MsgBox("Args: " & psi.Arguments)
Using p As Process = Process.Start(psi)
'MsgBox("PROCESS STARTED, PID=" & p.Id)
Dim outputTask = p.StandardOutput.ReadToEndAsync()
Dim errorTask = p.StandardError.ReadToEndAsync()
'MsgBox("READERS STARTED")
If Not p.WaitForExit(60000) Then
'MsgBox("TIMEOUT")
Try
p.Kill()
Catch
End Try
Throw New TimeoutException("Der Prozess wurde nach 60 Sekunden beendet." & vbNewLine & "Filename: " & psi.FileName & vbNewLine & "Arguments: " & psi.Arguments)
End If
Dim output = outputTask.Result
Dim err = errorTask.Result
If output <> "" Then
Dim tmpPath_Report = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("MUSTANG-REPORT_" & rkObj & ".pdf", ".pdf", , False)
Dim PruefungOK = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.CreateValidationPdf(output, Path, rkId, tmpPath_Report)
If tmpPath_Report <> "" Then
'Process.Start(tmpPath_Report)
Dim fileInfo_ZP As New FileInfo(tmpPath_Report)
Dim ZUGF_DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "ZUGFERD", Now().Year, "", "", fileInfo_ZP.Name, -1, False)
ZUGF_DS.uploadDataToDATENSERVER(tmpPath_Report, fileInfo_ZP.Name & ".pdf", fileInfo_ZP.Extension,,,, True)
SQL.doSQL("Update [Rechnungsausgang] SET zugferdcheck_datetime=getDate(),zugferdcheck = " & IIf(PruefungOK, "1", "0") & ", zugferdcheck_daid = " & ZUGF_DS.da_id & " where RK_ID = " & rkId, "FMZOLL")
Select Case row("Firma_ID")
Case 11
sumTotal_CS += 1
If PruefungOK Then
sumvalid_CS += 1
Else
sumInvalid_CS += 1
dtCS.ImportRow(row)
End If
Case 24
sumTotal_AMBAR += 1
If PruefungOK Then
sumvalid_AMBAR += 1
Else
sumInvalid_AMBAR += 1
dtAMBAR.ImportRow(row)
End If
Case 21, 22, 23
sumTotal_US += 1
If PruefungOK Then
sumvalid_US += 1
Else
sumInvalid_US += 1
dtUNISPED.ImportRow(row)
End If
Case 20
sumTotal_IMEX += 1
If PruefungOK Then
sumvalid_IMEX += 1
Else
sumInvalid_IMEX += 1
dtIMEX.ImportRow(row)
End If
Case 19
sumTotal_360 += 1
If PruefungOK Then
sumvalid_360 += 1
Else
sumInvalid_360 += 1
dt360.ImportRow(row)
End If
Case 7
sumTotal_ATILLA += 1
If PruefungOK Then
sumvalid_ATILLA += 1
Else
sumInvalid_ATILLA += 1
dtATILLA.ImportRow(row)
End If
Case Else
sumTotal_VERAG += 1
If PruefungOK Then
sumvalid_VERAG += 1
Else
sumInvalid_VERAG += 1
dtVerag.ImportRow(row)
End If
End Select
End If
Else
errorCounter += 1
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(err, err & vbNewLine & "Maschine: " & Environment.MachineName, System.Reflection.MethodInfo.GetCurrentMethod.Name, ERROR_OP.MAIL)
If errorCounter >= 3 Then
Return False
End If
End If
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, ERROR_OP.MAIL)
Continue For
End Try
End If
End If
End If
End If
Next
Next
If dt.Rows.Count > 0 Then
If dt.Rows.Count > 0 Then
If Not sendNotificationEmails Then
If Environment.MachineName = "H6CCWP3" Then VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, True,,, True)
@@ -8417,8 +8481,8 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtVerag,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " VERAG", createMailTextZugferd(sumTotal_VERAG, sumvalid_VERAG, sumInvalid_VERAG, "VERAG"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " VERAG", createMailTextZugferd(sumTotal_VERAG, sumvalid_VERAG, sumInvalid_VERAG, "VERAG", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
If dtIMEX.Rows.Count > 0 Then
@@ -8427,8 +8491,8 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtIMEX,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " IMEX", createMailTextZugferd(sumTotal_IMEX, sumvalid_IMEX, sumInvalid_IMEX, "IMEX"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " IMEX", createMailTextZugferd(sumTotal_IMEX, sumvalid_IMEX, sumInvalid_IMEX, "IMEX", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
If dtAMBAR.Rows.Count > 0 Then
@@ -8437,8 +8501,8 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtAMBAR,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " AMBAR", createMailTextZugferd(sumTotal_AMBAR, sumvalid_AMBAR, sumInvalid_AMBAR, "AMBAR"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " AMBAR", createMailTextZugferd(sumTotal_AMBAR, sumvalid_AMBAR, sumInvalid_AMBAR, "AMBAR", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
If dtUNISPED.Rows.Count > 0 Then
@@ -8447,8 +8511,8 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtUNISPED,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " UNISPED", createMailTextZugferd(sumTotal_US, sumvalid_US, sumInvalid_US, "UNISPED"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " UNISPED", createMailTextZugferd(sumTotal_US, sumvalid_US, sumInvalid_US, "UNISPED", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
If dtATILLA.Rows.Count > 0 Then
@@ -8457,8 +8521,8 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtATILLA,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " ATILLA", createMailTextZugferd(sumTotal_ATILLA, sumvalid_ATILLA, sumInvalid_ATILLA, "ATILLA"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " ATILLA", createMailTextZugferd(sumTotal_ATILLA, sumvalid_ATILLA, sumInvalid_ATILLA, "ATILLA", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
If dt360.Rows.Count > 0 Then
@@ -8467,8 +8531,8 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt360,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " VERAG 360", createMailTextZugferd(sumTotal_360, sumvalid_360, sumInvalid_360, "VERAG 360"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " VERAG 360", createMailTextZugferd(sumTotal_360, sumvalid_360, sumInvalid_360, "VERAG 360", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
If dtCS.Rows.Count > 0 Then
@@ -8477,28 +8541,31 @@ repeatRequest:
Dim path = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dtCS,,,,, False,,, True)
Dim anhenge As New List(Of String)
anhenge.Add(path)
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & "VERAG CS", createMailTextZugferd(sumTotal_CS, sumvalid_CS, sumInvalid_CS, "VERAG CS"), getAbsenderEmail(), True, False,,, anhenge)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfaneger, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & "VERAG CS", createMailTextZugferd(sumTotal_CS, sumvalid_CS, sumInvalid_CS, "VERAG CS", dt.Rows.Count), getAbsenderEmail(), True, False,,, anhenge)
End If
End If
'hier alle Prüfungen
'hier alle Prüfungen
Dim empfanegerALL = cMitarbeiter.GetEMailRecipientForEmailNotification("ZUGFERD-Check_ALL",)
If empfanegerALL <> "" Then
Dim empfanegerALL = cMitarbeiter.GetEMailRecipientForEmailNotification("ZUGFERD-Check_ALL",)
If empfanegerALL <> "" Then
sumTotal_Total = sumTotal_VERAG + sumTotal_ATILLA + sumTotal_AMBAR + sumTotal_360 + sumTotal_CS + sumTotal_IMEX + sumTotal_US
sumInvalid_Total = sumInvalid_VERAG + sumInvalid_ATILLA + sumInvalid_AMBAR + sumInvalid_360 + sumInvalid_CS + sumInvalid_IMEX + sumInvalid_US
sumvalid_Total = sumvalid_VERAG + sumvalid_ATILLA + sumvalid_AMBAR + sumvalid_360 + sumvalid_CS + sumvalid_IMEX + sumvalid_US
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerALL, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " ALL", createMailTextZugferd(sumTotal_Total, sumvalid_Total, sumInvalid_Total, "ALL"), getAbsenderEmail(), True, False)
End If
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(empfanegerALL, IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "TEST-", "") & Betreff & " ALL", createMailTextZugferd(sumTotal_Total, sumvalid_Total, sumInvalid_Total, "ALL", dt.Rows.Count & "/" & CounterRows), getAbsenderEmail(), True, False)
End If
End If
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name, ERROR_OP.MAIL)
End Try
Return True
@@ -8506,7 +8573,7 @@ repeatRequest:
End Function
Private Function createMailTextZugferd(total As Integer, valid As Integer, invalid As Integer, Firma As String) As String
Private Function createMailTextZugferd(total As Integer, valid As Integer, invalid As Integer, Firma As String, AnzahlLautListe As String) As String
Dim MailText = "Auflistung der gültigen/ungültigen ZUGFeRD-Prüfungen vom " & Today.ToShortDateString & " für " & Firma & " <br><br>"
MailText &= "<table border=1>"
@@ -8517,6 +8584,11 @@ repeatRequest:
MailText &= "<td><b>" & total & "</b></td>"
MailText &= "</tr>"
MailText &= "</table>"
If Firma = "ALL" Then
MailText &= "<br><br>Anzahl laut Liste/davon mit Pfad: " & AnzahlLautListe
End If
MailText &= "<br><br>Erstellt am: " & Now.ToShortDateString & " um " & Now.ToShortTimeString
MailText &= "<br><br>Automatisch generiertes E-Mail."