提交 ffd7e9d0 authored 作者: Matrix's avatar Matrix

fix(核查模块): 修复了task.getCustomInfo 为null的问题

上级 cd518dd2
......@@ -437,7 +437,7 @@ public class DeviceCheckController {
linkVo.setType(2);
//看到的都是自查 根据tpye和billId找到父级节点 这里的根节点只能是检查节点
Task rootTask = taskRepo.findAllByBillIdAndBusinessType(billId, type).stream()
.filter(task -> task.getCustomInfo().contains("exam"))
.filter(task -> Objects.nonNull(task.getCustomInfo()) &&task.getCustomInfo().contains("exam"))
.findFirst()
.orElseThrow(() -> new ApiException("[核查模块]没有找到对应billId的检查任务,您给的billId = " + billId));
// 找到所有的子节点
......@@ -941,7 +941,7 @@ public class DeviceCheckController {
Integer fatherId = 0;
Integer initStatusId = 0;
// level = 1 或者2 市省级 否则 区级 ,市省级的自查初始状态160,区级的自查初始状态140
// level = 1 或者2 市省级 否则 就是区级 ,市省级的自查初始状态160,区级的自查初始状态140
if (unit.getLevel() == 1 || unit.getLevel() == 2) {
fatherId = cityExamIdMap.get(unit.getUnitId());
initStatusId = CHECK_DETAIL_CITY_0.id;
......@@ -1331,7 +1331,6 @@ public class DeviceCheckController {
detailRepo.updateCheckDetail4Check(id, detailString, checkResult, (int) count);
}
//依据detail账单对应的checkUserId来判断是2流程还是多流程的
Integer userAId = currentDetail.getCheckUserAId();
Integer userBId = currentDetail.getCheckUserBId();
......@@ -1352,6 +1351,8 @@ public class DeviceCheckController {
log.info("[核查模块] 详情任务推进到下个阶段...");
taskService.moveToNext(currentTask);
summaryDetail(currentTask, currentDetail);
// // 检查该exam任务是否可以完结推进了
// advanceExamTask(currentTask.getParentTaskId());
}
} else {
//不通过则回到第一阶段
......@@ -1392,6 +1393,9 @@ public class DeviceCheckController {
currentDetail.setUserCId(userId);
currentDetail = detailRepo.save(currentDetail);
summaryDetail(currentTask, currentDetail);
// // 检查该exam任务是否可以完结推进了
// advanceExamTask(currentTask.getParentTaskId());
return ResponseEntity.ok("市专管员审核通过,结束" + currentDetail.getCheckUnit() + " 区的自查任务并汇总数据");
} else {
log.info("[核查模块] 市专管员审核未通过,回滚该任务到初始状态,任务id = {}", currentTask.getId());
......@@ -1416,6 +1420,19 @@ public class DeviceCheckController {
}
/**
* 尝试自动完结检查任务(市/省的)
* 1. 当且仅当该检查任务的状态等于@link{CHECK_EXAM_STAT_1}时且其下的所有子任务均为完结状态,自动推进
* @param exam的taskId
*/
private void advanceExamTask(Integer examTaskId) {
TaskBto parentTask = taskService.findByTaskId(examTaskId);
if (parentTask.getBillStatus().equals(CHECK_EXAM_STAT_1.id)&&taskService.TaskTreeIsOver(examTaskId)){
log.info("[核查模块] 检测到task id = {}的检查任务已经可以自动推进了,自动推进至下一步", examTaskId);
statConfirm(parentTask.getBillId());
}
}
/**
* 省专管员审核自查数据的方法
*
......@@ -1493,7 +1510,7 @@ public class DeviceCheckController {
cDetail.setCheckFiles("");
cDetail.setCheckFileList(Lists.newArrayList());
cDetail = detailRepo.save(cDetail);
// 创建新的任务(被拒绝的自查单位如果是区则是140状态,否则是160状态)
// 创建新的任务(被拒绝的自查单位如果是区则是140状态,否则是160状态 )
String unitName = cDetail.getCheckUnit();
Integer level = unitsRepo.findByName(unitName).getLevel();
Integer initStatusId = 0;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论