Connexió amb Sarcat

Índex





Propòsit

El servei permet l'accés comú al registre corporatiu emés per DG d'Atenció Ciutadana.
El connector de Sarcat de Canigó exposa totes les operacións publicades pel producte SARCAT de la PICA.
Aquest mòdul permet consumir els diferents serveis que ofereix la plataforma de Sarcat mitjançant la PICA. El mòdul permet consumir els serveis oferts pels WebService amb peticions síncrones.

Funcionalitats del connector

El connector proporciona accés a les següents operacions de Sarcat:

Operació Sarcat
Descripció Funcional
Modalitat PICA
Operació PICA
consultaAssentaments Permet obtenir una relació d'assentaments, amb les dades bàsiques, que compleixin uns criteris de filtratge específics. SARCAT_AL_CONSULTA OP_CONSULTA_ASSENTAMENTS
cercaAssentaments Permet obtenir totes les dades d'un assentament concret. SARCAT_AL_CONSULTA OP_CERCA_ASSENTAMENTS
recollirAssentamentsSafataEntrada Permet recollir assentaments de la safata d'entrada per incorporar-los a d'altres sistemes. SARCAT_AL_CONSULTA OP_RECOLLIR_ENTRADA
recollirAssentamentsSafataSortida Permet recollir assentaments de la safata de sortida per incorporar-los a d'altres sistemes. SARCAT_AL_CONSULTA OP_RECOLLIR_SORTIDA
esPresortida Conèixer si un assentament concret és una pre-sortida o una sortida. SARCAT_AL_CONSULTA OP_ES_PRESORTIDA
insertarAssentamentEntrada Es registra l'assentament d'entrada i retorna el número d'assentament assignat i la data de registre. SARCAT_AL_ALTA OP_INSERTAR_ASSENTAMENTS_ENTRADA
insertarAssentamentSortida Es registra l'assentament de sortida i retorna el número d'assentament assignat i la data de registre. SARCAT_AL_ALTA OP_INSERTAR_ASSENTAMENTS_SORTIDA
insertarAssentamentSafata Donada la informació d'assentaments d'entrada, els grava i retorna el número de registre de cadascun. Addicionalment comprova la validesa de la destinació externa respecte l'unitat de registre associada a l'assentament. SARCAT_AL_ALTA OP_INSERTAR_ASSENTAMENTS_SAFATA
insertarAssentamentPresortida Donada la informació X d'assentaments de presortida, els grava i retorna el número de registre de cadascun. SARCAT_AL_ALTA OP_INSERTAR_ASSENTAMENTS_PRESORTIDA
numExp Permet modificar el número d'expedient prèviament assignat a un assentament d'entrada o sortida realitzat. SARCAT_AL_MODIFICACIO OP_CANVI_NUM_EXPEDIENT
getNumsRegistre Permet obtenir un conjunt de números d'assentaments que són reservats per s@rcat de manera exclusiva pel Backoffice que fa la sol- licitud. SARCAT_AL_RESERVA OP_GET_NUM_REGISTRE
cercaAssentamentsHist Permet obtenir totes les dades d'un assentament que ha passat pel repositori d'històrics d'assentaments de S@rcat. SARCAT_AP_HISTORIC OP_CERCA_ASSENTAMENT_HISTORIC
baixaAssentament Permet donar de baixa assentaments d'entrada, sortida o presortida prèviament realitzats. SARCAT_AL_BAIXA OP_BAIXA_ASSENTAMENTS
llistarTaulesMestres A partir d'una data concreta, s'obtenen totes les actualitzacions realitzades en les taules mestres de S@rcat a partir d'aquesta data. SARCAT_AL_LLISTA_REG OP_LLISTA_REG
llistarTaulaMestra Recuperació de codis o valors possibles per a un determinat concepte o taula mestra. SARCAT_AP_LLISTA OP_LLISTA_TAULA_MESTRA

Versions i Dependències

Les dependències descrites a la següent url són requerides per tal de compilar i fer funcionar el projecte:
Dependències: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_3_13/canigo-connectors-root/canigo-connectors-sarcat-pica/dependencies.html
Site: http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_3_13/canigo-connectors-root/canigo-connectors-sarcat-pica/project-info.html
Javadoc: http://canigo.ctti.gencat.cat/repository/maven2/canigo/connectors/canigo-connectors-sarcat-pica/1.0/

S'ha deprecat la versió anterior del connector a S@RCAT, podeu trobar la documentació aquí.

Instal.lació i Configuració

Instal.lació

La instal.lació del servei requereix de la utilització de la llibreria 'canigo-services-sarcat-pica' i les dependències indicades a l'apartat 'Introducció - Versions i Dependències'.

Configuració

La configuració del Servei de Sarcat implica:

  • Configurar el connector de la PICA.
  • Definir el servei de Sarcat

Configuració del connector de la PICA

S'han de crear els beans Requeridor i PicaServiceWrapper en el contexte de Spring src/main/resources/spring/canigo-connectors.xml com s'indica a continuació.

<!-- CONNECTOR A LA PICA -->
    <!-- Aquest connector és necessari per a utilitzar el servei de sarcat-->
    <bean id="requeridor" class="cat.gencat.pica.peticio.core.beans.Requeridor" singleton="true">
        <property name="password" value="${pica.password}"></property>
        <property name="user" value="${pica.user}"></property>
    </bean>
   
    <bean id="picaService" class="net.gencat.ctti.canigo.connectors.pica.impl.PicaServiceWrapper" singleton="false">
        <property name="axisDefinition" value="classpath:axis2client/"></property>
        <property name="loggingService" ref="loggingService"></property>
        <property name="requeridor" ref="requeridor"></property>
        <property name="modalitats">
            <map>
            </map>
        </property>
    </bean>


Les propietats de connexió de la pica necessaries es defineixen a l'arxiu de propietats src/main/resources/connectors/pica.properties .
|| Propietat
|| Requerit || Descripció ||

pica.user Usuari del connector amb la PICA
pica.password Password del connector amb la PICA
pica.urlPica EndPoint del Servei Web de la PICA
per defecte: http://preproduccio.pica.gencat.intranet/pica_cataleg/AppJava/services/

Definició del servei de Sarcat

S'ha de crear els bean SarcatConnectorImpl en el contexte de Spring src/main/resources/spring/canigo-services-sarcat-pica.xml com s'indica a continuació.

<bean id="sarcatService" class="net.gencat.ctti.canigo.connectors.sarcat.pica.impl.SarcatConnectorImpl" singleton="false">
   <constructor-arg ref="loggingService" />
   <property name="picaService" ref="picaService" />
   <property name="urlPica" value="${pica.urlPica}" />
   <property name="finalitat" value="${sarcat.finalitat}" />
   <property name="usuari" value="${sarcat.usuari}" />
   <property name="password" value="${sarcat.password}" />
</bean>


Totes les propietats necessaries per a la connexió amb sarcat es defineixen a l'arxiu de propietats src/main/resources/sarcat/sarcat.properties ; són les que s'indiquen a continuació.

|| Propietat
|| Requerit || Descripció ||

sarcat.usuari Usuari del connector de Sarcat
sarcat.password Password del connector de Sarcat
sarcat.finalitat Finalitat de la connexió amb la Sarcat

Utilització del Servei

La instanciació, la preparació i la petició del servei es fa de manera transparent, de tal manera que el servei s'activa en el moment en que el bean "SarcatConnectorImpl" es instanciat.

Per tant, la utilització del servei es realitza en la seva totalitat mitjançant la correcta parametrització de els objectes que constitueixen els missatges de les operacions de sarcat tant d'entrada com de sortida.

Exemples

Com exemple d'utilització del servei de connexió amb Sarcat s'inclou un exemple en el que es realitza una cerca de tots els registres d'entrada de documentació creats en una data definidia:

import net.gencat.scsp.esquemes.peticion.consulta.SarcatAlConsultaRequestDocument;
import net.gencat.scsp.esquemes.peticion.consulta.SarcatAlConsultaRequestDocument.SarcatAlConsultaRequest;
import net.gencat.scsp.esquemes.peticion.consulta.SarcatAlConsultaResponseDocument;
import net.gencat.scsp.esquemes.peticion.historic.SarcatApHistoricRequestDocument;

...

public Assentament[] cercaAssentaments(String data) throws SarcatException {
    SarcatConnectorImpl sarcatConnector = (SarcatConnectorImpl) applicationContext.getBean(SarcatConnectorImpl.BEAN_NAME, SarcatConnectorImpl.class);

    SarcatAlConsultaRequestDocument document = SarcatAlConsultaRequestDocument.Factory.newInstance();
    SarcatAlConsultaRequest request = document.addNewSarcatAlConsultaRequest();

    AssentamentCerca cerca = request.addNewAssentamentCerca();
    ParametresCerca params =  cerca.addNewParametresCerca();
    params.setDataInici(data);
    params.setDataFinal(data);
    cerca.setParametresCerca(params);
    cerca.setUrUsuari("0001");
    cerca.setOrdreCerca(OrdreCerca.DATA_ALTA);
    cerca.setTipus(TipusAssentament.ENTRADA);
    cerca.setDescendent(true);

    SarcatAlConsultaResponseDocument resposta = sarcatConnector.cercaAssentaments(document);

    return resposta.getSarcatAlConsultaResponse().getAssentamentArray();
}