ljy121 1 år sedan
förälder
incheckning
32674c502b

+ 23 - 4
zjugis-workflow/src/main/java/com/zjugis/z_workflow/service/IFlowHandlerCaseService.java

@@ -152,12 +152,17 @@ public class IFlowHandlerCaseService {
             throw new RuntimeException(result.getMsg());
         }
         List<AdminUserRespDTO> userList = result.getData();
-		for (Map<String, Object> item : mapPage.getRecords()) {
-			Optional<AdminUserRespDTO> hangupUser = userList.stream().filter(t -> (t.getId()).equals((String) item.getOrDefault("hangUpUserId", ""))).findFirst();
-			//挂起活动名称+挂起人真实姓名
+        List<Map<String, Object>> endTimeList = getUnHangUpEndTime(mapPage.getRecords());
+
+        for (Map<String, Object> item : mapPage.getRecords()) {
+            Optional<AdminUserRespDTO> hangupUser = userList.stream().filter(t -> (t.getId()).equals((String) item.getOrDefault("hangUpUserId", ""))).findFirst();
+            //挂起活动名称+挂起人真实姓名
             hangupUser.ifPresent(adminUserRespDTO -> item.put("activityInsName", item.get("activityInsName") + "(" + adminUserRespDTO.getNickname() + ")"));
+            //应完成时间
+            Optional<Map<String, Object>> time = endTimeList.stream().filter(t -> ((String) t.get("id")).equals((String) item.get("ACTIVITYINSID"))).findFirst();
+            time.ifPresent(stringObjectMap -> item.put("shouldFinishDate", stringObjectMap.get("shouldFinishDate")));
 
-		}
+        }
 		return mapPage;
 	}
 
@@ -1067,4 +1072,18 @@ public class IFlowHandlerCaseService {
 		Page<Map> pageObj = new Page<>(page, rows);
 		return iFlowInstanceDao.listBatchSelectByAwait(pageObj, paramVo);
 	}
+
+    private List<Map<String, Object>> getUnHangUpEndTime(List<Map> list) {
+        //计算解挂后截止时间
+        List<Map<String, Object>> inList = new ArrayList<>();
+        for (Map<String, Object> item : list) {
+            inList.add(new HashMap<String, Object>() {{
+                put("id", item.get("ACTIVITYINSID"));
+                put("sDate", item.get("activityShouldFinishTime"));
+                put("limitTime", item.get("diffNum"));
+                put("iWorkday", item.get("isWorkDay"));
+            }});
+        }
+        return inList;
+    }
 }

+ 2 - 2
zjugis-workflow/src/main/java/com/zjugis/z_workflow/service/IFlowMaterialsService.java

@@ -465,8 +465,8 @@ public class IFlowMaterialsService extends ServiceImpl<IFlowMaterialsDao, IFlowM
 		//所有收件材料模板的集合(不可空),实际上参与循环的还是模板数据,因为实例数据里没有与目录关联的字段
 		List<TFlowMaterials> tFlowMaterials = TFlowMaterialsService.findByTempVersionId(flowInstance.getFlowTemplateVersionId());
 		if (CollectionUtils.isEmpty(tFlowMaterials)) {
-            return;
-//            throw new BusinessException("系统错误,收件材料模板不存在");
+//            return;
+            throw new BusinessException("系统错误,收件材料模板不存在");
         }
 		try {
 			// 流程扩展字段

+ 5 - 2
zjugis-workflow/src/main/java/com/zjugis/z_workflow/service/ProcessEngineService.java

@@ -159,8 +159,11 @@ public class ProcessEngineService {
     @Autowired
     private DeptApi deptApi;
 
-    @Value("${serviceUrl.innerUrl}")
+    @Value("${serviceUrl.z_workflow}")
     private String workflowUrl;
+
+    @Value("${serviceUrl.innerUrl}")
+    private String innerUrl;
 	//endregion
 	private static final String MQ_METHOD = "/Rabbit/pushMessage";//推送消息
 	private static final String MQ_CALLBACK_METHOD = "/ProcessEngineApi/mqCallback";//MQ回调服务
@@ -1874,7 +1877,7 @@ public class ProcessEngineService {
                 messageBody.setSystemCode("Z_WORKFLOW");
                 messageBody.setRoutingKey(GlobalConstant.MQ_QUEUE_NAME);
                 messageBody.setTargetUrl(conditionEvent.getRestfulUrl());
-                messageBody.setCallbackUrl(workflowUrl+MQ_CALLBACK_METHOD);
+                messageBody.setCallbackUrl(innerUrl+MQ_CALLBACK_METHOD);
                 messageBody.setCallbackParams(JSON.toJSONString(ImmutableMap.of("eventRecordId",recordId,"eventName",conditionEvent.getName())));
                 messageBody.setPayload(JSON.toJSONString(params));
 				resultMap.put("postParam", JSON.toJSONString(params));