* COMPTE SALARIES PRESTATAIRE ET MANDATAIRE SUR ANNEE ET AU DERNIER JOUR DE LA PERIODE SELECTIONNEE
* 

EXECUTE "SET-THOUS ."
EXECUTE "SET-DEC ,"
EXECUTE "DATE.FORMAT"
OPEN "","DETAILCALCUL" TO F.DETAILCALCUL ELSE STOP
OPEN "","CONTRAT" TO F.CONTRAT ELSE STOP
OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE STOP
OPEN "","CIVILAIDANT" TO F.CIVILAIDANT ELSE STOP

PRINT "             Comptage des salaris sur une priode par dpartement"
1
PRINT "PERIODE A TRAITER (AAAAMM) - DEBUT:"
INPUT W_PERIODEDEB
IF W_PERIODEDEB MATCH "6N" ELSE GOSUB 1
2
PRINT "PERIODE A TRAITER (AAAAMM) - FIN:"
INPUT W_PERIODEFIN
IF W_PERIODEFIN MATCH "6N" ELSE GOSUB 2

PRINTER ON

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

PRINT "                         STATISTIQUES POUR LA DDTE                      "
PRINT ""

******************************************************************
*COMPTE LES EMPLOYEURS SUR L'ANNEE
******************************************************************

* MANDATAIRE 
EXECUTE 'SELECT DETAILCALCUL AVEC @ID>="[':W_PERIODEDEB:'" AND <= "[':W_PERIODEFIN:'" AND AVEC ConvColContratDetailCalcul = "02" AND AVEC TypePersonnel = "P" PAR CodPosAide PAR CodeAideDetailCalcul'
W_FINI="FAUX"
W_COMPTEUR=0
W_ANCIENCODE=""
W_DEP=""
W_HRESPAYEES=0
W_NBEMPLOYEUR=0
W_ANCEMPL=0

LOOP
   READNEXT W_CLE ELSE W_FINI="VRAI"
WHILE W_FINI="FAUX" DO
	READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT=""
    	READ ENR_CIVILAIDE FROM F.CIVILAIDE,ENR_CONTRAT<3> ELSE ENR_CIVILAIDE= ""
    	READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_CLE ELSE ENR_DETAILCALCUL= ""
	W_HRESPAYEES=W_HRESPAYEES+ENR_DETAILCALCUL<6>

	W_DEP1=ENR_CIVILAIDE<10>[1,2]
	IF W_DEP1<>W_DEP THEN
		IF W_DEP= "" THEN
			W_DEP=W_DEP1
		END ELSE
*			PRINT "NOMBRE DE SALARIES MANDATAIRE DU DEP             ":W_DEP:" ":W_COMPTEUR
			W_HRESPAYEES=W_HRESPAYEES/100
			W_HRESPAYEES=W_HRESPAYEES "R2"
			PRINT "NOMBRE D'HEURES PAYEES MANDATAIRE DU DEP         ":W_DEP:" ":W_HRESPAYEES
			PRINT "NOMBRE D'EMPLOYEURS DU DEP                       ":W_DEP:" ":W_NBEMPLOYEUR
			W_HRESPAYEES=0
			W_NBEMPLOYEUR=0
			W_DEP=W_DEP1
			W_COMPTEUR=0
		END
	END
    IF W_ANCIENCODE # W_CLE[1,5] THEN
	W_ANCIENCODE=W_CLE[1,5]
   	W_COMPTEUR=W_COMPTEUR+1
    END
	
    IF W_ANCEMPL # ENR_CONTRAT<3> THEN
	W_ANCEMPL=ENR_CONTRAT<3>
	W_NBEMPLOYEUR=W_NBEMPLOYEUR+1
    END
REPEAT
*PRINT "NOMBRE DE SALARIES MANDATAIRE DU DEP             ":W_DEP:" ":W_COMPTEUR
W_HRESPAYEES=W_HRESPAYEES/100
W_HRESPAYEES=W_HRESPAYEES "R2"
PRINT "NOMBRE D'HEURES PAYEES MANDATAIRE DU DEP         ":W_DEP:" ":W_HRESPAYEES
PRINT "NOMBRE D'EMPLOYEURS DU DEP                       ":W_DEP:" ":W_NBEMPLOYEUR
PRINT ""


