|  | @@ -22,7 +22,7 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
 | 
											
												
													
														|  |      private final static String KEY_OK = "btnok";//页面取消按钮标识
 |  |      private final static String KEY_OK = "btnok";//页面取消按钮标识
 | 
											
												
													
														|  |      private final static String KEY_CANCEL = "btncancel";//页面取消按钮标识
 |  |      private final static String KEY_CANCEL = "btncancel";//页面取消按钮标识
 | 
											
												
													
														|  |      private final static String KEY_SEARCH = "search";//动态表单查询按钮操作
 |  |      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";//动因参数基础资料
 |  |      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 payeenamev = (String) customParams.get("payeenamev");
 | 
											
												
													
														|  |          String controls = (String) customParams.get("controls");
 |  |          String controls = (String) customParams.get("controls");
 | 
											
												
													
														|  |          String billtype = (String) customParams.get("billtype");
 |  |          String billtype = (String) customParams.get("billtype");
 | 
											
												
													
														|  | -        if (payeenamev == null) {
 |  | 
 | 
											
												
													
														|  | 
 |  | +        if (payeenamev == null || payeenamev.isEmpty()) {
 | 
											
												
													
														|  |              throw new KDBizException("收款处理付款人为空!");
 |  |              throw new KDBizException("收款处理付款人为空!");
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |          if("cysgzmx".equals(controls)) {
 |  |          if("cysgzmx".equals(controls)) {
 | 
											
												
													
														|  |              List<JSONObject> resdate = new ArrayList<>();
 |  |              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});
 |  |              DynamicObject[] nckd_cas_arbill = BusinessDataServiceHelper.load("nckd_cas_arbill", "id", new QFilter[]{nckd_orgamountFilter});
 | 
											
												
													
														|  |              for (int c = 0; c < nckd_cas_arbill.length; c++) {
 |  |              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());
 |  |                  DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[c].getPkValue(), nckd_cas_arbill[c].getDynamicObjectType().getName());
 | 
											
												
													
														|  |                  //单据编号
 |  |                  //单据编号
 | 
											
												
													
														|  |                  String billno = dynamicObject.getString("billno");
 |  |                  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");
 |  |                  Date bizdate = dynamicObject.getDate("bizdate");
 | 
											
												
													
														|  |                  //应收挂账金额/冲销金额
 |  |                  //应收挂账金额/冲销金额
 | 
											
												
													
														|  |                  BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
 |  |                  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();
 |  |              String pageId = this.getView().getPageId();
 | 
											
										
											
												
													
														|  | @@ -140,45 +155,111 @@ public class BusinessProcessingPlugin extends AbstractFormPlugin implements Plug
 | 
											
												
													
														|  |          }else if("cyfgzmx".equals(controls)){
 |  |          }else if("cyfgzmx".equals(controls)){
 | 
											
												
													
														|  |              List<JSONObject> resdate = new ArrayList<>();
 |  |              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));
 |  |              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++) {
 |  |              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());
 |  |                  DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(nckd_cas_arbill[c].getPkValue(), nckd_cas_arbill[c].getDynamicObjectType().getName());
 | 
											
												
													
														|  |                  //单据编号
 |  |                  //单据编号
 | 
											
												
													
														|  |                  String billno = dynamicObject.getString("billno");
 |  |                  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");
 |  |                  Date bizdate = dynamicObject.getDate("bizdate");
 | 
											
												
													
														|  |                  //应收挂账金额/冲销金额
 |  |                  //应收挂账金额/冲销金额
 | 
											
												
													
														|  |                  BigDecimal settleamount = dynamicObject.getBigDecimal("settleamount");
 |  |                  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();
 |  |                  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("controls", controls);
 | 
											
												
													
														|  |                  obj.put("billtype", billtype);
 |  |                  obj.put("billtype", billtype);
 | 
											
												
													
														|  |                  resdate.add(obj);
 |  |                  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);
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -        }
 |  | 
 | 
											
												
													
														|  | -    }
 |  | 
 | 
											
												
													
														|  |  }
 |  |  }
 |