| 
														
															@@ -17,6 +17,7 @@ import com.keao.edu.user.dao.ExamOrganizationRelationDao; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.keao.edu.user.dao.ExaminationBasicDao; 
														 | 
														
														 | 
														
															 import com.keao.edu.user.dao.ExaminationBasicDao; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.keao.edu.user.dao.OrganizationDao; 
														 | 
														
														 | 
														
															 import com.keao.edu.user.dao.OrganizationDao; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.keao.edu.user.dao.TeacherDao; 
														 | 
														
														 | 
														
															 import com.keao.edu.user.dao.TeacherDao; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+import com.keao.edu.user.dto.ExamOrganizationRelationExtraDto; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.keao.edu.user.entity.ExamOrganizationRelation; 
														 | 
														
														 | 
														
															 import com.keao.edu.user.entity.ExamOrganizationRelation; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.keao.edu.user.entity.ExaminationBasic; 
														 | 
														
														 | 
														
															 import com.keao.edu.user.entity.ExaminationBasic; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.keao.edu.user.entity.Organization; 
														 | 
														
														 | 
														
															 import com.keao.edu.user.entity.Organization; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -69,29 +70,32 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	@Override 
														 | 
														
														 | 
														
															 	@Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	public PageInfo<ExamOrganizationRelation> queryExamOrgans(ExamOrganizationRelationQueryInfo queryInfo) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		PageInfo<ExamOrganizationRelation> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	public PageInfo<ExamOrganizationRelationExtraDto> queryExamOrgans(ExamOrganizationRelationQueryInfo queryInfo) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		PageInfo<ExamOrganizationRelationExtraDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		Map<String, Object> params = new HashMap<String, Object>(); 
														 | 
														
														 | 
														
															 		Map<String, Object> params = new HashMap<String, Object>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		MapUtil.populateMap(params, queryInfo); 
														 | 
														
														 | 
														
															 		MapUtil.populateMap(params, queryInfo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true); 
														 | 
														
														 | 
														
															 		List<Integer> nextLevelOrganIds = organizationService.getChildOrganIds(queryInfo.getOrganId(), true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		params.put("organIds", nextLevelOrganIds); 
														 | 
														
														 | 
														
															 		params.put("organIds", nextLevelOrganIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<ExamOrganizationRelation> dataList = new ArrayList<>(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		int count = this.findCount(params); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<ExamOrganizationRelationExtraDto> dataList = new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		int count = examOrganizationRelationDao.countExamOrgans(params); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if (count > 0) { 
														 | 
														
														 | 
														
															 		if (count > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			pageInfo.setTotal(count); 
														 | 
														
														 | 
														
															 			pageInfo.setTotal(count); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			params.put("offset", pageInfo.getOffset()); 
														 | 
														
														 | 
														
															 			params.put("offset", pageInfo.getOffset()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			dataList = this.getDAO().queryPage(params); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			dataList = examOrganizationRelationDao.queryExamOrgans(params); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<Integer> organIds = dataList.stream().map(ExamOrganizationRelation::getOrganId).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 			List<Integer> organIds = dataList.stream().map(ExamOrganizationRelation::getOrganId).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			List<ExamOrganizationRelation> countInfos = examOrganizationRelationDao.countExamOrganStudentAndPayment(queryInfo.getExamId(), organIds); 
														 | 
														
														 | 
														
															 			List<ExamOrganizationRelation> countInfos = examOrganizationRelationDao.countExamOrganStudentAndPayment(queryInfo.getExamId(), organIds); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			Map<Integer, ExamOrganizationRelation> organCountInfoMap = countInfos.stream().collect(Collectors.toMap(ExamOrganizationRelation::getOrganId, e -> e)); 
														 | 
														
														 | 
														
															 			Map<Integer, ExamOrganizationRelation> organCountInfoMap = countInfos.stream().collect(Collectors.toMap(ExamOrganizationRelation::getOrganId, e -> e)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			for (ExamOrganizationRelation examOrganizationRelation : dataList) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			for (ExamOrganizationRelationExtraDto examOrganizationRelation : dataList) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				ExamOrganizationRelation countInfo = organCountInfoMap.get(examOrganizationRelation.getOrganId()); 
														 | 
														
														 | 
														
															 				ExamOrganizationRelation countInfo = organCountInfoMap.get(examOrganizationRelation.getOrganId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				if(Objects.nonNull(countInfo)){ 
														 | 
														
														 | 
														
															 				if(Objects.nonNull(countInfo)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					examOrganizationRelation.setTotalRegistrationStudentNum(countInfo.getTotalRegistrationStudentNum()); 
														 | 
														
														 | 
														
															 					examOrganizationRelation.setTotalRegistrationStudentNum(countInfo.getTotalRegistrationStudentNum()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 					examOrganizationRelation.setTotalPaymentAmount(countInfo.getTotalPaymentAmount()); 
														 | 
														
														 | 
														
															 					examOrganizationRelation.setTotalPaymentAmount(countInfo.getTotalPaymentAmount()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				} 
														 | 
														
														 | 
														
															 				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				if(examOrganizationRelation.getOrganId().equals(queryInfo.getOrganId())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+					examOrganizationRelation.setSelfOrgan(1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		pageInfo.setRows(dataList); 
														 | 
														
														 | 
														
															 		pageInfo.setRows(dataList); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -158,21 +162,12 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	@Override 
														 | 
														
														 | 
														
															 	@Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	@Transactional(rollbackFor = Exception.class) 
														 | 
														
														 | 
														
															 	@Transactional(rollbackFor = Exception.class) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	public void sendUrl(Integer examId, String organIdStrs) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	public void sendUrl(Integer examId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if(Objects.isNull(examId)){ 
														 | 
														
														 | 
														
															 		if(Objects.isNull(examId)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			throw new BizException("请指定考级项目"); 
														 | 
														
														 | 
														
															 			throw new BizException("请指定考级项目"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		if(StringUtils.isBlank(organIdStrs)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			throw new BizException("请指定合作单位"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		List<ExamOrganizationRelation> examOrgans = examOrganizationRelationDao.getWithExam(examId); 
														 | 
														
														 | 
														
															 		List<ExamOrganizationRelation> examOrgans = examOrganizationRelationDao.getWithExam(examId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		Set<Integer> existOrganizationIds = examOrgans.stream().map(ExamOrganizationRelation::getOrganId).collect(Collectors.toSet()); 
														 | 
														
														 | 
														
															 		Set<Integer> existOrganizationIds = examOrgans.stream().map(ExamOrganizationRelation::getOrganId).collect(Collectors.toSet()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		List<Integer> organIds = Arrays.asList(organIdStrs.split(",")).stream().map(e -> Integer.valueOf(e)).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		for (Integer organId : organIds) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if(!existOrganizationIds.contains(organId)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				throw new BizException("存在未关联到考级项目的合作单位"); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		ExaminationBasic examinationBasic = examinationBasicDao.get(examId.longValue()); 
														 | 
														
														 | 
														
															 		ExaminationBasic examinationBasic = examinationBasicDao.get(examId.longValue()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if(Objects.isNull(examinationBasic)){ 
														 | 
														
														 | 
														
															 		if(Objects.isNull(examinationBasic)){ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -186,10 +181,12 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		baseUrl = baseUrl+"/#/signUp?"; 
														 | 
														
														 | 
														
															 		baseUrl = baseUrl+"/#/signUp?"; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		List<ExamOrganizationRelation> needUpdate=new ArrayList<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		for (ExamOrganizationRelation examOrgan : examOrgans) { 
														 | 
														
														 | 
														
															 		for (ExamOrganizationRelation examOrgan : examOrgans) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			if(YesOrNoEnum.YES.equals(examOrgan.getSendUrlFlag())){ 
														 | 
														
														 | 
														
															 			if(YesOrNoEnum.YES.equals(examOrgan.getSendUrlFlag())){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 				continue; 
														 | 
														
														 | 
														
															 				continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			needUpdate.add(examOrgan); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			String registrationUrl = baseUrl + "examId=" + examOrgan.getExaminationBasicId() + "&organId=" + examOrgan.getOrganId(); 
														 | 
														
														 | 
														
															 			String registrationUrl = baseUrl + "examId=" + examOrgan.getExaminationBasicId() + "&organId=" + examOrgan.getOrganId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			String registShortUrl = shortUrlService.createShortUrl(registrationUrl); 
														 | 
														
														 | 
														
															 			String registShortUrl = shortUrlService.createShortUrl(registrationUrl); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -205,7 +202,9 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			sysMessageFeignService.batchSendMessage(sysMessageParams); 
														 | 
														
														 | 
														
															 			sysMessageFeignService.batchSendMessage(sysMessageParams); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		examOrganizationRelationDao.batchUpdate(examOrgans); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		if(!CollectionUtils.isEmpty(needUpdate)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			examOrganizationRelationDao.batchUpdate(needUpdate); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if(examinationBasic.getStatus().equals(ExamStatusEnum.SETTING)){ 
														 | 
														
														 | 
														
															 		if(examinationBasic.getStatus().equals(ExamStatusEnum.SETTING)){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			examinationBasic.setStatus(ExamStatusEnum.NOT_START); 
														 | 
														
														 | 
														
															 			examinationBasic.setStatus(ExamStatusEnum.NOT_START); 
														 |