Neue Felder für die Straffälligenhilfe

This commit is contained in:
2026-02-26 11:23:34 +01:00
parent f25ddc6751
commit f3f5676268
8 changed files with 327 additions and 37 deletions

View File

@@ -95,6 +95,7 @@
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Label
Grid.Row="0"
@@ -204,8 +205,7 @@
Grid.Row="8"
Grid.Column="1"
EditValue="{Binding Path=Auftragseingang, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
ShowClearButton="False" />
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"/>
<Label
Grid.Row="9"
@@ -237,53 +237,70 @@
<Label
Grid.Row="11"
Grid.Column="0"
Content="Delikt/Gesetzverstoß" />
<TextBox
Grid.Row="11"
Grid.Column="1"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Text="{Binding Path=Delikt, UpdateSourceTrigger=PropertyChanged}" />
<Label
Grid.Row="12"
Grid.Column="0"
Content="Tagessätze" />
<dxe:TextEdit
Grid.Row="11"
Grid.Row="12"
Grid.Column="1"
EditValue="{Binding Path=Tagessatze, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Style="{StaticResource TextEditNumberDecimalNullable}" />
<Label
Grid.Row="12"
Grid.Row="13"
Grid.Column="0"
Content="Tagessatzhöhe" />
<dxe:TextEdit
Grid.Row="12"
Grid.Row="13"
Grid.Column="1"
EditValue="{Binding Path=Tagessatzhohe, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Style="{StaticResource TextEditCurrency}" />
<Label
Grid.Row="13"
Grid.Row="14"
Grid.Column="0"
Content="Höhe der Geldstrafe" />
<dxe:TextEdit
Grid.Row="13"
Grid.Row="14"
Grid.Column="1"
EditValue="{Binding Path=HoheDerGeldstrafe, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="True"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Style="{StaticResource TextEditCurrency}" />
<Label
Grid.Row="14"
Grid.Row="15"
Grid.Column="0"
Content="Zu leistende Arbeitsstunden" />
<dxe:TextEdit
Grid.Row="14"
Grid.Row="15"
Grid.Column="1"
EditValue="{Binding Path=ZuLeistendeArbeitsstunden, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Style="{StaticResource TextEditHours}" />
<Label
Grid.Row="15"
Grid.Row="16"
Grid.Column="0"
Content="Frist" />
<dxe:DateEdit
Grid.Row="16"
Grid.Column="1"
EditValue="{Binding Path=Frist, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"/>
<Label
Grid.Row="17"
Grid.Column="0"
Content="Hinweis" />
<TextBox
Grid.Row="15"
Grid.Row="17"
Grid.Column="1"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Text="{Binding Path=Hinweis, UpdateSourceTrigger=PropertyChanged}" />
@@ -298,8 +315,7 @@
EditValue="{Binding Path=Termin, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Mask="G"
MaskUseAsDisplayFormat="True"
ShowClearButton="True">
MaskUseAsDisplayFormat="True">
<dxe:DateEdit.StyleSettings>
<dxe:DateEditNavigatorWithTimePickerStyleSettings />
</dxe:DateEdit.StyleSettings>
@@ -327,8 +343,7 @@
Grid.Row="2"
Grid.Column="3"
EditValue="{Binding Path=Auftragsruckgabe, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
ShowClearButton="False" />
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"/>
<Label
Grid.Row="3"
@@ -386,15 +401,23 @@
EditValue="{Binding Path=GeleisteteEinmalzahlung, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Style="{StaticResource TextEditCurrency}" />
<Label
Grid.Row="8"
Grid.Column="2"
Content="Bemerkung" />
Content="BWH" />
<TextBox
Grid.Row="8"
Grid.Column="3"
Grid.RowSpan="8"
IsReadOnly="{Binding PermissionCustomerGemeinnutzigeArbeitManage, Mode=OneTime, Converter={StaticResource BoolReverseConverter}, ElementName=root}"
Text="{Binding Path=Bewaehrungshelfer, UpdateSourceTrigger=PropertyChanged}" />
<Label
Grid.Row="9"
Grid.Column="2"
Content="Bemerkung" />
<TextBox
Grid.Row="9"
Grid.Column="3"
Grid.RowSpan="9"
Height="190"
VerticalAlignment="Top"
VerticalContentAlignment="Stretch"

