Vor dem Mörtsch

This commit is contained in:
Lyndon Jetten
2020-08-17 16:52:25 +02:00
parent 57b1e3d93a
commit b27cd20c2e
17 changed files with 263 additions and 74 deletions

View File

@@ -2210,6 +2210,10 @@
<Project>{B0D73E3D-4AE7-4024-93A6-DB1F46D7CCEE}</Project>
<Name>Data</Name>
</ProjectReference>
<ProjectReference Include="..\Report\Report.csproj">
<Project>{40D8B312-EA64-49E3-A31A-5E57ED4D5654}</Project>
<Name>Report</Name>
</ProjectReference>
<ProjectReference Include="..\Service\Service.csproj">
<Project>{094331C3-ECEE-4C89-BBFD-4C9DED89F0EF}</Project>
<Name>Service</Name>

View File

@@ -282,6 +282,10 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/LoadTeamsRelatedCustomerOidsBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<long> LoadTeamsRelatedCustomerOids(long employeeOid);
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/GetAllActiveEmployees", ReplyAction="http://tempuri.org/IEmployeeService/GetAllActiveEmployeesResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/GetAllActiveEmployeesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeDC> GetAllActiveEmployees();
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IEmployeeService/ArchiveEmployee", ReplyAction="http://tempuri.org/IEmployeeService/ArchiveEmployeeResponse")]
[System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IEmployeeService/ArchiveEmployeeBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")]
void ArchiveEmployee(long pOid, long pVersion);
@@ -723,6 +727,11 @@ namespace BeWo.ServiceProxy
return base.Channel.LoadTeamsRelatedCustomerOids(employeeOid);
}
public System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeDC> GetAllActiveEmployees()
{
return base.Channel.GetAllActiveEmployees();
}
public void ArchiveEmployee(long pOid, long pVersion)
{
base.Channel.ArchiveEmployee(pOid, pVersion);
@@ -1337,6 +1346,7 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeTokenRelationDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.EmployeeTokenRelationDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.ChatBewoMessageSyncDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetCategoryDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.AssessmentSheetCategoryDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.AssessmentSheetValueDC>))]
@@ -1346,7 +1356,6 @@ namespace BeWo.ServiceProxy
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.NewsItemDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.NewsItemDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmploymentTypeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.EmployeeDC>))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.TeamDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BS.Shared.DataContracts.GroupOfPeopleDC))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(System.Collections.Generic.List<BS.Shared.DataContracts.GroupOfPeopleDC>))]

View File

@@ -35,17 +35,17 @@
<TabItem Header="{markup:Translate Berichte}" IsSelected="True" Name="tabitem_queries" Selector.Selected="tabitem_queries_Selected" />
<!--<TabItem Header="Abrechnung" IsSelected="True" Name="tabitem_accountingreport" Selector.Selected="tabitem_accountingreport_Selected" />-->
<TabItem Header="{markup:Translate Stundenübersicht}" Name="tabitem_flsReport" Selector.Selected="tabitem_flsReport_Selected" />
<TabItem Header="{markup:Translate Mitarbeiterauswertung}" Name="tabitem_Mitarbeiter" Selector.Selected="tabitem_Mitarbeiter_Selected"/>
<TabItem Header="{markup:Translate Mitarbeiterauslastung}" Name="tabitem_maReport" Selector.Selected="tabitem_maReport_Selected"/>
<TabItem Header="{markup:Translate Mitarbeiterauswertung}" Name="tabitem_Mitarbeiter" Selector.Selected="tabitem_Mitarbeiter_Selected"/>
<TabItem Header="{markup:Translate Mitarbeiterauslastung}" Name="tabitem_maReport" Selector.Selected="tabitem_maReport_Selected"/>
<TabItem Header="{markup:Translate Mitarbeiterstundenkonto}" Name="tabitem_makonto" Selector.Selected="tabitem_maKonto_Selected"/>
<TabItem Header="{markup:Translate Abwesenheitstabelle}" Name="tabitem_abwesenheitsTabelle" Selector.Selected="tabitem_abwesenheitsTabelle_Selected"/>
<TabItem Header="{markup:Translate Abwesenheitstabelle}" Name="tabitem_abwesenheitsTabelle" Selector.Selected="tabitem_abwesenheitsTabelle_Selected"/>
<TabItem Header="{markup:Translate Hilfeplanübersicht}" Name="tabitem_supportConceptAnalysis" Selector.Selected="tabitem_supportConceptAnalysis_Selected" />
<TabItem Header="{markup:Translate Jahresbericht}" Name="tabitem_annualReport" Selector.Selected="tabitem_annualReport_Selected" />
<TabItem Header="{markup:Translate Quittierungsbelege}" Name="tabitem_serviceOverview" Selector.Selected="tabitem_serviceOverview_Selected" />
<TabItem Header="{markup:Translate Jahresbericht}" Name="tabitem_annualReport" Selector.Selected="tabitem_annualReport_Selected" />
<TabItem Header="{markup:Translate Quittierungsbelege}" Name="tabitem_serviceOverview" Selector.Selected="tabitem_serviceOverview_Selected" />
<TabItem Header="{markup:Translate Stundenzettel}" Name="tabitem_stundenzettelOverview" Selector.Selected="tabitem_stundenzettelOverview_Selected" />
<TabItem Header="{markup:Translate Pivot Tabelle}" Name="tabitem_flexibleReport" Selector.Selected="tabitem_flexibleReport_Selected" />
<TabItem Header="{markup:Translate Pivot Tabelle}" Name="tabitem_flexibleReport" Selector.Selected="tabitem_flexibleReport_Selected" />
<!--<TabItem Header="Spitzabrechnung" Name="tabitem_settlement" Selector.Selected="tabitem_settlement_Selected"/>-->
<TabItem Header="Kilometerauswertung" Name="TabItemKilometerauswertung" Selector.Selected="TabItemKilometerauswertung_OnSelected" />
</TabControl>

