From b69e058dffba3995c27fbd8a4f8750be8e6fd8db Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 12 Oct 2026 17:08:07 +0200 Subject: [PATCH] =?UTF-8?q?Mitarbeiter-=C3=9Cberstundensaldo,=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MDM_Worker/cPLOSE_Inv_Data.vb | 4 +- MailSender/MAILSender.vb | 4 +- UID/Mitarbeiter/frmMitarbDetails.Designer.vb | 46 ++-- UID/Mitarbeiter/frmMitarbDetails.vb | 1 + .../usrCntlMitarbeiter.Designer.vb | 58 +++-- UID/Mitarbeiter/usrCntlMitarbeiter.vb | 218 ++++++++++++++++-- UID/My Project/AssemblyInfo.vb | 4 +- initATLASAufschubkonten/frmStartOptions.vb | 44 +++- 8 files changed, 311 insertions(+), 68 deletions(-) diff --git a/MDM_Worker/cPLOSE_Inv_Data.vb b/MDM_Worker/cPLOSE_Inv_Data.vb index 196d854..ea65f3c 100644 --- a/MDM_Worker/cPLOSE_Inv_Data.vb +++ b/MDM_Worker/cPLOSE_Inv_Data.vb @@ -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 diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb index 2b9b45e..7e06db8 100644 --- a/MailSender/MAILSender.vb +++ b/MailSender/MAILSender.vb @@ -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;" diff --git a/UID/Mitarbeiter/frmMitarbDetails.Designer.vb b/UID/Mitarbeiter/frmMitarbDetails.Designer.vb index 5cf59d3..b042266 100644 --- a/UID/Mitarbeiter/frmMitarbDetails.Designer.vb +++ b/UID/Mitarbeiter/frmMitarbDetails.Designer.vb @@ -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!) diff --git a/UID/Mitarbeiter/frmMitarbDetails.vb b/UID/Mitarbeiter/frmMitarbDetails.vb index 0c398d9..4a760f4 100644 --- a/UID/Mitarbeiter/frmMitarbDetails.vb +++ b/UID/Mitarbeiter/frmMitarbDetails.vb @@ -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")) diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb index 04aef54..7d0a346 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.Designer.vb @@ -22,7 +22,6 @@ Partial Class usrCntlMitarbeiter 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. 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 diff --git a/UID/Mitarbeiter/usrCntlMitarbeiter.vb b/UID/Mitarbeiter/usrCntlMitarbeiter.vb index 4195c35..babb863 100644 --- a/UID/Mitarbeiter/usrCntlMitarbeiter.vb +++ b/UID/Mitarbeiter/usrCntlMitarbeiter.vb @@ -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 diff --git a/UID/My Project/AssemblyInfo.vb b/UID/My Project/AssemblyInfo.vb index d62d503..bfc3c58 100644 --- a/UID/My Project/AssemblyInfo.vb +++ b/UID/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index 068fe24..5961e92 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -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 @@ -8207,7 +8235,7 @@ repeatRequest: Dim DateString = " CONVERT(DATE, GETDATE())" Dim top As String = "" If InvoicesUntilYesterday Then - top = " top(250) " + top = " top(2500) " DateString = "CONVERT(DATE, DATEADD(DAY, -1, GETDATE()))" End If