************************************************************
* compte salaries sur l'annee
************************************************************
EXECUTE 'SELECT DETAILCALCUL AVEC @ID>="[':W_PERIODEDEB:'" AND <= "[':W_PERIODEFIN:'" AND AVEC ConvColContratDetailCalcul="02" PAR CodDepAide PAR @ID'
W_FINI="FAUX"
W_COMPTEUR=0
W_ANCIENCODE=""
W_DEP=""

LOOP
   READNEXT W_CLE ELSE W_FINI="VRAI"
WHILE W_FINI="FAUX" DO
    	READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT= ""
    	READ ENR_CIVILAIDE FROM F.CIVILAIDE,ENR_CONTRAT<3> ELSE ENR_CIVILAIDE= ""

	W_DEP1=ENR_CIVILAIDE<10>[1,2]
	IF W_DEP1<>W_DEP THEN
		IF W_DEP= "" THEN
			W_DEP=W_DEP1
		END ELSE

			PRINT "NOMBRE DE SALARIES MANDATAIRE POUR LE DEP ":W_DEP:" ":W_COMPTEUR
			W_COMPTEUR=0

			W_DEP=W_DEP1
			W_COMPTEUR=0
		END
	END

    IF W_ANCIENCODE # W_CLE[1,5] THEN
	W_ANCIENCODE=W_CLE[1,5]
   	W_COMPTEUR=W_COMPTEUR+1
    END
REPEAT
PRINT "NOMBRE DE SALARIES MANDATAIRE POUR LE DEP ":W_DEP:" ":W_COMPTEUR
PRINT ""


**************************************************************************
*CALCUL SALARIE AU 31/12 DE L'ANNEE EN COURS
**************************************************************************

*W_DATEFINCONTRAT=""
*W_DATEFINCONTRAT= "31/12/"
*W_DATEFINCONTRAT=W_DATEFINCONTRAT:W_PERIODEFIN[1,4]


W_MOISFIN=W_PERIODEFIN[5,2]
W_ANNEEFIN=W_PERIODEFIN[1,4]
W_MOISFIN=W_MOISFIN+1
IF W_MOISFIN="13"THEN
	W_MOISFIN="01"
	W_ANNEEFIN=W_ANNEEFIN+1
END

W_MOISFIN=W_MOISFIN "R(%2)"
W_DATEFIN="01/":W_MOISFIN:"/":W_ANNEEFIN
W_DATEFIN=ICONV(W_DATEFIN,"D4/")
W_DATEFIN=W_DATEFIN-1
W_DATEFIN=OCONV(W_DATEFIN,"D4/")

EXECUTE 'SELECT DETAILCALCUL AVEC @ID>="[':W_PERIODEDEB:'" AND <= "[':W_PERIODEFIN:'" AND AVEC ConvColContratDetailCalcul = "02" AND AVEC TypePersonnel = "P" AND AVEC DateFinClair >="':W_DATEFIN:'" OR = "" PAR CodDepAide PAR @ID '
W_FINI="FAUX"
W_COMPTEUR=0
W_ANCIENCODE=""
W_DEP=""


LOOP
   READNEXT W_CLE ELSE W_FINI="VRAI"
WHILE W_FINI="FAUX" DO
	READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT=""
    	READ ENR_CIVILAIDE FROM F.CIVILAIDE,ENR_CONTRAT<3> ELSE ENR_CIVILAIDE= ""

	W_DEP1=ENR_CIVILAIDE<10>[1,2]
	IF W_DEP1<>W_DEP THEN
		IF W_DEP= "" THEN
			W_DEP=W_DEP1
		END ELSE

			PRINT "NOMBRE DE SALARIES MANDATAIRE AU ":W_DATEFIN:" DU DEP ":W_DEP:" ":W_COMPTEUR
			W_COMPTEUR=0

			W_DEP=W_DEP1
			W_COMPTEUR=0
		END
	END

    IF W_ANCIENCODE # W_CLE[1,5] THEN
	W_ANCIENCODE=W_CLE[1,5]
   	W_COMPTEUR=W_COMPTEUR+1
    END
	
REPEAT

PRINT "NOMBRE DE SALARIES MANDATAIRE AU ":W_DATEFIN:" DU DEP ":W_DEP:" ":W_COMPTEUR
PRINT ""




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

* PRESTATAIRE
W_MOISFIN=W_PERIODEFIN[5,2]
W_ANNEEFIN=W_PERIODEFIN[1,4]
W_MOISFIN=W_MOISFIN+1
IF W_MOISFIN="13"THEN
	W_MOISFIN="01"
	W_ANNEEFIN=W_ANNEEFIN+1