View File

@@ -7,7 +7,6 @@ using BeWo.ServiceProxy;
using BeWo.View.Detail.Report;
using BeWo.View.Report.AnnualReport;
using BeWo.View.Report.Employee;
using BeWo.View.Report.FLSReport;
using BS.Shared;
using BS.Shared.Extensions;
@@ -16,47 +15,24 @@ using BeWo.View.Report.Kilometerauswertung;
namespace BeWo.View.Master
{
/// <summary>
/// Interaction logic for ReportView.xaml
/// </summary>
public partial class ReportView : BeWoView
public partial class ReportView
{
private readonly Dictionary<TabItem, BeWoView> _OpenViews = new Dictionary<TabItem, BeWoView>();
public Dictionary<TabItem, BeWoView> OpenViews { get; } = new Dictionary<TabItem, BeWoView>();
public Dictionary<TabItem, BeWoView> OpenViews { get { return _OpenViews; } }
public ReportView()
{
this.InitializeComponent();
InitializeComponent();
this.InitRights();
InitRights();
}
public override bool IsDirty
{
get
{
if (this._OpenViews.ContainsKey(this.root.SelectedItem as TabItem))
{
return this._OpenViews[this.root.SelectedItem as TabItem].IsDirty;
}
public override bool IsDirty => OpenViews.ContainsKey(root.SelectedItem as TabItem) && OpenViews[root.SelectedItem as TabItem].IsDirty;
return false;
}
}
internal override DependencyObject ValidationOnSaveRootElement
{
get
{
return this._OpenViews[this.root.SelectedItem as TabItem].ValidationOnSaveRootElement;
}
}
internal override DependencyObject ValidationOnSaveRootElement => OpenViews[root.SelectedItem as TabItem].ValidationOnSaveRootElement;
internal override bool DoSaveCheck()
{
foreach (var lPair in _OpenViews)
foreach (var lPair in OpenViews)
{
if (lPair.Value.IsDirty)
{
@@ -73,20 +49,25 @@ namespace BeWo.View.Master
protected override void Save()
{
this._OpenViews[this.root.SelectedItem as TabItem].SaveData();
OpenViews[root.SelectedItem as TabItem].SaveData();
}
private void InitRights()
{
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_ServiceOverview_View))
{
this.tabitem_serviceOverview.Visibility = Visibility.Collapsed;
tabitem_serviceOverview.Visibility = Visibility.Collapsed;
}
if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Auslastung_View))
{
tabitem_maReport.Visibility = Visibility.Collapsed;
}
if (BeWoApp.Mandator.BeWoClientType != 3) //Nur Köln Ring
{
tabitem_Mitarbeiter.Visibility = Visibility.Collapsed;
}
else if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_EmployeeOverviewAll_View))
{
tabitem_Mitarbeiter.Visibility = Visibility.Collapsed;
@@ -99,6 +80,7 @@ namespace BeWo.View.Master
// //Nur Jahresbericht + IBP + Integra
// tabitem_annualReport.Visibility = Visibility.Visible;
// }
if (BeWoApp.Tenant == "3010479871" || (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewAll) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewSelf) && !BeWoApp.LoggedOnUser.HasRight(UserRightType.Mitarbeiterstundenkonto_ViewTeams)))
{
//Aachener Verein
@@ -136,20 +118,24 @@ namespace BeWo.View.Master
// if (!BeWoApp.LoggedOnUser.HasRight(UserRightType.Analysis_Settlement_View))
// tabitem_settlement.Visibility = Visibility.Collapsed;
#if DEBUG
tabitem_serviceOverview.Visibility = Visibility.Visible;
#endif
}
private void Show(TabItem pTi)
{
foreach (var i in this._OpenViews)
foreach (var i in this.OpenViews)
{
i.Key.Content = null;
}
foreach (var i in this._OpenViews)
foreach (var i in this.OpenViews)
{
if (i.Key == pTi)
{
pTi.Content = this._OpenViews[pTi];
pTi.Content = this.OpenViews[pTi];
}
//else
//{
@@ -160,9 +146,9 @@ namespace BeWo.View.Master
private void tabitem_flsReport_Selected(object sender, RoutedEventArgs e)
{
if (!this._OpenViews.ContainsKey(this.tabitem_flsReport))
if (!this.OpenViews.ContainsKey(this.tabitem_flsReport))
{
this._OpenViews[this.tabitem_flsReport] = new BeWo.View.Report.FLSReport.FLSReportView();
this.OpenViews[this.tabitem_flsReport] = new BeWo.View.Report.FLSReport.FLSReportView();
}
this.Show(this.tabitem_flsReport);
@@ -170,42 +156,42 @@ namespace BeWo.View.Master
private void tabitem_Mitarbeiter_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_Mitarbeiter))
_OpenViews[tabitem_Mitarbeiter] = new BeWo.View.Report.MitarbeiterKoelnRing.FLSReportView();
if (!OpenViews.ContainsKey(tabitem_Mitarbeiter))
OpenViews[tabitem_Mitarbeiter] = new BeWo.View.Report.MitarbeiterKoelnRing.FLSReportView();
Show(tabitem_Mitarbeiter);
}
private void tabitem_maReport_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_maReport))
_OpenViews[tabitem_maReport] = new AuslastungReportView2();
if (!OpenViews.ContainsKey(tabitem_maReport))
OpenViews[tabitem_maReport] = new AuslastungReportView2();
Show(tabitem_maReport);
}
private void tabitem_maKonto_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_makonto))
_OpenViews[tabitem_makonto] = new EmployeeHourReportView();
if (!OpenViews.ContainsKey(tabitem_makonto))
OpenViews[tabitem_makonto] = new EmployeeHourReportView();
Show(tabitem_makonto);
}
private void tabitem_abwesenheitsTabelle_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_abwesenheitsTabelle))
_OpenViews[tabitem_abwesenheitsTabelle] = new AbwesenheitstabelleView();
if (!OpenViews.ContainsKey(tabitem_abwesenheitsTabelle))
OpenViews[tabitem_abwesenheitsTabelle] = new AbwesenheitstabelleView();
Show(tabitem_abwesenheitsTabelle);
}
private void tabitem_queries_Selected(object sender, RoutedEventArgs e)
{
if (!_OpenViews.ContainsKey(tabitem_queries))
if (!OpenViews.ContainsKey(tabitem_queries))
{
ServiceFacade.DoQueryServiceAsync(
s => s.GetAllQueriesOfType(QueryType.Public),
r => this.Dispatch(
delegate
{
_OpenViews[tabitem_queries] = new QueryView(r);
OpenViews[tabitem_queries] = new QueryView(r);
Show(tabitem_queries);
}));
}
@@ -224,9 +210,9 @@ namespace BeWo.View.Master
private void tabitem_serviceOverview_Selected(object sender, RoutedEventArgs e)
{
if (!this._OpenViews.ContainsKey(this.tabitem_serviceOverview))
if (!this.OpenViews.ContainsKey(this.tabitem_serviceOverview))
{
this._OpenViews[this.tabitem_serviceOverview] = new ServicesReportView();
this.OpenViews[this.tabitem_serviceOverview] = new ServicesReportView();
}
this.Show(this.tabitem_serviceOverview);
@@ -234,9 +220,9 @@ namespace BeWo.View.Master
private void tabitem_stundenzettelOverview_Selected(object sender, RoutedEventArgs e)
{
if (!this._OpenViews.ContainsKey(this.tabitem_stundenzettelOverview))
if (!this.OpenViews.ContainsKey(this.tabitem_stundenzettelOverview))
{
this._OpenViews[this.tabitem_stundenzettelOverview] = new TimeSheetMailView();
this.OpenViews[this.tabitem_stundenzettelOverview] = new TimeSheetMailView();
}
this.Show(this.tabitem_stundenzettelOverview);
@@ -244,9 +230,9 @@ namespace BeWo.View.Master
private void tabitem_flexibleReport_Selected(object sender, RoutedEventArgs e)
{
if (!this._OpenViews.ContainsKey(this.tabitem_flexibleReport))
if (!this.OpenViews.ContainsKey(this.tabitem_flexibleReport))
{
this._OpenViews[this.tabitem_flexibleReport] = new FlexibleReportView();
this.OpenViews[this.tabitem_flexibleReport] = new FlexibleReportView();
}
this.Show(this.tabitem_flexibleReport);
@@ -255,14 +241,14 @@ namespace BeWo.View.Master
private void tabitem_supportConceptAnalysis_Selected(object sender, RoutedEventArgs e)
{
if (!this._OpenViews.ContainsKey(this.tabitem_supportConceptAnalysis))
if (!this.OpenViews.ContainsKey(this.tabitem_supportConceptAnalysis))
{
ServiceFacade.DoAnalysisServiceAsync(
s => s.GetSupportConceptAnalysis(BeWoApp.LoggedOnUser.Employee.EmployeeOid, true, false, null),
r => this.Dispatch(
delegate
{
this._OpenViews[this.tabitem_supportConceptAnalysis] = new SupportConceptsAnalysisView(r.OrderBy(o => o.CustomerLastName + ", " + o.CustomerFirstName).GroupBy(so => so.CustomerLastName + ", " + so.CustomerFirstName).ToDictionary(g => g.Key, g => g.ToList()));
this.OpenViews[this.tabitem_supportConceptAnalysis] = new SupportConceptsAnalysisView(r.OrderBy(o => o.CustomerLastName + ", " + o.CustomerFirstName).GroupBy(so => so.CustomerLastName + ", " + so.CustomerFirstName).ToDictionary(g => g.Key, g => g.ToList()));
// _OpenViews[tabitem_supportConceptAnalysis] = new SupportConceptsAnalysisView(r
// .GroupBy(so => so.CustomerLastName + ", " + so.CustomerFirstName)
@@ -278,9 +264,9 @@ namespace BeWo.View.Master
private void tabitem_annualReport_Selected(object sender, RoutedEventArgs e)
{
if (!this._OpenViews.ContainsKey(this.tabitem_annualReport))
if (!this.OpenViews.ContainsKey(this.tabitem_annualReport))
{
this._OpenViews[this.tabitem_annualReport] = new AnnualReportView();
this.OpenViews[this.tabitem_annualReport] = new AnnualReportView();
}
this.Show(this.tabitem_annualReport);
@@ -289,9 +275,9 @@ namespace BeWo.View.Master
private void TabItemKilometerauswertung_OnSelected(object sender, RoutedEventArgs e)
{
if(!_OpenViews.ContainsKey(TabItemKilometerauswertung))
if(!OpenViews.ContainsKey(TabItemKilometerauswertung))
{
_OpenViews[TabItemKilometerauswertung] = new KilometerauslastungsView();
OpenViews[TabItemKilometerauswertung] = new KilometerauslastungsView();
}
Show(TabItemKilometerauswertung);

View File

@@ -15,6 +15,7 @@ using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.DataContracts.Compact;
using ChatController.Utilities.Extensions;
using DevExpress.Xpf.Core;
using DevExpress.XtraReports.UI;
namespace BeWo.View.Report.Kilometerauswertung
@@ -134,6 +135,13 @@ namespace BeWo.View.Report.Kilometerauswertung
}
});
});
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, Theme.Office2010Black);
Unloaded += delegate
{
ThemeManager.SetTheme(BeWoApp.CurrentBeWo.MainWindow, null);
};
}
private void InitYearComboBox()

View File

@@ -10,6 +10,15 @@
<UseGlobalApplicationHostFile />
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<ProjectView>ShowAllFiles</ProjectView>
<WebStackScaffolding_ViewDialogWidth>600</WebStackScaffolding_ViewDialogWidth>
<Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID>
<Controller_SelectedScaffolderCategoryPath>root/Controller</Controller_SelectedScaffolderCategoryPath>
<WebStackScaffolding_ControllerDialogWidth>600</WebStackScaffolding_ControllerDialogWidth>
<WebStackScaffolding_IsLayoutPageSelected>True</WebStackScaffolding_IsLayoutPageSelected>
<WebStackScaffolding_IsPartialViewSelected>False</WebStackScaffolding_IsPartialViewSelected>
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>False</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
<WebStackScaffolding_LayoutPageFile>~/Views/Shared/_Layout.cshtml</WebStackScaffolding_LayoutPageFile>
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>

View File

@@ -28,7 +28,6 @@
}
.appointment-header {
border-left-width: 0.25rem !important;
background-size: 0.25rem auto;
background-repeat: no-repeat;
background-position: right;
@@ -72,6 +71,7 @@
--bewo-employee: #45993B;
--bewo-resource: #04B4D0;
--bewo-task-red: #993B3B;
--bewo-report: #995E3B;
--breakpoint-xs: 0;
--breakpoint-sm: 576px;
--breakpoint-md: 768px;
@@ -2125,6 +2125,26 @@ pre code {
background-color: #d9b7b7;
}
.table-bewo-report,
.table-bewo-report > th,
.table-bewo-report > td {
background-color: #e2d2c8;
}
.table-bewo-report th,
.table-bewo-report td,
.table-bewo-report thead th,
.table-bewo-report tbody + tbody {
border-color: #caab99;
}
.table-hover .table-bewo-report:hover {
background-color: #d9c4b7;
}
.table-hover .table-bewo-report:hover > td,
.table-hover .table-bewo-report:hover > th {
background-color: #d9c4b7;
}
.table-active,
.table-active > th,
.table-active > td {
@@ -3213,6 +3233,36 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(168, 88, 88, 0.5);
}
.btn-bewo-report {
color: #fff;
background-color: #995E3B;
border-color: #995E3B;
}
.btn-bewo-report:hover {
color: #fff;
background-color: #7d4d30;
border-color: #74472d;
}
.btn-bewo-report:focus, .btn-bewo-report.focus {
color: #fff;
background-color: #7d4d30;
border-color: #74472d;
box-shadow: 0 0 0 0.2rem rgba(168, 118, 88, 0.5);
}
.btn-bewo-report.disabled, .btn-bewo-report:disabled {
color: #fff;
background-color: #995E3B;
border-color: #995E3B;
}
.btn-bewo-report:not(:disabled):not(.disabled):active, .btn-bewo-report:not(:disabled):not(.disabled).active, .show > .btn-bewo-report.dropdown-toggle {
color: #fff;
background-color: #74472d;
border-color: #6b4229;
}
.btn-bewo-report:not(:disabled):not(.disabled):active:focus, .btn-bewo-report:not(:disabled):not(.disabled).active:focus, .show > .btn-bewo-report.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(168, 118, 88, 0.5);
}
.btn-outline-primary {
color: #FF5A00;
border-color: #FF5A00;
@@ -3663,6 +3713,31 @@ fieldset:disabled a.btn {
box-shadow: 0 0 0 0.2rem rgba(153, 59, 59, 0.5);
}
.btn-outline-bewo-report {
color: #995E3B;
border-color: #995E3B;
}
.btn-outline-bewo-report:hover {
color: #fff;
background-color: #995E3B;
border-color: #995E3B;
}
.btn-outline-bewo-report:focus, .btn-outline-bewo-report.focus {
box-shadow: 0 0 0 0.2rem rgba(153, 94, 59, 0.5);
}
.btn-outline-bewo-report.disabled, .btn-outline-bewo-report:disabled {
color: #995E3B;
background-color: transparent;
}
.btn-outline-bewo-report:not(:disabled):not(.disabled):active, .btn-outline-bewo-report:not(:disabled):not(.disabled).active, .show > .btn-outline-bewo-report.dropdown-toggle {
color: #fff;
background-color: #995E3B;
border-color: #995E3B;
}
.btn-outline-bewo-report:not(:disabled):not(.disabled):active:focus, .btn-outline-bewo-report:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-bewo-report.dropdown-toggle:focus {
box-shadow: 0 0 0 0.2rem rgba(153, 94, 59, 0.5);
}
.btn-link {
font-weight: 400;
color: #FF5A00;
@@ -5668,6 +5743,19 @@ a.badge-bewo-task-red:focus, a.badge-bewo-task-red.focus {
box-shadow: 0 0 0 0.2rem rgba(153, 59, 59, 0.5);
}
.badge-bewo-report {
color: #fff;
background-color: #995E3B;
}
a.badge-bewo-report:hover, a.badge-bewo-report:focus {
color: #fff;
background-color: #74472d;
}
a.badge-bewo-report:focus, a.badge-bewo-report.focus {
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(153, 94, 59, 0.5);
}
.jumbotron {
padding: 2rem 1rem;
margin-bottom: 2rem;
@@ -5929,6 +6017,18 @@ a.badge-bewo-task-red:focus, a.badge-bewo-task-red.focus {
color: #2b1111;
}
.alert-bewo-report {
color: #50311f;
background-color: #ebdfd8;
border-color: #e2d2c8;
}
.alert-bewo-report hr {
border-top-color: #d9c4b7;
}
.alert-bewo-report .alert-link {
color: #2b1a11;
}
@keyframes progress-bar-stripes {
from {
background-position: 1rem 0;
@@ -6426,6 +6526,20 @@ a.badge-bewo-task-red:focus, a.badge-bewo-task-red.focus {
border-color: #501f1f;
}
.list-group-item-bewo-report {
color: #50311f;
background-color: #e2d2c8;
}
.list-group-item-bewo-report.list-group-item-action:hover, .list-group-item-bewo-report.list-group-item-action:focus {
color: #50311f;
background-color: #d9c4b7;
}
.list-group-item-bewo-report.list-group-item-action.active {
color: #fff;
background-color: #50311f;
border-color: #50311f;
}
.close {
float: right;
font-size: 1.5rem;
@@ -7358,6 +7472,16 @@ button.bg-bewo-task-red:focus {
background-color: #742d2d !important;
}
.bg-bewo-report {
background-color: #995E3B !important;
}
a.bg-bewo-report:hover, a.bg-bewo-report:focus,
button.bg-bewo-report:hover,
button.bg-bewo-report:focus {
background-color: #74472d !important;
}
.bg-white {
background-color: #fff !important;
}
@@ -7478,6 +7602,10 @@ button.bg-bewo-task-red:focus {
border-color: #993B3B !important;
}
.border-bewo-report {
border-color: #995E3B !important;
}
.border-white {
border-color: #fff !important;
}
@@ -11141,6 +11269,14 @@ a.text-bewo-task-red:hover, a.text-bewo-task-red:focus {
color: #622626 !important;
}
.text-bewo-report {
color: #995E3B !important;
}
a.text-bewo-report:hover, a.text-bewo-report:focus {
color: #623c26 !important;
}
.text-body {
color: #212529 !important;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
$theme-colors: ( "primary": #FF5A00, "bewo-customers": #3b7799, "bewo-service-records": #c80000, "bewo-calendar": #04b4d0, "bewo-is-about-to-expire": #FF0000, "bewo-expires-in-three-months": #FF9400, "bewo-group-booking": #f9e79f, "bewo-customer-card-header": #AB4A07, "bewo-employee": #45993B, "bewo-resource": #04B4D0, "bewo-task-red": #993B3B);
$theme-colors: ( "primary": #FF5A00, "bewo-customers": #3b7799, "bewo-service-records": #c80000, "bewo-calendar": #04b4d0, "bewo-is-about-to-expire": #FF0000, "bewo-expires-in-three-months": #FF9400, "bewo-group-booking": #f9e79f, "bewo-customer-card-header": #AB4A07, "bewo-employee": #45993B, "bewo-resource": #04B4D0, "bewo-task-red": #993B3B, "bewo-report": #995E3B);
.no-underline {
text-decoration: none !important

View File

@@ -34,5 +34,6 @@ namespace BeWoPlanerMobil.Models
public static string TimeOfLastAction { get; set; }
public static bool HasRightToInsertRessourceAppointments => MobileSessionFacade.CheckForUserRight(UserRightType.KalenderRessourcentermineAnlegen) || MobileSessionFacade.CheckForUserRight(UserRightType.CreateAll);
public static bool IsAllowedToSeeBills => MobileSessionFacade.CheckForUserRight(UserRightType.Analysis_ServiceOverview_View);
}
}

View File

@@ -8,9 +8,9 @@
<div class="container-fluid mt-3">
@using(Html.BeginForm("SelectCustomer", "Customer", FormMethod.Post, new { id = "select-customer-form" }))
{
<div class="row">
<div class="row align-items-center">
<div class="col-sm-2 col-md-auto">
@Html.LabelFor(m => m.SelectedCustomerOid, new {@class="align-middle"})
@Html.LabelFor(m => m.SelectedCustomerOid)
</div>
<div class="col-sm-10 col-md">
@Html.DropDownListFor(m => m.SelectedCustomerOid, Model.CustomerListItems, new { onchange = "submitCustomerSelectionForm();", @class = "form-control" })

View File

@@ -32,6 +32,7 @@
<script src="~/Scripts/view-scripts/customer.js"></script>
<script src="~/Scripts/view-scripts/scheduler.js"></script>
<script src="~/Scripts/utils/dateUtils.js"></script>
<script src="~/Scripts/view-scripts/report.js"></script>
<script>
$(document).ready(function() {
@@ -140,6 +141,21 @@
}
}
@*@if(AbstractModel.IsAllowedToSeeBills)
{
using(Html.BeginForm("RedirectToReportView", "Main", FormMethod.Post))
{
<li class="nav-item">
<button class="btn btn-link text-light no-underline" onclick="showSpinner()">
<i class="fas fa-file-invoice text-bewo-report">
</i>
Auswertung
</button>
</li>
}
}*@
<li class="nav-item">
@using(Html.BeginForm("Logout", "Main", FormMethod.Post))

View File

@@ -42,7 +42,7 @@ namespace BeWo.Report.ReportObjects
Entries = new List<KilometerauswertungsEntry>();
TotalDistanceInMeters = 0;
foreach(var serviceRecord in serviceRecords.Where(serviceRecord => serviceRecord.DistanceInMeter.HasValue && serviceRecord.Start.HasValue))
foreach(var serviceRecord in serviceRecords.Where(serviceRecord => serviceRecord.DistanceInMeter.HasValue && serviceRecord.DistanceInMeter > 0 && serviceRecord.Start.HasValue))
{
TotalDistanceInMeters += serviceRecord.DistanceInMeter.Value;

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.ServiceModel;
using BS.Shared.Core;
using BS.Shared.DataContracts;

View File

@@ -375,5 +375,9 @@ namespace BeWo.Service.ServiceContracts
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<long> LoadTeamsRelatedCustomerOids(long employeeOid);
[FaultContract(typeof(BeWoFault))]
[OperationContract]
List<EmployeeDC> GetAllActiveEmployees();
}
}

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.ServiceModel;

View File

@@ -1576,5 +1576,19 @@ namespace BeWo.Service.ServiceImplementations
throw Utils.CreateBeWoFaultException(e);
}
}
public List<EmployeeDC> GetAllActiveEmployees()
{
try
{
var employees = DAOFactory.GenericDAO.GetAllActive<Employee>();
return MapperFactory.EmployeeDC_Employee.MapToNewDCs(employees);
}
catch(Exception exception)
{
throw Utils.CreateBeWoFaultException(exception);
}
}
}
}