TEST VERIFICA CS NPG35

1) Predisporre un file xml tipo il seguente:

<?xml version="1.0" encoding="UTF-8"?>
<ComunicazioneNP>
    <Richiesta>
        <Prenotifica_Donating>
            <TipoComunicazione>3</TipoComunicazione>
            <CodiceOrdine>0558997113</CodiceOrdine>
            <DataOrdine>2020-12-25</DataOrdine>
            <DirectoryNumber>069988001</DirectoryNumber>
            <TipoLinea>2</TipoLinea>
            <DataInvioMessaggio>2021-01-05</DataInvioMessaggio>
            <IdentificativoOperatoreDonor>TLC</IdentificativoOperatoreDonor>
            <CognomeCliente_RagioneSociale>Fabrizio Ravanelli</CognomeCliente_RagioneSociale>
            <TelefonoReferenteRichiedente>3452145218</TelefonoReferenteRichiedente>
            <EmailReferenteRichiedente>fabrizioravanelli@gmail.com</EmailReferenteRichiedente>
            <CodiceOpRecipient>KEA</CodiceOpRecipient>
            <DataAttesaConsegnaServizio>9999-12-31</DataAttesaConsegnaServizio>
            <CodiceProgetto />
            <CodiceSegreto>TL7</CodiceSegreto>
            <IdentificativoOperatoreDonating>TLC</IdentificativoOperatoreDonating>
        </Prenotifica_Donating>
    </Richiesta>
</ComunicazioneNP>

I campi variabili sono i seguenti
    - CodiceOrdine = <una stringa di lunghezza massima 18 caratteri>
    - DataOrdine deve essere precedente a DataInvioMessaggio
    - DirectoryNumber = il numero di telefono da migrare
    - TipoLinea = 1|2|3
    - DataInvioMessaggio = <data corrente>
    - CognomeCliente_RagioneSociale, facoltativo potete anche lasciare X
    - TelefonoReferenteRichiedente, facoltativo potete anche lasciare X
    - EmailReferenteRichiedente, facoltativo potete anche lasciare X
    - DataAttesaConsegnaServizio deve essere successiva a DataInvioMessaggio
    - CodiceSegreto = uno dei valori nella colonna COW della tabella GNP_ANAG_COW_TELECOM 

2) Richiamare la pagina http://10.166.18.15:11101/SimOLO/sendRispostaOlo.jsp. Impostare i campi seguenti:
    - OLO Mittente = KEA
    - Tipo File = N
    - Nome File = N_NP_KEA_TLC_yyyyMMdd_progressivo.xml
    - File, scegliere il file contenente l'xml modificato al passo 1

    Viene generato un record in:
    - GNP_FENP_IN
    - GNP_FENP_RICHIESTE_IN
    - GNP_RICHIESTE_CS_NPG35
    - GNP_STORICO_CS_NPG35

Ricevuta la richiesta DBCFX stacca un nuovo ID_RICHIESTA per la richiesta ricevuta visualizzabile ad esempio in  GNP_FENP_RICHIESTE_IN

Nota
1) La richiesta dovr avere come operatore mittente "KEA" sia all'interno della maschera di inserimento sia come parametro del nome file
	N_NP_KEA_TLC_yyyyMMdd_progressivo
2) La richiesta dovr avere il campo CodiceOpRecipient = KEA <CodiceOpRecipient>KEA</CodiceOpRecipient>	
3) La richiesta dovr avere il campo IdentificativoOperatoreDonor = TLC <IdentificativoOperatoreDonor>TLC</IdentificativoOperatoreDonor>
4) La richiesta dovr avere il campo DAC valorizzato alla dacfittizia 9999/12/31 <DataAttesaConsegnaServizio>9999-12-31</DataAttesaConsegnaServizio>

Solo con queste valorizzazioni si  sicuro che il software interpreter correttamente la richiesta come prima "PRENOTIFICA" ricevuta da FENP, dunque come
inizializzazione della richiesta di verifica CS (questo perch successivamente, quando la richiesta sar espletata ci sar una nuova prenotifica).

