Commits

Thomas Klemmensen authored ea8906a44dd
SDS-8275: Mindre rettelse til DAO, så vi kun kigger på registreringer, hvor VALIDTO ikke er sat.
No tags

odr-common/src/main/java/dk/sundhedsdatastyrelsen/organdonor/dao/impl/OrganDonorDAOImpl.java

Modified
161 161 @Override
162 162 public List<String> getPersonIdBatch(String personIdPrefix) {
163 163 final String query = "SELECT DISTINCT PersonIdentifier FROM "+ getTableName() +" WHERE PersonIdentifier LIKE :prefix";
164 164
165 165 MapSqlParameterSource parameters = new MapSqlParameterSource();
166 166 parameters.addValue("prefix", personIdPrefix + "%");
167 167
168 168 return namedParamJdbcTemplate.queryForList(query, parameters, String.class);
169 169 }
170 170
171 + @Override
172 + public List<String> getValidPersonIdBatch(String personIdPrefix) {
173 + final String query = "SELECT DISTINCT PersonIdentifier FROM "+ getTableName() +" WHERE PersonIdentifier LIKE :prefix AND ValidTo is null";
174 +
175 + MapSqlParameterSource parameters = new MapSqlParameterSource();
176 + parameters.addValue("prefix", personIdPrefix + "%");
177 +
178 + return namedParamJdbcTemplate.queryForList(query, parameters, String.class);
179 + }
180 +
171 181 @Override
172 182 public int deleteEntriesByPersonIdBatch(List<String> personIds) {
173 183 if(personIds.isEmpty()){
174 184 return 0;
175 185 }
176 186 final String update = "DELETE FROM " + getTableName() + " WHERE PersonIdentifier IN (:personIds)";
177 187
178 188 MapSqlParameterSource parameters = new MapSqlParameterSource();
179 189 parameters.addValue("personIds", personIds);
180 190
181 191 log.trace(String.format("Executing deleteEntriesByPersonIdBatch with update: %s", update));
182 192
183 193 return namedParamJdbcTemplate.update(update, parameters);
184 194 }
185 195
186 196 @Override
187 197 public int updateEntriesByPersonIdBatch(List<String> personIds, Instant nowTimestamp) {
188 198 if(personIds.isEmpty()){
189 199 return 0;
190 200 }
191 - final String update = "UPDATE " + getTableName() + " SET ValidTo = :validTo WHERE PersonIdentifier IN (:personIds)";
201 + final String update = "UPDATE " + getTableName() + " SET ValidTo = :validTo WHERE PersonIdentifier IN (:personIds) AND ValidTo is null";
192 202
193 203 MapSqlParameterSource parameters = new MapSqlParameterSource();
194 204 parameters.addValue("validTo", Timestamp.from(nowTimestamp), Types.TIMESTAMP);
195 205 parameters.addValue("personIds", personIds);
196 206
197 207 log.trace(String.format("Executing updateEntriesByPersonIdBatch with update: %s", update));
198 208
199 209 return namedParamJdbcTemplate.update(update, parameters);
200 210 }
201 211

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut