- Zeiterfassungseinträge mit ServiceDescription "Arbeitszeit" und "Pause" dürfen sich bei Kunde Synprax überschneiden
- Bei Klienten werden jetzt auch die Organisationen des Umfelds angezeigt
This commit is contained in:
Lyndon Jetten
2021-07-21 15:36:18 +02:00
parent bf3df8de22
commit 1c4bd11446
10 changed files with 236 additions and 21 deletions

View File

@@ -380,7 +380,7 @@ namespace BeWoPlanerMobil.Controllers
isOverlapping = KalenderService.OverlappingAppointmentsExist(startDate, endDate, employeeOidList, customerOidList, resourceOidList, originator.EmployeeOid, oid, recurrenceId, recurrenceIndex);
// Serientermine überprüfen
// TODO: Serientermine überprüfen
if(Model.Appointments != null)
{
foreach(var appointment in Model.Appointments.Where(app => app.SchedulerAppointmentOid == null && app.IsTask == false))

View File

@@ -542,7 +542,7 @@ namespace BeWoPlanerMobil.Models
public ValueListEntryDC GetGoalByOid(long goalOid)
{
return SelectedSupportConcept != null ? SelectedSupportConcept.Goals.FirstOrDefault(goal => goal.ValueListEntryOid == goalOid) : null;
return SelectedSupportConcept?.Goals.FirstOrDefault(goal => goal.ValueListEntryOid == goalOid);
}
public bool HasAnyRatingTypes { get; set; }

View File

@@ -82,8 +82,6 @@ function updateGroupBookingGroupList(groupBookingSelectionObject) {
var groupOids = groupBookingSelectionObject.GroupOids === undefined ? [] : groupBookingSelectionObject.GroupOids;
var relOids = [];
console.log(groupBookingSelectionObject);
if (groupBookingSelectionObject.SelectedRelations !== undefined){
for(var i = 0; i < groupBookingSelectionObject.SelectedRelations.length; i++) {
var oidStringValue = groupBookingSelectionObject.SelectedRelations[i].Value;

View File

@@ -728,7 +728,6 @@ function resetSupportConceptSearch() {
}
}
//GetSignatureImage(long serviceRecordOid, long signatureOid)
function getSignatureImage(serviceRecordOid, signatureOid) {
try {
var url = getGetSignatureImageUrl();
@@ -747,4 +746,16 @@ function getSignatureImage(serviceRecordOid, signatureOid) {
} catch (error) {
logError(error.message);
}
}
function setServiceDescription(id) {
try {
var url = getSetServiceDescriptionUrl();
var selectedServiceDescription = $("#" + id).find(":selected").val();
$.get(url, { pServiceDescriptionOid: selectedServiceDescription});
} catch (error) {
logError(error.message);
}
}

View File

@@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Web;
using BeWo.Data.Access;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
@@ -121,6 +122,8 @@ namespace BeWoPlanerMobil.Util
{
Organisations.Add(new JsonOrganisation(organisation));
}
// TODO: Dokumente anzeigen und herunterladbar machen
}
}
}

View File

@@ -0,0 +1,75 @@
using BS.Shared.DataContracts;
namespace BeWoPlanerMobil.Util
{
public class JsonOrganisation
{
public long? Customer2OrganisationOid { get; set; }
public string ContactPerson { get; set; }
public string Name { get; set; }
public string Role { get; set; }
public string StreetName { get; set; }
public string ZipCode2Town { get; set; }
public string PhoneNumber { get; set; }
public string FaxNumber { get; set; }
public string Email { get; set; }
public string Website { get; set; }
public string Info { get; set; }
public string Notice { get; set; }
public string Address
{
get
{
var result = string.Empty;
if(!string.IsNullOrEmpty(StreetName))
{
result += StreetName;
if(!string.IsNullOrEmpty(ZipCode2Town))
{
result += "<br />";
}
}
if(!string.IsNullOrEmpty(ZipCode2Town))
{
result += ZipCode2Town;
}
return result;
}
}
public JsonOrganisation(CustomerOrganisationRelationDC customer2Organisation)
{
Customer2OrganisationOid = customer2Organisation.Customer2OrganisationOid;
ContactPerson = customer2Organisation.Person?.ToString() ?? string.Empty;
Name = customer2Organisation.Organisation.Name ?? string.Empty;
Role = customer2Organisation.RelationRole?.DisplayName ?? string.Empty;
StreetName = customer2Organisation.Organisation.Street ?? string.Empty;
ZipCode2Town = $"{customer2Organisation.Organisation.PostalCode ?? string.Empty} {customer2Organisation.Organisation.Town ?? string.Empty}";
PhoneNumber = customer2Organisation.Organisation.Communication1 ?? string.Empty;
FaxNumber = customer2Organisation.Organisation.Communication2 ?? string.Empty;
Email = customer2Organisation.Organisation.Communication3 ?? string.Empty;
Website = customer2Organisation.Organisation.Communication4 ?? string.Empty;
Info = customer2Organisation.Info1 ?? string.Empty;
Notice = customer2Organisation.Customer2OrganisationNotice ?? string.Empty;
}
}
}

View File

@@ -236,7 +236,7 @@
<!-- Aktenzeichen -->
@if(Model.SelectedJsonCustomer.ReferenceNumbers.Any())
{
<div class="@referenceNumbersCol my-3">
<div class="col-12 my-3">
<div class="card w-100">
<div class="card-header">
<h5 class="text-bewo-customer-card-header">Aktenzeichen pro Kostenträger</h5>
@@ -277,7 +277,7 @@
<!-- Umfeld -->
@if(Model.SelectedJsonCustomer.Umfeldpersonen.Any())
{
<div class="@umfeldPersonenCol my-3">
<div class="col-12 my-3">
<div class="card w-100">
<div class="card-header">
<h5 class="text-bewo-customer-card-header">Umfeld</h5>
@@ -358,6 +358,122 @@
</div>
</div>
}
</div>
@if(Model.SelectedJsonCustomer.Organisations.Any())
{
<div class="col-12 my-3">
<div class="card w-100">
<div class="card-header">
<h5 class="text-bewo-customer-card-header">Organisationen des Umfelds</h5>
</div>
<div class="card-body">
<div class="container-fluid px-0">
@foreach(var organisation in Model.SelectedJsonCustomer.Organisations)
{
<div class="card w-100 mb-3">
<div class="card-header" onclick="cardHeaderClick('#chevron-umfeldorganisation-@organisation.Customer2OrganisationOid', '#collapse-umfeldorganisation-@organisation.Customer2OrganisationOid')">
<div class="d-inline-flex">
<i class="fas fa-chevron-down h-100 text-primary" id="chevron-umfeldorganisation-@organisation.Customer2OrganisationOid"></i>
</div>
<div class="p2 d-inline-flex text-primary h-100">
<button type="button" class="btn btn-link">
@organisation.Name
</button>
</div>
</div>
<div class="collapse" id="collapse-umfeldorganisation-@organisation.Customer2OrganisationOid">
<div class="card-body">
<div class="container-fluid">
<div class="row mb-3">
<div class="col text-secondary text-left">
Ansprechpartner
</div>
<div class="col-auto text-right">
@organisation.ContactPerson
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Rolle
</div>
<div class="col-auto text-right">
@organisation.Role
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Adresse
</div>
<div class="col-auto text-right">
@organisation.StreetName
@if(!string.IsNullOrEmpty(organisation.StreetName) && !string.IsNullOrEmpty(organisation.ZipCode2Town))
{
<br/>
}
@organisation.ZipCode2Town
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Tel.:
</div>
<div class="col-auto text-right">
<a href="tel:@organisation.PhoneNumber">@organisation.PhoneNumber</a>
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Fax:
</div>
<div class="col-auto text-right">
@organisation.FaxNumber
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
E-Mail:
</div>
<div class="col-auto text-right">
<a href="mailto:@organisation.Email">@organisation.Email</a>
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Internet:
</div>
<div class="col-auto text-right">
<a href="@organisation.Website">@organisation.Website</a>
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Info
</div>
<div class="col-auto text-right">
@organisation.Info
</div>
</div>
<div class="row mb-3">
<div class="col text-secondary text-left">
Notiz
</div>
<div class="col-auto text-right">
@organisation.Notice
</div>
</div>
</div>
</div>
</div>
</div>
}
</div>
</div>
</div>
</div>
}
</div>
}
</div>

View File

@@ -299,14 +299,6 @@
function getRateSelectedGoalUrl() {
return "@Url.Action("RateSelectedGoal")";
}
function getSelectGoalToRateUrl() {
return "@Url.Action("SelectGoalOidToRate")";
}
function getResetSelectedGoalToRateUrl() {
return "@Url.Action("ResetSelectedGoalToRate")";
}
</script>
<div class="container mt-3" id="checkbox-container">
@@ -477,7 +469,7 @@
<div class="col-md">
<div class="form-group mb-1">
<label for="leistung-select">Leistung</label>
<select class="custom-select" id="leistung-select" name="ServiceDescription">
<select class="custom-select" id="leistung-select" name="ServiceDescription" onchange="setServiceDescription('leistung-select')">
</select>
</div>
</div>
@@ -1017,7 +1009,7 @@
<div class="col-md">
<div class="form-group mb-1">
<label for="leistung-select">Leistung</label>
<select class="custom-select" id="leistung-select" name="ServiceDescription"></select>
<select class="custom-select" id="leistung-select" name="ServiceDescription" onchange="setServiceDescription('leistung-select')"></select>
</div>
</div>
</div>

View File

@@ -316,6 +316,26 @@
</div>
}
</div>
<!--<div class="container-fluid px-0">-->
<!-- 6x6 -> col-2 -->
<!--<div class="row">
<div class="col-2 bg-light">
<p class="text-center font-weight-bold">Mo</p>
</div>
<div class="col-2">Di</div>
<div class="col-2 bg-light">Mi</div>
<div class="col-2">Do</div>
<div class="col-2 bg-light">Fr</div>
<div class="col-2 bg-danger">
<div class="row">
<div class="col">Sa</div>
</div>
<div class="row">
<div class="col">So</div>
</div>
</div>
</div>
</div>-->
</div>
</div>
</div>

