浏览代码

Merge remote-tracking branch 'origin/master'

zhouger 9 月之前
父节点
当前提交
38c245c14a

+ 96 - 41
src/main/java/fi/em/editPlugin/BusinessProcessingEditPlugin.java

@@ -23,7 +23,8 @@ import java.util.HashMap;
 
 public class BusinessProcessingEditPlugin extends AbstractListPlugin implements Plugin {
     public static String btn_cysgzmx = "cysgzmx"; //冲应收挂账
-    public static String btn_cyfgzmx = "cyfgzmx"; //操作
+    public static String btn_cyfgzmx = "cyfgzmx"; //冲应付挂账
+    public static String btn_pzht = "pzht"; //凭租合同
     public static String nckd_agentparameterf7 = "nckd_ywclskf";//动态列表
     private static String bos_org = "bos_org"; //组织金额标识
 
@@ -32,21 +33,31 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
         String operateKey = e.getOperateKey();
         if (btn_cysgzmx.equals(e.getOperateKey())) {
             Object value = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
-            String payeenamev = value.toString();//当前单据付款人
-            if (payeenamev == null){
+            DynamicObject dynamicObject = (DynamicObject)value;
+            if (dynamicObject == null){
                 throw new KDBizException("收款处理付款人为空!");
             }
+            String payeenamev = dynamicObject.getString("name");//当前单据付款供应商
             nckd_agentparameterf7="nckd_cyfgzmxf7";
             showParameter(nckd_agentparameterf7, btn_cysgzmx,payeenamev,btn_cysgzmx);//调用弹出页面
         }else if (btn_cyfgzmx.equals(e.getOperateKey())) {
             Object value = this.getModel().getValue("nckd_payeenamevs");//获取当前单据付款人
             DynamicObject dynamicObject = (DynamicObject)value;
-            String payeenamev = dynamicObject.getString("billno");//当前单据付款供应商编码
-            if (payeenamev == null){
+            if (dynamicObject == null){
                 throw new KDBizException("付款处理付款人为空!");
             }
+            String payeenamev = dynamicObject.getString("number");//当前单据付款供应商编码
             nckd_agentparameterf7="nckd_cysgzmxf7";
             showParameter(nckd_agentparameterf7, btn_cysgzmx,payeenamev,btn_cyfgzmx);//调用弹出页面
+        } else if (btn_pzht.equals(e.getOperateKey())){
+            Object value = this.getModel().getValue("nckd_costcompany");//获取当前单据核算组织
+            DynamicObject dynamicObject = (DynamicObject)value;
+            if (dynamicObject == null){
+                throw new KDBizException("费用承担公司为空!");
+            }
+            String payeenamev = dynamicObject.getString("number");//当前单据付款供应商编码
+            nckd_agentparameterf7="nckd_pzhtf7";
+            showParameter(nckd_agentparameterf7, btn_pzht,payeenamev,btn_cyfgzmx);//调用弹出页面
         }
     }
 
@@ -86,6 +97,17 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
             //判断空
             if (StringUtils.isNotBlank(reJaStr)) {
                 JSONArray reJa = JSONArray.parseArray(reJaStr);//返回信息数组
+                JSONObject reJos = reJa.getJSONObject(0);
+                billtype = reJos.getString("billtype");
+                controls = reJos.getString("controls");
+                //删除分录信息
+                if(btn_cysgzmx.equals(controls)){
+                    this.getModel().deleteEntryData("nckd_entryentity1");
+                } else if (btn_cyfgzmx.equals(controls)) {
+                    this.getModel().deleteEntryData("nckd_entryentity2");
+                }else if (btn_pzht.equals(controls)) {
+                    this.getModel().deleteEntryData("nckd_entryentity3");
+                }
                 //循环返回数组插入分录
                 for(int i =0;i<reJa.size();i++){
                     //当前循环行
@@ -93,63 +115,96 @@ public class BusinessProcessingEditPlugin extends AbstractListPlugin implements
                     billtype = reJo.getString("billtype");
                     controls = reJo.getString("controls");
                     if(btn_cysgzmx.equals(controls)){
-                    //删除分录信息
-                    this.getModel().deleteEntryData(billtype);
                     String billno = reJo.getString("nckd_cysnumber");
-                    String cysorgnumber = reJo.getString("nckd_cysorg");
-                    QFilter applyorgFilter = new QFilter("number", QCP.equals,cysorgnumber);
-                    applyorgFilter.and("enable", QCP.equals,"1");
-                    //组织实体
-                    DynamicObject applyorgaccount = BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {applyorgFilter});
-                    //往来单位
-                    String wldw = reJo.getString("nckd_cyswldw");
-                    QFilter wldwFilter = new QFilter("name", QCP.like,wldw);
-                    DynamicObject[] wldwDynamicObject = BusinessDataServiceHelper.load("nckd_cas_arbill","id,number",new QFilter[] {wldwFilter});
-                    DynamicObject wldwDynamicObjects = BusinessDataServiceHelper.loadSingle(wldwDynamicObject[0].getPkValue(), wldwDynamicObject[0].getDynamicObjectType().getName());
+                    String cysfyxm = reJo.getString("nckd_cysfyxm");
+                    QFilter nckd_cysfyxmFilter = new QFilter("number", QCP.equals,cysfyxm);
+                    DynamicObject nckd_cysfyxm = BusinessDataServiceHelper.loadSingle("er_expenseitemedit","id",new QFilter[] {nckd_cysfyxmFilter});
                     Date bizdate = reJo.getDate("nckd_cysdata");
                     BigDecimal settleamount = reJo.getBigDecimal("nckd_cysgzbalance");
                     //新增分录行
-                    int rowIndex = this.getModel().createNewEntryRow(billtype);
+                    int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity1");
                     //set分录字段
                     this.getModel().setValue("nckd_cysnumber", billno, rowIndex);
-                    this.getModel().setValue("nckd_cysorg", applyorgaccount, rowIndex);
-                    this.getModel().setValue("nckd_cyssection", applyorgaccount, rowIndex);
-                    this.getModel().setValue("nckd_cyswldw", wldwDynamicObjects, rowIndex);
+                    Object nckd_costcompany = this.getModel().getValue("nckd_costcompany");//获取当前单据付款人
+                    DynamicObject costcompany = (DynamicObject)nckd_costcompany;
+                    this.getModel().setValue("nckd_cysorg", costcompany, rowIndex);
+                    Object nckd_costdept = this.getModel().getValue("nckd_costdept");//获取当前单据付款人
+                    DynamicObject costdept = (DynamicObject)nckd_costdept;
+                    this.getModel().setValue("nckd_cyssection", costdept, rowIndex);
+                    Object value = this.getModel().getValue("nckd_payeenamev");//获取当前单据付款人
+                    DynamicObject dynamicObject = (DynamicObject)value;
+                    this.getModel().setValue("nckd_cyswldw", dynamicObject, rowIndex);
                     this.getModel().setValue("nckd_cysdata", bizdate, rowIndex);
                     this.getModel().setValue("nckd_cysgzbalance", settleamount, rowIndex);
                     this.getModel().setValue("nckd_cyscxbalance", settleamount, rowIndex);
-
-                    //刷新分录
-                     this.getView().updateView(billtype);
+                    if(cysfyxm!=null && !cysfyxm.isEmpty()){
+                        this.getModel().setValue("nckd_cysfyxm", nckd_cysfyxm, rowIndex);
+                    }
+                    } else if (btn_pzht.equals(controls)) {
+                        //核算组织
+                        String pzhtorg = reJo.getString("nckd_pzhtorg");
+                        QFilter nckd_orgamountFilter = new QFilter("number", QCP.equals,pzhtorg);
+                        nckd_orgamountFilter.and("enable", QCP.equals,"1");
+                        DynamicObject nckd_pzhtorg = BusinessDataServiceHelper.loadSingle(bos_org,"id",new QFilter[] {nckd_orgamountFilter});
+                        //合同号
+                        String pzhthth = reJo.getString("nckd_pzhthth");
+                        //合同名称
+                        String pzhtname = reJo.getString("nckd_pzhtname");
+                        //承租方
+                        String pzhtczf = reJo.getString("nckd_pzhtczf");
+                        QFilter nckd_pzhtczfFilter = new QFilter("number", QCP.equals,pzhtczf);
+                        DynamicObject nckd_pzhtczf = BusinessDataServiceHelper.loadSingle("bd_supplier","id",new QFilter[] {nckd_pzhtczfFilter});
+                        //资产名称
+                        String pzhtzcname = reJo.getString("nckd_pzhtzcname");
+                        //合同签订日期
+                        Date bizdate = reJo.getDate("nckd_ppzhtdata");
+                        //收款余额
+                        BigDecimal pzhtskbalance = reJo.getBigDecimal("nckd_pzhtskbalance");
+                        //冲销余额
+                        BigDecimal pzhtcxbalance = reJo.getBigDecimal("nckd_pzhtcxbalance");
+                        //新增分录行
+                        int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity3");
+                        //set分录字段
+                        this.getModel().setValue("nckd_pzhtorg", nckd_pzhtorg, rowIndex);
+                        this.getModel().setValue("nckd_pzhthth", pzhthth, rowIndex);
+                        this.getModel().setValue("nckd_pzhtname", pzhtname, rowIndex);
+                        this.getModel().setValue("nckd_pzhtczf", nckd_pzhtczf, rowIndex);
+                        this.getModel().setValue("nckd_pzhtzcname", pzhtzcname, rowIndex);
+                        this.getModel().setValue("nckd_cyfdata", bizdate, rowIndex);
+                        this.getModel().setValue("nckd_pzhtskbalance", pzhtskbalance, rowIndex);
+                        this.getModel().setValue("nckd_pzhtcxbalance", pzhtcxbalance, rowIndex);
                     } else if (btn_cyfgzmx.equals(controls)) {
-                        //删除分录信息
-                        this.getModel().deleteEntryData(billtype);
                         String billno = reJo.getString("nckd_cyfnumber");
-                        String cysorgnumber = reJo.getString("nckd_cyforg");
-                        QFilter applyorgFilter = new QFilter("number", QCP.equals,cysorgnumber);
-                        applyorgFilter.and("enable", QCP.equals,"1");
-                        //组织实体
-                        DynamicObject applyorgaccount = BusinessDataServiceHelper.loadSingle("bos_org","id",new QFilter[] {applyorgFilter});
-                        //往来单位
-                        String wldw = reJo.getString("nckd_cyfwldw");
-                        QFilter wldwFilter = new QFilter("name", QCP.like,wldw);
-                        DynamicObject[] wldwDynamicObject = BusinessDataServiceHelper.load("nckd_cas_arbill","id,number",new QFilter[] {wldwFilter});
-                        DynamicObject wldwDynamicObjects = BusinessDataServiceHelper.loadSingle(wldwDynamicObject[0].getPkValue(), wldwDynamicObject[0].getDynamicObjectType().getName());
                         Date bizdate = reJo.getDate("nckd_cyfdata");
+                        String nckdCyffyxm = reJo.getString("nckd_cyffyxm");
+                        QFilter nckd_cysfyxmFilter = new QFilter("number", QCP.equals,nckdCyffyxm);
+                        DynamicObject nckd_cyffyxm = BusinessDataServiceHelper.loadSingle("er_expenseitemedit","id",new QFilter[] {nckd_cysfyxmFilter});
                         BigDecimal settleamount = reJo.getBigDecimal("nckd_cyfgzbalance");
                         //新增分录行
-                        int rowIndex = this.getModel().createNewEntryRow(billtype);
+                        int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity2");
                         //set分录字段
                         this.getModel().setValue("nckd_cyfnumber", billno, rowIndex);
-                        this.getModel().setValue("nckd_cyforg", applyorgaccount, rowIndex);
-                        this.getModel().setValue("nckd_cyfwldw", wldwDynamicObjects, rowIndex);
+                        Object nckd_costcompany = this.getModel().getValue("nckd_costcompany");//获取当前单据付款人
+                        DynamicObject costcompany = (DynamicObject)nckd_costcompany;
+                        this.getModel().setValue("nckd_cyforg", costcompany, rowIndex);
+                        Object value = this.getModel().getValue("nckd_payeenamevs");//获取当前单据付款人
+                        DynamicObject dynamicObjects = (DynamicObject)value;
+                        this.getModel().setValue("nckd_cyfwldw", dynamicObjects, rowIndex);
                         this.getModel().setValue("nckd_cyfdata", bizdate, rowIndex);
                         this.getModel().setValue("nckd_cyfgzbalance", settleamount, rowIndex);
                         this.getModel().setValue("nckd_cyfcxbalance", settleamount, rowIndex);
-                        //刷新分录
-                        this.getView().updateView(billtype);
+                        if(nckdCyffyxm!=null && !nckdCyffyxm.isEmpty()){
+                            this.getModel().setValue("nckd_cyffyxm", nckd_cyffyxm, rowIndex);
+                        }
+
                     }
                 }
+                //刷新分录
+                this.getView().updateView("nckd_entryentity1");
+                //刷新分录
+                this.getView().updateView("nckd_entryentity2");
+                //刷新分录
+                this.getView().updateView("nckd_entryentity3");
             }
         }
     }

