diff --git a/src/main/java/com/yem/wm/im/csrCreditLine/task/CsrCreditLineTask.java b/src/main/java/com/yem/wm/im/csrCreditLine/task/CsrCreditLineTask.java index 61068754..0326299c 100644 --- a/src/main/java/com/yem/wm/im/csrCreditLine/task/CsrCreditLineTask.java +++ b/src/main/java/com/yem/wm/im/csrCreditLine/task/CsrCreditLineTask.java @@ -14,6 +14,7 @@ import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.ZoneId; +import java.time.temporal.ChronoUnit; import java.util.Date; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -44,7 +45,7 @@ public class CsrCreditLineTask extends AbstractTask { for (DynamicObject object : collection) { Date receivableDate = object.getDate("yem_paydate1"); if (receivableDate == null) continue; - data(object, receivableDate, "yem_countpayback"); + daysBetween(object, receivableDate, "yem_countpayback"); } } SaveServiceHelper.save(csrcreditlines); @@ -55,7 +56,7 @@ public class CsrCreditLineTask extends AbstractTask { for (DynamicObject object : collection) { Date receivableDate = object.getDate("yem_paydate1"); if (receivableDate == null) continue; - data(object, receivableDate, "yem_countpayback"); + daysBetween(object, receivableDate, "yem_countpayback"); } } SaveServiceHelper.save(storagetrans); @@ -97,7 +98,11 @@ public class CsrCreditLineTask extends AbstractTask { long diffInDays = over.toEpochDay() - start.toEpochDay(); object.set(yemCountpayback, diffInDays); } + } - + public static void daysBetween(DynamicObject object, Date date, String field) { + LocalDate localDate = date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate(); + LocalDate today = LocalDate.now(); + object.set(field, ChronoUnit.DAYS.between(localDate, today)); } }