Skip to content

Commit 35a1845

Browse files
committed
feat: finish migrate otherModeQuestionaire Table
1 parent 6d3a5d4 commit 35a1845

File tree

54 files changed

+1483
-86
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1483
-86
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package fr.insee.pearljam.api.domain;
2+
3+
import com.fasterxml.jackson.annotation.JsonIgnore;
4+
import jakarta.persistence.*;
5+
import lombok.Getter;
6+
import lombok.NoArgsConstructor;
7+
import lombok.Setter;
8+
9+
import java.time.LocalDateTime;
10+
11+
@Entity
12+
@Table
13+
@NoArgsConstructor
14+
@Getter
15+
@Setter
16+
public class OtherModeQuestionnaireState {
17+
@Id
18+
@GeneratedValue(strategy = GenerationType.IDENTITY)
19+
@Column(length = 50)
20+
private String id;
21+
22+
@Column
23+
private String state;
24+
25+
@Column(name = "date", insertable = false, updatable = false)
26+
private LocalDateTime date;
27+
28+
@ManyToOne
29+
@JsonIgnore
30+
private SurveyUnit surveyUnit;
31+
}

api/src/main/java/fr/insee/pearljam/api/domain/SurveyUnit.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,9 @@ public class SurveyUnit implements Serializable {
9999
"surveyUnit", orphanRemoval = true)
100100
private IdentificationDB identification;
101101

