|
@@ -63,6 +63,10 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
|
|
|
private SysMessageService sysMessageService;
|
|
|
@Autowired
|
|
|
private ExamLifecycleLogDao examLifecycleLogDao;
|
|
|
+ @Autowired
|
|
|
+ private ExamRegistrationPaymentDao examRegistrationPaymentDao;
|
|
|
+ @Autowired
|
|
|
+ private ExamManualLedgerDao examManualLedgerDao;
|
|
|
|
|
|
public static final Set<ExamStatusEnum> EDIT_ABLE_EXAM_STATUS=new HashSet<>(Arrays.asList(ExamStatusEnum.SETTING,ExamStatusEnum.NOT_START,ExamStatusEnum.APPLYING,ExamStatusEnum.APPLIED));
|
|
|
|
|
@@ -317,9 +321,11 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
|
|
|
}
|
|
|
ExamOrganStatisticsDto examOrganStatistics = examOrganizationRelationDao.getExamOrganizationRelation(examId, organId);
|
|
|
if(Objects.isNull(examOrganStatistics)){
|
|
|
- return examOrganStatistics;
|
|
|
+ examOrganStatistics=new ExamOrganStatisticsDto();
|
|
|
}
|
|
|
|
|
|
+ examOrganStatistics.setExamLifecycleLogs(examLifecycleLogDao.findWithExam(examId));
|
|
|
+
|
|
|
Map<String, BigDecimal> dayTransAmount=new HashMap<>();
|
|
|
Map<String, BigDecimal> dayPaymentAmount=new HashMap<>();
|
|
|
|
|
@@ -329,14 +335,42 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
|
|
|
for (int i=-1;i>-7;i--){
|
|
|
today = today.plusDays(i);
|
|
|
days.add(today.toString());
|
|
|
+ dayTransAmount.put(today.toString(), BigDecimal.ZERO);
|
|
|
+ dayPaymentAmount.put(today.toString(), BigDecimal.ZERO);
|
|
|
}
|
|
|
- for (String day : days) {
|
|
|
- dayTransAmount.put(day, BigDecimal.valueOf((long) (Math.random()*100),2));
|
|
|
- dayPaymentAmount.put(day, BigDecimal.valueOf((long) (Math.random()*100),2));
|
|
|
+
|
|
|
+ List<ExamRegistrationPayment> examRegistrationPayments = examRegistrationPaymentDao.getWithExamOrganAndDay(examId, organId, days);
|
|
|
+ List<ExamManualLedger> examOrganManualLedgers = examManualLedgerDao.getExamOrganManualLedgers(organId, examId, days);
|
|
|
+
|
|
|
+ Map<String, List<ExamRegistrationPayment>> dayPaymentMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(examRegistrationPayments)){
|
|
|
+ dayPaymentMap = examRegistrationPayments.stream().collect(Collectors.groupingBy(e -> DateUtil.dateToString(e.getTransSuccessedTime())));
|
|
|
+ }
|
|
|
+ Map<String, List<ExamManualLedger>> dayLedgerMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(examOrganManualLedgers)){
|
|
|
+ dayLedgerMap = examOrganManualLedgers.stream().collect(Collectors.groupingBy(e -> DateUtil.dateToString(e.getTransTime())));
|
|
|
}
|
|
|
+
|
|
|
+ for (String day : dayTransAmount.keySet()) {
|
|
|
+ List<ExamManualLedger> dayLeders = dayLedgerMap.get(day);
|
|
|
+ if(CollectionUtils.isEmpty(dayLeders)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ BigDecimal amount = dayLeders.stream().map(ExamManualLedger::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ dayTransAmount.put(day, amount);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (String day : dayPaymentAmount.keySet()) {
|
|
|
+ List<ExamRegistrationPayment> dayPayments = dayPaymentMap.get(day);
|
|
|
+ if(CollectionUtils.isEmpty(dayPayments)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ BigDecimal amount = dayPayments.stream().map(ExamRegistrationPayment::getTransAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ dayPaymentAmount.put(day, amount);
|
|
|
+ }
|
|
|
+
|
|
|
examOrganStatistics.setDayTransAmount(dayTransAmount);
|
|
|
examOrganStatistics.setDayPaymentAmount(dayPaymentAmount);
|
|
|
- examOrganStatistics.setExamLifecycleLogs(examLifecycleLogDao.findWithExam(examId));
|
|
|
return examOrganStatistics;
|
|
|
}
|
|
|
|