From 5b4533dc9257f2592424382115f1babf6d7802f0 Mon Sep 17 00:00:00 2001 From: Betty Becuwe <77614323+BettyB979@users.noreply.github.com> Date: Fri, 23 Feb 2024 10:33:18 +0100 Subject: [PATCH] feat: add set data to empty for platine batch (#51) * feat: add set data to empty for platine batch --- pom.xml | 4 ++-- src/main/java/fr/insee/queen/batch/dao/DataDao.java | 6 ++++++ .../insee/queen/batch/dao/impl/jpa/DataDaoJpaImpl.java | 9 +++++++++ .../queen/batch/dao/mongo/impl/DataDaoMongoImpl.java | 5 +++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index b1fd2c8..618a8d2 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 fr.insee.queen queen-batch - 4.2.1 + 4.2.2 jar QueenBatch Queen Batch @@ -164,7 +164,7 @@ - + diff --git a/src/main/java/fr/insee/queen/batch/dao/DataDao.java b/src/main/java/fr/insee/queen/batch/dao/DataDao.java index e105461..5101dde 100644 --- a/src/main/java/fr/insee/queen/batch/dao/DataDao.java +++ b/src/main/java/fr/insee/queen/batch/dao/DataDao.java @@ -42,6 +42,12 @@ public interface DataDao { */ int deleteDataBySurveyUnitIds(List lstSu); + /** + * Set data to empty json for a list of SU + * @param lstSu + */ + int setDataToEmptyBySurveyUnitIds(List lstSu); + /** * Delete data by a campaign Id * @param campaignId diff --git a/src/main/java/fr/insee/queen/batch/dao/impl/jpa/DataDaoJpaImpl.java b/src/main/java/fr/insee/queen/batch/dao/impl/jpa/DataDaoJpaImpl.java index e819852..e106e5b 100644 --- a/src/main/java/fr/insee/queen/batch/dao/impl/jpa/DataDaoJpaImpl.java +++ b/src/main/java/fr/insee/queen/batch/dao/impl/jpa/DataDaoJpaImpl.java @@ -71,6 +71,15 @@ public int deleteDataBySurveyUnitIds(List lstSu) { return jdbcTemplate.update(qString, lstSu.toArray()); } + @Override + public int setDataToEmptyBySurveyUnitIds(List lstSu) { + String values = lstSu.stream().map(id->"?").collect(Collectors.joining(",")); + StringBuilder qStringBuilder = new StringBuilder("UPDATE data SET value='{}'::jsonb ") + .append("WHERE survey_unit_id in (%s)"); + String qString = String.format(qStringBuilder.toString(), values); + return jdbcTemplate.update(qString, lstSu.toArray()); + } + /** * Delete data for a campaign */ diff --git a/src/main/java/fr/insee/queen/batch/dao/mongo/impl/DataDaoMongoImpl.java b/src/main/java/fr/insee/queen/batch/dao/mongo/impl/DataDaoMongoImpl.java index f3cb029..009db1f 100644 --- a/src/main/java/fr/insee/queen/batch/dao/mongo/impl/DataDaoMongoImpl.java +++ b/src/main/java/fr/insee/queen/batch/dao/mongo/impl/DataDaoMongoImpl.java @@ -73,6 +73,11 @@ public int deleteDataBySurveyUnitIds(List lstSu) { return nb.get(); } + @Override + public int setDataToEmptyBySurveyUnitIds(List lstSu) { + return 0; + } + /** * Delete the data for a Campaign id */