Creación de un conjunto de reglas de asesor utilizando el Editor CER

La primera tarea es crear un conjunto de reglas utilizando el Editor CER que determina si el asesoramiento se visualiza o no. Tenga en cuenta que el asesoramiento de ejemplo se mostrará si el estado civil de una persona es "casado" y no se ha especificado una relación de tipo "cónyuge". Por lo tanto, debemos configurar un conjunto de reglas que busque primero en el estado civil de una persona y luego en las relaciones de la persona con el fin de evaluar si se va a visualizar el asesoramiento o no. Debemos empezar por crear el conjunto de reglas nuevo:
  1. Inicie sesión en la administración de aplicaciones.
  2. En el área de Atajos del área de espacio de trabajo de administración, seleccione Reglas y pruebas.
  3. Seleccione el enlace Conjuntos de reglas de Cúram Express.
  4. En el menú Acción, seleccione Nuevo para crear un conjunto de reglas nuevo.
  5. Asigne al nombre del conjunto de reglas SpouseRuleSet y pulse el botón Guardar. Asignar el conjunto de reglas a una categoría si es apropiado.
  6. En la pestaña Conjuntos de reglas de Cúram Express, busque el SpouseRuleSet recién creado.
  7. En el menú Acciones para el SpouseRuleSet, seleccione Continuar edición. Se abrirá una nueva pestaña de enlace que contiene el Editor CER.

Ahora debemos diseñar la lógica para la SpouseRuleSet. Desde una perspectiva empresarial, el asesoramiento se proporciona en la página de inicio Personas con la condición de que esta persona está casada y no se han registrado relaciones conyugales para la persona. Como se trata de una lógica simple, podemos saltar directamente al Editor CER para diseñar la implementación de normas.

La implementación funciona de la forma siguiente. En primer lugar, determinamos la persona para la que se visualiza el asesoramiento utilizando el parámetro concernRoleID de Person_homePage. El elemento concernRoleID se recibe desde el contexto de asesoramiento. A continuación buscamos la persona o sus relaciones asociadas utilizando concernRoleID. Por último, comprobando si el estado civil de la persona es igual a casado y comparando el número de relaciones de cónyuge con '0', podemos determinar si el asesoramiento debe proporcionarse. Para diseñar esta implementación, llevamos a cabo los pasos siguientes en el Editor CER:

  1. En el elemento de menú de clase de regla, cree una clase nueva denominada SpouseAdvice.
  2. En la pestaña Propiedades, pulse en el enlace Editar junto al campo Ampliaciones.
  3. Utilice el enlace Cambiar para permitir que la clase de regla SpouseAdvice amplíe AbstractAdviceContext dentro de CoreAdvisorRuleSet.
  4. En el elemento de menú de atributos, cree los siguientes atributos nuevos para SpouseAdviceRuleClass: concernRoleID, adviceContextID, advice y description en la clase de regla SpouseAdvice.
  5. Establezca el campo Tipo de datos para cada atributo nuevo. Para el atributo concernRoleID, establezca el campo Tipo de datos en NumberParameter desde la CoreAdvisorRuleSet. Para el atributo adviceContextID, establezca el campo Tipo de datos en Número. Para el atributo advice, establezca el campo Tipo de datos en la lista de AbstactAdviceItem en CoreAdvisorRuleSet. Para el atributo description, establezca el campo Tipo de datos en Mensaje. En el elemento de menú de clase de regla, cree una clase de regla nueva llamada SpouseAdviceItem. Permita a la clase de regla SpouseAdviceItem ampliarse a partir de AbstractAdviceItem dentro de CoreAdvisorRuleSet.
  6. En el elemento de menú de atributo, cree los siguientes atributos nuevos para la clase de regla SpouseAdviceItem: adviceText, showAdvice, prioridad, estado, categoría, adviceContext, descripción y ConcernRoleID.
  7. Establezca el campo Tipo de datos para cada atributo nuevo. Para el atributo adviceText, establezca en el Tipo de datos Serie. Para el atributo showAdvice, establezca el campo Tipo de datos en Booleano. Para el atributo priority, establezca el campo Tipo de datos en la tabla de códigos AdvicePriority. Para el atributo status, establezca el campo Tipo de datos en la tabla de códigos AdviceStatus. Para el atributo category, establezca el campo Tipo de datos en la tabla de códigos AdviceCategory. Para el atributo adviceContext, establezca el campo Tipo de datos en Número. Para el atributo description, establezca el campo Tipo de datos en Mensaje. Para el atributo concernRoleID, establezca el campo Tipo de datos en Número.
  8. Arrastre un operador de tabla de códigos al atributo de prioridad. En la pestaña Propiedades del operador, establezca la tabla en AdvicePriority y establezca el valor en AP2001.
  9. Arrastre un operador de tabla de códigos al atributo de estado. En la pestaña Propiedades del operador, establezca la tabla en AdviceStatus y establezca el valor en AS2002.
  10. Arrastre un operador de tabla de códigos al atributo de categoría. En la pestaña Propiedades del operador, establezca la tabla en AdviceCategory y establezca el valor en AC2001.

