소스 검색

业务处理单过滤

xuhao 6 달 전
부모
커밋
608552db84

+ 14 - 0
src/main/java/fi/em/formPlugin/BusinessProcessingConvertPlugIn.java

@@ -19,7 +19,9 @@ public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn imple
         String type = this.getOption().getVariableValue("type");//1
         if("drawyfgz".equals(type)){
             String bdsupplier = this.getOption().getVariableValue("bdsupplier");
+            String billtype = this.getOption().getVariableValue("billtype");
             QFilter numberQFilter = new QFilter("ap_finapbill.org.number", QCP.equals, orgnumber);
+//            numberQFilter.and("ap_finapbill.asstacttype", QCP.equals, billtype);
             numberQFilter.and("ap_finapbill.asstact.id", QCP.equals, Long.valueOf(bdsupplier));
             for(int i=0;i<objects.size();i++){
                 JSONObject jsonObject = objects.getJSONObject(i);
@@ -29,7 +31,9 @@ public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn imple
             e.getCustQFilters().add(numberQFilter);
         }else if("drawysgz".equals(type)){
             String bdsupplier = this.getOption().getVariableValue("bdsupplier");
+            String billtype = this.getOption().getVariableValue("billtype");
             QFilter numberQFilter = new QFilter("ar_finarbill.org.number", QCP.equals, orgnumber);
+//            numberQFilter.and("ar_finarbill.asstacttype", QCP.equals, billtype);
             numberQFilter.and("ar_finarbill.asstact.id", QCP.equals, Long.valueOf(bdsupplier));
             for(int i=0;i<objects.size();i++){
                 JSONObject jsonObject = objects.getJSONObject(i);
@@ -39,7 +43,9 @@ public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn imple
             e.getCustQFilters().add(numberQFilter);
         }else if("drawzlht".equals(type)){
             String bdsupplier = this.getOption().getVariableValue("bdsupplier");
+            String billtype = this.getOption().getVariableValue("billtype");
             QFilter numberQFilter = new QFilter("fa_lease_contract.org.number", QCP.equals, orgnumber);
+//            numberQFilter.and("fa_lease_contract.asstacttype", QCP.equals, billtype);
             numberQFilter.and("fa_lease_contract.leaser.number", QCP.equals, bdsupplier);
             for(int i=0;i<objects.size();i++){
                 JSONObject jsonObject = objects.getJSONObject(i);
@@ -55,6 +61,14 @@ public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn imple
                 numberQFilter.and("er_prepaybill.billno", QCP.not_equals2, id);
             }
             e.getCustQFilters().add(numberQFilter);
+        }else if("draw-ssysd".equals(type)){
+            QFilter numberQFilter = new QFilter("ar_finarbill.org.id", QCP.equals, Long.valueOf(orgnumber));
+            for(int i=0;i<objects.size();i++){
+                JSONObject jsonObject = objects.getJSONObject(i);
+                String id = jsonObject.getString("id");
+                numberQFilter.and("ar_finarbill.id", QCP.not_equals2, Long.valueOf(id));
+            }
+            e.getCustQFilters().add(numberQFilter);
         }
         super.beforeBuildRowCondition(e);
     }

+ 24 - 1
src/main/java/fi/em/formPlugin/BusinessProcessingUnAuditEditPlugin.java

@@ -20,9 +20,11 @@ public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin imp
             if (draw.getOperateKey().equals("drawysgz")) {
 //                StringBuilder numbers = new StringBuilder();
                 Object value = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
-                Object nckd_orgv = this.getModel().getValue("nckd_orgv");//获取当前单据付款人
                 DynamicObject dynamicObject = (DynamicObject) value;
+                Object nckd_orgv = this.getModel().getValue("nckd_orgv");//获取当前单据付款人
                 DynamicObject orgv = (DynamicObject) nckd_orgv;
+                String nckdItemclasstypefield1 = this.getModel().getValue("nckd_itemclasstypefield1").toString();//基础资料类型
+                draw.getOption().setVariableValue("billtype", nckdItemclasstypefield1);
                 if (dynamicObject == null) {
                     throw new KDBizException("收款信息付款人为空!");
                 }
@@ -49,6 +51,8 @@ public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin imp
                 Object nckd_orgvs = this.getModel().getValue("nckd_orgvs");//获取当前单据收款人
                 DynamicObject dynamicObject = (DynamicObject) value;
                 DynamicObject orgvs = (DynamicObject) nckd_orgvs;
+                String nckdItemclasstypefield1 = this.getModel().getValue("nckd_itemclasstypefield").toString();//基础资料类型
+                draw.getOption().setVariableValue("billtype", nckdItemclasstypefield1);
                 if (dynamicObject == null) {
                     throw new KDBizException("付款信息收款人为空!");
                 }
@@ -75,6 +79,8 @@ public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin imp
                 Object nckd_payeenamevs = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
                 DynamicObject dynamicObject = (DynamicObject) value;
                 DynamicObject payeenamevs = (DynamicObject) nckd_payeenamevs;
+                String nckdItemclasstypefield1 = this.getModel().getValue("nckd_itemclasstypefield1").toString();//基础资料类型
+                draw.getOption().setVariableValue("billtype", nckdItemclasstypefield1);
                 if (dynamicObject == null) {
                     throw new KDBizException("收款信息收款人为空!");
                 }
@@ -96,6 +102,23 @@ public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin imp
                 String orgnumber = dynamicObject.getString("number");
                 draw.getOption().setVariableValue("orgnumber", orgnumber);
                 draw.getOption().setVariableValue("type", "drawzlht");
+            }else if (draw.getOperateKey().equals("draw-ssysd")) {
+                //诉讼核销
+                Object value = this.getModel().getValue("nckd_orgfield");//获取当前单据付款人
+                DynamicObject dynamicObject = (DynamicObject) value;
+                DynamicObjectCollection nckdEntryentity1 = this.getModel().getEntryEntity("nckd_entryentity111");
+                JSONArray jSONArray = new JSONArray();
+                for(int i=0;i<nckdEntryentity1.size();i++){
+                    JSONObject jsonObject = new JSONObject();
+                    DynamicObject dynamicObject1 = nckdEntryentity1.get(i);
+                    String nckdTextfield7 = dynamicObject1.getString("nckd_textfield26");
+                    jsonObject.put("id",nckdTextfield7);
+                    jSONArray.add(jsonObject);
+                }
+                String id = dynamicObject.getString("id");
+                draw.getOption().setVariableValue("orgnumber", id);
+                draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
+                draw.getOption().setVariableValue("type", "draw-ssysd");
             }
         }
         super.beforeDoOperation(args);

