@@ -22,7 +22,6 @@ interface RawJeune {
22
22
}
23
23
24
24
enum SEGMENTS {
25
- CAMPAGNE_NON_REPONDUE = 'CAMPAGNE_NON_REPONDUE' ,
26
25
JEUNES_MILO = 'JEUNES_MILO' ,
27
26
JEUNES_POLE_EMPLOI = 'JEUNES_POLE_EMPLOI' ,
28
27
JEUNES_POLE_EMPLOI_BRSA = 'JEUNES_POLE_EMPLOI_BRSA' ,
@@ -55,8 +54,6 @@ export class MajSegmentsJobHandler extends JobHandler<Job> {
55
54
56
55
const segments : Map < string , string [ ] > = new Map < string , string [ ] > ( )
57
56
const nbJeunes = await this . handleSegmentJeunes ( segments )
58
- const nbCampagnesNonRepondues =
59
- await this . handleSegmentCampagneNonRepondue ( segments )
60
57
61
58
this . writeMemberships ( segments , maintenant )
62
59
await this . bigqueryClient . loadData (
@@ -75,7 +72,7 @@ export class MajSegmentsJobHandler extends JobHandler<Job> {
75
72
succes : true ,
76
73
dateExecution : maintenant ,
77
74
tempsExecution : DateService . calculerTempsExecution ( maintenant ) ,
78
- resultat : { nbJeunes, nbCampagnesNonRepondues }
75
+ resultat : { nbJeunes }
79
76
}
80
77
} catch ( e ) {
81
78
this . logger . error ( e )
@@ -91,33 +88,6 @@ export class MajSegmentsJobHandler extends JobHandler<Job> {
91
88
}
92
89
}
93
90
94
- async fetchJeunesCEJInstanceIdNayantPasReponduAUneCampagneActive ( ) : Promise <
95
- RawJeune [ ]
96
- > {
97
- const sqlCampagneEnCours = `select id
98
- from campagne
99
- where date_debut < now()
100
- and date_fin > now()`
101
- const campagnesEnCours = await this . sequelize . query ( sqlCampagneEnCours , {
102
- type : QueryTypes . SELECT
103
- } )
104
- if ( ! campagnesEnCours . length ) {
105
- return [ ]
106
- }
107
-
108
- const sql = `select instance_id, structure
109
- from jeune
110
- where instance_id is not null
111
- and (structure = 'POLE_EMPLOI' OR structure = 'MILO' OR structure = 'POLE_EMPLOI_BRSA')
112
- and id not in (select id_jeune
113
- from reponse_campagne
114
- where id_campagne in
115
- (select id from campagne where date_debut < now() and date_fin > now()))`
116
- return this . sequelize . query ( sql , {
117
- type : QueryTypes . SELECT
118
- } )
119
- }
120
-
121
91
async fetchJeunes ( ) : Promise < RawJeune [ ] > {
122
92
const sql = `select instance_id, structure
123
93
from jeune
@@ -129,38 +99,26 @@ export class MajSegmentsJobHandler extends JobHandler<Job> {
129
99
130
100
writeMetadata ( ) : void {
131
101
const metadataWriteStream = createWriteStream ( metadataFile )
132
- const metadatas = [
133
- {
134
- segment_label : SEGMENTS . CAMPAGNE_NON_REPONDUE ,
135
- display_name : 'Campagne non répondue'
136
- } ,
137
- {
138
- segment_label : SEGMENTS . JEUNES_MILO ,
139
- display_name : 'Jeunes MILO'
140
- } ,
141
- {
142
- segment_label : SEGMENTS . JEUNES_POLE_EMPLOI ,
143
- display_name : 'Jeunes POLE EMPLOI'
144
- } ,
145
- {
146
- segment_label : SEGMENTS . JEUNES_POLE_EMPLOI_BRSA ,
147
- display_name : 'Jeunes POLE EMPLOI BRSA'
148
- } ,
149
- {
150
- segment_label : SEGMENTS . JEUNES_POLE_EMPLOI_AIJ ,
151
- display_name : 'Jeunes POLE EMPLOI AIJ'
152
- } ,
153
- {
154
- segment_label : SEGMENTS . JEUNES_POLE_EMPLOI_CD ,
155
- display_name : 'Jeunes POLE EMPLOI CD'
156
- } ,
157
- {
158
- segment_label : SEGMENTS . JEUNES_POLE_EMPLOI_AVENIR_PRO ,
159
- display_name : 'Lycéens POLE EMPLOI Avenir Pro'
160
- }
161
- ]
162
- metadatas . forEach ( metadata => {
163
- metadataWriteStream . write ( JSON . stringify ( metadata ) + NEW_LINE )
102
+ const metadatas : { [ key in SEGMENTS ] : string } = {
103
+ [ SEGMENTS . JEUNES_MILO ] : 'Jeunes MILO' ,
104
+ [ SEGMENTS . JEUNES_POLE_EMPLOI ] : 'Jeunes POLE EMPLOI' ,
105
+ [ SEGMENTS . JEUNES_POLE_EMPLOI_BRSA ] : 'Jeunes POLE EMPLOI BRSA' ,
106
+ [ SEGMENTS . JEUNES_POLE_EMPLOI_AIJ ] : 'Jeunes POLE EMPLOI AIJ' ,
107
+ [ SEGMENTS . JEUNES_POLE_EMPLOI_CD ] : 'Jeunes POLE EMPLOI CD' ,
108
+ [ SEGMENTS . JEUNES_POLE_EMPLOI_AVENIR_PRO ] :
109
+ 'Lycéens POLE EMPLOI Avenir Pro' ,
110
+ [ SEGMENTS . BENEFICIAIRES_FRANCE_TRAVAIL_ACCOMPAGNEMENT_INTENSIF ] :
111
+ 'Bénéficiaires France Travail Accompagnement intensif' ,
112
+ [ SEGMENTS . BENEFICIAIRES_FRANCE_TRAVAIL_ACCOMPAGNEMENT_GLOBAL ] :
113
+ 'Bénéficiaires France Travail Accompagnement global' ,
114
+ [ SEGMENTS . BENEFICIAIRES_FRANCE_TRAVAIL_EQUIP_EMPLOI_RECRUT ] :
115
+ 'Bénéficiaires France Travail Equip’emploi / Equip’recrut'
116
+ }
117
+
118
+ Object . entries ( metadatas ) . forEach ( ( [ key , value ] ) => {
119
+ metadataWriteStream . write (
120
+ JSON . stringify ( { segment_label : key , display_name : value } ) + NEW_LINE
121
+ )
164
122
} )
165
123
metadataWriteStream . end ( )
166
124
}
@@ -214,21 +172,6 @@ export class MajSegmentsJobHandler extends JobHandler<Job> {
214
172
}
215
173
}
216
174
217
- async handleSegmentCampagneNonRepondue (
218
- segments : Map < string , string [ ] >
219
- ) : Promise < number > {
220
- const jeunes : RawJeune [ ] =
221
- await this . fetchJeunesCEJInstanceIdNayantPasReponduAUneCampagneActive ( )
222
- jeunes . forEach ( jeune => {
223
- this . addOrSetSegment (
224
- segments ,
225
- jeune . instance_id ,
226
- SEGMENTS . CAMPAGNE_NON_REPONDUE
227
- )
228
- } )
229
- return jeunes . length
230
- }
231
-
232
175
addOrSetSegment (
233
176
segments : Map < string , string [ ] > ,
234
177
instanceId : string ,
0 commit comments