Browse Source

挂起和退回前后端分离改造

chenjun 11 months ago
parent
commit
7b41931eea

+ 37 - 0
zjugis-workflow/src/main/java/com/zjugis/z_workflow/controller/HandlerCaseCenterController.java

@@ -460,6 +460,43 @@ public class HandlerCaseCenterController extends BaseController {
 		}
 	}
 
+    /**
+     * 获取当前节点可退回的办件节点-前后端分离接口
+     *
+     * @param activityInstanceId 活动实例ID
+     * @param flowInsId          流程实例ID
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping
+    public String getCalBackActivityNew(String activityInstanceId,String flowInsId,Integer mobileStatus,Integer extranet) {
+        try {
+            Map resMap = new HashMap();
+            IActivityInstance activityInstance = iActivityInstanceService.selectById(activityInstanceId);
+            IFlowInstance flowInstance = iFlowInstanceService.findByID(flowInsId);
+            //当前流程可退回的活动列表
+            Map returnableActivitys = iActivityInstanceService.getReturnableActivitys(flowInstance,activityInstance);
+            resMap.put("callbackNode", returnableActivitys.get("callbackNode"));
+            resMap.put("workflowUrl", workflowUrl);
+            resMap.put("flowName", flowInstance.getName());
+            resMap.put("flowTempVersionId", flowInstance.getFlowTemplateVersionId());
+            resMap.put("flowInstanceId", flowInsId);
+            resMap.put("currentActInsId", activityInstanceId);
+            resMap.put("currentActTempId", activityInstance.getActivityTemplateId());
+            resMap.put("callbackParentNode", returnableActivitys.get("callbackParentNode"));
+            resMap.put("parentFlowTempVersionId", returnableActivitys.get("parentFlowTempVersionId"));
+            resMap.put("UI", AddressUtils.redirectPrefix(uiUrl));
+            resMap.put("iBatchReturn", returnableActivitys.get("iBatchReturn"));
+            if (!Objects.isNull(mobileStatus)) {
+                resMap.put("mobileStatus", mobileStatus);//1:钉钉端 2:APP端
+            }
+            return ok(resMap);
+        } catch (Exception ex) {
+            log.error(ex.getMessage(),ex);
+            return error(ex.getMessage(), ErrorCode.DEFAULT);
+        }
+    }
+
 	/**
 	 * 获取同级退回的办件节点
 	 *

+ 41 - 0
zjugis-workflow/src/main/java/com/zjugis/z_workflow/controller/IHangUpController.java

@@ -56,6 +56,47 @@ public class IHangUpController extends BaseController {
     @Value("${serviceUrl.z_workflow}")
     String workflowUrl;
 
+    @RequestMapping
+    @ResponseBody
+    public String getExample(String activityInstanceId, Integer isRecover, Integer isMobile, String participantId, Integer extranet) {
+        Map<String, Object> map = new HashMap<>();
+        AdminUserRespDTO user;
+        Integer status = isRecover == 1 ? HangUpTypeEnum.IS_HANGUP.getStatus() : HangUpTypeEnum.NO_HANGUP.getStatus();
+        IHangUp iHangUp = iHangUpService.findByHangUpActivityInstanceId(activityInstanceId, status); //未作废
+        if (StringUtils.isBlank(iHangUp.getId())) {
+            user = callInterfaceService.getUserByUserId(Constant.getUserId());
+            iHangUp.setHangUpActivityInstanceId(activityInstanceId);
+            iHangUp.setFlowInstanceId(UUID.hex32());
+            iHangUp.setHangupApplyUserId(Constant.getUserId());
+            iHangUp.setHangupApplyTime(new Date());
+            iHangUp.setParticipantId(participantId);
+        } else {
+            user = callInterfaceService.getUserByUserId(iHangUp.getHangupApplyUserId());
+        }
+        map.put("userName", user.getNickname());
+        map.put("hangUpEntity", iHangUp);
+        map.put("isRecover", isRecover); //是否解挂页
+        map.put("isDirect", 0); //是否直接挂起
+        map.put("btnName", "保存");
+        map.put("tmpId", "");
+        map.put("tempName", "");
+        if (isRecover == 0) {
+            Boolean isFirstNode = iActivityInstanceService.isFirstNode(activityInstanceId);
+            Boolean isSystem = iFlowInstanceService.isSystemByAcitivityInstanceId(activityInstanceId);
+            TFlowTemplate template = iHangUpService.getHangUpFlowTemplate();
+            if (isSystem || isFirstNode) {
+                map.replace("isDirect", 1);
+                map.replace("btnName", "直接挂起");
+            } else {
+                map.replace("btnName", "启动挂起流程");
+            }
+            if (template != null) {
+                map.replace("tmpId", template.getId());
+                map.replace("tempName", template.getName());
+            }
+        }
+        return ok(map);
+    }
 
 	/**
 	 * 编辑申请信息页面