提交 4f165541 authored 作者: Matrix's avatar Matrix

[核查模块] 修正了手动发起核查detailId不正确的问题

上级 ac86c200
......@@ -314,7 +314,7 @@ public class DeviceCheckController {
// 2-1 构建发起单位的 统计账单
DeviceCheckStat provinceCheckStat = initStatData(billVo.getCheckTitle(), billVo.getRemark(), billVo.getUserAId(), billVo.getUserBId(), startUnit.getName(), checkedUnits);
Integer statId = statRepo.save(provinceCheckStat).getId();
// List<CheckDeviceStatVo> deviceStatVos = Arrays.stream(Objects.requireNonNull(JacksonUtil.readValue(provinceCheckStat.getStatInfo(), CheckDeviceStatVo[].class))).collect(toList())
List<CheckDeviceStatVo> deviceStatVos = Arrays.stream(Objects.requireNonNull(JacksonUtil.readValue(provinceCheckStat.getStatInfo(), CheckDeviceStatVo[].class))).collect(toList());
// 2-2 构建发起单位的 统计任务
TaskBto provStatTask = new Task(CHECK_STAT_0.id, CONFIRM_CHECK_STAT.name, 0, ".0.", CONFIRM_CHECK_STAT.id, statId, startUnitId)
......@@ -342,11 +342,22 @@ public class DeviceCheckController {
DeviceCheckDetail detail = detailRepo.save(unitDetailDoc);
detailIds.add(detail.getId());
// 将id放入统计中去 model -> areaName -> detailId
String areaName = auService.findOne(AuExample.UnitId, unit.getUnitId()).getName();
for (CheckDeviceStatVo statVo : deviceStatVos) {
for (CheckAreaStatVo asv : statVo.getAreaStatList()) {
if (asv.getAreaName().equals(areaName)) {
asv.setAreaDetailId(detail.getId());
}
}
}
// 3-2 构建被查单位的 自查任务 (根据被查单位的级别来区分是县级状态是市级状态)
TaskBto checkedTask = new TaskBto(CHECK_DETAIL_0.id, "自核查任务", provStatTask.getId(), addNode(provStatTask.getNodeIdDetail(), provStatTask.getId()), CONFIRM_CHECK_DETAIL.id, detail.getId(), unit.getUnitId(), 0);
taskService.start(checkedTask);
}
// 4. 重新设置并保存统计账单
provinceCheckStat.setStatInfo(JacksonUtil.toJSon(deviceStatVos));
statRepo.save(provinceCheckStat);
log.info("[核查模块] {}单位成功发起对 {} 单位的核查任务分发", startUnit.getName(), checkedUnitNames);
return ResponseEntity.ok(new ResultObj<>(
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论