Переглянути джерело

教师教材

tags/正式3.2.0
王宁 2 роки тому
джерело
коміт
cbc3e1a465

+ 1
- 1
gateway/src/main/java/com/xhkjedu/gateway/config/CorsConfig.java Переглянути файл

@@ -9,7 +9,7 @@ import org.springframework.web.util.pattern.PathPatternParser;
9 9
 
10 10
 /**
11 11
  * @ClassName CorsConfig
12
- * Description TODO
12
+ * Description 跨域
13 13
  * Author WN
14 14
  * Date 2022/2/23 17:00
15 15
  **/

+ 80
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/controller/subjectbook/TeacherSubjectbookController.java Переглянути файл

@@ -0,0 +1,80 @@
1
+package com.xhkjedu.sstudy.controller.subjectbook;
2
+
3
+import com.xhkjedu.sstudy.model.subjectbook.TSubjectBook;
4
+import com.xhkjedu.sstudy.model.subjectbook.TTeacherSubjectbook;
5
+import com.xhkjedu.sstudy.service.subjectbook.TeacherSubjectbookService;
6
+import com.xhkjedu.utils.N_Utils;
7
+import com.xhkjedu.vo.ResultVo;
8
+import com.xhkjedu.sstudy.vo.subjectbook.TeacherSClassVo;
9
+import com.xhkjedu.sstudy.vo.subjectbook.TeacherSubjectbookVo;
10
+import org.springframework.web.bind.annotation.PostMapping;
11
+import org.springframework.web.bind.annotation.RequestBody;
12
+import org.springframework.web.bind.annotation.RequestMapping;
13
+import org.springframework.web.bind.annotation.RestController;
14
+
15
+import javax.annotation.Resource;
16
+import java.util.List;
17
+
18
+/**
19
+ * @author ywx
20
+ * @classname TeacherSubjectbookController
21
+ * @description 
22
+ * @date 2020/6/5 15:38
23
+ **/
24
+@RestController
25
+@RequestMapping("/tsubjectbook")
26
+public class TeacherSubjectbookController {
27
+    @Resource
28
+    private TeacherSubjectbookService teacherSubjectbookService;
29
+
30
+    @PostMapping("/add")
31
+    public ResultVo add(@RequestBody TTeacherSubjectbook book) {
32
+        Integer id = teacherSubjectbookService.save(book);
33
+        return new ResultVo(0, "保存成功",id);
34
+    }
35
+
36
+    @PostMapping("/delete")
37
+    public ResultVo delete(@RequestBody TTeacherSubjectbook book) {
38
+        N_Utils.validation(new Object[]{book.getTbid(),"教师教材关系id",1});
39
+        teacherSubjectbookService.deleteById(book.getTbid());
40
+        return new ResultVo(0,"删除成功");
41
+    }
42
+
43
+    @PostMapping("/list")
44
+    public ResultVo list(@RequestBody TTeacherSubjectbook book) {
45
+        N_Utils.validation(new Object[]{book.getTeacherid(),"教师id",1});
46
+        List<TeacherSubjectbookVo> list = teacherSubjectbookService.findAll(book);
47
+        return new ResultVo(0,"获取列表成功",list);
48
+    }
49
+
50
+    @PostMapping("/update_selected")
51
+    public ResultVo updateSelected(@RequestBody TTeacherSubjectbook book) {
52
+        N_Utils.validation(new Object[]{book.getTbid(),"教师教材关系id",1});
53
+        teacherSubjectbookService.updateSelected(book.getTbid());
54
+        return new ResultVo(0,"更新教材是否选中成功");
55
+    }
56
+
57
+    @PostMapping("/list_stubook")
58
+    public ResultVo listStuBook(@RequestBody TSubjectBook book) {
59
+        String subjectid = book.getSubjectid();
60
+        Integer studentid = book.getCreateid();
61
+        N_Utils.validation(new Object[]{studentid,"学生id",1});
62
+        List<TeacherSubjectbookVo> list = teacherSubjectbookService.listStuBook(subjectid,studentid);
63
+        return new ResultVo(0,"获取学生教材列表成功",list);
64
+    }
65
+
66
+    @PostMapping("/list_book_class")
67
+    public ResultVo listBookClass(@RequestBody TTeacherSubjectbook book) {
68
+        Integer teacherid = book.getTeacherid();
69
+        N_Utils.validation(new Object[]{teacherid,"教师id",1});
70
+        TeacherSClassVo list = teacherSubjectbookService.listBookClass(teacherid, book.getClasstype());
71
+        return new ResultVo(0,"获取教师年级下班级列表成功",list);
72
+    }
73
+
74
+    @PostMapping("/list_subject_lsb")
75
+    public ResultVo listSubjectLsb(@RequestBody TTeacherSubjectbook book) {
76
+        N_Utils.validation(new Object[]{book.getTeacherid(),"教师id",1});
77
+        List<TeacherSubjectbookVo> list = teacherSubjectbookService.listSubjectLsb(book.getTeacherid());
78
+        return new ResultVo(0,"获取教师权限教材科目下所有教材列表成功",list);
79
+    }
80
+}

+ 40
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/mapper/subjectbook/TeacherSubjectbookMapper.java Переглянути файл

@@ -0,0 +1,40 @@
1
+package com.xhkjedu.sstudy.mapper.subjectbook;
2
+
3
+import com.xhkjedu.sstudy.base.TkMapper;
4
+import com.xhkjedu.sstudy.model.subjectbook.TTeacherSubjectbook;
5
+import com.xhkjedu.sstudy.vo.subjectbook.TeacherSClassVo;
6
+import com.xhkjedu.sstudy.vo.subjectbook.TeacherSubjectbookVo;
7
+import org.apache.ibatis.annotations.Param;
8
+import org.springframework.stereotype.Repository;
9
+
10
+import java.util.List;
11
+
12
+@Repository
13
+public interface TeacherSubjectbookMapper extends TkMapper<TTeacherSubjectbook> {
14
+    //列表
15
+    List<TeacherSubjectbookVo> findAll(@Param("book") TTeacherSubjectbook book);
16
+
17
+    //更改教师教材关系是否选中
18
+    void updateSelected(@Param("tbid") Integer tbid);
19
+
20
+    //用户id删除教材
21
+    void deleteByUserid(Integer userid);
22
+    //获取用户教材集合
23
+    List<String> listLsbsByUserid(Integer userid);
24
+
25
+    //根据教材id教师id获取教师教材关系信息
26
+    TTeacherSubjectbook getObjByLsbIdTeacherId(String lsbid, Integer teacherid);
27
+
28
+    //删除教师收藏教材
29
+    Integer deleteByLsbIdTeacherId(@Param("lsbids") List<String> lsbids, @Param("teacherid") Integer teacherid);
30
+
31
+    //学生教材列表
32
+    List<TeacherSubjectbookVo> listStuBook(@Param("subjectid") String subjectid
33
+            , @Param("year") Integer year, @Param("studentid") Integer studentid);
34
+
35
+    //获取教师年级下班级列表
36
+    TeacherSClassVo listBookClass(@Param("teacherid") Integer teacherid, @Param("year") Integer year, @Param("classtype") Integer classtype);
37
+
38
+    //获取教师权限教材科目下所有教材列表
39
+    List<TeacherSubjectbookVo> listSubjectLsb(@Param("teacherid") Integer teacherid);
40
+}

+ 39
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/model/subjectbook/TTeacherSubjectbook.java Переглянути файл

@@ -0,0 +1,39 @@
1
+package com.xhkjedu.sstudy.model.subjectbook;
2
+
3
+import com.xhkjedu.sstudy.model.BaseBean;
4
+import lombok.Data;
5
+
6
+import javax.persistence.Id;
7
+import javax.persistence.Table;
8
+import javax.persistence.Transient;
9
+
10
+@Table(name = "t_teacher_subjectbook")
11
+@Data
12
+public class TTeacherSubjectbook extends BaseBean {
13
+    //教师教材关系表
14
+    @Id
15
+    private Integer tbid;
16
+
17
+    //教师id
18
+    private Integer teacherid;
19
+
20
+    //教材关联关系表id
21
+    private String lsbid;
22
+
23
+    //是否选中:0未选中1已选中
24
+    private Integer selected;
25
+
26
+    //创建时间
27
+    private Integer createtime;
28
+
29
+    //学校id
30
+    private Integer schoolid;
31
+
32
+    @Transient
33
+    //科目id
34
+    private String subjectid;
35
+
36
+    @Transient
37
+    //班级类型1行政班2提高班3直播班99已直播班级
38
+    private Integer classtype;
39
+}

+ 138
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/service/subjectbook/TeacherSubjectbookService.java Переглянути файл

@@ -0,0 +1,138 @@
1
+package com.xhkjedu.sstudy.service.subjectbook;
2
+
3
+import com.xhkjedu.sstudy.mapper.subjectbook.TeacherSubjectbookMapper;
4
+import com.xhkjedu.sstudy.mapper.system.SchoolMapper;
5
+import com.xhkjedu.sstudy.model.subjectbook.TDirector;
6
+import com.xhkjedu.sstudy.model.subjectbook.TTeacherSubjectbook;
7
+import com.xhkjedu.utils.N_Utils;
8
+import com.xhkjedu.sstudy.vo.subjectbook.TeacherSClassVo;
9
+import com.xhkjedu.sstudy.vo.subjectbook.TeacherSubjectbookVo;
10
+import org.springframework.beans.factory.annotation.Autowired;
11
+import org.springframework.stereotype.Service;
12
+
13
+import javax.annotation.Resource;
14
+import java.util.List;
15
+
16
+/**
17
+ * @author ywx
18
+ * @classname TeacherSubjectbookService
19
+ * @description 
20
+ * @date 2020/6/5 15:41
21
+ **/
22
+@Service
23
+public class TeacherSubjectbookService {
24
+    @Resource
25
+    private TeacherSubjectbookMapper teacherSubjectbookMapper;
26
+    @Autowired
27
+    private DirectorService directorService;
28
+    @Resource
29
+    private SchoolMapper schoolMapper;
30
+
31
+    //添加
32
+    public Integer save(TTeacherSubjectbook model) {
33
+        TTeacherSubjectbook sb = getObjByLsbIdTeacherId(model.getLsbid(), model.getTeacherid());
34
+        Integer tbid = sb == null ? null : sb.getTbid();
35
+        if (sb == null) {
36
+            model.setSelected(1);
37
+            model.setCreatetime(N_Utils.getSecondTimestamp());
38
+            teacherSubjectbookMapper.insertUseGeneratedKeys(model);
39
+            tbid = model.getId();
40
+            updateSelected(tbid);//更改教师教材关系是否选中
41
+
42
+            //教师收藏教材下的章节数量
43
+            Integer directorNum = directorService.countByTeacherIdLsbId(model.getTeacherid(), model.getLsbid());
44
+            if (directorNum == 0) {
45
+                //初始化章节
46
+                TDirector director = new TDirector();
47
+                director.setLsbid(model.getLsbid());
48
+                director.setBelong(3);
49
+                director.setSchoolid(model.getSchoolid());
50
+                List<TDirector> directors = directorService.lisTDirectors(director);
51
+                Integer schoolid = model.getSchoolid();
52
+                Integer teacherid = model.getTeacherid();
53
+                for (TDirector d : directors) {
54
+                    d.setBelong(4);
55
+                    d.setCreateid(teacherid);
56
+                    d.setSchoolid(schoolid);
57
+                    d.setCreatetime(N_Utils.getSecondTimestamp());
58
+                    String directorid = directorService.addAndReturnKey(d);
59
+                    d.setDirectorid(directorid);
60
+                    saveDirectorChild(d);//保存子章节信息
61
+                }
62
+            }
63
+        } else if(sb.getSelected() == 0) {
64
+            updateSelected(tbid);//更改教师教材关系是否选中
65
+        }
66
+        return tbid;
67
+    }
68
+
69
+    /**
70
+     * 保存子章节信息
71
+     * @Param [d]
72
+     * @Author ywx
73
+     * @Date 2020/7/6 15:14
74
+     * @return void
75
+     **/
76
+    private void saveDirectorChild(TDirector d) {
77
+        String directorid;
78
+        List<TDirector> childDirectors = d.getChildren();
79
+        if (N_Utils.isListNotEmpty(childDirectors)) {
80
+            for (TDirector d2 : childDirectors) {
81
+                d2.setDirectorpid(d.getDirectorid());
82
+                d2.setBelong(4);
83
+                d2.setCreateid(d.getCreateid());
84
+                d2.setSchoolid(d.getSchoolid());
85
+                d2.setCreatetime(N_Utils.getSecondTimestamp());
86
+                directorid = directorService.addAndReturnKey(d2);
87
+                d2.setDirectorid(directorid);
88
+                if (N_Utils.isListNotEmpty(d2.getChildren())) {
89
+                    saveDirectorChild(d2);
90
+                }
91
+            }
92
+        }
93
+    }
94
+
95
+    /**
96
+     * 根据教材id教师id获取教师教材关系信息
97
+     * @Param [lsbid, teacherid]
98
+     * @Author ywx
99
+     * @Date 2020/7/1 11:31
100
+     * @return com.xhkjedu.model.subjectbook.TTeacherSubjectbook
101
+     **/
102
+    private TTeacherSubjectbook getObjByLsbIdTeacherId(String lsbid, Integer teacherid) {
103
+        return teacherSubjectbookMapper.getObjByLsbIdTeacherId(lsbid, teacherid);
104
+    }
105
+
106
+    //删除
107
+    public Integer deleteById(Integer tbid) {
108
+        return teacherSubjectbookMapper.deleteByPrimaryKey(tbid);
109
+    }
110
+
111
+    //获取列表
112
+    public List <TeacherSubjectbookVo> findAll(TTeacherSubjectbook book) {
113
+        return teacherSubjectbookMapper.findAll(book);
114
+    }
115
+
116
+    //更改教师教材关系是否选中
117
+    public void updateSelected(Integer tbid) {
118
+        teacherSubjectbookMapper.updateSelected(tbid);
119
+    }
120
+
121
+    //学生教材列表
122
+    public List<TeacherSubjectbookVo> listStuBook(String subjectid, Integer studentid) {
123
+        Integer year = schoolMapper.getYearByUserId(studentid);
124
+        return teacherSubjectbookMapper.listStuBook(subjectid,year,studentid);
125
+    }
126
+
127
+    //获取教师年级下班级列表
128
+    public TeacherSClassVo listBookClass(Integer teacherid, Integer classtype) {
129
+        Integer year = schoolMapper.getYearByUserId(teacherid);
130
+        TeacherSClassVo list = teacherSubjectbookMapper.listBookClass(teacherid, year, classtype);
131
+        return list;
132
+    }
133
+
134
+    //获取教师权限教材科目下所有教材列表
135
+    public List<TeacherSubjectbookVo> listSubjectLsb(Integer teacherid) {
136
+        return teacherSubjectbookMapper.listSubjectLsb(teacherid);
137
+    }
138
+}

+ 19
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/vo/subjectbook/TeacherClassVo.java Переглянути файл

@@ -0,0 +1,19 @@
1
+package com.xhkjedu.sstudy.vo.subjectbook;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * @author ywx
7
+ * @classname TeacherClassVo
8
+ * @description
9
+ * @date 2021/1/29 16:49
10
+ **/
11
+@Data
12
+public class TeacherClassVo {
13
+    //班级id
14
+    private Integer classid;
15
+
16
+    //班级名称
17
+    private String classname;
18
+
19
+}

+ 27
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/vo/subjectbook/TeacherSClassVo.java Переглянути файл

@@ -0,0 +1,27 @@
1
+package com.xhkjedu.sstudy.vo.subjectbook;
2
+
3
+import lombok.Data;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * @author ywx
9
+ * @classname TeacherSClassVo
10
+ * @description
11
+ * @date 2021/1/29 16:43
12
+ **/
13
+@Data
14
+public class TeacherSClassVo {
15
+    //科目id
16
+    private String subjectid;
17
+
18
+    //年级id
19
+    private Integer gradeid;
20
+
21
+    //教材列表
22
+    private List<LsbBookVo> books;
23
+
24
+    //班级列表
25
+    private List<TeacherClassVo> classes;
26
+
27
+}

+ 40
- 0
sstudy/src/main/java/com/xhkjedu/sstudy/vo/subjectbook/TeacherSubjectbookVo.java Переглянути файл

@@ -0,0 +1,40 @@
1
+package com.xhkjedu.sstudy.vo.subjectbook;
2
+
3
+import lombok.Data;
4
+
5
+/**
6
+ * @author ywx
7
+ * @classname TeacherSubjectbookVo
8
+ * @description 
9
+ * @date 2020/6/5 15:52
10
+ **/
11
+@Data
12
+public class TeacherSubjectbookVo {
13
+
14
+    //教师教材关系id
15
+    private Integer tbid;
16
+
17
+    //教材关联关系表id
18
+    private String lsbid;
19
+
20
+    //是否选中:0未选中1已选中
21
+    private Integer selected;
22
+
23
+    //科目id
24
+    private String subjectid;
25
+
26
+    //科目名称
27
+    private String subjectname;
28
+
29
+    //教材名称
30
+    private String lsbname;
31
+
32
+    private String coverpath;//封面图地址
33
+
34
+    //版本id
35
+    private String versionid;
36
+
37
+    //版本名称
38
+    private String versionname;
39
+
40
+}

+ 100
- 0
sstudy/src/main/resources/mapper/subjectbook/TeacherSubjectBookMapper.xml Переглянути файл

@@ -0,0 +1,100 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.xhkjedu.sstudy.mapper.subjectbook.TeacherSubjectbookMapper">
4
+    <!--列表-->
5
+    <select id="findAll" resultType="com.xhkjedu.sstudy.vo.subjectbook.TeacherSubjectbookVo">
6
+        SELECT ts.tbid,ts.lsbid,ts.selected,sb.subjectid,s.subjectname,sb.lsbname,sb.coverpath,v.versionname
7
+        FROM t_teacher_subjectbook ts
8
+        left join t_subject_book sb on sb.lsbid=ts.lsbid
9
+        LEFT JOIN t_subject s ON sb.subjectid=s.subjectid
10
+        LEFT JOIN t_version v ON sb.versionid=v.versionid
11
+        WHERE ts.teacherid=#{book.teacherid} and (sb.belong=1 or sb.schoolid=ts.schoolid)
12
+        <if test="book.subjectid!=null and book.subjectid!='0'.toString() and book.subjectid!=''">
13
+            and sb.subjectid=#{book.subjectid}
14
+        </if>
15
+        ORDER BY sb.level ASC,s.subjectorder ASC,v.versionorder,sb.lsborder
16
+    </select>
17
+    <!--学生教材列表-->
18
+    <select id="listStuBook" resultType="com.xhkjedu.sstudy.vo.subjectbook.TeacherSubjectbookVo">
19
+        select sb.lsbid,sb.subjectid,s.subjectname,sb.lsbname,sb.coverpath,v.versionname
20
+        from t_class_student cs left join t_class c on cs.classid=c.classid
21
+        left join t_class_teacher ct on ct.classid=cs.classid
22
+        left join t_teacher_subjectbook ts on ts.teacherid=ct.teacherid
23
+        left join t_subject_book sb on sb.lsbid=ts.lsbid
24
+        left join t_subject s on sb.subjectid=s.subjectid
25
+        left join t_version v on sb.versionid=v.versionid
26
+        where c.year=#{year} and c.classstate=1 and cs.studentid=#{studentid}
27
+        and (sb.belong=1 or sb.schoolid=cs.schoolid)
28
+        <if test="subjectid!=null and subjectid!='0'.toString() and subjectid!=''">
29
+            and sb.subjectid=#{subjectid}
30
+        </if>
31
+        group by sb.lsbid order by sb.level,s.subjectorder,v.versionorder,sb.lsborder
32
+    </select>
33
+    <!--获取教师年级下班级列表-->
34
+    <resultMap id="bookClassMap" type="com.xhkjedu.sstudy.vo.subjectbook.TeacherSClassVo">
35
+        <result property="subjectid" column="subjectid"></result>
36
+        <result property="gradeid" column="gradeid"></result>
37
+        <collection property="classes" column="{teacherid=teacherid,year=year,gradeid=gradeid,classtype=classtype}" select="listClass"></collection>
38
+    </resultMap>
39
+    <select id="listClass" resultType="com.xhkjedu.sstudy.vo.subjectbook.TeacherClassVo">
40
+        select c.classid,c.classname
41
+        from t_class_teacher ct left join t_class c on ct.classid=c.classid
42
+        where ct.teacherid=#{teacherid} and c.year=#{year} and c.classstate=1 and c.gradeid=#{gradeid}
43
+        <if test="classtype!=null and classtype!=0">
44
+            <if test="classtype!=11">and c.classtype=#{classtype}</if>
45
+            <if test="classtype==11">and c.classtype in(1,2)</if>
46
+        </if>
47
+        <if test="classtype==null or classtype==0">
48
+            and c.classtype in(1,2)
49
+        </if>
50
+    </select>
51
+    <select id="listBookClass" resultMap="bookClassMap">
52
+        select sb.subjectid,#{year} year,tp.teacherid,#{classtype} classtype
53
+        ,(select c.gradeid from t_class_teacher ct left join t_class c on ct.classid = c.classid
54
+        where ct.teacherid=#{teacherid} and c.classtype in(1,2) and c.classstate=1 and c.year=#{year} limit 1)gradeid
55
+        from t_teacher_powersb tp left join t_subject_book sb on tp.lsbid = sb.lsbid
56
+        where tp.teacherid=#{teacherid} and (sb.belong=1 or sb.schoolid=tp.schoolid)
57
+        group by sb.subjectid limit 1
58
+    </select>
59
+    <!--更改教师教材关系是否选中-->
60
+    <update id="updateSelected">
61
+        update t_teacher_subjectbook ts
62
+        left join t_teacher_subjectbook ts2 on ts2.teacherid=ts.teacherid
63
+        set ts.selected=1,ts2.selected=0
64
+        where ts.tbid=#{tbid} and ts2.tbid!=ts.tbid
65
+    </update>
66
+
67
+    <!-- 根据用户id删除用户教材 -->
68
+    <delete id="deleteByUserid">
69
+        delete from t_teacher_subjectbook where teacherid=#{userid}
70
+    </delete>
71
+    <!-- 用户id获取教材集合 -->
72
+    <select id="listLsbsByUserid" resultType="java.lang.String">
73
+        SELECT lsbid FROM t_teacher_subjectbook WHERE teacherid=#{userid}
74
+    </select>
75
+    <!--根据教材id教师id获取教师教材关系信息-->
76
+    <select id="getObjByLsbIdTeacherId" resultType="com.xhkjedu.sstudy.model.subjectbook.TTeacherSubjectbook">
77
+        SELECT * FROM t_teacher_subjectbook WHERE lsbid=#{lsbid} and teacherid=#{teacherid} limit 1
78
+    </select>
79
+    <!--删除教师收藏教材-->
80
+    <delete id="deleteByLsbIdTeacherId">
81
+        delete from t_teacher_subjectbook
82
+        where teacherid=#{teacherid} and (
83
+        <foreach collection="lsbids" item="lsbid" separator="or">
84
+            lsbid=#{lsbid}
85
+        </foreach>
86
+        )
87
+    </delete>
88
+    <!--获取教师权限教材科目下所有教材列表-->
89
+    <select id="listSubjectLsb" resultType="com.xhkjedu.sstudy.vo.subjectbook.TeacherSubjectbookVo">
90
+        SELECT sb.lsbid,sb.subjectid,s.subjectname,sb.lsbname,sb.coverpath,sb.versionid,v.versionname
91
+        FROM t_teacher_powersb ts
92
+        left join t_subject_book sb2 on sb2.lsbid=ts.lsbid
93
+        left join t_subject_book sb on sb.subjectid=sb2.subjectid
94
+        LEFT JOIN t_subject s ON sb.subjectid=s.subjectid
95
+        LEFT JOIN t_version v ON sb.versionid=v.versionid
96
+        WHERE ts.teacherid=#{teacherid} and (sb.belong=1 or sb.schoolid=ts.schoolid)
97
+        group by sb.lsbid
98
+        ORDER BY sb.level ASC,s.subjectorder ASC,v.versionorder,sb.lsborder
99
+    </select>
100
+</mapper>

Завантаження…
Відмінити
Зберегти