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