Pārlūkot izejas kodu

业务处理单反写

xuhao 7 mēneši atpakaļ
vecāks
revīzija
5d2955184d

+ 43 - 17
src/main/java/fi/em/formPlugin/YwclF7ListtenerFromPlugin.java

@@ -14,7 +14,9 @@ import kd.bos.orm.query.QFilter;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import kd.sdk.plugin.Plugin;
 import org.apache.commons.lang.StringUtils;
-import java.util.EventObject;
+
+import java.math.BigDecimal;
+import java.util.*;
 
 public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plugin, BeforeF7SelectListener {
     private final static String nckd_orgv="nckd_orgv";//收款资金组织
@@ -169,27 +171,51 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         showParameter.getListFilterParameter().setFilter(filter);
     }
     private void getQFilterdczc(BeforeF7SelectEvent arg0, String type) {
-        DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield1") ;
-        if(data ==null){
-            throw new KDBizException("调出组织为空!");
+        String nckdDetailtype = this.getModel().getValue("nckd_detailtype").toString();
+        if("E".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield1") ;
+            if(data ==null){
+                throw new KDBizException("调出组织为空!");
+            }
+            String number = data.getString("number");
+            QFilter filter;
+            //给基础资料添加过滤
+            filter = new QFilter("assetunit.number", QCP.equals, number);
+            ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("N".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_costcompany") ;
+            if(data ==null){
+                throw new KDBizException("资产组织为空!");
+            }
+            String number = data.getString("number");
+            QFilter filter;
+            //给基础资料添加过滤
+            filter = new QFilter("assetunit.number", QCP.equals, number);
+            ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
         }
-        String number = data.getString("number");
-        QFilter filter;
-        //给基础资料添加过滤
-        filter = new QFilter("assetunit.number", QCP.equals, number);
-        ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
-        showParameter.getListFilterParameter().setFilter(filter);
+
     }
     private void getQFilterdrzc(BeforeF7SelectEvent arg0, String type) {
-        DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield2") ;
-        if(data ==null){
-            throw new KDBizException("调入组织为空!");
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield2") ;
+            if(data ==null){
+                throw new KDBizException("调出组织为空!");
+            }
+        long id = data.getLong("id");
+        QFilter nckd_orgamountFilter = new QFilter("fromorg.id", QCP.equals, id);
+        Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation_dept", new QFilter[]{nckd_orgamountFilter});
+        HashSet<Long> objects = new HashSet<>();
+        for (Object idkey:nckd_cas_arbilMap.keySet()) {
+            //当前单头
+            DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
+            Long id1 = dynamicObject.getLong("toorg.id");
+            objects.add(id1);
+
         }
-        String number = data.getString("number");
-        QFilter filter;
+        QFilter filter = new QFilter("id",QCP.in,objects);
         //给基础资料添加过滤
-        filter = new QFilter("number", QCP.equals, number);
-        ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+        ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
         showParameter.getListFilterParameter().setFilter(filter);
     }
 }