diff --git a/src/main/java/com/zcloud/service/eightwork/impl/HotworkServiceImpl.java b/src/main/java/com/zcloud/service/eightwork/impl/HotworkServiceImpl.java index 258dd90..79457dc 100644 --- a/src/main/java/com/zcloud/service/eightwork/impl/HotworkServiceImpl.java +++ b/src/main/java/com/zcloud/service/eightwork/impl/HotworkServiceImpl.java @@ -144,8 +144,9 @@ public class HotworkServiceImpl implements HotworkService { List unsignedList = hotworkSignMapper.checkUnsigned(sign);//当前步骤未签名人列表 if((unsignedList == null || unsignedList.size() == 0) && pd.getString("APPLY_STATUS").equals("1")){//如果没有未签人 则跳转下一步 +// PageData currentflow = getStep(work.get("TASK_ID"), work.get("STEP_ID")); + PageData currentflow = getCurrentFlow(work); hotworkMapper.editStep(work); - PageData currentflow = getStep(work.get("TASK_ID"), work.get("STEP_ID")); //保存日志 saveLog(work,work.getString("USER_ID"),"1"); @@ -378,6 +379,19 @@ public class HotworkServiceImpl implements HotworkService { } } + private PageData getCurrentFlow(PageData work) throws Exception { + PageData flow = new PageData(); + flow.put("TASK_ID", work.get("TASK_ID")); + flow.put("STEP_ID", work.get("STEP_ID")); + flow = eightWorkTaskFlowMapper.getStep(flow); + if("1".equals(flow.get("CAN_SKIP")) && (work.get(flow.get("NEXT_ACTOR_FIELD")) == null || work.get(flow.get("NEXT_ACTOR_FIELD")).equals(""))){ + work.put("STEP_ID", flow.get("NEXT_STEP_ID")); + return getCurrentFlow(work); + }else{ + return flow; + } + } + private PageData getStep(Object TASK_ID, Object STEP_ID) throws Exception { PageData flow = new PageData(); flow.put("TASK_ID", TASK_ID); diff --git a/src/main/resources/mybatis/datasource/eightwork/EightWorkTaskFlowMapper.xml b/src/main/resources/mybatis/datasource/eightwork/EightWorkTaskFlowMapper.xml index 065c2c5..f93ad91 100644 --- a/src/main/resources/mybatis/datasource/eightwork/EightWorkTaskFlowMapper.xml +++ b/src/main/resources/mybatis/datasource/eightwork/EightWorkTaskFlowMapper.xml @@ -56,7 +56,8 @@