소스 검색

Merge remote-tracking branch 'origin/master'

周箭河 5 년 전
부모
커밋
50e2fec10f
33개의 변경된 파일363개의 추가작업 그리고 85개의 파일을 삭제
  1. 3 4
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamManualLedgerDao.java
  2. 9 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRegistrationDao.java
  3. 21 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRegistrationPaymentDao.java
  4. 19 1
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExaminationBasicDao.java
  5. 28 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dto/ExamStatisticsDto.java
  6. 48 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dto/OrganExamRegistStatisticsDto.java
  7. 0 11
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/entity/Organization.java
  8. 0 11
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/entity/Teacher.java
  9. 3 3
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/page/ExamManualLedgerQueryInfo.java
  10. 1 2
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamManualLedgerService.java
  11. 9 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamRegistrationService.java
  12. 18 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExaminationBasicService.java
  13. 2 5
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamManualLedgerServiceImpl.java
  14. 10 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java
  15. 5 2
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java
  16. 50 0
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java
  17. 10 2
      edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java
  18. 1 1
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamCertificationMapper.xml
  19. 8 16
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamManualLedgerMapper.xml
  20. 18 0
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRegistrationMapper.xml
  21. 15 0
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml
  22. 30 0
      edu-user/edu-user-biz/src/main/resources/config/mybatis/ExaminationBasicMapper.xml
  23. 3 7
      edu-user/edu-user-biz/src/main/resources/config/mybatis/OrganizationMapper.xml
  24. 2 3
      edu-user/edu-user-biz/src/main/resources/config/mybatis/StudentExamResultMapper.xml
  25. 2 6
      edu-user/edu-user-biz/src/main/resources/config/mybatis/TeacherMapper.xml
  26. 6 4
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamManualLedgerController.java
  27. 16 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java
  28. 0 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomController.java
  29. 0 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomStudentRelationController.java
  30. 26 0
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExaminationBasicController.java
  31. 0 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/StudentAttendanceController.java
  32. 0 2
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/StudentExamResultController.java
  33. 0 1
      edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/SysConfigController.java

+ 3 - 4
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamManualLedgerDao.java

@@ -3,6 +3,8 @@ package com.keao.edu.user.dao;
 import com.keao.edu.common.dal.BaseDAO;
 import com.keao.edu.user.dto.ExamManualLedgerStatisticsDto;
 import com.keao.edu.user.entity.ExamManualLedger;
