Forráskód Böngészése

融资动态查询明细表
1、增加字段【调配类型】

wanghaiwu 1 hónapja
szülő
commit
2c208b55ea

+ 22 - 2
main/java/kd/cosmic/jkjt/tmc/cfm/report/data/TradeFinanceFromExtListPlugin.java

@@ -2,6 +2,8 @@ package kd.cosmic.jkjt.tmc.cfm.report.data;
 
 import kd.bos.dataentity.entity.DynamicObject;
 import kd.bos.dataentity.entity.DynamicObjectCollection;
+import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType;
+import kd.bos.entity.EntityMetadataCache;
 import kd.bos.entity.report.ReportQueryParam;
 import kd.bos.orm.query.QCP;
 import kd.bos.orm.query.QFilter;
@@ -10,8 +12,9 @@ import kd.bos.servicehelper.org.OrgUnitServiceHelper;
 import kd.bos.servicehelper.org.OrgViewType;
 import kd.bos.util.StringUtils;
 import kd.tmc.cfm.report.form.TradeFinanceFromListPlugin;
-import java.util.Iterator;
-import java.util.List;
+
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 插件说明:报表插件,扩展标准报表,增加字段
@@ -24,6 +27,17 @@ public class TradeFinanceFromExtListPlugin extends TradeFinanceFromListPlugin {
     public void processRowData(String gridPK, DynamicObjectCollection rowData, ReportQueryParam queryParam) {
         super.processRowData(gridPK, rowData, queryParam);
 
+        DynamicObjectType type = EntityMetadataCache.getDataEntityType("cfm_loanbill");
+        List<Long> loanIds = (List)rowData.stream().mapToLong((x) -> {
+            return x.getLong("loanbillid");
+        }).boxed().collect(Collectors.toList());
+
+        Map<Long, DynamicObject> mapLoan = new HashMap<>();
+        DynamicObject[] loanArray = BusinessDataServiceHelper.load(loanIds.toArray(), type);
+        for(DynamicObject loan : loanArray){
+            mapLoan.put(loan.getLong("id"), loan);
+        }
+
         Iterator<DynamicObject> iterator = rowData.iterator();
         while (iterator.hasNext()) {
             DynamicObject row = iterator.next();
@@ -31,6 +45,12 @@ public class TradeFinanceFromExtListPlugin extends TradeFinanceFromListPlugin {
             String firstProductName = getFisrtProduct(row.getString("finproductname"));
             row.set("nckd_fincompanyfirst", firstOrgName);
             row.set("nckd_finproductfirst", firstProductName);
+
+            //调配类型
+            Long loanId = row.getLong("loanbillid");
+            if(mapLoan.get(loanId) != null) {
+                row.set("nckd_provitype", mapLoan.get(loanId).getString("nckd_provitype"));
+            }
         }
     }