|
@@ -1,5 +1,22 @@
|
|
package cn.com.qmth.stmms.biz.exam.service.impl;
|
|
package cn.com.qmth.stmms.biz.exam.service.impl;
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.LinkedList;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Set;
|
|
|
|
+
|
|
|
|
+import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
+import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
+import javax.persistence.criteria.Predicate;
|
|
|
|
+import javax.persistence.criteria.Root;
|
|
|
|
+
|
|
|
|
+import org.apache.commons.lang.StringUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.data.domain.Page;
|
|
|
|
+import org.springframework.data.jpa.domain.Specification;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+
|
|
import cn.com.qmth.stmms.biz.common.BaseQueryService;
|
|
import cn.com.qmth.stmms.biz.common.BaseQueryService;
|
|
import cn.com.qmth.stmms.biz.exam.dao.MarkerDao;
|
|
import cn.com.qmth.stmms.biz.exam.dao.MarkerDao;
|
|
import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
|
|
import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
|
|
@@ -8,26 +25,11 @@ import cn.com.qmth.stmms.biz.exam.query.MarkerSearchQuery;
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
import cn.com.qmth.stmms.biz.mark.dao.MarkLibraryDao;
|
|
import cn.com.qmth.stmms.biz.mark.dao.MarkLibraryDao;
|
|
|
|
+import cn.com.qmth.stmms.biz.user.dao.UserDao;
|
|
|
|
+import cn.com.qmth.stmms.biz.user.model.User;
|
|
import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
import cn.com.qmth.stmms.common.enums.MarkStatus;
|
|
import cn.com.qmth.stmms.common.enums.MarkStatus;
|
|
|
|
|
|
-import org.apache.commons.lang.StringUtils;
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
-import org.springframework.data.domain.Page;
|
|
|
|
-import org.springframework.data.jpa.domain.Specification;
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
|
-
|
|
|
|
-import javax.persistence.criteria.CriteriaBuilder;
|
|
|
|
-import javax.persistence.criteria.CriteriaQuery;
|
|
|
|
-import javax.persistence.criteria.Predicate;
|
|
|
|
-import javax.persistence.criteria.Root;
|
|
|
|
-
|
|
|
|
-import java.util.ArrayList;
|
|
|
|
-import java.util.LinkedList;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Set;
|
|
|
|
-
|
|
|
|
@Service("markerService")
|
|
@Service("markerService")
|
|
public class MarkerServiceImpl extends BaseQueryService<Marker> implements MarkerService {
|
|
public class MarkerServiceImpl extends BaseQueryService<Marker> implements MarkerService {
|
|
|
|
|
|
@@ -40,6 +42,9 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
@Autowired
|
|
@Autowired
|
|
private MarkGroupService groupService;
|
|
private MarkGroupService groupService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private UserDao userDao;
|
|
|
|
+
|
|
@Transactional
|
|
@Transactional
|
|
@Override
|
|
@Override
|
|
public Marker save(Marker marker) {
|
|
public Marker save(Marker marker) {
|
|
@@ -127,8 +132,13 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
if (query.getGroupNumber() != null) {
|
|
if (query.getGroupNumber() != null) {
|
|
predicates.add(cb.equal(root.get("groupNumber"), query.getGroupNumber()));
|
|
predicates.add(cb.equal(root.get("groupNumber"), query.getGroupNumber()));
|
|
}
|
|
}
|
|
- if (query.getUserId() != null) {
|
|
|
|
- predicates.add(cb.equal(root.get("userId"), query.getUserId()));
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(query.getLoginName())) {
|
|
|
|
+ List<User> users = userDao.findStartWithLoginName(query.getLoginName());
|
|
|
|
+ List<Integer> list = new ArrayList<Integer>();
|
|
|
|
+ for (User user : users) {
|
|
|
|
+ list.add(user.getId());
|
|
|
|
+ }
|
|
|
|
+ predicates.add(root.get("userId").in(list));
|
|
}
|
|
}
|
|
return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
|
|
return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
|
|
.size()]));
|
|
.size()]));
|