|
@@ -13,11 +13,13 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import javax.persistence.criteria.Predicate;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.Objects;
|
|
|
|
|
|
@RestController
|
|
@@ -50,10 +52,10 @@ public class MarkLogExporter {
|
|
|
if (Objects.nonNull(subject)) {
|
|
|
predicates.add(cb.equal(root.get("subject").as(String.class), subject));
|
|
|
}
|
|
|
- if (Objects.nonNull(examNumber)) {
|
|
|
+ if (Objects.nonNull(examNumber) && examNumber != "") {
|
|
|
predicates.add(cb.equal(root.get("examNumber").as(String.class), examNumber));
|
|
|
}
|
|
|
- if (Objects.nonNull(studentName)) {
|
|
|
+ if (Objects.nonNull(studentName) && studentName != "") {
|
|
|
predicates.add(cb.like(root.get("studentName").as(String.class), "%" + studentName + "%"));
|
|
|
}
|
|
|
if (Objects.nonNull(operType)) {
|
|
@@ -70,6 +72,15 @@ public class MarkLogExporter {
|
|
|
if (Objects.nonNull(workId)) {
|
|
|
predicates.add(cb.equal(root.get("workId").as(Long.class), workId));
|
|
|
}
|
|
|
+
|
|
|
+ List<Map> mapList = MarkLogOperType.listTypes();
|
|
|
+ if (mapList != null && mapList.size() > 0) {
|
|
|
+ CriteriaBuilder.In<Object> in = cb.in(root.get("operType"));
|
|
|
+ for (Map map : mapList) {
|
|
|
+ in.value(map.get("id"));
|
|
|
+ }
|
|
|
+ predicates.add(cb.and(cb.and(in)));
|
|
|
+ }
|
|
|
return cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
};
|
|
|
List<MarkLog> result = markLogRepo.findAll(specification);
|
|
@@ -114,10 +125,10 @@ public class MarkLogExporter {
|
|
|
if (Objects.nonNull(subject)) {
|
|
|
predicates.add(cb.equal(root.get("subject").as(String.class), subject));
|
|
|
}
|
|
|
- if (Objects.nonNull(examNumber)) {
|
|
|
+ if (Objects.nonNull(examNumber) && examNumber != "") {
|
|
|
predicates.add(cb.equal(root.get("examNumber").as(String.class), examNumber));
|
|
|
}
|
|
|
- if (Objects.nonNull(studentName)) {
|
|
|
+ if (Objects.nonNull(studentName) && studentName != "") {
|
|
|
predicates.add(cb.like(root.get("studentName").as(String.class), "%" + studentName + "%"));
|
|
|
}
|
|
|
if (Objects.nonNull(createUserId)) {
|