Browse Source

调整排课工具相关内容

dzx 1 year ago
parent
commit
5eb9dc770b

+ 1 - 1
src/main/java/com/xjrsoft/module/liteflow/node/WfCourseAdjustNode.java

@@ -11,7 +11,7 @@ import org.springframework.stereotype.Component;
 import java.util.Map;
 
 /**
- * 退书申请
+ * 调课规则
  */
 @Component("wf_course_adjust_node")
 public class WfCourseAdjustNode extends NodeComponent {

+ 1 - 1
src/main/java/com/xjrsoft/module/room/mapper/RoomMapper.java

@@ -28,7 +28,7 @@ public interface RoomMapper extends MPJBaseMapper<Room> {
      * @param dto
      * @return
      */
-    Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto);
+    Page<RoomPageVo> getPage(Page<RoomPageVo> page, RoomPageDto dto);
 
     List<RoomExcelVo> getList(@Param("dto") RoomPageDto dto);
     /**

+ 1 - 1
src/main/java/com/xjrsoft/module/room/service/IRoomService.java

@@ -25,7 +25,7 @@ public interface IRoomService extends MPJBaseService<Room> {
      * @param dto
      * @return
      */
-    Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto);
+    Page<RoomPageVo> getPage(Page<RoomPageVo> page, RoomPageDto dto);
 
     List<RoomExcelVo> getList(RoomPageDto dto);
 

+ 1 - 1
src/main/java/com/xjrsoft/module/room/service/impl/RoomServiceImpl.java

@@ -45,7 +45,7 @@ public class RoomServiceImpl extends MPJBaseServiceImpl<RoomMapper, Room> implem
     private final RoomRuleMapper roomRuleRoomRuleMapper;
     private final BaseOfficeBuildMapper baseOfficeBuildMapper;
     @Override
