diff --git a/BeWoPlanerMobil/BeWoPlanerMobil.csproj b/BeWoPlanerMobil/BeWoPlanerMobil.csproj index 81be55fd6..17c59fee5 100644 --- a/BeWoPlanerMobil/BeWoPlanerMobil.csproj +++ b/BeWoPlanerMobil/BeWoPlanerMobil.csproj @@ -5108,6 +5108,9 @@ + + + 10.0 $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) diff --git a/BeWoPlanerMobil/Controllers/CustomerController.cs b/BeWoPlanerMobil/Controllers/CustomerController.cs index e91b3bacd..780f6039d 100644 --- a/BeWoPlanerMobil/Controllers/CustomerController.cs +++ b/BeWoPlanerMobil/Controllers/CustomerController.cs @@ -434,13 +434,6 @@ namespace BeWoPlanerMobil.Controllers } #region Bargeldkassen - // GetBargeldkassenName - // SaveBargeldkassenName - // DeleteBargeldkasse - // DownloadBargeldkassenPdf - // DownloadTransactionPdf - // SaveTransactionSignature - [Authorize] public string SelectBargeldkasse(long oid) { @@ -475,6 +468,20 @@ namespace BeWoPlanerMobil.Controllers public ActionResult LoadFormPartial() { Model.SelectedBargeldkasse = null; + Model.SelectedAuszahlungsintervall = 0; + + return PartialView("CustomerBargeldkassenFormPartial", Model); + } + + [Authorize] + public ActionResult LoadEditFormPartial(long bargeldkassenOid) + { + Model.SelectedBargeldkasse = Model.Bargeldkassen.FirstOrDefault(bargeldkasse => bargeldkasse.BargeldkassenOid.HasValue && bargeldkasse.BargeldkassenOid.Value.Equals(bargeldkassenOid)); + + if(Model.SelectedBargeldkasse != null) + { + Model.SelectedAuszahlungsintervall = (int) Model.SelectedBargeldkasse.Auszahlungsintervall; + } return PartialView("CustomerBargeldkassenFormPartial", Model); } @@ -518,12 +525,10 @@ namespace BeWoPlanerMobil.Controllers decimal.TryParse(rawAnfangsbestand, out var anfangsbestand); + var auszahlungsintervall = (Auszahlungsintervall) Model.SelectedAuszahlungsintervall; + if(Model.SelectedBargeldkasse is null) { - var rawAuszahlungsintervall = formCollection["auszahlungsintervall-select"]; - - var auszahlungsintervall = int.TryParse(rawAuszahlungsintervall, out var parsedAuszahlungsintervall) ? (Auszahlungsintervall)parsedAuszahlungsintervall : Auszahlungsintervall.Kein; - var newBargeldkasse = new BargeldkassenDC { Anfangsbestand = anfangsbestand, @@ -546,6 +551,8 @@ namespace BeWoPlanerMobil.Controllers bargeldkasse.Kassenname = name; } + bargeldkasse.Auszahlungsintervall = auszahlungsintervall; + bargeldkasse.Anfangsbestand = anfangsbestand; OperationsService.UpdateBargeldkasse(bargeldkasse); @@ -557,6 +564,34 @@ namespace BeWoPlanerMobil.Controllers return RedirectToActionPermanent("Customer"); } + + [Authorize] + public ActionResult PrintBargeldkasse(long kassenbuchOid, string reportStartDate, string reportEndDate) + { + // Benötigt werden: BargeldkassenOid, Startdatum und Enddatum + + var bargeldkasse = Model.Bargeldkassen.FirstOrDefault(f => f.BargeldkassenOid.HasValue && f.BargeldkassenOid.Value.Equals(kassenbuchOid)); + + var startDate = DateTime.TryParse(reportStartDate, out var parsedStartDate) ? parsedStartDate : DateTime.Today.GetFirstOfMonth(); + var endDate = DateTime.TryParse(reportEndDate, out var parsedEndDate) ? parsedEndDate : DateTime.Today.GetLastOfMonth(); + + if(bargeldkasse?.ObjectOid is null) + { + return PartialView("BargeldkassenReportPartial", Model); + } + + ReportService.CreateKassenbuchReportImZeitraum(startDate, endDate, bargeldkasse, bargeldkasse.ObjectOid.Value, bargeldkasse.ObjectTid); + + return PartialView("BargeldkassenReportPartial", Model); + } + + [Authorize] + public string SetSelectedAuszahlungsintervall(int auszahlungsintervall) + { + Model.SelectedAuszahlungsintervall = auszahlungsintervall; + + return LeerzeichenFuerGetMethoden; + } #endregion #region Abwesenheiten diff --git a/BeWoPlanerMobil/Models/CustomerModel.cs b/BeWoPlanerMobil/Models/CustomerModel.cs index df83b2eaf..455d0ecd8 100644 --- a/BeWoPlanerMobil/Models/CustomerModel.cs +++ b/BeWoPlanerMobil/Models/CustomerModel.cs @@ -165,5 +165,25 @@ namespace BeWoPlanerMobil.Models public AbsenceTimeDC SelectedAbsenceTime { get; set; } public BargeldkassenDC SelectedBargeldkasse { get; set; } + + [Display(Name="Auszahlunsintervall")] + public int SelectedAuszahlungsintervall { get; set; } + public List Auszahlungsintervalle + { + get + { + var result = new List + { + new SelectListItem{Value = ((int) Auszahlungsintervall.Kein).ToString(), Text = "Kein"}, + new SelectListItem{Value = ((int) Auszahlungsintervall.Monatlich).ToString(), Text = "Monatlich"}, + new SelectListItem{Value = ((int) Auszahlungsintervall.Woechentlich).ToString(), Text = "Wöchentlich"}, + new SelectListItem{Value = ((int) Auszahlungsintervall.Taeglich).ToString(), Text = "Täglich"}, + }; + + return result; + } + } + + public XtraReport BargeldkassenReportObject { get; set; } } } \ No newline at end of file diff --git a/BeWoPlanerMobil/Scripts/tempusdominus-boostrap-4.min.js b/BeWoPlanerMobil/Scripts/tempusdominus-boostrap-4.min.js index fdeb967e0..9354efe60 100644 --- a/BeWoPlanerMobil/Scripts/tempusdominus-boostrap-4.min.js +++ b/BeWoPlanerMobil/Scripts/tempusdominus-boostrap-4.min.js @@ -471,6 +471,10 @@ if ((version[0] <= 2 && version[1] < 17) || version[0] >= 3) throw new Error("Te // ToDo: workaround, damit nicht undefined zurückkommt! var ownSoft_Date = this._dates[this._getLastPickedDateIndex()]; + if(typeof ownSoft_Date == "undefined" || ownSoft_Date == null) { + ownSoft_Date = this.getMoment(); + } + return ownSoft_Date === undefined ? this.getMoment() : this._dates[this._getLastPickedDateIndex()]; //return this._dates[this._getLastPickedDateIndex()]; diff --git a/BeWoPlanerMobil/Views/Customer/BargeldkassenReportPartial.cshtml b/BeWoPlanerMobil/Views/Customer/BargeldkassenReportPartial.cshtml new file mode 100644 index 000000000..3394ef7c7 --- /dev/null +++ b/BeWoPlanerMobil/Views/Customer/BargeldkassenReportPartial.cshtml @@ -0,0 +1,28 @@ +@model BeWoPlanerMobil.Models.CustomerModel + + + +@if(Model.BargeldkassenReportObject != null) +{ + @Html.DevExpress().WebDocumentViewer(settings => + { + settings.Name = "bargeldkassenReportViewer"; + settings.Width = Unit.Percentage(100); + settings.Height = Unit.Percentage(100); + settings.MobileMode = true; + settings.SettingsMobile.ReaderMode = true; + settings.SettingsMobile.AnimationEnabled = false; + settings.ClientSideEvents.Init = "bargeldkassenReportViewerInit"; + }).Bind(Model.BargeldkassenReportObject).GetHtml() +} \ No newline at end of file diff --git a/BeWoPlanerMobil/Views/Customer/Customer.cshtml b/BeWoPlanerMobil/Views/Customer/Customer.cshtml index 116619e05..178566b9f 100644 --- a/BeWoPlanerMobil/Views/Customer/Customer.cshtml +++ b/BeWoPlanerMobil/Views/Customer/Customer.cshtml @@ -998,8 +998,8 @@
-
-
+
+
@Html.Partial("CustomerBargeldkassen", Model)
diff --git a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml index 32aac8bed..b3b3bc1a6 100644 --- a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml +++ b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassen.cshtml @@ -44,6 +44,13 @@ *@ -
+
@@ -121,16 +151,14 @@
@foreach(var bargeldkasse in Model.Bargeldkassen) { -
+
- +

@bargeldkasse.Kassenname

@@ -144,24 +172,70 @@ var kassenbestand = ((bargeldkasse.Anfangsbestand ?? 0m) + einzahlungen - auszahlungen).ToString("0.00 €"); } - +
- -
-
- -
-
- +
+ + + + +
+ @* + ----- Startdatum ----- +
+
+
+
+
+
+ Startdatum +
+
+ +
+
+ +
+
+
+
+
+
+ + ----- Enddatum ----- +
+
+
+
+
+
+ Enddatum +
+
+ +
+
+ +
+
+
+
+
+
+ + *@
@@ -181,20 +255,20 @@ @anfangsbestand - - - - - - - - + @* + + + + + + + *@
- Startdatum: - -
- Enddatum: - -
+ Startdatum: + +
+ Enddatum: + +
@@ -229,7 +303,7 @@
-} \ No newline at end of file +} + + \ No newline at end of file diff --git a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassenFormPartial.cshtml b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassenFormPartial.cshtml index 7f58a1724..4befaae69 100644 --- a/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassenFormPartial.cshtml +++ b/BeWoPlanerMobil/Views/Customer/CustomerBargeldkassenFormPartial.cshtml @@ -1,5 +1,6 @@ @using BeWoPlanerMobil.Models; @using BeWoPlanerMobil.Util +@using BS.Shared.Extensions @model CustomerModel @@ -78,7 +79,7 @@ $("#bargeldkassenname").val(""); $("#bargeldkassenanfangsbestand").val(""); $("#bargeldkassennamensinput").val(""); - + $("#bargeldkassenanfangsbestandsinput").val(""); if($("#auszahlungsintervall-select-input").length) { @@ -88,6 +89,20 @@ showErrorPopup(error); } } + + function setAuszahlungsintervall() { + try { + showSpinner(); + + var selectedAuszahlungsintervall = $("#auszahlungsintervall-select-input :selected").val(); + + $.get("@Url.Action("SetSelectedAuszahlungsintervall")", {auszahlungsintervall: selectedAuszahlungsintervall}).success(function() { + hideSpinner(); + }); + } catch(error) { + showErrorPopup(error); + } + } @using(Html.BeginForm("CreateOrUpdateBargeldkasse", "Customer", FormMethod.Post, new { id = "create-bargeldkasse-form" })) @@ -103,6 +118,7 @@ var anfangsbestand = Model.SelectedBargeldkasse?.Anfangsbestand?.ToString("0.00") ?? "0.00"; } +@*----- Name -----*@
@@ -117,28 +133,33 @@
-@if(Model.SelectedBargeldkasse is null) -{ -
-
-
-
-
-
- Auszahlungsintervall -
+ +@*----- Auszahlungsintervall -----*@ +
+
+
+
+
+
+ Auszahlungsintervall
-
+ @* + @Html.DropDownListFor(model => model.SelectedReportType, Model.ReportTypes, new { @class = "custom-select", onchange = "updateForm()", id = "msk-report-type-select" }) + *@ + @Html.DropDownListFor(model => model.SelectedAuszahlungsintervall, Model.Auszahlungsintervalle, new {@class="form-control", id = "auszahlungsintervall-select-input", onchange="setAuszahlungsintervall()" }) + @**@
-} +
+ +@*----- Anfangsbestand -----*@
@@ -157,23 +178,25 @@
-@if(Html.IsInDebugMode()) -{ - using(Html.BeginForm("CreateOrUpdateBargeldkasse", "Customer", FormMethod.Post)) - { -
-
-
-
-
-
- Testinput -
-
- + + +@*----- Stichtag -----*@ +
+
+
+
+
+
+ Stichtag +
+
+ +
+
+
- } -} \ No newline at end of file +
+
\ No newline at end of file diff --git a/Model/Changes_2024_01_19_Bargeldkassenunterschriften Signature.txt b/Model/Changes_2024_01_19_Bargeldkassenunterschriften Signature.txt new file mode 100644 index 000000000..fffd1fe73 --- /dev/null +++ b/Model/Changes_2024_01_19_Bargeldkassenunterschriften Signature.txt @@ -0,0 +1,4 @@ +ALTER TABLE signature + ADD COLUMN EmployeeOid BIGINT DEFAULT NULL, + ADD COLUMN CustomerOid BIGINT DEFAULT NULL, + ADD COLUMN BargeldkassenOid BIGINT DEFAULT NULL; \ No newline at end of file