+ 152 - 24
src/main/java/fi/em/formPlugin/YwclF7ListtenerFromPlugin.java

@@ -27,9 +27,22 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
     private final static String nckd_payeeaccbanknum="nckd_payeeaccbanknum";//调拨收款账户
     private final static String nckd_payeebanknumlb="nckd_payeebanknumlb";//收款信息修改付款账号
     private final static String nckd_payeebanknumlbs="nckd_payeebanknumlbs";//付款信息修改收款账号
-    private final static String nckd_basedatafield="nckd_basedatafield";//付款信息修改收款账号111
+    private final static String nckd_basedatafield="nckd_basedatafield";//资产报废编号
     private final static String nckd_basedatafield5="nckd_basedatafield5";//资产编号
     private final static String nckd_orgfield4="nckd_orgfield4";//付款信息修改收款账号111
+    private final static String nckd_basedatafield16="nckd_basedatafield16";//财务事物卡片
+    private final static String nckd_basedatafield19="nckd_basedatafield19";//被拆分资产
+    private final static String nckd_orgfield6="nckd_orgfield6";//被拆分资产使用部门
+    private final static String nckd_basedatafield14="nckd_basedatafield14";//转出资产明细
+    private final static String nckd_basedatafield13="nckd_basedatafield13";//转入资产明细
+    private final static String nckd_basedatafield18="nckd_basedatafield18";//资产盘点
+    private final static String nckd_basedatafield21="nckd_basedatafield21";//资产变更明细
+    private final static String nckd_orgfield8="nckd_orgfield8";//资产变更明细使用后部门
+
+
+
+
+
     @Override
     public void registerListener(EventObject e) {
         super.registerListener(e);
@@ -52,6 +65,22 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         fieldEdit8.addBeforeF7SelectListener(this);
         BasedataEdit fieldEdit9 = this.getView().getControl(nckd_orgfield4);
         fieldEdit9.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit10 = this.getView().getControl(nckd_basedatafield16);
+        fieldEdit10.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit11 = this.getView().getControl(nckd_basedatafield19);
+        fieldEdit11.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit12 = this.getView().getControl(nckd_orgfield6);
+        fieldEdit12.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit13 = this.getView().getControl(nckd_basedatafield14);
+        fieldEdit13.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit14 = this.getView().getControl(nckd_basedatafield13);
+        fieldEdit14.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit15 = this.getView().getControl(nckd_basedatafield18);
+        fieldEdit15.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit16 = this.getView().getControl(nckd_basedatafield21);
+        fieldEdit16.addBeforeF7SelectListener(this);
+        BasedataEdit fieldEdit17 = this.getView().getControl(nckd_orgfield8);
+        fieldEdit17.addBeforeF7SelectListener(this);
     }
 
     @Override
