瀏覽代碼

不同步撤销的请假单

xuj 4 年之前
父節點
當前提交
4ff788d255

+ 9 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunAskForLeaveDO.java

@@ -146,6 +146,15 @@ public class ChuanyunAskForLeaveDO extends BasicDO {
      * @return  保存数据
      */
     public static ChuanyunAskForLeaveDO fromAskForLeaveDTO(OapiProcessinstanceGetResponse.ProcessInstanceTopVo processInstanceTopVo){
+        //请假信息撤销
+        if(processInstanceTopVo.getOperationRecords()!= null && processInstanceTopVo.getOperationRecords().size() == 2 ) {
+            if(processInstanceTopVo.getOperationRecords().get(0).getUserid().equals(processInstanceTopVo.getOperationRecords().get(1).getUserid())) {
+                if(processInstanceTopVo.getOperationRecords().get(0).getOperationType().equals("START_PROCESS_INSTANCE")
+                        && processInstanceTopVo.getOperationRecords().get(1).getOperationType().equals("TERMINATE_PROCESS_INSTANCE")) {
+                    return null;
+                }
+            }
+        }
         ChuanyunAskForLeaveDO chuanyunAskForLeaveDo = new ChuanyunAskForLeaveDO();
         BeanUtils.copyProperties(processInstanceTopVo, chuanyunAskForLeaveDo);
         List<OapiProcessinstanceGetResponse.FormComponentValueVo> formComponentList = processInstanceTopVo.getFormComponentValues();

+ 4 - 1
src/main/java/com/galaxis/manatee/service/DingTalkScheduledTask.java

@@ -119,7 +119,10 @@ public class DingTalkScheduledTask {
                         try {
                             OapiProcessinstanceGetResponse oapiProcessinstanceGetResponse = processInstanceClient.execute(request, DingTalkConstant.DING_TALK_TOKEN);
                             ChuanyunAskForLeaveDO chuanyunAskForLeaveDo = ChuanyunAskForLeaveDO.fromAskForLeaveDTO(oapiProcessinstanceGetResponse.getProcessInstance());
-                            List<ChuanyunAskForLeaveDO> existsAskForLeave = chuanyunAskForLeaveDao.findByTitleSQL(chuanyunAskForLeaveDo.getTitle());
+                            if(null == chuanyunAskForLeaveDo) {
+                                return;
+                            }
+                            List<ChuanyunAskForLeaveDO>   existsAskForLeave = chuanyunAskForLeaveDao.findByTitleSQL(chuanyunAskForLeaveDo.getTitle());
                             if(existsAskForLeave != null && !existsAskForLeave.isEmpty()) {
                                 return;
                             }