View File

@@ -31,6 +31,9 @@ namespace BeWo.ViewModel
private decimal? _ZuLeistendeArbeitsstunden;
private string _Hinweis;
private DateTime? _Termin;
private DateTime? _Frist;
private string _Delikt;
private string _Bewaehrungshelfer;
private CustomerVermittlungBearbeitungsstatus? _CustomerVermittlungBearbeitungsstatus;
private DateTime? _Auftragsruckgabe;
private ObservableSortCollection<ValueListEntryDC> _Verlaeufe;
@@ -247,7 +250,6 @@ namespace BeWo.ViewModel
_Tagessatze = value;
StoreDirtyInformation(AreDifferent(DataContract.Tagessatze, value), nameof(Tagessatze));
FirePropertyChanged(nameof(Tagessatze));
UpdateHoheDerGeldstrafe();
}
}
public decimal? Tagessatzhohe
@@ -261,7 +263,6 @@ namespace BeWo.ViewModel
_Tagessatzhohe = value;
StoreDirtyInformation(AreDifferent(DataContract.Tagessatzhohe, value), nameof(Tagessatzhohe));
FirePropertyChanged(nameof(Tagessatzhohe));
UpdateHoheDerGeldstrafe();
}
}
public decimal? HoheDerGeldstrafe
@@ -316,6 +317,49 @@ namespace BeWo.ViewModel
FirePropertyChanged(nameof(Termin));
}
}
public DateTime? Frist
{
get { return _Frist; }
set
{
if (!AreDifferent(_Frist, value))
return;
_Frist = value;
StoreDirtyInformation(AreDifferent(DataContract.Frist, value), nameof(Frist));
FirePropertyChanged(nameof(Frist));
}
}
public string Delikt
{
get { return _Delikt; }
set
{
if (!AreDifferent(_Delikt, value))
return;
_Delikt = value;
StoreDirtyInformation(AreDifferent(DataContract.Delikt, value), nameof(Delikt));
FirePropertyChanged(nameof(Delikt));
}
}
public string Bewaehrungshelfer
{
get { return _Bewaehrungshelfer; }
set
{
if (!AreDifferent(_Bewaehrungshelfer, value))
return;
_Bewaehrungshelfer = value;
StoreDirtyInformation(AreDifferent(DataContract.Bewaehrungshelfer, value), nameof(Bewaehrungshelfer));
FirePropertyChanged(nameof(Bewaehrungshelfer));
}
}
public IEnumerable<CustomerVermittlungBearbeitungsstatus> CustomerVermittlungBearbeitungsstatusTypes => Utils.GetAllEnumValues<CustomerVermittlungBearbeitungsstatus>();
public CustomerVermittlungBearbeitungsstatus? CustomerVermittlungBearbeitungsstatus
{
@@ -630,14 +674,6 @@ namespace BeWo.ViewModel
}
}
public void UpdateHoheDerGeldstrafe()
{
if (!Tagessatze.HasValue || !Tagessatzhohe.HasValue)
return;
HoheDerGeldstrafe = Tagessatze * Tagessatzhohe;
}
protected override void InitByDataContract(CustomerVermittlungArbeitDC pDataContract)
{
_VgaType = pDataContract.VgaType;
@@ -653,6 +689,9 @@ namespace BeWo.ViewModel
_ZuLeistendeArbeitsstunden = pDataContract.ZuLeistendeArbeitsstunden;
_Hinweis = pDataContract.Hinweis;
_Termin = pDataContract.Termin;
_Frist = pDataContract.Frist;
_Delikt = pDataContract.Delikt;
_Bewaehrungshelfer = pDataContract.Bewaehrungshelfer;
_CustomerVermittlungBearbeitungsstatus = pDataContract.CustomerVermittlungBearbeitungsstatus;
_Auftragsruckgabe = pDataContract.Auftragsruckgabe;
_Verlauf = pDataContract.Verlauf;
@@ -705,6 +744,9 @@ namespace BeWo.ViewModel
pDataContract.ZuLeistendeArbeitsstunden = _ZuLeistendeArbeitsstunden;
pDataContract.Hinweis = _Hinweis;
pDataContract.Termin = _Termin;
pDataContract.Frist = _Frist;
pDataContract.Delikt = _Delikt;
pDataContract.Bewaehrungshelfer = _Bewaehrungshelfer;
pDataContract.CustomerVermittlungBearbeitungsstatus = _CustomerVermittlungBearbeitungsstatus;
pDataContract.Auftragsruckgabe = _Auftragsruckgabe;
pDataContract.Verlauf = _Verlauf;

View File

@@ -31,6 +31,9 @@ namespace BeWo.Data.Entities
public virtual decimal? ZuLeistendeArbeitsstunden { get; set; }
public virtual string Hinweis { get; set; }
public virtual DateTime? Termin { get; set; }
public virtual DateTime? Frist { get; set; }
public virtual string Delikt { get; set; }
public virtual string Bewaehrungshelfer { get; set; }
public virtual CustomerVermittlungBearbeitungsstatus? CustomerVermittlungBearbeitungsstatus { get; set; }
public virtual DateTime? Auftragsruckgabe { get; set; }
public virtual ValueListEntry Verlauf { get; set; }

View File

@@ -15,7 +15,7 @@
<property name="Notice"/>
<property name="VgaType" type="BS.Shared.VgaTypeEnum, BS.Shared" />
<many-to-one name="Customer" column="CustomerOid" class="BeWo.Data.Entities.Customer, BeWo.Data" cascade="none"/>
<property name="Fallnummer"/>
<property name="Fallnummer"/>
<property name="AktenzeichenGericht"/>
<property name="EigenesAktenzeichen"/>
<property name="Auftragseingang"/>
@@ -27,6 +27,9 @@
<property name="ZuLeistendeArbeitsstunden"/>
<property name="Hinweis"/>
<property name="Termin"/>
<property name="Frist"/>
<property name="Delikt"/>
<property name="Bewaehrungshelfer"/>
<property name="CustomerVermittlungBearbeitungsstatus" type="BS.Shared.DataContracts.CustomerVermittlungBearbeitungsstatus, BS.Shared" />
<property name="Auftragsruckgabe"/>
<many-to-one name="Verlauf" column="Verlauf" class="BeWo.Data.Entities.ValueListEntry, BeWo.Data" cascade="none" />

View File

@@ -0,0 +1,3 @@
ALTER TABLE `CustomerVermittlungArbeit` ADD COLUMN Frist datetime NULL DEFAULT NULL;
ALTER TABLE `CustomerVermittlungArbeit` ADD COLUMN Delikt VARCHAR(256) NULL DEFAULT NULL;
ALTER TABLE `CustomerVermittlungArbeit` ADD COLUMN Bewaehrungshelfer VARCHAR(256) NULL DEFAULT NULL;

View File

@@ -1177,8 +1177,8 @@ PRIMARY KEY (`Oid`)
ALTER TABLE `customerfalldaten`
ADD INDEX `FK_AUFTRAGSHERKUNFT_idx` (`AuftragsherkunftValueListEntryOid` ASC) VISIBLE,
ADD INDEX `FK_VERMITTLUNGSGRUNDLAGE_idx` (`VermittlungsgrundlageValueListEntryOid` ASC) VISIBLE;
ADD INDEX `FK_AUFTRAGSHERKUNFT_idx` (`AuftragsherkunftValueListEntryOid` ASC),
ADD INDEX `FK_VERMITTLUNGSGRUNDLAGE_idx` (`VermittlungsgrundlageValueListEntryOid` ASC);
ALTER TABLE `customerfalldaten`
ADD CONSTRAINT `FK_AUFTRAGSHERKUNFT`
@@ -1197,8 +1197,8 @@ ALTER TABLE `image`
ADD COLUMN `WohneinheitOid` BIGINT NULL DEFAULT NULL AFTER `PersonOid`;
ALTER TABLE `image`
ADD INDEX `FK_IMAGE_PERSON_idx` (`PersonOid` ASC) VISIBLE,
ADD INDEX `FK_IMAGE_WOHNEINHEIT_idx` (`WohneinheitOid` ASC) VISIBLE;
ADD INDEX `FK_IMAGE_PERSON_idx` (`PersonOid` ASC),
ADD INDEX `FK_IMAGE_WOHNEINHEIT_idx` (`WohneinheitOid` ASC);
ALTER TABLE `image`
ADD CONSTRAINT `FK_IMAGE_PERSON`
@@ -1784,6 +1784,8 @@ ALTER TABLE `settings`
CHANGE COLUMN `Value` `Value` MEDIUMTEXT NULL DEFAULT NULL ;
-- Version 3.30
CREATE TABLE IF NOT EXISTS `AiVoiceData` (
`Oid` bigint NOT NULL AUTO_INCREMENT,
`Tid` int NOT NULL,
@@ -1811,9 +1813,214 @@ UPDATE `query` SET `SQL` = 'SELECT \np.LastName as \'Nachname\',\np.Firstname as
UPDATE `query` SET `SQL` = 'SELECT \np.LastName as \'Nachname\',\np.Firstname as \'Vorname\',\nc2s.ApprovedStartDate as \'Bewilligt von\',\nc2s.ApprovedEndDate as \'Bewilligt bis\',\nscat.Name as \'Kategorie\',\nDate_Format(sr.StartDate, \'%d.%m.%Y\') as \'Datum\',\nIF (Date_Format(sr.StartDate, \'%s\') <> \'00\', \'\', Date_Format(sr.StartDate, \'%H:%i\')) as \'von\',\nIF (Date_Format(sr.StartDate, \'%s\') <> \'00\', \'\', Date_Format(Date_Add(sr.StartDate, INTERVAL sr.Roundedduration MINUTE), \'%H:%i\')) as \'bis\',\nRound(sr.Roundedduration, 0) as \'Minuten\',\nsr.InsUser as \'Angelegt von\',\nDATE_FORMAT(sr.InsTs, \'%d.%m.%Y %H:%i\') as \'Angelegt am\',\n(select CONCAT(emp1p.`FirstName`, \' \', emp1p.`LastName`) from employee emp1 join `person` emp1p on emp1p.`Oid` = emp1.`PersonOid` where emp1.`Oid` in (select employeeoid from `employee2customer` e2c1 join `valuelistentry2object` vl2o on e2c1.`Oid` = vl2o.`ObjectOid` join `valuelistentry` vle on vl2o.`ValueListEntryOid` = vle.`Oid` where e2c1.`CustomerOid` = c.`Oid` and vle.`SystemEntryID` = 3) LIMIT 1) as \'Hauptbetreuung\',\n(select t.`Name` from team t where t.`Oid` in (select teamoid from `team2customer` t2c where t2c.`CustomerOid` = c.`Oid`) LIMIT 1) as \'Team\' \nFROM servicerecord sr\njoin costbearer2supportconcept c2s on sr.costbearer2supportconceptoid = c2s.oid\njoin supportconcept sc on c2s.supportconceptoid = sc.oid\njoin customer c on sc.customeroid = c.oid\njoin person p on c.personoid = p.oid\njoin servicedescription sd on sd.oid = sr.servicedescriptionoid\njoin servicecategory scat on scat.oid = sd.servicecategoryoid\nwhere sr.oid \nnot in (select servicerecordoid from confirmationreceiptsignature2servicerecord crs2s\njoin confirmationreceiptsignature crs on crs2s.confirmationreceiptsignatureoid = crs.oid where crs.employeeoid is null and crs.customeroid is not null) and\nscat.billable = true and\nsr.startdate >= \':Von\' and sr.startdate < \':bis\'\norder by p.Lastname, sr.startdate' WHERE (`Oid` = '4712');
UPDATE `query` SET `SQL` = 'SELECT \np.LastName as \'Nachname\',\np.Firstname as \'Vorname\',\nc2s.ApprovedStartDate as \'Bewilligt von\',\nc2s.ApprovedEndDate as \'Bewilligt bis\',\nscat.Name as \'Kategorie\',\nDate_Format(sr.StartDate, \'%d.%m.%Y\') as \'Datum\',\nIF (Date_Format(sr.StartDate, \'%s\') <> \'00\', \'\', Date_Format(sr.StartDate, \'%H:%i\')) as \'von\',\nIF (Date_Format(sr.StartDate, \'%s\') <> \'00\', \'\', Date_Format(Date_Add(sr.StartDate, INTERVAL sr.Roundedduration MINUTE), \'%H:%i\')) as \'bis\',\nRound(sr.Roundedduration, 0) as \'Minuten\',\nsr.InsUser as \'Angelegt von\',\nDATE_FORMAT(sr.InsTs, \'%d.%m.%Y %H:%i\') as \'Angelegt am\',\n(select CONCAT(emp1p.`FirstName`, \' \', emp1p.`LastName`) from employee emp1 join `person` emp1p on emp1p.`Oid` = emp1.`PersonOid` where emp1.`Oid` in (select employeeoid from `employee2customer` e2c1 join `valuelistentry2object` vl2o on e2c1.`Oid` = vl2o.`ObjectOid` join `valuelistentry` vle on vl2o.`ValueListEntryOid` = vle.`Oid` where e2c1.`CustomerOid` = c.`Oid` and vle.`SystemEntryID` = 3) LIMIT 1) as \'Hauptbetreuung\',\n(select t.`Name` from team t where t.`Oid` in (select teamoid from `team2customer` t2c where t2c.`CustomerOid` = c.`Oid`) LIMIT 1) as \'Team\' \nFROM servicerecord sr\njoin costbearer2supportconcept c2s on sr.costbearer2supportconceptoid = c2s.oid\njoin supportconcept sc on c2s.supportconceptoid = sc.oid\njoin customer c on sc.customeroid = c.oid\njoin person p on c.personoid = p.oid\njoin servicedescription sd on sd.oid = sr.servicedescriptionoid\njoin servicecategory scat on scat.oid = sd.servicecategoryoid\nwhere sr.oid \nnot in (select servicerecordoid from confirmationreceiptsignature2servicerecord crs2s\njoin confirmationreceiptsignature crs on crs2s.confirmationreceiptsignatureoid = crs.oid where crs.employeeoid is not null and crs.customeroid is null) and\nscat.billable = true and\nsr.startdate >= \':Von\' and sr.startdate < \':bis\'\norder by p.Lastname, sr.startdate' WHERE (`Oid` = '4713');
CREATE TABLE IF NOT EXISTS `AiModel` (
`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,
`ModelName` varchar(256),
`Value` int,
PRIMARY KEY (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `AiConversation` (
`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,
`Displayname` varchar(256),
`Created` datetime,
`Updated` datetime,
`Model` bigint NOT NULL,
`Context` varchar(256),
`UIContext` int,
`ApplicationUserOid` bigint DEFAULT NULL,
PRIMARY KEY (`Oid`),
CONSTRAINT `FK_AICONVERSATION_AIMODELL_OID` FOREIGN KEY (`Model`) REFERENCES `aimodel` (`Oid`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK_AICONVERSATION_APPLICATIONUSER_OID` FOREIGN KEY (`ApplicationUserOid`) REFERENCES `applicationuser` (`Oid`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `AiConversationMessage` (
`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,
`AiConversationOid` bigint NOT NULL,
`Message` text,
`Role` int DEFAULT NULL,
`Created` datetime DEFAULT NULL,
`Duration` int DEFAULT NULL,
`ModelName` varchar(1024) DEFAULT NULL,
PRIMARY KEY (`Oid`),
KEY `AICONV_FK` (`AiConversationOid`),
CONSTRAINT `FK_AICONVERSATION_OID` FOREIGN KEY (`AiConversationOid`) REFERENCES `aiconversation` (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
CREATE Table IF NOT EXISTS `AiConversation2BeWoObject` (
`AiConversationOid` bigint,
`BeWoObjectTid` int,
`BeWoObjectOid` bigint,
PRIMARY KEY (`AiConversationOid`, `BeWoObjectTid`, `BeWoObjectOid`),
CONSTRAINT `FK_AICONVERSATION2_OID` FOREIGN KEY (`AiConversationOid`) REFERENCES `aiconversation` (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
CREATE TABLE IF NOT EXISTS `AiConfig` (
`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,
`SelectedModelOid` bigint DEFAULT NULL,
`Temperature` float DEFAULT NULL,
`Top_P` float DEFAULT NULL,
`Max_Gen_Len` int DEFAULT NULL,
PRIMARY KEY (`Oid`),
KEY `FK_AICONFIG_AIMODELL_OID` (`SelectedModelOid`),
CONSTRAINT `FK_AICONFIG_AIMODELL_OID` FOREIGN KEY (`SelectedModelOid`) REFERENCES `aimodel` (`Oid`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
-- nur ausführen, wenn noch nicht vorhanden
CREATE TABLE `.executedscripts` (
`Name` varchar(255) UNIQUE,
`Datum` DATE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `.executedscripts`
VALUES ('Changes_2026-02-10 AI Promptbausteinfolder finale', CURDATE());
-- Folder
CREATE TABLE `AiPromptbausteinFolder` (
`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,
`Title` varchar(255),
`Description` mediumtext,
`ParentFolderOid` bigint DEFAULT NULL,
`CreatorOid` bigint DEFAULT NULL,
`IsPublic` tinyint,
`Position` int,
`ActionType` int,
PRIMARY KEY (`Oid`),
KEY `FK_AIPROMPTBAUSTEINFOLDER_EMPLOYEE_IDX` (`CreatorOid`),
KEY `FK_AIPROMPTBAUSTEINFOLDER_PARENT_IDX` (`ParentFolderOid`),
CONSTRAINT `FK_AIPROMPTBAUSTEINFOLDER_EMPLOYEE` FOREIGN KEY (`CreatorOid`) REFERENCES `employee` (`Oid`),
CONSTRAINT `FK_AIPROMPTBAUSTEINFOLDER_PARENT` FOREIGN KEY (`ParentFolderOid`) REFERENCES `aipromptbausteinfolder` (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
-- Prompts
CREATE TABLE `AiPromptbausteinPrompt` (
`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,
`Title` varchar(255),
`Description` mediumtext,
`ParentFolderOid` bigint DEFAULT NULL,
`CreatorOid` bigint,
`IsPublic` tinyint,
`Position` int,
`Prompt` mediumtext,
`ShowPrompt` tinyint,
`ShowPromptByTenant` tinyint,
`IsOwnsoftPrompt` tinyint,
`OwnsoftRefLink` varchar(255),
`PromptId` varchar(255),
`ActionType` int,
PRIMARY KEY (`Oid`),
KEY `FK_AIPROMPTBAUSTEINPROMPT_EMPLOYEE_IDX` (`CreatorOid`),
KEY `FK_AIPROMPTBAUSTEINPROMPT_PARENT_IDX` (`ParentFolderOid`),
CONSTRAINT `FK_AIPROMPTBAUSTEINPROMPT_EMPLOYEE` FOREIGN KEY (`CreatorOid`) REFERENCES `employee` (`Oid`),
CONSTRAINT `FK_AIPROMPTBAUSTEINPROMPT_PARENT` FOREIGN KEY (`ParentFolderOid`) REFERENCES `aipromptbausteinfolder` (`Oid`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;
-- linking tables
CREATE TABLE `aipromptbausteinprompt2empfavorite` (
`AiPromptbausteinPromptOid` bigint NOT NULL,
`EmployeeOid` bigint NOT NULL,
PRIMARY KEY (`AiPromptbausteinPromptOid`,`EmployeeOid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPFAV_AIPROMPT` FOREIGN KEY (`AiPromptbausteinPromptOid`) REFERENCES `aipromptbausteinprompt` (`Oid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPFAV_APPUSER` FOREIGN KEY (`EmployeeOid`) REFERENCES `employee` (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `aipromptbausteinprompt2emphide` (
`AiPromptbausteinPromptOid` bigint NOT NULL,
`EmployeeOid` bigint NOT NULL,
PRIMARY KEY (`AiPromptbausteinPromptOid`,`EmployeeOid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPHIDE_AIPROMPT` FOREIGN KEY (`AiPromptbausteinPromptOid`) REFERENCES `aipromptbausteinprompt` (`Oid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPHIDE_APPUSER` FOREIGN KEY (`EmployeeOid`) REFERENCES `employee` (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `aipromptbausteinfolder2emphide` (
`AiPromptbausteinFolderOid` bigint NOT NULL,
`EmployeeOid` bigint NOT NULL,
PRIMARY KEY (`AiPromptbausteinFolderOid`,`EmployeeOid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPHIDE_AIFOLDER` FOREIGN KEY (`AiPromptbausteinFolderOid`) REFERENCES `aipromptbausteinfolder` (`Oid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPHIDE_APPUSER2` FOREIGN KEY (`EmployeeOid`) REFERENCES `employee` (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `aipromptbausteinfolder2empshare` (
`AiPromptbausteinFolderOid` bigint NOT NULL,
`EmployeeOid` bigint NOT NULL,
PRIMARY KEY (`AiPromptbausteinFolderOid`,`EmployeeOid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPSHARE_AIFOLDER` FOREIGN KEY (`AiPromptbausteinFolderOid`) REFERENCES `aipromptbausteinfolder` (`Oid`),
CONSTRAINT `FK_AIPROMPTBAUSTEIN2EMPSHARE_APPUSER` FOREIGN KEY (`EmployeeOid`) REFERENCES `employee` (`Oid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `aipromptbausteinprompt`
ADD COLUMN `SamplesCount` INT NOT NULL DEFAULT 0 AFTER `ActionType`;
ALTER TABLE `aimodel`
ADD COLUMN `ModelSource` INT NULL DEFAULT NULL AFTER `SystemEntryID`;
ALTER TABLE `aiconfig`
ADD COLUMN `Context_Type` INT NOT NULL DEFAULT 0 AFTER `Max_Gen_Len`;
ALTER TABLE `aiconversation`
ADD COLUMN `ContextType` INT NOT NULL DEFAULT 0 AFTER `Model`;
ALTER TABLE `CustomerVermittlungArbeit` ADD COLUMN Frist datetime NULL DEFAULT NULL;
ALTER TABLE `CustomerVermittlungArbeit` ADD COLUMN Delikt VARCHAR(256) NULL DEFAULT NULL;
ALTER TABLE `CustomerVermittlungArbeit` ADD COLUMN Bewaehrungshelfer VARCHAR(256) NULL DEFAULT NULL;
ALTER TABLE `servicerecordhistory`
ADD INDEX `ChangeTypeIdx` (`ChangeType` ASC) VISIBLE;
ADD INDEX `ChangeTypeIdx` (`ChangeType` ASC);
ALTER TABLE `servicerecordhistory`
ADD INDEX `ServiceRecordOidIdx` (`ServiceRecordOid` ASC) VISIBLE;
ADD INDEX `ServiceRecordOidIdx` (`ServiceRecordOid` ASC);

View File

@@ -29,6 +29,9 @@ namespace BeWo.Service.DCEntityMapper
pDataContract.ZuLeistendeArbeitsstunden = pEntity.ZuLeistendeArbeitsstunden;
pDataContract.Hinweis = pEntity.Hinweis;
pDataContract.Termin = pEntity.Termin;
pDataContract.Frist = pEntity.Frist;
pDataContract.Delikt = pEntity.Delikt;
pDataContract.Bewaehrungshelfer = pEntity.Bewaehrungshelfer;
pDataContract.CustomerVermittlungBearbeitungsstatus = pEntity.CustomerVermittlungBearbeitungsstatus;
pDataContract.Auftragsruckgabe = pEntity.Auftragsruckgabe;
pDataContract.AbgeleisteteStunden = pEntity.AbgeleisteteStunden;
@@ -104,6 +107,9 @@ namespace BeWo.Service.DCEntityMapper
pEntity.ZuLeistendeArbeitsstunden = pDataContract.ZuLeistendeArbeitsstunden;
pEntity.Hinweis = pDataContract.Hinweis;
pEntity.Termin = pDataContract.Termin;
pEntity.Frist = pDataContract.Frist;
pEntity.Delikt = pDataContract.Delikt;
pEntity.Bewaehrungshelfer = pDataContract.Bewaehrungshelfer;
pEntity.CustomerVermittlungBearbeitungsstatus = pDataContract.CustomerVermittlungBearbeitungsstatus;
pEntity.Auftragsruckgabe = pDataContract.Auftragsruckgabe;
pEntity.AbgeleisteteStunden = pDataContract.AbgeleisteteStunden;

View File

@@ -20,6 +20,9 @@ namespace BS.Shared.DataContracts
[DataMember] public decimal? ZuLeistendeArbeitsstunden { get; set; }
[DataMember] public string Hinweis { get; set; }
[DataMember] public DateTime? Termin { get; set; }
[DataMember] public DateTime? Frist { get; set; }
[DataMember] public string Delikt { get; set; }
[DataMember] public string Bewaehrungshelfer { get; set; }
[DataMember] public CustomerVermittlungBearbeitungsstatus? CustomerVermittlungBearbeitungsstatus { get; set; }
[DataMember] public DateTime? Auftragsruckgabe { get; set; }
[DataMember] public ValueListEntryDC Verlauf { get; set; }