|
@@ -161,33 +161,33 @@ public class TempleteLogicServiceImpl implements TempleteLogicService {
|
|
|
if (Objects.nonNull(roomCodeAndNameSet) && roomCodeAndNameSet.size() > 0) {
|
|
|
Map<String, TBExamInvigilateUser> tbExamInvigilateUserMap = (Map<String, TBExamInvigilateUser>) map.get("tbExamInvigilateUserMap");
|
|
|
AtomicInteger count = new AtomicInteger(0);
|
|
|
+ Map<String, String> roomCodeAndNameMap = new HashMap<>(roomCodeAndNameSet.size());
|
|
|
roomCodeAndNameSet.forEach(s -> {
|
|
|
if (Objects.isNull(tbExamInvigilateUserMap) || (Objects.nonNull(tbExamInvigilateUserMap) && Objects.isNull(tbExamInvigilateUserMap.get(s)))) {
|
|
|
String[] strs = s.split(":");
|
|
|
- QueryWrapper<TBExamInvigilateUser> tbExamInvigilateUserQueryWrapper = new QueryWrapper<>();
|
|
|
- tbExamInvigilateUserQueryWrapper.lambda().eq(TBExamInvigilateUser::getOrgId, orgId)
|
|
|
- .eq(TBExamInvigilateUser::getExamId, Long.parseLong(strs[0]))
|
|
|
- .eq(TBExamInvigilateUser::getRoomCode, strs[1]);
|
|
|
- TBExamInvigilateUser tbExamInvigilateUser = tbExamInvigilateUserService.getOne(tbExamInvigilateUserQueryWrapper);
|
|
|
- tbExamInvigilateUser = Objects.isNull(tbExamInvigilateUser) ? new TBExamInvigilateUser(Long.parseLong(strs[0]), orgId, strs[1], strs[2]) : tbExamInvigilateUser;
|
|
|
- tbExamInvigilateUser.setRoomName(strs[2]);
|
|
|
- tbExamInvigilateUserList.add(tbExamInvigilateUser);
|
|
|
-
|
|
|
- QueryWrapper<TBExamInvigilateUserTemp> tbExamInvigilateUserTempQueryWrapper = new QueryWrapper<>();
|
|
|
- tbExamInvigilateUserTempQueryWrapper.lambda().eq(TBExamInvigilateUserTemp::getOrgId, orgId)
|
|
|
- .eq(TBExamInvigilateUserTemp::getExamId, Long.parseLong(strs[0]))
|
|
|
- .eq(TBExamInvigilateUserTemp::getRoomCode, strs[1]);
|
|
|
-
|
|
|
- map.put("dataRemark", "编码:" + strs[1] + ",名称:" + strs[2]);
|
|
|
- TBExamInvigilateUserTemp tbExamInvigilateUserTemp = tbExamInvigilateUserTempService.getOne(tbExamInvigilateUserTempQueryWrapper);
|
|
|
- tbExamInvigilateUserTemp = Objects.isNull(tbExamInvigilateUserTemp) ? new TBExamInvigilateUserTemp(Long.parseLong(strs[0]), orgId, strs[1], strs[2]) : tbExamInvigilateUserTemp;
|
|
|
- tbExamInvigilateUserTemp.setRoomName(strs[2]);
|
|
|
- tbExamInvigilateUserTempService.saveOrUpdate(tbExamInvigilateUserTemp);
|
|
|
- count.getAndIncrement();
|
|
|
+ if (!roomCodeAndNameMap.containsKey(strs[0] + ":" + strs[1])) {
|
|
|
+ TBExamInvigilateUser tbExamInvigilateUser = new TBExamInvigilateUser(Long.parseLong(strs[0]), orgId, strs[1], strs[2]);
|
|
|
+ tbExamInvigilateUserList.add(tbExamInvigilateUser);
|
|
|
+
|
|
|
+ QueryWrapper<TBExamInvigilateUserTemp> tbExamInvigilateUserTempQueryWrapper = new QueryWrapper<>();
|
|
|
+ tbExamInvigilateUserTempQueryWrapper.lambda().eq(TBExamInvigilateUserTemp::getExamId, Long.parseLong(strs[0]))
|
|
|
+ .eq(TBExamInvigilateUserTemp::getOrgId, orgId)
|
|
|
+ .eq(TBExamInvigilateUserTemp::getRoomCode, strs[1])
|
|
|
+ .eq(TBExamInvigilateUserTemp::getRoomName, strs[2]);
|
|
|
+
|
|
|
+ map.put("dataRemark", "编码:" + strs[1] + ",名称:" + strs[2]);
|
|
|
+ TBExamInvigilateUserTemp tbExamInvigilateUserTemp = tbExamInvigilateUserTempService.getOne(tbExamInvigilateUserTempQueryWrapper);
|
|
|
+ tbExamInvigilateUserTemp = Objects.isNull(tbExamInvigilateUserTemp) ? new TBExamInvigilateUserTemp(Long.parseLong(strs[0]), orgId, strs[1], strs[2]) : tbExamInvigilateUserTemp;
|
|
|
+ tbExamInvigilateUserTempService.saveOrUpdate(tbExamInvigilateUserTemp);
|
|
|
+ count.getAndIncrement();
|
|
|
+ roomCodeAndNameMap.put(strs[0] + ":" + strs[1], strs[2]);
|
|
|
+ } else {
|
|
|
+ throw new BusinessException("考场代码'" + strs[1] + "'下考场名称不一致" + "[" + roomCodeAndNameMap.get(strs[0] + ":" + strs[1]) + "," + strs[2] + "]");
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
if (!CollectionUtils.isEmpty(tbExamInvigilateUserList)) {
|
|
|
- tbExamInvigilateUserService.saveOrUpdateBatch(tbExamInvigilateUserList);
|
|
|
+ tbExamInvigilateUserService.saveBatch(tbExamInvigilateUserList);
|
|
|
}
|
|
|
if (count.get() > 0) {
|
|
|
txtList.add(DateUtil.format(new Date(), Constants.DEFAULT_DATE_PATTERN) + "->创建了" + count + "条考场数据");
|