View File

@@ -109,7 +109,7 @@ namespace BeWo.Service.Plugins
//t = "8677523325"; // BeWo Richartz
//t = "1765854593"; // Mein Betreutes Wohnen
//t = "6802909544"; // Lebenshilfe Coburg
//t = "9417634361"; // Synprax
t = "9417634361"; // Synprax
//t = "5761861730"; // Lebenshilfe Warendorf
//t = "6712648331"; // BeWo Färber
//t = "4982295287"; // ASB Hamm
@@ -142,7 +142,7 @@ namespace BeWo.Service.Plugins
//t = "5712358157"; // FINDUS
//t = "8828216586"; // Caritas Aachen
//t = "7062943632"; // ABW Elsebrock
t = "3956369664"; // LH Wetterau
//t = "3956369664"; // LH Wetterau
//t = "3984525482"; // API Berlin
//t = "9975231461"; // Selwo
//t = "8181286349"; // BeWo am Rhein
@@ -279,7 +279,7 @@ namespace BeWo.Service.Plugins
//t = "8283849714"; // Forum e.V. (proviel GmbH)
//t = "3915346496"; // Sprungbrett 2. DB (Haus Theresia)
//t = "5595701056"; // Domiziel Ansbach
t = "9430188510"; // Pro INTEGRA
//t = "9430188510"; // Pro INTEGRA
return t;
#else