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
*/