Browse Source

业务处理单过滤

xuhao 5 months ago
parent
commit
f8166d54e0

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

@@ -18,11 +18,9 @@ public class BusinessProcessingConvertPlugIn extends AbstractConvertPlugIn imple
         JSONArray objects = JSONArray.parseArray(jsonArray);
         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.billstatus", QCP.equals, "C");
-            numberQFilter.and("ap_finapbill.asstact.id", QCP.equals, Long.valueOf(bdsupplier));
             for(int i=0;i<objects.size();i++){
                 JSONObject jsonObject = objects.getJSONObject(i);
                 String id = jsonObject.getString("id");

+ 1 - 55
src/main/java/fi/em/formPlugin/BusinessProcessingEditPlugin.java

@@ -302,61 +302,7 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
                 DynamicObject bank = payeenamevs.getDynamicObject("bank");
                 this.getModel().setValue("nckd_payeebank", bank, rowIndex);
             }
-        }else if ("nckd_payeenamev".equals(name)) {
-            ChangeData[] changeSet = e.getChangeSet();//获取值
-            for (ChangeData changeData : changeSet) {
-                int rowIndex = changeData.getRowIndex();
-                Object newValue = changeData.getNewValue();
-                Object oldValue = changeData.getOldValue();
-                DynamicObject payeenamevs = (DynamicObject) newValue;
-                //构建查询供应商参数
-                QFilter nckd_orgamountFilter = new QFilter("number", QCP.equals, payeenamevs.getString("number"));
-                DynamicObject[] fa_lease_contract = BusinessDataServiceHelper.load("bd_supplier", "id", new QFilter[]{nckd_orgamountFilter});
-                for (int c = 0; c < fa_lease_contract.length; c++) {
-                    //当前单头
-                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(fa_lease_contract[c].getPkValue(), fa_lease_contract[c].getDynamicObjectType().getName());
-                    for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("entry_bank")) {
-                        String bankaccount = entryentity.getString("bankaccount");
-                        DynamicObject bank = entryentity.getDynamicObject("bank");
-                        boolean nckdIsdefaultBank = entryentity.getBoolean("isdefault_bank");
-                        if(nckdIsdefaultBank){
-                            QFilter banks = new QFilter("nckd_bankaccount", QCP.equals, bankaccount);
-                            DynamicObject nckd_bank = BusinessDataServiceHelper.loadSingle("nckd_supplierbankinfor", "id", new QFilter[]{banks});
-                            this.getModel().setValue("nckd_payeebanknumlb", nckd_bank);
-                            this.getView().updateView("nckd_payeebanknumlb");
-                        }
-                    }
-                }
-            }
-            }else if ("nckd_payeenamevs".equals(name)) {
-            ChangeData[] changeSet = e.getChangeSet();//获取值
-            for (ChangeData changeData : changeSet) {
-                int rowIndex = changeData.getRowIndex();
-                Object newValue = changeData.getNewValue();
-                Object oldValue = changeData.getOldValue();
-                DynamicObject payeenamevs = (DynamicObject) newValue;
-                //构建查询供应商参数
-                QFilter nckd_orgamountFilter = new QFilter("number", QCP.equals, payeenamevs.getString("number"));
-                DynamicObject[] fa_lease_contract = BusinessDataServiceHelper.load("bd_supplier", "id", new QFilter[]{nckd_orgamountFilter});
-                for (int c = 0; c < fa_lease_contract.length; c++) {
-                    //当前单头
-                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(fa_lease_contract[c].getPkValue(), fa_lease_contract[c].getDynamicObjectType().getName());
-                    for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("entry_bank")) {
-                        String bankaccount = entryentity.getString("bankaccount");
-                        DynamicObject bank = entryentity.getDynamicObject("bank");
-                        boolean nckdIsdefaultBank = entryentity.getBoolean("isdefault_bank");
-                        if(nckdIsdefaultBank){
-                            QFilter banks = new QFilter("nckd_bankaccount", QCP.equals, bankaccount);
-                            banks.and("nckd_isdefault_bank", QCP.equals, "1");
-                            DynamicObject nckd_bank = BusinessDataServiceHelper.loadSingle("nckd_supplierbankinfor", "id", new QFilter[]{banks});
-                            this.getModel().setValue("nckd_payeebanknumlbs", nckd_bank);
-                            this.getView().updateView("nckd_payeebanknumlbs");
-                        }
-
-                    }
-                }
-            }
-        } else if ("nckd_yfgzjehj".equals(name)) {
+        }else if ("nckd_yfgzjehj".equals(name)) {
             String newValue="";
             String oldValue="";
             ChangeData[] changeSet = e.getChangeSet();//获取值

+ 0 - 7
src/main/java/fi/em/formPlugin/BusinessProcessingUnAuditEditPlugin.java

@@ -39,13 +39,8 @@ public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin imp
                 draw.getOption().setVariableValue("orgnumber", orgnumber);
                 draw.getOption().setVariableValue("type", "drawysgz");
             } else if (draw.getOperateKey().equals("drawyfgz")) {
-                Object value = this.getModel().getValue("nckd_payeenamevs");//获取当前单据付款人
                 Object nckd_orgvs = this.getModel().getValue("nckd_orgfield");//获取当前单据收款人
-                DynamicObject dynamicObject = (DynamicObject) value;
                 DynamicObject orgvs = (DynamicObject) nckd_orgvs;
-                if (dynamicObject == null) {
-                    throw new KDBizException("付款信息付款人为空!");
-                }
                 if (orgvs == null) {
                     throw new KDBizException("核算组织为空!");
                 }
@@ -61,8 +56,6 @@ public class BusinessProcessingUnAuditEditPlugin  extends AbstractListPlugin imp
                     jSONArray.add(jsonObject);
                 }
                 draw.getOption().setVariableValue("JSONArray", jSONArray.toString());
