|
@@ -222,10 +222,12 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
Long examId = Long.parseLong(String.valueOf(map.get("examId")));
|
|
|
Long createId = Long.parseLong(String.valueOf(map.get("createId")));
|
|
|
List<String> txtList = (List<String>) map.get("txtList");
|
|
|
- List<TBUser> tbUserList = new ArrayList<>();
|
|
|
- List<TBUserRole> tbUserRoleList = new ArrayList<>();
|
|
|
- List<TBExamInvigilateUser> tbExamInvigilateUserList = new ArrayList<>();
|
|
|
+ Set<TBUser> tbUserList = new HashSet<>();
|
|
|
+ Set<TBUserRole> tbUserRoleList = new HashSet<>();
|
|
|
+ Set<TBExamInvigilateUser> tbExamInvigilateUserList = new HashSet<>();
|
|
|
TBTaskHistory tbTaskHistory = (TBTaskHistory) map.get("tbTaskHistory");
|
|
|
+ Set<String> roomCodeSet = new HashSet<>();
|
|
|
+ Set<String> roomNameSet = new HashSet<>();
|
|
|
//保存用户
|
|
|
int line = 0;
|
|
|
for (int i = 0; i < finalList.size(); i++) {
|
|
@@ -241,6 +243,8 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
for (int y = 0; y < subList.size(); y++) {
|
|
|
line++;
|
|
|
RoomCodeImportDto roomCodeImportDto = (RoomCodeImportDto) subList.get(y);
|
|
|
+ roomCodeSet.add(roomCodeImportDto.getRoomCode());
|
|
|
+ roomNameSet.add(roomCodeImportDto.getRoomName());
|
|
|
dataVerify(examId, roomCodeImportDto.getTeacher1(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
dataVerify(examId, roomCodeImportDto.getTeacher2(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
|
dataVerify(examId, roomCodeImportDto.getTeacher3(), roomCodeImportDto.getRoomCode(), roomCodeImportDto.getRoomName(), orgId, createId, tbUserList, tbUserRoleList, tbExamInvigilateUserList);
|
|
@@ -255,10 +259,20 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
max = size;
|
|
|
}
|
|
|
}
|
|
|
- tbUserService.saveOrUpdateBatch(tbUserList);
|
|
|
- tbUserRoleService.saveOrUpdateBatch(tbUserRoleList);
|
|
|
- tbExamInvigilateUserService.saveOrUpdateBatch(tbExamInvigilateUserList);
|
|
|
+// tbUserService.saveOrUpdateBatch(tbUserList);
|
|
|
+// tbUserRoleService.saveOrUpdateBatch(tbUserRoleList);
|
|
|
+// tbExamInvigilateUserService.saveOrUpdateBatch(tbExamInvigilateUserList);
|
|
|
}
|
|
|
+ QueryWrapper<TBExamInvigilateUser> wrapper = new QueryWrapper<>();
|
|
|
+ wrapper.lambda().eq(TBExamInvigilateUser::getOrgId, orgId)
|
|
|
+ .in(TBExamInvigilateUser::getRoomCode, roomCodeSet)
|
|
|
+ .eq(TBExamInvigilateUser::getExamId, examId)
|
|
|
+ .in(TBExamInvigilateUser::getRoomName, roomNameSet);
|
|
|
+ tbExamInvigilateUserService.remove(wrapper);
|
|
|
+
|
|
|
+ tbUserService.saveOrUpdateBatch(tbUserList);
|
|
|
+ tbUserRoleService.saveOrUpdateBatch(tbUserRoleList);
|
|
|
+ tbExamInvigilateUserService.saveOrUpdateBatch(tbExamInvigilateUserList);
|
|
|
map.put("line", line);
|
|
|
return map;
|
|
|
}
|
|
@@ -297,7 +311,7 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
* @param orgId
|
|
|
* @param createId
|
|
|
*/
|
|
|
- public void dataVerify(Long examId, String userName, String roomCode, String roomName, Long orgId, Long createId, List<TBUser> tbUserList, List<TBUserRole> tbUserRoleList, List<TBExamInvigilateUser> tbExamInvigilateUserList) {
|
|
|
+ public void dataVerify(Long examId, String userName, String roomCode, String roomName, Long orgId, Long createId, Set<TBUser> tbUserList, Set<TBUserRole> tbUserRoleList, Set<TBExamInvigilateUser> tbExamInvigilateUserList) {
|
|
|
if (checkRoomCodeExist(examId, roomCode, orgId)) {
|
|
|
throw new BusinessException("考场代码 " + roomCode + " 不存在");
|
|
|
}
|
|
@@ -324,20 +338,12 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
.eq(TBExamInvigilateUser::getRoomName, roomName);
|
|
|
TBExamInvigilateUser tbExamInvigilateUser = tbExamInvigilateUserService.getOne(tbExamInvigilateUserQueryWrapper);
|
|
|
if (Objects.isNull(tbExamInvigilateUser)) {//新增考场
|
|
|
- QueryWrapper<TBExamInvigilateUser> wrapper = new QueryWrapper<>();
|
|
|
- wrapper.lambda().eq(TBExamInvigilateUser::getOrgId, orgId)
|
|
|
- .isNull(TBExamInvigilateUser::getUserId)
|
|
|
- .eq(TBExamInvigilateUser::getRoomCode, roomCode)
|
|
|
- .eq(TBExamInvigilateUser::getExamId, examId)
|
|
|
- .eq(TBExamInvigilateUser::getRoomName, roomName)
|
|
|
- .groupBy(TBExamInvigilateUser::getOrgId, TBExamInvigilateUser::getRoomCode, TBExamInvigilateUser::getExamId, TBExamInvigilateUser::getRoomName);
|
|
|
- tbExamInvigilateUser = tbExamInvigilateUserService.getOne(wrapper);
|
|
|
- if (tbExamInvigilateUser == null) {
|
|
|
- tbExamInvigilateUser = new TBExamInvigilateUser(examId, orgId, tbUser.getId(), roomCode, roomName);
|
|
|
- } else {
|
|
|
- tbExamInvigilateUser.setUserId(tbUser.getId());
|
|
|
- }
|
|
|
-// tbExamInvigilateUserService.saveOrUpdate(tbExamInvigilateUser);
|
|
|
+ tbExamInvigilateUser = new TBExamInvigilateUser(examId, orgId, tbUser.getId(), roomCode, roomName);
|
|
|
+ }
|
|
|
+ tbExamInvigilateUserList.add(tbExamInvigilateUser);
|
|
|
+ } else {
|
|
|
+ TBExamInvigilateUser tbExamInvigilateUser = new TBExamInvigilateUser(examId, orgId, null, roomCode, roomName);
|
|
|
+ if (!tbExamInvigilateUserList.contains(tbExamInvigilateUser)) {
|
|
|
tbExamInvigilateUserList.add(tbExamInvigilateUser);
|
|
|
}
|
|
|
}
|