+import com.keao.edu.user.page.ExamManualLedgerQueryInfo;
+
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
@@ -20,12 +22,9 @@ public interface ExamManualLedgerDao extends BaseDAO<Long, ExamManualLedger> {
      * @describe 获取考级项目支出统计信息
      * @author Joburgess
      * @date 2020.07.09
-     * @param examId:
      * @return com.keao.edu.user.dto.ExamManualLedgerStatisticsDto
      */
-    ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(@Param("organId") Integer organId,
-                                                                @Param("examId") Long examId,
-                                                                @Param("targetOrganId") Integer targetOrganId);
+    ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(ExamManualLedgerQueryInfo queryInfo);
 
 
     List<ExamManualLedger> getExamOrganManualLedgers(@Param("organId") Integer organId,

+ 9 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRegistrationDao.java

@@ -177,4 +177,13 @@ public interface ExamRegistrationDao extends BaseDAO<Long, ExamRegistration> {
      * @return java.util.List<com.keao.edu.user.entity.ExamRegistration>
      */
     List<ExamRegistration> getNotInRoomStudents(@Param("examId") Long examId);
+
+    /**
+     * @describe 统计合作单位的招生人数
+     * @author Joburgess
+     * @date 2020.08.12
+     * @param organIds:
+     * @return com.keao.edu.user.dto.OrganExamRegistStatisticsDto
+     */
+    OrganExamRegistStatisticsDto getOrganExamRegistStatistics(@Param("organIds") List<Integer> organIds);
 }

+ 21 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExamRegistrationPaymentDao.java

@@ -89,4 +89,25 @@ public interface ExamRegistrationPaymentDao extends BaseDAO<Long, ExamRegistrati
     BigDecimal countOrganPaymentAmountWithDay(@Param("examId") Long examId,
                                               @Param("organIds") List<Integer> organIds,
                                               @Param("day") String day);
+
+    /**
+     * 年收入
+     * @param tenantId
+     * @return
+     */
+    BigDecimal getAnnualIncome(@Param("tenantId") String tenantId);
+
+    /**
+     * 月收入
+     * @param tenantId
+     * @return
+     */
+    BigDecimal getMonthIncome(@Param("tenantId") String tenantId);
+
+    /**
+     * 日收入
+     * @param tenantId
+     * @return
+     */
+    List<Map<String, BigDecimal>> getDayIncome(@Param("tenantId") String tenantId, @Param("day") Integer day);
 }

+ 19 - 1
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dao/ExaminationBasicDao.java

@@ -1,6 +1,7 @@
 package com.keao.edu.user.dao;
 
 import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.user.dto.ExamStatisticsDto;
 import com.keao.edu.user.dto.ExaminationBasicDto;
 import com.keao.edu.user.entity.ExaminationBasic;
 import org.apache.ibatis.annotations.Param;
@@ -37,5 +38,22 @@ public interface ExaminationBasicDao extends BaseDAO<Long, ExaminationBasic> {
     List<ExaminationBasic> getNeedUpdateStatusExams();
 
     List<ExaminationBasicDto> getExams(@Param("examIds") List<Long> examIds);
-	
+
+    /**
+     * @describe 获取进行中的项目(只包含报名中与报名结束的最近创建的6个考级项目)
+     * @author Joburgess
+     * @date 2020.08.12
+     * @param organIds:
+     * @return java.util.List<com.keao.edu.user.dto.ExaminationBasicDto>
+     */
+    List<ExaminationBasicDto> getUnderwayExams(@Param("organs") List<Integer> organIds);
+
+    /**
+     * @describe 获取机构考级项目统计信息
+     * @author Joburgess
+     * @date 2020.08.12
+     * @param organIds:
+     * @return com.keao.edu.user.dto.ExamStatisticsDto
+     */
+    ExamStatisticsDto getTenantExamStatistics(@Param("organs") List<Integer> organIds);
 }

+ 28 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dto/ExamStatisticsDto.java

@@ -0,0 +1,28 @@
+package com.keao.edu.user.dto;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.08.12
+ */
+public class ExamStatisticsDto {
+
+    private Integer underWayExamNum;
+
+    private Integer totalExamNum;
+
+    public Integer getUnderWayExamNum() {
+        return underWayExamNum;
+    }
+
+    public void setUnderWayExamNum(Integer underWayExamNum) {
+        this.underWayExamNum = underWayExamNum;
+    }
+
+    public Integer getTotalExamNum() {
+        return totalExamNum;
+    }
+
+    public void setTotalExamNum(Integer totalExamNum) {
+        this.totalExamNum = totalExamNum;
+    }
+}

+ 48 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/dto/OrganExamRegistStatisticsDto.java

@@ -0,0 +1,48 @@
+package com.keao.edu.user.dto;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.08.12
+ */
+public class OrganExamRegistStatisticsDto {
+
+    private Integer organId;
+
+    private String organName;
+
+    private Integer thisYearRegistStudentNum;
+
+    private Integer historyRegistStudentNum;
+
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public Integer getThisYearRegistStudentNum() {
+        return thisYearRegistStudentNum;
+    }
+
+    public void setThisYearRegistStudentNum(Integer thisYearRegistStudentNum) {
+        this.thisYearRegistStudentNum = thisYearRegistStudentNum;
+    }
+
+    public Integer getHistoryRegistStudentNum() {
+        return historyRegistStudentNum;
+    }
+
+    public void setHistoryRegistStudentNum(Integer historyRegistStudentNum) {
+        this.historyRegistStudentNum = historyRegistStudentNum;
+    }
+}

+ 0 - 11
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/entity/Organization.java

@@ -35,9 +35,6 @@ public class Organization {
 	@ApiModelProperty(value = "分润金额",required = false)
 	private java.math.BigDecimal shareProfitAmount;
 
-	@ApiModelProperty(value = "补贴",required = false)
-	private java.math.BigDecimal subsidy;
-
 	@ApiModelProperty(value = "层级")
 	private Integer level;
 
@@ -61,14 +58,6 @@ public class Organization {
 
 	private SysUser sysUser;
 
-	public BigDecimal getSubsidy() {
-		return subsidy;
-	}
-
-	public void setSubsidy(BigDecimal subsidy) {
-		this.subsidy = subsidy;
-	}
-
 	public Integer getLockFlag() {
 		return lockFlag;
 	}

+ 0 - 11
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/entity/Teacher.java

@@ -27,9 +27,6 @@ public class Teacher {
 	@ApiModelProperty(value = "薪酬",required = false)
 	private java.math.BigDecimal salary;
 
-	@ApiModelProperty(value = "补贴",required = false)
-	private java.math.BigDecimal subsidy;
-
 	@ApiModelProperty(value = "是否删除",required = false)
 	private Integer delFlag;
 
@@ -61,14 +58,6 @@ public class Teacher {
 	
 	private String certificateNo;
 
-	public BigDecimal getSubsidy() {
-		return subsidy;
-	}
-
-	public void setSubsidy(BigDecimal subsidy) {
-		this.subsidy = subsidy;
-	}
-
 	public Integer getOrganId() {
 		return organId;
 	}

+ 3 - 3
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/page/ExamManualLedgerQueryInfo.java

@@ -12,7 +12,7 @@ public class ExamManualLedgerQueryInfo extends QueryInfo {
 
     private Integer targetOrganId;
 
-    private Long examId;
+    private String examId;
     
     private Date startTime;
     
@@ -28,11 +28,11 @@ public class ExamManualLedgerQueryInfo extends QueryInfo {
         this.targetOrganId = targetOrganId;
     }
 
-	public Long getExamId() {
+	public String getExamId() {
 		return examId;
 	}
 
-	public void setExamId(Long examId) {
+	public void setExamId(String examId) {
 		this.examId = examId;
 	}
 

+ 1 - 2
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamManualLedgerService.java

@@ -23,9 +23,8 @@ public interface ExamManualLedgerService extends BaseService<Long, ExamManualLed
      * @describe 获取考级项目支出统计信息
      * @author Joburgess
      * @date 2020.07.09
-     * @param examId:
      * @return com.keao.edu.user.dto.ExamManualLedgerStatisticsDto
      */
-    ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(Integer organId,Long examId, Integer targetOrganId);
+    ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(ExamManualLedgerQueryInfo queryInfo);
 
 }

+ 9 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExamRegistrationService.java

@@ -91,4 +91,13 @@ public interface ExamRegistrationService extends BaseService<Long, ExamRegistrat
     * @return
     */
    PageInfo<StudentBaseExamsDto> studentBaseExams(QueryInfo queryInfo);
+
+   /**
+    * @describe 统计合作单位的招生人数
+    * @author Joburgess
+    * @date 2020.08.12
+    * @param organId:
+    * @return com.keao.edu.user.dto.OrganExamRegistStatisticsDto
+    */
+   OrganExamRegistStatisticsDto getOrganExamRegistStatistics(Integer organId);
 }

+ 18 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/ExaminationBasicService.java

@@ -7,6 +7,8 @@ import com.keao.edu.user.entity.ExaminationBasic;
 import com.keao.edu.user.enums.ExamStatusEnum;
 import com.keao.edu.user.page.ExaminationQueryInfo;
 
+import java.util.Map;
+
 public interface ExaminationBasicService extends BaseService<Long, ExaminationBasic> {
 
     /**
@@ -81,4 +83,20 @@ public interface ExaminationBasicService extends BaseService<Long, ExaminationBa
      */
     ExaminationBasic getInfo(Integer examId);
 
+    /**
+     * @describe 获取首页进行中项目
+     * @author Joburgess
+     * @date 2020.08.12
+     * @param organId:
+     * @return java.util.Map<java.lang.String,java.lang.Object>
+     */
+    Map<String, Object> getHomePageExams(Integer organId);
+
+
+    /**
+     * 获取首页收入支出
+     * @return
+     */
+    Object homeBalanceOfPayment(String tenantId,Integer day);
+
 }

+ 2 - 5
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamManualLedgerServiceImpl.java

@@ -106,10 +106,7 @@ public class ExamManualLedgerServiceImpl extends BaseServiceImpl<Long, ExamManua
 	}
 
 	@Override
-	public ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(Integer organId, Long examId, Integer targetOrganId) {
-		if(Objects.isNull(examId)){
-			throw new BizException("请指定考级项目");
-		}
-		return examManualLedgerDao.getExamManualLedgerStatistics(organId, examId, targetOrganId);
+	public ExamManualLedgerStatisticsDto getExamManualLedgerStatistics(ExamManualLedgerQueryInfo queryInfo) {
+		return examManualLedgerDao.getExamManualLedgerStatistics(queryInfo);
 	}
 }

+ 10 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRegistrationServiceImpl.java

@@ -29,6 +29,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 
 import java.math.BigDecimal;
 import java.util.*;
@@ -399,4 +400,13 @@ public class ExamRegistrationServiceImpl extends BaseServiceImpl<Long, ExamRegis
         pageInfo.setRows(dataList);
         return pageInfo;
     }
+
+    @Override
+    public OrganExamRegistStatisticsDto getOrganExamRegistStatistics(Integer organId) {
+        List<Integer> childOrganIds = organizationService.getChildOrganIds(organId, false);
+        if(CollectionUtils.isEmpty(childOrganIds)){
+            return null;
+        }
+        return examRegistrationDao.getOrganExamRegistStatistics(childOrganIds);
+    }
 }

+ 5 - 2
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExamRoomServiceImpl.java

@@ -266,6 +266,7 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
 	public ExamRoom updateExamRoom(ExamRoom examRoom) {
 		if(Objects.isNull(examRoom.getId())){
 			throw new BizException("请指定考场");
@@ -363,8 +364,10 @@ public class ExamRoomServiceImpl extends BaseServiceImpl<Long, ExamRoom> impleme
 				throw new BizException("考试地址不存在");
 			}
 			List<ExamRoomStudentRelation> examRoomStudents = examRoomStudentRelationDao.findStudentsWithExamRoom(examRoom.getId());
-			List<Long> registIds = examRoomStudents.stream().map(ExamRoomStudentRelation::getExamRegistrationId).collect(Collectors.toList());
-			examCertificationDao.updateExamAddress(examLocation.getAddress(), registIds);
+			if(!CollectionUtils.isEmpty(examRoomStudents)){
+				List<Long> registIds = examRoomStudents.stream().map(ExamRoomStudentRelation::getExamRegistrationId).collect(Collectors.toList());
+				examCertificationDao.updateExamAddress(examLocation.getAddress(), registIds);
+			}
 		}
 		return examRoom;
 	}

+ 50 - 0
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -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;
+    }
 }

