|
@@ -72,11 +72,11 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
|
|
|
//查询借据号匹配的减值数据
|
|
//查询借据号匹配的减值数据
|
|
List<DynamicObject> jzInfo = jz.stream().filter(item -> StringUtils.equals(item.getString("nckd_dubil_id"), dubil_id)).collect(Collectors.toList());
|
|
List<DynamicObject> jzInfo = jz.stream().filter(item -> StringUtils.equals(item.getString("nckd_dubil_id"), dubil_id)).collect(Collectors.toList());
|
|
- if (jzInfo != null) {
|
|
|
|
|
|
+ if (jzInfo.size() > 0) {
|
|
//更新坏账单
|
|
//更新坏账单
|
|
- double ecl_ratio = jzInfo.get(0).getInt("nckd_ecl_ratio");
|
|
|
|
- BigDecimal ecl_amount = unsettleamount.multiply(BigDecimal.valueOf(ecl_ratio));
|
|
|
|
- dynamicObject.set("nckd_basedatapropfield", ecl_ratio);//计提比例
|
|
|
|
|
|
+ BigDecimal ecl_ratio = jzInfo.get(0).getBigDecimal("nckd_ecl_ratio");
|
|
|
|
+ BigDecimal ecl_amount = unsettleamount.multiply(ecl_ratio);
|
|
|
|
+ dynamicObject.set("nckd_textfield1", String.valueOf(ecl_ratio));//计提比例
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
infoList.add(dynamicObject);
|
|
infoList.add(dynamicObject);
|
|
}else {
|
|
}else {
|
|
@@ -93,11 +93,16 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
|
|
|
//查询客户匹配的减值数据
|
|
//查询客户匹配的减值数据
|
|
List<DynamicObject> jzInfo = jz.stream().filter(item -> StringUtils.equals(item.getString("nckd_cust_id"), customer)).collect(Collectors.toList());
|
|
List<DynamicObject> jzInfo = jz.stream().filter(item -> StringUtils.equals(item.getString("nckd_cust_id"), customer)).collect(Collectors.toList());
|
|
- if (!jzInfo.isEmpty()) {
|
|
|
|
|
|
+ if (jzInfo.size() > 0) {
|
|
//更新坏账单
|
|
//更新坏账单
|
|
- double ecl_ratio = (double) jzInfo.stream().mapToInt(s -> s.getInt("nckd_ecl_ratio")).sum() / jzInfo.size();
|
|
|
|
- BigDecimal ecl_amount = unsettleamount.multiply(BigDecimal.valueOf(ecl_ratio));
|
|
|
|
- dynamicObject.set("nckd_basedatapropfield", ecl_ratio);//计提比例
|
|
|
|
|
|
+ BigDecimal ecl_ratio = jzInfo.stream()
|
|
|
|
+ .map(s -> {
|
|
|
|
+ BigDecimal value = s.getBigDecimal("nckd_ecl_ratio");
|
|
|
|
+ return value != null ? value : BigDecimal.ZERO; // 处理 null
|
|
|
|
+ })
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(jzInfo.size()));
|
|
|
|
+ BigDecimal ecl_amount = unsettleamount.multiply(ecl_ratio);
|
|
|
|
+ dynamicObject.set("nckd_textfield1", String.valueOf(ecl_ratio));//计提比例
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
infoList.add(dynamicObject);
|
|
infoList.add(dynamicObject);
|
|
}else {
|
|
}else {
|
|
@@ -113,9 +118,9 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
DynamicObject fiveLevel = dynamicObject.getDynamicObject("nckd_basedatafield");//五级分类
|
|
DynamicObject fiveLevel = dynamicObject.getDynamicObject("nckd_basedatafield");//五级分类
|
|
if (fiveLevel != null) {
|
|
if (fiveLevel != null) {
|
|
//更新坏账单
|
|
//更新坏账单
|
|
- double ecl_ratio = fiveLevel.getInt("nckd_ecl_ratio");
|
|
|
|
- BigDecimal ecl_amount = unsettleamount.multiply(BigDecimal.valueOf(ecl_ratio));
|
|
|
|
- dynamicObject.set("nckd_basedatapropfield", ecl_ratio);//计提比例
|
|
|
|
|
|
+ BigDecimal ecl_ratio = fiveLevel.getBigDecimal("nckd_ecl_ratio");
|
|
|
|
+ BigDecimal ecl_amount = unsettleamount.multiply(ecl_ratio);
|
|
|
|
+ dynamicObject.set("nckd_textfield1", String.valueOf(ecl_ratio));//计提比例
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
infoList.add(dynamicObject);
|
|
infoList.add(dynamicObject);
|
|
}
|
|
}
|