service.impl/src/main/resources/com/hack23/cia/service/impl/rules/politician/PoliticianPartyRebel.drl
package com.hack23.cia.service.impl.rules.politician
import org.kie.api.runtime.KieRuntime
import com.hack23.cia.model.internal.application.data.politician.impl.ViewRiksdagenPolitician
import com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenVoteDataBallotPoliticianSummaryAnnual
import com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenVoteDataBallotPoliticianSummaryDaily
import com.hack23.cia.model.internal.application.data.committee.impl.ViewRiksdagenVoteDataBallotPoliticianSummaryMonthly
import com.hack23.cia.model.internal.application.data.rules.impl.Status
import com.hack23.cia.service.impl.rules.PoliticianComplianceCheckImpl
rule "We have a party rebel politician, voted against party majority at least once last day of ballots in parliament"
dialect "java"
salience 10
when
$p : PoliticianComplianceCheckImpl(politician.activeParliament && politician.party != "-" && dailySummary != null && dailySummary.rebelTotal > 0)
then
$p.addViolation( Status.MINOR, "PoliticianPartyRebel","Behavior", kcontext.getRule().getName(),"CanIgnorePartyMajority");
end
rule "We have a party rebel politician, voted against party majority at least 1% of ballots last month"
dialect "java"
salience 50
when
$p : PoliticianComplianceCheckImpl( politician.activeParliament && politician.party != "-" && monthlySummary != null && monthlySummary.rebelPercentage > 1)
then
$p.addViolation( Status.MAJOR, "PoliticianPartyRebel","Behavior", kcontext.getRule().getName(),"CanIgnorePartyMajority");
end
rule "We have a party rebel politician, voted against party majority at least 1% of ballots last year"
dialect "java"
salience 100
when
$p : PoliticianComplianceCheckImpl( politician.activeParliament && politician.party != "-" && annualSummary != null && annualSummary.rebelPercentage >= 1)
then
$p.addViolation( Status.CRITICAL, "PoliticianPartyRebel","Behavior", kcontext.getRule().getName(),"CanIgnorePartyMajority");
end