correzione regole

This commit is contained in:
2025-02-17 11:03:34 +01:00
parent 2d23c51283
commit 05385040c7
2 changed files with 26 additions and 17 deletions

View File

@@ -212,6 +212,9 @@ public class StbActivity extends EntityBase {
@EntityChild(copyPk = false)
private List<StbActivity> stbActivity = new ArrayList<>();
@Priority(value = 1, copyPk = false)
private StbActivity parentActivity;
@Priority(value = 101, copyPk = false)
private List<JtbRLavt> jtbRLavt;
@@ -808,6 +811,15 @@ public class StbActivity extends EntityBase {
return this;
}
public StbActivity getParentActivity() {
return parentActivity;
}
public StbActivity setParentActivity(StbActivity parentActivity) {
this.parentActivity = parentActivity;
return this;
}
@Override
protected void insertChilds() throws Exception {
for (StbActivityCosts stbActivityCosts : getStbActivityCosts()) {

View File

@@ -12,7 +12,8 @@ import it.integry.ems.migration._base.IntegryCustomer
import it.integry.ems_model.utility.Query
import it.integry.ems_model.utility.UtilityDB
import it.integry.ems_model.config.EmsRestConstants
import it.integry.ems_model.types.OperationType;
import it.integry.ems_model.types.OperationType
import it.integry.ems_model.entity.StbActivity;
global Connection conn
global String username
@@ -35,9 +36,7 @@ then
.setActivityId($stbActivity.getParentActivityId())
.setActivityResultId(existSubActivity?null:EmsRestConstants.NULL);
parent.setOperation(OperationType.UPDATE);
List<StbActivity> list = new ArrayList<>();
list.add(parent);
modify ( $stbActivity ) { setStbActivity(list) }
modify ( $stbActivity ) { setParentActivity(parent) }
end
rule "completeDataEffettiva"
@@ -48,7 +47,7 @@ when
effectiveTime != null &&
parentActivityId != null && (operation == OperationType.INSERT || operation == OperationType.UPDATE || operation == OperationType.INSERT_OR_UPDATE))
then
List<StbActivity> list = new ArrayList<>();
StbActivity parentActivity = new StbActivity();
if ($stbActivity.getParent() == null ) {
String sql =
Query.format(
@@ -57,16 +56,16 @@ then
"WHERE stb_activity.activity_id = %s",
$stbActivity.getParentActivityId()
);
list = UtilityDB.executeSimpleQueryDTO(conn, sql, StbActivity.class);
if (list != null && list.size() > 0 ) {
Date data = list.get(0).getEffectiveTime();
parentActivity = UtilityDB.executeSimpleQueryOnlyFirstRowDTO(conn, sql, StbActivity.class);
if (parentActivity != null) {
Date data = parentActivity.getEffectiveTime();
if ( data == null || data.before($stbActivity.getEffectiveTime())){
list.get(0).setEffectiveTime($stbActivity.getEffectiveTime());
list.get(0).setOperation(OperationType.UPDATE);
parentActivity.setEffectiveTime($stbActivity.getEffectiveTime());
parentActivity.setOperation(OperationType.UPDATE);
}
}
}
modify ( $stbActivity ) { setStbActivity(list) }
modify ( $stbActivity ) { setParentActivity(parentActivity) }
end
rule "completeResultId"
@@ -77,8 +76,7 @@ when
activityResultId != null &&
(operation == OperationType.INSERT || operation == OperationType.UPDATE || operation == OperationType.INSERT_OR_UPDATE))
then
List<StbActivity> list = new ArrayList<>();
StbActivity parentActivity = new StbActivity();
if ($stbActivity.getParent() == null ) {
String sql =
Query.format(
@@ -104,12 +102,11 @@ then
if (execute) {
StbActivity parent = new StbActivity()
parentActivity = new StbActivity()
.setActivityId($stbActivity.getParentActivityId())
.setActivityResultId(stato);
parent.setOperation(OperationType.UPDATE);
list.add(parent);
parentActivity.setOperation(OperationType.UPDATE);
}
}
modify ( $stbActivity ) { setStbActivity(list) }
modify ( $stbActivity ) { setParentActivity(parentActivity) }
end