xiatian пре 6 година
родитељ
комит
250338079d
11 измењених фајлова са 95 додато и 1 уклоњено
  1. 19 0
      examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ExamCourseDataReportCloudServiceProvider.java
  2. 18 0
      examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ExamOrgReportCloudServiceProvider.java
  3. 9 0
      examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ProjectCloudServiceProvider.java
  4. 6 0
      examcloud-core-reports-dao/src/main/java/cn/com/qmth/examcloud/core/reports/dao/ExamCourseDataReportRepo.java
  5. 6 0
      examcloud-core-reports-dao/src/main/java/cn/com/qmth/examcloud/core/reports/dao/ExamOrgReportRepo.java
  6. 1 0
      examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ExamCourseDataReportService.java
  7. 1 0
      examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ExamOrgReportService.java
  8. 4 0
      examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ProjectService.java
  9. 5 0
      examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ExamCourseDataReportServiceImpl.java
  10. 4 1
      examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ExamOrgReportServiceImpl.java
  11. 22 0
      examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ProjectServiceImpl.java

+ 19 - 0
examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ExamCourseDataReportCloudServiceProvider.java

@@ -1,7 +1,9 @@
 package cn.com.qmth.examcloud.core.reports.api.provider;
 
 import org.examcloud.core.reports.api.ExamCourseDataReportCloudService;
+import org.examcloud.core.reports.api.request.DeleteExamCourseDataReportByProjectReq;
 import org.examcloud.core.reports.api.request.SaveExamCourseDataReportListReq;
+import org.examcloud.core.reports.api.response.DeleteExamCourseDataReportByProjectResp;
 import org.examcloud.core.reports.api.response.SaveExamCourseDataReportListResp;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -39,4 +41,21 @@ public class ExamCourseDataReportCloudServiceProvider extends ControllerSupport
 		return new SaveExamCourseDataReportListResp();
 	}
 
+	@ApiOperation(value = "根据projec删除")
+    @PostMapping("/deleteByProject")
+	@Override
+	public DeleteExamCourseDataReportByProjectResp deleteExamCourseDataReportByProject(@RequestBody
+			DeleteExamCourseDataReportByProjectReq req) {
+		Long rootOrgId=req.getRootOrgId();
+		if(rootOrgId==null) {
+			throw new StatusException("1000011", "rootOrgId不能为空");
+		}
+		Long projectId=req.getProjectId();
+		if(projectId==null) {
+			throw new StatusException("1000012", "projectId不能为空");
+		}
+		examCourseDataReportService.deleteByProject(projectId, rootOrgId);
+		return new DeleteExamCourseDataReportByProjectResp();
+	}
+
 }

+ 18 - 0
examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ExamOrgReportCloudServiceProvider.java

@@ -1,7 +1,9 @@
 package cn.com.qmth.examcloud.core.reports.api.provider;
 
 import org.examcloud.core.reports.api.ExamOrgReportCloudService;
+import org.examcloud.core.reports.api.request.DeleteExamOrgReportByProjectReq;
 import org.examcloud.core.reports.api.request.SaveExamOrgReportListReq;
+import org.examcloud.core.reports.api.response.DeleteExamOrgReportByProjectResp;
 import org.examcloud.core.reports.api.response.SaveExamOrgReportListResp;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -39,4 +41,20 @@ public class ExamOrgReportCloudServiceProvider extends ControllerSupport impleme
 		return new SaveExamOrgReportListResp();
 	}
 
+	@ApiOperation(value = "根据projec删除")
+    @PostMapping("/deleteByProject")
+	@Override
+	public DeleteExamOrgReportByProjectResp deleteExamOrgReportByProject(@RequestBody DeleteExamOrgReportByProjectReq req) {
+		Long rootOrgId=req.getRootOrgId();
+		if(rootOrgId==null) {
+			throw new StatusException("1000011", "rootOrgId不能为空");
+		}
+		Long projectId=req.getProjectId();
+		if(projectId==null) {
+			throw new StatusException("1000012", "projectId不能为空");
+		}
+		examOrgReportService.deleteByProject(projectId, rootOrgId);
+		return new DeleteExamOrgReportByProjectResp();
+	}
+
 }

+ 9 - 0
examcloud-core-reports-api-provider/src/main/java/cn/com/qmth/examcloud/core/reports/api/provider/ProjectCloudServiceProvider.java

@@ -1,7 +1,9 @@
 package cn.com.qmth.examcloud.core.reports.api.provider;
 
 import org.examcloud.core.reports.api.ProjectCloudService;
+import org.examcloud.core.reports.api.request.GetProjectInfoBeanReq;
 import org.examcloud.core.reports.api.request.UpdateProjectStatusReq;
+import org.examcloud.core.reports.api.response.GetProjectInfoBeanResp;
 import org.examcloud.core.reports.api.response.UpdateProjectStatusResp;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -39,4 +41,11 @@ public class ProjectCloudServiceProvider extends ControllerSupport implements Pr
 		return new UpdateProjectStatusResp();
 	}
 
+	@Override
+	public GetProjectInfoBeanResp getProjectBean(GetProjectInfoBeanReq req) {
+		GetProjectInfoBeanResp res=new GetProjectInfoBeanResp();
+		res.setBean(projectService.getProjectInfoBean(req));
+		return res;
+	}
+
 }

+ 6 - 0
examcloud-core-reports-dao/src/main/java/cn/com/qmth/examcloud/core/reports/dao/ExamCourseDataReportRepo.java