La richiesta di business passa prima in stato 01:ACQUISITA e poi, in maniera automatica, in base al CODICE_SEGRETO:

    2a) in stato 04:RIFIUTATA se il valore del CODICE_SEGRETO non  presente nella tabella GNP_ANAG_COW_TELECOM come colonna COW
        Vengono modificate le tabelle GNP_RICHIESTE_CS_NPG35 e GNP_STORICO_CS_NPG35. Viene inserito un record in GNP_FENP_RICHIESTE_OUT
    2b) in stato 05:ESPLETATA se il valore del CODICE_SEGRETO  relativo alla piattaforma Business (colonna GNP_ANAG_COW_TELECOM.CRM_COMPETENZA='B') e TipoLinea=1
        Vengono modificate le tabelle GNP_RICHIESTE_CS_NPG35 e GNP_STORICO_CS_NPG35.
    2c) in stato 02:PRESAINCARICO e successivamente in 03:ATTESAVERIFICA negli altri casi
        Vengono modificate le tabelle GNP_RICHIESTE_CS_NPG35 e GNP_STORICO_CS_NPG35. Viene inserito un record in GNP_CRMB_DONOR_OUT o GNP_CRMR_DONOR_OUT a seconda
        se il CODICE_SEGRETO fa riferimento a GNP_ANAG_COW_TELECOM.CRM_COMPETENZA='B' o GNP_ANAG_COW_TELECOM.CRM_COMPETENZA='R'.
		In questo caso viene inviata la richiesta di verifica codice segreto al CRM di competenza.

3) Dallo stato 03:ATTESAVERIFICA  possibile uscire in tre modi

    3a) transizione 03:ATTESAVERIFICA-->05:ESPLETATA

    Predisporre un file xml tipo il seguente:

        <?xml version="1.0" encoding="utf-8"?>
        <EsitoVerificaCS>
            <CODICE_SESSIONE>5872</CODICE_SESSIONE>
            <PIATTAFORMA_PROVENIENZA>B</PIATTAFORMA_PROVENIENZA>
            <ESITO>0</ESITO> 
            <CAUSALE></CAUSALE>
            <RADICALE_GNR></RADICALE_GNR>
            <DN0>062142000</DN0>n
            <ADSL></ADSL>
            <TI_OU_NUM></TI_OU_NUM>
        </EsitoVerificaCS>
	
	Questo file simula l'esito della verifica CS ricevuto da CRMB
	
    dove 
        - CODICE_SESSIONE  il codice sessione relativo alla richiesta creata precedentemente in GNP_CRMR_DONOR_OUT o GNP_CRMB_DONOR_OUT,
		  che poi non  altro che l'id_richiesta creato in precedenza da DBCFX
        - ESITO 0 = ok
        - DN0  il valore di DN in GNP_CRMR_DONOR_OUT o GNP_CRMB_DONOR_OUT
		
    1) Posizionare il file nel path indicato nella property GEN_PATH_CRMB_DONOR o GEN_PATH_CRMR_DONOR che si pu trovare nel file
		di properties del simulatore al path
			C:\Users\AOM\Desktop\Sviluppo\TIM\DBCFX\dbcfx\FE\gnpdev\sim\properties
		In particolare per CRMB bisogna posizionare il file al path:
			C:\gnpapp92\simulatore\IB\CRMBDONOR

	2) Fatto questo Posizionarsi nella cartella 
		C:\Users\AOM\Desktop\Sviluppo\TIM\DBCFX\dbcfx\FE\gnpdev\sim\script\win
		e lanciare lo script Notifica_da_CRMB_DONOR.cmd o Notifica_da_CRMR_DONOR.cmd a seconda del CRM di competenza
    
    Vengono modificate le tabelle GNP_RICHIESTE_CS_NPG35 e GNP_STORICO_CS_NPG35. Viene inserito un record in GNP_CRMB_DONOR_IN o GNP_CRMR_DONOR_IN

    3b) transizione 03:ATTESAVERIFICA-->04:RIFIUTATA

    Predisporre un file xml tipo il seguente:

		<?xml version="1.0" encoding="utf-8"?>
		<EsitoVerificaCS>
			<CODICE_SESSIONE>15000</CODICE_SESSIONE>
			<PIATTAFORMA_PROVENIENZA>B</PIATTAFORMA_PROVENIENZA>
			<ESITO>1</ESITO> 
			<CAUSALE>COD SEGRETO NON CORRISPONDENTE</CAUSALE>
			<RADICALE_GNR></RADICALE_GNR>
			<DN0>069988001</DN0>
			<ADSL></ADSL>
			<TI_OU_NUM></TI_OU_NUM>
		</EsitoVerificaCS>
	
	Questo file simula l'esito della verifica CS ricevuto da CRMB

    dove 
        - CODICE_SESSIONE  il codice sessione relativo alla richiesta creata precedentemente in GNP_CRMR_DONOR_OUT o GNP_CRMB_DONOR_OUT,
		  che poi non  altro che l'id_richiesta creato in precedenza da DBCFX
        - ESITO 1 = ko
        - DN0  il valore di DN in GNP_CRMR_DONOR_OUT o GNP_CRMB_DONOR_OUT

    1) Posizionare il file nel path indicato nella property GEN_PATH_CRMB_DONOR o GEN_PATH_CRMR_DONOR che si pu trovare nel file
		di properties del simulatore al path
			C:\Users\AOM\Desktop\Sviluppo\TIM\DBCFX\dbcfx\FE\gnpdev\sim\properties
		In particolare per CRMB bisogna posizionare il file al path:
			C:\gnpapp92\simulatore\IB\CRMBDONOR

	2) Fatto questo Posizionarsi nella cartella 
		C:\Users\AOM\Desktop\Sviluppo\TIM\DBCFX\dbcfx\FE\gnpdev\sim\script\win
		e lanciare lo script Notifica_da_CRMB_DONOR.cmd o Notifica_da_CRMR_DONOR.cmd a seconda del CRM di competenza

    Vengono modificate le tabelle GNP_RICHIESTE_CS_NPG35 e GNP_STORICO_CS_NPG35. Viene inserito un record in GNP_CRMB_DONOR_IN o GNP_CRMR_DONOR_IN
    
	In questo caso  prevista anche la notifica verso FENP/NOW dell'esito (a differenza del caso in cui la richiesta viene espletata).
	Sar presente un record sulla GNP_FENP_RICHIESTE_OUT per inviare a FENP l'esito bisogna lanciare gli script:
		- Invia_Esiti_Fenp_DonNatTi.sh -> NATIVI TI (npg35)
		- Invia_Esiti_Fenp_DonNatOlo.sh -> NATIVI OLO (NON  IL CASO IN ESAME dato che qui si parla di npg35)
		
    3c) transizione 03:ATTESAVERIFICA-->05:ESPLETATA
    
    E' possibile effettuare il passaggio di stato anche lanciato lo script sul server /gnpapp/script/Check_Silenzio_Assenso_CSNpg35.sh.
    Vengono modificate le tabelle GNP_RICHIESTE_CS_NPG35 e GNP_STORICO_CS_NPG35
   