-                String bdsupplier = dynamicObject.getString("id");//当前单据付款供应商
-                draw.getOption().setVariableValue("bdsupplier", bdsupplier);
                 String orgnumber = orgvs.getString("number");
                 draw.getOption().setVariableValue("orgnumber", orgnumber);
                 draw.getOption().setVariableValue("type", "drawyfgz");

+ 367 - 0
src/main/java/fi/em/formPlugin/YwclBankListtenerFromPlugin.java

@@ -0,0 +1,367 @@
+package fi.em.formPlugin;
+
+import kd.bos.bill.AbstractBillPlugIn;
+import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.datamodel.ListSelectedRow;
+import kd.bos.entity.datamodel.ListSelectedRowCollection;
+import kd.bos.entity.datamodel.events.ChangeData;
+import kd.bos.entity.datamodel.events.PropertyChangedArgs;
+import kd.bos.exception.KDBizException;
+import kd.bos.form.CloseCallBack;
+import kd.bos.form.ShowFormHelper;
+import kd.bos.form.control.Control;
+import kd.bos.form.events.ClosedCallBackEvent;
+import kd.bos.form.field.BasedataEdit;
+import kd.bos.form.field.TextEdit;
+import kd.bos.list.ListShowParameter;
+import kd.bos.orm.query.QCP;
+import kd.bos.orm.query.QFilter;
+import kd.bos.servicehelper.BusinessDataServiceHelper;
+import kd.sdk.plugin.Plugin;
+
+import java.util.EventObject;
+
+public class YwclBankListtenerFromPlugin extends AbstractBillPlugIn implements Plugin {
+    @Override
+    public void registerListener(EventObject e) {
+        super.registerListener(e);
+        // 对字段(文本控件)添加点击监听
+        TextEdit textEdit = getControl("nckd_payeebanknumlb");
+        textEdit.addClickListener(this);
+        TextEdit textEdits = getControl("nckd_payeebanknumlbs");
+        textEdits.addClickListener(this);
+    }
+    @Override
+    public void click(EventObject evt) {
+        Control control = (Control) evt.getSource();
+        String key = control.getKey();
+        // 点击供应商11111
+        if (com.alibaba.druid.util.StringUtils.equalsIgnoreCase("nckd_payeebanknumlb", key)) {
+            String billpayertype = this.getModel().getValue("nckd_itemclasstypefield1").toString();
+            if("".equals(billpayertype)){
+                throw new KDBizException("往来类型为空!");
+            }
+            if("bd_supplier".equals(billpayertype)){
+                ListShowParameter parameter = ShowFormHelper.createShowListForm("nckd_supplierbankinfor", false);
+                parameter.setCloseCallBack(new CloseCallBack(this, "nckd_supplierbankinfor"));
+                DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamev");
+                if(skdata ==null){
+                    throw new KDBizException("付款方为空!");
+                }
+                long orgid = skdata.getLong("id");
+                QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bd_supplier", "id", new QFilter[]{nckd_skzjFilter});
+                QFilter filter;
+                //给基础资料添加过滤
+                filter = new QFilter("nckd_id", QCP.equals, dynamicObject.getLong("id"));
+                parameter.getListFilterParameter().setFilter(filter);
+                getView().showForm(parameter);
+            } else if ("bos_user".equals(billpayertype)) {
+                ListShowParameter parameter = ShowFormHelper.createShowListForm("er_payeer", false);
+                parameter.setCloseCallBack(new CloseCallBack(this, "er_payeer"));
+                DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamev");
+                if(skdata ==null){
+                    throw new KDBizException("收款方为空!");
+                }
+                long orgid = skdata.getLong("id");
+                QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bos_user", "id", new QFilter[]{nckd_skzjFilter});
+                QFilter filter;
+                //给基础资料添加过滤
+                filter = new QFilter("payer.id", QCP.equals, dynamicObject.getLong("id"));
+                parameter.getListFilterParameter().setFilter(filter);
+                getView().showForm(parameter);
+            } else if ("bos_org".equals(billpayertype)) {
+                ListShowParameter parameter = ShowFormHelper.createShowListForm("bos_org", false);
+                parameter.setCloseCallBack(new CloseCallBack(this, "bos_org"));
+                DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamev");
+                if(skdata ==null){
+                    throw new KDBizException("收款方为空!");
+                }
+                long orgid = skdata.getLong("id");
+                QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bos_org", "id", new QFilter[]{nckd_skzjFilter});
+                QFilter filter;
+                //给基础资料添加过滤
+                filter = new QFilter("id", QCP.equals, dynamicObject.getLong("id"));
+                parameter.getListFilterParameter().setFilter(filter);
+                getView().showForm(parameter);
+            }
+
+
+        } else{
+            if (com.alibaba.druid.util.StringUtils.equalsIgnoreCase("nckd_payeebanknumlbs", key)) {
+                String billpayertype = this.getModel().getValue("nckd_itemclasstypefield").toString();
+                if("bd_supplier".equals(billpayertype)){
+                    ListShowParameter parameter = ShowFormHelper.createShowListForm("nckd_supplierbankinfor", false);
+                    parameter.setCloseCallBack(new CloseCallBack(this, "nckd_supplierbankinfor"));
+                    DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamevs");
+                    if(skdata ==null){
+                        throw new KDBizException("收款人为空!");
+                    }
+                    long orgid = skdata.getLong("id");
+                    QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bd_supplier", "id", new QFilter[]{nckd_skzjFilter});
+                    QFilter filter;
+                    //给基础资料添加过滤
+                    filter = new QFilter("nckd_id", QCP.equals, dynamicObject.getLong("id"));
+                    parameter.getListFilterParameter().setFilter(filter);
+                    getView().showForm(parameter);
+                } else if ("bos_user".equals(billpayertype)) {
+                    ListShowParameter parameter = ShowFormHelper.createShowListForm("er_payeer", false);
+                    parameter.setCloseCallBack(new CloseCallBack(this, "er_payeer"));
+                    DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamevs");
+                    if(skdata ==null){
+                        throw new KDBizException("收款人为空!");
+                    }
+                    long orgid = skdata.getLong("id");
+                    QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bos_user", "id", new QFilter[]{nckd_skzjFilter});
+                    QFilter filter;
+                    //给基础资料添加过滤
+                    filter = new QFilter("payer.id", QCP.equals, dynamicObject.getLong("id"));
+                    parameter.getListFilterParameter().setFilter(filter);
+                    getView().showForm(parameter);
+                } else if ("bos_org".equals(billpayertype)) {
+                    ListShowParameter parameter = ShowFormHelper.createShowListForm("bos_org", false);
+                    parameter.setCloseCallBack(new CloseCallBack(this, "bos_org"));
+                    DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamevs");
+                    if(skdata ==null){
+                        throw new KDBizException("收款人为空!");
+                    }
+                    long orgid = skdata.getLong("id");
+                    QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+                    DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("bos_org", "id", new QFilter[]{nckd_skzjFilter});
+                    QFilter filter;
+                    //给基础资料添加过滤
+                    filter = new QFilter("id", QCP.equals, dynamicObject.getLong("id"));
+                    parameter.getListFilterParameter().setFilter(filter);
+                    getView().showForm(parameter);
+                }
+
+
+            }
+        }
+        super.click(evt);
+    }
+    @Override
+    public void closedCallBack(ClosedCallBackEvent evt) {
+        String key = evt.getActionId();
+        Object returnData = evt.getReturnData();
+        // 将选择的采购申请单数据回写至样例单据上的相应字段
+        Object nckdDetailtype = this.getModel().getValue("nckd_detailtype");
+        if (com.alibaba.druid.util.StringUtils.equalsIgnoreCase("nckd_supplierbankinfor", key) && returnData != null) {
+            ListSelectedRow row = ((ListSelectedRowCollection) returnData).get(0);
+            DynamicObject billObj = BusinessDataServiceHelper.loadSingle(row.getPrimaryKeyValue(), "nckd_supplierbankinfor");
+            if("B".equals(nckdDetailtype)){
+                this.getModel().setValue("nckd_payeebanknumlbs", billObj.getString("nckd_bankaccount"));
+                this.getModel().setValue("nckd_payeebanknamelbs", billObj.getString("nckd_accountname"));
+                //刷新分录
+                this.getView().updateView("nckd_payeebanknumlbs");
+                this.getView().updateView("nckd_payeebanknamelbs");
+            } else if ("A".equals(nckdDetailtype)) {
+                this.getModel().setValue("nckd_payeebanknumlb", billObj.getString("nckd_bankaccount"));
+                this.getModel().setValue("nckd_textfield55", billObj.getString("nckd_accountname"));
+                //刷新分录
+                this.getView().updateView("nckd_payeebanknumlb");
+                this.getView().updateView("nckd_textfield55");
+            }
+        } else if (com.alibaba.druid.util.StringUtils.equalsIgnoreCase("er_payeer", key) && returnData != null) {
+            ListSelectedRow row = ((ListSelectedRowCollection) returnData).get(0);
+            DynamicObject billObj = BusinessDataServiceHelper.loadSingle(row.getPrimaryKeyValue(), "er_payeer");
+            DynamicObject payerbank = billObj.getDynamicObject("payerbank");
+            if("B".equals(nckdDetailtype)){
+                this.getModel().setValue("nckd_payeebanknumlbs", payerbank.getString("number"));
+                this.getModel().setValue("nckd_payeebanknamelbs", payerbank.getString("name"));
+                //刷新分录
+                this.getView().updateView("nckd_payeebanknumlbs");
+                this.getView().updateView("nckd_payeebanknamelbs");
+            } else if ("A".equals(nckdDetailtype)) {
+                this.getModel().setValue("nckd_payeebanknumlb", payerbank.getString("number"));
+                this.getModel().setValue("nckd_textfield55", payerbank.getString("name"));
+                //刷新分录
+                this.getView().updateView("nckd_payeebanknumlb");
+                this.getView().updateView("nckd_textfield55");
+            }
+        } else if (com.alibaba.druid.util.StringUtils.equalsIgnoreCase("bos_org", key) && returnData != null) {
+            ListSelectedRow row = ((ListSelectedRowCollection) returnData).get(0);
+            DynamicObject billObj = BusinessDataServiceHelper.loadSingle(row.getPrimaryKeyValue(), "bos_org");
+            if("B".equals(nckdDetailtype)){
+                this.getModel().setValue("nckd_payeebanknumlbs", billObj.getString("bankaccount"));
+                this.getModel().setValue("nckd_payeebanknamelbs", billObj.getString("ffirmname"));
+                //刷新分录
+                this.getView().updateView("nckd_payeebanknumlbs");
+                this.getView().updateView("nckd_payeebanknamelbs");
+            } else if ("A".equals(nckdDetailtype)) {
+                this.getModel().setValue("nckd_payeebanknumlb", billObj.getString("bankaccount"));
+                this.getModel().setValue("nckd_textfield55", billObj.getString("ffirmname"));
+                //刷新分录
+                this.getView().updateView("nckd_payeebanknumlb");
+                this.getView().updateView("nckd_textfield55");
+            }
+        }
+        super.closedCallBack(evt);
+    }
+    @Override
+    public void propertyChanged(PropertyChangedArgs e) {
+        super.beforePropertyChanged(e);
+        String name = e.getProperty().getName();//获取字段标识
+        if ("nckd_payeenamev".equals(name)) {
+            ChangeData[] changeSet = e.getChangeSet();//获取值
+            for (ChangeData changeData : changeSet) {
+                int rowIndex = changeData.getRowIndex();
+                Object newValue = changeData.getNewValue();
+                Object oldValue = changeData.getOldValue();
+                DynamicObject payeenamevs = (DynamicObject) newValue;
+                String billpayertype = this.getModel().getValue("nckd_itemclasstypefield1").toString();
+                if("bd_supplier".equals(billpayertype)){
+                    this.getModel().setValue("nckd_payeebanknumlb",null);//行号
+                    this.getModel().setValue("nckd_textfield55",null);//行名
+                    //刷新分录
+                    this.getView().updateView("nckd_payeebanknumlb");
+                    this.getView().updateView("nckd_textfield55");
+                    QFilter nckd = new QFilter("id", QCP.equals,payeenamevs.getLong("id"));
+                    payeenamevs = BusinessDataServiceHelper.loadSingle("bd_supplier", new QFilter[]{nckd});
+                    if(payeenamevs!=null){
+                        for (DynamicObject entryentity : payeenamevs.getDynamicObjectCollection("entry_bank")) {
+                            String bankaccount = entryentity.getString("bankaccount");
+                            String accountname = entryentity.getString("accountname");
+                            String isdefaultBank = entryentity.getString("isdefault_bank");
+                            DynamicObject bank = entryentity.getDynamicObject("bank");
+                            if("true".equals(isdefaultBank)){
+                                this.getModel().setValue("nckd_payeebanknumlb", bankaccount);
+                                this.getModel().setValue("nckd_textfield55", accountname);
+                                this.getView().updateView("nckd_payeebanknumlb");
+                                this.getView().updateView("nckd_textfield55");
+
+                            }
+                        }
+                    }
+                } else if ("bos_user".equals(billpayertype)) {
+                    this.getModel().setValue("nckd_payeebanknumlb",null);//行号
+                    this.getModel().setValue("nckd_textfield55",null);//行名
+                    //刷新分录
+                    this.getView().updateView("nckd_payeebanknumlb");
+                    this.getView().updateView("nckd_textfield55");
+                    QFilter nckd = new QFilter("id", QCP.equals,payeenamevs.getLong("id"));
+                    payeenamevs = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{nckd});
+                    if(payeenamevs!=null){
+                        QFilter nckd_skzjFilter = new QFilter("payer.id", QCP.equals,payeenamevs.getLong("id"));
+                        nckd_skzjFilter.and("isdefault", QCP.equals, "1");
+                        DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("er_payeer", new QFilter[]{nckd_skzjFilter});
+                        if(dynamicObject!=null){
+                            DynamicObject payerbank = dynamicObject.getDynamicObject("payerbank");
+                            this.getModel().setValue("nckd_payeebanknumlb", payerbank.getString("number"));//行号
+                            this.getModel().setValue("nckd_textfield55", payerbank.getString("name"));//行名
+                            //刷新分录
+                            this.getView().updateView("nckd_payeebanknumlb");
+                            this.getView().updateView("nckd_textfield55");
+
+                        }
+                    }
+                } else if ("bos_org".equals(billpayertype)) {
+                    this.getModel().setValue("nckd_payeebanknumlb",null);//行号
+                    this.getModel().setValue("nckd_textfield55",null);//行名
+                    //刷新分录
+                    this.getView().updateView("nckd_payeebanknumlb");
+                    this.getView().updateView("nckd_textfield55");
+                    QFilter nckd = new QFilter("id", QCP.equals,payeenamevs.getLong("id"));
+                    payeenamevs = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{nckd});
+                    if(payeenamevs!=null){
+
+                        this.getModel().setValue("nckd_payeebanknumlb", payeenamevs.getString("bankaccount"));
+                        this.getModel().setValue("nckd_textfield55", payeenamevs.getString("ffirmname"));
+                        //刷新分录
+                        this.getView().updateView("nckd_payeebanknumlb");
+                        this.getView().updateView("nckd_textfield55");
+                    }
+                }
+
+            }
+        }else if ("nckd_payeenamevs".equals(name)) {
+            ChangeData[] changeSet = e.getChangeSet();//获取值
+            for (ChangeData changeData : changeSet) {
+                int rowIndex = changeData.getRowIndex();
+                Object newValue = changeData.getNewValue();
+                Object oldValue = changeData.getOldValue();
+                DynamicObject payeenamevs = (DynamicObject) newValue;
+                String billpayertype = this.getModel().getValue("nckd_itemclasstypefield").toString();
+                if("bd_supplier".equals(billpayertype)){
+                    this.getModel().setValue("nckd_payeebanknumlbs",null);//行号
+                    this.getModel().setValue("nckd_payeebanknamelbs",null);//行名
+                    //刷新分录
+                    this.getView().updateView("nckd_payeebanknumlbs");
+                    this.getView().updateView("nckd_payeebanknamelbs");
+                    QFilter nckd = new QFilter("id", QCP.equals,payeenamevs.getLong("id"));
+                    payeenamevs = BusinessDataServiceHelper.loadSingle("bd_supplier", new QFilter[]{nckd});
+                    if(payeenamevs!=null){
+                        for (DynamicObject entryentity : payeenamevs.getDynamicObjectCollection("entry_bank")) {
+                            String bankaccount = entryentity.getString("bankaccount");
+                            String accountname = entryentity.getString("accountname");
+                            String isdefaultBank = entryentity.getString("isdefault_bank");
+                            DynamicObject bank = entryentity.getDynamicObject("bank");
+                            if("true".equals(isdefaultBank)){
+                                this.getModel().setValue("nckd_payeebanknumlbs", bankaccount);
+                                this.getModel().setValue("nckd_payeebanknamelbs", accountname);
+                                this.getView().updateView("nckd_payeebanknumlbs");
+                                this.getView().updateView("nckd_payeebanknamelbs");
+
+                            }
+                        }
+                    }
+                } else if ("bos_user".equals(billpayertype)) {
+                    this.getModel().setValue("nckd_payeebanknumlbs",null);//行号
+                    this.getModel().setValue("nckd_payeebanknamelbs",null);//行名
+                    //刷新分录
+                    this.getView().updateView("nckd_payeebanknumlbs");
+                    this.getView().updateView("nckd_payeebanknamelbs");
+                    QFilter nckd = new QFilter("id", QCP.equals,payeenamevs.getLong("id"));
+                    payeenamevs = BusinessDataServiceHelper.loadSingle("bos_user", new QFilter[]{nckd});
+                    if(payeenamevs!=null){
+                        QFilter nckd_skzjFilter = new QFilter("payer.id", QCP.equals,payeenamevs.getLong("id"));
+                        nckd_skzjFilter.and("isdefault", QCP.equals, "1");
+                        DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle("er_payeer", new QFilter[]{nckd_skzjFilter});
+                        if(dynamicObject!=null){
+                            DynamicObject payerbank = dynamicObject.getDynamicObject("payerbank");
+                            this.getModel().setValue("nckd_payeebanknumlbs", payerbank.getString("number"));//行号
+                            this.getModel().setValue("nckd_payeebanknamelbs", payerbank.getString("name"));//行名
+                            //刷新分录
+                            this.getView().updateView("nckd_payeebanknumlbs");
+                            this.getView().updateView("nckd_payeebanknamelbs");
+
+                        }
+                    }
+                } else if ("bos_org".equals(billpayertype)) {
+                    this.getModel().setValue("nckd_payeebanknumlbs",null);//行号
+                    this.getModel().setValue("nckd_payeebanknamelbs",null);//行名
+                    //刷新分录
+                    this.getView().updateView("nckd_payeebanknumlbs");
+                    this.getView().updateView("nckd_payeebanknamelbs");
+                    QFilter nckd = new QFilter("id", QCP.equals,payeenamevs.getLong("id"));
+                    payeenamevs = BusinessDataServiceHelper.loadSingle("bos_org", new QFilter[]{nckd});
+                    if(payeenamevs!=null){
+                        this.getModel().setValue("nckd_payeebanknumlbs", payeenamevs.getString("bankaccount"));
+                        this.getModel().setValue("nckd_payeebanknamelbs", payeenamevs.getString("ffirmname"));
+                        //刷新分录
+                        this.getView().updateView("nckd_payeebanknumlbs");
+                        this.getView().updateView("nckd_payeebanknamelbs");
+                    }
+                }
+
+            }
+        }else if("nckd_itemclasstypefield1".equals(name)){
+            this.getModel().setValue("nckd_payeebanknumlb",null);//行号
+            this.getModel().setValue("nckd_textfield55",null);//行名
+            //刷新分录
+            this.getView().updateView("nckd_payeebanknumlb");
+            this.getView().updateView("nckd_textfield55");
+        }else if("nckd_itemclasstypefield".equals(name)){
+            this.getModel().setValue("nckd_payeebanknumlbs",null);//行号
+            this.getModel().setValue("nckd_payeebanknamelbs",null);//行名
+            //刷新分录
+            this.getView().updateView("nckd_payeebanknumlbs");
+            this.getView().updateView("nckd_payeebanknamelbs");
+        }
+
+    }
+}

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

