**************************************************
* Ce programme met  jour le fichier TLGVERIFPLG *
*                                                *
* Grgory - 11/04/11                             *
**************************************************
EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"

OPEN "","TPSTEMPO" TO F.TPSTEMPO ELSE RETURN
OPEN "","TLGVERIFPLG" TO F.TLGVERIFPLG ELSE RETURN
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE RETURN
OPEN "","TLGPARAM" TO F.TLGPARAM ELSE RETURN
* Modif Greg - 23/03/12 - Dornavant on ne traitera que les plannings dont
* les activits sont paramtres en tlgestion. Ceci afin d'viter par exemple
* que tout le mandataire remonte en anomalie "Planning sans tlgestion" alors
* que le mandataire n'est justement pas gr en tlgestion.
OPEN "","DOMITIMEPARAMINTGR" TO F.DOMITIMEPARAMINTGR ELSE RETURN
OPEN "","ACTIVITES" TO F.ACTIVITES ELSE RETURN
**************************************************

ENR_TPSTEMPO=""
ENR_TLGVERIFPLG=""
ENR_CIVILAIDE=""
ENR_TLGPARAM=""
ENR_DOMITIMEPARAMINTGR=""
ENR_ACTIVITES=""

* Modif Greg - 21/10/11 - Si la comparaison plg/tlg n'est pas activ, on ne met pas  jour le fichier.
READ ENR_TLGPARAM FROM F.TLGPARAM, "HEURELIMITEVERIF" ELSE ENR_TLGPARAM=""
IF ENR_TLGPARAM<3><>"O" THEN STOP
* Fin modif Greg - 21/10/11

IF TIMEDATE()[1,5]<"06:30" THEN
	W_Date=DATE()
END ELSE
	W_Date=DATE()+1
END

W_Date="16406"

* Modif Greg - 23/03/12 - Dornavant on travaillera uniquement sur les plannings dont
* les activits sont paramtres en tlgestion. Il faut donc connaitre ces dernires.
READ ENR_DOMITIMEPARAMINTGR FROM F.DOMITIMEPARAMINTGR, "001" ELSE ENR_DOMITIMEPARAMINTGR=""
W_TypesAct=""
FOR I = 1 TO DCOUNT(ENR_DOMITIMEPARAMINTGR<1>,CHAR(253))
	READ ENR_ACTIVITES FROM F.ACTIVITES, ENR_DOMITIMEPARAMINTGR<1,I> ELSE ENR_ACTIVITES=""
	IF ENR_ACTIVITES<12><>"" THEN
		IF INDEX(W_TypesAct,ENR_ACTIVITES<12>,1) = 0 THEN
			W_TypesAct=W_TypesAct:ENR_ACTIVITES<12>
		END
	END
NEXT I
* Fin modif Greg - 23/03/12


**************************************************

EXECUTE 'AFFICHEPLANNING |USERBATCH|001|':W_TypesAct:'|':W_Date:'|':W_Date:'||||E|||'

READ ENR_TPSTEMPO FROM F.TPSTEMPO, "AFFICHEPLANNINGUSERBATCH" THEN
	* On parcourt le fichier.
	I=0
	LOOP
		I=I+1
	WHILE I<=DCOUNT(ENR_TPSTEMPO, CHAR(254))
		* Pour chaque aidant trouv, on regarde son planning.
		* Pour chaque aidant, la norme est : une ligne par jour. On a demand un seul jour donc on sait que seule
		* la ligne immdiate aprs celle contenant le code de l'aidant nous intresse.
		IF ENR_TPSTEMPO<I>[1,7]="#Interv" THEN
			I=I+1
			FOR J = 1 TO DCOUNT(ENR_TPSTEMPO<I,1>,CHAR(252))
				IF ENR_TPSTEMPO<I,1,J>[1,6]="Interv" THEN
					* Modif Greg - 23/03/12 - Dsormais on ne traite que les
					* interventions dont l'activit est gre en tlgestion.
					* J'ajoute donc la condition qui suit.
					IF INDEX(ENR_DOMITIMEPARAMINTGR<1>,ENR_TPSTEMPO<I,4,J>[16,6],1) <> 0 THEN
						READ ENR_CIVILAIDE FROM F.CIVILAIDE, ENR_TPSTEMPO<I,4,J>[6,5] THEN
							* Si l'aid ne gre pas la tlgestion, alors  ne sert  rien de le grer pour les anomalies.
							* Par contre cela peut changer si on dcide d'utiliser le fichier pour d'autres choses. A ce
							* moment l il faudra retirer le test de ce PR pour le mettre dans les programme o le filtrage
							* doit tre fait.
							IF ENR_CIVILAIDE<50>="" THEN
								* On rcupre les infos de l'intervention planifie et on crit dans TLGVERIFPLG
								ENR_TLGVERIFPLG=""
								ENR_TLGVERIFPLG<1>=W_Date
								ENR_TLGVERIFPLG<2>=ENR_TPSTEMPO<I,3,J>
								ENR_TLGVERIFPLG<4>=ENR_TPSTEMPO<I,4,J>
								
								IF ENR_TLGVERIFPLG<>"" THEN
									WRITE ENR_TLGVERIFPLG ON F.TLGVERIFPLG, ENR_TPSTEMPO<I,4,J>[1,10]:W_Date:ENR_TPSTEMPO<I,2,J>:"P"
								END
							END
						END
					END
				END
			NEXT J
			
			* Une fois le planning de l'aidant rcupr, on peut passer  la ligne suivante.
			* Ce n'est pas forcment "immdiatement" un autre aidant, mais la boucle principale
			* tournera jusqu' ce qu'on en trouve un o qu'on arrive  la fin de l'enregistrement.
			I=I+1
		END
	REPEAT
END

EXECUTE "DELETE TPSTEMPO AFFICHEPLANNINGUSERBATCH"

STOP