Commit 6f82da45 by 王志超

feat: 变更行动工单列表

parent 0f85eac1
...@@ -130,14 +130,19 @@ public class ChangeSubFlowBiz { ...@@ -130,14 +130,19 @@ public class ChangeSubFlowBiz {
log.info("[submitSubFlow] changeSubFlowSubmitReq:{}", JSON.toJSONString(changeSubFlowSubmitReq)); log.info("[submitSubFlow] changeSubFlowSubmitReq:{}", JSON.toJSONString(changeSubFlowSubmitReq));
String subFlowId = changeSubFlowSubmitReq.getSubFlowId(); String subFlowId = changeSubFlowSubmitReq.getSubFlowId();
// 通过子流程工单ID查询行动记录 // 通过子流程工单ID查询行动工单记录
ChangeExecRecord execRecord = changeFlowExecService.getBySubFlowId(subFlowId); ChangeSubFlowRecord subFlowRecord = changeSubFlowRecordService.getBySubFlowId(subFlowId);
Assert.notNull(execRecord, "行动项记录不存在"); Assert.notNull(subFlowRecord, "行动工单记录不存在");
// 检查工单节点 // 检查工单节点(从行动工单获取)
String currentNode = execRecord.getSubFlowNode(); String currentNode = subFlowRecord.getSubFlowNode();
this.checkNode(currentNode, Collections.singletonList(changeSubFlowSubmitReq.getCurrentNodeId())); this.checkNode(currentNode, Collections.singletonList(changeSubFlowSubmitReq.getCurrentNodeId()));
// 通过行动工单记录ID查询行动项记录(取第一个)
List<ChangeExecRecord> execRecords = changeFlowExecService.getBySubFlowRecordId(subFlowRecord.getId());
Assert.notEmpty(execRecords, "行动项记录不存在");
ChangeExecRecord execRecord = execRecords.get(0);
String uid = RequestLocalBean.getUid(); String uid = RequestLocalBean.getUid();
// 验证执行人权限 // 验证执行人权限
if (!uid.equals(execRecord.getChangeExecUserEmail())) { if (!uid.equals(execRecord.getChangeExecUserEmail())) {
...@@ -150,15 +155,15 @@ public class ChangeSubFlowBiz { ...@@ -150,15 +155,15 @@ public class ChangeSubFlowBiz {
throw ExceptionFactory.createBiz(ResponseCode.DETAIL_FLOW_ERROR, "子流程工单查询错误,不存在"); throw ExceptionFactory.createBiz(ResponseCode.DETAIL_FLOW_ERROR, "子流程工单查询错误,不存在");
} }
return checkUpdateAndSubmit(subFlowId, flowDataDTO, uid, execRecord, currentNode, changeSubFlowSubmitReq); return checkUpdateAndSubmit(subFlowId, flowDataDTO, uid, execRecord, subFlowRecord, currentNode, changeSubFlowSubmitReq);
} }
/** /**
* 检查并提交子流程节点 * 检查并提交子流程节点
*/ */
private String checkUpdateAndSubmit(String subFlowId, FlowDataDTO flowDataDTO, String uid, private String checkUpdateAndSubmit(String subFlowId, FlowDataDTO flowDataDTO, String uid,
ChangeExecRecord execRecord, String currentNode, ChangeExecRecord execRecord, ChangeSubFlowRecord subFlowRecord,
ChangeSubFlowSubmitReq changeSubFlowSubmitReq) { String currentNode, ChangeSubFlowSubmitReq changeSubFlowSubmitReq) {
ChangeFlowEnum node = ChangeFlowEnum.getByNodeId(currentNode); ChangeFlowEnum node = ChangeFlowEnum.getByNodeId(currentNode);
Assert.notNull(node, "节点配置不存在"); Assert.notNull(node, "节点配置不存在");
log.debug("[checkUpdateAndSubmit] subFlowId:{}, nodeEnum:{}, changeSubFlowSubmitReq:{}", log.debug("[checkUpdateAndSubmit] subFlowId:{}, nodeEnum:{}, changeSubFlowSubmitReq:{}",
...@@ -175,10 +180,10 @@ public class ChangeSubFlowBiz { ...@@ -175,10 +180,10 @@ public class ChangeSubFlowBiz {
String nextNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid, String nextNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true, ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime()); FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime());
// 更新节点ID // 更新行动工单节点ID
execRecord.setSubFlowNode(nextNodeId); subFlowRecord.setSubFlowNode(nextNodeId);
execRecord.setUpdateTime(DateUtils.getCurrentTime()); subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowExecService.update(execRecord); changeSubFlowRecordService.update(subFlowRecord);
return nextNodeId; return nextNodeId;
case CHANGE_SUB_FLOW_SUBMIT: case CHANGE_SUB_FLOW_SUBMIT:
...@@ -186,10 +191,10 @@ public class ChangeSubFlowBiz { ...@@ -186,10 +191,10 @@ public class ChangeSubFlowBiz {
String execNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid, String execNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true, ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime()); FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime());
// 更新节点ID // 更新行动工单节点ID
execRecord.setSubFlowNode(execNodeId); subFlowRecord.setSubFlowNode(execNodeId);
execRecord.setUpdateTime(DateUtils.getCurrentTime()); subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowExecService.update(execRecord); changeSubFlowRecordService.update(subFlowRecord);
return execNodeId; return execNodeId;
case CHANGE_SUB_FLOW_EXE: case CHANGE_SUB_FLOW_EXE:
...@@ -197,10 +202,10 @@ public class ChangeSubFlowBiz { ...@@ -197,10 +202,10 @@ public class ChangeSubFlowBiz {
String confirmNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid, String confirmNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true, ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime()); FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime());
// 更新节点ID // 更新行动工单节点ID
execRecord.setSubFlowNode(confirmNodeId); subFlowRecord.setSubFlowNode(confirmNodeId);
execRecord.setUpdateTime(DateUtils.getCurrentTime()); subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowExecService.update(execRecord); changeSubFlowRecordService.update(subFlowRecord);
return confirmNodeId; return confirmNodeId;
case CHANGE_SUB_FLOW_CONFIRM: case CHANGE_SUB_FLOW_CONFIRM:
...@@ -210,21 +215,26 @@ public class ChangeSubFlowBiz { ...@@ -210,21 +215,26 @@ public class ChangeSubFlowBiz {
Assert.notNull(finishTime, "行动完成时间不可为空"); Assert.notNull(finishTime, "行动完成时间不可为空");
Assert.isTrue(StringUtils.isNotBlank(finishDesc), "行动完成情况不可为空"); Assert.isTrue(StringUtils.isNotBlank(finishDesc), "行动完成情况不可为空");
// 更新完成信息 // 更新完成信息(更新所有关联的行动项)
execRecord.setChangeExecFinishTime(finishTime); List<ChangeExecRecord> allExecRecords = changeFlowExecService.getBySubFlowRecordId(subFlowRecord.getId());
execRecord.setChangeExecFinishDesc(finishDesc); for (ChangeExecRecord exec : allExecRecords) {
exec.setChangeExecFinishTime(finishTime);
exec.setChangeExecFinishDesc(finishDesc);
exec.setUpdateTime(DateUtils.getCurrentTime());
changeFlowExecService.update(exec);
}
// 提交到结束节点 // 提交到结束节点
String endNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid, String endNodeId = flowService.submitFlow(subFlowId, flowDataDTO, uid,
ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true, ChangeFlowEnum.CHANGE_SUB_FLOW.getTopoId(), JSON.toJSONString(content), true,
FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime()); FlowxOperationEnum.SUBMIT.getName(), "提交工单", execRecord.getCreateTime());
// 更新节点ID // 更新行动工单节点ID
execRecord.setSubFlowNode(endNodeId); subFlowRecord.setSubFlowNode(endNodeId);
execRecord.setUpdateTime(DateUtils.getCurrentTime()); subFlowRecord.setUpdateTime(DateUtils.getCurrentTime());
changeFlowExecService.update(execRecord); changeSubFlowRecordService.update(subFlowRecord);
// TODO: 子流程完成后,检查主流程是否可以进入确认节点 // TODO: 子流程完成后,检查主流程是否可以进入确认节点
log.info("[CHANGE_SUB_FLOW_CONFIRM] 子流程完成,subFlowId:{}, changeExecId:{}", subFlowId, execRecord.getId()); log.info("[CHANGE_SUB_FLOW_CONFIRM] 子流程完成,subFlowId:{}, subFlowRecordId:{}", subFlowId, subFlowRecord.getId());
return endNodeId; return endNodeId;
...@@ -291,7 +301,6 @@ public class ChangeSubFlowBiz { ...@@ -291,7 +301,6 @@ public class ChangeSubFlowBiz {
.changeExecFinishTime(c.getChangeExecFinishTime()) .changeExecFinishTime(c.getChangeExecFinishTime())
.changeExecFinishDesc(c.getChangeExecFinishDesc()) .changeExecFinishDesc(c.getChangeExecFinishDesc())
.subFlowId(c.getSubFlowId()) .subFlowId(c.getSubFlowId())
.subFlowNode(c.getSubFlowNode())
.build()) .build())
.collect(Collectors.toList()); .collect(Collectors.toList());
...@@ -341,10 +350,11 @@ public class ChangeSubFlowBiz { ...@@ -341,10 +350,11 @@ public class ChangeSubFlowBiz {
log.info("[querySubFlowList] page:{}, pageSize:{}, queryReq:{}", page, pageSize, JSON.toJSONString(queryReq)); log.info("[querySubFlowList] page:{}, pageSize:{}, queryReq:{}", page, pageSize, JSON.toJSONString(queryReq));
// 根据主单条件(flowId, itemId, supplier, onlyMyFollowed)查询主单,获取 changeRecordIds // 根据主单条件(flowId, itemId, supplier, onlyMyFollowed)查询主单,获取 changeRecordIds
List<Long> changeRecordIds = null;
if (queryReq.getFlowId() != null || StringUtils.isNotBlank(queryReq.getItemId()) if (queryReq.getFlowId() != null || StringUtils.isNotBlank(queryReq.getItemId())
|| StringUtils.isNotBlank(queryReq.getSupplier()) || queryReq.getOnlyMyFollowed()) { || StringUtils.isNotBlank(queryReq.getSupplier()) || queryReq.getOnlyMyFollowed()) {
List<Long> flowRecordIds = fileterFlowRecordIds(queryReq); changeRecordIds = filterFlowRecordIds(queryReq);
if (CollectionUtils.isEmpty(flowRecordIds)) { if (CollectionUtils.isEmpty(changeRecordIds)) {
// 如果主单查询结果为空,直接返回 // 如果主单查询结果为空,直接返回
PageVO pageVO = buildPageVo(0L, pageSize, page); PageVO pageVO = buildPageVo(0L, pageSize, page);
ChangeSubFlowListVO result = new ChangeSubFlowListVO(); ChangeSubFlowListVO result = new ChangeSubFlowListVO();
...@@ -352,68 +362,17 @@ public class ChangeSubFlowBiz { ...@@ -352,68 +362,17 @@ public class ChangeSubFlowBiz {
result.setChangeSubFlowList(new ArrayList<>()); result.setChangeSubFlowList(new ArrayList<>());
return result; return result;
} }
queryReq.setChangeRecordIds(flowRecordIds);
} }
// 根据行动项条件(changeExecUser, changeExecDepartment)查询执行项,获取 subFlowRecordId,然后查询子单获取 subFlowId 列表 // 根据行动项条件(changeExecUser, changeExecDepartment)查询执行项,获取 subFlowId 列表
List<String> subFlowIds = null; List<String> subFlowIds = filterSubFlowIdsByExecCondition(queryReq);
if (StringUtils.isNotBlank(queryReq.getChangeExecUser()) if (subFlowIds != null && CollectionUtils.isEmpty(subFlowIds)) {
|| StringUtils.isNotBlank(queryReq.getChangeExecDepartment())) {
List<Long> subFlowRecordIds = new ArrayList<>();
// 根据 changeExecUser 查询
if (StringUtils.isNotBlank(queryReq.getChangeExecUser())) {
List<Long> userSubFlowRecordIds = changeFlowExecService.querySubFlowRecordIdsByExecUser(queryReq.getChangeExecUser());
if (CollectionUtils.isNotEmpty(userSubFlowRecordIds)) {
subFlowRecordIds.addAll(userSubFlowRecordIds);
}
}
// 根据 changeExecDepartment 查询
if (StringUtils.isNotBlank(queryReq.getChangeExecDepartment())) {
List<Long> deptSubFlowRecordIds = changeFlowExecService.querySubFlowRecordIdsByExecDepartment(queryReq.getChangeExecDepartment());
if (CollectionUtils.isNotEmpty(deptSubFlowRecordIds)) {
if (CollectionUtils.isNotEmpty(subFlowRecordIds)) {
// 取交集
subFlowRecordIds = subFlowRecordIds.stream()
.filter(deptSubFlowRecordIds::contains)
.collect(Collectors.toList());
} else {
subFlowRecordIds = deptSubFlowRecordIds;
}
}
}
// 如果行动项查询结果为空,直接返回
if (CollectionUtils.isEmpty(subFlowRecordIds)) {
PageVO pageVO = buildPageVo(0L, pageSize, page);
ChangeSubFlowListVO result = new ChangeSubFlowListVO();
result.setPageVo(pageVO);
result.setChangeSubFlowList(new ArrayList<>());
return result;
}
// 根据 subFlowRecordId 查询子单,获取 subFlowId 列表
List<ChangeSubFlowRecord> subFlowRecords = subFlowRecordIds.stream()
.map(id -> changeSubFlowRecordMapper.selectByPrimaryKey(id))
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(subFlowRecords)) {
subFlowIds = subFlowRecords.stream()
.map(ChangeSubFlowRecord::getSubFlowId)
.filter(StringUtils::isNotBlank)
.distinct()
.collect(Collectors.toList());
}
// 如果子单ID列表为空,直接返回 // 如果子单ID列表为空,直接返回
if (CollectionUtils.isEmpty(subFlowIds)) { PageVO pageVO = buildPageVo(0L, pageSize, page);
PageVO pageVO = buildPageVo(0L, pageSize, page); ChangeSubFlowListVO result = new ChangeSubFlowListVO();
ChangeSubFlowListVO result = new ChangeSubFlowListVO(); result.setPageVo(pageVO);
result.setPageVo(pageVO); result.setChangeSubFlowList(new ArrayList<>());
result.setChangeSubFlowList(new ArrayList<>()); return result;
return result;
}
} }
// 第三步:将查询条件填充到 queryReq,用 changeRecordIds + subFlowIds + 其他条件(subFlowNode, startTime, endTime)直接查询子单 // 第三步:将查询条件填充到 queryReq,用 changeRecordIds + subFlowIds + 其他条件(subFlowNode, startTime, endTime)直接查询子单
...@@ -547,7 +506,13 @@ public class ChangeSubFlowBiz { ...@@ -547,7 +506,13 @@ public class ChangeSubFlowBiz {
return result; return result;
} }
private List<Long> fileterFlowRecordIds(ChangeSubFlowListQueryReq queryReq) { /**
* 根据主单条件查询主单记录ID列表
*
* @param queryReq 查询条件
* @return 主单记录ID列表
*/
private List<Long> filterFlowRecordIds(ChangeSubFlowListQueryReq queryReq) {
// 构建主单查询条件 // 构建主单查询条件
ChangeFlowListQueryReq mainQueryReq = new ChangeFlowListQueryReq(); ChangeFlowListQueryReq mainQueryReq = new ChangeFlowListQueryReq();
mainQueryReq.setFlowId(queryReq.getFlowId()); mainQueryReq.setFlowId(queryReq.getFlowId());
...@@ -574,6 +539,66 @@ public class ChangeSubFlowBiz { ...@@ -574,6 +539,66 @@ public class ChangeSubFlowBiz {
} }
/** /**
* 根据行动项条件(changeExecUser, changeExecDepartment)查询执行项,获取 subFlowId 列表
*
* @param queryReq 查询条件
* @return subFlowId 列表,如果没有行动项条件则返回 null
*/
private List<String> filterSubFlowIdsByExecCondition(ChangeSubFlowListQueryReq queryReq) {
// 如果没有行动项条件,返回 null
if (StringUtils.isBlank(queryReq.getChangeExecUser())
&& StringUtils.isBlank(queryReq.getChangeExecDepartment())) {
return null;
}
List<Long> subFlowRecordIds = new ArrayList<>();
// 根据 changeExecUser 查询(只查询 email,使用 LIKE)
if (StringUtils.isNotBlank(queryReq.getChangeExecUser())) {
List<Long> userSubFlowRecordIds = changeFlowExecService.querySubFlowRecordIdsByExecUser(queryReq.getChangeExecUser());
if (CollectionUtils.isNotEmpty(userSubFlowRecordIds)) {
subFlowRecordIds.addAll(userSubFlowRecordIds);
}
}
// 根据 changeExecDepartment 查询
if (StringUtils.isNotBlank(queryReq.getChangeExecDepartment())) {
List<Long> deptSubFlowRecordIds = changeFlowExecService.querySubFlowRecordIdsByExecDepartment(queryReq.getChangeExecDepartment());
if (CollectionUtils.isNotEmpty(deptSubFlowRecordIds)) {
if (CollectionUtils.isNotEmpty(subFlowRecordIds)) {
// 取交集
subFlowRecordIds = subFlowRecordIds.stream()
.filter(deptSubFlowRecordIds::contains)
.collect(Collectors.toList());
} else {
subFlowRecordIds = deptSubFlowRecordIds;
}
}
}
// 如果行动项查询结果为空,返回空列表
if (CollectionUtils.isEmpty(subFlowRecordIds)) {
return new ArrayList<>();
}
// 根据 subFlowRecordId 查询子单,获取 subFlowId 列表
List<ChangeSubFlowRecord> subFlowRecords = subFlowRecordIds.stream()
.map(id -> changeSubFlowRecordMapper.selectByPrimaryKey(id))
.filter(Objects::nonNull)
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(subFlowRecords)) {
return new ArrayList<>();
}
return subFlowRecords.stream()
.map(ChangeSubFlowRecord::getSubFlowId)
.filter(StringUtils::isNotBlank)
.distinct()
.collect(Collectors.toList());
}
/**
* 构建分页信息 * 构建分页信息
* *
* @param total 总记录数 * @param total 总记录数
......
...@@ -51,13 +51,6 @@ public interface ChangeFlowExecService { ...@@ -51,13 +51,6 @@ public interface ChangeFlowExecService {
List<Long> queryByExecUser(String changeExecUser); List<Long> queryByExecUser(String changeExecUser);
/** /**
* 根据子流程工单ID查询行动项记录
* @param subFlowId
* @return
*/
ChangeExecRecord getBySubFlowId(String subFlowId);
/**
* 根据变更行动工单记录ID查询行动项列表 * 根据变更行动工单记录ID查询行动项列表
* @param subFlowRecordId 变更行动工单记录ID * @param subFlowRecordId 变更行动工单记录ID
* @return 行动项列表 * @return 行动项列表
......
...@@ -41,7 +41,7 @@ public class ChangeFlowExecServiceImpl implements ChangeFlowExecService { ...@@ -41,7 +41,7 @@ public class ChangeFlowExecServiceImpl implements ChangeFlowExecService {
.changeRiskDesc(c.getChangeRiskDesc()).changeExecProject(c.getChangeExecProject()) .changeRiskDesc(c.getChangeRiskDesc()).changeExecProject(c.getChangeExecProject())
.changeChecking(c.getChangeChecking()).changeExecFinishTime(c.getChangeExecFinishTime()) .changeChecking(c.getChangeChecking()).changeExecFinishTime(c.getChangeExecFinishTime())
.changeExecFinishDesc(c.getChangeExecFinishDesc()) .changeExecFinishDesc(c.getChangeExecFinishDesc())
.subFlowId(c.getSubFlowId()).subFlowNode(c.getSubFlowNode()).build()) .subFlowId(c.getSubFlowId()).build())
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
return new ArrayList<>(); return new ArrayList<>();
...@@ -78,11 +78,6 @@ public class ChangeFlowExecServiceImpl implements ChangeFlowExecService { ...@@ -78,11 +78,6 @@ public class ChangeFlowExecServiceImpl implements ChangeFlowExecService {
} }
@Override @Override
public ChangeExecRecord getBySubFlowId(String subFlowId) {
return changeExecRecordMapper.selectBySubFlowId(subFlowId);
}
@Override
public List<ChangeExecRecord> getBySubFlowRecordId(Long subFlowRecordId) { public List<ChangeExecRecord> getBySubFlowRecordId(Long subFlowRecordId) {
if (subFlowRecordId == null) { if (subFlowRecordId == null) {
return new ArrayList<>(); return new ArrayList<>();
......
...@@ -84,16 +84,11 @@ public class ChangeExecRecord { ...@@ -84,16 +84,11 @@ public class ChangeExecRecord {
private String changeExecFinishDesc; private String changeExecFinishDesc;
/** /**
* 子流程工单ID * 变更执行工单topo ID
*/ */
private String subFlowId; private String subFlowId;
/** /**
* 子流程当前节点
*/
private String subFlowNode;
/**
* 变更行动工单记录ID(关联到变更行动工单中间表,新数据使用) * 变更行动工单记录ID(关联到变更行动工单中间表,新数据使用)
*/ */
private Long subFlowRecordId; private Long subFlowRecordId;
......
...@@ -43,9 +43,6 @@ public interface ChangeExecRecordMapper extends tk.mybatis.mapper.common.Mapper< ...@@ -43,9 +43,6 @@ public interface ChangeExecRecordMapper extends tk.mybatis.mapper.common.Mapper<
@Select("SELECT * FROM TB_YX_QC_CHANGE_EXEC_RECORD ORDER BY id DESC LIMIT #{limit},#{offset}") @Select("SELECT * FROM TB_YX_QC_CHANGE_EXEC_RECORD ORDER BY id DESC LIMIT #{limit},#{offset}")
List<ChangeExecRecord> queryList(@Param("limit") int limit, @Param("offset") Integer offset); List<ChangeExecRecord> queryList(@Param("limit") int limit, @Param("offset") Integer offset);
@Select("SELECT * FROM TB_YX_QC_CHANGE_EXEC_RECORD WHERE sub_flow_id = #{subFlowId} LIMIT 1")
ChangeExecRecord selectBySubFlowId(@Param("subFlowId") String subFlowId);
/** /**
* 根据变更行动工单记录ID查询行动项列表 * 根据变更行动工单记录ID查询行动项列表
* @param subFlowRecordId 变更行动工单记录ID * @param subFlowRecordId 变更行动工单记录ID
...@@ -55,11 +52,11 @@ public interface ChangeExecRecordMapper extends tk.mybatis.mapper.common.Mapper< ...@@ -55,11 +52,11 @@ public interface ChangeExecRecordMapper extends tk.mybatis.mapper.common.Mapper<
List<ChangeExecRecord> selectBySubFlowRecordId(@Param("subFlowRecordId") Long subFlowRecordId); List<ChangeExecRecord> selectBySubFlowRecordId(@Param("subFlowRecordId") Long subFlowRecordId);
/** /**
* 根据变更行动人查询变更行动工单记录ID列表 * 根据变更行动人查询变更行动工单记录ID列表(只查询 email,使用 LIKE)
* @param changeExecUser 变更行动人(邮箱或姓名 * @param changeExecUser 变更行动人(邮箱)
* @return 变更行动工单记录ID列表 * @return 变更行动工单记录ID列表
*/ */
@Select("SELECT DISTINCT(sub_flow_record_id) FROM TB_YX_QC_CHANGE_EXEC_RECORD WHERE sub_flow_record_id IS NOT NULL AND (change_exec_user_email LIKE #{changeExecUser} OR change_exec_user LIKE #{changeExecUser})") @Select("SELECT DISTINCT(sub_flow_record_id) FROM TB_YX_QC_CHANGE_EXEC_RECORD WHERE sub_flow_record_id IS NOT NULL AND change_exec_user_email LIKE #{changeExecUser}")
List<Long> querySubFlowRecordIdsByExecUser(@Param("changeExecUser") String changeExecUser); List<Long> querySubFlowRecordIdsByExecUser(@Param("changeExecUser") String changeExecUser);
/** /**
......
...@@ -84,9 +84,4 @@ public class ChangeFlowExecVO { ...@@ -84,9 +84,4 @@ public class ChangeFlowExecVO {
* 子流程工单ID * 子流程工单ID
*/ */
private String subFlowId; private String subFlowId;
/**
* 子流程当前节点
*/
private String subFlowNode;
} }
\ 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