From d77922fd7b08efa6b3563beaf1cc381f8ef661b2 Mon Sep 17 00:00:00 2001 From: zhc077 <565291854@qq.com> Date: Fri, 9 Aug 2024 17:58:43 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=A2=E7=B3=BB=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=EF=BC=8C=E5=88=86=E6=9E=90=E6=8A=A5=E5=91=8A=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserHomePageController.java | 5 +- .../homepage/service/UserHomePageService.java | 5 +- .../service/UserHomePageServiceImpl.java | 358 +++++++++--------- 3 files changed, 179 insertions(+), 189 deletions(-) diff --git a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/controller/UserHomePageController.java b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/controller/UserHomePageController.java index 3773067e..8d4a5fef 100644 --- a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/controller/UserHomePageController.java +++ b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/controller/UserHomePageController.java @@ -56,8 +56,7 @@ public class UserHomePageController { @AutoLog(value = "部门管理员-分析报告") @ApiOperation(value = "河南机电-部门综合报告", notes = "河南机电-部门综合报告") @GetMapping(value = "/report4Depart") - public Result report4Depart(String orgCode) { - Map result = homePageService.report4Depart(orgCode); - return Result.ok(result); + public Result report4Depart(String orgCode,boolean recreateFlag) { + return Result.ok(homePageService.report4Depart(orgCode, recreateFlag)); } } diff --git a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageService.java b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageService.java index dbbf9648..05d7eaaa 100644 --- a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageService.java +++ b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageService.java @@ -1,6 +1,5 @@ package org.jeecg.modules.demo.homepage.service; -import java.util.List; import java.util.Map; public interface UserHomePageService { @@ -9,7 +8,7 @@ public interface UserHomePageService { Map homePage4School(); - Object report4School(boolean recreateFlag); + Object report4School(boolean recreateFlag); - Map report4Depart(String orgCode); + Object report4Depart(String orgCode, boolean recreateFlag); } diff --git a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageServiceImpl.java b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageServiceImpl.java index cb08c87c..752e17f5 100644 --- a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageServiceImpl.java +++ b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/homepage/service/UserHomePageServiceImpl.java @@ -613,217 +613,209 @@ public class UserHomePageServiceImpl implements UserHomePageService { } @Override - public Map report4Depart(String orgCode) { + public Object report4Depart(String orgCode, boolean recreateFlag) { Assert.notNull(orgCode, "部门编号不能为空"); + final String REPORT4DEPART = "report4Depart"; Map resultMap = new LinkedHashMap<>(); - SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper().eq(SysDepart::getOrgCode, orgCode)); - if (ObjectUtil.isNull(sysDepart)) { - throw new JeecgBootException("部门不存在"); - } + if (recreateFlag) { + SysDepart sysDepart = iSysDepartService.getOne(new LambdaQueryWrapper().eq(SysDepart::getOrgCode, orgCode)); + if (ObjectUtil.isNull(sysDepart)) { + throw new JeecgBootException("部门不存在"); + } - String departId = sysDepart.getParentId(); - int currentYear = DateUtils.getCurrentYear(); - //当前年度 - Annual annual = iAnnualService.getOne(new LambdaQueryWrapper().eq(Annual::getAnnualName, currentYear + "")); - List compList = iCompService.list(new LambdaQueryWrapper().eq(Comp::getCompOrgan, departId)); - Set compIds = Optional.ofNullable(compList).orElse(new LinkedList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); + String departId = sysDepart.getParentId(); + int currentYear = DateUtils.getCurrentYear(); + //当前年度 + Annual annual = iAnnualService.getOne(new LambdaQueryWrapper().eq(Annual::getAnnualName, currentYear + "")); + List compList = iCompService.list(new LambdaQueryWrapper().eq(Comp::getCompOrgan, departId)); + Set compIds = Optional.ofNullable(compList).orElse(new LinkedList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); - List annualCompList = iAnnualCompService.list(new LambdaQueryWrapper() - .eq(AnnualComp::getAnnualid, annual.getId()) - .in(!ObjectUtils.isEmpty(compIds), AnnualComp::getCompid, compIds)); + List annualCompList = iAnnualCompService.list(new LambdaQueryWrapper() + .eq(AnnualComp::getAnnualid, annual.getId()) + .in(!ObjectUtils.isEmpty(compIds), AnnualComp::getCompid, compIds)); - Set annualCompIds = Optional.ofNullable(annualCompList).orElse(new LinkedList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); - List annualCompPointList = iAnnualCompPointService.list(new LambdaQueryWrapper().in(AnnualCompPoint::getAnnualCompId, annualCompIds)); - //该部门,当前年,所有项目id - Set annualCompPointIds = Optional.ofNullable(annualCompPointList).orElse(new ArrayList<>()).stream().map(annualCompPoint -> annualCompPoint.getId()).collect(Collectors.toSet()); + Set annualCompIds = Optional.ofNullable(annualCompList).orElse(new LinkedList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); + List annualCompPointList = iAnnualCompPointService.list(new LambdaQueryWrapper().in(AnnualCompPoint::getAnnualCompId, annualCompIds)); + //该部门,当前年,所有项目id + Set annualCompPointIds = Optional.ofNullable(annualCompPointList).orElse(new ArrayList<>()).stream().map(annualCompPoint -> annualCompPoint.getId()).collect(Collectors.toSet()); - //未评奖的项目为进行中 - List pj0PointList = Optional.ofNullable(annualCompPointList).orElse(new LinkedList<>()).stream().filter(bo -> "0".equals(bo.getIsPj())).collect(Collectors.toList()); - Map countMap = this.convertProjectLevel(annualCompPointList); - countMap.put("本年度已开展比赛项目数", annualCompPointList.size()); - countMap.put("本年度参加比赛队伍数", 0); - countMap.put("正在进行的比赛数", pj0PointList.size()); - int donePointCount = annualCompPointList.size() - pj0PointList.size(); - countMap.put("已完成的比赛", donePointCount); - countMap.put("未完成的比赛", pj0PointList.size()); - if (donePointCount > 0) { - DecimalFormat decimalFormat = new DecimalFormat(); - decimalFormat.setMaximumFractionDigits(2); // 保留两位小数 - decimalFormat.setRoundingMode(RoundingMode.HALF_UP); // 设置具体的进位机制 - double val = ComputeUtils.div2(donePointCount, annualCompPointList.size()); - countMap.put("已完成比赛比率", val); - } else { - countMap.put("已完成比赛比率", 0); - } - resultMap.putAll(countMap); + //未评奖的项目为进行中 + List pj0PointList = Optional.ofNullable(annualCompPointList).orElse(new LinkedList<>()).stream().filter(bo -> "0".equals(bo.getIsPj())).collect(Collectors.toList()); + Map countMap = this.convertProjectLevel(annualCompPointList); + countMap.put("本年度已开展比赛项目数", annualCompPointList.size()); + countMap.put("本年度参加比赛队伍数", 0); + countMap.put("正在进行的比赛数", pj0PointList.size()); + int donePointCount = annualCompPointList.size() - pj0PointList.size(); + countMap.put("已完成的比赛", donePointCount); + countMap.put("未完成的比赛", pj0PointList.size()); + if (donePointCount > 0) { + DecimalFormat decimalFormat = new DecimalFormat(); + decimalFormat.setMaximumFractionDigits(2); // 保留两位小数 + decimalFormat.setRoundingMode(RoundingMode.HALF_UP); // 设置具体的进位机制 + double val = ComputeUtils.div2(donePointCount, annualCompPointList.size()); + countMap.put("已完成比赛比率", val); + } else { + countMap.put("已完成比赛比率", 0); + } + resultMap.putAll(countMap); - List evaluationCollects = iPersonalAbilityEvaluationCollectService - .list(new LambdaQueryWrapper() - .eq(PersonalAbilityEvaluationCollect::getDepetId, departId)); + List evaluationCollects = iPersonalAbilityEvaluationCollectService + .list(new LambdaQueryWrapper() + .eq(PersonalAbilityEvaluationCollect::getDepetId, departId)); // resultMap.put("学生综合能力值分析", evaluationCollects); - List vos = new LinkedList<>(); - Map> capacityIdListMap = Optional.ofNullable(evaluationCollects).orElse(new LinkedList<>()).stream() - .collect(Collectors.groupingBy(PersonalAbilityEvaluationCollect::getCapacityId)); - //遍历分组后的结果 - Optional.ofNullable(capacityIdListMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { - List departAbilityEvaluationList = value; - double sum = departAbilityEvaluationList.stream().mapToDouble(obj -> obj.getValue()).sum(); - DecimalFormat decimalFormat = new DecimalFormat(); - decimalFormat.setMaximumFractionDigits(2); // 保留两位小数 - decimalFormat.setRoundingMode(RoundingMode.HALF_UP); // 设置具体的进位机制 - double val = ComputeUtils.div2(sum, departAbilityEvaluationList.size()); - PersonalAbilityEvaluationCollect vo = new PersonalAbilityEvaluationCollect(); - vo.setValue(val); - vo.setCapacityId(key); - vo.setCapacityName(departAbilityEvaluationList.get(0).getCapacityName()); - vos.add(vo); - }); - resultMap.put("学生能力平均值", vos); - - List> abilityList = new LinkedList<>(); - List years = DateUtils.getLastxYear(2); - List annualList = iAnnualService.list(new LambdaQueryWrapper().in(Annual::getAnnualName, years).orderByAsc(Annual::getAnnualName)); - Optional.ofNullable(annualList).orElse(new LinkedList<>()).stream().forEach(bo -> { - Map abilityResultMap = new LinkedHashMap<>(); - List departAbilityEvaluations = iDepartAbilityEvaluationService.list(new LambdaQueryWrapper() - .eq(DepartAbilityEvaluation::getAnnualId, bo.getId()) - .eq(DepartAbilityEvaluation::getDepetId, departId)); - List voList = new LinkedList<>(); - Map> capacityIdListMap2 = Optional.ofNullable(departAbilityEvaluations).orElse(new LinkedList<>()).stream() - .collect(Collectors.groupingBy(DepartAbilityEvaluation::getCapacityId)); + List vos = new LinkedList<>(); + Map> capacityIdListMap = Optional.ofNullable(evaluationCollects).orElse(new LinkedList<>()).stream() + .collect(Collectors.groupingBy(PersonalAbilityEvaluationCollect::getCapacityId)); //遍历分组后的结果 - Optional.ofNullable(capacityIdListMap2).orElse(new LinkedHashMap<>()).forEach((key, value) -> { - List departAbilityEvaluationList = value; + Optional.ofNullable(capacityIdListMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { + List departAbilityEvaluationList = value; double sum = departAbilityEvaluationList.stream().mapToDouble(obj -> obj.getValue()).sum(); DecimalFormat decimalFormat = new DecimalFormat(); decimalFormat.setMaximumFractionDigits(2); // 保留两位小数 decimalFormat.setRoundingMode(RoundingMode.HALF_UP); // 设置具体的进位机制 double val = ComputeUtils.div2(sum, departAbilityEvaluationList.size()); - DepartAbilityEvaluation vo = new DepartAbilityEvaluation(); - vo.setAnnualId(bo.getId()); + PersonalAbilityEvaluationCollect vo = new PersonalAbilityEvaluationCollect(); vo.setValue(val); vo.setCapacityId(key); vo.setCapacityName(departAbilityEvaluationList.get(0).getCapacityName()); - voList.add(vo); + vos.add(vo); }); - abilityResultMap.put(bo.getAnnualName(), voList); - abilityList.add(abilityResultMap); - }); - resultMap.put("近2年能力分析", abilityList); + resultMap.put("学生能力平均值", vos); - resultMap.put("部门比赛类型占比", convertCompType(compList)); + List> abilityList = new LinkedList<>(); + List years = DateUtils.getLastxYear(2); + List annualList = iAnnualService.list(new LambdaQueryWrapper().in(Annual::getAnnualName, years).orderByAsc(Annual::getAnnualName)); + Optional.ofNullable(annualList).orElse(new LinkedList<>()).stream().forEach(bo -> { + Map abilityResultMap = new LinkedHashMap<>(); + List departAbilityEvaluations = iDepartAbilityEvaluationService.list(new LambdaQueryWrapper() + .eq(DepartAbilityEvaluation::getAnnualId, bo.getId()) + .eq(DepartAbilityEvaluation::getDepetId, departId)); + List voList = new LinkedList<>(); + Map> capacityIdListMap2 = Optional.ofNullable(departAbilityEvaluations).orElse(new LinkedList<>()).stream() + .collect(Collectors.groupingBy(DepartAbilityEvaluation::getCapacityId)); + //遍历分组后的结果 + Optional.ofNullable(capacityIdListMap2).orElse(new LinkedHashMap<>()).forEach((key, value) -> { + List departAbilityEvaluationList = value; + double sum = departAbilityEvaluationList.stream().mapToDouble(obj -> obj.getValue()).sum(); + DecimalFormat decimalFormat = new DecimalFormat(); + decimalFormat.setMaximumFractionDigits(2); // 保留两位小数 + decimalFormat.setRoundingMode(RoundingMode.HALF_UP); // 设置具体的进位机制 + double val = ComputeUtils.div2(sum, departAbilityEvaluationList.size()); + DepartAbilityEvaluation vo = new DepartAbilityEvaluation(); + vo.setAnnualId(bo.getId()); + vo.setValue(val); + vo.setCapacityId(key); + vo.setCapacityName(departAbilityEvaluationList.get(0).getCapacityName()); + voList.add(vo); + }); + abilityResultMap.put(bo.getAnnualName(), voList); + abilityList.add(abilityResultMap); + }); + resultMap.put("近2年能力分析", abilityList); - List pointList = iAnnualCompPointService.list(new LambdaQueryWrapper() - .eq(AnnualCompPoint::getRequireApply, "Y") - .in(AnnualCompPoint::getAnnualCompId, annualCompPointIds)); - List compVoList = new LinkedList<>(); - Optional.ofNullable(pointList).orElse(new LinkedList<>()).stream().forEach(p -> { - ReportCompVo compVo = new ReportCompVo(); - BeanUtils.copyProperties(p, compVo); - compVo.setPointName(p.getObjName()); + resultMap.put("部门比赛类型占比", convertCompType(compList)); - AnnualComp annualComp = iAnnualCompService.getById(p.getAnnualCompId()); - if (!ObjectUtils.isEmpty(annualComp)) { - Comp comp = iCompService.getById(annualComp.getCompid()); - compVo.setCompName(comp.getCompName()); - CompType compType = iCompTypeService.getById(comp.getCompTypeId()); - compVo.setTypeName(compType.getTypeName()); - Projectlevel projectlevel = iProjectlevelService.getById(p.getObjLevel()); - compVo.setProjectLevel(projectlevel.getName()); - } - List list = iAnnualCompetitionProjectRegistrationService.list(new LambdaQueryWrapper() - .eq(AnnualCompetitionProjectRegistration::getAnnualCompid, p.getId())); - if (!ObjectUtils.isEmpty(list)) { - Set entryFormats = list.stream().map(bo -> bo.getEnrollCode()).collect(Collectors.toSet()); - Long count = iTeamManagementService.count(new LambdaQueryWrapper().in(TeamManagement::getEnrollCode, entryFormats)); - compVo.setNumber(count.intValue()); - } - compVoList.add(compVo); - }); - resultMap.put("学生参赛情况", compVoList); + List pointList = iAnnualCompPointService.list(new LambdaQueryWrapper() + .eq(AnnualCompPoint::getRequireApply, "Y") + .in(AnnualCompPoint::getAnnualCompId, annualCompPointIds)); + List compVoList = new LinkedList<>(); + Optional.ofNullable(pointList).orElse(new LinkedList<>()).stream().forEach(p -> { + ReportCompVo compVo = new ReportCompVo(); + BeanUtils.copyProperties(p, compVo); + compVo.setPointName(p.getObjName()); - List awardPersionList = iAwardPersionService.list(new LambdaQueryWrapper().in(AwardPersion::getAnnualCompP, annualCompPointIds)); - Map> awardIdListMap = Optional.ofNullable(awardPersionList).orElse(new LinkedList<>()).stream() - .collect(Collectors.groupingBy(AwardPersion::getAwardname)); - Map awardTypeMap = new LinkedHashMap<>(); + AnnualComp annualComp = iAnnualCompService.getById(p.getAnnualCompId()); + if (!ObjectUtils.isEmpty(annualComp)) { + Comp comp = iCompService.getById(annualComp.getCompid()); + compVo.setCompName(comp.getCompName()); + CompType compType = iCompTypeService.getById(comp.getCompTypeId()); + compVo.setTypeName(compType.getTypeName()); + Projectlevel projectlevel = iProjectlevelService.getById(p.getObjLevel()); + compVo.setProjectLevel(projectlevel.getName()); + } + List list = iAnnualCompetitionProjectRegistrationService.list(new LambdaQueryWrapper() + .eq(AnnualCompetitionProjectRegistration::getAnnualCompid, p.getId())); + if (!ObjectUtils.isEmpty(list)) { + Set entryFormats = list.stream().map(bo -> bo.getEnrollCode()).collect(Collectors.toSet()); + Long count = iTeamManagementService.count(new LambdaQueryWrapper().in(TeamManagement::getEnrollCode, entryFormats)); + compVo.setNumber(count.intValue()); + } + compVoList.add(compVo); + }); + resultMap.put("学生参赛情况", compVoList); - //遍历分组后的结果 - Optional.ofNullable(awardIdListMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { - awardTypeMap.put(key, value.size()); - }); - resultMap.put("比赛获奖占比", awardTypeMap); - - - List awareVos = new ArrayList<>(); - Optional.ofNullable(awardPersionList).orElse(new LinkedList<>()).stream().forEach(p -> { - ReportCompVo compVo = new ReportCompVo(); - compVo.setStuName(p.getStudentname()); - compVo.setAwardName(p.getAwardname()); - AnnualCompPoint point = iAnnualCompPointService.getById(p.getAnnualCompP()); - if (!ObjectUtils.isEmpty(point)) { - compVo.setPointName(point.getObjName()); - Projectlevel projectlevel = iProjectlevelService.getById(point.getObjLevel()); - compVo.setProjectLevel(projectlevel.getName()); - } - AnnualComp annualComp = iAnnualCompService.getById(p.getAnnalComp()); - if (!ObjectUtils.isEmpty(annualComp)) { - Comp comp = iCompService.getById(annualComp.getCompid()); - compVo.setCompName(comp.getCompName()); - CompType compType = iCompTypeService.getById(comp.getCompTypeId()); - compVo.setTypeName(compType.getTypeName()); + List awardPersionList = iAwardPersionService.list(new LambdaQueryWrapper().in(AwardPersion::getAnnualCompP, annualCompPointIds)); + Map> awardIdListMap = Optional.ofNullable(awardPersionList).orElse(new LinkedList<>()).stream() + .collect(Collectors.groupingBy(AwardPersion::getAwardname)); + Map awardTypeMap = new LinkedHashMap<>(); + + //遍历分组后的结果 + Optional.ofNullable(awardIdListMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { + awardTypeMap.put(key, value.size()); + }); + resultMap.put("比赛获奖占比", awardTypeMap); + + + List awareVos = new ArrayList<>(); + Optional.ofNullable(awardPersionList).orElse(new LinkedList<>()).stream().forEach(p -> { + ReportCompVo compVo = new ReportCompVo(); + compVo.setStuName(p.getStudentname()); + compVo.setAwardName(p.getAwardname()); + AnnualCompPoint point = iAnnualCompPointService.getById(p.getAnnualCompP()); + if (!ObjectUtils.isEmpty(point)) { + compVo.setPointName(point.getObjName()); + Projectlevel projectlevel = iProjectlevelService.getById(point.getObjLevel()); + compVo.setProjectLevel(projectlevel.getName()); + } + AnnualComp annualComp = iAnnualCompService.getById(p.getAnnalComp()); + if (!ObjectUtils.isEmpty(annualComp)) { + Comp comp = iCompService.getById(annualComp.getCompid()); + compVo.setCompName(comp.getCompName()); + CompType compType = iCompTypeService.getById(comp.getCompTypeId()); + compVo.setTypeName(compType.getTypeName()); + } + awareVos.add(compVo); + }); + resultMap.put("比赛获奖情况列表", awareVos); + + + List> canSaiList = new LinkedList<>(); + List> huoJiangList = new LinkedList<>(); + List pointList4Depart = convertPoint4Depart(sysDepart); + Set pointIds4Depart = Optional.ofNullable(pointList4Depart).orElse(new ArrayList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); + Map departMap = new LinkedHashMap<>(); + departMap.put("部门名称", sysDepart.getDepartName()); + if (!ObjectUtils.isEmpty(pointIds4Depart)) { + //报名列表 + List registrationList = iAnnualCompetitionProjectRegistrationService.list(new LambdaQueryWrapper() + .in(AnnualCompetitionProjectRegistration::getAnnualCompid, pointIds4Depart)); + if (!ObjectUtils.isEmpty(registrationList)) { + //报名编号 + Set enrollCodes = Optional.ofNullable(registrationList).orElse(new LinkedList<>()).stream().map(bo -> bo.getEnrollCode()).collect(Collectors.toSet()); + Long count = iTeamManagementService.count(new LambdaQueryWrapper().in(TeamManagement::getEnrollCode, enrollCodes)); + departMap.put("比赛总人数", count); + //个人赛报名数 + List registrationList4Stu = registrationList.stream().filter(b -> b.getEntryFormat().equals("0")).collect(Collectors.toList()); + Set enrollCodes4Stu = Optional.ofNullable(registrationList4Stu).orElse(new LinkedList<>()).stream().map(bo -> bo.getEnrollCode()).collect(Collectors.toSet()); + Long count4Stu = iTeamManagementService.count(new LambdaQueryWrapper().in(!ObjectUtils.isEmpty(enrollCodes4Stu), TeamManagement::getEnrollCode, enrollCodes4Stu)); + //学生人数 + departMap.put("个人赛人数", count4Stu); + departMap.put("团队赛人数", count - count4Stu); + } } - awareVos.add(compVo); - }); - resultMap.put("比赛获奖情况列表", awareVos); - - - List> canSaiList = new LinkedList<>(); - List> huoJiangList = new LinkedList<>(); - List pointList4Depart = convertPoint4Depart(sysDepart); - Set pointIds4Depart = Optional.ofNullable(pointList4Depart).orElse(new ArrayList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); - Map departMap = new LinkedHashMap<>(); - departMap.put("部门名称", sysDepart.getDepartName()); - if (!ObjectUtils.isEmpty(pointIds4Depart)) { - //报名列表 - List registrationList = iAnnualCompetitionProjectRegistrationService.list(new LambdaQueryWrapper() - .in(AnnualCompetitionProjectRegistration::getAnnualCompid, pointIds4Depart)); - if (!ObjectUtils.isEmpty(registrationList)) { - //报名编号 - Set enrollCodes = Optional.ofNullable(registrationList).orElse(new LinkedList<>()).stream().map(bo -> bo.getEnrollCode()).collect(Collectors.toSet()); - Long count = iTeamManagementService.count(new LambdaQueryWrapper().in(TeamManagement::getEnrollCode, enrollCodes)); - departMap.put("比赛总人数", count); - //个人赛报名数 - List registrationList4Stu = registrationList.stream().filter(b -> b.getEntryFormat().equals("0")).collect(Collectors.toList()); - Set enrollCodes4Stu = Optional.ofNullable(registrationList4Stu).orElse(new LinkedList<>()).stream().map(bo -> bo.getEnrollCode()).collect(Collectors.toSet()); - Long count4Stu = iTeamManagementService.count(new LambdaQueryWrapper().in(!ObjectUtils.isEmpty(enrollCodes4Stu), TeamManagement::getEnrollCode, enrollCodes4Stu)); - //学生人数 - departMap.put("个人赛人数", count4Stu); - departMap.put("团队赛人数", count - count4Stu); + canSaiList.add(departMap); + redisUtil.set(REPORT4DEPART, resultMap); + return resultMap; + } else { + boolean hasKey = redisUtil.hasKey(REPORT4DEPART); + if (hasKey) { + return redisUtil.get(REPORT4DEPART); + } else { + return this.report4Depart(orgCode, true); } } - canSaiList.add(departMap); - resultMap.put("部门参赛情况列表", canSaiList); - -/* List awardPersionList4Depart = iAwardPersionService.list(new LambdaQueryWrapper().eq(AwardPersion::getAnnualCompP, pointIds4Depart)); - Map departHuoJiangMap = new LinkedHashMap<>(); - departHuoJiangMap.put("部门名称", sysDepart.getDepartName()); - departHuoJiangMap.put("获取人数", awardPersionList4Depart.size()); - Map> awardNameMap = Optional.ofNullable(awardPersionList4Depart).orElse(new LinkedList<>()).stream() - .collect(Collectors.groupingBy(AwardPersion::getAwardname)); - //遍历分组后的结果 - Map awardTypeMap2 = new HashMap<>(); -// AtomicInteger huoJiangCount = new AtomicInteger(); - Optional.ofNullable(awardNameMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { - departHuoJiangMap.put(key, value.size()); -// huoJiangCount.addAndGet(value.size()); - }); -// awardTypeMap2.put("获奖人数", huoJiangCount.get()); -// huoJiangList.add(awardTypeMap2); - resultMap.put("部门获奖情况列表", departHuoJiangMap);*/ - - return resultMap; } Map convertProjectLevel(List annualCompPointList) {