@@ -2,10 +2,17 @@ package fi.em.formPlugin;
 
 import kd.bos.bill.AbstractBillPlugIn;
 import kd.bos.dataentity.entity.DynamicObject;
+import kd.bos.entity.datamodel.ListSelectedRow;
+import kd.bos.entity.datamodel.ListSelectedRowCollection;
 import kd.bos.entity.datamodel.events.ChangeData;
 import kd.bos.entity.datamodel.events.PropertyChangedArgs;
 import kd.bos.exception.KDBizException;
+import kd.bos.form.CloseCallBack;
+import kd.bos.form.ShowFormHelper;
+import kd.bos.form.control.Control;
+import kd.bos.form.events.ClosedCallBackEvent;
 import kd.bos.form.field.BasedataEdit;
+import kd.bos.form.field.TextEdit;
 import kd.bos.form.field.events.BeforeF7SelectEvent;
 import kd.bos.form.field.events.BeforeF7SelectListener;
 import kd.bos.list.ListShowParameter;
@@ -25,8 +32,6 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
     private final static String nckd_skzhs="nckd_skzhs";//付款账户
     private final static String nckd_payeraccbanknum="nckd_payeraccbanknum";//调拨付款账户
     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_basedatafield22="nckd_basedatafield22";//资产报废编号
     private final static String nckd_basedatafield23="nckd_basedatafield23";//资产编号
     private final static String nckd_orgfield4="nckd_orgfield4";//付款信息修改收款账号111
