|
@@ -8,6 +8,7 @@ import java.util.stream.Collectors;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.examcloud.core.reports.api.request.UpdateProjectStatusReq;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.Page;
|
|
@@ -41,8 +42,8 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public Long addProject(AddProjectReq req,Long rootOrgId) {
|
|
|
- ProjectEntity pe=new ProjectEntity();
|
|
|
+ public Long addProject(AddProjectReq req, Long rootOrgId) {
|
|
|
+ ProjectEntity pe = new ProjectEntity();
|
|
|
BeanUtils.copyProperties(req, pe);
|
|
|
pe.setRootOrgId(rootOrgId);
|
|
|
pe.setEnable(true);
|
|
@@ -54,25 +55,27 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public void updateProject(UpdateProjectReq req,Long rootOrgId) {
|
|
|
+ public void updateProject(UpdateProjectReq req, Long rootOrgId) {
|
|
|
ProjectEntity pe = GlobalHelper.getEntity(projectRepo, req.getId(), ProjectEntity.class);
|
|
|
- if(pe==null) {
|
|
|
+ if (pe == null) {
|
|
|
throw new StatusException("1000001", "项目不存在");
|
|
|
}
|
|
|
- if(!rootOrgId.equals(pe.getRootOrgId())) {
|
|
|
+ if (!rootOrgId.equals(pe.getRootOrgId())) {
|
|
|
throw new StatusException("1000002", "RootOrgId不一致");
|
|
|
}
|
|
|
pe.setName(req.getName());
|
|
|
pe.setRemarks(req.getRemarks());
|
|
|
projectRepo.save(pe);
|
|
|
}
|
|
|
+
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public void updateEnable(String ids, Boolean enable,Long rootOrgId) {
|
|
|
+ public void updateEnable(String ids, Boolean enable, Long rootOrgId) {
|
|
|
List<Long> idList = Arrays.asList(ids.split(",")).stream().map(str -> Long.parseLong(str))
|
|
|
- .collect(Collectors.toList());
|
|
|
+ .collect(Collectors.toList());
|
|
|
projectRepo.updateEnable(idList, rootOrgId, enable);
|
|
|
}
|
|
|
+
|
|
|
private String toSqlSearchPattern(String column) {
|
|
|
if (StringUtils.isBlank(column)) {
|
|
|
return "%";
|
|
@@ -82,12 +85,13 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
return column;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
- public PageInfo<ProjectBean> queryPage(QueryProjectPageReq req, Integer pageNo, Integer pageSize,Long rootOrgId) {
|
|
|
- Long id=req.getId();
|
|
|
- String name=req.getName();
|
|
|
- AnalyseType analyseType=req.getAnalyseType();
|
|
|
- DataOrigin dataOrigin=req.getDataOrigin();
|
|
|
+ public PageInfo<ProjectBean> queryPage(QueryProjectPageReq req, Integer pageNo, Integer pageSize, Long rootOrgId) {
|
|
|
+ Long id = req.getId();
|
|
|
+ String name = req.getName();
|
|
|
+ AnalyseType analyseType = req.getAnalyseType();
|
|
|
+ DataOrigin dataOrigin = req.getDataOrigin();
|
|
|
Specification<ProjectEntity> specification = (root, query, cb) -> {
|
|
|
List<Predicate> predicates = new ArrayList<>();
|
|
|
predicates.add(cb.equal(root.get("rootOrgId"), rootOrgId));
|
|
@@ -108,8 +112,7 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
};
|
|
|
|
|
|
- PageRequest pageRequest = PageRequest.of(pageNo-1, pageSize,
|
|
|
- new Sort(Direction.DESC, "id"));
|
|
|
+ PageRequest pageRequest = PageRequest.of(pageNo - 1, pageSize, new Sort(Direction.DESC, "id"));
|
|
|
|
|
|
Page<ProjectEntity> projects = projectRepo.findAll(specification, pageRequest);
|
|
|
|
|
@@ -118,55 +121,43 @@ public class ProjectServiceImpl implements ProjectService {
|
|
|
for (ProjectEntity cur : projects) {
|
|
|
ProjectBean bean = new ProjectBean();
|
|
|
BeanUtils.copyProperties(cur, bean);
|
|
|
- bean.setAnalyseTypeName(getAnalyseTypeName(bean.getAnalyseType()));
|
|
|
- bean.setDataOriginName(getDataOriginName(bean.getDataOrigin()));
|
|
|
- bean.setReportStatusName(getReportStatusName(bean.getReportStatus()));
|
|
|
- if(StringUtils.isNotBlank(cur.getExamIds())) {
|
|
|
+ bean.setAnalyseTypeName(bean.getAnalyseType().getDesc());
|
|
|
+ bean.setDataOriginName(bean.getDataOrigin().getDesc());
|
|
|
+ bean.setReportStatusName(bean.getReportStatus().getDesc());
|
|
|
+ if (StringUtils.isNotBlank(cur.getExamIds())) {
|
|
|
List<Long> temList = Arrays.asList(cur.getExamIds().split(",")).stream().map(str -> Long.parseLong(str))
|
|
|
- .collect(Collectors.toList());
|
|
|
+ .collect(Collectors.toList());
|
|
|
bean.setExamIds(temList);
|
|
|
}
|
|
|
- if(StringUtils.isNotBlank(cur.getPartitionDetails())) {
|
|
|
- List<Double> temList = Arrays.asList(cur.getPartitionDetails().split(",")).stream().map(str -> Double.parseDouble(str))
|
|
|
- .collect(Collectors.toList());
|
|
|
+ if (StringUtils.isNotBlank(cur.getPartitionDetails())) {
|
|
|
+ List<Double> temList = Arrays.asList(cur.getPartitionDetails().split(",")).stream()
|
|
|
+ .map(str -> Double.parseDouble(str)).collect(Collectors.toList());
|
|
|
bean.setPartitionDetails(temList);
|
|
|
}
|
|
|
ret.add(bean);
|
|
|
}
|
|
|
return new PageInfo<ProjectBean>(projects, ret);
|
|
|
}
|
|
|
- private String getAnalyseTypeName(AnalyseType e) {
|
|
|
- if(e.equals(AnalyseType.SINGLE)) {
|
|
|
- return "单项分析";
|
|
|
- }
|
|
|
- if(e.equals(AnalyseType.TREND)) {
|
|
|
- return "趋势分析";
|
|
|
- }
|
|
|
- return "";
|
|
|
- }
|
|
|
- private String getDataOriginName(DataOrigin e) {
|
|
|
- if(e.equals(DataOrigin.SYNC)) {
|
|
|
- return "同步";
|
|
|
- }
|
|
|
- if(e.equals(DataOrigin.IMPORT)) {
|
|
|
- return "导入";
|
|
|
- }
|
|
|
- return "";
|
|
|
- }
|
|
|
- private String getReportStatusName(ReportStatus e) {
|
|
|
- if(e.equals(ReportStatus.NONE)) {
|
|
|
- return "未计算";
|
|
|
- }
|
|
|
- if(e.equals(ReportStatus.COMPUTING)) {
|
|
|
- return "计算中";
|
|
|
- }
|
|
|
- if(e.equals(ReportStatus.SUCCESS)) {
|
|
|
- return "计算成功";
|
|
|
+
|
|
|
+ @Transactional
|
|
|
+ @Override
|
|
|
+ public void updateProjectStatus(UpdateProjectStatusReq req) {
|
|
|
+ Long id = req.getProjectId();
|
|
|
+ ProjectEntity pe = GlobalHelper.getEntity(projectRepo, id, ProjectEntity.class);
|
|
|
+ if (pe == null) {
|
|
|
+ throw new StatusException("1000003", "项目不存在");
|
|
|
}
|
|
|
- if(e.equals(ReportStatus.FAIL)) {
|
|
|
- return "计算失败";
|
|
|
+ if(req.getStatus()==2) {
|
|
|
+ pe.setReportStatus(ReportStatus.COMPUTING);
|
|
|
+ }else if(req.getStatus()==3) {
|
|
|
+ pe.setReportStatus(ReportStatus.SUCCESS);
|
|
|
+ }else if(req.getStatus()==4) {
|
|
|
+ pe.setReportStatus(ReportStatus.FAIL);
|
|
|
+ }else if(req.getStatus()==5) {
|
|
|
+ pe.setReportStatus(ReportStatus.STOP);
|
|
|
+ }else {
|
|
|
+ throw new StatusException("1000004", "无效的Status");
|
|
|
}
|
|
|
- return "";
|
|
|
+ projectRepo.save(pe);
|
|
|
}
|
|
|
-
|
|
|
}
|