+ 10 - 2
edu-user/edu-user-biz/src/main/java/com/keao/edu/user/service/impl/StudentExamResultServiceImpl.java

@@ -19,6 +19,7 @@ import com.keao.edu.user.api.entity.ExamRoom;
 import com.keao.edu.user.api.entity.ExamRoomStudentRelation;
 import com.keao.edu.user.api.entity.Student;
 import com.keao.edu.user.api.enums.ExamEvaluationResultEnum;
+import com.keao.edu.user.api.enums.ExamModeEnum;
 import com.keao.edu.user.api.enums.StudentExamResultApiDto;
 import com.keao.edu.user.dao.ExamReviewDao;
 import com.keao.edu.user.dao.ExaminationBasicDao;
@@ -125,9 +126,16 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 		if(Objects.isNull(oldStudentExamResult)){
 			throw new BizException("考试结果不存在");
 		}
-		if(Objects.isNull(oldStudentExamResult.getAvgScore())){
+		ExamRoom examRoom = examRoomService.get(oldStudentExamResult.getExamRoomId());
+		if(Objects.isNull(examRoom)){
+			throw new BizException("考场信息异常");
+		}
+		if(Objects.isNull(oldStudentExamResult.getAvgScore())&& ExamModeEnum.ONLINE.equals(examRoom.getExamMode())){
 			throw new BizException("考试未结束");
 		}
+		if(ExamModeEnum.OFFLINE.equals(examRoom.getExamMode())){
+			studentExamResult.setIsFinishedExam(5);
+		}
 		ExaminationBasic examinationBasic = examinationBasicDao.get(oldStudentExamResult.getExaminationBasicId().longValue());
 		if(Objects.isNull(examinationBasic)){
 			throw new BizException("考级项目不存在");
@@ -225,7 +233,7 @@ public class StudentExamResultServiceImpl extends BaseServiceImpl<Long, StudentE
 		if(Objects.isNull(examinationBasic)){
 			throw new BizException("考级项目不存在");
 		}
-		if(examinationBasic.getStatus().getOrder()>ExamStatusEnum.APPLIED.getOrder()){
+		if(examinationBasic.getStatus().getOrder()<ExamStatusEnum.APPLIED.getOrder()){
 			return null;
 		}
 		List<Integer> childOrganIds = organizationService.getChildOrganIds(organId, true);

+ 1 - 1
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamCertificationMapper.xml

@@ -136,7 +136,7 @@
 		<result column="subject_id_" property="subjectId" />
 		<result column="student_id_" property="studentId" />
 		<result column="level_" property="level" />
-		<result column="address_" property="examAddress" />
+		<result column="exam_address_" property="examAddress" />
 		<result column="name_" property="baseExamName" />
 	</resultMap>
 	<select id="queryExamCertificationDtoPage" resultMap="ExamCertificationDtoMap">

+ 8 - 16
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamManualLedgerMapper.xml

@@ -156,25 +156,17 @@
 		<include refid="queryExamManualLedgersCondition"/>
 	</select>
 
-	<select id="getExamManualLedgerStatistics" resultType="com.keao.edu.user.dto.ExamManualLedgerStatisticsDto">
+	<select id="getExamManualLedgerStatistics" resultType="com.keao.edu.user.dto.ExamManualLedgerStatisticsDto" parameterType="map">
 		SELECT
-			COUNT( id_ ) expenditureNum,
-			SUM( amount_ ) expenditureFee
+			COUNT( eml.id_ ) expenditureNum,
+			SUM( eml.amount_ ) expenditureFee
 		FROM
-			exam_manual_ledger
-		WHERE
-			examination_basic_id_ = #{examId}
-			<if test="organId!=null and organId!=0">
-				AND organ_id_=#{organId}
-			</if>
-			AND trans_direction_ = 'EXPENDITURE'
-			<if test="targetOrganId!=null and targetOrganId==-99">
-				AND target_organ_id_ IS NULL
-			</if>
-			<if test="targetOrganId!=null and targetOrganId!=-99">
-				AND target_organ_id_=#{targetOrganId}
-			</if>
+			exam_manual_ledger eml
+		LEFT JOIN sys_user su ON eml.operator_user_id_ = su.id_
+		left join examination_basic eb on eb.id_ = eml.examination_basic_id_
+		<include refid="queryExamManualLedgersCondition"/>
 	</select>
+	
     <select id="getExamOrganManualLedgers" resultMap="ExamManualLedger">
 		SELECT
 			*

+ 18 - 0
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -646,4 +646,22 @@
 			AND er.status_ IN ('AUDIT_PASS', 'AUDIT_WAIT')
 			AND NOT EXISTS ( SELECT id_ FROM exam_room_student_relation WHERE examination_basic_id_ = #{examId} AND er.id_ = exam_registration_id_ )
 	</select>
+
+    <select id="getOrganExamRegistStatistics" resultType="com.keao.edu.user.dto.OrganExamRegistStatisticsDto">
+		SELECT
+			o.id_ 'organId',
+			o.name_ 'organName',
+			SUM(CASE YEAR(er.create_time_) WHEN YEAR(NOW()) THEN 1 ELSE 0 END) 'thisYearRegistStudentNum',
+			SUM(CASE WHEN YEAR(er.create_time_)!=YEAR(NOW()) THEN 1 ELSE 0 END) 'historyRegistStudentNum'
+		FROM
+			organization o
+			LEFT JOIN exam_registration er ON er.organ_id_ = o.id_
+		WHERE er.status_ IN ('AUDIT_WAIT', 'AUDIT_PASS', 'AUDIT_REJECT')
+		AND o.id_ IN
+		<foreach collection="organIds" item="organId" separator="," open="(" close=")">
+			#{organId}
+		</foreach>
+		GROUP BY
+			er.organ_id_
+	</select>
 </mapper>

+ 15 - 0
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExamRegistrationPaymentMapper.xml

@@ -244,6 +244,21 @@
                 #{organId}
             </foreach>
     </select>
+    <select id="getAnnualIncome" resultType="java.math.BigDecimal">
+        SELECT SUM(erp.trans_amount_) FROM exam_registration_payment erp
+        WHERE erp.examination_basic_id_ = 1 AND erp.trans_status_ = 'SUCCESS'
+        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') = DATE_FORMAT('2020-08-12','%Y-%m-%d')
+    </select>
+    <select id="getMonthIncome" resultType="java.math.BigDecimal">
+        SELECT SUM(erp.trans_amount_) FROM exam_registration_payment erp
+        WHERE erp.examination_basic_id_ = 1 AND erp.trans_status_ = 'SUCCESS'
+        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') = DATE_FORMAT('2020-08-12','%Y-%m-%d')
+    </select>
+    <select id="getDayIncome" resultType="java.util.Map">
+        SELECT SUM(erp.trans_amount_) FROM exam_registration_payment erp
+        WHERE erp.examination_basic_id_ = 1 AND erp.trans_status_ = 'SUCCESS'
+        AND DATE_FORMAT(erp.trans_successed_time_,'%Y-%m-%d') = DATE_FORMAT('2020-08-12','%Y-%m-%d')
+    </select>
 
     <resultMap id="ExamRegistrationPaymentDto" type="com.keao.edu.user.dto.ExamRegistrationPaymentDto"
                extends="ExamRegistrationPayment">

+ 30 - 0
edu-user/edu-user-biz/src/main/resources/config/mybatis/ExaminationBasicMapper.xml

@@ -288,4 +288,34 @@
     <select id="getEndExamsWithDayAndStatus" resultMap="ExaminationBasic">
 		SELECT * FROM examination_basic WHERE status_ IN ('EXAM_END') AND DATE_FORMAT(actual_exam_end_time_, '%Y-%m-%d') = #{day}
 	</select>
+
+    <select id="getUnderwayExams" resultMap="ExaminationBasicDto">
+		SELECT
+			*
+		FROM
+			examination_basic
+		WHERE
+			status_ IN ( 'APPLYING', 'APPLIED' )
+			AND organ_id_ IN
+			<foreach collection="organs" item="organ" separator="," open="(" close=")">
+				#{organ}
+			</foreach>
+		ORDER BY
+			create_time_ DESC
+			LIMIT 6;
+	</select>
+
+	<select id="getTenantExamStatistics" resultType="com.keao.edu.user.dto.ExamStatisticsDto">
+		SELECT
+			COUNT(id_) 'totalExamNum',
+			SUM(CASE WHEN status_!='RESULT_CONFIRM' THEN 1 ELSE 0 END) 'underWayExamNum'
+		FROM
+			examination_basic
+		WHERE
+			status_ NOT IN ( 'CLOSE', 'DELETE' )
+			AND organ_id_ IN
+			<foreach collection="organs" item="organ" separator="," open="(" close=")">
+				#{organ}
+			</foreach>
+	</select>
 </mapper>

+ 3 - 7
edu-user/edu-user-biz/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -22,14 +22,13 @@
 		<result column="update_time_" property="updateTime" />
 		<result column="tenant_id_" property="tenantId" />
 		<result column="lock_flag_" property="lockFlag" />
-		<result column="subsidy_" property="subsidy" />
 		<association property="sysUser" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
 	</resultMap>
 	<sql id="organizationColumn">
 		o.id_ organization_id_, o.user_id_, o.name_, o.contact_name_, o.contact_phone_,
 		o.settlement_type_, o.share_profit_amount_, o.level_, o.parent_organ_id_,
 		o.parent_organ_id_tag_, o.create_time_,
-		o.update_time_, o.del_flag_, o.tenant_id_,o.subsidy_
+		o.update_time_, o.del_flag_, o.tenant_id_
 	</sql>
 	
 	<!-- 根据主键查询一条记录 -->
@@ -48,19 +47,16 @@
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.Organization" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
 		INSERT INTO organization (id_,user_id_,name_,contact_name_,contact_phone_,level_,parent_organ_id_,
-		parent_organ_id_tag_,settlement_type_,share_profit_amount_,create_time_,update_time_,tenant_id_,subsidy_)
+		parent_organ_id_tag_,settlement_type_,share_profit_amount_,create_time_,update_time_,tenant_id_)
 		VALUES(#{id},#{userId},#{name},#{contactName},#{contactPhone},#{level},#{parentOrganId},#{parentOrganIdTag},
 		#{settlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
-		#{shareProfitAmount},NOW(),NOW(),#{tenantId},#{subsidy})
+		#{shareProfitAmount},NOW(),NOW(),#{tenantId})
 	</insert>
 	
 	<!-- 根据主键查询一条记录 -->
 	<update id="update" parameterType="com.keao.edu.user.entity.Organization">
 		UPDATE organization
 		<set>
-			<if test="subsidy != null">
-				subsidy_ = #{subsidy},
-			</if>
 			<if test="contactPhone != null">
 				contact_phone_ = #{contactPhone},
 			</if>

+ 2 - 3
edu-user/edu-user-biz/src/main/resources/config/mybatis/StudentExamResultMapper.xml

@@ -232,13 +232,12 @@
 	<select id="getStudentExamResultStatisticsInfo" resultType="com.keao.edu.user.dto.StudentExamResultStatisticsDto">
 		SELECT
 			COUNT( er.id_ ) totalRegistrationStudentNum,
-			SUM( CASE WHEN ser.id_ > 0 THEN 0 ELSE 1 END ) notExamStudentNum,
+			SUM( CASE WHEN ser.is_finished_exam_ = 3 THEN 0 ELSE 1 END ) notExamStudentNum,
 			SUM( CASE WHEN ser.result_ = 'FAIL' THEN 1 ELSE 0 END ) examFailStudentNum,
 			SUM( CASE WHEN ser.id_ > 0 THEN 1 ELSE 0 END ) examStudentNum
 		FROM
 			exam_registration er
-			LEFT JOIN student_exam_result ser ON er.examination_basic_id_ = ser.examination_basic_id_
-			AND er.student_id_ = ser.student_id_
+			LEFT JOIN student_exam_result ser ON er.id_=exam_registration_id_
 		WHERE
 			er.examination_basic_id_ = #{examId}
 			AND er.status_ IN ('AUDIT_PASS', 'AUDIT_WAIT')

+ 2 - 6
edu-user/edu-user-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -22,7 +22,6 @@
 		<result column="organ_id_" property="organId" />
 		<result column="city_" property="city" />
 		<result column="certificate_no_" property="certificateNo" />
-		<result column="subsidy_" property="subsidy" />
 		<association property="sysUser" columnPrefix="sys_user_" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
 	</resultMap>
 
@@ -46,9 +45,6 @@
 	<update id="update" parameterType="com.keao.edu.user.entity.Teacher">
 		UPDATE teacher
 		<set>
-			<if test="subsidy != null">
-				subsidy_ = #{subsidy},
-			</if>
 			<if test="title != null">
 				title_ = #{title},
 			</if>
@@ -116,8 +112,8 @@
 	
 	<!-- 向数据库增加一条记录 -->
 	<insert id="insert" parameterType="com.keao.edu.user.entity.Teacher" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
-		INSERT INTO teacher (user_id_,title_,subject_id_list_,salary_settlement_type_,salary_,create_time_,update_time_,tenant_id_,organ_id_,city_,certificate_no_,subsidy_)
-		VALUES(#{userId},#{title},#{subjectIdList},#{salarySettlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{salary},NOW(),NOW(),#{tenantId},#{organId},#{city},#{certificateNo},#{subsidy})
+		INSERT INTO teacher (user_id_,title_,subject_id_list_,salary_settlement_type_,salary_,create_time_,update_time_,tenant_id_,organ_id_,city_,certificate_no_)
+		VALUES(#{userId},#{title},#{subjectIdList},#{salarySettlementType,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{salary},NOW(),NOW(),#{tenantId},#{organId},#{city},#{certificateNo})
 	</insert>
 
 	<update id="delete">

+ 6 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamManualLedgerController.java

@@ -19,6 +19,8 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Objects;
+
 /**
  * @Author Joburgess
  * @Date 2020.07.07
@@ -40,8 +42,7 @@ public class ExamManualLedgerController extends BaseController {
 		PageInfo<ExamManualLedger> pageInfo = examManualLedgerService.queryExamManualLedgers(queryInfo);
 		ModelMap model = new ModelMap();
 		model.put("pageInfo", pageInfo);
-		model.put("totalAmount", examManualLedgerService.queryTotalAmount(queryInfo));
-		model.put("statistics", examManualLedgerService.getExamManualLedgerStatistics(OrganContextHolder.getOrganId(),queryInfo.getExamId(),queryInfo.getTargetOrganId()));
+		model.put("statistics", examManualLedgerService.getExamManualLedgerStatistics(queryInfo));
 		return succeed(model);
 	}
 
@@ -78,8 +79,9 @@ public class ExamManualLedgerController extends BaseController {
     @ApiOperation("获取考级项目支出统计信息")
     @GetMapping(value = "/getExamManualLedgerStatistics")
     @PreAuthorize("@pcs.hasPermissions('examManualLedger/getExamManualLedgerStatistics')")
-    public HttpResponseResult<ExamManualLedgerStatisticsDto> getExamManualLedgerStatistics(Long examId, Integer targetOrganId){
-        return succeed(examManualLedgerService.getExamManualLedgerStatistics(OrganContextHolder.getOrganId(),examId,targetOrganId));
+    public HttpResponseResult<ExamManualLedgerStatisticsDto> getExamManualLedgerStatistics(ExamManualLedgerQueryInfo queryInfo){
+    	queryInfo.setOrganId(OrganContextHolder.getOrganId());
+        return succeed(examManualLedgerService.getExamManualLedgerStatistics(queryInfo));
     }
 
 }

+ 16 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRegistrationController.java

@@ -153,4 +153,20 @@ public class ExamRegistrationController extends BaseController {
         return succeed(examRegistrationService.repay(student.getId(), orderNo));
     }
 
+    @ApiOperation(value = "统计合作单位的招生人数")
+    @GetMapping(value = "getOrganExamRegistStatistics")
+//    @PreAuthorize("@pcs.hasPermissions('examRegistration/getOrganExamRegistStatistics')")
+    public HttpResponseResult<OrganExamRegistStatisticsDto> getOrganExamRegistStatistics(){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        Integer organId = null;
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.isNull(employee)){
+                return failed("用户信息异常");
+            }
+            organId = employee.getOrganId();
+        }
+        return succeed(examRegistrationService.getOrganExamRegistStatistics(organId));
+    }
+
 }

+ 0 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomController.java

@@ -156,7 +156,6 @@ public class ExamRoomController extends BaseController {
 
     @ApiOperation("获取教室")
     @PostMapping(value = "/api/get")
-    @PreAuthorize("@pcs.hasPermissions('examRoom/api/get')")
     public ExamRoom getApiExamRoom(Long id){
         return examRoomService.get(id);
     }

+ 0 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamRoomStudentRelationController.java

@@ -111,14 +111,12 @@ public class ExamRoomStudentRelationController extends BaseController {
 
     @ApiOperation("获取推送消息内容")
     @PostMapping(value = "api/getPublishMessage")
-    @PreAuthorize("@pcs.hasPermissions('examRoomStudentRelation/api/getPublishMessage')")
     public PublishMessageDto getPublishMessage(Long examRegistrationId) {
         return examRoomStudentRelationService.getPublishMessage(examRegistrationId);
     }
 
     @ApiOperation("获取教室学员关联")
     @PostMapping(value = "api/getExamRoomStudentRelation")
-    @PreAuthorize("@pcs.hasPermissions('examRoomStudentRelation/api/getExamRoomStudentRelation')")
     public ExamRoomStudentRelation getExamRoomStudentRelation(Long registrationId) {
         return examRoomStudentRelationService.getExamRoomStudentRelation(registrationId);
     }

+ 26 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExaminationBasicController.java

@@ -5,6 +5,7 @@ import com.keao.edu.auth.api.entity.SysUser;
 import com.keao.edu.common.controller.BaseController;
 import com.keao.edu.common.entity.HttpResponseResult;
 import com.keao.edu.common.page.PageInfo;
+import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.user.dto.ExaminationBasicDto;
 import com.keao.edu.user.entity.Employee;
 import com.keao.edu.user.entity.ExaminationBasic;
@@ -113,4 +114,29 @@ public class ExaminationBasicController extends BaseController {
     public HttpResponseResult<ExaminationBasic> getInfo(Integer examId){
         return succeed(examinationBasicService.getInfo(examId));
     }
+
+    @ApiOperation("获取首页进行中项目")
+    @PostMapping(value = "/getHomePageExams")
+    @PreAuthorize("@pcs.hasPermissions('examinationBasic/getHomePageExams')")
+    public HttpResponseResult getHomePageExams(){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        Integer organId = null;
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.isNull(employee)){
+                return failed("用户信息异常");
+            }
+            organId = employee.getOrganId();
+        }
+        return succeed(examinationBasicService.getHomePageExams(organId));
+    }
+
+
+    @ApiOperation("获取首页收入支出")
+    @PostMapping(value = "/homeBalanceOfPayment")
+    @PreAuthorize("@pcs.hasPermissions('examinationBasic/homeBalanceOfPayment')")
+    public HttpResponseResult homeBalanceOfPayment(Integer day){
+        String tenantId = TenantContextHolder.getTenantId();
+        return succeed(examinationBasicService.homeBalanceOfPayment(tenantId,day));
+    }
 }

+ 0 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/StudentAttendanceController.java

@@ -33,7 +33,6 @@ public class StudentAttendanceController extends BaseController {
 
 	@ApiOperation("更新学员考勤")
 	@PostMapping(value = "/api/upsetStudentAttendance")
-	@PreAuthorize("@pcs.hasPermissions('studentAttendance/api/upsetStudentAttendance')")
 	public HttpResponseResult upsetAttendance(Long examRegistrationId,Integer signFlag) {
 		studentAttendanceService.upsetAttendance(examRegistrationId,signFlag);
 		return succeed();

+ 0 - 2
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/StudentExamResultController.java

@@ -69,14 +69,12 @@ public class StudentExamResultController extends BaseController {
 
     @ApiOperation("修改考试状态")
     @PostMapping(value = "/api/updateFinishedExam")
-    @PreAuthorize("@pcs.hasPermissions('studentExamResult/api/updateFinishedExam')")
     public void updateFinishedExam(Long examRegistrationId,Integer finishedExam){
         studentExamResultService.updateFinishedExam(examRegistrationId,finishedExam);
     }
 
     @ApiOperation("获取考试结果")
     @PostMapping(value = "/api/get")
-    @PreAuthorize("@pcs.hasPermissions('studentExamResult/api/get')")
     public StudentExamResultApiDto get(Long id){
         return studentExamResultService.getStudentExamResultApiDto(id);
     }

+ 0 - 1
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/SysConfigController.java

@@ -89,7 +89,6 @@ public class SysConfigController extends BaseController {
 
 	@ApiOperation(value = "查询参数")
 	@PostMapping(value = "api/get")
-	@PreAuthorize("@pcs.hasPermissions('studentExamResult/api/get')")
 	public String apiGet(String paramName) {
 		String tenantId = TenantContextHolder.getTenantId();
 		return sysConfigService.findByParamName(paramName,tenantId).getParanValue();