提交修改

This commit is contained in:
quyixiao 2020-12-03 14:16:37 +08:00
parent d3924f5c24
commit b12a01e820
8 changed files with 57 additions and 8 deletions

View File

@ -306,7 +306,7 @@ public class TestController {
} }
// 重置http://localhost:8080/lz_management/test/approval?resultRecordId=3702&status=9&menuName=cccc&flowRecordId=33987&resetFlag=0 // 重置http://localhost:8080/lz_management/test/approval?resultRecordId=3682&status=9&menuName=cccc&flowRecordId=33919&resetFlag=0
@RequestMapping("/test/approval") @RequestMapping("/test/approval")
public R approval(ApprovalDto approvalDto) { public R approval(ApprovalDto approvalDto) {
try { try {

View File

@ -12,4 +12,5 @@ public class ApprovalDto {
private Long transferStaffId; // 转交员工 id private Long transferStaffId; // 转交员工 id
private Long flowRecordId;// 流程 id private Long flowRecordId;// 流程 id
private int resetFlag; private int resetFlag;
private int clearFlag;//0 全清1 还是保留指标
} }

View File

@ -99,4 +99,8 @@ public interface FlowRecordMapper extends BaseMapper<FlowRecord> {
void deleteFlowRecordByRecordId(@Param("recordId") Long recordId); void deleteFlowRecordByRecordId(@Param("recordId") Long recordId);
void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId);
FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex, @Param("statusList") List<Integer> statusList);
List<FlowRecord> selectFlowRecordByRecordIdFlowIndexStatusList(@Param("recordId") Long recordId, @Param("flowIndex") Integer flowIndex, @Param("statusList") List<Integer> statusList);
} }

View File

@ -94,5 +94,9 @@ public interface FlowRecordService extends IService<FlowRecord> {
void deleteFlowRecordByRecordId(Long recordId); void deleteFlowRecordByRecordId(Long recordId);
void updateFlowRecordIdById(@Param("id") Long id, @Param("newId") Long newId); void updateFlowRecordIdById(Long id, Long newId);
FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(Long recordId, Integer flowIndex, List<Integer> statusList);
List<FlowRecord> selectFlowRecordByRecordIdFlowIndexStatusList(Long recordId, Integer flowIndex, List<Integer> statusList);
} }

View File

@ -251,4 +251,14 @@ public class FlowRecordServiceImpl extends ServiceImpl<FlowRecordMapper, FlowRec
flowRecordMapper.updateFlowRecordIdById(id,newId); flowRecordMapper.updateFlowRecordIdById(id,newId);
} }
@Override
public FlowRecord selectPreFlowRecordByRecordIdMinIdStatusList(Long recordId, Integer flowIndex, List<Integer> statusList) {
return flowRecordMapper.selectPreFlowRecordByRecordIdMinIdStatusList(recordId,flowIndex,statusList);
}
@Override
public List<FlowRecord> selectFlowRecordByRecordIdFlowIndexStatusList(Long recordId, Integer flowIndex, List<Integer> statusList) {
return flowRecordMapper.selectFlowRecordByRecordIdFlowIndexStatusList(recordId,flowIndex,statusList);
}
} }

View File

@ -128,5 +128,5 @@ public interface ResultRecordService extends IService<ResultRecord> {
R getResetData(RecordDetailDto recordDetailDto); R getResetData(RecordDetailDto recordDetailDto);
R resetData(Long recordId); R resetData(Long recordId,int clearFlag);
} }

View File

@ -932,8 +932,8 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
} }
private R resetNode(ApprovalDto approvalDto) { private R resetNode(ApprovalDto approvalDto) {
FlowRecord resultRecord = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId()); FlowRecord f = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(resultRecord.getRecordId(),resultRecord.getFlowIndex()); List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(f.getRecordId(),f.getFlowIndex());
for(FlowRecord flowRecord:flowRecords){ for(FlowRecord flowRecord:flowRecords){
// 如果结果录入己经走了 // 如果结果录入己经走了
if (new Integer(3).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) { if (new Integer(3).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4) ) {
@ -941,9 +941,19 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}else{ }else{
flowRecord.setStatus(0); //表示流程己经被重置 flowRecord.setStatus(0); //表示流程己经被重置
} }
flowRecordService.updateFlowRecordById(flowRecord); flowRecordService.updateFlowRecordById(flowRecord);
} }
FlowRecord preFlowRecord = flowRecordService.selectPreFlowRecordByRecordIdMinIdStatusList(f.getRecordId(), f.getFlowIndex() - 1, Arrays.asList(1, 2));
List<FlowRecord> runing = new ArrayList<>();
if (preFlowRecord != null) {
runing = flowRecordService.selectFlowRecordByRecordIdFlowIndex(f.getRecordId(), preFlowRecord.getFlowIndex());
} else {
runing = flowRecordService.selectFlowRecordByRecordIdFlowIndex(f.getRecordId(), 0);
}
for (FlowRecord r : runing) {
r.setStatus(2);
flowRecordService.updateFlowRecordById(r);
}
return R.ok(); return R.ok();
} }
@ -973,7 +983,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
} }
} }
} }
resultRecordService.resetData(flowRecord.getRecordId()); resultRecordService.resetData(flowRecord.getRecordId(),approvalDto.getClearFlag());
return R.ok(); return R.ok();
} }
@ -1432,7 +1442,7 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
} }
@Override @Override
public R resetData(Long recordId) { public R resetData(Long recordId,int clearFlag) {
return null; return null;
} }
} }

View File

@ -330,6 +330,26 @@
select * from lz_flow_record where is_delete = 0 and record_id = #{recordId} and flow_index >= #{flowIndex} select * from lz_flow_record where is_delete = 0 and record_id = #{recordId} and flow_index >= #{flowIndex}
</select> </select>
<select id="selectPreFlowRecordByRecordIdMinIdStatusList" resultType="com.lz.modules.flow.entity.FlowRecord">
select * from lz_flow_record where is_delete = 0 and flow_index <![CDATA[<=]]> #{flowIndex}
and record_id = #{recordId}
and status in
<foreach item="item" collection="statusList" open="(" separator="," close=")">
#{item}
</foreach>
order by flow_index desc limit 1
</select>
<select id="selectFlowRecordByRecordIdFlowIndexStatusList" resultType="com.lz.modules.flow.entity.FlowRecord">
select * from lz_flow_record where is_delete = 0 and flow_index = #{flowIndex}
and record_id = #{recordId}
and status in
<foreach item="item" collection="statusList" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<delete id="deleteFlowRecordByRecordId"> <delete id="deleteFlowRecordByRecordId">
delete from lz_flow_record where record_id = #{recordId} delete from lz_flow_record where record_id = #{recordId}
</delete> </delete>