|
@@ -10,6 +10,7 @@ import com.xjrsoft.module.base.entity.BaseClass;
|
|
import com.xjrsoft.module.base.entity.BaseCourseSubject;
|
|
import com.xjrsoft.module.base.entity.BaseCourseSubject;
|
|
import com.xjrsoft.module.base.entity.BaseGrade;
|
|
import com.xjrsoft.module.base.entity.BaseGrade;
|
|
import com.xjrsoft.module.base.entity.BaseSemester;
|
|
import com.xjrsoft.module.base.entity.BaseSemester;
|
|
|
|
+import com.xjrsoft.module.organization.entity.Department;
|
|
import com.xjrsoft.module.schedule.vo.ClassroomJianyuekbVo;
|
|
import com.xjrsoft.module.schedule.vo.ClassroomJianyuekbVo;
|
|
import com.xjrsoft.module.schedule.vo.StudentJianyuekbVo;
|
|
import com.xjrsoft.module.schedule.vo.StudentJianyuekbVo;
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
import com.xjrsoft.module.teacher.entity.XjrUser;
|
|
@@ -184,7 +185,7 @@ public class DataUtil {
|
|
/**
|
|
/**
|
|
* 新增课程
|
|
* 新增课程
|
|
*/
|
|
*/
|
|
- public Map<Long, String> insertCourse(Db db, String tableName, Map<Long, String> ids) throws Exception {
|
|
|
|
|
|
+ public Map<Long, String> insertCourse(Db db, String tableName, Map<Long, String> ids, Map<Long, String> tagMap) throws Exception {
|
|
String sql = "select * from " + tableName + " where delete_mark = 0";
|
|
String sql = "select * from " + tableName + " where delete_mark = 0";
|
|
List<BaseCourseSubject> list = db.query(sql, BaseCourseSubject.class);
|
|
List<BaseCourseSubject> list = db.query(sql, BaseCourseSubject.class);
|
|
String url = ScheduleUtil.apiUrl + "courseclass/Create";
|
|
String url = ScheduleUtil.apiUrl + "courseclass/Create";
|
|
@@ -198,6 +199,12 @@ public class DataUtil {
|
|
paramJson.addProperty("name", courseSubject.getName() + courseSubject.getCode());
|
|
paramJson.addProperty("name", courseSubject.getName() + courseSubject.getCode());
|
|
paramJson.addProperty("code", courseSubject.getCode());
|
|
paramJson.addProperty("code", courseSubject.getCode());
|
|
paramJson.addProperty("extendId", courseSubject.getId().toString());
|
|
paramJson.addProperty("extendId", courseSubject.getId().toString());
|
|
|
|
+ if(tagMap.get(courseSubject.getOrgId()) != null){
|
|
|
|
+ JsonArray jsonArray = new JsonArray();
|
|
|
|
+ jsonArray.add(tagMap.get(courseSubject.getOrgId()));
|
|
|
|
+ paramJson.add("tagSerialNos", jsonArray);
|
|
|
|
+ }
|
|
|
|
+
|
|
//获取时间戳
|
|
//获取时间戳
|
|
long timestamp = System.currentTimeMillis();
|
|
long timestamp = System.currentTimeMillis();
|
|
//生成签名
|
|
//生成签名
|
|
@@ -268,6 +275,36 @@ public class DataUtil {
|
|
return idMap;
|
|
return idMap;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public Map<Long, String> insertTag(Db db, String tableName, Map<Long, String> ids) throws Exception {
|
|
|
|
+ String sql = "select * from " + tableName + " where delete_mark = 0" +
|
|
|
|
+ " and id in (select distinct org_id from base_course_subject where delete_mark = 0)";
|
|
|
|
+ List<Department> list = db.query(sql, Department.class);
|
|
|
|
+ String url = ScheduleUtil.apiUrl + "courseclass/tag/create";
|
|
|
|
+ JsonParser jsonParser = new JsonParser();
|
|
|
|
+ Map<Long, String> idMap = new HashMap<>();
|
|
|
|
+ for (Department department : list) {
|
|
|
|
+ if(ids != null && ids.get(department.getId()) != null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ JsonObject paramJson = new JsonObject();
|
|
|
|
+ paramJson.addProperty("name", department.getName());
|
|
|
|
+
|
|
|
|
+ //获取时间戳
|
|
|
|
+ long timestamp = System.currentTimeMillis();
|
|
|
|
+ //生成签名
|
|
|
|
+ String sign = ScheduleUtil.createSign(timestamp);
|
|
|
|
+
|
|
|
|
+ String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
|
|
|
|
+
|
|
|
|
+ JsonObject resultJson = jsonParser.parse(result).getAsJsonObject();
|
|
|
|
+
|
|
|
|
+ idMap.put(department.getId(), resultJson.get("data").getAsString());
|
|
|
|
+ }
|
|
|
|
+ //插入记录表
|
|
|
|
+ insertRecord(db, tableName, idMap);
|
|
|
|
+ return idMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 插入年级
|
|
* 插入年级
|
|
* @param db 数据库链接
|
|
* @param db 数据库链接
|
|
@@ -366,11 +403,11 @@ public class DataUtil {
|
|
return currentSemeterId;
|
|
return currentSemeterId;
|
|
}
|
|
}
|
|
|
|
|
|
- public Map<Long, JsonArray> getScheduleInfo(Map<String, Long> classMap, Date startDate, Date endDate) throws Exception {
|
|
|
|
|
|
+ public JsonArray getScheduleInfoByClass(Map<String, Long> classMap, Date startDate, Date endDate) throws Exception {
|
|
JsonParser jsonParser = new JsonParser();
|
|
JsonParser jsonParser = new JsonParser();
|
|
String url = ScheduleUtil.apiUrl + "TimeTable/List";
|
|
String url = ScheduleUtil.apiUrl + "TimeTable/List";
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
- Map<Long, JsonArray> dataMap = new HashMap<>();
|
|
|
|
|
|
+ JsonArray dataMap = new JsonArray();
|
|
for (String classId : classMap.keySet()) {
|
|
for (String classId : classMap.keySet()) {
|
|
//获取时间戳
|
|
//获取时间戳
|
|
long timestamp = System.currentTimeMillis();
|
|
long timestamp = System.currentTimeMillis();
|
|
@@ -383,11 +420,28 @@ public class DataUtil {
|
|
String result = ScheduleUtil.doPost(url, jsonObject.toString(), sign, timestamp);
|
|
String result = ScheduleUtil.doPost(url, jsonObject.toString(), sign, timestamp);
|
|
|
|
|
|
JsonObject asJsonObject = jsonParser.parse(result).getAsJsonObject();
|
|
JsonObject asJsonObject = jsonParser.parse(result).getAsJsonObject();
|
|
- dataMap.put(classMap.get(classId), asJsonObject.get("data").getAsJsonArray());
|
|
|
|
|
|
+ dataMap.addAll(asJsonObject.get("data").getAsJsonArray());
|
|
}
|
|
}
|
|
return dataMap;
|
|
return dataMap;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public JsonArray getScheduleInfoByGrade(String eduYearSerialNo, String startDate, String endDate) throws Exception {
|
|
|
|
+ JsonParser jsonParser = new JsonParser();
|
|
|
|
+ String url = ScheduleUtil.apiUrl + "TimeTable/List";
|
|
|
|
+ //获取时间戳
|
|
|
|
+ long timestamp = System.currentTimeMillis();
|
|
|
|
+ //生成签名
|
|
|
|
+ String sign = ScheduleUtil.createSign(timestamp);
|
|
|
|
+ JsonObject jsonObject = new JsonObject();
|
|
|
|
+ jsonObject.addProperty("eduYearSerialNo", eduYearSerialNo);
|
|
|
|
+ jsonObject.addProperty("startDate", startDate);
|
|
|
|
+ jsonObject.addProperty("endDate", endDate);
|
|
|
|
+ String result = ScheduleUtil.doPost(url, jsonObject.toString(), sign, timestamp);
|
|
|
|
+
|
|
|
|
+ JsonObject asJsonObject = jsonParser.parse(result).getAsJsonObject();
|
|
|
|
+ return asJsonObject.get("data").getAsJsonArray();
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
*
|
|
*
|
|
* @param db 数据库链接
|
|
* @param db 数据库链接
|
|
@@ -397,72 +451,71 @@ public class DataUtil {
|
|
* @param semesterMap 学期对应关系
|
|
* @param semesterMap 学期对应关系
|
|
* @param teacherMap 教师对应关系
|
|
* @param teacherMap 教师对应关系
|
|
*/
|
|
*/
|
|
- public void insertCourseTable(Db db, Map<Long, JsonArray> data, Map<String, Long> classroomMap, Map<String, Long> coureseMap,Map<String, Long> semesterMap, Map<String, Long> teacherMap) throws SQLException {
|
|
|
|
|
|
+ public void insertCourseTable(Db db, JsonArray data, Map<String, Long> classroomMap, Map<String, Long> coureseMap,
|
|
|
|
+ Map<String, Long> semesterMap, Map<String, Long> teacherMap, Map<String, Long> classMap) throws SQLException {
|
|
List<String> sqls = new ArrayList<>();
|
|
List<String> sqls = new ArrayList<>();
|
|
Map<Integer, String> week = ScheduleUtil.getWeek();
|
|
Map<Integer, String> week = ScheduleUtil.getWeek();
|
|
Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
|
|
Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
|
|
int count = 1;
|
|
int count = 1;
|
|
- for (Long classId : data.keySet()) {
|
|
|
|
- JsonArray jsonArray = data.get(classId);
|
|
|
|
- for (JsonElement jsonElement : jsonArray) {
|
|
|
|
- JsonObject asJsonObject = jsonElement.getAsJsonObject();
|
|
|
|
- long id = System.currentTimeMillis();
|
|
|
|
- JsonArray teachers = asJsonObject.get("teachers").getAsJsonArray();
|
|
|
|
-
|
|
|
|
- String numberOfDayName = asJsonObject.get("numberOfDayName").getAsString();
|
|
|
|
- Integer timeNumber = 0;//节次
|
|
|
|
- if(!StrUtil.isEmpty(numberOfDayName)){
|
|
|
|
- timeNumber = Integer.parseInt(numberOfDayName.substring(numberOfDayName.length() - 1));
|
|
|
|
- }
|
|
|
|
- String sql = "INSERT INTO course_table(id,base_semester_id,teacher_id,teacher_name,course_id,course_name," +
|
|
|
|
- "class_id, class_name,weeks,weeks_cn,time_period,time_number,site_id,site_name,status," +
|
|
|
|
- "create_date,jianyue_id) select " + id + String.format("%04d", count) + ","
|
|
|
|
- + semesterMap.get(asJsonObject.get("semesterSerialNo").getAsString()) + ",";
|
|
|
|
- if(teachers.size() > 0){
|
|
|
|
- JsonObject teacherJson = teachers.get(0).getAsJsonObject();
|
|
|
|
- sql += teacherMap.get(teacherJson.get("teacherSerialNo").getAsString()) + ","
|
|
|
|
- + "'" + teacherJson.get("name").getAsString() + "',";
|
|
|
|
- }else{
|
|
|
|
- sql += "0,'',";
|
|
|
|
- }
|
|
|
|
- sql += coureseMap.get(asJsonObject.get("courseClassId").getAsString()) + ","
|
|
|
|
- + "'" + asJsonObject.get("courseClassName").getAsString() + "',"
|
|
|
|
- + classId + ","
|
|
|
|
- + "'" + asJsonObject.get("className").getAsString() + "',"
|
|
|
|
- + asJsonObject.get("dayOfWeek").getAsInt() + ","
|
|
|
|
- + "'" + week.get(asJsonObject.get("dayOfWeek").getAsInt()) + "',"
|
|
|
|
- + tmePeriod.get(asJsonObject.get("timeOption").getAsInt()) + ","
|
|
|
|
- + timeNumber + ","
|
|
|
|
- + (classroomMap.get(asJsonObject.get("classRoomSerialNo").getAsString()) == null ? 0 : classroomMap.get(asJsonObject.get("classRoomSerialNo").getAsString())) + ","
|
|
|
|
- + "'" + asJsonObject.get("classRoomName").getAsString() + "',1,now(),"
|
|
|
|
- + "'" + asJsonObject.get("id").getAsString() + "' FROM DUAL"
|
|
|
|
- + " WHERE NOT EXISTS(SELECT * FROM course_table WHERE jianyue_id = '" + asJsonObject.get("id").getAsString() +"' )";
|
|
|
|
- sqls.add(sql);
|
|
|
|
- count ++;
|
|
|
|
|
|
+ for (JsonElement jsonElement : data) {
|
|
|
|
+ JsonObject asJsonObject = jsonElement.getAsJsonObject();
|
|
|
|
+ long id = System.currentTimeMillis();
|
|
|
|
+ JsonArray teachers = asJsonObject.get("teachers").getAsJsonArray();
|
|
|
|
+ if(coureseMap.get(asJsonObject.get("courseClassId").getAsString()) == null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ String numberOfDayName = asJsonObject.get("numberOfDayName").getAsString();
|
|
|
|
+ Integer timeNumber = 0;//节次
|
|
|
|
+ if(!StrUtil.isEmpty(numberOfDayName)){
|
|
|
|
+ timeNumber = Integer.parseInt(numberOfDayName.substring(numberOfDayName.length() - 1));
|
|
|
|
+ }
|
|
|
|
+ String sql = "INSERT INTO course_table(id,base_semester_id,teacher_id,teacher_name,course_id,course_name," +
|
|
|
|
+ "class_id, class_name,weeks,weeks_cn,time_period,time_number,site_id,site_name,status," +
|
|
|
|
+ "create_date,jianyue_id) select " + id + String.format("%04d", count) + ","
|
|
|
|
+ + semesterMap.get(asJsonObject.get("semesterSerialNo").getAsString()) + ",";
|
|
|
|
+ if(teachers.size() > 0){
|
|
|
|
+ JsonObject teacherJson = teachers.get(0).getAsJsonObject();
|
|
|
|
+ sql += teacherMap.get(teacherJson.get("teacherSerialNo").getAsString()) + ","
|
|
|
|
+ + "'" + teacherJson.get("name").getAsString() + "',";
|
|
|
|
+ }else{
|
|
|
|
+ sql += "0,'',";
|
|
}
|
|
}
|
|
- db.executeBatch(sqls);
|
|
|
|
|
|
+ sql += coureseMap.get(asJsonObject.get("courseClassId").getAsString()) + ","
|
|
|
|
+ + "'" + asJsonObject.get("courseClassName").getAsString() + "',"
|
|
|
|
+ + classMap.get(asJsonObject.get("classSerialNo").getAsString()) + ","
|
|
|
|
+ + "'" + asJsonObject.get("className").getAsString() + "',"
|
|
|
|
+ + asJsonObject.get("dayOfWeek").getAsInt() + ","
|
|
|
|
+ + "'" + week.get(asJsonObject.get("dayOfWeek").getAsInt()) + "',"
|
|
|
|
+ + tmePeriod.get(asJsonObject.get("timeOption").getAsInt()) + ","
|
|
|
|
+ + timeNumber + ","
|
|
|
|
+ + (classroomMap.get(asJsonObject.get("classRoomSerialNo").getAsString()) == null ? 0 : classroomMap.get(asJsonObject.get("classRoomSerialNo").getAsString())) + ","
|
|
|
|
+ + "'" + asJsonObject.get("classRoomName").getAsString() + "',1,now(),"
|
|
|
|
+ + "'" + asJsonObject.get("id").getAsString() + "' FROM DUAL"
|
|
|
|
+ + " WHERE NOT EXISTS(SELECT * FROM course_table WHERE jianyue_id = '" + asJsonObject.get("id").getAsString() +"' )";
|
|
|
|
+ sqls.add(sql);
|
|
|
|
+ count ++;
|
|
}
|
|
}
|
|
|
|
+ db.executeBatch(sqls);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 提取课时相关信息
|
|
* 提取课时相关信息
|
|
- * @param db
|
|
|
|
- * @param data
|
|
|
|
|
|
+ * @param db 数据库链接
|
|
|
|
+ * @param data 数据
|
|
|
|
+ *
|
|
*/
|
|
*/
|
|
- public void insertClassTime(Db db, Map<Long, JsonArray> data, BaseSemester baseSemester) throws SQLException {
|
|
|
|
|
|
+ public void insertClassTime(Db db, JsonArray data, BaseSemester baseSemester) throws SQLException {
|
|
|
|
|
|
Map<String, JsonObject> infoMap = new HashMap<>();
|
|
Map<String, JsonObject> infoMap = new HashMap<>();
|
|
Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
|
|
Map<Integer, Integer> tmePeriod = ScheduleUtil.getTmePeriod();
|
|
- for (JsonArray value : data.values()) {
|
|
|
|
- for (JsonElement jsonElement : value) {
|
|
|
|
- JsonObject asJsonObject = jsonElement.getAsJsonObject();
|
|
|
|
- String numberOfDayName = asJsonObject.get("numberOfDayName").getAsString();
|
|
|
|
- JsonObject json = new JsonObject();
|
|
|
|
- json.add("startTime", asJsonObject.get("startTime"));
|
|
|
|
- json.add("endTime", asJsonObject.get("endTime"));
|
|
|
|
- json.addProperty("tmePeriod", tmePeriod.get(asJsonObject.get("timeOption").getAsInt()));
|
|
|
|
- infoMap.put(numberOfDayName, json);
|
|
|
|
- }
|
|
|
|
|
|
+ for (JsonElement jsonElement : data) {
|
|
|
|
+ JsonObject asJsonObject = jsonElement.getAsJsonObject();
|
|
|
|
+ String numberOfDayName = asJsonObject.get("numberOfDayName").getAsString();
|
|
|
|
+ JsonObject json = new JsonObject();
|
|
|
|
+ json.add("startTime", asJsonObject.get("startTime"));
|
|
|
|
+ json.add("endTime", asJsonObject.get("endTime"));
|
|
|
|
+ json.addProperty("tmePeriod", tmePeriod.get(asJsonObject.get("timeOption").getAsInt()));
|
|
|
|
+ infoMap.put(numberOfDayName, json);
|
|
}
|
|
}
|
|
List<String> sqls = new ArrayList<>();
|
|
List<String> sqls = new ArrayList<>();
|
|
int count = 1;
|
|
int count = 1;
|