END

W_MOISFIN=W_MOISFIN "R(%2)"
W_DATEFIN="01/":W_MOISFIN:"/":W_ANNEEFIN
W_DATEFIN=ICONV(W_DATEFIN,"D4/")
W_DATEFIN=W_DATEFIN-1
W_DATEFININT=""
W_DATEFININT=W_DATEFIN
W_DATEFIN=OCONV(W_DATEFIN,"D4/")

EXECUTE 'SELECT DETAILCALCUL AVEC @ID>="[':W_PERIODEDEB:'" AND <= "[':W_PERIODEFIN:'" AND AVEC ConvColContratDetailCalcul # "02" AND AVEC TypePersonnel = "P" AND AVEC DateFinClair >="':W_DATEFIN:'" OR = "" PAR CodPosAidant PAR @ID'
W_FINI="FAUX"
W_COMPTEUR=0
W_ANCIENCODE=""
W_ANCCODE=""
W_DEP=""
W_CDD=0
W_CDI=0
W_FEMME=0
W_HOMME=0
W_MOINS30ANS=0
W_PLUS50ANS=0
W_HRESFACT=0


LOOP
   READNEXT W_CLE ELSE W_FINI="VRAI"
WHILE W_FINI="FAUX" DO
	READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT=""
    	READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CLE[1,5] ELSE ENR_CIVILAIDANT= ""
    	READ ENR_DETAILCALCUL FROM F.DETAILCALCUL,W_CLE ELSE ENR_DETAILCALCUL= ""
	W_HRESFACT=W_HRESFACT+ENR_DETAILCALCUL<41>
	W_DEP1=ENR_CIVILAIDANT<10>[1,2]
	IF W_DEP1<>W_DEP THEN
		IF W_DEP= "" THEN
			W_DEP=W_DEP1
		END ELSE
			PRINT "NOMBRE DE SALARIES PRESTATAIRES DU DEP            ":W_DEP:" AU ":W_DATEFIN:" ":W_COMPTEUR
			W_HRESFACT=W_HRESFACT/100
			W_HRESFACT=W_HRESFACT "R2"
			PRINT "NOMBRE D'HEURES FACTUREES PRESTATAIRE DU DEP      ":W_DEP:" AU ":W_DATEFIN:" ":W_HRESFACT
			PRINT "NOMBRE DE CONTRAT CDD DU DEP                      ":W_DEP:" AU ":W_DATEFIN:" ":W_CDD
			PRINT "NOMBRE DE CONTRAT CDI DU DEP                      ":W_DEP:" AU ":W_DATEFIN:" ":W_CDI
			PRINT "NOMBRE DE FEMMES SOUS CONTRAT DU DEP              ":W_DEP:" AU ":W_DATEFIN:" ":W_FEMME
			PRINT "NOMBRE D'HOMMES SOUS CONTRAT  DU DEP              ":W_DEP:" AU ":W_DATEFIN:" ":W_HOMME
			PRINT "NOMBRE DE PERS DE + DE 50 ANS SOUS CONTRAT DU DEP ":W_DEP:" AU ":W_DATEFIN:" ":W_PLUS50ANS
			PRINT "NOMBRE DE PERS DE - DE 30 ANS SOUS CONTRAT DU DEP ":W_DEP:" AU ":W_DATEFIN:" ":W_MOINS30ANS
			W_DEP=W_DEP1
			W_COMPTEUR=0
			W_HRESFACT=0
			W_CDD=0
			W_CDI=0
			W_FEMME=0
			W_HOMME=0
			W_MOINS30ANS=0
			W_PLUS50ANS=0
		END
	END
    IF W_ANCIENCODE # W_CLE[1,5] THEN
	IF W_ANCIENCODE # "" THEN
		READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT=""
		READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CLE[1,5] ELSE ENR_CONTRAT=""
	END ELSE
		READ ENR_CONTRAT FROM F.CONTRAT,W_ANCCODE ELSE ENR_CONTRAT=""
		READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_ANCIENCODE ELSE ENR_CONTRAT=""
	END

	IF ENR_CONTRAT<4>="D" THEN
		W_CDD=W_CDD+1
	END ELSE
		W_CDI=W_CDI+1
	END
	IF ENR_CIVILAIDANT<16>="F" THEN
		W_FEMME=W_FEMME+1
	END ELSE
		W_HOMME=W_HOMME+1
	END

	IF INT((W_DATEFININT-ENR_CIVILAIDANT<26>)) < INT("10950") THEN
		W_MOINS30ANS=W_MOINS30ANS+1
	END ELSE
		IF INT((W_DATEFININT-ENR_CIVILAIDANT<26>)) > INT("18250") THEN
			W_PLUS50ANS=W_PLUS50ANS+1
		END
	END
	W_ANCIENCODE=W_CLE[1,5]
	W_ANCCODE=W_CLE[1,8]
   	W_COMPTEUR=W_COMPTEUR+1
    END
