|
@@ -0,0 +1,55 @@
|
|
|
|
+package kd.cosmic.jkjt.tmc.cfm.report.data;
|
|
|
|
+
|
|
|
|
+import kd.bos.dataentity.entity.DynamicObject;
|
|
|
|
+import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
|
+import kd.bos.entity.report.ReportQueryParam;
|
|
|
|
+import kd.bos.orm.query.QCP;
|
|
|
|
+import kd.bos.orm.query.QFilter;
|
|
|
|
+import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
|
+import kd.tmc.cfm.report.form.CfmLoanBillIntCalcFormPlugin;
|
|
|
|
+
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.Iterator;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * 插件说明:报表插件,扩展标准报表,增加字段
|
|
|
|
+ * 表单标识:资金调配利息匡算(nckd_cfm_loanintcalcr_ifa)
|
|
|
|
+ * @author wanghaiwu_kd
|
|
|
|
+ * @date 2025/09/02
|
|
|
|
+ */
|
|
|
|
+public class CfmLoanBillIntCalcExtFormPlugin extends CfmLoanBillIntCalcFormPlugin {
|
|
|
|
+ @Override
|
|
|
|
+ public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
|
|
|
|
+ super.processRowData(gridPK, rowData, queryParam);
|
|
|
|
+
|
|
|
|
+ if(rowData != null && rowData.size() > 0) {
|
|
|
|
+
|
|
|
|
+ List<String> loanNos = (List) rowData.stream().map((s) -> {
|
|
|
|
+ return s.getString("billno");
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ Map<String, DynamicObject> mapLoan = new HashMap<>();
|
|
|
|
+
|
|
|
|
+ QFilter qFilter = new QFilter("billno", QCP.in, loanNos);
|
|
|
|
+ DynamicObject[] loanArray = BusinessDataServiceHelper.load("cfm_loanbill", "id, billno, nckd_provitype", qFilter.toArray());
|
|
|
|
+ for (DynamicObject loan : loanArray) {
|
|
|
|
+ mapLoan.put(loan.getString("billno"), loan);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Iterator<DynamicObject> iterator = rowData.iterator();
|
|
|
|
+ while (iterator.hasNext()) {
|
|
|
|
+ DynamicObject row = iterator.next();
|
|
|
|
+
|
|
|
|
+ //调配类型
|
|
|
|
+ String billno = row.getString("billno");
|
|
|
|
+ if (mapLoan.get(billno) != null) {
|
|
|
|
+ row.set("nckd_provitype", mapLoan.get(billno).getString("nckd_provitype"));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|