diff --git a/BeWo/View/Detail/CustomerFalldatenView.xaml b/BeWo/View/Detail/CustomerFalldatenView.xaml index 7f63b6e71..6e025b8a8 100644 --- a/BeWo/View/Detail/CustomerFalldatenView.xaml +++ b/BeWo/View/Detail/CustomerFalldatenView.xaml @@ -9,7 +9,7 @@ xmlns:core="clr-namespace:BS.Shared.Core;assembly=BS.Shared" VerticalAlignment="Stretch" Focusable="True" > - + diff --git a/BeWo/View/Detail/CustomerFalldatenView.xaml.cs b/BeWo/View/Detail/CustomerFalldatenView.xaml.cs index d61886969..79f9adea0 100644 --- a/BeWo/View/Detail/CustomerFalldatenView.xaml.cs +++ b/BeWo/View/Detail/CustomerFalldatenView.xaml.cs @@ -21,15 +21,23 @@ namespace BeWo.View.Detail /// public partial class CustomerFalldatenView : UserControl { - public CustomerVM ViewModel { get; set; } + private CustomerFalldatenVM _ViewModel; - public CustomerFalldatenView(CustomerVM vM) + public CustomerFalldatenVM ViewModel + { + get { return _ViewModel; } + set + { + _ViewModel = value; + DataContext = value; + } + } + + public CustomerFalldatenView(CustomerFalldatenVM vM) { InitializeComponent(); ViewModel = vM; - - DataContext = ViewModel; } } } diff --git a/BeWo/View/Detail/CustomerView.xaml.cs b/BeWo/View/Detail/CustomerView.xaml.cs index ad3562db2..d0531d47d 100644 --- a/BeWo/View/Detail/CustomerView.xaml.cs +++ b/BeWo/View/Detail/CustomerView.xaml.cs @@ -328,11 +328,17 @@ namespace BeWo.View.Detail view.ViewModel = value.Arbeitszeiten; view.RefreshView(); } - } else if(tabitem_stundenplan.Content != null && tabitem_stundenplan.Content is StundenplanView stundenplanView) + } + else if(tabitem_stundenplan.Content != null && tabitem_stundenplan.Content is StundenplanView stundenplanView) { stundenplanView.ViewModel = value.Arbeitszeiten; stundenplanView.RefreshView(); } + + if (tabitem_falldaten.Content != null && tabitem_falldaten.Content is CustomerFalldatenView falldatenView) + { + falldatenView.ViewModel = value.CustomerFalldatenVM; + } _saveInProgress = false; @@ -1085,7 +1091,7 @@ namespace BeWo.View.Detail { if (tabitem_falldaten.Content == null) { - tabitem_falldaten.Content = new CustomerFalldatenView(ViewModel); + tabitem_falldaten.Content = new CustomerFalldatenView(ViewModel.CustomerFalldatenVM); } } diff --git a/BeWo/View/StundenplanView.xaml.cs b/BeWo/View/StundenplanView.xaml.cs index 76152bd0e..d00d8e708 100644 --- a/BeWo/View/StundenplanView.xaml.cs +++ b/BeWo/View/StundenplanView.xaml.cs @@ -61,8 +61,6 @@ namespace BeWo.View { tabcontrol_Arbeitszeit.SelectedIndex = tabcontrol_Arbeitszeit.Items.Count - 1; } - - } diff --git a/BeWo/ViewModel/CustomerFalldatenVM.cs b/BeWo/ViewModel/CustomerFalldatenVM.cs index f18604dbc..b9f5864f2 100644 --- a/BeWo/ViewModel/CustomerFalldatenVM.cs +++ b/BeWo/ViewModel/CustomerFalldatenVM.cs @@ -17,7 +17,7 @@ namespace BeWo.ViewModel private decimal? _ZuLeistendeArbeitsstunden; private string _Hinweis; private DateTime? _Termin; - private CustomerFalldatenBearbeitungsstatus _FalldatenBearbeitungsstatus; + private CustomerFalldatenBearbeitungsstatus? _FalldatenBearbeitungsstatus; private string _Auftragsruckgabe; private string _Verlauf; private decimal? _AbgeleisteteStunden; @@ -189,7 +189,7 @@ namespace BeWo.ViewModel } } - public CustomerFalldatenBearbeitungsstatus FalldatenBearbeitungsstatus + public CustomerFalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus { get { return _FalldatenBearbeitungsstatus; } set diff --git a/BeWo/ViewModel/CustomerVM.cs b/BeWo/ViewModel/CustomerVM.cs index aed8c3961..c3e51f362 100644 --- a/BeWo/ViewModel/CustomerVM.cs +++ b/BeWo/ViewModel/CustomerVM.cs @@ -865,7 +865,7 @@ namespace BeWo.ViewModel return base.IsDirty || TeamRelations.IsDirty || EmployeeRelations.IsDirty || _EnvironmentPersons.IsDirty || _EnvironmentOrganisations.IsDirty || _AbsenceTimes.IsDirty || _VarFields.IsDirty || CostBearers.IsDirty || _IndividualAssessmentSheetCategories.IsDirty || - _PlacementList.IsDirty || _MedVerordnungslisten.IsDirty || _EnvironmentPersonsWithFamily.IsDirty || _Arbeitszeiten.IsDirty; + _PlacementList.IsDirty || _MedVerordnungslisten.IsDirty || _EnvironmentPersonsWithFamily.IsDirty || _Arbeitszeiten.IsDirty || _CustomerFalldatenVM.IsDirty; } } @@ -2162,7 +2162,14 @@ namespace BeWo.ViewModel pDataContract.SubstitutionNeed = _SubstitutionNeed; pDataContract.AufenthaltGueltigBis = _AufenthaltGueltigBis; - pDataContract.CustomerFalldatenDC = _CustomerFalldatenVM.CommitToDataContract(); + var falldaten_new_and_no_changed = _CustomerFalldatenVM.IsNew && !_CustomerFalldatenVM.IsDirty; + + if (!falldaten_new_and_no_changed) + { + pDataContract.CustomerFalldatenDC = _CustomerFalldatenVM.CommitToDataContract(); + } + + if(_CustomerFalldatenVM.IsNew && !_CustomerFalldatenVM.IsDirty) if (_MerkzeichenListe != null) { diff --git a/Data/Data.csproj b/Data/Data.csproj index 6ffb85366..78ca41230 100644 --- a/Data/Data.csproj +++ b/Data/Data.csproj @@ -768,6 +768,9 @@ Designer + + Designer + Designer diff --git a/Data/Entities/Customer.cs b/Data/Entities/Customer.cs index dd5c55788..e18e6b280 100644 --- a/Data/Entities/Customer.cs +++ b/Data/Entities/Customer.cs @@ -111,7 +111,6 @@ namespace BeWo.Data.Entities private string _InsuranceNumber; private string _VersichertenStatus; - public Customer() { _Tid = TableID.Customer; @@ -784,13 +783,9 @@ namespace BeWo.Data.Entities public virtual string Schutzstufe { get; set; } public virtual string Uebernahmeort { get; set; } - public virtual string Verhalten { get; set; } - public virtual string Betreuungsbedarf { get; set; } - public virtual string BemerkungenSbd { get; set; } - public virtual string TeamSimpleString { get @@ -810,5 +805,7 @@ namespace BeWo.Data.Entities return name; } } + + public virtual CustomerFalldaten CustomerFalldaten { get; set; } } } \ No newline at end of file diff --git a/Data/Entities/CustomerFalldaten.cs b/Data/Entities/CustomerFalldaten.cs index e72a81f64..2b639d6bf 100644 --- a/Data/Entities/CustomerFalldaten.cs +++ b/Data/Entities/CustomerFalldaten.cs @@ -17,7 +17,7 @@ namespace BeWo.Data.Entities private decimal? _ZuLeistendeArbeitsstunden; private string _Hinweis; private DateTime? _Termin; - private CustomerFalldatenBearbeitungsstatus _FalldatenBearbeitungsstatus; + private CustomerFalldatenBearbeitungsstatus? _FalldatenBearbeitungsstatus; private string _Auftragsruckgabe; private string _Verlauf; private decimal? _AbgeleisteteStunden; @@ -167,7 +167,7 @@ namespace BeWo.Data.Entities } } - public virtual CustomerFalldatenBearbeitungsstatus FalldatenBearbeitungsstatus + public virtual CustomerFalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus { get { return _FalldatenBearbeitungsstatus; } set diff --git a/Data/Mappings/Customer.hbm.xml b/Data/Mappings/Customer.hbm.xml index b947ce0ed..c391e80ce 100644 --- a/Data/Mappings/Customer.hbm.xml +++ b/Data/Mappings/Customer.hbm.xml @@ -136,5 +136,6 @@ + \ No newline at end of file diff --git a/Data/Mappings/CustomerFalldaten.hbm.xml b/Data/Mappings/CustomerFalldaten.hbm.xml new file mode 100644 index 000000000..87d3eac2d --- /dev/null +++ b/Data/Mappings/CustomerFalldaten.hbm.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Model/Changes_2024_08_05 CustomerFalldaten.txt b/Model/Changes_2024_08_05 CustomerFalldaten.txt new file mode 100644 index 000000000..b511f1398 --- /dev/null +++ b/Model/Changes_2024_08_05 CustomerFalldaten.txt @@ -0,0 +1,46 @@ +CREATE TABLE `CustomerFalldaten` ( +`Oid` bigint NOT NULL AUTO_INCREMENT, +`InsTs` datetime DEFAULT NULL, +`InsUser` varchar(256) DEFAULT NULL, +`Notice` varchar(1024) DEFAULT NULL, +`Tid` int DEFAULT NULL, +`UdpUser` varchar(256) DEFAULT NULL, +`Version` bigint DEFAULT NULL, +`IsActive` tinyint DEFAULT NULL, +`SystemEntryID` int DEFAULT NULL, +`EigenesAktenzeichen` varchar(256), +`Auftragseingang` datetime DEFAULT NULL, +`Auftragsherkunft` bigint DEFAULT NULL, +`Vermittlungsgrundlage` bigint DEFAULT NULL, +`Tagessatze` decimal(18,10) DEFAULT NULL, +`Tagessatzhohe` decimal(18,10) DEFAULT NULL, +`HoheDerGeldstrafe` decimal(18,10) DEFAULT NULL, +`ZuLeistendeArbeitsstunden` decimal(18,10) DEFAULT NULL, +`Hinweis` varchar(256), +`Termin` datetime DEFAULT NULL, +`FalldatenBearbeitungsstatus` int DEFAULT NULL, +`Auftragsruckgabe` varchar(256), +`Verlauf` varchar(256), +`AbgeleisteteStunden` decimal(18,10) DEFAULT NULL, +`ErsparteHafttage` decimal(18,10) DEFAULT NULL, +`GeleisteteRatenzahlung` decimal(18,10) DEFAULT NULL, +`Bemerkung` varchar(256), +`GeleisteteEinmalzahlung` decimal(18,10) DEFAULT NULL, +`GrundArbeitsunfahig` tinyint, +`GrundSuchtproblem` tinyint, +`GrundPsychischeProbleme` tinyint, +`GrundKeineMotivation` tinyint, +`GrundInHaft` tinyint, +`GrundUnbekannt` tinyint, +`GrundKeinKontakt` tinyint, +`GrundNichtAngetreten` tinyint, +`GrundAbbruchDerTatigkeit` tinyint, +`GrundWiderruf` tinyint, +`Grund459StPO` tinyint, +`GrundAusbleibenDerZahlung` tinyint, +`BesonderheitMehrfacheBeauftragung` tinyint, +`BesonderheitMehrfacheVermittlung` tinyint, +`BesonderheitVermittlungAusHaft` tinyint, +`BesonderheitDurchBGBWAufgesucht` tinyint, +PRIMARY KEY (`Oid`) +) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1; \ No newline at end of file diff --git a/Service/DCEntityMapper/CustomerDC_Customer.cs b/Service/DCEntityMapper/CustomerDC_Customer.cs index f24f44654..c3ce91680 100644 --- a/Service/DCEntityMapper/CustomerDC_Customer.cs +++ b/Service/DCEntityMapper/CustomerDC_Customer.cs @@ -123,6 +123,10 @@ namespace BeWo.Service.DCEntityMapper pDataContract.ICD10DiagnosisCodes = pEntity.Diagnosis2CustomerList.Select(e => e.ICD10DiagnosisCode).ToList(); } + if(pEntity.CustomerFalldaten != null) + { + pDataContract.CustomerFalldatenDC = MapperFactory.CustomerFalldatenDC_CustomerFalldaten.MapToNewDC(pEntity.CustomerFalldaten); + } IList defs = DAOFactory.SearchDAO.GetVarFieldDefs(TableID.Customer); pDataContract.CustomerVarFields = MapperFactory.VarFieldDC_VarField.VarFieldMapToDCs(defs, pEntity.VarFieldValueList); @@ -165,6 +169,23 @@ namespace BeWo.Service.DCEntityMapper MapperFactory.MedikamentenverordnungslisteDC_Medikamentenverordnungsliste.MergeWithEntitys(pDataContract.Medikamentenverordnungslisten, pEntity.Medikamentenverordnungslisten); + if(pDataContract.CustomerFalldatenDC is object) + { + if(pEntity.CustomerFalldaten is null) + { + pEntity.CustomerFalldaten = MapperFactory.CustomerFalldatenDC_CustomerFalldaten.MapToNewEntity(pDataContract.CustomerFalldatenDC); + } + else + { + MapperFactory.CustomerFalldatenDC_CustomerFalldaten.MergeWithEntity(pDataContract.CustomerFalldatenDC, pEntity.CustomerFalldaten); + } + } + else + { + pEntity.CustomerFalldaten = null; + } + + //pEntity.Jugendamt = pDataContract.Jugendamt != null ? DAOFactory.GenericDAO.LoadByID(pDataContract.Jugendamt.OrganisationOid) : null; //pEntity.Ansprechpartner = pDataContract.Ansprechpartner != null ? DAOFactory.GenericDAO.LoadByID(pDataContract.Ansprechpartner.PersonOid) : null; diff --git a/Service/DCEntityMapper/MapperFactory.cs b/Service/DCEntityMapper/MapperFactory.cs index 5f93eb5bb..d2ecfeb14 100644 --- a/Service/DCEntityMapper/MapperFactory.cs +++ b/Service/DCEntityMapper/MapperFactory.cs @@ -302,6 +302,8 @@ namespace BeWo.Service.DCEntityMapper private static WohneinheitBelegungDC_WohneinheitBelegung _WohneinheitBelegungDC_WohneinheitBelegung; + private static CustomerFalldatenDC_CustomerFalldaten _CustomerFalldatenDC_CustomerFalldaten; + public static MedRecordDC_MedRecord MedRecordDC_MedRecord => _MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord()); @@ -758,5 +760,8 @@ namespace BeWo.Service.DCEntityMapper public static WohneinheitBelegungDC_WohneinheitBelegung WohneinheitBelegungDC_WohneinheitBelegung => _WohneinheitBelegungDC_WohneinheitBelegung ?? (_WohneinheitBelegungDC_WohneinheitBelegung = new WohneinheitBelegungDC_WohneinheitBelegung()); + + public static CustomerFalldatenDC_CustomerFalldaten CustomerFalldatenDC_CustomerFalldaten => + _CustomerFalldatenDC_CustomerFalldaten ?? (_CustomerFalldatenDC_CustomerFalldaten = new CustomerFalldatenDC_CustomerFalldaten()); } } \ No newline at end of file diff --git a/Shared/DataContracts/CustomerFalldatenDC.cs b/Shared/DataContracts/CustomerFalldatenDC.cs index 914e4627d..78e3e45bb 100644 --- a/Shared/DataContracts/CustomerFalldatenDC.cs +++ b/Shared/DataContracts/CustomerFalldatenDC.cs @@ -32,7 +32,7 @@ namespace BS.Shared.DataContracts [DataMember] public decimal? ZuLeistendeArbeitsstunden { get; set; } [DataMember] public string Hinweis { get; set; } [DataMember] public DateTime? Termin { get; set; } - [DataMember] public CustomerFalldatenBearbeitungsstatus FalldatenBearbeitungsstatus { get; set; } + [DataMember] public CustomerFalldatenBearbeitungsstatus? FalldatenBearbeitungsstatus { get; set; } [DataMember] public string Auftragsruckgabe { get; set; } [DataMember] public string Verlauf { get; set; } [DataMember] public decimal? AbgeleisteteStunden { get; set; }