|
@@ -73,7 +73,7 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
for (DynamicObject dynamicObject : ar_baddebtlossbill) {
|
|
|
String dubil_id = dynamicObject.getString("nckd_textfield");//借据号
|
|
|
BigDecimal unsettleamount = dynamicObject.getBigDecimal("baddebtamt");//未结算金额
|
|
|
-
|
|
|
+ BigDecimal nckd_amountfield1 = dynamicObject.getBigDecimal("nckd_amountfield1");//上月计提金额
|
|
|
//查询借据号匹配的减值数据
|
|
|
List<DynamicObject> jzInfo = jz.stream().filter(item -> StringUtils.equals(item.getString("nckd_dubil_id"), dubil_id)).collect(Collectors.toList());
|
|
|
if (jzInfo.size() > 0) {
|
|
@@ -83,6 +83,7 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
dynamicObject.set("nckd_textfield1", String.valueOf(ecl_ratio));//计提比例
|
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
|
dynamicObject.set("nckd_match_amt", true);//是否计算计提金额
|
|
|
+ dynamicObject.set("nckd_amountfield2", ecl_amount.subtract(nckd_amountfield1 != null ? nckd_amountfield1 : BigDecimal.ZERO));//扎差金额
|
|
|
infoList.add(dynamicObject);
|
|
|
}else {
|
|
|
//根据客户匹配
|
|
@@ -95,7 +96,7 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
for (DynamicObject dynamicObject : ar_baddebtlossbill_customer) {
|
|
|
BigDecimal unsettleamount = dynamicObject.getBigDecimal("baddebtamt");//未结算金额
|
|
|
String customer = dynamicObject.getDynamicObject("asstact").getString("number");//供应商编码
|
|
|
-
|
|
|
+ BigDecimal nckd_amountfield1 = dynamicObject.getBigDecimal("nckd_amountfield1");//上月计提金额
|
|
|
//查询客户匹配的减值数据
|
|
|
List<DynamicObject> jzInfo = jz.stream().filter(item -> StringUtils.equals(item.getString("nckd_cust_id"), customer)).collect(Collectors.toList());
|
|
|
if (jzInfo.size() > 0) {
|
|
@@ -110,6 +111,7 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
dynamicObject.set("nckd_textfield1", String.valueOf(ecl_ratio));//计提比例
|
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
|
dynamicObject.set("nckd_match_amt", true);//是否计算计提金额
|
|
|
+ dynamicObject.set("nckd_amountfield2", ecl_amount.subtract(nckd_amountfield1 != null ? nckd_amountfield1 : BigDecimal.ZERO));//扎差金额
|
|
|
infoList.add(dynamicObject);
|
|
|
}else {
|
|
|
//根据五级分类匹配
|
|
@@ -122,6 +124,7 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
for (DynamicObject dynamicObject : ar_baddebtlossbill_five_level) {
|
|
|
BigDecimal unsettleamount = dynamicObject.getBigDecimal("baddebtamt");//未结算金额
|
|
|
DynamicObject fiveLevel = dynamicObject.getDynamicObject("nckd_basedatafield");//五级分类
|
|
|
+ BigDecimal nckd_amountfield1 = dynamicObject.getBigDecimal("nckd_amountfield1");//上月计提金额
|
|
|
if (fiveLevel != null) {
|
|
|
//更新坏账单
|
|
|
BigDecimal ecl_ratio = fiveLevel.getBigDecimal("nckd_ecl_ratio");
|
|
@@ -129,6 +132,7 @@ public class MatchBadDebtsTask extends AbstractTask {
|
|
|
dynamicObject.set("nckd_textfield1", String.valueOf(ecl_ratio));//计提比例
|
|
|
dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额
|
|
|
dynamicObject.set("nckd_match_amt", true);//是否计算计提金额
|
|
|
+ dynamicObject.set("nckd_amountfield2", ecl_amount.subtract(nckd_amountfield1 != null ? nckd_amountfield1 : BigDecimal.ZERO));//扎差金额
|
|
|
infoList.add(dynamicObject);
|
|
|
}
|
|
|
}
|