cuijian
2023-08-19 bdd0875d4b13a3f1ef472f64d4b6a95e0ef64b22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.MaterialCategoryMapper">
 
    <select id="getMaterialCategoryListByIds" resultType="java.util.Map">
        select t1.id             id,
               t1.code           code,
               t1.name           name,
               t1.version        version,
               t1.create_by      createBy,
               t1.create_time    createTime,
               t1.update_by      updateBy,
               t1.update_time    updateTime,
               t1.remark         remark,
               t2.name           parentName,
               t3.version_status versionStatus
        from mom_base_material_category t1
                 left join (select * from mom_sys_data_version where del_flag = 0) t3 on t1.data_version_id = t3.id
                 left join (select * from mom_base_material_category where del_flag = 0) t2 on t1.parent_id = t2.id
        where t1.id in
              (
                  select id
                  from (
                           select t4.id,
                                  if(find_in_set(parent_id, @pids) > 0, @pids := concat(@pids, ',', id), -1) as ischild
                           from (
                                    select id, parent_id
                                    from mom_base_material_category
                                    where del_flag = 0
                                ) t4,
                                (select @pids := #{parentId}) t5
                       ) t6
                  where ischild
            != -1)
        and t1.version = #{version}
          and t1.del_flag = 0
    </select>
 
    <select id="getAllVersion" resultType="Integer">
        select version
        from mom_base_material_category
        where del_flag = 0;
    </select>
    <select id="getMaterialCategoryVersionTree" resultType="org.jeecg.common.system.vo.SelectTreeModel">
        select id        as "key",
               name      as "title",
               parent_id as parentId,
               code as value
        from mom_base_material_category
        where parent_id = #{pid}
          and version=#{version}
          and del_flag=0
    </select>
    <select id="getUsableVersion" resultType="java.lang.Integer">
        SELECT t1.version usableVersion
        FROM mom_base_material_category t1
                 LEFT JOIN (SELECT * FROM mom_sys_data_version WHERE business_type = '物料分类' AND del_flag = 0) t2
                           ON t1.data_version_id = t2.id
        WHERE t2.version_status = '2'
          AND t1.del_flag = 0
    </select>
 
    <select id="getUsableIdList" resultType="java.lang.String">
        select business_id as id
        from mom_sys_data_version
        where business_type = '物料分类'
          and version_status = '2'
          and del_flag = 0
    </select>
 
    <select id="getUsableList" resultType="org.jeecg.modules.base.entity.MaterialCategory">
        select t1.id              id,
               t1.code            code,
               t1.name            name,
               t1.parent_id       parentId,
               t1.remark          remark,
               t1.version         version,
               t1.data_version_id dataVersionId,
               t1.create_by       createBy,
               t1.create_time     createTime,
               t1.update_by       updateBy,
               t1.update_time     updateTime
        from mom_base_material_category t1
                 left join (select * from mom_sys_data_version where business_type = '物料分类' and del_flag = 0) t2
                           on t1.data_version_id = t2.id
        where t2.version_status = '2'
          and t1.del_flag = 0
    </select>
    <select id="getLastUsableList" resultType="org.jeecg.modules.base.entity.MaterialCategory">
        select t1.id              id,
               t1.code            code,
               t1.name            name,
               t1.parent_id       parentId,
               t1.remark          remark,
               t1.version         version,
               t1.data_version_id dataVersionId,
               #t1.status         status,
               t1.create_by       createBy,
               t1.create_time     createTime,
               t1.update_by       updateBy,
               t1.update_time     updateTime
        from mom_base_material_category t1
                 left join
             (select * from mom_sys_data_version where business_type = '物料分类' and del_flag = 0) t2
             on t1.data_version_id = t2.id
        where t1.del_flag = 0
          and t2.is_last_usable = '1'
    </select>
</mapper>