提交 b2e1807d authored 作者: ljj234's avatar ljj234

refactor: 修改核查模块,市自动转发个区

上级 5018fdc4
...@@ -469,6 +469,7 @@ public class DeviceCheckController { ...@@ -469,6 +469,7 @@ public class DeviceCheckController {
for (Task child : childTask) { for (Task child : childTask) {
// 将子节点任务中的 统计数据确认任务 给过滤掉 // 将子节点任务中的 统计数据确认任务 给过滤掉
// todo
if (child.getTitle().contains("统计数据确认任务")) { if (child.getTitle().contains("统计数据确认任务")) {
continue; continue;
} }
...@@ -583,7 +584,6 @@ public class DeviceCheckController { ...@@ -583,7 +584,6 @@ public class DeviceCheckController {
// 这里只显示detail任务 // 这里只显示detail任务
if (child.getBusinessType() == CONFIRM_CHECK_STAT.id) { if (child.getBusinessType() == CONFIRM_CHECK_STAT.id) {
// todo
lcdList.add(LinkCheckDetail.builder() lcdList.add(LinkCheckDetail.builder()
.checkResult("无误") .checkResult("无误")
.checkUnit(unitsRepo.findById(child.getOwnUnit()).get().getName()) .checkUnit(unitsRepo.findById(child.getOwnUnit()).get().getName())
...@@ -591,7 +591,7 @@ public class DeviceCheckController { ...@@ -591,7 +591,7 @@ public class DeviceCheckController {
.id(child.getBillId()) .id(child.getBillId())
.remark(1) .remark(1)
.build()); .build());
break; continue;
} }
LinkExamDetail led = getLed(endTime, updateTime, child); LinkExamDetail led = getLed(endTime, updateTime, child);
...@@ -625,6 +625,7 @@ public class DeviceCheckController { ...@@ -625,6 +625,7 @@ public class DeviceCheckController {
*/ */
@GetMapping("/title/{examJobId}") @GetMapping("/title/{examJobId}")
public ResponseEntity getNames(@PathVariable Integer examJobId) { public ResponseEntity getNames(@PathVariable Integer examJobId) {
// 根据检查的主键id 查询到prov city Stat的title // 根据检查的主键id 查询到prov city Stat的title
Integer provId = taskService.get(examJobId).getParentTaskId(); Integer provId = taskService.get(examJobId).getParentTaskId();
// 检查的job id 找到 father 进而找到 father的billid 进而找到title Id // 检查的job id 找到 father 进而找到 father的billid 进而找到title Id
......
...@@ -60,6 +60,7 @@ import static java.util.stream.Collectors.*; ...@@ -60,6 +60,7 @@ import static java.util.stream.Collectors.*;
* @author Ozoz.L cnljj1995@gmail.com * @author Ozoz.L cnljj1995@gmail.com
* on 11/10/21 * on 11/10/21
*/ */
@SuppressWarnings("Duplicates")
@RestController @RestController
@RequestMapping(value = "/check") @RequestMapping(value = "/check")
@AutoDocument @AutoDocument
...@@ -129,16 +130,16 @@ public class ExamController { ...@@ -129,16 +130,16 @@ public class ExamController {
return ResponseEntity.ok(new ResultObj<>(escrowService.findAllEscrowUnit(filter))); return ResponseEntity.ok(new ResultObj<>(escrowService.findAllEscrowUnit(filter)));
} }
@ApiOperation(value = "检查地区是否可以发起核查", notes = "检查地区是否可以发起核查") @ApiOperation(value = "检查地区是否可以发起核查,并返回没有装备的单位id", notes = "检查地区是否可以发起核查")
@PostMapping("/checkPossible") @PostMapping("/checkPossible")
public ResponseEntity checkPossible(@RequestBody UnitIds unitIds) { public ResponseEntity checkPossible(@RequestBody UnitIds unitIds) {
return ResponseEntity.ok(escrowService.checkPossible()); return ResponseEntity.ok(new UnitIds(checkUnitService.findUnExistDevice(unitIds.getIds())));
} }
@GetMapping("/confirm/unit") @GetMapping("/confirm/unit")
@ApiOperation(value = "查询默认的可以被核查单位的清单(省本直,省直属,市局),同时过滤掉那些已经被代管的单位") @ApiOperation(value = "查询默认的可以被核查单位的清单(省本直,省直属,市局),同时过滤掉那些已经被代管的单位")
public ResponseEntity findDefaultUnits(@RequestParam(defaultValue = "false") boolean province) { public ResponseEntity findDefaultUnits(@RequestParam(defaultValue = "false") boolean isExam) {
Map<Integer, List<Units>> checkUnit = checkUnitService.findCheckUnit(province); Map<Integer, List<Units>> checkUnit = checkUnitService.findCheckUnit(isExam);
// 需要去除掉被托管的单位 // 需要去除掉被托管的单位
ArrayList<Units> units = new ArrayList<>(); ArrayList<Units> units = new ArrayList<>();
units.addAll(checkUnit.get(1)); units.addAll(checkUnit.get(1));
...@@ -165,6 +166,7 @@ public class ExamController { ...@@ -165,6 +166,7 @@ public class ExamController {
return ResponseEntity.ok("发起核查成功"); return ResponseEntity.ok("发起核查成功");
} }
/** /**
* 发起检查 * 发起检查
* <li>1. 添加发起核查bill记录</> * <li>1. 添加发起核查bill记录</>
...@@ -207,7 +209,8 @@ public class ExamController { ...@@ -207,7 +209,8 @@ public class ExamController {
// 2-1 构建发起单位的 统计账单 // 2-1 构建发起单位的 统计账单
DeviceCheckStat provinceCheckStat; DeviceCheckStat provinceCheckStat;
//根据examStatId来判断是update还是create 此时初始化的为指定检查区域的数据 //根据examStatId来判断是update还是create 此时初始化的为指定检查区域的数据
DeviceCheckStat initCheckStat = initStatData(checkedUnitNames,
provinceCheckStat = initStatData(checkedUnitNames,
ceVo.getTitle(), ceVo.getTitle(),
groupUserString, groupUserString,
0, 0,
...@@ -216,8 +219,6 @@ public class ExamController { ...@@ -216,8 +219,6 @@ public class ExamController {
checkedUnits, checkedUnits,
ceVo.getEndTime().atStartOfDay()); ceVo.getEndTime().atStartOfDay());
provinceCheckStat = initCheckStat;
log.info("[核查模块]发起手动检查,发起单位为{},被查单位为{}", startUnit.getName(), checkedUnitNames); log.info("[核查模块]发起手动检查,发起单位为{},被查单位为{}", startUnit.getName(), checkedUnitNames);
provinceCheckStat.setCheckType(isExam ? CheckType.CT_EXAM : CheckType.CT_CHECK); provinceCheckStat.setCheckType(isExam ? CheckType.CT_EXAM : CheckType.CT_CHECK);
...@@ -254,6 +255,7 @@ public class ExamController { ...@@ -254,6 +255,7 @@ public class ExamController {
// 3 如果是省级账户发起的检查,需要构建省局、省直属、市级的统计任务 // 3 如果是省级账户发起的检查,需要构建省局、省直属、市级的统计任务
// 3-1 创建省局单位的账单及详情 // 3-1 创建省局单位的账单及详情
if (checkTypeNum(ceVo.getDetail().get(0).getUnitIds(), 1)) { if (checkTypeNum(ceVo.getDetail().get(0).getUnitIds(), 1)) {
// 3-1-1 创建省局单位的统计账单 // 3-1-1 创建省局单位的统计账单
DeviceCheckStat proStat = new DeviceCheckStat(ceVo.getTitle(), "", LocalDateTime.now(), ceVo.getEndTime().atStartOfDay(), DeviceCheckStat proStat = new DeviceCheckStat(ceVo.getTitle(), "", LocalDateTime.now(), ceVo.getEndTime().atStartOfDay(),
"[]", 0, 0, ceVo.getDetail().get(0).getRemark()); "[]", 0, 0, ceVo.getDetail().get(0).getRemark());
...@@ -261,8 +263,9 @@ public class ExamController { ...@@ -261,8 +263,9 @@ public class ExamController {
DeviceCheckStat proStatSave = statRepo.save(proStat); DeviceCheckStat proStatSave = statRepo.save(proStat);
// 3-1-2 构建省局单位的任务 // 3-1-2 构建省局单位的任务
TaskBto taskBtoPro = new Task(CHECK_EXAM_STAT_0.id, TaskBto taskBtoPro = new Task(CHECK_EXAM_STAT_1.id,
getUnitDateString(startUnit, ceVo.getTitle()), // getUnitDateString(startUnit, ceVo.getTitle()),
getUnitDateString(startUnit, "省局单位检查任务"),
cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, proStatSave.getId(), startUnitId) cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, proStatSave.getId(), startUnitId)
.parse2Bto(); .parse2Bto();
taskBtoPro.setCustomInfo(isExam ? "exam" : "check"); taskBtoPro.setCustomInfo(isExam ? "exam" : "check");
...@@ -275,11 +278,13 @@ public class ExamController { ...@@ -275,11 +278,13 @@ public class ExamController {
// 3-1-3 构建省级单位的自查账单及任务 // 3-1-3 构建省级单位的自查账单及任务
List<Units> unitsPro = checkedUnits.stream().filter(o -> o.getLevel() == 1 && o.getType() == 2).collect(toList()); List<Units> unitsPro = checkedUnits.stream().filter(o -> o.getLevel() == 1 && o.getType() == 2).collect(toList());
log.info("[核查] 生成省局统计及详情:{}",unitsPro.toString());
for (Units unit : unitsPro) { for (Units unit : unitsPro) {
DeviceCheckDetail unitDetailDoc = DeviceCheckDetail.EmptyWithChecker( DeviceCheckDetail unitDetailDoc = DeviceCheckDetail.EmptyWithChecker(
ceVo.getDetail().get(0).getRemark(), ceVo.getDetail().get(0).getRemark(),
ceVo.getTitle() + "%^&" + "省局单位检查", ceVo.getTitle() + "%^&" + "省局单位检查任务",
0, 0, 0, 0, 0, 0, 0, 0,
unit.getName(), unit.getName(),
unitsRepo.findByName(unit.getName()).getUnitId(), unitsRepo.findByName(unit.getName()).getUnitId(),
...@@ -316,8 +321,8 @@ public class ExamController { ...@@ -316,8 +321,8 @@ public class ExamController {
DeviceCheckStat esStatSave = statRepo.save(esStat); DeviceCheckStat esStatSave = statRepo.save(esStat);
// 3-1-2 构建省直单位的任务 // 3-1-2 构建省直单位的任务
TaskBto taskBtoEs = new Task(CHECK_EXAM_STAT_0.id, TaskBto taskBtoEs = new Task(CHECK_EXAM_STAT_1.id,
getUnitDateString(startUnit, ceVo.getTitle()), "[省直属单位]"+ "省直单位检查任务",
cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, esStatSave.getId(), cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, esStatSave.getId(),
// 省直单位的检查任务应该给省里 // 省直单位的检查任务应该给省里
unitsRepo.findAllByTypeAndLevel(1, 1).get(0).getUnitId()).parse2Bto(); unitsRepo.findAllByTypeAndLevel(1, 1).get(0).getUnitId()).parse2Bto();
...@@ -328,14 +333,16 @@ public class ExamController { ...@@ -328,14 +333,16 @@ public class ExamController {
taskBtoEs.setCurrentPoint(1); taskBtoEs.setCurrentPoint(1);
taskBtoEs = taskService.start(taskBtoEs); taskBtoEs = taskService.start(taskBtoEs);
// 3-1-3 构建省单位的自查账单及任务 // 3-1-3 构建省单位的自查账单及任务
List<Units> unitsEs = checkedUnits.stream().filter(o -> o.getEscrow() == 1).collect(toList()); List<Units> unitsEs = checkedUnits.stream().filter(o -> o.getEscrow() == 1).collect(toList());
log.info("[核查] 生成省直属统计及详情:{}",unitsEs.toString());
for (Units unit : unitsEs) { for (Units unit : unitsEs) {
DeviceCheckDetail unitDetailDoc = DeviceCheckDetail.EmptyWithChecker( DeviceCheckDetail unitDetailDoc = DeviceCheckDetail.EmptyWithChecker(
ceVo.getDetail().get(0).getRemark(), ceVo.getDetail().get(0).getRemark(),
ceVo.getTitle() + "%^&" + "省直单位检查", ceVo.getTitle() + "%^&" + "省直单位检查任务",
0, 0, 0, 0, 0, 0, 0, 0,
unit.getName(), unit.getName(),
unitsRepo.findByName(unit.getName()).getUnitId(), unitsRepo.findByName(unit.getName()).getUnitId(),
...@@ -373,8 +380,8 @@ public class ExamController { ...@@ -373,8 +380,8 @@ public class ExamController {
DeviceCheckStat cityStatSave = statRepo.save(ciyStat); DeviceCheckStat cityStatSave = statRepo.save(ciyStat);
// 3-1-2 构建市单位的任务 // 3-1-2 构建市单位的任务
TaskBto taskBtoCity = new Task(CHECK_EXAM_STAT_0.id, TaskBto taskBtoCity = new Task(CHECK_EXAM_STAT_1.id,
getUnitDateString(startUnit, ceVo.getTitle()), getUnitDateString(startUnit, "各市单位检查任务"),
cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, cityStatSave.getId(), cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, cityStatSave.getId(),
unitsRepo.findAllByTypeAndLevel(1, 1).get(0).getUnitId()).parse2Bto(); unitsRepo.findAllByTypeAndLevel(1, 1).get(0).getUnitId()).parse2Bto();
taskBtoCity.setCustomInfo("exam"); taskBtoCity.setCustomInfo("exam");
...@@ -387,6 +394,9 @@ public class ExamController { ...@@ -387,6 +394,9 @@ public class ExamController {
// 3-1-3 构建市单位的自查账单及任务 // 3-1-3 构建市单位的自查账单及任务
List<Units> unitsEs = checkedUnits.stream().filter(o -> o.getLevel() == 2).collect(toList()); List<Units> unitsEs = checkedUnits.stream().filter(o -> o.getLevel() == 2).collect(toList());
log.info("[核查] 检查,生成市统计及详情:{}",unitsEs.toString());
for (Units unit : unitsEs) { for (Units unit : unitsEs) {
DeviceCheckDetail unitDetailDoc = DeviceCheckDetail.EmptyWithChecker( DeviceCheckDetail unitDetailDoc = DeviceCheckDetail.EmptyWithChecker(
...@@ -398,13 +408,13 @@ public class ExamController { ...@@ -398,13 +408,13 @@ public class ExamController {
devInLib.getOrDefault(unit.getName(), new ArrayList<>()), devInLib.getOrDefault(unit.getName(), new ArrayList<>()),
devNotInLib.getOrDefault(unit.getName(), new ArrayList<>())); devNotInLib.getOrDefault(unit.getName(), new ArrayList<>()));
unitDetailDoc.setVar2(String.valueOf(CHECK_DETAIL_REGION_0.id)); unitDetailDoc.setVar2(String.valueOf(CHECK_DETAIL_CITY_0.id));
DeviceCheckDetail detail = detailRepo.save(unitDetailDoc); DeviceCheckDetail detail = detailRepo.save(unitDetailDoc);
detailIds.add(detail.getId()); detailIds.add(detail.getId());
// 3-2 构建被查单位的 自查任务 (根据被查单位的级别来区分是县级状态是市级状态) // 3-2 构建被查单位的 自查任务 (根据被查单位的级别来区分是县级状态是市级状态)
TaskBto checkedTask = new TaskBto( TaskBto checkedTask = new TaskBto(
CHECK_DETAIL_REGION_0.id, CHECK_DETAIL_CITY_0.id,
getUnitDateString(unit, ceVo.getTitle()), getUnitDateString(unit, ceVo.getTitle()),
taskBtoCity.getId(), taskBtoCity.getId(),
addNode(taskBtoCity.getNodeIdDetail(), taskBtoCity.getId()), addNode(taskBtoCity.getNodeIdDetail(), taskBtoCity.getId()),
...@@ -423,6 +433,9 @@ public class ExamController { ...@@ -423,6 +433,9 @@ public class ExamController {
// 找到市相关的单位,包括市不本级以及下级单位 // 找到市相关的单位,包括市不本级以及下级单位
List<Units> units = checkedUnits.stream().filter(o -> o.getLevel() == 2).collect(toList()); List<Units> units = checkedUnits.stream().filter(o -> o.getLevel() == 2).collect(toList());
log.info("[核查] 核查,生成市的统计及详情:{}",units.toString());
for (Units unit : units) { for (Units unit : units) {
List<Integer> findCity = unitsService.findBySubordinateAll(unit.getUnitId()).stream().map(Units::getUnitId).collect(toList()); List<Integer> findCity = unitsService.findBySubordinateAll(unit.getUnitId()).stream().map(Units::getUnitId).collect(toList());
// 过滤无装备的单位 // 过滤无装备的单位
...@@ -433,14 +446,14 @@ public class ExamController { ...@@ -433,14 +446,14 @@ public class ExamController {
} }
// 1.创建市的统计账单及任务 // 1.创建市的统计账单及任务
// 3-1-1 创建市里的的统计账单 // 3-1-1 创建市里的的统计账单
DeviceCheckStat ciyStat = new DeviceCheckStat(ceVo.getTitle(), "", LocalDateTime.now(), ceVo.getEndTime().atStartOfDay(), DeviceCheckStat ciyStat = new DeviceCheckStat(ceVo.getTitle(), "", LocalDateTime.now(), ceVo.getEndTime().atStartOfDay(),
"[]", 0, 0, ceVo.getDetail().get(0).getRemark()); "[]", 0, 0, ceVo.getDetail().get(0).getRemark());
ciyStat.setCheckType(CheckType.CT_CHECK); ciyStat.setCheckType(CheckType.CT_CHECK);
DeviceCheckStat cityStatSave = statRepo.save(ciyStat); DeviceCheckStat cityStatSave = statRepo.save(ciyStat);
// 3-1-2 构建市单位的任务 // 3-1-2 构建市单位的任务
TaskBto taskBtoCity = new Task(CHECK_EXAM_STAT_0.id, TaskBto taskBtoCity = new Task(CHECK_EXAM_STAT_1.id,
getUnitDateString(startUnit, ceVo.getTitle()), getUnitDateString(startUnit, ceVo.getTitle()),
cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, cityStatSave.getId(), cityStatTask.getId(), ".0.", CONFIRM_CHECK_STAT.id, cityStatSave.getId(),
unit.getUnitId()).parse2Bto(); unit.getUnitId()).parse2Bto();
...@@ -486,10 +499,6 @@ public class ExamController { ...@@ -486,10 +499,6 @@ public class ExamController {
} }
} }
} }
...@@ -498,6 +507,8 @@ public class ExamController { ...@@ -498,6 +507,8 @@ public class ExamController {
// a 构建区单位的自查账单及任务 // a 构建区单位的自查账单及任务
List<Units> unitsEs = checkedUnits.stream().filter(o -> o.getLevel() == 3).collect(toList()); List<Units> unitsEs = checkedUnits.stream().filter(o -> o.getLevel() == 3).collect(toList());
log.info("[核查] 检查,生成区的统计及详情:{}",unitsEs.toString());
for (Units unit : unitsEs) { for (Units unit : unitsEs) {
......
...@@ -16,10 +16,10 @@ public interface CheckUnitService { ...@@ -16,10 +16,10 @@ public interface CheckUnitService {
/** /**
* 查询核查/检查的单位 * 查询核查/检查的单位
* 包括省级、省本级、市 * 包括省级、省本级、市
* @param isCheck true_过滤掉省(检查用),false_不过滤省(核查用) * @param isExam true_过滤掉省(检查用),false_不过滤省(核查用)
* @return map * @return map
*/ */
Map<Integer, List<Units>> findCheckUnit(boolean isCheck); Map<Integer, List<Units>> findCheckUnit(boolean isExam);
List<Units> checkPossible(List<Integer> ids, boolean isCheck); List<Units> checkPossible(List<Integer> ids, boolean isCheck);
......
...@@ -41,15 +41,14 @@ public class CheckUnitServiceImpl implements CheckUnitService { ...@@ -41,15 +41,14 @@ public class CheckUnitServiceImpl implements CheckUnitService {
private AreaExhibitionDao AreaExRepo; private AreaExhibitionDao AreaExRepo;
@Override @Override
public Map<Integer, List<Units>> findCheckUnit(boolean filter) { public Map<Integer, List<Units>> findCheckUnit(boolean isExam) {
// 1 构建省级单位集合 // 1 构建省级单位集合
List<Units> provinceUnits = new ArrayList<>(unitsRepo List<Units> provinceUnits = unitsRepo
.findAllByTypeInAndLevelIn(new ArrayList<>(2), new ArrayList<>(1)) .findAllByTypeAndLevel(2, 1);
.orElse(Collections.emptyList()));
// 过滤省局,逻辑为:如果不过滤,就加上省局 // 过滤省局,逻辑为:如果不过滤,就加上省局
if (!filter) { if (!isExam) {
List<Units> pro = unitsRepo. List<Units> pro = unitsRepo.
findAllByTypeAndLevel(1, 1); findAllByTypeAndLevel(1, 1);
provinceUnits.add(pro.get(0)); provinceUnits.add(pro.get(0));
...@@ -61,14 +60,19 @@ public class CheckUnitServiceImpl implements CheckUnitService { ...@@ -61,14 +60,19 @@ public class CheckUnitServiceImpl implements CheckUnitService {
// 3 构建市 // 3 构建市
List<Units> cityUnits = unitsRepo.findAllByLevel(2); List<Units> cityUnits = unitsRepo.findAllByLevel(2);
List<Units> checkCityUnits = new ArrayList<>();
if (filter) { if (!isExam) {
cityUnits.forEach( cityUnits.forEach(
units -> units.setName(areaRepo.findNameById(units.getAreaId())) units -> {units.setName(areaRepo.findNameById(units.getAreaId()));
checkCityUnits.add(units);
}
); );
} }
return ImmutableMap.of(1, provinceUnits, 2, esAUnits, 3, cityUnits); log.info("[核查] 查询市单位:{}", checkCityUnits);
return ImmutableMap.of(1, provinceUnits, 2, esAUnits, 3, isExam ? cityUnits : checkCityUnits);
} }
@Override @Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论