@@ -57,10 +62,6 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         fieldEdit3.addBeforeF7SelectListener(this);
         BasedataEdit fieldEdit4 = this.getView().getControl(nckd_payeeaccbanknum);
         fieldEdit4.addBeforeF7SelectListener(this);
-        BasedataEdit fieldEdit5 = this.getView().getControl(nckd_payeebanknumlb);
-        fieldEdit5.addBeforeF7SelectListener(this);
-        BasedataEdit fieldEdit6 = this.getView().getControl(nckd_payeebanknumlbs);
-        fieldEdit6.addBeforeF7SelectListener(this);
         BasedataEdit fieldEdit7 = this.getView().getControl(nckd_basedatafield22);
         fieldEdit7.addBeforeF7SelectListener(this);
         BasedataEdit fieldEdit8 = this.getView().getControl(nckd_basedatafield23);
@@ -149,12 +150,6 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         if (StringUtils.equals(fieldKey, nckd_orgvs)){
             this.getQFilter(beforeF7SelectEvent,nckd_orgvs);
         }
-        if (StringUtils.equals(fieldKey, nckd_payeebanknumlb)){
-            this.getQFiltersfk(beforeF7SelectEvent,nckd_payeebanknumlb);
-        }
-        if (StringUtils.equals(fieldKey, nckd_payeebanknumlbs)){
-            this.getQFiltersfk(beforeF7SelectEvent,nckd_payeebanknumlbs);
-        }
     }
 
     private void getQFilter(BeforeF7SelectEvent arg0, String type) {
@@ -257,31 +252,23 @@ public class YwclF7ListtenerFromPlugin extends AbstractBillPlugIn implements Plu
         ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
         showParameter.getListFilterParameter().setFilter(filter);
     }
