|
|
@@ -32,12 +32,15 @@ import org.springblade.core.tool.support.Kv;
|
|
|
import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.core.tool.utils.StringPool;
|
|
|
import org.springblade.core.tool.utils.StringUtil;
|
|
|
+import org.springblade.desk.entity.ProcessLeave;
|
|
|
+import org.springblade.desk.feign.IProcessLeaveClient;
|
|
|
import org.springblade.flow.business.service.FlowBusinessService;
|
|
|
import org.springblade.flow.core.constant.ProcessConstant;
|
|
|
import org.springblade.flow.core.entity.BladeFlow;
|
|
|
import org.springblade.flow.core.utils.TaskUtil;
|
|
|
import org.springblade.flow.engine.constant.FlowEngineConstant;
|
|
|
import org.springblade.flow.engine.utils.FlowCache;
|
|
|
+import org.springblade.project.feign.IProjectItemClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -56,6 +59,8 @@ public class FlowBusinessServiceImpl implements FlowBusinessService {
|
|
|
|
|
|
private final TaskService taskService;
|
|
|
private final HistoryService historyService;
|
|
|
+ private final IProjectItemClient projectItemClient;
|
|
|
+ private final IProcessLeaveClient processClient;
|
|
|
|
|
|
@Override
|
|
|
public IPage<BladeFlow> selectClaimPage(IPage<BladeFlow> page, BladeFlow bladeFlow) {
|
|
|
@@ -266,8 +271,56 @@ public class FlowBusinessServiceImpl implements FlowBusinessService {
|
|
|
|
|
|
@Override
|
|
|
@Transactional
|
|
|
- public boolean checkCompleteTask(BladeFlow flow, Long itemId)
|
|
|
+ public boolean checkCompleteTask(BladeFlow flow)
|
|
|
{
|
|
|
+ ProcessLeave processLeave = processClient.findById(Long.valueOf(flow.getBusinessId()));
|
|
|
+ Long currentUserId = AuthUtil.getUserId();
|
|
|
+ //任务id
|
|
|
+ Long itemId = processLeave.getItemId();
|
|
|
+ //驳回调整人
|
|
|
+ String taskUser = processLeave.getTaskUser();
|
|
|
+ //第一审核人
|
|
|
+ String checkUser = processLeave.getCheckUser();
|
|
|
+ //第二审核人
|
|
|
+ String checkSecondsUser = processLeave.getCheckSecondsUser();
|
|
|
+
|
|
|
+ //是否为调整人?
|
|
|
+ if(String.valueOf(currentUserId).equals(taskUser))
|
|
|
+ {
|
|
|
+ //重新申请
|
|
|
+ if(flow.getFlag()!=null&&flow.getFlag().equals("ok"))
|
|
|
+ {
|
|
|
+ projectItemClient.check(itemId,1,null,null,null,null);
|
|
|
+ }
|
|
|
+ //驳回按钮
|
|
|
+ else
|
|
|
+ {
|
|
|
+ projectItemClient.check(itemId,0,null,null,null,null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //是否为第一审核人?
|
|
|
+ if(String.valueOf(currentUserId).equals(checkUser))
|
|
|
+ {
|
|
|
+ //通过按钮
|
|
|
+ if(flow.getFlag()!=null&&flow.getFlag().equals("ok"))
|
|
|
+ {
|
|
|
+ projectItemClient.check(itemId,2,null,null,null,null);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ //是否为第二审核人?
|
|
|
+ if(String.valueOf(currentUserId).equals(checkSecondsUser))
|
|
|
+ {
|
|
|
+ //通过按钮
|
|
|
+ if(flow.getFlag()!=null&&flow.getFlag().equals("ok"))
|
|
|
+ {
|
|
|
+ projectItemClient.check(itemId,3,null,null,null,null);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
String taskId = flow.getTaskId();
|
|
|
String processInstanceId = flow.getProcessInstanceId();
|
|
|
String comment = Func.toStr(flow.getComment(), ProcessConstant.PASS_COMMENT);
|