@@ -79,6 +108,30 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         if (StringUtils.equals(fieldKey, nckd_orgfield4)){
             this.getQFilterdrzc(beforeF7SelectEvent,nckd_orgfield4);
         }
+        if (StringUtils.equals(fieldKey, nckd_basedatafield16)){
+            this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield16);
+        }
+        if (StringUtils.equals(fieldKey, nckd_basedatafield19)){
+            this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield19);
+        }
+        if (StringUtils.equals(fieldKey, nckd_orgfield6)){
+            this.getQFilterdrzc(beforeF7SelectEvent,nckd_orgfield6);
+        }
+        if (StringUtils.equals(fieldKey, nckd_basedatafield14)){
+            this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield14);
+        }
+        if (StringUtils.equals(fieldKey, nckd_basedatafield13)){
+            this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield13);
+        }
+        if (StringUtils.equals(fieldKey, nckd_basedatafield18)){
+            this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield18);
+        }
+        if (StringUtils.equals(fieldKey, nckd_basedatafield21)){
+            this.getQFilterdczc(beforeF7SelectEvent,nckd_basedatafield21);
+        }
+        if (StringUtils.equals(fieldKey, nckd_orgfield8)){
+            this.getQFilterdrzc(beforeF7SelectEvent,nckd_orgfield8);
+        }
     }
 
     private void getQFilter(BeforeF7SelectEvent arg0, String type) {
@@ -159,9 +212,9 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         showParameter.getListFilterParameter().setFilter(filter);
     }
     private void getQFiltersbf(BeforeF7SelectEvent arg0, String type) {
-        DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_costcompany") ;
+        DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
         if(data ==null){
-            throw new KDBizException("资产组织为空!");
+            throw new KDBizException("核算组织为空!");
         }
         String number = data.getString("number");
         QFilter filter;
@@ -184,38 +237,113 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
             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("资产组织为空!");
-            }
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
             String number = data.getString("number");
             QFilter filter;
             //给基础资料添加过滤
-            filter = new QFilter("assetunit.number", QCP.equals, number);
+            filter = new QFilter("depredept.number", QCP.equals, number);
+            ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("P".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
+            String number = data.getString("number");
+            QFilter filter;
+            //给基础资料添加过滤
+            filter = new QFilter("depredept.number", QCP.equals, number);
+            ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("T".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
+            String number = data.getString("number");
+            QFilter filter;
+            //给基础资料添加过滤
+            filter = new QFilter("depredept.number", QCP.equals, number);
+            ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("S".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
+            String number = data.getString("number");
+            QFilter filter;
+            //给基础资料添加过滤
+            filter = new QFilter("depredept.number", QCP.equals, number);
+            ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("Q".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield");
+            String number = data.getString("number");
+            QFilter filter;
+            //给基础资料添加过滤
+            filter = new QFilter("depredept.number", QCP.equals, number);
             ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
             showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("N".equals(nckdDetailtype)) {
+
         }
 
     }
     private void getQFilterdrzc(BeforeF7SelectEvent arg0, String type) {
+        String nckdDetailtype = this.getModel().getValue("nckd_detailtype").toString();
+        if("E".equals(nckdDetailtype)){
             DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield2") ;
             if(data ==null){
-                throw new KDBizException("调出组织为空!");
+                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);
-
-        }
-        QFilter filter = new QFilter("id",QCP.in,objects);
-        //给基础资料添加过滤
-        ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
-        showParameter.getListFilterParameter().setFilter(filter);
+            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);
+
+            }
+            QFilter filter = new QFilter("id",QCP.in,objects);
+            //给基础资料添加过滤
+            ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("N".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
+            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);
+
+            }
+            QFilter filter = new QFilter("id",QCP.in,objects);
+            //给基础资料添加过滤
+            ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }else if ("T".equals(nckdDetailtype)) {
+            DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
+            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);
+
+            }
+            QFilter filter = new QFilter("id",QCP.in,objects);
+            //给基础资料添加过滤
+            ListShowParameter showParameter = (ListShowParameter) arg0.getFormShowParameter();
+            showParameter.getListFilterParameter().setFilter(filter);
+        }
+
     }
 }