102+
@OneToMany(fetch = FetchType.EAGER, targetEntity = OtherModeQuestionnaireState.class, cascade = CascadeType.ALL, mappedBy = "surveyUnit", orphanRemoval = true)
103+
private Set<OtherModeQuestionnaireState> otherModeQuestionnaireState;
104+
102105
/**
103106
* The Campaign of SurveyUnit
104107
*/
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package fr.insee.pearljam.api.dto.otherModeQuestionnaire;
2+
3+
public record OtherModeQuestionnaireDto(String surveyUnitId, String type) {
4+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package fr.insee.pearljam.api.repository;
2+
3+
import fr.insee.pearljam.api.domain.OtherModeQuestionnaireState;
4+
import org.springframework.data.jpa.repository.JpaRepository;
5+
6+
public interface OtherModeQuestionnaireRepository extends JpaRepository<OtherModeQuestionnaireState, String> {
7+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package fr.insee.pearljam.api.service.impl;
2+
3+
import fr.insee.pearljam.api.domain.OtherModeQuestionnaireState;
4+
import fr.insee.pearljam.api.repository.OtherModeQuestionnaireRepository;
5+
import fr.insee.pearljam.api.repository.SurveyUnitRepository;
6+
import fr.insee.pearljam.domain.surveyunit.model.OtherModeQuestionnaire;
7+
import fr.insee.pearljam.domain.surveyunit.port.serverside.OtherModeQuestionnaireService;
8+
import lombok.RequiredArgsConstructor;
9+
import lombok.extern.slf4j.Slf4j;
10+
import org.springframework.stereotype.Service;
11+
import org.springframework.transaction.annotation.Transactional;
12+
13+
@Service
14+
@Transactional
15+
@Slf4j
16+
@RequiredArgsConstructor
17+
public class OtherModeQuestionnaireServiceImpl implements OtherModeQuestionnaireService {
18+
19+
private final OtherModeQuestionnaireRepository repository;
20+
private final SurveyUnitRepository surveyUnitRepository;
21+
22+
23+
@Override
24+
public void addOtherModeQuestionnaire(OtherModeQuestionnaire otherModeQuestionnaire) {
25+
var surveyUnit = surveyUnitRepository.findById(otherModeQuestionnaire.surveyUnitId());
26+
var otherModeQuestionnaireState = new OtherModeQuestionnaireState();
27+
otherModeQuestionnaireState.setState(otherModeQuestionnaire.type());
28+
if(surveyUnit.isPresent()){
29+
otherModeQuestionnaireState.setSurveyUnit(surveyUnit.get());
30+
this.repository.save(otherModeQuestionnaireState);
31+
}
32+
}
33+
}

api/src/main/java/fr/insee/pearljam/api/surveyunit/dto/SurveyUnitInterviewerResponseDto.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.fasterxml.jackson.annotation.JsonInclude;
44
import fr.insee.pearljam.api.bussinessrules.BusinessRules;
55
import fr.insee.pearljam.api.campaign.dto.output.CommunicationTemplateResponseDto;
6+
import fr.insee.pearljam.api.domain.OtherModeQuestionnaireState;
67
import fr.insee.pearljam.api.domain.State;
78
import fr.insee.pearljam.api.domain.SurveyUnit;
89
import fr.insee.pearljam.api.dto.address.AddressDto;
@@ -16,6 +17,7 @@
1617

1718
import java.util.Comparator;
1819
import java.util.List;
20+
import java.util.Set;
1921

2022
@JsonInclude(JsonInclude.Include.NON_NULL)
2123
public record SurveyUnitInterviewerResponseDto(
@@ -35,7 +37,8 @@ public record SurveyUnitInterviewerResponseDto(
3537
List<CommunicationTemplateResponseDto> communicationTemplates,
3638
List<CommunicationRequestResponseDto> communicationRequests,
3739
PreviousContactHistoryDto previousContactHistory,
38-
NextContactHistoryDto nextContactHistory
40+
NextContactHistoryDto nextContactHistory,
41+
Set<OtherModeQuestionnaireState> otherModeQuestionnaireState
3942
) {
4043

4144
public static SurveyUnitInterviewerResponseDto fromModel(SurveyUnitForInterviewer surveyUnitForInterviewer) {
@@ -75,6 +78,6 @@ public static SurveyUnitInterviewerResponseDto fromModel(SurveyUnitForInterviewe
7578
IdentificationDto.fromModel(surveyUnit.getModelIdentification()),
7679
CommunicationTemplateResponseDto.fromModel(surveyUnitForInterviewer.communicationTemplates()),
7780
CommunicationRequestResponseDto.fromModel(surveyUnit.getModelCommunicationRequests()),
78-
previousContactHistory, nextContactHistory);
81+
previousContactHistory, nextContactHistory, surveyUnit.getOtherModeQuestionnaireState());
7982
}
8083
}

api/src/main/java/fr/insee/pearljam/api/surveyunit/dto/identification/HouseF2FIdentificationDto.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ public record HouseF2FIdentificationDto
99
AccessQuestionValue access,
1010
SituationQuestionValue situation,
1111
CategoryQuestionValue category,
12-
OccupantQuestionValue occupant) implements IdentificationDto {
12+
OccupantQuestionValue occupant,
13+
Boolean demenagementWeb,
14+
Boolean demenagementEnqueteur) implements IdentificationDto {
1315

1416

1517
/**
@@ -26,6 +28,8 @@ public Identification toModel() {
2628
.situation(situation)
2729
.category(category)
2830
.occupant(occupant)
31+
.demenagementWeb(demenagementWeb)
32+
.demenagementEnqueteur(demenagementEnqueteur)
2933
.build();
3034
}
3135

@@ -42,7 +46,9 @@ public static HouseF2FIdentificationDto fromModel(Identification identification)
4246
identification.access(),
4347
identification.situation(),
4448
identification.category(),
45-
identification.occupant()
49+
identification.occupant(),
50+
identification.demenagementWeb(),
51+
identification.demenagementEnqueteur()
4652
);
4753
}
4854
}

api/src/main/java/fr/insee/pearljam/api/surveyunit/dto/identification/HouseTelIdentificationDto.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
public record HouseTelIdentificationDto
88
(
99
SituationQuestionValue situation,
10-
CategoryQuestionValue category) implements IdentificationDto {
10+
CategoryQuestionValue category,
11+
Boolean demenagementWeb,
12+
Boolean demenagementEnqueteur) implements IdentificationDto {
1113

1214

1315
/**
@@ -22,6 +24,8 @@ public Identification toModel() {
2224
.identificationType(IdentificationType.HOUSETEL)
2325
.situation(situation)
2426
.category(category)
27+
.demenagementWeb(demenagementWeb)
28+
.demenagementEnqueteur(demenagementEnqueteur)
2529
.build();
2630
}
2731

@@ -35,7 +39,9 @@ public static HouseTelIdentificationDto fromModel(Identification identification)
3539

3640
return new HouseTelIdentificationDto(
3741
identification.situation(),
38-
identification.category()
42+
identification.category(),
43+
identification.demenagementWeb(),
44+
identification.demenagementEnqueteur()
3945
);
4046
}
4147
}

api/src/main/java/fr/insee/pearljam/api/surveyunit/dto/identification/IndividualF2FIdentificationDto.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ public record IndividualF2FIdentificationDto
99
(
1010
IndividualStatusQuestionValue individualStatus,
1111
InterviewerCanProcessQuestionValue interviewerCanProcess,
12-
SituationQuestionValue situation) implements IdentificationDto {
12+
SituationQuestionValue situation,
13+
Boolean demenagementWeb,
14+
Boolean demenagementEnqueteur) implements IdentificationDto {
1315

1416

1517
/**
@@ -23,6 +25,8 @@ public Identification toModel() {
2325
.individualStatus(individualStatus)
2426
.interviewerCanProcess(interviewerCanProcess)
2527
.situation(situation)
28+
.demenagementWeb(demenagementWeb)
29+
.demenagementEnqueteur(demenagementEnqueteur)
2630
.build();
2731
}
2832

@@ -37,7 +41,9 @@ public static IndividualF2FIdentificationDto fromModel(Identification identifica
3741
return new IndividualF2FIdentificationDto(
3842
identification.individualStatus(),
3943
identification.interviewerCanProcess(),
40-
identification.situation()
44+
identification.situation(),
45+
identification.demenagementWeb(),
46+
identification.demenagementEnqueteur()
4147
);
4248
}
4349
}

api/src/main/java/fr/insee/pearljam/api/surveyunit/dto/identification/IndividualTelIdentificationDto.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
public record IndividualTelIdentificationDto
99
(IndividualStatusQuestionValue individualStatus,
10-
SituationQuestionValue situation) implements IdentificationDto {
10+
SituationQuestionValue situation,
11+
Boolean demenagementWeb,
12+
Boolean demenagementEnqueteur) implements IdentificationDto {
1113

1214

1315
/**
@@ -21,6 +23,8 @@ public Identification toModel() {
2123
.identificationType(IdentificationType.INDTEL)
2224
.individualStatus(individualStatus)
2325
.situation(situation)
26+
.demenagementWeb(demenagementWeb)
27+
.demenagementEnqueteur(demenagementEnqueteur)
2428
.build();
2529
}
2630

@@ -34,7 +38,9 @@ public static IndividualTelIdentificationDto fromModel(Identification identifica
3438

3539
return new IndividualTelIdentificationDto(
3640
identification.individualStatus(),
37-
identification.situation()
41+
identification.situation(),
42+
identification.demenagementWeb(),
43+
identification.demenagementEnqueteur()
3844
);
3945
}
4046
}

0 commit comments

Comments
 (0)