Ahora hemos ampliado los atributos esenciales y podemos ir a añadir la lógica a las reglas. Primero debemos determinar si la persona está casada no del modo siguiente:

  1. Crear un nuevo atributo de persona para la clase de regla SpouseAdviceItem. Para el atributo Persona, establezca el campo Tipo de datos en Persona desde el conjunto de reglas ParticipantEntitiesRuleSet.
  2. Arrastre un operador de búsqueda al atributo de persona. Haga doble clic en el operador de búsqueda para abrir el diálogo Editar búsqueda y especifique el tipo de datos de personas mencionado anteriormente.
  3. Añada una nueva coincidencia al operador de búsqueda y, a continuación, arrastre una referencia a ella que haga referencia al atributo concernRoleID dentro de la clase de regla SpouseAdviceItem.
  4. Marque el recuadro de selección de elemento único en la pestaña Propiedades del operador de búsqueda.
  5. Cree un atributo nuevo para la clase de regla SpouseAdviceItem y llámela isMarried.
  6. Establezca en el campo Tipo de datos del atributo nuevo Booleano.
  7. Arrastre un operador de comparación para el nuevo atributo. Editar su expresión para comparar maritalStatus dentro del atributo de persona con la tabla Codetable MaritalStatus con el valor MS2.

Ahora podemos calcular cuántas relaciones de cónyuge tiene la persona del modo siguiente:

  1. Cree un atributo nuevo para la clase de regla SpouseAdviceItem y llámela relationships. Para el atributo relationships, establezca el campo Tipo de datos como una Lista del tipo ConcernRoleRelationship desde el conjunto de reglas ParticipantEntitiesRuleSet.
  2. Arrastre un operador de búsqueda al atributo de relaciones. Haga doble clic en el atributo para abrir el diálogo Editar búsqueda, indique el tipo de datos ConcernRoleRelationship que acabamos de mencionar.
  3. Añada una nueva coincidencia al operador de búsqueda y, a continuación, arrastre una referencia a ella que haga referencia al atributo concernRoleID dentro de la clase de regla SpouseAdviceItem.
  4. Cree un atributo nuevo para la clase de regla SpouseAdviceItem y llámela numOfSpouseRelationships con el número de tipo de datos.
  5. Arrastre un operador de tamaño al nuevo atributo. A continuación, arrastre un operador de filtro dentro del operador de tamaño.
  6. En el operador de filtro, para el elemento de lista vacía, haga que de refiera al atributo de relaciones. Para el elemento Miembro vacío, arrastre un nuevo operador de comparación que compare el elemento relationshipType dentro del atributo de las relaciones con el valor RT6 en Codetable RelationshipTypeCode.

Finalmente, podemos determinar el resultado de los pasos anteriores como se indica a continuación:

  1. Abra el atributo showAdvice dentro de la clase de regla SpouseAdviceItem.
  2. Arrastre el operador AND hasta aquí, convirtiendo isMarried en la primera condición. Para la segunda condición, añada un operador de comparación junto a la condición isMarried, que compara si el valor de numOfSpouseRelationship es igual a 0.
  3. Abra el atributo adviceText dentro de la clase de regla SpouseAdviceItem.
  4. Arrastre un operador de propiedades de serie al atributo y, en la pestaña Propiedades, asígnele un valor de startCapture.
  5. Abra el atributo advice dentro de la clase de regla SpouseAdvice.
  6. Arrastre un operador lista fija al atributo y complete el tipo de datos de este operador como AbstractAdviceItem.
  7. Arrastre un operador de creación al operador de lista fija y luego cree la clase de regla SpouseAdviceItem con parámetros. El parámetro concernRoleID de SpouseAdviceItem debe hacer referencia a concernRoleID en SpouseAdvice. El parámetro adviceContext de SpouseAdviceItem debe hacer referencia a adviceContextID en SpouseAdvice.
  8. Guarde y valide el conjunto de reglas en el Editor CER.
  9. Si no se producen errores en la validación, publique el conjunto de reglas en la administración de aplicaciones utilizando la opción Publicar en la pestaña Conjuntos de reglas de Cúram Express.