| 
														
															@@ -74,8 +74,8 @@ 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.size() > 0) { 
														 | 
														
														 | 
														
															             if (jzInfo.size() > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 //更新坏账单 
														 | 
														
														 | 
														
															                 //更新坏账单 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                double ecl_ratio = jzInfo.get(0).getInt("nckd_ecl_ratio"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                BigDecimal ecl_amount = unsettleamount.multiply(BigDecimal.valueOf(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_textfield1", String.valueOf(ecl_ratio));//计提比例 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额 
														 | 
														
														 | 
														
															                 dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 infoList.add(dynamicObject); 
														 | 
														
														 | 
														
															                 infoList.add(dynamicObject); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -95,8 +95,13 @@ 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.size() > 0) { 
														 | 
														
														 | 
														
															             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)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                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_textfield1", String.valueOf(ecl_ratio));//计提比例 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额 
														 | 
														
														 | 
														
															                 dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 infoList.add(dynamicObject); 
														 | 
														
														 | 
														
															                 infoList.add(dynamicObject); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -113,8 +118,8 @@ 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)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                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_textfield1", String.valueOf(ecl_ratio));//计提比例 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额 
														 | 
														
														 | 
														
															                 dynamicObject.set("nckd_amountfield", ecl_amount);//计提金额 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 infoList.add(dynamicObject); 
														 | 
														
														 | 
														
															                 infoList.add(dynamicObject); 
														 |