Commit ce439b01 by jx-art

Merge remote-tracking branch 'origin/feature-changeFlow-221110' into feature-changeFlow-221110

parents a8176fe6 113bb953
......@@ -6,8 +6,6 @@
*/
package com.netease.mail.yanxuan.change.biz.biz;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
......@@ -154,7 +152,7 @@ public class ChangeFlowBiz {
if (changeCommander.equals(uid)) {
log.debug("[createAndSubmit] changeCommander:{}, uid:{}", changeCommander, uid);
String nextNodeId = submitFlow(flowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_FLOW_START.getTopoId(), JSON.toJSONString(content));
ChangeFlowEnum.CHANGE_FLOW_START.getTopoId(), JSON.toJSONString(content), true);
if (null == nextNodeId) {
throw ExceptionFactory.createBiz(ResponseCode.SUBMIT_FLOW_ERROR, "首次提交节点失败");
}
......@@ -259,7 +257,7 @@ public class ChangeFlowBiz {
return flowCreateReqDTO;
}
public String submitFlow(String flowId, FlowDataDTO flowDataDTO, String uid, String topoId, String content) {
public String submitFlow(String flowId, FlowDataDTO flowDataDTO, String uid, String topoId, String content, boolean approved) {
NodeSubmitReqDTO nodeSubmitReqDTO = new NodeSubmitReqDTO();
nodeSubmitReqDTO.setFlowId(flowId);
nodeSubmitReqDTO.setNodeId(flowDataDTO.getFlowMeta().getCurrNodeDataList().get(0).getNodeId());
......@@ -269,7 +267,7 @@ public class ChangeFlowBiz {
nodeSubmitReqDTO.setContent(content);
nodeSubmitReqDTO.setOperateResult(FlowxOperationEnum.SUBMIT.getName());
nodeSubmitReqDTO.setCreateTime(System.currentTimeMillis());
nodeSubmitReqDTO.setApproved(true);
nodeSubmitReqDTO.setApproved(approved);
nodeSubmitReqDTO.setOccLock(flowDataDTO.getOccLock() + 1);
log.info("[submitFlow] nodeSubmitReqDTO={}", JSON.toJSONString(nodeSubmitReqDTO));
List<String> nextNodeIdList;
......@@ -407,7 +405,7 @@ public class ChangeFlowBiz {
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
// 提交工单
String submitNode = this.submitFlow(flowId.toString(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getTopoId(), JSON.toJSONString(content));
ChangeFlowEnum.CHANGE_FLOW_SUBMIT.getTopoId(), JSON.toJSONString(content), true);
// 更新工单数据
changeRecord.setFlowNode(submitNode);
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
......@@ -454,7 +452,7 @@ public class ChangeFlowBiz {
}).collect(Collectors.toList());
// 完成直接完结
String confirmNode = this.submitFlow(flowId.toString(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getTopoId(), JSON.toJSONString(content));
ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getTopoId(), JSON.toJSONString(content), true);
changeRecord.setFlowNode(confirmNode);
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowService.updateRecord(changeRecord);
......@@ -467,7 +465,7 @@ public class ChangeFlowBiz {
Assert.isTrue(StringUtils.isNotBlank(cancelReason), "变更取消原因不可为空");
changeRecord.setCancelReason(cancelReason);
String cancelNode = this.submitFlow(flowId.toString(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getTopoId(), JSON.toJSONString(content));
ChangeFlowEnum.CHANGE_FLOW_CONFIRM.getTopoId(), JSON.toJSONString(content), true);
changeRecord.setFlowNode(cancelNode);
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowService.updateRecord(changeRecord);
......@@ -532,8 +530,12 @@ public class ChangeFlowBiz {
ChangeRecord changeRecord = getFlowInfo(flowId);
// 检查工单节点
this.checkNode(changeRecord.getFlowNode(), ChangeFlowEnum.CHANGE_FLOW_EXE.getNodeId());
String uid = RequestLocalBean.getUid();
// todo:检查审核人
String changeCommander = changeRecord.getChangeCommander();
/*if (!uid.equals(changeCommander)) {
throw ExceptionFactory.createBiz(ResponseCode.NO_AUTH, ResponseCode.NO_AUTH.getMsg());
}*/
// 获取工单详情
FlowDataDTO flowDataDTO = this.flowDetail(flowId.toString());
if (flowDataDTO == null) {
......@@ -543,10 +545,9 @@ public class ChangeFlowBiz {
Map<String, Object> content = new HashMap<>(CommonConstants.INIT_HASH_MAP_SIZE);
content.put("updateTime", System.currentTimeMillis());
content.put(CommonConstants.FLOW_OPERATION_KEY, FlowOperationTypeEnum.REFUSE.getValue());
// String uid = RequestLocalBean.getUid();
String uid = "1@.com";
String nextNodeId = this.submitFlow(String.valueOf(flowId), flowDataDTO, uid, ChangeFlowEnum.CHANGE_FLOW_EXE.getTopoId(), JSON.toJSONString(content));
log.info("[cancel] nextNodeId:{}", nextNodeId);
String nextNodeId = this.submitFlow(String.valueOf(flowId), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_FLOW_EXE.getTopoId(), JSON.toJSONString(content), false);
log.info("[cancel] flowId:{}, nextNodeId:{}", flowId, nextNodeId);
// 填充更新数据
changeRecord.setFlowNode(nextNodeId);
changeRecord.setState(ChangeStatusEnum.CANCEL.getStatus());
......
......@@ -66,7 +66,7 @@ public class AutoSubmit extends IJobHandler {
count.addAll(idList);
}
} catch (Exception e) {
log.error("error on AutoSubmit");
log.error("error on AutoSubmit,e:{}", e);
}
log.info(
"AutoSubmit end, count:{}, maxId:{}, usedTime:{}", count.size(), entityId, DateUtils.getCurrentTime() - startTime);
......@@ -90,7 +90,7 @@ public class AutoSubmit extends IJobHandler {
content.put(CommonConstants.FLOW_OPERATION_KEY, FlowOperationTypeEnum.PASS.getValue());
try {
String execNode = changeFlowBiz.submitFlow(flowId.toString(), flowDataDTO, uid,
ChangeFlowEnum.CHANGE_FLOW_EXE.getTopoId(), JSON.toJSONString(content));
ChangeFlowEnum.CHANGE_FLOW_EXE.getTopoId(), JSON.toJSONString(content), true);
// 更新工单数据
changeRecord.setFlowNode(execNode);
changeRecord.setUpdateTime(DateUtils.getCurrentTime());
......
......@@ -27,6 +27,7 @@ public interface ChangeRecordMapper extends tk.mybatis.mapper.common.Mapper<Chan
List<ChangeRecord> selectByCondition(ChangeFlowListQueryReq changeFlowListQueryReq);
@Select("select * from TB_YX_QC_CHANGE_RECORD where id > #{entityId} and `flowNode` in (#{nodeId1}, #{nodeId2}) and changeConfirmResultTime <= #{currentTime} limit 200")
List<ChangeRecord> getByStatusAndTime(Long entityId, String nodeId1, String nodeId2, long currentTime);
@Select("select * from TB_YX_QC_CHANGE_RECORD where id > #{entityId} and `flow_node` in (#{nodeId1}, #{nodeId2}) and change_confirm_result_time <= #{currentTime} limit 200")
List<ChangeRecord> getByStatusAndTime(@Param("entityId") Long entityId, @Param("nodeId1") String nodeId1,
@Param("nodeId2") String nodeId2, @Param("currentTime") long currentTime);
}
......@@ -131,7 +131,7 @@ public class ChangeFlowController {
* 工单取消
* @return
*/
@GetMapping("/cancel")
@PostMapping("/cancel")
public AjaxResult<Boolean> cancel(@RequestBody @Valid ChangeFlowCancelReq changeFlowCancelReq) {
return AjaxResult.success(changeFlowBiz.cancel(changeFlowCancelReq));
}
......
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