4)Per le richieste in stato ESPLETATA:

NOTA: Da questo punto in poi sono informazioni che ho dedotto dal codice effettuando DEBUG, verificarne la correttezza

A questo punto si pu proseguire con le nuove notifiche ricevute da FENP

1) Verra inviata la "PRENOTIFICA" come detto in precedenza questa  una seconda "PRENOTIFICA" e per farla interpretare correttamente al sistema dovr
essere strutturata in questo modo:

<?xml version="1.0" encoding="UTF-8"?>
<ComunicazioneNP>
    <Richiesta>
        <Prenotifica_Donating>
            <TipoComunicazione>3</TipoComunicazione>
            <CodiceOrdine>0558997113</CodiceOrdine>
            <DataOrdine>2020-12-25</DataOrdine>
            <DirectoryNumber>069988001</DirectoryNumber>
            <TipoLinea>2</TipoLinea>
            <DataInvioMessaggio>2021-01-05</DataInvioMessaggio>
            <IdentificativoOperatoreDonor>TLC</IdentificativoOperatoreDonor>
            <CognomeCliente_RagioneSociale>Fabrizio Ravanelli</CognomeCliente_RagioneSociale>
            <TelefonoReferenteRichiedente>3452145218</TelefonoReferenteRichiedente>
            <EmailReferenteRichiedente>fabrizioravanelli@gmail.com</EmailReferenteRichiedente>
            <CodiceOpRecipient>OPI</CodiceOpRecipient>
            <DataAttesaConsegnaServizio>2021-01-12</DataAttesaConsegnaServizio>
            <CodiceProgetto />
            <CodiceSegreto>TL7</CodiceSegreto>
            <IdentificativoOperatoreDonating>TLC</IdentificativoOperatoreDonating>
        </Prenotifica_Donating>
    </Richiesta>
</ComunicazioneNP>

Si pu quindi prendere la notifica inviata precedentemente e cambiare CodiceOpRecipient che dovra essere diverso da KEA e
la DAC cio DataAttesaConsegnaServizio non dovr pi essere fittizia ma valorizzata con un valore concreto.

Richiamare la pagina http://10.166.18.15:11101/SimOLO/sendRispostaOlo.jsp. Impostare i campi seguenti:
    - OLO Mittente = KEA
    - Tipo File = N
    - Nome File = N_NP_KEA_TLC_yyyyMMdd_progressivo.xml
    - File, scegliere il file contenente l'xml modificato precedentemente
	
	