+ 139 - 115
src/main/java/fi/em/formPlugin/BusinessProcessingPlugin.java

@@ -22,7 +22,7 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
     private final static String KEY_OK = "btnok";//页面取消按钮标识
     private final static String KEY_CANCEL = "btncancel";//页面取消按钮标识
     private final static String KEY_SEARCH = "search";//动态表单查询按钮操作
-    private final static String FORMID_ENTRY = "nckd_cyfgzmxf7";//动态表单单据体标识
+    private final static String FORMID_ENTRY = "nckd_entryentity";//动态表单单据体标识
     private static String nckd_agentparameter = "nckd_agentparameter";//动因参数基础资料
 
     /**
@@ -84,54 +84,69 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
         String payeenamev = (String) customParams.get("payeenamev");
         String controls = (String) customParams.get("controls");
         String billtype = (String) customParams.get("billtype");
-        if (payeenamev == null) {
+        if (payeenamev == null || payeenamev.isEmpty()) {
             throw new KDBizException("收款处理付款人为空!");
         }
         if("cysgzmx".equals(controls)) {
             List<JSONObject> resdate = new ArrayList<>();
             //历史数据清除
-            this.getModel().deleteEntryData(billtype);
+            this.getModel().deleteEntryData("nckd_entryentity");
             //构建查询应收挂账单参数
-            QFilter nckd_orgamountFilter = new QFilter("payeenamev", QCP.like, payeenamev);
-            nckd_orgamountFilter.and("status", QCP.equals, "C");
-            nckd_orgamountFilter.and("unsettleamount", QCP.large_than, new BigDecimal(0));
+            QFilter nckd_orgamountFilter = new QFilter("unsettleamount", QCP.large_than, new BigDecimal(0));
+            nckd_orgamountFilter.and("billstatus", QCP.equals, "C");
+            nckd_orgamountFilter.and("payeename", QCP.like, payeenamev);
+            nckd_orgamountFilter.and("unsettleamount", QCP.is_notnull, "");
             DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("nckd_cas_arbill", "id", new QFilter[]{nckd_orgamountFilter});
             for (int c = 0; c < nckd_cas_arbill.length; c++) {
                 //当前单头
                 DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[c].getPkValue(), nckd_cas_arbill[c].getDynamicObjectType().getName());
                 //单据编号
                 String billno = dynamicObject.getString("billno");
-                //费用承担组织部门
-                DynamicObject applyorg = dynamicObject.getDynamicObject("applyorg");
-                //往来单位
-                String wldw = dynamicObject.getString("payeenamev");
-                QFilter wldwFilter = new QFilter("name", QCP.like, wldw);
-                DynamicObject[] wldwDynamicObject = BusinessDataServiceHelper.load("nckd_cas_arbill", "id,number", new QFilter[]{wldwFilter});
-                DynamicObject wldwDynamicObjects = BusinessDataServiceHelper.loadSingle(wldwDynamicObject[0].getPkValue(), wldwDynamicObject[0].getDynamicObjectType().getName());
-                String wldwnumber = wldwDynamicObjects.getString("number");
                 //应收挂账日期
                 Date bizdate = dynamicObject.getDate("bizdate");
                 //应收挂账金额/冲销金额
                 BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
-                int rowIndex = this.getModel().createNewEntryRow(billtype);
-                //赋值给新增分录
-                this.getModel().setValue("nckd_cysnumber", billno, rowIndex);
-                this.getModel().setValue("nckd_cysorg", applyorg, rowIndex);
-                this.getModel().setValue("nckd_cyssection", applyorg, rowIndex);
-                this.getModel().setValue("nckd_cyswldw", wldwDynamicObjects, rowIndex);
-                this.getModel().setValue("nckd_cysdata", bizdate, rowIndex);
-                this.getModel().setValue("nckd_cysgzbalance", settleamount, rowIndex);
-                this.getModel().setValue("nckd_cyscxbalance", settleamount, rowIndex);
-                //将选中的数据放到缓存中
-                JSONObject obj = new JSONObject();
-                obj.put("nckd_cysnumber", billno);
-                obj.put("nckd_cysorg", applyorg.getString("number"));
-                obj.put("nckd_cyswldw", wldwnumber);
-                obj.put("nckd_cysdata", bizdate);
-                obj.put("nckd_cysgzbalance", settleamount);
-                obj.put("controls", controls);
-                obj.put("billtype", billtype);
-                resdate.add(obj);
+                for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("entry")) {
+                    DynamicObject eMaterial = entryentity.getDynamicObject("e_material");//物料
+                    DynamicObject eExpenseitem = entryentity.getDynamicObject("e_expenseitem");//费用项目
+                    DynamicObject settleorg = entryentity.getDynamicObject("settleorg");//结算组织
+                    BigDecimal eActamt = entryentity.getBigDecimal("e_actamt");//实付金额
+                    DynamicObject costcenter = entryentity.getDynamicObject("costcenter");//成本中心
+                    DynamicObject productline = entryentity.getDynamicObject("productline");//产品线
+                    BigDecimal eDiscountamt = entryentity.getBigDecimal("e_discountamt");//现金折扣
+                    DynamicObject project = entryentity.getDynamicObject("project");//项目
+                    DynamicObject eFundflowitem = entryentity.getDynamicObject("e_fundflowitem");//资金用途
+                    String contractnumber = entryentity.getString("contractnumber");//合同
+                    int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity");
+                    //赋值给新增分录
+                    this.getModel().setValue("nckd_cysnumber", billno, rowIndex);
+                    this.getModel().setValue("nckd_cysdata", bizdate, rowIndex);
+                    this.getModel().setValue("nckd_cysgzbalance", settleamount, rowIndex);
+                    this.getModel().setValue("nckd_cyscxbalance", settleamount, rowIndex);
+                    //分录数据
+                    if(eMaterial!=null){this.getModel().setValue("nckd_materielfield", eMaterial, rowIndex);}
+                    if(eExpenseitem!=null){this.getModel().setValue("nckd_cysfyxm", eExpenseitem, rowIndex);}
+                    if(settleorg!=null){this.getModel().setValue("nckd_cyssection", settleorg, rowIndex);}
+                    if(eActamt!=null){this.getModel().setValue("nckd_cyssfje", eActamt, rowIndex);}
+                    if(costcenter!=null){this.getModel().setValue("nckd_costcenter", costcenter, rowIndex);}
+                    if(productline!=null){this.getModel().setValue("nckd_productline", productline, rowIndex);}
+                    if(eDiscountamt!=null){this.getModel().setValue("nckd_e_discountamt", eDiscountamt, rowIndex);}
+                    if(project!=null){this.getModel().setValue("nckd_project", project, rowIndex);}
+                    if(eFundflowitem!=null){this.getModel().setValue("nckd_e_fundflowitem", eFundflowitem, rowIndex);}
+                    if(contractnumber!=null){this.getModel().setValue("nckd_contractnumber", contractnumber, rowIndex);}
+                    //将选中的数据放到缓存中
+                    JSONObject obj = new JSONObject();
+                    obj.put("nckd_cysnumber", billno);
+                    obj.put("nckd_cysdata", bizdate);
+                    if(eExpenseitem!=null){
+                        obj.put("nckd_cysfyxm", eExpenseitem.getString("number"));
+                    }else { obj.put("nckd_cysfyxm", "");}
+                    obj.put("nckd_cysgzbalance", settleamount);
+                    obj.put("controls", controls);
+                    obj.put("billtype", billtype);
+                    resdate.add(obj);
+                }
+
             }
 
             String pageId = this.getView().getPageId();
@@ -140,45 +155,111 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
         }else if("cyfgzmx".equals(controls)){
             List<JSONObject> resdate = new ArrayList<>();
             //历史数据清除
-            this.getModel().deleteEntryData(billtype);
+            this.getModel().deleteEntryData("nckd_entryentity");
             //构建查询应收挂账单参数
-            QFilter nckd_orgamountFilter = new QFilter("billno", QCP.equals, payeenamev);
-            nckd_orgamountFilter.and("status", QCP.equals, "C");
+            QFilter nckd_orgamountFilter = new QFilter("asstact.number", QCP.equals, payeenamev);
+            nckd_orgamountFilter.and("billstatus", QCP.equals, "C");
             nckd_orgamountFilter.and("unsettleamount", QCP.large_than, new BigDecimal(0));
-            DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("nckd_ap_finapbill_gz", "id", new QFilter[]{nckd_orgamountFilter});
+            DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("ap_finapbill", "id", new QFilter[]{nckd_orgamountFilter});
             for (int c = 0; c < nckd_cas_arbill.length; c++) {
                 //当前单头
                 DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[c].getPkValue(), nckd_cas_arbill[c].getDynamicObjectType().getName());
                 //单据编号
                 String billno = dynamicObject.getString("billno");
-                //费用承担组织部门
-                DynamicObject applyorg = dynamicObject.getDynamicObject("org");
-                //往来单位
-                String wldw = dynamicObject.getString("asstact");
-                QFilter wldwFilter = new QFilter("name", QCP.like, wldw);
-                DynamicObject[] wldwDynamicObject = BusinessDataServiceHelper.load("nckd_cas_arbill", "id,number", new QFilter[]{wldwFilter});
-                DynamicObject wldwDynamicObjects = BusinessDataServiceHelper.loadSingle(wldwDynamicObject[0].getPkValue(), wldwDynamicObject[0].getDynamicObjectType().getName());
-                String wldwnumber = wldwDynamicObjects.getString("number");
                 //应收挂账日期
                 Date bizdate = dynamicObject.getDate("bizdate");
                 //应收挂账金额/冲销金额
                 BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
-                int rowIndex = this.getModel().createNewEntryRow(billtype);
+                for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("detailentry")) {
+                    DynamicObject material = entryentity.getDynamicObject("material");
+                    String spectype = entryentity.getString("spectype");
+                    DynamicObject expenseitem = entryentity.getDynamicObject("expenseitem");
+                    DynamicObject measureunit = entryentity.getDynamicObject("measureunit");
+                    BigDecimal quantity = entryentity.getBigDecimal("quantity");
+                    BigDecimal price = entryentity.getBigDecimal("price");
+                    DynamicObject taxrateid = entryentity.getDynamicObject("taxrateid");
+                    String discountmode = entryentity.getString("discountmode");
+                    int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity");
+                    //赋值给新增分录
+                    this.getModel().setValue("nckd_cyfnumber", billno, rowIndex);
+                    this.getModel().setValue("nckd_cyfdata", bizdate, rowIndex);
+                    this.getModel().setValue("nckd_cyfgzbalance", settleamount, rowIndex);
+                    this.getModel().setValue("nckd_cyfcxbalance", settleamount, rowIndex);
+                    //分录字段
+                    if(material!=null){this.getModel().setValue("nckd_materielfield",material , rowIndex);}
+                    this.getModel().setValue("nckd_spectype", spectype, rowIndex);
+                    if(expenseitem!=null){this.getModel().setValue("nckd_expenseitem",expenseitem , rowIndex);}
+                    if(measureunit!=null){this.getModel().setValue("nckd_measureunit",measureunit , rowIndex);}
+                    this.getModel().setValue("nckd_quantity",quantity , rowIndex);
+                    this.getModel().setValue("nckd_price",price , rowIndex);
+                    if(taxrateid!=null){this.getModel().setValue("nckd_taxrateid",taxrateid , rowIndex);}
+                    this.getModel().setValue("nckd_discountmode", discountmode, rowIndex);
+                    //将选中的数据放到缓存中
+                    JSONObject obj = new JSONObject();
+                    obj.put("nckd_cyfnumber", billno);
+                    obj.put("nckd_cyfwldw", "");
+                    obj.put("nckd_cyfdata", bizdate);
+                    obj.put("nckd_cyfgzbalance", settleamount);
+                    if(expenseitem!=null){
+                        obj.put("nckd_cyffyxm", expenseitem.getString("number"));
+                    }else { obj.put("nckd_cyffyxm", "");}
+                    obj.put("controls", controls);
+                    obj.put("billtype", billtype);
+                    resdate.add(obj);
+                }
+
+            }
+
+            String pageId = this.getView().getPageId();
+            String listStr = SerializationUtils.toJsonString(resdate);
+            this.getPageCache().put(pageId, listStr);
+        }else if ("pzht".equals(controls)) {
+            List<JSONObject> resdate = new ArrayList<>();
+            //历史数据清除
+            this.getModel().deleteEntryData("nckd_entryentity");
+            //构建查询应收挂账单参数
+            QFilter nckd_orgamountFilter = new QFilter("org.number", QCP.equals, payeenamev);
+            nckd_orgamountFilter.and("status", QCP.equals, "C");
+            nckd_orgamountFilter.and("nckd_amountfield1", QCP.large_than, new BigDecimal(0));
+            nckd_orgamountFilter.and("nckd_amountfield1", QCP.is_notnull,"");
+            DynamicObject[] fa_lease_contract = BusinessDataServiceHelper.load("fa_lease_contract", "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());
+               //核算组织
+                DynamicObject org = dynamicObject.getDynamicObject("org");
+                //合同号
+                String number = dynamicObject.getString("number");
+                //合同名称
+                String name = dynamicObject.getString("name");
+                //承租方
+                DynamicObject leaser = dynamicObject.getDynamicObject("leaser");
+                //资产名称
+                String assetname = dynamicObject.getString("assetname");
+                //合同签订日期
+                Date contrsigndate = dynamicObject.getDate("contrsigndate");
+                //收款余额/冲销金额
+                BigDecimal nckdAmountfield1 = dynamicObject.getBigDecimal("nckd_amountfield1");
+                int rowIndex = this.getModel().createNewEntryRow("nckd_entryentity");
                 //赋值给新增分录
-                this.getModel().setValue("nckd_cyfnumber", billno, rowIndex);
-                this.getModel().setValue("nckd_cyforg", applyorg, rowIndex);
-                this.getModel().setValue("nckd_cyffyxm", "", rowIndex);
-                this.getModel().setValue("nckd_cyfwldw", wldwDynamicObjects, rowIndex);
-                this.getModel().setValue("nckd_cyfdata", bizdate, rowIndex);
-                this.getModel().setValue("nckd_cyfgzbalance", settleamount, rowIndex);
-                this.getModel().setValue("nckd_cyfcxbalance", settleamount, rowIndex);
+                this.getModel().setValue("nckd_pzhtorg", org, rowIndex);
+                this.getModel().setValue("nckd_pzhthth", number, rowIndex);
+                this.getModel().setValue("nckd_pzhtname", name, rowIndex);
+                this.getModel().setValue("nckd_pzhtczf", leaser, rowIndex);
+                this.getModel().setValue("nckd_pzhtzcname", assetname, rowIndex);
+                this.getModel().setValue("nckd_ppzhtdata", contrsigndate, rowIndex);
+                this.getModel().setValue("nckd_pzhtskbalance", nckdAmountfield1, rowIndex);
+                this.getModel().setValue("nckd_pzhtcxbalance", nckdAmountfield1, rowIndex);
                 //将选中的数据放到缓存中
                 JSONObject obj = new JSONObject();
-                obj.put("nckd_cyfnumber", billno);
-                obj.put("nckd_cyforg", applyorg.getString("number"));
-                obj.put("nckd_cyfwldw", wldwnumber);
-                obj.put("nckd_cyfdata", bizdate);
-                obj.put("nckd_cyfgzbalance", settleamount);
+                obj.put("nckd_pzhtorg", org.getString("number"));
+                obj.put("nckd_pzhthth", number);
+                obj.put("nckd_pzhtname", name);
+                obj.put("nckd_pzhtczf", leaser.getString("number"));
+                obj.put("nckd_pzhtzcname", assetname);
+                obj.put("nckd_ppzhtdata", contrsigndate);
+                obj.put("nckd_pzhtskbalance", nckdAmountfield1);
+                obj.put("nckd_pzhtcxbalance", nckdAmountfield1);
                 obj.put("controls", controls);
                 obj.put("billtype", billtype);
                 resdate.add(obj);
@@ -191,62 +272,5 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
     }
 
 
-    @Override
-    public void afterDoOperation(AfterDoOperationEventArgs e) {
-        if (KEY_SEARCH.equals(e.getOperateKey())) {
-            DynamicObject period = (DynamicObject) this.getModel().getValue("nckd_typeagent");
-            //获取父页面传入数据
-            Map<String, Object> customParams = this.getView().getFormShowParameter().getCustomParams();
-            String orgnumber = (String) customParams.get("orgnumber");
-            String orgid = (String) customParams.get("orgid");
-            if (orgnumber == null){
-                throw new KDBizException("付费承担公司为空!");
-            }
-            List<JSONObject> resdate = new ArrayList<>();
-            //历史数据清除
-            this.getModel().deleteEntryData(FORMID_ENTRY);
-            //查询动因参数基础资料
-            QFilter nckd_orgamountFilter = new QFilter("nckd_unappliedorg.number", QCP.equals,orgnumber);
-            if(period !=null){
-                period = BusinessDataServiceHelper.loadSingle(period.getPkValue(),period.getDynamicObjectType().getName());
-                String name = period.getString("name");
-                if(name!=null && !name.isEmpty()){
-                    nckd_orgamountFilter.and("nckd_typeagent.name", QCP.equals,name);
-                }
-            }
-            nckd_orgamountFilter.and("status", QCP.equals,"C");
-            DynamicObject[] nckd_orgamountaccount = BusinessDataServiceHelper.load(nckd_agentparameter,"id,number",new QFilter[] {nckd_orgamountFilter});
-            //循环动因参数基础资料
-            for (int c=0;c<nckd_orgamountaccount.length;c++){
-                //当前行
-                DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_orgamountaccount[c].getPkValue(), nckd_orgamountaccount[c].getDynamicObjectType().getName());
-                //动因类型
-                DynamicObject nckdTypeagent = dynamicObject.getDynamicObject("nckd_typeagent");
-                //循环分录
-                for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("nckd_entryentity")) {
-                    //当前分录行分摊组织
-                    DynamicObject nckdShareorg = entryentity.getDynamicObject("nckd_shareorg");
-                    //当前分录行动因值
-                    BigDecimal nckdAgentvalue = entryentity.getBigDecimal("nckd_agentvalue");
-                    //新增动态单据分录行
-                    int rowIndex = this.getModel().createNewEntryRow(FORMID_ENTRY);
-                    //赋值给分录
-                    this.getModel().setValue("nckd_shareorg", nckdShareorg, rowIndex);
-                    this.getModel().setValue("nckd_agentvalue", nckdAgentvalue, rowIndex);
-                    this.getModel().setValue("nckd_agenttype", nckdTypeagent, rowIndex);
-                    //存放缓存
-                    JSONObject obj = new JSONObject();
-                    obj.put("nckd_shareorg",nckdShareorg.getString("number"));
-                    obj.put("nckd_agentvalue",nckdAgentvalue);
-                    resdate.add(obj);
-                }
-            }
-            String pageId = this.getView().getPageId();
-            String listStr = SerializationUtils.toJsonString(resdate);
-            this.getPageCache().put(pageId, listStr);
-//        initTable(isInform,isForce,startDate,endDate,null);
-
 
-        }
-    }
 }