|
@@ -1,5 +1,6 @@
|
|
|
package com.keao.edu.user.service.impl;
|
|
|
|
|
|
+import com.keao.edu.auth.api.client.SysUserFeignService;
|
|
|
import com.keao.edu.auth.api.entity.SysUser;
|
|
|
import com.keao.edu.common.dal.BaseDAO;
|
|
|
import com.keao.edu.common.enums.MessageTypeEnum;
|
|
@@ -12,6 +13,7 @@ import com.keao.edu.thirdparty.message.provider.YimeiSmsPlugin;
|
|
|
import com.keao.edu.user.api.enums.ExamModeEnum;
|
|
|
import com.keao.edu.user.dao.*;
|
|
|
import com.keao.edu.user.dto.ExamRoomExamTimeDto;
|
|
|
+import com.keao.edu.user.dto.ExamStatisticsDto;
|
|
|
import com.keao.edu.user.dto.ExaminationBasicDto;
|
|
|
import com.keao.edu.user.entity.*;
|
|
|
import com.keao.edu.user.enums.ExamStatusEnum;
|
|
@@ -63,6 +65,10 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
|
|
|
@Autowired
|
|
|
private TenantInfoDao tenantInfoDao;
|
|
|
@Autowired
|
|
|
+ private ExamRegistrationPaymentDao examRegistrationPaymentDao;
|
|
|
+ @Autowired
|
|
|
+ private SysUserFeignService sysUserFeignService;
|
|
|
+ @Autowired
|
|
|
private ExamTeacherSalaryService examTeacherSalaryService;
|
|
|
|
|
|
@Override
|
|
@@ -440,4 +446,48 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
|
|
|
}
|
|
|
return examinationBasic;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> getHomePageExams(Integer organId) {
|
|
|
+ Map<String, Object> result=new HashMap<>();
|
|
|
+ List<Integer> childOrganIds = organizationService.getChildOrganIds(organId, true);
|
|
|
+ List<ExaminationBasicDto> dataList = examinationBasicDao.getUnderwayExams(childOrganIds);
|
|
|
+ if(CollectionUtils.isEmpty(dataList)){
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Long> examIds = dataList.stream().map(ExaminationBasicDto::getId).collect(Collectors.toList());
|
|
|
+ List<ExamOrganizationRelation> examOrgans = new ArrayList<>();
|
|
|
+ if (!CollectionUtils.isEmpty(examIds)) {
|
|
|
+ examOrgans = examOrganizationRelationDao.getWithExamsAndOrgans(examIds, childOrganIds);
|
|
|
+ }
|
|
|
+ Map<Integer, List<ExamOrganizationRelation>> examOrgansMap = new HashMap<>();
|
|
|
+ if (!CollectionUtils.isEmpty(examOrgans)) {
|
|
|
+ examOrgansMap = examOrgans.stream().collect(Collectors.groupingBy(ExamOrganizationRelation::getExaminationBasicId));
|
|
|
+ }
|
|
|
+ for (ExaminationBasicDto examinationBasicDto : dataList) {
|
|
|
+ List<ExamOrganizationRelation> examOrganizationRelations = examOrgansMap.get(examinationBasicDto.getId().intValue());
|
|
|
+ if (CollectionUtils.isEmpty(examOrganizationRelations)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Integer totalRegistrationStudentNum = examOrganizationRelations.stream().mapToInt(ExamOrganizationRelation::getSelfRegistrationStudentNum).sum();
|
|
|
+ BigDecimal totalPaymentAmount = examOrganizationRelations.stream().map(ExamOrganizationRelation::getSelfPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ examinationBasicDto.setTotalRegistrationStudentNum(totalRegistrationStudentNum);
|
|
|
+ examinationBasicDto.setTotalPaymentAmount(totalPaymentAmount);
|
|
|
+ }
|
|
|
+ result.put("exams", dataList);
|
|
|
+ ExamStatisticsDto tenantExamStatistics = examinationBasicDao.getTenantExamStatistics(childOrganIds);
|
|
|
+ result.put("statistics", tenantExamStatistics);
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object homeBalanceOfPayment(String tenantId,Integer day) {
|
|
|
+ SysUser sysUser = sysUserFeignService.queryUserInfo();
|
|
|
+ BigDecimal annualIncome = examRegistrationPaymentDao.getAnnualIncome(tenantId);
|
|
|
+ BigDecimal monthIncome = examRegistrationPaymentDao.getMonthIncome(tenantId);
|
|
|
+ List<Map<String,BigDecimal>> dayIncomes = examRegistrationPaymentDao.getDayIncome(tenantId,day);
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|