Skip to content

Commit

Permalink
[SELC-5334] Feat: Refactor csv fields position (#435)
Browse files Browse the repository at this point in the history
  • Loading branch information
flaminiaScarciofolo authored Aug 5, 2024
1 parent 15010e6 commit 4fbce8b
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package it.pagopa.selfcare.onboarding.controller.request;

import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

@Data
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ public class CsvAggregate {
@CsvBindByPosition(position = 1)
private String description;
@CsvBindByPosition(position = 2)
private String subunitCode;
private String vatNumber;
@CsvBindByPosition(position = 3)
private String subunitType;
@CsvBindByPosition(position = 4)
private String geoTaxonomy;
private String subunitCode;
@CsvBindByPosition(position = 5)
private String address;
@CsvBindByPosition(position = 6)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,9 @@ public class AggregatesServiceDefault implements AggregatesService{
public static final String ERROR_DESCRIPTION = "La ragione sociale è obbligatoria";
public static final String ERROR_SUBUNIT_TYPE = "SubunitType non valido";

public static final String ERROR_AOO_UO = "In caso di AOO/UO è necessario specificare la tipologia e il codice univoco IPA AOO/UO";
public static final String ERROR_VATNUMBER = "La partita IVA è obbligatoria";

@Override
public Uni<VerifyAggregateResponse> validateAggregatesCsv(File file){
AggregatesCsvResponse aggregatesCsvResponse = readItemsFromCsv(file);
Expand Down Expand Up @@ -119,6 +122,11 @@ private Uni<Void> checkRequiredFields(CsvAggregate csvAggregate) {
return Uni.createFrom().failure(new InvalidRequestException(ERROR_TAXCODE));
} else if (StringUtils.isEmpty(csvAggregate.getDescription())) {
return Uni.createFrom().failure(new InvalidRequestException(ERROR_DESCRIPTION));
} else if (StringUtils.isEmpty(csvAggregate.getVatNumber())) {
return Uni.createFrom().failure(new InvalidRequestException(ERROR_VATNUMBER));
} else if ((StringUtils.isEmpty(csvAggregate.getSubunitType()) && StringUtils.isNotEmpty(csvAggregate.getSubunitCode()))
|| (StringUtils.isNotEmpty(csvAggregate.getSubunitType()) && StringUtils.isEmpty(csvAggregate.getSubunitCode()))) {
return Uni.createFrom().failure(new InvalidRequestException(ERROR_AOO_UO));
}
return Uni.createFrom().voidItem();
}
Expand All @@ -137,8 +145,10 @@ public AggregatesCsvResponse readItemsFromCsv(File file) {
String nextLine;

while ((nextLine = bufferedReader.readLine()) != null) {
parseLine(nextLine, lineNumber, resultList, errors);
lineNumber++;
if(!nextLine.startsWith("(*")){
parseLine(nextLine, lineNumber, resultList, errors);
lineNumber++;
}
}

return new AggregatesCsvResponse(resultList, errors);
Expand Down
14 changes: 7 additions & 7 deletions apps/onboarding-ms/src/test/resources/aggregates.csv
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
codice fiscale,Ragione Sociale,subunitCode,subunitType,Area Geografica,Sede,Codice IPA
1437190414;Servizi turistici e culturali;AQ66UML;AOO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
00297110389;SAN LEO 2000 SERVIZI TURISTICI SRL;;;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
4551120274;Progetto Tiburtina;KNDJE4;UO;;Via Torino 186;00L7M4KW
4551120275;;;;;Via Torino 186;00L7M4KW
;Servizi turistici e culturali;AQ66UML;AOO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
1437190414;Servizi turistici e culturali;123456456;AQ66UML;AOO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
00297110389;SAN LEO 2000 SERVIZI TURISTICI SRL;123456456;;;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
4551120274;Progetto Tiburtina;123456456;KNDJE4;UO;;Via Torino 186;00L7M4KW
4551120275;;;;;;Via Torino 186;00L7M4KW
;Servizi turistici e culturali;123456456;AQ66UML;AOO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
4551120275;Servizi turistici e culturali;AQ66;AOO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
4551120275;Servizi turistici e culturali;AQ66;UO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
345645;Servizi turistici e culturali;;;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
345645;Servizi turistici e culturali;123;AEO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
345645;Servizi turistici e culturali;123456456;;UO;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA
345645;Servizi turistici e culturali;123456456;123;;;PIAZZA DANTE ALIGHIERI 14;02IKT4NA

0 comments on commit 4fbce8b

Please sign in to comment.