From d5ca6baab307542d2507d7c2c33e60dff18b202d Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Thu, 11 Aug 2022 14:41:08 +0200 Subject: [PATCH] FINERACt-1670: Fix fetching datetime in native queries --- .../SmsCampaignReadPlatformServiceImpl.java | 6 ++--- .../core/domain/JdbcSupport.java | 10 -------- .../gcm/domain/DeviceRegistrationData.java | 8 +++---- ...ceRegistrationReadPlatformServiceImpl.java | 8 +++---- .../teller/data/CashierTransactionData.java | 10 ++++---- ...llerManagementReadPlatformServiceImpl.java | 6 ++--- .../CalendarReadPlatformServiceImpl.java | 12 ++++------ .../FloatingRatesReadPlatformServiceImpl.java | 24 +++++++------------ .../service/NoteReadPlatformServiceImpl.java | 13 ++++------ .../fineract/spm/data/ScorecardValue.java | 12 +++++----- .../ScorecardReadPlatformServiceImpl.java | 4 ++-- 11 files changed, 44 insertions(+), 69 deletions(-) diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignReadPlatformServiceImpl.java index 08487917c..b802b19b2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/campaigns/sms/service/SmsCampaignReadPlatformServiceImpl.java @@ -81,7 +81,7 @@ public class SmsCampaignReadPlatformServiceImpl implements SmsCampaignReadPlatfo final boolean isVisible = true; try { final String sql = "select " + this.smsCampaignMapper.schema + " where sc.id = ? and sc.is_visible = ?"; - return this.jdbcTemplate.queryForObject(sql, this.smsCampaignMapper, new Object[] { campaignId, isVisible }); // NOSONAR + return this.jdbcTemplate.queryForObject(sql, this.smsCampaignMapper, campaignId, isVisible); // NOSONAR } catch (final EmptyResultDataAccessException e) { throw new SmsCampaignNotFound(campaignId, e); } @@ -89,7 +89,7 @@ public class SmsCampaignReadPlatformServiceImpl implements SmsCampaignReadPlatfo @Override public Page retrieveAll(final SearchParameters searchParameters) { - final Integer visible = 1; + final boolean visible = true; final StringBuilder sqlBuilder = new StringBuilder(200); sqlBuilder.append("select " + sqlGenerator.calcFoundRows() + " "); sqlBuilder.append(this.smsCampaignMapper.schema() + " where sc.is_visible = ? "); @@ -112,7 +112,7 @@ public class SmsCampaignReadPlatformServiceImpl implements SmsCampaignReadPlatfo sql = sql + " where sr.report_type = ?"; } final Collection businessRulesOptions = this.jdbcTemplate.query(sql, this.businessRuleMapper, // NOSONAR - new Object[] { reportType }); + reportType); final Collection smsProviderOptions = this.smsCampaignDropdownReadPlatformService.retrieveSmsProviders(); final Collection campaignTypeOptions = this.smsCampaignDropdownReadPlatformService.retrieveCampaignTypes(); final Collection campaignTriggerTypeOptions = this.smsCampaignDropdownReadPlatformService diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/JdbcSupport.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/JdbcSupport.java index 40f3c35f2..97e1e9bf4 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/JdbcSupport.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/core/domain/JdbcSupport.java @@ -24,7 +24,6 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetDateTime; import java.time.ZonedDateTime; @@ -48,15 +47,6 @@ public final class JdbcSupport { return dateTime; } - public static LocalDateTime getLocalDateTime(final ResultSet rs, final String columnName) throws SQLException { - LocalDateTime dateTime = null; - final Timestamp dateValue = rs.getTimestamp(columnName); - if (dateValue != null) { - dateTime = dateValue.toLocalDateTime(); - } - return dateTime; - } - public static LocalDate getLocalDate(final ResultSet rs, final String columnName) throws SQLException { LocalDate localDate = null; final Date dateValue = rs.getDate(columnName); diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java index 7498c1a1e..bb89e73a7 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/domain/DeviceRegistrationData.java @@ -18,7 +18,7 @@ */ package org.apache.fineract.infrastructure.gcm.domain; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; import org.apache.fineract.portfolio.client.data.ClientData; public final class DeviceRegistrationData { @@ -26,10 +26,10 @@ public final class DeviceRegistrationData { public Long id; public ClientData clientData; public String registrationId; - public LocalDateTime updatedOnDate; + public OffsetDateTime updatedOnDate; private DeviceRegistrationData(final Long id, final ClientData clientData, final String registrationId, - final LocalDateTime updatedOnDate) { + final OffsetDateTime updatedOnDate) { this.id = id; this.clientData = clientData; this.registrationId = registrationId; @@ -37,7 +37,7 @@ public final class DeviceRegistrationData { } public static DeviceRegistrationData instance(final Long id, final ClientData clientData, final String registrationId, - final LocalDateTime updatedOnDate) { + final OffsetDateTime updatedOnDate) { return new DeviceRegistrationData(id, clientData, registrationId, updatedOnDate); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/service/DeviceRegistrationReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/service/DeviceRegistrationReadPlatformServiceImpl.java index f1a980ccb..c21e0c844 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/service/DeviceRegistrationReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/infrastructure/gcm/service/DeviceRegistrationReadPlatformServiceImpl.java @@ -20,7 +20,7 @@ package org.apache.fineract.infrastructure.gcm.service; import java.sql.ResultSet; import java.sql.SQLException; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; import java.util.Collection; import org.apache.fineract.infrastructure.core.domain.JdbcSupport; import org.apache.fineract.infrastructure.gcm.domain.DeviceRegistrationData; @@ -66,7 +66,7 @@ public class DeviceRegistrationReadPlatformServiceImpl implements DeviceRegistra public DeviceRegistrationData mapRow(final ResultSet rs, @SuppressWarnings("unused") final int rowNum) throws SQLException { final Long id = JdbcSupport.getLong(rs, "id"); - final LocalDateTime updatedOnDate = JdbcSupport.getLocalDateTime(rs, "updatedOnDate"); + final OffsetDateTime updatedOnDate = JdbcSupport.getOffsetDateTime(rs, "updatedOnDate"); final String registrationId = rs.getString("registrationId"); final Long clientId = rs.getLong("clientId"); final String clientName = rs.getString("clientName"); @@ -89,7 +89,7 @@ public class DeviceRegistrationReadPlatformServiceImpl implements DeviceRegistra this.context.authenticatedUser(); DeviceRegistrationDataMapper drm = new DeviceRegistrationDataMapper(); String sql = "select " + drm.schema() + " where cdr.id = ? "; - return this.jdbcTemplate.queryForObject(sql, drm, new Object[] { id }); // NOSONAR + return this.jdbcTemplate.queryForObject(sql, drm, id); // NOSONAR } catch (final EmptyResultDataAccessException e) { throw new DeviceRegistrationNotFoundException(id, e); } @@ -101,7 +101,7 @@ public class DeviceRegistrationReadPlatformServiceImpl implements DeviceRegistra this.context.authenticatedUser(); DeviceRegistrationDataMapper drm = new DeviceRegistrationDataMapper(); String sql = "select " + drm.schema() + " where c.id = ? "; - return this.jdbcTemplate.queryForObject(sql, drm, new Object[] { clientId }); // NOSONAR + return this.jdbcTemplate.queryForObject(sql, drm, clientId); // NOSONAR } catch (final EmptyResultDataAccessException e) { throw new DeviceRegistrationNotFoundException(clientId, "client", e); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java index b1720ef64..b375b5d1c 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/data/CashierTransactionData.java @@ -21,7 +21,7 @@ package org.apache.fineract.organisation.teller.data; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDate; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; import java.util.Collection; import org.apache.fineract.organisation.monetary.data.CurrencyData; import org.apache.fineract.organisation.teller.domain.CashierTxnType; @@ -36,7 +36,7 @@ public final class CashierTransactionData implements Serializable { private final Long entityId; private final String entityType; private final String txnNote; - private final LocalDateTime createdDate; + private final OffsetDateTime createdDate; // Template fields private final Long officeId; @@ -55,7 +55,7 @@ public final class CashierTransactionData implements Serializable { * Creates a new cashier. */ private CashierTransactionData(final Long id, final Long cashierId, CashierTxnType txnType, final BigDecimal txnAmount, - final LocalDate txnDate, String txnNote, String entityType, Long entityId, LocalDateTime createdDate, Long officeId, + final LocalDate txnDate, String txnNote, String entityType, Long entityId, OffsetDateTime createdDate, Long officeId, String officeName, Long tellerId, String tellerName, String cashierName, CashierData cashierData, LocalDate startDate, LocalDate endDate, final Collection currencyOptions) { this.id = id; @@ -82,7 +82,7 @@ public final class CashierTransactionData implements Serializable { } public static CashierTransactionData instance(final Long id, final Long cashierId, CashierTxnType txnType, final BigDecimal txnAmount, - final LocalDate txnDate, final String txnNote, final String entityType, final Long entityId, final LocalDateTime createdDate, + final LocalDate txnDate, final String txnNote, final String entityType, final Long entityId, final OffsetDateTime createdDate, final Long officeId, final String officeName, final Long tellerId, final String tellerName, final String cashierName, final CashierData cashierData, LocalDate startDate, LocalDate endDate) { return new CashierTransactionData(id, cashierId, txnType, txnAmount, txnDate, txnNote, entityType, entityId, createdDate, officeId, @@ -128,7 +128,7 @@ public final class CashierTransactionData implements Serializable { return entityId; } - public LocalDateTime getCreatedDate() { + public OffsetDateTime getCreatedDate() { return createdDate; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java index 72de36aed..4a58a9119 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/organisation/teller/service/TellerManagementReadPlatformServiceImpl.java @@ -22,7 +22,7 @@ import java.math.BigDecimal; import java.sql.ResultSet; import java.sql.SQLException; import java.time.LocalDate; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; import java.util.Collection; import java.util.Iterator; import lombok.RequiredArgsConstructor; @@ -719,13 +719,13 @@ public class TellerManagementReadPlatformServiceImpl implements TellerManagement final String txnNote = rs.getString("txn_note"); final String entityType = rs.getString("entity_type"); final Long entityId = rs.getLong("entity_id"); - final LocalDateTime createdLocalDate = JdbcSupport.getLocalDateTime(rs, "created_date"); + final OffsetDateTime createdLocalDate = JdbcSupport.getOffsetDateTime(rs, "created_date"); LocalDate txnDate = null; if (txnLocalDate != null) { txnDate = txnLocalDate; } - LocalDateTime createdDate = null; + OffsetDateTime createdDate = null; if (createdLocalDate != null) { createdDate = createdLocalDate; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java index 2d63b125f..fc1804a53 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/calendar/service/CalendarReadPlatformServiceImpl.java @@ -21,7 +21,6 @@ package org.apache.fineract.portfolio.calendar.service; import java.sql.ResultSet; import java.sql.SQLException; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetDateTime; import java.util.ArrayList; @@ -99,20 +98,17 @@ public class CalendarReadPlatformServiceImpl implements CalendarReadPlatformServ humanReadable = CalendarUtils.getRRuleReadable(startDate, recurrence); } Integer monthOnDay = CalendarUtils.getMonthOnDay(recurrence); - final LocalDateTime createdDateLocal = JdbcSupport.getLocalDateTime(rs, "createdDate"); + final OffsetDateTime createdDateLocal = JdbcSupport.getOffsetDateTime(rs, "createdDate"); final OffsetDateTime createdDateUtc = JdbcSupport.getOffsetDateTime(rs, "createdDateUtc"); - final LocalDateTime lastModifiedDateLocal = JdbcSupport.getLocalDateTime(rs, "updatedDate"); + final OffsetDateTime lastModifiedDateLocal = JdbcSupport.getOffsetDateTime(rs, "updatedDate"); final OffsetDateTime lastModifiedDateUtc = JdbcSupport.getOffsetDateTime(rs, "updatedDateUtc"); final Long createdByUserId = rs.getLong("creatingUserId"); final String createdByUserName = rs.getString("creatingUserName"); final Long lastUpdatedByUserId = rs.getLong("updatingUserId"); final String lastUpdatedByUserName = rs.getString("updatingUserName"); final LocalTime meetingTime = JdbcSupport.getLocalTime(rs, "meetingTime"); - final OffsetDateTime createdDate = createdDateUtc != null ? createdDateUtc - : OffsetDateTime.of(createdDateLocal, DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(createdDateLocal)); - final OffsetDateTime lastModifiedDate = lastModifiedDateUtc != null ? lastModifiedDateUtc - : OffsetDateTime.of(lastModifiedDateLocal, - DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(lastModifiedDateLocal)); + final OffsetDateTime createdDate = createdDateUtc != null ? createdDateUtc : createdDateLocal; + final OffsetDateTime lastModifiedDate = lastModifiedDateUtc != null ? lastModifiedDateUtc : lastModifiedDateLocal; return CalendarData.instance(id, calendarInstanceId, entityId, entityType, title, description, location, startDate, endDate, duration, type, repeating, recurrence, frequency, interval, repeatsOnDay, repeatsOnNthDayOfMonth, remindBy, firstReminder, secondReminder, humanReadable, createdDate, lastModifiedDate, createdByUserId, createdByUserName, diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java index 3fb1af249..9eeeff0ce 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/floatingrates/service/FloatingRatesReadPlatformServiceImpl.java @@ -23,11 +23,9 @@ import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.util.List; import org.apache.fineract.infrastructure.core.domain.JdbcSupport; -import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.portfolio.floatingrates.data.FloatingRateData; import org.apache.fineract.portfolio.floatingrates.data.FloatingRatePeriodData; import org.apache.fineract.portfolio.floatingrates.data.InterestRatePeriodData; @@ -124,21 +122,19 @@ public class FloatingRatesReadPlatformServiceImpl implements FloatingRatesReadPl final boolean isBaseLendingRate = rs.getBoolean("isBaseLendingRate"); final boolean isActive = rs.getBoolean("isActive"); final String createdBy = rs.getString("createdBy"); - final LocalDateTime createdOnLocal = JdbcSupport.getLocalDateTime(rs, "createdOn"); + final OffsetDateTime createdOnLocal = JdbcSupport.getOffsetDateTime(rs, "createdOn"); final OffsetDateTime createdOnUtc = JdbcSupport.getOffsetDateTime(rs, "createdOnUTC"); final String modifiedBy = rs.getString("modifiedBy"); - final LocalDateTime modifiedOnLocal = JdbcSupport.getLocalDateTime(rs, "modifiedOn"); + final OffsetDateTime modifiedOnLocal = JdbcSupport.getOffsetDateTime(rs, "modifiedOn"); final OffsetDateTime modifiedOnUtc = JdbcSupport.getOffsetDateTime(rs, "modifiedOnUTC"); List ratePeriods = null; - final OffsetDateTime createdOn = createdOnUtc != null ? createdOnUtc - : OffsetDateTime.of(createdOnLocal, DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(createdOnLocal)); - final OffsetDateTime modifiedOn = modifiedOnUtc != null ? modifiedOnUtc - : OffsetDateTime.of(modifiedOnLocal, DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(modifiedOnLocal)); + final OffsetDateTime createdOn = createdOnUtc != null ? createdOnUtc : createdOnLocal; + final OffsetDateTime modifiedOn = modifiedOnUtc != null ? modifiedOnUtc : modifiedOnLocal; if (addRatePeriods) { FloatingRatePeriodRowMapper ratePeriodMapper = new FloatingRatePeriodRowMapper(); final String sql = "select " + ratePeriodMapper.schema() + " where period.is_active = true and period.floating_rates_id = ? " + " order by period.from_date desc "; - ratePeriods = jdbcTemplate.query(sql, ratePeriodMapper, new Object[] { id }); // NOSONAR + ratePeriods = jdbcTemplate.query(sql, ratePeriodMapper, id); // NOSONAR } return new FloatingRateData(id, name, isBaseLendingRate, isActive, createdBy, createdOn, modifiedBy, modifiedOn, ratePeriods, null); @@ -169,15 +165,13 @@ public class FloatingRatesReadPlatformServiceImpl implements FloatingRatesReadPl final boolean isDifferentialToBaseLendingRate = rs.getBoolean("isDifferentialToBaseLendingRate"); final boolean isActive = rs.getBoolean("isActive"); final String createdBy = rs.getString("createdBy"); - final LocalDateTime createdOnLocal = JdbcSupport.getLocalDateTime(rs, "createdOn"); + final OffsetDateTime createdOnLocal = JdbcSupport.getOffsetDateTime(rs, "createdOn"); final OffsetDateTime createdOnUtc = JdbcSupport.getOffsetDateTime(rs, "createdOnUTC"); final String modifiedBy = rs.getString("modifiedBy"); - final LocalDateTime modifiedOnLocal = JdbcSupport.getLocalDateTime(rs, "modifiedOn"); + final OffsetDateTime modifiedOnLocal = JdbcSupport.getOffsetDateTime(rs, "modifiedOn"); final OffsetDateTime modifiedOnUtc = JdbcSupport.getOffsetDateTime(rs, "modifiedOnUTC"); - final OffsetDateTime createdOn = createdOnUtc != null ? createdOnUtc - : OffsetDateTime.of(createdOnLocal, DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(createdOnLocal)); - final OffsetDateTime modifiedOn = modifiedOnUtc != null ? modifiedOnUtc - : OffsetDateTime.of(modifiedOnLocal, DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(modifiedOnLocal)); + final OffsetDateTime createdOn = createdOnUtc != null ? createdOnUtc : createdOnLocal; + final OffsetDateTime modifiedOn = modifiedOnUtc != null ? modifiedOnUtc : modifiedOnLocal; return new FloatingRatePeriodData(id, fromDate, interestRate, isDifferentialToBaseLendingRate, isActive, createdBy, createdOn, modifiedBy, modifiedOn); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java index be125097c..2722cb5cc 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/note/service/NoteReadPlatformServiceImpl.java @@ -20,7 +20,6 @@ package org.apache.fineract.portfolio.note.service; import java.sql.ResultSet; import java.sql.SQLException; -import java.time.LocalDateTime; import java.time.OffsetDateTime; import java.util.ArrayList; import java.util.Arrays; @@ -29,7 +28,6 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; import org.apache.fineract.infrastructure.core.data.EnumOptionData; import org.apache.fineract.infrastructure.core.domain.JdbcSupport; -import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.portfolio.note.data.NoteData; import org.apache.fineract.portfolio.note.domain.NoteType; import org.apache.fineract.portfolio.note.exception.NoteNotFoundException; @@ -70,19 +68,16 @@ public class NoteReadPlatformServiceImpl implements NoteReadPlatformService { final Integer noteTypeId = JdbcSupport.getInteger(rs, "noteTypeEnum"); final EnumOptionData noteType = NoteEnumerations.noteType(noteTypeId); final String note = rs.getString("note"); - final LocalDateTime createdDateLocal = JdbcSupport.getLocalDateTime(rs, "createdDate"); + final OffsetDateTime createdDateLocal = JdbcSupport.getOffsetDateTime(rs, "createdDate"); final OffsetDateTime createdDateUtc = JdbcSupport.getOffsetDateTime(rs, "createdDateUtc"); final Long createdById = JdbcSupport.getLong(rs, "createdById"); - final LocalDateTime lastModifiedDateLocal = JdbcSupport.getLocalDateTime(rs, "lastModifiedDate"); + final OffsetDateTime lastModifiedDateLocal = JdbcSupport.getOffsetDateTime(rs, "lastModifiedDate"); final OffsetDateTime lastModifiedDateUtc = JdbcSupport.getOffsetDateTime(rs, "lastModifiedDateUtc"); final Long lastModifiedById = JdbcSupport.getLong(rs, "lastModifiedById"); final String createdByUsername = rs.getString("createdBy"); final String updatedByUsername = rs.getString("modifiedBy"); - final OffsetDateTime createdDate = createdDateUtc != null ? createdDateUtc - : OffsetDateTime.of(createdDateLocal, DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(createdDateLocal)); - final OffsetDateTime lastModifiedDate = lastModifiedDateUtc != null ? lastModifiedDateUtc - : OffsetDateTime.of(lastModifiedDateLocal, - DateUtils.getDateTimeZoneOfTenant().getRules().getOffset(lastModifiedDateLocal)); + final OffsetDateTime createdDate = createdDateUtc != null ? createdDateUtc : createdDateLocal; + final OffsetDateTime lastModifiedDate = lastModifiedDateUtc != null ? lastModifiedDateUtc : lastModifiedDateLocal; return new NoteData(id, clientId, groupId, loanId, transactionId, null, null, noteType, note, createdDate, createdById, createdByUsername, lastModifiedDate, lastModifiedById, updatedByUsername); } diff --git a/fineract-provider/src/main/java/org/apache/fineract/spm/data/ScorecardValue.java b/fineract-provider/src/main/java/org/apache/fineract/spm/data/ScorecardValue.java index 33ec7c767..edab5c1b2 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/spm/data/ScorecardValue.java +++ b/fineract-provider/src/main/java/org/apache/fineract/spm/data/ScorecardValue.java @@ -18,20 +18,20 @@ */ package org.apache.fineract.spm.data; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; public class ScorecardValue { private Long questionId; private Long responseId; private Integer value; - private LocalDateTime createdOn; + private OffsetDateTime createdOn; public ScorecardValue() { } - private ScorecardValue(final Long questionId, final Long responseId, final Integer value, final LocalDateTime createdOn) { + private ScorecardValue(final Long questionId, final Long responseId, final Integer value, final OffsetDateTime createdOn) { this.questionId = questionId; this.responseId = responseId; this.value = value; @@ -39,7 +39,7 @@ public class ScorecardValue { } public static ScorecardValue instance(final Long questionId, final Long responseId, final Integer value, - final LocalDateTime createdOn) { + final OffsetDateTime createdOn) { return new ScorecardValue(questionId, responseId, value, createdOn); } @@ -67,11 +67,11 @@ public class ScorecardValue { this.value = value; } - public LocalDateTime getCreatedOn() { + public OffsetDateTime getCreatedOn() { return this.createdOn; } - public void setCreatedOn(LocalDateTime createdOn) { + public void setCreatedOn(OffsetDateTime createdOn) { this.createdOn = createdOn; } diff --git a/fineract-provider/src/main/java/org/apache/fineract/spm/service/ScorecardReadPlatformServiceImpl.java b/fineract-provider/src/main/java/org/apache/fineract/spm/service/ScorecardReadPlatformServiceImpl.java index 7c498717f..a1e1ce863 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/spm/service/ScorecardReadPlatformServiceImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/spm/service/ScorecardReadPlatformServiceImpl.java @@ -20,7 +20,7 @@ package org.apache.fineract.spm.service; import java.sql.ResultSet; import java.sql.SQLException; -import java.time.LocalDateTime; +import java.time.OffsetDateTime; import java.util.Collection; import java.util.List; import org.apache.fineract.infrastructure.core.domain.JdbcSupport; @@ -89,7 +89,7 @@ public class ScorecardReadPlatformServiceImpl implements ScorecardReadPlatformSe final Long questionId = rs.getLong("questionId"); final Long responseId = rs.getLong("responseId"); - final LocalDateTime createdOn = JdbcSupport.getLocalDateTime(rs, "createdOn"); + final OffsetDateTime createdOn = JdbcSupport.getOffsetDateTime(rs, "createdOn"); final Integer value = rs.getInt("value"); return ScorecardValue.instance(questionId, responseId, value, createdOn);