[
"autonomous agent",
{
"init": "{
$args = trigger.data;
$_Portal = $args._Portal;
$refcons = $args.refcons;
$__dada = $refval => {
data_feed[[ oracles = $args._Registre, feed_name = $refval, ifnone = false ]]
};
}",
"messages": [
{
"app": "state",
"state": "{
$geto =
$args.geto otherwise $__dada( 'geto_' || $args.idgeto );
$__dades_avis = () => {
$ref_avis = 'avis_' || $geto || '_' || $args.adr;
$ord_avis = $__dada( $ref_avis );
$cicle_avis = $__dada( $ord_avis || '_cicle' );
$data_avis = $__dada( $ord_avis || '_data' );
$text_avis = $__dada( $ord_avis || '_text' );
$origen = $__dada( 'Origen' );
$interval = $__dada( 'Interval' );
$cicle_actual = 1 + floor( ( timestamp - $origen ) / $interval );
$avis_es_actual = ( $cicle_avis + 1 ) > $cicle_actual;
if ( !! $ord_avis ) {
response[ 'Cicle actual' ] = $cicle_actual;
response[ 'Data' ] = timestamp_to_string( $data_avis, 'date' );
if ( $avis_es_actual ) {
response[ 'Hora' ] = timestamp_to_string( $data_avis, 'time' );
response[ 'Cicle avís' ] = $cicle_avis;
response[ 'Darrer cicle visible' ] = $cicle_avis + 1;
response[ 'Avís' ] = $text_avis;
} else {
response[ 'Darrer Avís' ] = $text_avis;
response[ 'Darrer cicle visible' ] = $cicle_avis + 1;
}
} else
response[ 'No hi ha cap avís per a' ] = $args.adr;
};
$__dades_bloqueig = () => {
$ref_bloqueig = 'bloqueig_' || $geto || '_' || $args.adr;
$ord_bloqueig = $__dada( $ref_bloqueig );
if ( !! $ord_bloqueig ) {
$cicle_bloqueig = $__dada( $ord_bloqueig || '_cicle' );
$data_bloqueig = $__dada( $ord_bloqueig || '_data' );
$ref_desbloqueig = 'desbloqueig_' || $ref_bloqueig;
$ord_desbloqueig = $__dada( $ref_desbloqueig );
$cicle_desbloqueig = $__dada( $ord_desbloqueig || '_cicle' );
$data_desbloqueig = $__dada( $ord_desbloqueig || '_data' );
response[ 'Text' ] = $__dada( $ord_bloqueig || '_text' );
response[ 'Cicle inici bloqueig' ] = $cicle_bloqueig;
response[ 'Hora' ] = timestamp_to_string( $data_bloqueig, 'time' );
response[ 'Data' ] = timestamp_to_string( $data_bloqueig, 'date' );
if ( !! $ord_desbloqueig ) {
response[ 'Desbloquejat' ] = $ref_desbloqueig;
response[ 'Cicle desbloqueig' ] = $cicle_desbloqueig;
response[ 'Hora' ] = timestamp_to_string( $data_desbloqueig, 'time' );
response[ 'Data' ] = timestamp_to_string( $data_desbloqueig, 'date' );
}
} else {
response[ 'Getó ' || $geto ] = 'Adreça ' || $args.adr || ' no bloquejada';
}
};
response[ 'consulta' ] = $refcons;
if ( $refcons == 'Dades_Geto' ) {
if( ! $__dada( $geto || '_estat' ) ) bounce( 'Getó desconegut' );
$resp = $geto ? 'getó amb nom ' || $geto : 'getó amb id ' || $args.idgeto;
response[ 'Dades' ] = $resp;
$ord_geto = $__dada( $geto );
response[ 'Ordinal' ] = $ord_geto;
if ( ! $ord_geto )
response[ "No hi consta cap" ] = $resp;
$data_implementacio = $__dada( $geto || '_data' );
response[ 'Data implementació' ] =
timestamp_to_string( $data_implementacio, 'date' );
response[ 'Total emissions' ] =
$__dada( 'total_emesos_' || $geto ) otherwise 0;
response[ 'Total Estels convertits' ] =
$__dada( 'total_estels_convertits_' || $geto ) otherwise 0;
response[ 'Total Atribucions' ] =
$__dada( 'total_atribucions_' || $geto ) otherwise 0;
$refs = [
'id', 'estat', '_Capsa', 'topall', 'factor_conversio',
'taxa_conversio', 'derivacio', 'import_activacio',
'import_subscripcio', 'import_renovacio','cicles_diposit',
'activacions_restringides', 'subscripcions_restringides',
'recepcions_restringides', 'conversions_restringides',
'contribucions_permeses', 'bonificacions_permeses',
'atribucions_permeses', 'redefinible',
'llistats_editables', 'bloqueig_permes',
'_AUT_A', '_AUT_B', '_AUT_C'
];
$__resposta = $r => {
response[ $r ] = $__dada( $geto || '_' || $r );
};
$resps = map( $refs, 24, $__resposta );
}
if ( $refcons == 'Dades_Avis' ) {
$__dades_avis();
}
if ( $refcons == 'Dades_Bloqueig' ) {
$__dades_bloqueig();
}
if ( $refcons == 'Dades_Capacitacio' ) {
$ref_capacitacio = $geto || '_' || $args.accio || '_' || $args.adr;
$id_capacitacio = $__dada( $ref_capacitacio ) otherwise '';
$capacitada = $__dada( $id_capacitacio || '_estat' ) otherwise '';
$secc = $capacitada == 'capacitada' ? ' ' : ' NO ';
response[ 'Capacitació per a ' || $geto ] =
'Adreça' || $secc || 'capacitada per a ' || $args.accio || 'ns';
}
if ( $refcons == 'Geto_Pendent' ) {
$getons_pendents = var[ $_Portal ][ 'getons_pendents' ];
response[ "Getó pendent d'inscripció" ] = $getons_pendents[ $geto ];
}
if ( $refcons == 'Emissions_Geto' ) {
$total_estels = $__dada( 'total_estels_convertits_' || $geto ) otherwise 0;
$total_geto = $__dada( 'total_emesos_' || $geto ) otherwise 0;
response[ 'Total Estels convertits en' || $geto ] = $total_estels || ' Estels';
response[ 'Total ' || $geto || ' emesos'] = $total_geto || ' ' || $geto;
}
if ( $refcons == 'Dades_Atribucio' ) {
$ord_atribucio = $args.ref;
$data_atribucio = $__dada( $ord_atribucio || '_data' );
response[ 'Ref' ] = $args.ref;
response[ 'Ordinal' ] = $ord_atribucio;
response[ 'Quantitat' ] = $__dada( $ord_atribucio || '_qt' );
response[ 'Geto' ] = $__dada( $ord_atribucio || '_geto' );
response[ 'Rebedora' ] = $__dada( $ord_atribucio || '_rebedora' );
response[ 'Requeriment' ] = $__dada( $ord_atribucio || '_unitat' );
response[ 'Data' ] = timestamp_to_string( $data_atribucio, 'date' );
}
if ( $refcons == 'Romanent_Geto' ) {
$entrades = $__dada( 'total_entrades_' || $args.geto );
$sortides = $__dada( 'total_sortides_' || $args.geto );
$romanent = $entrades + $sortides;
response[ 'Total entrades en ' || $geto ] = $entrades;
response[ 'Total sortides en ' || $geto ] = $sortides;
response[ 'Romanent en ' || $geto ] = $romanent;
}
}"
}
]
}
]