|
@@ -10,6 +10,7 @@ import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
|
import cn.com.qmth.stmms.biz.mark.dao.MarkLibraryDao;
|
|
|
import cn.com.qmth.stmms.common.enums.LibraryStatus;
|
|
|
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;
|
|
@@ -21,6 +22,7 @@ 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;
|
|
@@ -41,13 +43,7 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Marker save(Marker marker) {
|
|
|
- // Marker previous = findByLoginName(marker.getLoginName());
|
|
|
- // if (previous == null || (marker.getId() != null &&
|
|
|
- // previous.getId().equals(marker.getId()))) {
|
|
|
return markerDao.save(marker);
|
|
|
- // } else {
|
|
|
- // return null;
|
|
|
- // }
|
|
|
}
|
|
|
|
|
|
@Transactional
|
|
@@ -56,23 +52,11 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
markerDao.updateMarkSettingById(id, setting);
|
|
|
}
|
|
|
|
|
|
- // @Transactional
|
|
|
- // @Override
|
|
|
- // public void updateOpenAccountById(Integer id, Integer accountId) {
|
|
|
- // markerDao.updateOpenAccountById(id, accountId);
|
|
|
- // }
|
|
|
-
|
|
|
@Override
|
|
|
public Marker findById(Integer id) {
|
|
|
return markerDao.findOne(id);
|
|
|
}
|
|
|
|
|
|
- // @Override
|
|
|
- // public Marker findByLoginName(String loginName) {
|
|
|
- // List<Marker> list = markerDao.findByLoginName(loginName);
|
|
|
- // return list != null && list.size() > 0 ? list.get(0) : null;
|
|
|
- // }
|
|
|
-
|
|
|
@Override
|
|
|
public List<Marker> findByExamAndSubjectAndGroup(int examId, String subjectCode, int number) {
|
|
|
return markerDao.findByExamIdAndSubjectCodeAndGroupNumber(examId, subjectCode, number, null);
|
|
@@ -88,78 +72,6 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
return markerDao.countByExamIdAndSubjectCodeAndGroupNumber(examId, subjectCode, number);
|
|
|
}
|
|
|
|
|
|
- // @Transactional
|
|
|
- // @Override
|
|
|
- // public int batchCreate(ExamSubject subject, int groupNumber, int count,
|
|
|
- // String password) {
|
|
|
- // int result = 0;
|
|
|
- // if (subject != null && count > 0) {
|
|
|
- // if (groupNumber > 0) {
|
|
|
- // result = saveMarker(subject, groupNumber, count, password);
|
|
|
- // } else {
|
|
|
- // List<MarkGroup> groups =
|
|
|
- // groupService.findByExamAndSubject(subject.getExamId(),
|
|
|
- // subject.getCode());
|
|
|
- // for (MarkGroup markGroup : groups) {
|
|
|
- // result = result + saveMarker(subject, markGroup.getNumber(), count,
|
|
|
- // password);
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- // return result;
|
|
|
- // }
|
|
|
-
|
|
|
- // private int saveMarker(ExamSubject subject, int groupNumber, int count,
|
|
|
- // String password) {
|
|
|
- // int result = 0;
|
|
|
- // int start = 1;
|
|
|
- // Marker previous = findLastMarker(subject.getExamId(), subject.getCode());
|
|
|
- // if (previous != null) {
|
|
|
- // start = previous.getNumber() + 1;
|
|
|
- // }
|
|
|
- // int end = start + count - 1;
|
|
|
- // for (; start <= end; start++) {
|
|
|
- // Marker marker = new Marker();
|
|
|
- // marker.setExamId(subject.getExamId());
|
|
|
- // marker.setSubjectCode(subject.getCode());
|
|
|
- // if (StringUtils.isEmpty(password)) {
|
|
|
- // Random random = new Random();
|
|
|
- // for (int i = 0; i < 6; i++) {
|
|
|
- // password += random.nextInt(10);
|
|
|
- // }
|
|
|
- // marker.setPassword(password);
|
|
|
- // password = "";// 随机码生产后将密码置空
|
|
|
- // } else {
|
|
|
- // marker.setPassword(password);
|
|
|
- // }
|
|
|
- // marker.setEnable(true);
|
|
|
- // marker.buildLoginName(start);
|
|
|
- // marker.setLoginName(marker.getLoginName());
|
|
|
- // marker.setName(marker.getLoginName());
|
|
|
- // marker.setGroupNumber(groupNumber);
|
|
|
- // marker.setClassCount(0);
|
|
|
- // if (save(marker) != null) {
|
|
|
- // result++;
|
|
|
- // }
|
|
|
- // }
|
|
|
- // return result;
|
|
|
- // }
|
|
|
-
|
|
|
- // private Marker findLastMarker(int examId, String subjectCode) {
|
|
|
- // Marker marker = null;
|
|
|
- // List<Marker> list = markerDao.findByExamIdAndSubjectCode(examId,
|
|
|
- // subjectCode, new BaseQuery<Marker>(1, 1,
|
|
|
- // new Sort(Direction.DESC, "id")));
|
|
|
- // if (list != null && !list.isEmpty()) {
|
|
|
- // marker = list.get(0);
|
|
|
- // }
|
|
|
- // if (marker != null) {
|
|
|
- // return Marker.parseLoginName(marker.getLoginName());
|
|
|
- // } else {
|
|
|
- // return null;
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
@Override
|
|
|
public List<Marker> getMarkCount(int examId) {
|
|
|
List<Marker> list = new LinkedList<Marker>();
|
|
@@ -180,8 +92,8 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
@Override
|
|
|
public List<Marker> getMarkCount(int examId, Set<String> subjectCodes) {
|
|
|
List<Marker> list = new LinkedList<Marker>();
|
|
|
- List<Object[]> result = libraryDao
|
|
|
- .countMarkerAndStatusAndSubjectCodeIn(examId, subjectCodes, LibraryStatus.MARKED);
|
|
|
+ List<Object[]> result = libraryDao.countMarkerAndStatusAndSubjectCodeIn(examId, subjectCodes,
|
|
|
+ LibraryStatus.MARKED);
|
|
|
if (result != null) {
|
|
|
for (Object[] array : result) {
|
|
|
try {
|
|
@@ -224,9 +136,8 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
if (query.getUserId() != null) {
|
|
|
predicates.add(cb.equal(root.get("userId"), query.getUserId()));
|
|
|
}
|
|
|
- return predicates.isEmpty() ?
|
|
|
- cb.conjunction() :
|
|
|
- cb.and(predicates.toArray(new Predicate[predicates.size()]));
|
|
|
+ return predicates.isEmpty() ? cb.conjunction() : cb.and(predicates.toArray(new Predicate[predicates
|
|
|
+ .size()]));
|
|
|
}
|
|
|
};
|
|
|
}
|
|
@@ -243,8 +154,7 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Marker findByExamAndSubjectAndNumberAndUserId(int examId, String subjectCode, Integer number,
|
|
|
- Integer userId) {
|
|
|
+ public Marker findByExamAndSubjectAndNumberAndUserId(int examId, String subjectCode, Integer number, Integer userId) {
|
|
|
return markerDao.findByExamIdAndSubjectCodeAndGroupNumberAndUserId(examId, subjectCode, number, userId);
|
|
|
}
|
|
|
|
|
@@ -285,20 +195,8 @@ public class MarkerServiceImpl extends BaseQueryService<Marker> implements Marke
|
|
|
this.batchSave(list);
|
|
|
}
|
|
|
|
|
|
- // @Override
|
|
|
- // public List<Marker> findByOpenAccountAndMarkStatus(Integer accountId,
|
|
|
- // MarkStatus... status) {
|
|
|
- // return markerDao.findByOpenAccountIdAndEnableAndMarkStatus(accountId,
|
|
|
- // true, status);
|
|
|
- // }
|
|
|
-
|
|
|
- // @Override
|
|
|
- // public long countByExamAndSubjectAndGroupAndOpenAccount(Integer examId,
|
|
|
- // String subjectCode, Integer groupNumber,
|
|
|
- // Integer openAccountId) {
|
|
|
- // return
|
|
|
- // markerDao.countByExamIdAndSubjectCodeAndGroupNumberAndOpenAccountId(examId,
|
|
|
- // subjectCode, groupNumber,
|
|
|
- // openAccountId);
|
|
|
- // }
|
|
|
+ @Override
|
|
|
+ public List<Marker> findByExamAndSubjectAndUserId(Integer examId, String subjectCode, Integer userId) {
|
|
|
+ return markerDao.findByExamIdAndSubjectCodeAndUserId(examId, subjectCode, userId);
|
|
|
+ }
|
|
|
}
|