weiwenhai 6 anni fa
parent
commit
b5918a2be6

+ 15 - 0
examcloud-core-print-provider/src/main/java/cn/com/qmth/examcloud/core/print/api/controller/ExamStructureController.java

@@ -43,6 +43,13 @@ public class ExamStructureController extends ControllerSupport{
 		return list;
 	}
 	
+	@PostMapping("/findOne")
+	@ApiOperation(value = "根据机构id和考试id查询")
+	public ExamStructureInfo getExamStructure(@RequestBody ExamStructureQuery query){
+		ExamStructureInfo info = examStructureService.getExamStructure(query);
+		return info;
+	}
+	
 	@SuppressWarnings("rawtypes")
 	@PostMapping("/save")
 	@ApiOperation(value = "保存导出结构设置信息")
@@ -59,4 +66,12 @@ public class ExamStructureController extends ControllerSupport{
 		examStructureService.deleteExamStructure(list);
 		return Result.success();
 	}
+	
+	@SuppressWarnings("rawtypes")
+	@PostMapping("/copy")
+	@ApiOperation(value = "复制导出结构设置信息")
+	public Result copyExamStructure(@RequestBody ExamStructureInfo info){
+		examStructureService.copyExamStructure(info);
+		return Result.success();
+	}
 }

+ 7 - 0
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/ExamStructureService.java

@@ -30,6 +30,13 @@ public interface ExamStructureService {
 	 */
 	Page<ExamStructureInfo> getExamStructureList(ExamStructureQuery query);
 	
+	/**
+	 * 根据机构id和考试id查询
+	 * @param query
+	 * @return
+	 */
+	ExamStructureInfo getExamStructure(ExamStructureQuery query);
+	
 	/**
 	 * 保存导出结构设置信息
 	 * @param info

+ 24 - 7
examcloud-core-print-service/src/main/java/cn/com/qmth/examcloud/core/print/service/impl/ExamStructureServiceImpl.java

@@ -9,6 +9,7 @@ package cn.com.qmth.examcloud.core.print.service.impl;
 
 import java.util.List;
 
+import ch.qos.logback.core.joran.util.beans.BeanUtil;
 import cn.com.qmth.examcloud.commons.base.exception.StatusException;
 import cn.com.qmth.examcloud.core.print.common.Constants;
 import cn.com.qmth.examcloud.core.print.common.jpa.OrderBuilder;
@@ -22,6 +23,7 @@ import cn.com.qmth.examcloud.core.print.service.bean.ExamStructureConvert;
 import cn.com.qmth.examcloud.core.print.service.bean.ExamStructureInfo;
 import cn.com.qmth.examcloud.core.print.service.bean.ExamStructureQuery;
 
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
@@ -47,7 +49,7 @@ public class ExamStructureServiceImpl implements ExamStructureService {
 	@Override
 	public Page<ExamStructureInfo> getExamStructureList(ExamStructureQuery query) {
 		Check.isNull(query, "查询参数不能为空!");
-		Check.isEmpty(query.getOrgId(), "学校机构不能为空");
+		Check.isEmpty(query.getOrgId(), "机构id不能为空");
 		//查询条件
 		SearchBuilder searches = new SearchBuilder();
 		searches.eq("orgId", query.getOrgId());
@@ -103,12 +105,14 @@ public class ExamStructureServiceImpl implements ExamStructureService {
 		if(newExamStructure != null){
 			throw new StatusException(Constants.PRT_CODE_500, "该场考试的导出结构已经存在,不能复用");
 		}
-		examStructure.setId(null);
-		examStructure.setExamId(info.getNewExamId());
-		examStructure.setExamName(info.getNewExamName());
-		examStructure.setId(info.getNewOrgId());
-		examStructure.setOrgName(info.getNewOrgName());
-		examStructureRepository.save(examStructure);
+		newExamStructure = new ExamStructure();
+		BeanUtils.copyProperties(examStructure, newExamStructure);
+		newExamStructure.setId(null);
+		newExamStructure.setExamId(info.getNewExamId());
+		newExamStructure.setExamName(info.getNewExamName());
+		newExamStructure.setOrgId(info.getNewOrgId());
+		newExamStructure.setOrgName(info.getNewOrgName());
+		examStructureRepository.save(newExamStructure);
 	}
 
 	@Override
@@ -117,4 +121,17 @@ public class ExamStructureServiceImpl implements ExamStructureService {
 		jdbcTemplate.update(updateSql);
 	}
 
+	@Override
+	public ExamStructureInfo getExamStructure(ExamStructureQuery query) {
+		Check.isNull(query, "查询参数不能为空!");
+		Check.isEmpty(query.getOrgId(), "机构id不能为空");
+		Check.isEmpty(query.getExamId(), "考试id不能为空");
+		ExamStructure entity = examStructureRepository.findByExamIdAndOrgId(query.getExamId(), query.getOrgId());
+		if(entity == null){
+			return null;
+		}
+		ExamStructureInfo info = ExamStructureConvert.of(entity);
+		return info;
+	}
+
 }

+ 3 - 1
examcloud-core-print-starter/src/main/resources/security-exclusions.conf

@@ -27,4 +27,6 @@
 [${$rmp.ctrl.print}/project/template][/{id}][POST]
 [${$rmp.ctrl.print}/examStructure][/list][POST]
 [${$rmp.ctrl.print}/examStructure][/save][POST]
-[${$rmp.ctrl.print}/examStructure][/delete/{ids}][POST]
+[${$rmp.ctrl.print}/examStructure][/findOne][POST]
+[${$rmp.ctrl.print}/examStructure][/copy][POST]
+[${$rmp.ctrl.print}/examStructure][/delete/{ids}][DELETE]