提交修改

This commit is contained in:
quyixiao 2021-01-08 12:19:07 +08:00
parent 17dcef05d1
commit a2b44bac4e

View File

@ -943,6 +943,8 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
return transfer(approvalDto);
case 9:
return reset(approvalDto);
case 10:
return rejectN(approvalDto);
default:
break;
}
@ -950,6 +952,57 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}
private R rejectN(ApprovalDto approvalDto) {
FlowRecord f = flowRecordService.selectFlowRecordById(approvalDto.getFlowRecordId());
ResultRecord resultRecord = resultRecordService.selectResultRecordById(f.getRecordId());
List<FlowRecord> flowRecords = flowRecordService.selectFlowRecordByRecordIdGeFlowIndex(f.getRecordId(), f.getFlowIndex());
boolean flag = false;
for (FlowRecord flowRecord : flowRecords) {
// 如果结果录入己经走了
if (new Integer(2).equals(flowRecord.getFlowProcess()) && (flowRecord.getStatus() == 1 || flowRecord.getStatus() == 4)) {
flowRecord.setStatus(4); //表示流程己经被重置
flag = true;
} else {
if (flowRecord.getStatus() == 4 && f.getId().equals(flowRecord.getId())) {
flowRecord.setStatus(0); //表示流程己经被重置
} else if (flowRecord.getStatus() == 4) {
log.info(flowRecord.getId() + " 跳过不我重置... ");
} else {
flowRecord.setStatus(0); //表示流程己经被重置
}
}
flowRecordService.updateFlowRecordById(flowRecord);
}
FlowRecord preFlowRecord = flowRecordService.selectPreFlowRecordByRecordIdMinIdStatusList(f.getRecordId(), f.getFlowIndex(), Arrays.asList(1, 2, 4));
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);
resultRecord.setFlowProcess(r.getFlowProcess());
flowRecordService.updateFlowRecordById(r);
}
resultRecordService.updateResultRecordById(resultRecord);
if (flag) { //如果录入己经走了设置新的数据结果录入己走
List<FlowRecord> newflowRecords = flowRecordService.selectFlowRecordByRecordId(f.getRecordId());
for (int i = 0; i < newflowRecords.size(); i++) {
FlowRecord newFlowRecord = newflowRecords.get(i);
if (new Integer(2).equals(newFlowRecord.getFlowProcess())) {
newFlowRecord.setStatus(4);
flowRecordService.updateFlowRecordById(newFlowRecord);
}
}
}
resultRecordService.resetData(resultRecord.getId(), 2);
dingtalkBusiness.sendWorkMSGWithAsyn(resultRecord.getId(), WorkMsgTypeEnum.REJECT.getType());
return R.ok();
}
private R reset(ApprovalDto approvalDto) {
switch (approvalDto.getResetFlag()) {
@ -1537,10 +1590,10 @@ public class ResultRecordServiceImpl extends ServiceImpl<ResultRecordMapper, Res
}
//删除指标信息
/**
* clearFlag == 0 全清 1 部分清包括评分标志 2只清楚评分标志
*
* */
*/
@Override
public R resetData(Long recordId, int clearFlag) {
List<ResultDetail> resultDetails = resultDetailService.selectByRecordId(recordId);