|
@@ -25,7 +25,6 @@ import cn.com.qmth.stmms.biz.exam.model.MarkGroup;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.Marker;
|
|
|
import cn.com.qmth.stmms.biz.exam.model.SubjectUser;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamService;
|
|
|
-import cn.com.qmth.stmms.biz.exam.service.ExamStudentService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.ExamSubjectService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkGroupService;
|
|
|
import cn.com.qmth.stmms.biz.exam.service.MarkerService;
|
|
@@ -66,9 +65,6 @@ public class UserServiceImpl implements UserService {
|
|
|
@Autowired
|
|
|
private ExamSubjectService subjectService;
|
|
|
|
|
|
- @Autowired
|
|
|
- private ExamStudentService studentService;
|
|
|
-
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public User save(User user) {
|
|
@@ -236,28 +232,33 @@ public class UserServiceImpl implements UserService {
|
|
|
|
|
|
@Transactional
|
|
|
@Override
|
|
|
- public int batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random) {
|
|
|
+ public int batchSaveMarker(int examId, Set<String> subjectCodes, Integer number, String password, boolean random,String prefix) {
|
|
|
int successNum = 0;
|
|
|
if (subjectCodes.size() == 0) {
|
|
|
List<ExamSubject> subjects = subjectService.list(examId);
|
|
|
for (ExamSubject subject : subjects) {
|
|
|
- successNum = successNum + saveMarkerBySubject(examId, number, password, subject.getCode(), random);
|
|
|
+ successNum = successNum + saveMarkerBySubject(examId, number, password, subject.getCode(), random,prefix);
|
|
|
}
|
|
|
} else {
|
|
|
for (String subjectCode : subjectCodes) {
|
|
|
- successNum = successNum + saveMarkerBySubject(examId, number, password, subjectCode, random);
|
|
|
+ successNum = successNum + saveMarkerBySubject(examId, number, password, subjectCode, random,prefix);
|
|
|
}
|
|
|
}
|
|
|
return successNum;
|
|
|
}
|
|
|
|
|
|
- private int saveMarkerBySubject(int examId, Integer number, String password, String subjectCode, boolean random) {
|
|
|
+ private int saveMarkerBySubject(int examId, Integer number, String password, String subjectCode, boolean random,String cusPrefix) {
|
|
|
Exam exam = examService.findById(examId);
|
|
|
List<MarkGroup> groups = groupService.findByExamAndSubject(examId, subjectCode);
|
|
|
int successNum = 0;
|
|
|
for (MarkGroup group : groups) {
|
|
|
List<Marker> saveList = new ArrayList<Marker>();
|
|
|
- String prefix = exam.getSchoolId() + "-" + subjectCode + "-" + group.getNumber() + "-";
|
|
|
+ String prefix;
|
|
|
+ if(StringUtils.isNotBlank(cusPrefix)) {
|
|
|
+ prefix = cusPrefix + "-" + subjectCode + "-" + group.getNumber() + "-";
|
|
|
+ }else {
|
|
|
+ prefix = exam.getSchoolId() + "-" + subjectCode + "-" + group.getNumber() + "-";
|
|
|
+ }
|
|
|
int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
|
|
|
int createNumber = 1;
|
|
|
while (saveList.size() < number) {
|
|
@@ -304,31 +305,42 @@ public class UserServiceImpl implements UserService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public int batchSaveSubjectUser(int examId, Role role, Set<String> subjectCodes, Integer number, String password,
|
|
|
- boolean random) {
|
|
|
+ boolean random,String cusPrefix) {
|
|
|
int successNum = 0;
|
|
|
if (subjectCodes.size() == 0) {
|
|
|
List<ExamSubject> subjects = subjectService.list(examId);
|
|
|
for (ExamSubject subject : subjects) {
|
|
|
successNum = successNum
|
|
|
- + saveSubjectUserBySubject(examId, number, role, subject.getCode(), password, random);
|
|
|
+ + saveSubjectUserBySubject(examId, number, role, subject.getCode(), password, random,cusPrefix);
|
|
|
}
|
|
|
} else {
|
|
|
for (String subjectCode : subjectCodes) {
|
|
|
- successNum = successNum + saveSubjectUserBySubject(examId, number, role, subjectCode, password, random);
|
|
|
+ successNum = successNum + saveSubjectUserBySubject(examId, number, role, subjectCode, password, random,cusPrefix);
|
|
|
}
|
|
|
}
|
|
|
return successNum;
|
|
|
}
|
|
|
|
|
|
private int saveSubjectUserBySubject(int examId, Integer number, Role role, String subjectCode, String password,
|
|
|
- boolean random) {
|
|
|
+ boolean random,String cusPrefix) {
|
|
|
Exam exam = examService.findById(examId);
|
|
|
List<SubjectUser> saveList = new ArrayList<SubjectUser>();
|
|
|
int successNum = 0;
|
|
|
int createNumber = 1;
|
|
|
- String prefix = exam.getSchoolId() + "-" + subjectCode + "-";
|
|
|
+ String prefix ;
|
|
|
if (role.equals(Role.INSPECTOR)) {
|
|
|
- prefix = exam.getSchoolId() + "-FH-" + subjectCode + "-";
|
|
|
+ if(StringUtils.isNotBlank(cusPrefix)) {
|
|
|
+ prefix = cusPrefix + "-FH-" + subjectCode + "-";
|
|
|
+ }else {
|
|
|
+ prefix = exam.getSchoolId() + "-FH-" + subjectCode + "-";
|
|
|
+ }
|
|
|
+
|
|
|
+ }else {
|
|
|
+ if(StringUtils.isNotBlank(cusPrefix)) {
|
|
|
+ prefix = cusPrefix + "-" + subjectCode + "-";
|
|
|
+ }else {
|
|
|
+ prefix = exam.getSchoolId() + "-" + subjectCode + "-";
|
|
|
+ }
|
|
|
}
|
|
|
int maxNumber = this.findMaxNumberByLoginNameStart(prefix);
|
|
|
while (saveList.size() < number) {
|