|
|
@@ -40,6 +40,7 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import javax.sql.DataSource;
|
|
|
+import java.sql.SQLException;
|
|
|
import java.time.DayOfWeek;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
@@ -49,6 +50,7 @@ import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
|
|
|
/**
|
|
|
* @title: 课表
|
|
|
@@ -82,49 +84,56 @@ public class ScheduleController {
|
|
|
courseReceiveMsg.setDeleteMark(DeleteMark.NODELETE.getCode());
|
|
|
courseReceiveMsg.setEnabledMark(EnabledMark.ENABLED.getCode());
|
|
|
courseReceiveMsgService.save(courseReceiveMsg);
|
|
|
-
|
|
|
- DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
|
|
|
- Db use = Db.use(datasource);
|
|
|
- DataUtil dataUtil = new DataUtil();
|
|
|
- JsonArray scheduleInfo = dataUtil.getScheduleInfoByGrade(eduYearSerialNo, startDate, endDate);
|
|
|
- String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
|
|
|
- List<JianyueData> query = use.query(sql, JianyueData.class);
|
|
|
- Set<String> tables = new HashSet<>();
|
|
|
- for (JianyueData jianyueData : query) {
|
|
|
- tables.add(jianyueData.getTableName());
|
|
|
- }
|
|
|
- sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
|
|
|
- List<JianyueData> list = use.query(sql, JianyueData.class);
|
|
|
- Map<String, Map<String, Long>> dataMap = new HashMap<>();
|
|
|
- for (String table : tables) {
|
|
|
- Map<String, Long> tableData = new HashMap<>();
|
|
|
- for (JianyueData jianyueData : list) {
|
|
|
- if(!table.equals(jianyueData.getTableName())){
|
|
|
- continue;
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ try {
|
|
|
+ DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
|
|
|
+ Db use = Db.use(datasource);
|
|
|
+ DataUtil dataUtil = new DataUtil();
|
|
|
+ JsonArray scheduleInfo = dataUtil.getScheduleInfoByGrade(eduYearSerialNo, startDate, endDate);
|
|
|
+ String sql = "SELECT distinct table_name FROM jianyue_data WHERE 1 = 1";
|
|
|
+ List<JianyueData> query = use.query(sql, JianyueData.class);
|
|
|
+ Set<String> tables = new HashSet<>();
|
|
|
+ for (JianyueData jianyueData : query) {
|
|
|
+ tables.add(jianyueData.getTableName());
|
|
|
+ }
|
|
|
+ sql = "SELECT * FROM jianyue_data WHERE 0 = 0";
|
|
|
+ List<JianyueData> list = use.query(sql, JianyueData.class);
|
|
|
+ Map<String, Map<String, Long>> dataMap = new HashMap<>();
|
|
|
+ for (String table : tables) {
|
|
|
+ Map<String, Long> tableData = new HashMap<>();
|
|
|
+ for (JianyueData jianyueData : list) {
|
|
|
+ if(!table.equals(jianyueData.getTableName())){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ tableData.put(jianyueData.getJianyueId(), jianyueData.getSourceId());
|
|
|
+ }
|
|
|
+ dataMap.put(table, tableData);
|
|
|
}
|
|
|
- tableData.put(jianyueData.getJianyueId(), jianyueData.getSourceId());
|
|
|
- }
|
|
|
- dataMap.put(table, tableData);
|
|
|
- }
|
|
|
|
|
|
- //获取学期
|
|
|
- String tableName = "base_semester";
|
|
|
- Map<String, Long> semesterMap = dataMap.get(tableName);
|
|
|
- //获取课程
|
|
|
- tableName = "base_course_subject";
|
|
|
- Map<String, Long> courseMap = dataMap.get(tableName);
|
|
|
- //获取教职工
|
|
|
- tableName = "base_teacher";
|
|
|
- Map<String, Long> teacherMap = dataMap.get(tableName);
|
|
|
- //获取行政班
|
|
|
- tableName = "base_class";
|
|
|
- Map<String, Long> classMap = dataMap.get(tableName);
|
|
|
+ //获取学期
|
|
|
+ String tableName = "base_semester";
|
|
|
+ Map<String, Long> semesterMap = dataMap.get(tableName);
|
|
|
+ //获取课程
|
|
|
+ tableName = "base_course_subject";
|
|
|
+ Map<String, Long> courseMap = dataMap.get(tableName);
|
|
|
+ //获取教职工
|
|
|
+ tableName = "base_teacher";
|
|
|
+ Map<String, Long> teacherMap = dataMap.get(tableName);
|
|
|
+ //获取行政班
|
|
|
+ tableName = "base_class";
|
|
|
+ Map<String, Long> classMap = dataMap.get(tableName);
|
|
|
|
|
|
- tableName = "base_classroom";
|
|
|
- Map<String, Long> classroomMap = dataMap.get(tableName);
|
|
|
- dataUtil.insertCourseTable(use, scheduleInfo, classroomMap, courseMap, semesterMap, teacherMap, classMap);
|
|
|
+ tableName = "base_classroom";
|
|
|
+ Map<String, Long> classroomMap = dataMap.get(tableName);
|
|
|
+ dataUtil.insertCourseTable(use, scheduleInfo, classroomMap, courseMap, semesterMap, teacherMap, classMap);
|
|
|
+ dataUtil.insertClassTime(use, scheduleInfo);
|
|
|
+ } catch (SQLException e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- dataUtil.insertClassTime(use, scheduleInfo);
|
|
|
return RT.ok(courseReceiveMsg);
|
|
|
}
|
|
|
|