| 
					
				 | 
			
			
				@@ -1,8 +1,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package fi.em.formPlugin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import com.aliyun.odps.security.User; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.exception.KDBizException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.form.plugin.AbstractFormPlugin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import kd.bos.form.plugin.AbstractMobFormPlugin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.sdk.plugin.Plugin; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,21 +16,17 @@ import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @author cjz 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @date 2024/7/25 15:13 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * @description:报销单移动端初始化表单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements Plugin { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    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_entryentity";//动态表单单据体标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class ReimbursementMobFormPlugin extends AbstractFormPlugin implements Plugin { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final static String KEY_OK = "nckd_btnok";//确定按钮标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final static String KEY_CANCEL = "nckd_btncancel";//页面取消按钮标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final static String FORMID_ENTRY = "nckd_clearloanentry";//动态表单单据体标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static String er_prepaybill = "er_prepaybill";//预付单标识 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 页面点击事件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,13 +47,11 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 EntryGrid entryGrid = this.getView().getControl(FORMID_ENTRY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取选择的行号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 int[] selectRows = entryGrid.getSelectRows(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //判断数据是否存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (selectRows.length <= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     this.getView().showMessage("请先选择一条数据!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 JSONArray infoJa = SerializationUtils.fromJsonString(listStr, JSONArray.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (int i = 0; i < selectRows.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     JSONObject reJo = infoJa.getJSONObject(selectRows[i]); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -67,7 +59,6 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 HashMap<String, String> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 map.put("reJaStr", reJa.toJSONString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //将获取的json数据返回到界面view中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.getView().returnDataToParent(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,7 +72,6 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.getView().close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //监听接口 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void registerListener(EventObject e) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,7 +79,6 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //页面确认按钮和取消按钮添加监听 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.addClickListeners(KEY_OK, KEY_CANCEL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void afterCreateNewData(EventObject e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super.afterBindData(e); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,36 +98,26 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QFilter nckd_orgamountFilter = new QFilter("costdept.number", QCP.equals, costdeptNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         nckd_orgamountFilter.and("billstatus", QCP.equals, "E"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         nckd_orgamountFilter.and("creator.number",QCP.equals,creatorNumber); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject[] nckd_orgamountaccount = BusinessDataServiceHelper. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 load(er_prepaybill, "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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String billno= dynamicObject.getString("billno"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //循环分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (DynamicObject entryentity : dynamicObject.getDynamicObjectCollection("expenseentryentity")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取费用承担部门 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject entrycostdept = entryentity.getDynamicObject("entrycostdept"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //获取费用项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject expenseitem=entryentity.getDynamicObject("expenseitem"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //申请金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BigDecimal expenseamount=entryentity.getBigDecimal("expenseamount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BigDecimal exporiusedamount=entryentity.getBigDecimal("exporiusedamount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //未结算金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 BigDecimal orgiexpebalanceamount=entryentity.getBigDecimal("orgiexpebalanceamount"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //备注 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String remark=entryentity.getString("remark"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //新增动态单据分录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 int rowIndex = this.getModel().createNewEntryRow(FORMID_ENTRY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //赋值给新增分录 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,7 +127,7 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.getModel().setValue("nckd_expenseamount",expenseamount,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.getModel().setValue("nckd_exporiusedamount",exporiusedamount,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.getModel().setValue("nckd_unexporiusedamount",orgiexpebalanceamount,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.getModel().setValue("nckd_remarke",remark,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.getModel().setValue("nckd_remark",remark,rowIndex); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //将选中的数据放到缓存中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 JSONObject obj = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //放入缓存 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -166,7 +145,4 @@ public class ReimbursementMobFormPlugin extends AbstractMobFormPlugin implements 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String listStr = SerializationUtils.toJsonString(resdate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.getPageCache().put(pageId, listStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |