diff --git a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/annualCompPoint/controller/AnnualCompPointController.java b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/annualCompPoint/controller/AnnualCompPointController.java index 34860de7..9c5444f6 100644 --- a/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/annualCompPoint/controller/AnnualCompPointController.java +++ b/jeecg-boot-master/jeecg-module-demo/src/main/java/org/jeecg/modules/demo/annualCompPoint/controller/AnnualCompPointController.java @@ -337,6 +337,15 @@ public class AnnualCompPointController extends JeecgController cjhz(@RequestParam(name = "id", required = true) String id,HttpServletRequest req) { AnnualCompPoint annualCompPoint = annualCompPointService.getById(id); + QueryWrapper queryWrappersc = new QueryWrapper<>(); + queryWrappersc.eq("annual_compid",annualCompPoint.getAnnualCompId()); + queryWrappersc.eq("annual_comp_p",annualCompPoint.getId()); + List listsc = scorePersionService.list(queryWrappersc); + if(listsc.size()>0){ + for (int k = 0 ; k < listsc.size() ; k++){ + scorePersionService.removeById(listsc.get(k).getId()); + } + } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("bmcode,SUM(score) as score"); queryWrapper.eq("ann_com_p",id); @@ -516,12 +525,22 @@ public class AnnualCompPointController extends JeecgController queryWrapperap = new QueryWrapper<>(); + queryWrapperap.eq("annal_comp",annualCompPoint.getAnnualCompId()); + queryWrapperap.eq("annual_comp_p",annualCompPoint.getId()); + List listap = awardPersionService.list(queryWrapperap); + if(listap.size()>0){ + for (int k = 0 ; k < listap.size() ; k++){ + awardPersionService.removeById(listap.get(k).getId()); + } + } QueryWrapper queryWrappersp = new QueryWrapper<>(); queryWrappersp.eq("annualid",annualCompService.getById(annualCompPoint.getAnnualCompId()).getAnnualid()); queryWrappersp.eq("annual_compid",annualCompPoint.getAnnualCompId()); queryWrappersp.eq("annual_comp_p",id); queryWrappersp.orderByAsc("sort"); List listsp = scorePersionService.list(queryWrappersp); + try { for (int i = 0 ; i listsp = scorePersionService.list(queryWrappersp); + try { for (int i = 0 ; i departMap = new LinkedHashMap<>(); departMap.put("部门名称", depart.getDepartName()); //报名列表 - List registrationList = iAnnualCompetitionProjectRegistrationService.list(new LambdaQueryWrapper() - .in(!ObjectUtils.isEmpty(pointIds4Depart), 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); + 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); - List awardPersionList4Depart = iAwardPersionService.list(new LambdaQueryWrapper().eq(AwardPersion::getAnnualCompP, pointIds4Depart)); + /*List awardPersionList4Depart = iAwardPersionService.list(new LambdaQueryWrapper().eq(AwardPersion::getAnnualCompP, pointIds4Depart)); Map departHuoJiangMap = new LinkedHashMap<>(); departHuoJiangMap.put("部门名称", depart.getDepartName()); departHuoJiangMap.put("获取人数", awardPersionList4Depart.size()); @@ -551,10 +552,10 @@ public class UserHomePageServiceImpl implements UserHomePageService { Optional.ofNullable(awardNameMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { departHuoJiangMap.put(depart.getDepartName() + "-" + key, value.size()); }); - huoJiangList.add(departHuoJiangMap); + huoJiangList.add(departHuoJiangMap);*/ }); resultMap.put("部门参赛情况列表", canSaiList); - resultMap.put("部门获奖情况列表", huoJiangList); +// resultMap.put("部门获奖情况列表", huoJiangList); List scoreList4Point = new LinkedList<>(); List personalCompScores = iPersonalCompScoreService.list(new LambdaQueryWrapper().eq(PersonalCompScore::getAnnualCompP, annualCompPointIds)); @@ -585,9 +586,15 @@ public class UserHomePageServiceImpl implements UserHomePageService { private List convertPoint4Depart(SysDepart depart) { List compList = iCompService.list(new LambdaQueryWrapper().eq(Comp::getCompOrgan, depart.getId())); Set compIds = Optional.ofNullable(compList).orElse(new ArrayList<>()).stream().map(comp -> comp.getId()).collect(Collectors.toSet()); - List annualCompList = iAnnualCompService.list(new LambdaQueryWrapper().in(!ObjectUtils.isEmpty(compIds), AnnualComp::getCompid, compIds)); - Set annualCompIds = Optional.ofNullable(annualCompList).orElse(new ArrayList<>()).stream().map(annualComp -> annualComp.getId()).collect(Collectors.toSet()); - return iAnnualCompPointService.list(new LambdaQueryWrapper().in(!ObjectUtils.isEmpty(annualCompIds), AnnualCompPoint::getAnnualCompId, annualCompIds)); + List pointList = new LinkedList<>(); + if (!ObjectUtils.isEmpty(compIds)) { + List annualCompList = iAnnualCompService.list(new LambdaQueryWrapper().in(AnnualComp::getCompid, compIds)); + Set annualCompIds = Optional.ofNullable(annualCompList).orElse(new ArrayList<>()).stream().map(annualComp -> annualComp.getId()).collect(Collectors.toSet()); + if (!ObjectUtils.isEmpty(annualCompIds)) { + pointList = iAnnualCompPointService.list(new LambdaQueryWrapper().in(AnnualCompPoint::getAnnualCompId, annualCompIds)); + } + } + return pointList; } @Override @@ -609,7 +616,7 @@ public class UserHomePageServiceImpl implements UserHomePageService { List annualCompList = iAnnualCompService.list(new LambdaQueryWrapper() .eq(AnnualComp::getAnnualid, annual.getId()) - .in(AnnualComp::getCompid, compIds)); + .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)); @@ -763,26 +770,28 @@ public class UserHomePageServiceImpl implements UserHomePageService { Set pointIds4Depart = Optional.ofNullable(pointList4Depart).orElse(new ArrayList<>()).stream().map(obj -> obj.getId()).collect(Collectors.toSet()); Map departMap = new LinkedHashMap<>(); departMap.put("部门名称", sysDepart.getDepartName()); - //报名列表 - 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); + 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); resultMap.put("部门参赛情况列表", canSaiList); - List awardPersionList4Depart = iAwardPersionService.list(new LambdaQueryWrapper().eq(AwardPersion::getAnnualCompP, pointIds4Depart)); +/* List awardPersionList4Depart = iAwardPersionService.list(new LambdaQueryWrapper().eq(AwardPersion::getAnnualCompP, pointIds4Depart)); Map departHuoJiangMap = new LinkedHashMap<>(); departHuoJiangMap.put("部门名称", sysDepart.getDepartName()); departHuoJiangMap.put("获取人数", awardPersionList4Depart.size()); @@ -797,30 +806,8 @@ public class UserHomePageServiceImpl implements UserHomePageService { }); // awardTypeMap2.put("获奖人数", huoJiangCount.get()); // huoJiangList.add(awardTypeMap2); - resultMap.put("部门获奖情况列表", departHuoJiangMap); + resultMap.put("部门获奖情况列表", departHuoJiangMap);*/ - /*List scoreList4Point = new LinkedList<>(); - List personalCompScores = iPersonalCompScoreService.list(new LambdaQueryWrapper().eq(PersonalCompScore::getAnnualCompP, annualCompPointIds)); - Map> AnnualCompPointIdsMap = Optional.ofNullable(personalCompScores).orElse(new LinkedList<>()).stream() - .collect(Collectors.groupingBy(PersonalCompScore::getAnnualCompP)); - Optional.ofNullable(AnnualCompPointIdsMap).orElse(new LinkedHashMap<>()).forEach((key, value) -> { - double sum = value.stream().mapToDouble(obj -> obj.getScore()).sum(); - HomePageCompVo vo = new HomePageCompVo(); - AnnualCompPoint point = iAnnualCompPointService.getById(key); - vo.setAnnualCompPointName(point.getObjName()); - vo.setAnnualCompPointId(key); - AnnualComp annualComp = iAnnualCompService.getById(point.getAnnualCompId()); - if (!ObjectUtils.isEmpty(annualComp)) { - Comp comp = iCompService.getById(annualComp.getCompid()); - if (!ObjectUtils.isEmpty(comp)) { - vo.setCompName(comp.getCompName()); - } - } - vo.setTotalScore(sum); - scoreList4Point.add(vo); - }); - scoreList4Point.stream().sorted(Comparator.comparing(HomePageCompVo::getTotalScore)).collect(Collectors.toList()); - resultMap.put("比赛学生积分况分析", scoreList4Point);*/ return resultMap; } diff --git a/jeecgboot-vue3-master/src/utils/helper/validator.ts b/jeecgboot-vue3-master/src/utils/helper/validator.ts index de8a4bbf..c554053a 100644 --- a/jeecgboot-vue3-master/src/utils/helper/validator.ts +++ b/jeecgboot-vue3-master/src/utils/helper/validator.ts @@ -49,6 +49,21 @@ export const rules = { }, ]; }, + workNo(required){ + return [ + { + required: required, + validator: async (_, value) => { + if (required && !value) { + return Promise.reject('请输入工号/学号'); + } + + return Promise.resolve(); + }, + trigger: 'change', + }, + ]; + }, startTime(endTime, required) { return [ { diff --git a/jeecgboot-vue3-master/src/views/expscore/ExpScoreList.vue b/jeecgboot-vue3-master/src/views/expscore/ExpScoreList.vue index 5772b182..54006319 100644 --- a/jeecgboot-vue3-master/src/views/expscore/ExpScoreList.vue +++ b/jeecgboot-vue3-master/src/views/expscore/ExpScoreList.vue @@ -143,8 +143,9 @@ * 设置细则得分事件 */ function szxzdf(record: Recordable) { + console.log(record.score,record.id ) + xzzf({zjpfid:record.id}).then((result)=>{ - console.log(result) if(result=="true"){ registerModal.value.edit(record); registerModal.value.disableSubmit = false; diff --git a/jeecgboot-vue3-master/src/views/expscore/components/ExpScoreModal.vue b/jeecgboot-vue3-master/src/views/expscore/components/ExpScoreModal.vue index 23d6bccf..b24d0c65 100644 --- a/jeecgboot-vue3-master/src/views/expscore/components/ExpScoreModal.vue +++ b/jeecgboot-vue3-master/src/views/expscore/components/ExpScoreModal.vue @@ -1,5 +1,5 @@ @@ -35,9 +35,12 @@ console.log(registerForm.value); registerForm.value? registerForm.value.searchReset() : '' title.value = disableSubmit.value ? '详情' : '细则得分'; - visible.value = true; let id= record.id; route.query.zjpfid = id; + setTimeout(() => { + visible.value = true; + + }, 0); //router.push({query: id}) } diff --git a/jeecgboot-vue3-master/src/views/system/user/userYX.data.ts b/jeecgboot-vue3-master/src/views/system/user/userYX.data.ts index 706d8710..774a711b 100644 --- a/jeecgboot-vue3-master/src/views/system/user/userYX.data.ts +++ b/jeecgboot-vue3-master/src/views/system/user/userYX.data.ts @@ -185,9 +185,8 @@ export const formSchemaYX: FormSchema[] = [ { label: '工号/学号', field: 'workNo', - required: true, component: 'Input', - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'work_no', model, schema, true), + dynamicRules: ({ model, schema }) => rules.workNo('workNo'), }, /* { label: '职务', @@ -298,11 +297,23 @@ export const formSchemaYX: FormSchema[] = [ { label: '邮箱', field: 'email', + rules: [ + { + required: true, + message: '请输入登录邮箱', + }, + ], component: 'Input', }, { label: '手机号码', field: 'phone', + rules: [ + { + required: true, + message: '请输入登录手机号码', + }, + ], component: 'Input', }, /*{