Commit ce439b01 by jx-art

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

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