-    public Page<RoomPageVo> getPage(Page<RoomPageDto> page, RoomPageDto dto) {
+    public Page<RoomPageVo> getPage(Page<RoomPageVo> page, RoomPageDto dto) {
         Page<RoomPageVo> result = roomMapper.getPage(page, dto);
         return result;
     }

+ 11 - 4
src/main/java/com/xjrsoft/module/schedule/util/DataUtil.java

@@ -36,13 +36,11 @@ public class DataUtil {
     Map<Long, String> teacherMap, String semesterSerialNo, Map<Long, String> ids, Map<Long, String> classroomMap) throws Exception {
         String sql = "SELECT * FROM " + tableName + " WHERE delete_mark = 0";
         List<BaseClass> dataList = db.query(sql, BaseClass.class);
-        String url  = ScheduleUtil.apiUrl + "class/create";
+
         Map<Long, String> idMap = new HashMap<>();
         JsonParser jsonParser = new JsonParser();
         for (BaseClass baseClass : dataList) {
-            if(ids != null && ids.get(baseClass.getId()) != null){
-                continue;
-            }
+            String url  = ScheduleUtil.apiUrl + "class/create";
             JsonObject paramJson = new JsonObject();
             paramJson.addProperty("teacherSerialNo", teacherMap.get(baseClass.getTeacherId()));
             paramJson.addProperty("name", baseClass.getName());
@@ -51,6 +49,15 @@ public class DataUtil {
             paramJson.addProperty("eduYearSerialNo", gradeMap.get(baseClass.getGradeId()));
             paramJson.addProperty("extendId", baseClass.getId());
             paramJson.addProperty("classRoomSerialNo", classroomMap.get(baseClass.getClassroomId()));
+            if(ids != null && ids.get(baseClass.getId()) != null){
+                url  = ScheduleUtil.apiUrl + "class/update";
+                paramJson.addProperty("serialNo", ids.get(baseClass.getId()));
+                long timestamp = System.currentTimeMillis();
+                //生成签名
+                String sign = ScheduleUtil.createSign(timestamp);
+                String result = ScheduleUtil.doPost(url, paramJson.toString(), sign, timestamp);
+                continue;
+            }
 
             //获取时间戳
             long timestamp = System.currentTimeMillis();

+ 105 - 0
src/test/java/com/xjrsoft/module/job/JianyuekbBaseDataTaskTest.java

@@ -0,0 +1,105 @@
+package com.xjrsoft.module.job;
+
+import cn.hutool.db.Db;
+import cn.hutool.extra.spring.SpringUtil;
+import com.google.gson.JsonArray;
+import com.xjrsoft.XjrSoftApplication;
+import com.xjrsoft.common.constant.GlobalConstant;
+import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.module.schedule.entity.JianyueData;
+import com.xjrsoft.module.schedule.util.DataUtil;
+import org.junit.jupiter.api.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+/**
+ * @author dzx
+ * @date 2024/4/30
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = XjrSoftApplication.class)
+class JianyuekbBaseDataTaskTest {
+
+
+    @Test
+    public void RefreshConnectionPool() {
+        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+        try {
+            Db use = Db.use(datasource);
+            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<Long, String>> dataMap = new HashMap<>();
+            for (String table : tables) {
+                Map<Long, String> tableData = new HashMap<>();
+                for (JianyueData jianyueData : list) {
+                    if(!table.equals(jianyueData.getTableName())){
+                        continue;
+                    }
+                    tableData.put(jianyueData.getSourceId(), jianyueData.getJianyueId());
+                }
+                dataMap.put(table, tableData);
+            }
+            DataUtil dataUtil = new DataUtil();
+            //查询校区
+            JsonArray schoolDistrictData = dataUtil.getSchoolDistrictData();
+            //推送年级
+            String tableName = "base_grade";
+            Map<Long, String> grade = dataUtil.insertGrade(use, tableName, schoolDistrictData.get(0).getAsString(), dataMap.get(tableName));
+            if(grade.isEmpty() && dataMap.get(tableName) != null){
+                grade = dataMap.get(tableName);
+            }
+
+            //推送学期
+            tableName = "base_semester";
+            dataUtil.insertSemester(use, tableName, dataMap.get(tableName));
+            //推送标签
+            tableName = "base_label";
+            Map<Long, String> tagMap = dataUtil.insertCourseTag(use, tableName, dataMap.get(tableName));
+            if(tagMap.isEmpty() && dataMap.get(tableName) != null){
+                tagMap = dataMap.get(tableName);
+            }
+            //推送课程
+            tableName = "base_course_subject";
+            dataUtil.insertCourse(use, tableName, dataMap.get(tableName), tagMap);
+            //推送教职工
+            tableName = "base_teacher";
+            Map<Long, String> teacherMap = dataUtil.insertTeacher(use, tableName, dataMap.get(tableName));
+            if(teacherMap.isEmpty() && dataMap.get(tableName) != null){
+                teacherMap = dataMap.get(tableName);
+            }
+            //推送学生
+            tableName = "base_student";
+            dataUtil.insertStudent(use, tableName, grade, dataMap.get(tableName));
+            //推送教室
+            tableName = "base_classroom";
+            Map<Long, String> classroomMap = dataUtil.insertClassRoom(use, tableName, schoolDistrictData.get(0).getAsString(), dataMap.get(tableName));
+            if(classroomMap.isEmpty() && dataMap.get(tableName) != null){
+                classroomMap = dataMap.get(tableName);
+            }
+            //推送行政班,先查询当前学期id
+            String currenSemeter = dataUtil.getCurrenSemeter();
+            tableName = "base_class";
+            dataUtil.insertClass(use, tableName, grade, teacherMap, currenSemeter, dataMap.get(tableName), classroomMap);
+
+        } catch (Exception e) {
+        }
+    }
+
+}

+ 6 - 5
src/test/java/com/xjrsoft/xjrsoftboot/ScheduleFlowTest.java

@@ -31,6 +31,7 @@ import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 // 简约课表测试
 //@RunWith(SpringRunner.class)
@@ -94,17 +95,17 @@ public class ScheduleFlowTest {
         System.out.println("sign:" + sign);
 
         //查询校区id
-//        String schoolDistrictId = insertSchoolDistrictData(sign, timestamp);
-//        System.out.println("schoolDistrictId:" + schoolDistrictId);
-//        //新增年级,并返回添加好的年级id
-//        Map<Long, String> gradeMap = insertGrade(sign, timestamp, schoolDistrictId);
+        String schoolDistrictId = insertSchoolDistrictData(sign, timestamp);
+        System.out.println("schoolDistrictId:" + schoolDistrictId);
         //新增年级,并返回添加好的年级id
+//        Map<Long, String> gradeMap = insertGrade(sign, timestamp, schoolDistrictId);
+//        //新增年级,并返回添加好的年级id
 //        insertSemester(sign, timestamp);
 //        //新增课程
 //        insertCourse(sign, timestamp);
 //        //新增教师
 //        insertTeacher(sign, timestamp);
-
+//
 //        insertStudent(sign, timestamp, gradeMap);
 //
 //        insertClassRoom(sign, timestamp,schoolDistrictId);