fix:时间计算

This commit is contained in:
ljw 2024-09-24 21:10:02 +08:00
parent 9b9e0a58c1
commit 27746c77b5

View File

@ -1,6 +1,5 @@
package com.yem.wm.im.csrCreditLine.task;
import com.yem.wm.utils.CalendarUtils;
import com.yem.wm.utils.YEM;
import kd.bos.context.RequestContext;
import kd.bos.dataentity.entity.DynamicObject;
@ -12,6 +11,7 @@ import kd.bos.servicehelper.operation.SaveServiceHelper;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.TimeUnit;
/**
* @Description TODO
@ -19,26 +19,24 @@ import java.util.Map;
* @Created by ZZSLL
*/
public class CsrCreditLineTask extends AbstractTask
{
public class CsrCreditLineTask extends AbstractTask {
@Override
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException
{
public void execute(RequestContext requestContext, Map<String, Object> map) throws KDException {
// 客户信保额度申请
DynamicObject[] csrcreditlines = BusinessDataServiceHelper.load("yem_im_csrcreditline", "id, billno, yem_im_info, yem_im_info.yem_paydate1, yem_im_info.yem_countpayback, yem_unused, yem_countdown", null);
for (DynamicObject dynamicObject : csrcreditlines) {
// yem_countdown = yem_unused - today
Date unused = dynamicObject.getDate("yem_unused");
if (YEM.isNotEmpty(unused)) {
data(dynamicObject, unused, "yem_countdown");
dynamicObject.set("yem_countdown", -CalendarUtils.calcPayBackCount(unused));
}
DynamicObjectCollection collection = dynamicObject.getDynamicObjectCollection("yem_im_info");
for (DynamicObject object : collection) {
Date receivableDate = object.getDate("yem_paydate1");
if (receivableDate == null) continue;
object.set("yem_countpayback", -CalendarUtils.calcPayBackCount(receivableDate));
data(object, receivableDate, "yem_countpayback");
}
}
SaveServiceHelper.save(csrcreditlines);
@ -49,9 +47,26 @@ public class CsrCreditLineTask extends AbstractTask
for (DynamicObject object : collection) {
Date receivableDate = object.getDate("yem_paydate1");
if (receivableDate == null) continue;
object.set("yem_countpayback", -CalendarUtils.calcPayBackCount(receivableDate));
data(object, receivableDate, "yem_countpayback");
}
}
SaveServiceHelper.save(storagetrans);
}
/**
* 计算时间差额
*
* @param object
* @param receivableDate
* @param yemCountpayback
*/
private static void data(DynamicObject object, Date receivableDate, String yemCountpayback) {
Date date = new Date();
if (date.after(receivableDate)) {
// 计算它们之间的时间差毫秒然后转换为天
long diffInMillis = receivableDate.getTime() - date.getTime();
long diffInDays = TimeUnit.DAYS.convert(diffInMillis, TimeUnit.MILLISECONDS);
object.set(yemCountpayback, diffInDays);
}
}
}