-    private void getQFiltersfk(BeforeF7SelectEvent arg0, String type) {
-        DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_costcompany") ;
-        if(type.equals(nckd_payeebanknumlb)){
-            DynamicObject skdata = (DynamicObject)this.getModel().getValue("nckd_payeenamev") ;
-            if(skdata ==null){
-                throw new KDBizException("收款信息付款人为空!");
-            }
-            long orgid = skdata.getLong("id");
-            QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
-            data= BusinessDataServiceHelper.loadSingle("bd_supplier","id",new QFilter[] {nckd_skzjFilter});
-        } else if (type.equals(nckd_payeebanknumlbs)) {
-            DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_payeenamevs") ;
-            if(fkdata ==null){
-                throw new KDBizException("付款信息付款人为空!");
-            }
-            long orgid = fkdata.getLong("id");
-            QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
-            data= BusinessDataServiceHelper.loadSingle("bd_supplier","id",new QFilter[] {nckd_skzjFilter});
-        }
-        QFilter filter;
-        //给基础资料添加过滤
-        filter = new QFilter("nckd_id", QCP.equals, data.getLong("id"));
-        ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
-        showParameter.getListFilterParameter().setFilter(filter);
-    }
+//    private void getQFiltersfk(BeforeF7SelectEvent arg0, String type) {
+//        DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_costcompany") ;
+//       if (type.equals(nckd_payeebanknumlbs)) {
+//            DynamicObject fkdata = (DynamicObject)this.getModel().getValue("nckd_payeenamevs") ;
+//            if(fkdata ==null){
+//                throw new KDBizException("付款信息付款人为空!");
+//            }
+//            long orgid = fkdata.getLong("id");
+//            QFilter nckd_skzjFilter = new QFilter("id", QCP.equals,orgid);
+//            data= BusinessDataServiceHelper.loadSingle("bd_supplier","id",new QFilter[] {nckd_skzjFilter});
+//        }
+//        QFilter filter;
+//        //给基础资料添加过滤
+//        filter = new QFilter("nckd_id", QCP.equals, data.getLong("id"));
+//        ListShowParameter showParameter = (ListShowParameter)arg0.getFormShowParameter();
+//        showParameter.getListFilterParameter().setFilter(filter);
+//    }
     private void getQFiltersbf(BeforeF7SelectEvent arg0, String type) {
         DynamicObject data = (DynamicObject)this.getModel().getValue("nckd_orgfield") ;
         if(data ==null){