Joburgess il y a 5 ans
Parent
commit
6284832593

+ 17 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/controller/ExamOrganizationRelationController.java

@@ -74,6 +74,23 @@ public class ExamOrganizationRelationController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation("获取本单位项目信息")
+    @PostMapping(value = "/getExamOrganStatistics")
+    public HttpResponseResult getExamOrganStatistics(Long examId){
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if(Objects.isNull(sysUser)){
+            return failed("请重新登录");
+        }
+        Integer organId=null;
+        if(!sysUser.getIsSuperAdmin()){
+            Employee employee = employeeService.get(sysUser.getId());
+            if(Objects.nonNull(employee)){
+                organId = employee.getOrganId();
+            }
+        }
+        return succeed(examOrganizationRelationService.getExamOrganStatistics(organId, examId));
+    }
+
     @ApiOperation("获取未关联到考级项目的合作单位")
     @GetMapping(value = "/queryUnRelatedOrgans")
     public HttpResponseResult<PageInfo<Organization>> queryUnRelatedOrgans(ExamOrganizationRelationQueryInfo queryInfo){

+ 45 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dto/ExamOrganStatisticsDto.java

@@ -0,0 +1,45 @@
+package com.keao.edu.user.dto;
+
+import com.keao.edu.user.entity.ExamLifecycleLog;
+import com.keao.edu.user.entity.ExamOrganizationRelation;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.07.16
+ */
+public class ExamOrganStatisticsDto extends ExamOrganizationRelation {
+
+    private List<ExamLifecycleLog> examLifecycleLogs;
+
+    private Map<String, BigDecimal> dayTransAmount;
+
+    private Map<String, BigDecimal> dayPaymentAmount;
+
+    public List<ExamLifecycleLog> getExamLifecycleLogs() {
+        return examLifecycleLogs;
+    }
+
+    public void setExamLifecycleLogs(List<ExamLifecycleLog> examLifecycleLogs) {
+        this.examLifecycleLogs = examLifecycleLogs;
+    }
+
+    public Map<String, BigDecimal> getDayTransAmount() {
+        return dayTransAmount;
+    }
+
+    public void setDayTransAmount(Map<String, BigDecimal> dayTransAmount) {
+        this.dayTransAmount = dayTransAmount;
+    }
+
+    public Map<String, BigDecimal> getDayPaymentAmount() {
+        return dayPaymentAmount;
+    }
+
+    public void setDayPaymentAmount(Map<String, BigDecimal> dayPaymentAmount) {
+        this.dayPaymentAmount = dayPaymentAmount;
+    }
+}

+ 10 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/ExamOrganizationRelationService.java

@@ -2,6 +2,7 @@ package com.keao.edu.user.service;
 
 import com.keao.edu.common.page.PageInfo;
 import com.keao.edu.common.service.BaseService;
+import com.keao.edu.user.dto.ExamOrganStatisticsDto;
 import com.keao.edu.user.dto.ExamOrganizationRelationExtraDto;
 import com.keao.edu.user.entity.ExamOrganizationRelation;
 import com.keao.edu.user.entity.Organization;
@@ -60,6 +61,15 @@ public interface ExamOrganizationRelationService extends BaseService<Long, ExamO
     void sendUrl(Integer examId);
 
     /**
+     * @describe 获取本单位统计信息
+     * @author Joburgess
+     * @date 2020.07.16
+     * @param examId:
+     * @return com.keao.edu.user.dto.ExamOrganStatisticsDto
+     */
+    ExamOrganStatisticsDto getExamOrganStatistics(Integer organId, Long examId);
+
+    /**
      * @describe 获取未关联到考级项目的合作单位
      * @author Joburgess
      * @date 2020.07.03

+ 30 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExamOrganizationRelationServiceImpl.java

@@ -12,6 +12,7 @@ import com.keao.edu.common.service.impl.BaseServiceImpl;
 import com.keao.edu.common.tenant.TenantContextHolder;
 import com.keao.edu.thirdparty.message.provider.JiguangPushPlugin;
 import com.keao.edu.user.dao.*;
+import com.keao.edu.user.dto.ExamOrganStatisticsDto;
 import com.keao.edu.user.dto.ExamOrganizationRelationExtraDto;
 import com.keao.edu.user.entity.*;
 import com.keao.edu.user.enums.ExamStatusEnum;
@@ -23,6 +24,7 @@ import com.keao.edu.user.service.ShortUrlService;
 import com.keao.edu.user.service.SysConfigService;
 import com.keao.edu.util.collection.MapUtil;
 import com.keao.edu.util.date.DateUtil;
+import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -30,7 +32,9 @@ import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -294,6 +298,32 @@ public class ExamOrganizationRelationServiceImpl extends BaseServiceImpl<Long, E
 	}
 
 	@Override
+	public ExamOrganStatisticsDto getExamOrganStatistics(Integer organId, Long examId) {
+		if(Objects.isNull(examId)){
+			throw new BizException("请指定考级项目");
+		}
+		ExaminationBasic examinationBasic = examinationBasicDao.get(examId);
+		if(Objects.isNull(examinationBasic)){
+			throw new BizException("考级项目不存在");
+		}
+		ExamOrganizationRelation examOrganizationRelation = examOrganizationRelationDao.getExamOrganizationRelation(examId, organId);
+		ExamOrganStatisticsDto examOrganStatistics = new ExamOrganStatisticsDto();
+		try {
+			examOrganStatistics = (ExamOrganStatisticsDto) BeanUtils.cloneBean(examOrganizationRelation);
+		} catch (IllegalAccessException e) {
+			e.printStackTrace();
+		} catch (InstantiationException e) {
+			e.printStackTrace();
+		} catch (InvocationTargetException e) {
+			e.printStackTrace();
+		} catch (NoSuchMethodException e) {
+			e.printStackTrace();
+		}
+
+		return examOrganStatistics;
+	}
+
+	@Override
 	public PageInfo<Organization> queryUnRelatedOrgans(ExamOrganizationRelationQueryInfo queryInfo) {
 		PageInfo<Organization> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
 		Map<String, Object> params = new HashMap<String, Object>();

+ 11 - 4
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/ExaminationBasicServiceImpl.java

@@ -123,9 +123,11 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         for (ExaminationBasic needUpdateStatusExam : needUpdateStatusExams) {
             if (now.compareTo(needUpdateStatusExam.getEnrollStartTime()) >= 0) {
                 needUpdateStatusExam.setStatus(ExamStatusEnum.APPLYING);
+                examLifecycleLogDao.insert(new ExamLifecycleLog(needUpdateStatusExam.getId().intValue(), "报名已开启", null));
             }
             if (now.compareTo(needUpdateStatusExam.getEnrollEndTime()) >= 0) {
                 needUpdateStatusExam.setStatus(ExamStatusEnum.APPLIED);
+                examLifecycleLogDao.insert(new ExamLifecycleLog(needUpdateStatusExam.getId().intValue(), "报名已结束", null));
             }
             if (Objects.nonNull(needUpdateStatusExam.getActualExamEndTime())
                     &&now.compareTo(needUpdateStatusExam.getActualExamEndTime()) >= 0) {
@@ -166,7 +168,7 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         }
         if(ExamStatusEnum.APPLYING.equals(existsExam.getStatus())&&ExamStatusEnum.APPLIED.equals(statusEnum)){
             existsExam.setEnrollEndTime(new Date());
-            examLifecycleLogDao.insert(new ExamLifecycleLog(existsExam.getId().intValue(), "报名已结束", operatorId));
+            examLifecycleLogDao.insert(new ExamLifecycleLog(existsExam.getId().intValue(), "关闭报名连接", operatorId));
         }
         existsExam.setStatus(statusEnum);
         examinationBasicDao.update(existsExam);
@@ -243,9 +245,6 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         if(Objects.isNull(existsExam)){
             throw new BizException("考级项目不存在");
         }
-        if(!ExamStatusEnum.SETTING.equals(existsExam.getStatus())){
-            throw new BizException("无法修改");
-        }
         if(ExamStatusEnum.RESULT_CONFIRM.equals(existsExam.getStatus())){
             throw new BizException("考级项目结果已确认");
         }
@@ -254,10 +253,18 @@ public class ExaminationBasicServiceImpl extends BaseServiceImpl<Long, Examinati
         }
         if(Objects.nonNull(examinationBasic.getEnrollStartTime())
                 &&examinationBasic.getEnrollStartTime().compareTo(existsExam.getEnrollStartTime())!=0){
+            if(ExamStatusEnum.EXAM_ING.equals(existsExam.getStatus())||
+                    ExamStatusEnum.EXAM_END.equals(existsExam.getStatus())){
+                throw new BizException("无法修改");
+            }
             examLifecycleLogDao.insert(new ExamLifecycleLog(existsExam.getId().intValue(), "修改报名时间", operatorId));
         }
         if(Objects.nonNull(examinationBasic.getEnrollEndTime())
                 &&examinationBasic.getEnrollEndTime().compareTo(existsExam.getEnrollEndTime())!=0){
+            if(ExamStatusEnum.EXAM_ING.equals(existsExam.getStatus())||
+                    ExamStatusEnum.EXAM_END.equals(existsExam.getStatus())){
+                throw new BizException("无法修改");
+            }
             examLifecycleLogDao.insert(new ExamLifecycleLog(existsExam.getId().intValue(), "修改报名时间", operatorId));
         }
         examinationBasicDao.update(examinationBasic);

+ 3 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/ExamRegistrationMapper.xml

@@ -212,6 +212,9 @@
 					#{organId}
 				</foreach>
 			</if>
+			<if test="studentId!=null">
+				AND er.student_id_=#{studentId}
+			</if>
 			<if test="examId!=null">
 				AND er.examination_basic_id_ = #{examId}
 			</if>