2.外销合同变更单删除行效验
This commit is contained in:
ljw 2024-11-07 16:42:07 +08:00
parent 8f8c8b3f68
commit 01d4c4b3e4

View File

@ -9,6 +9,7 @@ import kd.bos.schedule.executor.AbstractTask;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.TimeUnit;
@ -23,15 +24,17 @@ public class CsrCreditLineTask extends AbstractTask {
@Override
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);
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");
// data(dynamicObject, unused, "yem_countdown");
BigDecimal yemInactivityperiod = dynamicObject.getBigDecimal("yem_inactivityperiod");
Date date = dynamicObject.getDate("yem_recentlapse");
recentl(dynamicObject, yemInactivityperiod, date);
}
DynamicObjectCollection collection = dynamicObject.getDynamicObjectCollection("yem_im_info");
for (DynamicObject object : collection) {
Date receivableDate = object.getDate("yem_paydate1");
@ -53,6 +56,23 @@ public class CsrCreditLineTask extends AbstractTask {
SaveServiceHelper.save(storagetrans);
}
public static void recentl(DynamicObject dynamicObject, BigDecimal yemInactivityperiod, Date date) {
if (date!=null) {
if (yemInactivityperiod.compareTo(BigDecimal.ZERO) != 0) {
long daysInMilliseconds = yemInactivityperiod.longValue() * TimeUnit.DAYS.toMillis(1);
Date yemRecentlapse = new Date(date.getTime() + daysInMilliseconds);
dynamicObject.set("yem_unused", yemRecentlapse);
Date newdate = new Date();
long millisDifference = yemRecentlapse.getTime() - newdate.getTime();
long daysDifference = TimeUnit.MILLISECONDS.toDays(millisDifference);
BigDecimal bigDecimalDaysDifference = BigDecimal.valueOf(daysDifference);
dynamicObject.set("yem_countdown", bigDecimalDaysDifference.add(BigDecimal.ONE));
// } else {
// csrcreditline.set("yem_unused", yemRecentlapse);
}
}
}
/**
* 计算时间差额
*
@ -68,5 +88,7 @@ public class CsrCreditLineTask extends AbstractTask {
long diffInDays = TimeUnit.DAYS.convert(diffInMillis, TimeUnit.MILLISECONDS);
object.set(yemCountpayback, diffInDays);
}
}
}