Verra dunque acquisita ed inviata quindi la Prenotifica al CRM di competenza.
Verrano creati nuovi record sulla GNP_FENP_RICHIESTE_IN e sulla Gnp_Crm_Notify_Donor_Out sempre con lo stesso ID_RICHIESTA precedente

2) Per simulare l'espletamento:

Bisogner inviare un file di questo tipo:

<?xml version="1.0" encoding="UTF-8"?>
<ComunicazioneNP>
<Risposta>
<Espletamento_Donor_RecipientDonating>
  <TipoComunicazione>7</TipoComunicazione>
  <DatiNotifica>
    <CodiceOrdine>0558997113</CodiceOrdine>
    <DataOrdine>2020-12-25</DataOrdine>
    <DirectoryNumber>069988001</DirectoryNumber>
    <IdentificativoOperatoreDonor>TLC</IdentificativoOperatoreDonor>
    <DataInvioMessaggio>2021-01-05</DataInvioMessaggio>
    <Note>nessuna nota</Note>
    <CodiceOpRecipient>OPI</CodiceOpRecipient>
    <CodiceSegreto>TL7</CodiceSegreto>
    <DataAttesaConsegnaServizio>2021-01-12</DataAttesaConsegnaServizio>
    <CognomeCliente_RagioneSociale>Ravanelli</CognomeCliente_RagioneSociale>
    <NomeCliente>Fabrizio</NomeCliente>
    <CodiceProgetto>str1234</CodiceProgetto>
    <EmailReferenteRichiedente>fabrizioravanelli@gmail.com</EmailReferenteRichiedente>
    <TelefonoReferenteRichiedente>3452145218</TelefonoReferenteRichiedente>
	<Correlazioni>
      <IdentificativoCorrelazioni>str1234</IdentificativoCorrelazioni>
      <TotaleRichieste>1234</TotaleRichieste>
    </Correlazioni>
  </DatiNotifica>
  <IdentificativoOperatoreDonating>TLC</IdentificativoOperatoreDonating>
  <DataEspletamentoOrdine>2021-01-18</DataEspletamentoOrdine>
  <DataAttesaConsegnaRimodulata>2021-01-12</DataAttesaConsegnaRimodulata>
</Espletamento_Donor_RecipientDonating>
</Risposta>
</ComunicazioneNP>

Il nome del file dovr essere formato ad esempio in questo modo:
	R_NP_KEA_TLC_20210107_00002.xml

Richiamare la pagina http://10.166.18.15:11101/SimOLO/sendRispostaOlo.jsp. Impostare i campi seguenti:
    - OLO Mittente = KEA
    - Tipo File = R
    - Nome File = R_NP_KEA_TLC_20210107_00002.xml
    - File, scegliere il file contenente l'xml creato precedentemente


3) Per inviare un eventuale RIMODULAZIONE DAC
da fare probabilmente prima dell'espletamento

<?xml version="1.0" encoding="utf-8"?>
<Rimodulazione_DAC>
  <TipoComunicazione>st</TipoComunicazione>
  <DatiNotifica>
    <CodiceOrdine>str1234</CodiceOrdine>
    <DataOrdine>2012-12-13</DataOrdine>
    <DirectoryNumber>str1234</DirectoryNumber>
    <IdentificativoOperatoreDonor>str</IdentificativoOperatoreDonor>
    <DataInvioMessaggio>2012-12-13</DataInvioMessaggio>
    <Note>str1234</Note>
    <CodiceOpRecipient>str</CodiceOpRecipient>
    <CodiceSegreto>str</CodiceSegreto>
    <DataAttesaConsegnaServizio>2012-12-13</DataAttesaConsegnaServizio>
    <CognomeCliente_RagioneSociale>str1234</CognomeCliente_RagioneSociale>
    <NomeCliente>str1234</NomeCliente>
    <CodiceProgetto>str1234</CodiceProgetto>
    <EmailReferenteRichiedente>str1234</EmailReferenteRichiedente>
    <TelefonoReferenteRichiedente>str1234</TelefonoReferenteRichiedente>
    <Correlazioni>
      <IdentificativoCorrelazioni>str1234</IdentificativoCorrelazioni>
      <TotaleRichieste>1234</TotaleRichieste>
    </Correlazioni>
  </DatiNotifica>
  <IdentificativoOperatoreDonating>str</IdentificativoOperatoreDonating>
  <DataAttesaConsegnaRimodulata>2012-12-13</DataAttesaConsegnaRimodulata>
</Rimodulazione_DAC>