@@ -2,9 +2,15 @@ package cn.com.qmth.examcloud.core.reports.dao;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
 
 import cn.com.qmth.examcloud.core.reports.dao.entity.ExamCourseDataReportEntity;
 
 public interface ExamCourseDataReportRepo extends JpaRepository<ExamCourseDataReportEntity, Long>,
 		JpaSpecificationExecutor<ExamCourseDataReportEntity> {
+	
+	@Modifying
+	@Query(value = "delete from ec_r_exam_course_data_report where project_id =?1 and root_org_id=?2 ", nativeQuery = true)
+	public void deleteByProject(Long projectId, Long rootOrgId);
 }

+ 6 - 0
examcloud-core-reports-dao/src/main/java/cn/com/qmth/examcloud/core/reports/dao/ExamOrgReportRepo.java

@@ -2,9 +2,15 @@ package cn.com.qmth.examcloud.core.reports.dao;
 
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
 
 import cn.com.qmth.examcloud.core.reports.dao.entity.ExamOrgReportEntity;
 
 public interface ExamOrgReportRepo extends JpaRepository<ExamOrgReportEntity, Long>,
 		JpaSpecificationExecutor<ExamOrgReportEntity> {
+	
+	@Modifying
+	@Query(value = "delete from ec_r_exam_org_report where project_id =?1 and root_org_id=?2 ", nativeQuery = true)
+	public void deleteByProject(Long projectId, Long rootOrgId);
 }

+ 1 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ExamCourseDataReportService.java

@@ -7,4 +7,5 @@ import org.examcloud.core.reports.api.bean.ExamCourseDataReportBean;
 public interface ExamCourseDataReportService {
 
 	public void saveExamCourseDataReportList(List<ExamCourseDataReportBean> beans);
+	public void deleteByProject(Long projectId,Long rootOrgId);
 }

+ 1 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ExamOrgReportService.java

@@ -7,4 +7,5 @@ import org.examcloud.core.reports.api.bean.ExamOrgReportBean;
 public interface ExamOrgReportService {
 
 	public void saveExamOrgReportList(List<ExamOrgReportBean> beans);
+	public void deleteByProject(Long projectId,Long rootOrgId);
 }

+ 4 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/ProjectService.java

@@ -1,5 +1,7 @@
 package cn.com.qmth.examcloud.core.reports.service;
 
+import org.examcloud.core.reports.api.bean.ProjectInfoBean;
+import org.examcloud.core.reports.api.request.GetProjectInfoBeanReq;
 import org.examcloud.core.reports.api.request.UpdateProjectStatusReq;
 
 import cn.com.qmth.examcloud.api.commons.exchange.PageInfo;
@@ -15,4 +17,6 @@ public interface ProjectService {
 	public void updateEnable(String ids,Boolean enable,Long rootOrgId);
 	public PageInfo<ProjectBean> queryPage(QueryProjectPageReq req,Integer pageNo,Integer pageSize,Long rootOrgId);
 	public void updateProjectStatus(UpdateProjectStatusReq req) ;
+	
+	public ProjectInfoBean getProjectInfoBean(GetProjectInfoBeanReq req);
 }

+ 5 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ExamCourseDataReportServiceImpl.java

@@ -32,5 +32,10 @@ public class ExamCourseDataReportServiceImpl implements ExamCourseDataReportServ
 		examCourseDataReportRepo.saveAll(list);
 	}
 
+	@Override
+	public void deleteByProject(Long projectId, Long rootOrgId) {
+		examCourseDataReportRepo.deleteByProject(projectId, rootOrgId);
+	}
+
 
 }

+ 4 - 1
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ExamOrgReportServiceImpl.java

@@ -32,5 +32,8 @@ public class ExamOrgReportServiceImpl implements ExamOrgReportService {
 		examOrgReportRepo.saveAll(list);
 	}
 
-
+	@Override
+	public void deleteByProject(Long projectId, Long rootOrgId) {
+		examOrgReportRepo.deleteByProject(projectId, rootOrgId);
+	}
 }

+ 22 - 0
examcloud-core-reports-service/src/main/java/cn/com/qmth/examcloud/core/reports/service/impl/ProjectServiceImpl.java

@@ -8,6 +8,8 @@ import java.util.stream.Collectors;
 import javax.persistence.criteria.Predicate;
 
 import org.apache.commons.lang3.StringUtils;
+import org.examcloud.core.reports.api.bean.ProjectInfoBean;
+import org.examcloud.core.reports.api.request.GetProjectInfoBeanReq;
 import org.examcloud.core.reports.api.request.UpdateProjectStatusReq;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -160,4 +162,24 @@ public class ProjectServiceImpl implements ProjectService {
 		}
 		projectRepo.save(pe);
 	}
+
+	@Override
+	public ProjectInfoBean getProjectInfoBean(GetProjectInfoBeanReq req) {
+		if (req.getProjectId() == null) {
+			throw new StatusException("1000005", "项目id不能为空");
+		}
+		ProjectEntity pe = GlobalHelper.getEntity(projectRepo, req.getProjectId(), ProjectEntity.class);
+		if (pe == null) {
+			throw new StatusException("1000006", "项目不存在");
+		}
+		ProjectInfoBean bean=new ProjectInfoBean();
+		BeanUtils.copyProperties(pe, bean);
+		bean.setAnalyseType(pe.getAnalyseType().name());
+		bean.setDataOrigin(pe.getDataOrigin().name());
+		bean.setReportStatus(pe.getReportStatus().name());
+		List<Double> partitionDetails = Arrays.asList(pe.getPartitionDetails().split(",")).stream().map(str -> Double.parseDouble(str))
+				.collect(Collectors.toList());
+		bean.setPartitionDetails(partitionDetails);
+		return bean;
+	}
 }