Pārlūkot izejas kodu

1、资金调配利息匡算,增加字段【调配类型】

wanghaiwu 1 mēnesi atpakaļ
vecāks
revīzija
9890ade1e6

+ 55 - 0
main/java/kd/cosmic/jkjt/tmc/cfm/report/data/CfmLoanBillIntCalcExtFormPlugin.java

@@ -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"));
+                }
+            }
+
+        }
+    }
+}