| 
					
				 | 
			
			
				@@ -5,7 +5,6 @@ import kd.bos.dataentity.entity.DynamicObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.dataentity.entity.DynamicObjectCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.entity.datamodel.events.ChangeData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.entity.datamodel.events.PropertyChangedArgs; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.form.control.EntryGrid; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.form.field.RefBillEdit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.form.field.events.BeforeF7SelectEvent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.form.field.events.BeforeF7SelectListener; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -16,8 +15,8 @@ import kd.bos.orm.query.QFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.BusinessDataServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.EventObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements BeforeF7SelectListener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static String nckd_apfinapbill = "nckd_apfinapbill"; //应付挂账单字段 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -36,11 +35,11 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String fieldKey = arg0.getProperty().getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (StringUtils.equals(fieldKey, nckd_apfinapbill)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 生成过滤条件对象QFilter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            DynamicObject Obj = (DynamicObject) this.getModel().getValue("sourcebillid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (Obj != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Long sourcebillid = Obj.getLong("Obj"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Object nckd_sourcebillid = this.getModel().getValue("nckd_sourcebillid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (nckd_sourcebillid != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //查询暂估报销单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                QFilter filter = new QFilter("sourcebillid", QCP.equals,sourcebillid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String sourcebillid = String.valueOf(nckd_sourcebillid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                QFilter filter = new QFilter("nckd_sourcebillid", QCP.equals,sourcebillid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 filter.and("nckd_ywlx", QCP.equals, "2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject[] bxDynamicObjects = BusinessDataServiceHelper.load(nckd_er_publicreimbur_ext,"id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (bxDynamicObjects.length > 0) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -66,14 +65,14 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void propertyChanged(PropertyChangedArgs e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String fieldKey = e.getProperty().getName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        if (StringUtils.equals("nckd_real_card", fieldKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            ChangeData changeData = e.getChangeSet()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            DynamicObjectCollection dynamicObjectCollection = (DynamicObjectCollection) changeData.getNewValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            DynamicObject dynamicObject = dynamicObjectCollection.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            String number = dynamicObject.getString("number"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            System.out.println(number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (StringUtils.equals("nckd_apfinapbill", fieldKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtils.equals("nckd_real_card", fieldKey)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ChangeData changeData = e.getChangeSet()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObjectCollection dynamicObjectCollection = (DynamicObjectCollection) changeData.getNewValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for(DynamicObject  object : dynamicObjectCollection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                DynamicObject realcard = object.getDynamicObject("nckd_real_card"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject dynamicObject = dynamicObjectCollection.get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else if (StringUtils.equals("nckd_apfinapbill", fieldKey)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ChangeData changeData = e.getChangeSet()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DynamicObject dynamicObject = (DynamicObject) changeData.getNewValue(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (dynamicObject != null) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,20 +81,28 @@ public class FinapbillBeforeF7SelectSample extends AbstractFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 QFilter filter = new QFilter("id", QCP.equals,id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject[] yfgzDynamicObjects = BusinessDataServiceHelper.load(nckd_ap_finapbill_gz,"id",new QFilter[] {filter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject gzInfo = BusinessDataServiceHelper.loadSingle(yfgzDynamicObjects[0].getPkValue(), yfgzDynamicObjects[0].getDynamicObjectType().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String settlestatus = gzInfo.getString("settlestatus"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String billno = gzInfo.getString("billno");//单据编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                BigDecimal amount = gzInfo.getBigDecimal("amount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DynamicObject department = gzInfo.getDynamicObject("department");//费用承担部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                DynamicObject payorg = gzInfo.getDynamicObject("payorg");//费用承担公司 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //费用项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //合同号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                //往来单位 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                DynamicObject org = gzInfo.getDynamicObject("org");//结算组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                DynamicObject detailentry = gzInfo.getDynamicObjectCollection("detailentry").get(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                DynamicObject expenseitem = detailentry.getDynamicObject("expenseitem");//费用项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                DynamicObject receivingsupplierid = gzInfo.getDynamicObject("receivingsupplierid");//供应商 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Date bookdate = gzInfo.getDate("bookdate"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String remark = gzInfo.getString("remark"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                BigDecimal pricetaxtotal = gzInfo.getBigDecimal("pricetaxtotal"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //给冲预付借款赋值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 int rowIndex = this.getModel().createNewEntryRow("writeoffmoney"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.getModel().setValue("curraccloanamount",amount,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.getModel().setValue("sourceentrycostdept",department,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.getModel().setValue("sourceentrycostcompany",payorg,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("loanbillnov1",billno,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("sourceentrycostdept",org,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("sourceentrycostcompany",org,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("sourceexpenseitem",expenseitem,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("srcentrywlunit",receivingsupplierid,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("loanapplydatev1",bookdate,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("loandescriptionv1",remark,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("loanamount",pricetaxtotal,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("accloanamount",pricetaxtotal,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("currloanamount",pricetaxtotal,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("curraccloanamount",pricetaxtotal,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //刷新冲预付借款分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.getView().updateView("writeoffmoney"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 |