Commit 2da685da by “zcwang”

add: 工单转交

parent acc199e3
...@@ -77,6 +77,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO; ...@@ -77,6 +77,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO;
import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO; import com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO;
import com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO; import com.netease.mail.yanxuan.change.integration.todo.TaskCreateDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.UserBaseDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.UserReachDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.base.UserReachDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.exec.InterfaceInputDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.exec.InterfaceInputDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO;
...@@ -742,11 +743,29 @@ public class ChangeFlowBiz { ...@@ -742,11 +743,29 @@ public class ChangeFlowBiz {
List<String> nodeList = Arrays.asList(ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getNodeId(), List<String> nodeList = Arrays.asList(ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getNodeId(),
ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getNodeId()); ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getNodeId());
this.checkNode(changeRecord.getFlowNode(), nodeList); this.checkNode(changeRecord.getFlowNode(), nodeList);
// todo:检验操作权限
String uid = RequestLocalBean.getUid();
String changeCommander = changeRecord.getChangeCommander();
/*if (!uid.equals(changeCommander)) {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/
// 工单审核人转交
String deliverUser = req.getDeliverUser();
UserBaseDTO userBaseDTO = new UserBaseDTO();
userBaseDTO.setUserName(deliverUser);
userBaseDTO.setUid(deliverUser);
String remark = req.getRemark();
Map<String, Object> content = new HashMap<>(CommonConstants.INIT_HASH_MAP_SIZE);
content.put("updateTime", System.currentTimeMillis());
flowService.updateApprovers(ChangeFlowEnum.CHANGE_FLOW_EXE.getTopoId(), flowId.toString(),
changeRecord.getFlowNode(), Collections.singletonList(userBaseDTO), uid,
uid, remark, JSON.toJSONString(content));
// 待办转交 // 待办转交
todoService.progressTodoTask(changeRecord, OperateTypeEnum.DELIVER.getType()); todoService.progressTodoTask(changeRecord, OperateTypeEnum.DELIVER.getType());
// 更新工单负责人 // 更新工单负责人
changeRecord.setChangeCommander(req.getDeliverUser()); changeRecord.setChangeCommander(deliverUser);
changeRecord.setRemark(req.getRemark()); changeRecord.setRemark(remark);
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowService.updateRecord(changeRecord); changeFlowService.updateRecord(changeRecord);
} }
} }
...@@ -22,8 +22,10 @@ import com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum; ...@@ -22,8 +22,10 @@ import com.netease.mail.yanxuan.change.common.enums.FlowxOperationEnum;
import com.netease.mail.yanxuan.change.integration.flow.FlowRpcService; import com.netease.mail.yanxuan.change.integration.flow.FlowRpcService;
import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse; import com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.base.UserBaseDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO; import com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO;
import com.netease.yanxuan.flowx.sdk.meta.dto.flow.UpdateNodeApproverDTO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -121,4 +123,31 @@ public class FlowService { ...@@ -121,4 +123,31 @@ public class FlowService {
} }
return flowDataDTO; return flowDataDTO;
} }
/**
* 更新待办人
* @param topoId
* @param flowId
* @param currentNodeId
* @param newApproverList
* @param uid
* @param userName
* @param remark
* @param content
*/
public void updateApprovers(String topoId, String flowId, String currentNodeId, List<UserBaseDTO> newApproverList,
String uid, String userName, String remark, String content){
FlowDataDTO flowDataDTO = this.flowDetail(flowId);
UpdateNodeApproverDTO approverDTO = new UpdateNodeApproverDTO();
approverDTO.setOccLock(flowDataDTO.getOccLock() + 1);
approverDTO.setTopoId(topoId);
approverDTO.setNodeId(currentNodeId);
approverDTO.setFlowId(flowId);
approverDTO.setNewApproverList(newApproverList);
approverDTO.setUid(uid);
approverDTO.setUserName(userName);
approverDTO.setRemark(remark);
approverDTO.setContent(content);
approverDTO.setOperateResult(FlowxOperationEnum.DELIVER.getName());
};
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment