소스 검색

1、sql脚本调整
2、教材管理导入脚本

dzx 1 년 전
부모
커밋
d8aaa87f6d
2개의 변경된 파일157개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/main/resources/sqlScript/20240112_sql.sql
  2. 156 0
      src/test/java/com/xjrsoft/xjrsoftboot/TextBookTest.java

+ 1 - 1
src/main/resources/sqlScript/20240112_sql.sql

@@ -131,7 +131,7 @@ CREATE TABLE evaluate_executer
     `user_id` BIGINT NULL DEFAULT NULL COMMENT '参加评价的人id',
     PRIMARY KEY (`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT '评价执行人';
-ALTER TABLE `tl`.`evaluate_executer`
+ALTER TABLE `evaluate_executer`
     ADD COLUMN `status` INT DEFAULT 0  NULL   COMMENT '状态(1:已评分,0:未评分)' AFTER `user_id`;
 
 -- ----------------------------

+ 156 - 0
src/test/java/com/xjrsoft/xjrsoftboot/TextBookTest.java

@@ -0,0 +1,156 @@
+package com.xjrsoft.xjrsoftboot;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.db.Db;
+import cn.hutool.db.Entity;
+import com.alibaba.excel.EasyExcel;
+import com.xjrsoft.XjrSoftApplication;
+import com.xjrsoft.common.constant.GlobalConstant;
+import com.xjrsoft.common.utils.DatasourceUtil;
+import com.xjrsoft.module.base.entity.BaseClass;
+import com.xjrsoft.module.base.entity.BaseCourseSubject;
+import com.xjrsoft.module.base.entity.BaseGrade;
+import com.xjrsoft.module.base.entity.BaseSemester;
+import com.xjrsoft.module.courseTable.service.ICourseTableService;
+import com.xjrsoft.module.textbook.entity.SubjectGroup;
+import com.xjrsoft.module.textbook.entity.Textbook;
+import com.xjrsoft.module.textbook.entity.TextbookClassRelation;
+import com.xjrsoft.module.textbook.service.ITextbookService;
+import com.yomahub.liteflow.util.JsonUtil;
+import org.junit.jupiter.api.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.sql.DataSource;
+import java.io.File;
+import java.math.BigDecimal;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author dzx
+ * @date 2024/2/17
+ */
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = XjrSoftApplication.class)
+public class TextBookTest {
+    @Autowired
+    private ITextbookService textbookService;
+    @Test
+    void test() throws SQLException {
+        String filePath = "D:\\workspace\\其他\\教材管理\\副本2024年春期教材征订表(2024.1.22)交书店改.xlsx";
+        File file = new File(filePath);
+        List<Map<Integer, Object>> excelDataList = EasyExcel.read(file).sheet().headRowNumber(1).doReadSync();
+        DataSource datasource = DatasourceUtil.getDataSource(GlobalConstant.DEFAULT_DATASOURCE_KEY);
+        Db use = Db.use(datasource);
+
+        // 班级
+        String sql = "SELECT * FROM base_class WHERE delete_mark = 0";
+        List<BaseClass> classList = use.query(sql, BaseClass.class);
+        Map<String, Long> classMap = new HashMap<>();
+        for (BaseClass baseClass : classList) {
+            classMap.put(baseClass.getName(), baseClass.getId());
+        }
+
+        //学科组
+        sql = "SELECT * FROM subject_group WHERE delete_mark = 0";
+        List<SubjectGroup> subjectGroupList = use.query(sql, SubjectGroup.class);
+        Map<String, Long> subjectGroupMap = new HashMap<>();
+        for (SubjectGroup el : subjectGroupList) {
+            subjectGroupMap.put(el.getGroupName(), el.getId());
+        }
+
+        //课程 base_course_subject
+        sql = "SELECT * FROM base_course_subject WHERE delete_mark = 0";
+        List<BaseCourseSubject> courseSubjectList = use.query(sql, BaseCourseSubject.class);
+        Map<String, Long> courseSubjectMap = new HashMap<>();
+        for (BaseCourseSubject el : courseSubjectList) {
+            courseSubjectMap.put(el.getName(), el.getId());
+        }
+
+        //年级
+        sql = "SELECT * FROM base_grade WHERE delete_mark = 0";
+        List<BaseGrade> gaseGradeList = use.query(sql, BaseGrade.class);
+        Map<String, Long> gaseGradeMap = new HashMap<>();
+        for (BaseGrade el : gaseGradeList) {
+            gaseGradeMap.put(el.getName(), el.getId());
+        }
+
+        //学期
+        sql = "SELECT * FROM base_semester WHERE delete_mark = 0";
+        List<BaseSemester> baseSemesterList = use.query(sql, BaseSemester.class);
+        Map<String, Long> baseSemesterMap = new HashMap<>();
+        for (BaseSemester el : baseSemesterList) {
+            baseSemesterMap.put(el.getName(), el.getId());
+        }
+
+        Long id = 1758702787978899458L;
+        Long createUserId = 1000000000000000000L;
+        Date date = new Date();
+        for (Map<Integer, Object> dataMap : excelDataList) {
+            System.out.println(dataMap.toString());
+            Textbook textbook = new Textbook();
+//            textbook.setId(Long.parseLong(dataMap.get(1).toString()));
+            textbook.setIssn(dataMap.get(2).toString());
+            textbook.setBookName(dataMap.get(3).toString());
+            textbook.setTextbookType(dataMap.get(5).toString());
+            textbook.setPublishingHouse(dataMap.get(6).toString());
+            if(dataMap.get(7) != null){
+                textbook.setEditorInChief(dataMap.get(7).toString());
+            }
+
+            if(dataMap.get(8) != null){
+                textbook.setPrice(BigDecimal.valueOf(Double.valueOf(dataMap.get(8).toString())));
+            }
+
+            Object yesno = dataMap.get(9);
+            if(yesno != null){
+                textbook.setIsTextbookPlan(yesno.toString());
+            }
+            if(dataMap.get(13) != null){
+                textbook.setSubjectGroupId(subjectGroupMap.get(dataMap.get(13).toString()));
+            }
+            if(dataMap.get(11) != null){
+                textbook.setGradeId(gaseGradeMap.get(dataMap.get(11).toString()));
+            }
+
+            textbook.setBaseSemesterId(1754815042567057408L);
+            if(dataMap.get(10) != null){
+                textbook.setCourseSubjectId(courseSubjectMap.get(dataMap.get(10).toString()));
+            }
+
+            textbook.setCreateUserId(createUserId);
+            textbook.setCreateDate(date);
+            textbook.setDeleteMark(0);
+            textbook.setEnabledMark(1);
+
+            Object classObj = dataMap.get(12);
+            List<TextbookClassRelation> relationList = new ArrayList<>();
+            if(classObj != null){
+                String[] classNames = classObj.toString().split("、");
+
+                for (String className : classNames) {
+                    TextbookClassRelation classRelation = new TextbookClassRelation();
+                    classRelation.setCreateDate(date);
+                    classRelation.setCreateUserId(createUserId);
+                    classRelation.setDeleteMark(0);
+                    classRelation.setEnabledMark(1);
+                    classRelation.setClassId(classMap.get(className));
+                    relationList.add(classRelation);
+                }
+
+            }
+            textbook.setTextbookClassRelationList(relationList);
+            textbookService.add(textbook);
+
+        }
+    }
+}
+