| 
					
				 | 
			
			
				@@ -18,6 +18,7 @@ import kd.bos.orm.ORM; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.orm.query.QCP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.orm.query.QFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.BusinessDataServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import kd.bos.servicehelper.DispatchServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.coderule.CodeRuleServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.DeleteServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.OperationServiceHelper; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -57,30 +58,44 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String operationKey = args.getOperationKey(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject[] regBillObjs = args.getDataEntities(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         logger.info("开始执行操作:{},实体:{}",operationKey, regBillObjs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         switch (operationKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case "audit": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    regBillObj.set("nckd_createhr", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String currentUserId = RequestContext.get().getUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String creatorId = regBillObj.getDynamicObject("creator").getString("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(!creatorId.equals(currentUserId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        regBillObj.set("nckd_lastauditor", currentUserId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SaveServiceHelper.save(regBillObjs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.createDynamicObject(regBillObjs, operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("生成为他人申请出差结果操作结束"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case "triprevoke": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case "createotappaly": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 审核, 数据同步写入到考勤-出差单据数据中 :开始、结束时间,默认出差申请中的全天申请 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                OperationResult pushzhwl = OperationServiceHelper.executeOperate("createotappaly", "er_tripreqbill", regBillObjs, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     regBillObj.set("nckd_createhr", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 SaveServiceHelper.save(regBillObjs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.createDynamicObject(regBillObjs,args.getOperationKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.createDynamicObject(regBillObjs, operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.info("生成为他人申请出差结果操作结束"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case "invalidbtn": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case "tripchange": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    regBillObj.set("nckd_createhr", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                SaveServiceHelper.save(regBillObjs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.deleteDynamicObject(regBillObjs, operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info("删除为他人申请出差结果操作结束"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             case "unaudit": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            case "deleteotappaly": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                // 废弃 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                OperationResult pushzhwl2 = OperationServiceHelper.executeOperate("deleteotappaly", "er_tripreqbill", regBillObjs, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     regBillObj.set("nckd_createhr", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 SaveServiceHelper.save(regBillObjs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                this.deleteDynamicObject(regBillObjs,args.getOperationKey()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.deleteDynamicObject(regBillObjs, operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 logger.info("删除为他人申请出差结果操作结束"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             default: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -89,35 +104,21 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void changeDynamicObject(DynamicObject[] regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ArrayList<Long> longs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            longs.add(regBillObj.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QFilter qFilter = new QFilter("nckd_tripreqbillid", QCP.in, longs) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .and("billstatus", QCP.equals, "C"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] load = BusinessDataServiceHelper.load("wtam_busitripbill", "id", qFilter.toArray()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 执行废弃操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (DynamicObject dynamicObject : load) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            dynamicObject.set("billstatus", "E"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 废弃 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SaveServiceHelper.save(load); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 调用作废操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        DeleteServiceHelper.delete("wtam_busitripbill", new QFilter[]{qFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 删除为下推的为他人申请出差 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param regBillObjs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void deleteDynamicObject(DynamicObject[] regBillObjs,String key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ArrayList<Long> longs = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ArrayList<String> billList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         logger.info("开始执行删除为他人申请出差操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             longs.add(regBillObj.getLong("id")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             billList.add(regBillObj.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject travelLog = BusinessDataServiceHelper.newDynamicObject("nckd_travel_log"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         travelLog.set("nckd_er_tripreqbill",key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         travelLog.set("name","出差申请单"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -125,21 +126,31 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         travelLog.set("status","A"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         travelLog.set("enable",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         travelLog.set("nckd_billno",String.join(",", billList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SaveServiceHelper.save(new DynamicObject[]{travelLog}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        QFilter qFilter = new QFilter("nckd_tripreqbillid", QCP.in, longs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 调用作废操作 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        OperateOption auditOption = OperateOption.create(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        auditOption.setVariableValue(OperateOptionConst.ISHASRIGHT, "true");//不验证权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        auditOption.setVariableValue(OperateOptionConst.IGNOREWARN, String.valueOf(true)); // 不执行警告级别校验器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DeleteServiceHelper.delete("wtam_busitripbill", new QFilter[]{qFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String path = "nckd.jimin.jyyy.bd.servicehelper"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //保存日志 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<String, Object> result = DispatchServiceHelper.invokeService(path,"bd","SaveTravleLogService","saveTravelLogData", travelLog); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(result != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //删除为他人申请出差 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            result = DispatchServiceHelper.invokeService(path,"bd","SaveTravleLogService","deleteHRTripData", longs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch(Exception e1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info(e1.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // 创建对他人申请单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void createDynamicObject(DynamicObject[] regBillObjs,String key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 创建为他人申请出差 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param regBillObjs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param operationKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void createDynamicObject(DynamicObject[] regBillObjs, String operationKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ORM orm = ORM.create(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         logger.info("开始执行创建为他人申请出差操作"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for (DynamicObject regBillObj : regBillObjs) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 获取行程信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DynamicObjectCollection tripentry = regBillObj.getDynamicObjectCollection("tripentry"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -147,12 +158,12 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (DynamicObject dynamicObject : tripentry) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 // 日志信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject travelLog = BusinessDataServiceHelper.newDynamicObject("nckd_travel_log"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                travelLog.set("nckd_er_tripreqbill",key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                travelLog.set("nckd_er_tripreqbill", operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 travelLog.set("name","出差申请单"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 travelLog.set("number","er_tripreqbill"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 travelLog.set("status","A"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 travelLog.set("enable",1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                travelLog.set("nckd_billno",regBillObj.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                travelLog.set("nckd_billno", regBillObj.getString("billno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<String> nameList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 List<String> numberList = new ArrayList<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -217,20 +228,31 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                                 (existing, replacement) -> existing // 保留前面的值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                         )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        initDate(regBillObj,dynamicObject,wtpAttendpeople,map2,travelLog,travelerno,map3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        initDate(regBillObj, dynamicObject, wtpAttendpeople, map2, travelLog, travelerno, map3, operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(wtpAttendpeople.length == 0 || wtpAttfilebases.length == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     travelLog.set("nckd_travelsno",String.join(",", numberList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     travelLog.set("nckd_returnparameter","未找到对应考勤人员及档案"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SaveServiceHelper.save(new DynamicObject[]{travelLog}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String path = "nckd.jimin.jyyy.bd.servicehelper"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Map<String, Object> result = DispatchServiceHelper.invokeService(path,"bd","SaveTravleLogService","saveTravelLogData", travelLog); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(result != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } catch(Exception e1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        logger.info(e1.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void initDate(DynamicObject dynamicObject, DynamicObject tripentry, DynamicObject[] travelers, Map<Long, DynamicObject> map, DynamicObject log, List<String> travelerno,Map<Long, DynamicObject> map3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void initDate(DynamicObject dynamicObject, DynamicObject tripentry, DynamicObject[] travelers 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            , Map<Long, DynamicObject> map, DynamicObject log, List<String> travelerno,Map<Long, DynamicObject> map3, String operationKey){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 出差申请单id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         long id = dynamicObject.getLong("id"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<String> travelerList = new ArrayList<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -238,8 +260,7 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         StringBuilder errstr = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject bosUser = BusinessDataServiceHelper.loadSingle(RequestContext.get().getUserId(), "bos_user"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//        DynamicObject bosUser = BusinessDataServiceHelper.loadSingle(2189228575587044352L, "bos_user"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject bosUser = dynamicObject.getDynamicObject("nckd_lastauditor"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Date startdate = tripentry.getDate("startdate"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Date enddate = tripentry.getDate("enddate"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -273,9 +294,9 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             wtamBusitripbill.set("creator", bosUser); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            wtamBusitripbill.set("nckd_tripreqbillid",id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            wtamBusitripbill.set("nckd_tripreqbillid", id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 考勤人员 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            wtamBusitripbill.set("personid",traveler); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            wtamBusitripbill.set("personid", traveler); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 考勤管理组织 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             wtamBusitripbill.set("org",wtpAttfilebase.get("org")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // 考勤档案 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -339,34 +360,29 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dynamicObject1.set("startmethod","3"); // 出差方式(开始) 默认全天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dynamicObject1.set("endmethod","3"); // 出差方式(结束) 默认全天 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dynamicObject1.set("enclosuremode","A"); // 附件信息 下拉列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            OperationResult submiteffect = OperationServiceHelper.executeOperate("submiteffect", "wtam_busitripbill", new DynamicObject[]{wtamBusitripbill}, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            if (!submiteffect.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                logger.error("生成对他人申请失败:{}" + submiteffect); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                throw new KDBizException("生成对他人申请失败:{}" + submiteffect.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            SaveServiceHelper.save(new DynamicObject[]{wtamBusitripbill}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            OperateOption auditOption = OperateOption.create(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            auditOption.setVariableValue(OperateOptionConst.ISHASRIGHT, "true");//不验证权限 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            auditOption.setVariableValue(OperateOptionConst.IGNOREWARN, String.valueOf(true)); // 不执行警告级别校验器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            OperationResult submiteffect; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                submiteffect = OperationServiceHelper.executeOperate("submiteffect", "wtam_busitripbill", new DynamicObject[]{wtamBusitripbill}, OperateOption.create()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!submiteffect.isSuccess()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    wtamBusitripbill.set("billstatus","A"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    SaveServiceHelper.save(new DynamicObject[]{wtamBusitripbill}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    logger.error("生成对他人申请失败:{}" + submiteffect); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String path = "nckd.jimin.jyyy.bd.servicehelper"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                boolean isWorkFlow = Boolean.parseBoolean(operateOption.getVariableValue("WF", Boolean.FALSE.toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(!isWorkFlow){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    operationKey = "triprevoke"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Map<String, Object> result = DispatchServiceHelper.invokeService(path,"bd","SaveTravleLogService","saveHRTripData", wtamBusitripbill, "submiteffect", operationKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(result != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } catch(Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String msg = e.getMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                String msg = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch(Exception e1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                logger.info(e1.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(errstr.length() > 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             errstr.append("未找到对应考勤人员档案"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.set("nckd_travelsalready",String.join(",", travelerList)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.set("nckd_travelsno",String.join(",", travelerno)+String.join(",", travelerListNo)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String str = ""; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -375,7 +391,16 @@ public class BusinessTravelOpPlugin extends AbstractOperationServicePlugIn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         str = str + errstr.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         log.set("nckd_returnparameter",str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        SaveServiceHelper.save(new DynamicObject[]{log}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String path = "nckd.jimin.jyyy.bd.servicehelper"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<String, Object> result = DispatchServiceHelper.invokeService(path,"bd","SaveTravleLogService","saveTravelLogData", log); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(result != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch(Exception e1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info(e1.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |