|
@@ -57,7 +57,7 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|
|
|
|
|
@Async
|
|
@Async
|
|
@Override
|
|
@Override
|
|
- public void syncWuhanUniversityExamData(ExamScheduleTask examScheduleTask, TBSyncTask tbSyncTask) {
|
|
|
|
|
|
+ public void syncWuhanUniversityExamData(ExamScheduleTask examScheduleTask, TBSyncTask tbSyncTask, boolean isAuto) {
|
|
// 同步初始参数
|
|
// 同步初始参数
|
|
TaskResultEnum result = null;
|
|
TaskResultEnum result = null;
|
|
String errorMessage = "";
|
|
String errorMessage = "";
|
|
@@ -69,6 +69,8 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|
String examTypeName = examScheduleTask.getExamTypeName();
|
|
String examTypeName = examScheduleTask.getExamTypeName();
|
|
File txtFile = null;
|
|
File txtFile = null;
|
|
FileInputStream fis = null;
|
|
FileInputStream fis = null;
|
|
|
|
+ // 汇总表ID
|
|
|
|
+ Long examSyncTotalId = SystemConstant.getDbUuid();
|
|
try {
|
|
try {
|
|
// 同步中
|
|
// 同步中
|
|
tbSyncTaskService.updateStatusAndResultById(tbSyncTask.getId(), TaskStatusEnum.RUNNING, null, null);
|
|
tbSyncTaskService.updateStatusAndResultById(tbSyncTask.getId(), TaskStatusEnum.RUNNING, null, null);
|
|
@@ -79,8 +81,7 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|
}
|
|
}
|
|
// 调用接口
|
|
// 调用接口
|
|
List<ExamSyncStudentTemp> examSyncStudentTemps = wuhanUniversityUtils.getKwData(token);
|
|
List<ExamSyncStudentTemp> examSyncStudentTemps = wuhanUniversityUtils.getKwData(token);
|
|
- // 汇总表ID
|
|
|
|
- Long examSyncTotalId = SystemConstant.getDbUuid();
|
|
|
|
|
|
+
|
|
examSyncStudentTemps.forEach(m -> {
|
|
examSyncStudentTemps.forEach(m -> {
|
|
m.setId(SystemConstant.getDbUuid());
|
|
m.setId(SystemConstant.getDbUuid());
|
|
m.setSchoolId(schoolId);
|
|
m.setSchoolId(schoolId);
|
|
@@ -112,10 +113,15 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|
examSyncTotalService.updateDownloadStatusBySchoolIdAndSemesterIdAndExamTypeId(schoolId, semesterId, examTypeId);
|
|
examSyncTotalService.updateDownloadStatusBySchoolIdAndSemesterIdAndExamTypeId(schoolId, semesterId, examTypeId);
|
|
|
|
|
|
// 生成汇总数据
|
|
// 生成汇总数据
|
|
- ZoneId zone = ZoneId.systemDefault();
|
|
|
|
- Instant instant = LocalDate.now().atStartOfDay().atZone(zone).toInstant();
|
|
|
|
- Date date = Date.from(instant);
|
|
|
|
- Long syncDate = date.getTime();
|
|
|
|
|
|
+ long syncDate;
|
|
|
|
+ if (isAuto) {
|
|
|
|
+ ZoneId zone = ZoneId.systemDefault();
|
|
|
|
+ Instant instant = LocalDate.now().atStartOfDay().atZone(zone).toInstant();
|
|
|
|
+ Date date = Date.from(instant);
|
|
|
|
+ syncDate = date.getTime();
|
|
|
|
+ } else {
|
|
|
|
+ syncDate = System.currentTimeMillis();
|
|
|
|
+ }
|
|
int colleges = Integer.parseInt(String.valueOf(examSyncStudentTemps.stream().map(ExamSyncStudentTemp::getJgmc).filter(StringUtils::isNotBlank).distinct().count()));
|
|
int colleges = Integer.parseInt(String.valueOf(examSyncStudentTemps.stream().map(ExamSyncStudentTemp::getJgmc).filter(StringUtils::isNotBlank).distinct().count()));
|
|
int subjects = Integer.parseInt(String.valueOf(examSyncStudentTemps.stream().map(ExamSyncStudentTemp::getKch).filter(StringUtils::isNotBlank).distinct().count()));
|
|
int subjects = Integer.parseInt(String.valueOf(examSyncStudentTemps.stream().map(ExamSyncStudentTemp::getKch).filter(StringUtils::isNotBlank).distinct().count()));
|
|
int students = examSyncStudentTemps.size();
|
|
int students = examSyncStudentTemps.size();
|
|
@@ -129,14 +135,14 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|
examSyncTotal.setFilePath(excelFile.getPath());
|
|
examSyncTotal.setFilePath(excelFile.getPath());
|
|
examSyncTotalService.updateById(examSyncTotal);
|
|
examSyncTotalService.updateById(examSyncTotal);
|
|
}
|
|
}
|
|
- // 删除临时表数据
|
|
|
|
- examSyncStudentTempService.deleteByExamSyncTotalId(examSyncTotalId);
|
|
|
|
-
|
|
|
|
result = TaskResultEnum.SUCCESS;
|
|
result = TaskResultEnum.SUCCESS;
|
|
} catch (ApiException | IOException e) {
|
|
} catch (ApiException | IOException e) {
|
|
result = TaskResultEnum.ERROR;
|
|
result = TaskResultEnum.ERROR;
|
|
errorMessage = errorMessage + e.getMessage();
|
|
errorMessage = errorMessage + e.getMessage();
|
|
} finally {
|
|
} finally {
|
|
|
|
+ // 删除临时表数据
|
|
|
|
+ examSyncStudentTempService.deleteByExamSyncTotalId(examSyncTotalId);
|
|
|
|
+ // 更新任务状态
|
|
tbSyncTaskService.updateStatusAndResultById(tbSyncTask.getId(), TaskStatusEnum.FINISH, result, errorMessage);
|
|
tbSyncTaskService.updateStatusAndResultById(tbSyncTask.getId(), TaskStatusEnum.FINISH, result, errorMessage);
|
|
|
|
|
|
// 关闭fis流
|
|
// 关闭fis流
|