xuhao 6 сар өмнө
parent
commit
f92d8bbff2

+ 45 - 1
src/main/java/fi/em/formPlugin/YwclF7ListtenerFromPlugin.java

@@ -84,6 +84,10 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         fieldEdit17.addBeforeF7SelectListener(this);
         BasedataEdit fieldEdit18 = this.getView().getControl(nckd_basedatafield6);
         fieldEdit18.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit19 = this.getView().getControl(nckd_orgv);
+        fieldEdit19.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit20 = this.getView().getControl(nckd_orgvs);
+        fieldEdit20.addBeforeF7SelectListener(this);
     }
 
     @Override
@@ -138,6 +142,12 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         if (StringUtils.equals(fieldKey, nckd_basedatafield6)){
             this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield6);
         }
+        if (StringUtils.equals(fieldKey, nckd_orgv)){
+            this.getQFilter(beforeF7SelectEvent,nckd_orgv);
+        }
+        if (StringUtils.equals(fieldKey, nckd_orgvs)){
+            this.getQFilter(beforeF7SelectEvent,nckd_orgvs);
+        }
     }
 
     private void getQFilter(BeforeF7SelectEvent arg0, String type) {
@@ -150,7 +160,41 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
             long orgid = skdata.getLong("id");
             QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
             data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
-        } else if (type.equals(nckd_skzhs)) {
+        } else if (type.equals(nckd_orgvs)) {
+            DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
+            if(fkdata ==null){
+                throw new KDBizException("核算组织为空!");
+            }
+            long orgid = fkdata.getLong("id");
+            QFilter banks = new QFilter("toorg.id", QCP.equals, orgid);
+            Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation", new QFilter[]{banks});
+            HashSet<Long> objects = new HashSet<>();
+            for (Object idkey:nckd_cas_arbilMap.keySet()) {
+                //当前单头
+                DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
+                long fromorg = dynamicObject.getLong("fromorg");
+                objects.add(fromorg);
+            }
+            QFilter nckd_skzjFilter = new QFilter("id", QCP.in,objects);
+            data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
+        }else if (type.equals(nckd_orgv)) {
+            DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
+            if(fkdata ==null){
+                throw new KDBizException("核算组织为空!");
+            }
+            long orgid = fkdata.getLong("id");
+            QFilter banks = new QFilter("toorg.id", QCP.equals, orgid);
+            Map<Object, DynamicObject> nckd_cas_arbilMap = BusinessDataServiceHelper.loadFromCache("bos_org_orgrelation", new QFilter[]{banks});
+            HashSet<Long> objects = new HashSet<>();
+            for (Object idkey:nckd_cas_arbilMap.keySet()) {
+                //当前单头
+                DynamicObject dynamicObject = nckd_cas_arbilMap.get(idkey);
+                long fromorg = dynamicObject.getLong("fromorg");
+                objects.add(fromorg);
+            }
+            QFilter nckd_skzjFilter = new QFilter("id", QCP.in,objects);
+            data= BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {nckd_skzjFilter});
+        }else if (type.equals(nckd_skzhs)) {
             DynamicObject fkdata = (DynamicObject)this.getModel().getValue(nckd_orgvs) ;
             if(fkdata ==null){
                 throw new KDBizException("付款信息资金组织为空!");