REPEAT
PRINT "NOMBRE DE SALARIES PRESTATAIRES DU DEP            ":W_DEP:" AU ":W_DATEFIN:" ":W_COMPTEUR
W_HRESFACT=W_HRESFACT/100
W_HRESFACT=W_HRESFACT "R2"
PRINT "NOMBRE D'HEURES FACTUREES PRESTATAIRE DU DEP      ":W_DEP:" AU ":W_DATEFIN:" ":W_HRESFACT
PRINT "NOMBRE DE CONTRAT CDD DU DEP                      ":W_DEP:" AU ":W_DATEFIN:" ":W_CDD
PRINT "NOMBRE DE CONTRAT CDI DU DEP                      ":W_DEP:" AU ":W_DATEFIN:" ":W_CDI
PRINT "NOMBRE DE FEMMES SOUS CONTRAT DU DEP              ":W_DEP:" AU ":W_DATEFIN:" ":W_FEMME
PRINT "NOMBRE D'HOMMES SOUS CONTRAT  DU DEP              ":W_DEP:" AU ":W_DATEFIN:" ":W_HOMME
PRINT "NOMBRE DE PERS DE + DE 50 ANS SOUS CONTRAT DU DEP ":W_DEP:" AU ":W_DATEFIN:" ":W_PLUS50ANS
PRINT "NOMBRE DE PERS DE - DE 30 ANS SOUS CONTRAT DU DEP ":W_DEP:" AU ":W_DATEFIN:" ":W_MOINS30ANS
PRINT ""

****************************************************************************************************
* COMPTE LE NB DE SALARIE AU COURS DE L'ANNEE
****************************************************************************************************

EXECUTE 'SELECT DETAILCALCUL AVEC @ID>="[':W_PERIODEDEB:'" AND <= "[':W_PERIODEFIN:'" AND AVEC ConvColContratDetailCalcul # "02" AND AVEC TypePersonnel = "P" PAR CodPosAidant PAR @ID'
W_FINI="FAUX"
W_COMPTEUR=0
W_ANCIENCODE=""
W_DEP=""
LOOP
   READNEXT W_CLE ELSE W_FINI="VRAI"
WHILE W_FINI="FAUX" DO
	READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT=""
    	READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CLE[1,5] ELSE ENR_CIVILAIDANT= ""
	W_DEP1=ENR_CIVILAIDANT<10>[1,2]
	IF W_DEP1<>W_DEP THEN
		IF W_DEP= "" THEN
			W_DEP=W_DEP1
		END ELSE
			PRINT "NOMBRE DE SALARIES PRESTATAIRES DU DEP            ":W_DEP:" ":W_COMPTEUR
			W_DEP=W_DEP1
			W_COMPTEUR=0
		END
	END
    IF W_ANCIENCODE # W_CLE[1,5] THEN
	W_ANCIENCODE=W_CLE[1,5]
	W_ANCCODE=W_CLE[1,8]
   	W_COMPTEUR=W_COMPTEUR+1
    END
REPEAT
PRINT "NOMBRE DE SALARIES PRESTATAIRES DU DEP            ":W_DEP:" ":W_COMPTEUR
PRINT ""
********************************************************************************************
* COMPTE SALARIES EXCLUSIF PREST ET MAND ET COMUNS
********************************************************************************************

