|
@@ -218,17 +218,20 @@ public class ClientServiceImpl implements ClientService {
|
|
|
}).distinct().collect(Collectors.toList());
|
|
|
List<ClientPrintBackupDataDto> paperBackupList = new ArrayList<>();
|
|
|
for (Map<String, String> keyMap : keyMaps) {
|
|
|
- for (int i = 0; i < backupCount; i++) {
|
|
|
- ClientPrintBackupDataDto clientPrintBackupDataDto = new ClientPrintBackupDataDto();
|
|
|
- clientPrintBackupDataDto.setCourseCode(keyMap.get("courseCode"));
|
|
|
- clientPrintBackupDataDto.setCourseName(keyMap.get("courseName"));
|
|
|
- clientPrintBackupDataDto.setPaperNumber(keyMap.get("paperNumber"));
|
|
|
- clientPrintBackupDataDto.setPaperType(keyMap.get("paperType"));
|
|
|
- StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
|
|
|
- String key = sj.add(keyMap.get("courseCode")).add(keyMap.get("paperNumber")).add(keyMap.get("paperType")).toString();
|
|
|
- clientPrintBackupDataDto.setMd5(map.get(key).get("md5"));
|
|
|
- clientPrintBackupDataDto.setUrl(map.get(key).get("url"));
|
|
|
- paperBackupList.add(clientPrintBackupDataDto);
|
|
|
+ List<String> paperTypes = Arrays.stream(keyMap.get("paperType").split(",")).sorted(Comparator.comparing(String::valueOf)).collect(Collectors.toList());
|
|
|
+ for (String paperType : paperTypes) {
|
|
|
+ for (int i = 0; i < backupCount; i++) {
|
|
|
+ ClientPrintBackupDataDto clientPrintBackupDataDto = new ClientPrintBackupDataDto();
|
|
|
+ clientPrintBackupDataDto.setCourseCode(keyMap.get("courseCode"));
|
|
|
+ clientPrintBackupDataDto.setCourseName(keyMap.get("courseName"));
|
|
|
+ clientPrintBackupDataDto.setPaperNumber(keyMap.get("paperNumber"));
|
|
|
+ clientPrintBackupDataDto.setPaperType(paperType);
|
|
|
+ StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
|
|
|
+ String key = sj.add(keyMap.get("courseCode")).add(keyMap.get("paperNumber")).add(paperType).toString();
|
|
|
+ clientPrintBackupDataDto.setMd5(map.get(key).get("md5"));
|
|
|
+ clientPrintBackupDataDto.setUrl(map.get(key).get("url"));
|
|
|
+ paperBackupList.add(clientPrintBackupDataDto);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
backupMap.put("paper", paperBackupList);
|
|
@@ -665,10 +668,13 @@ public class ClientServiceImpl implements ClientService {
|
|
|
clientPrintDataDtos.add(printDataDto);
|
|
|
}
|
|
|
} else if (printCount > 0) {
|
|
|
+ List<String> paperTypes = Arrays.stream(examDetailCours.get("paperType").toString().split(",")).sorted(Comparator.comparing(String::valueOf)).collect(Collectors.toList());
|
|
|
for (int i = 0; i < printCount; i++) {
|
|
|
+ int mod = i % paperTypes.size();
|
|
|
+ String tempPaperType = paperTypes.get(mod);
|
|
|
ClientPrintDataDto printDataDto = newClientPrintDataDto(examDetailCours);
|
|
|
StringJoiner sj = new StringJoiner(SystemConstant.DELIMITER);
|
|
|
- String key = sj.add(printDataDto.getCourseCode()).add(examDetailCours.get("paperNumber").toString()).add(printDataDto.getPaperType()).toString();
|
|
|
+ String key = sj.add(printDataDto.getCourseCode()).add(examDetailCours.get("paperNumber").toString()).add(tempPaperType).toString();
|
|
|
printDataDto.setMd5(map.get(key).get("md5"));
|
|
|
printDataDto.setUrl(map.get(key).get("url"));
|
|
|
clientPrintDataDtos.add(printDataDto);
|
|
@@ -698,12 +704,10 @@ public class ClientServiceImpl implements ClientService {
|
|
|
clientPrintDataDtos.add(printDataDto);
|
|
|
}
|
|
|
} else if (printCount != null && printCount > 0) {
|
|
|
- AtomicInteger atomicInteger = new AtomicInteger(0);
|
|
|
List<JSONObject> commonAttachmentIds = JSONObject.parseArray(examDetailCours.get("commonAttachmentId").toString(), JSONObject.class);
|
|
|
List<String> paperTypes = Arrays.stream(examDetailCours.get("paperType").toString().split(",")).sorted(Comparator.comparing(String::valueOf)).collect(Collectors.toList());
|
|
|
for (int i = 0; i < printCount; i++) {
|
|
|
- int seq = atomicInteger.getAndIncrement();
|
|
|
- int mod = seq % commonAttachmentIds.size();
|
|
|
+ int mod = i % commonAttachmentIds.size();
|
|
|
String tempPaperType = paperTypes.get(mod);
|
|
|
JSONObject jsonObject = commonAttachmentIds.stream().filter(j -> tempPaperType.equals(j.getString("name"))).findFirst().get();
|
|
|
ClientPrintDataDto printDataDto = newClientPrintDataDto(examDetailCours);
|