*W_PERIODEDEB= "01/":W_PERIODEDEB[5,2]:"/":W_PERIODEDEB[1,4]
*W_MOISFIN=W_PERIODEFIN[5,2]
*W_ANNEEFIN=W_PERIODEFIN[1,4]
*W_MOISFIN=W_MOISFIN+1
*IF W_MOISFIN="13"THEN
*	W_MOISFIN="01"
*	W_ANNEEFIN=W_ANNEEFIN+1
*END
*
*W_MOISFIN=W_MOISFIN "R(%2)"
*W_PERIODEFIN="01/":W_MOISFIN:"/":W_ANNEEFIN
*W_PERIODEFIN=ICONV(W_PERIODEFIN,"D4/")
*W_PERIODEFIN=W_PERIODEFIN-1
*W_PERIODEFIN=OCONV(W_PERIODEFIN,"D4/")
*EXECUTE 'SELECT CONTRAT AVEC DatDebContrat <= "':W_PERIODEFIN:'" AND AVEC 6 = "P" AND AVEC DatFinContrat >= "':W_PERIODEDEB:'" OR = "" PAR CodPosAidant PAR @ID'
*EXECUTE 'SELECT DETAILCALCUL AVEC @ID <= "[':W_PERIODEFIN:'" AND AVEC TypePersonnel = "P" AND AVEC @ID >= "[':W_PERIODEDEB:'" OR = "" PAR CodPosAidant PAR @ID'
EXECUTE 'SELECT DETAILCALCUL AVEC @ID>="[':W_PERIODEDEB:'" AND <= "[':W_PERIODEFIN:'" AND AVEC TypePersonnel = "P" PAR CodPosAidant PAR @ID'
W_FINI="FAUX"
W_MAND="FAUX"
W_PREST="FAUX"
W_COMPTEUR=0
W_COMPTMAND=0
W_COMPTPREST=0
W_PRESTMAND=0
W_ANCIENCODE=""
W_DEP=""

LOOP
   READNEXT W_CLE ELSE W_FINI="VRAI"
WHILE W_FINI="FAUX" DO
	READ ENR_CONTRAT FROM F.CONTRAT,W_CLE[1,8] ELSE ENR_CONTRAT =""
    	READ ENR_CIVILAIDANT FROM F.CIVILAIDANT,W_CLE[1,5] ELSE ENR_CIVILAIDANT= ""
	W_DEP1=ENR_CIVILAIDANT<10>[1,2]
    IF W_ANCIENCODE="" THEN
        W_ANCIENCODE=W_CLE[1,5]
    END	
    IF W_ANCIENCODE # W_CLE[1,5] THEN
	IF W_MAND="VRAI" THEN
		IF W_PREST="VRAI" THEN
			W_PRESTMAND=W_PRESTMAND+1
		END ELSE
			W_COMPTMAND=W_COMPTMAND+1
		END
	END ELSE
		W_COMPTPREST=W_COMPTPREST+1
	END
	W_ANCIENCODE=W_CLE[1,5]
	W_MAND="FAUX"
	W_PREST="FAUX"
    END
	IF W_DEP1<>W_DEP THEN
		IF W_DEP= "" THEN
			W_DEP=W_DEP1
			W_ANCIENCODE=W_CLE[1,5]
		END ELSE
			PRINT "NOMBRE DE SALARIES EXCLUSIFS PRESTATAIRES DU DEP ":W_DEP:" ":W_COMPTPREST
			PRINT "NOMBRE DE SALARIES EXCLUSIFS MANDATAIRES  DU DEP ":W_DEP:" ":W_COMPTMAND
			PRINT "NOMBRE DE SALARIES COMMUNS DU DEP                ":W_DEP:" ":W_PRESTMAND
			W_DEP=W_DEP1
			W_COMPTMAND=0
			W_COMPTPREST=0
			W_PRESTMAND=0
			W_ANCIENCODE=W_CLE[1,5]
		END
	END

	IF ENR_CONTRAT<1>="02" THEN
		W_MAND="VRAI"
	END ELSE
		W_PREST="VRAI"
	END


REPEAT
	IF W_MAND="VRAI" THEN
		IF W_PREST="VRAI" THEN
			W_PRESTMAND=W_PRESTMAND+1
		END ELSE
			W_COMPTMAND=W_COMPTMAND+1
		END
	END ELSE
		W_COMPTPREST=W_COMPTPREST+1
	END
PRINT "NOMBRE DE SALARIES EXCLUSIFS PRESTATAIRES DU DEP ":W_DEP:" ":W_COMPTPREST
PRINT "NOMBRE DE SALARIES EXCLUSIFS MANDATAIRES  DU DEP ":W_DEP:" ":W_COMPTMAND
PRINT "NOMBRE DE SALARIES COMMUNS DU DEP                ":W_DEP:" ":W_PRESTMAND
PRINT ""

STOP



