P15GEN2\59518
2024-05-29 d4210c7c4b04abde20037ea8aa0f54ef8a2649aa
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<?xml version="1.0" encoding="UTF-8" ?>
    
<sqls>
    <dataSpace name="system">
    
        <sql name="addOperatorLog">
            <![CDATA[
                 insert into sys_operate_log (id, user_name, operate_type, operate_url)
                 values ('@{id}', '@{user_name}', '@{operate_type}', '@{operate_url}')
            ]]>    
        </sql>    
    
        <sql name="getMenu">
            <![CDATA[
                 select sys_menu.*, sys_page.url
                 from sys_menu 
                 left join sys_page on sys_menu.page_id = sys_page.id
                 order by sys_menu.parent_id, sys_menu.order_no
            ]]>    
        </sql>
            
        <sql name="getRoleMenu">
            <![CDATA[
                 select sys_right_role_page.*, sys_menu.id AS menu_id, sys_menu.parent_id, sys_menu.title,
                        sys_menu.icon, sys_menu.order_no
                 from sys_right_role_page 
                 left join sys_menu on sys_right_role_page.page_id = sys_menu.page_id
                 where is_active = 'T' and sys_menu.id is not null and @{filter}
                 order by sys_right_role_page.role_id, sys_menu.parent_id, sys_menu.order_no    
            ]]>    
        </sql>
        
        <sql name="getPageByRole">
            <![CDATA[
                 select sys_menu.*
                 from sys_right_role_page 
                 left join sys_menu on sys_right_role_page.page_id = sys_menu.page_id
                 where is_active = 'T' and @{filter} 
                 order by sys_right_role_page.role_code, sys_menu.orderno, sys_menu.index_no
                 @{limit}
            ]]>    
        </sql>
        
        <sql name="getRolePageTab">
            <![CDATA[
                SELECT
                    sys_page_tab.id as tab_id, sys_page_tab.idx, sys_page_tab.page_id, 
                    sys_page_tab.code, sys_page_tab.name, sys_page_tab.title,
                    sys_page_tab.url, sys_page_tab.index_no,                    
                    sys_right_role_page_tab.role_code, sys_right_role_page_tab.is_visible, 
                    sys_right_role_page_tab.menu_id, sys_right_role_page_tab.is_active
                FROM
                    sys_page_tab
                    inner join sys_right_role_page_tab on sys_right_role_page_tab.tab_id = sys_page_tab.id 
                where @{filter}
                ORDER BY
                    role_code,
                    sys_right_role_page_tab.page_id,
                    sys_page_tab.index_no
            ]]>    
        </sql>                
        
        <sql name="getRolePageButton">
            <![CDATA[
                SELECT
                    sys_right_role_page_button.*,
                    sys_page_button.CODE 
                FROM
                    sys_right_role_page_button
                    inner join sys_page_button ON sys_right_role_page_button.button_id = sys_page_button.id 
                where @{filter}
                ORDER BY
                    role_code,
                    sys_right_role_page_button.page_id,
                    sys_page_button.index_no
            ]]>    
        </sql>
        
        <sql name="getOrgPositionEmployee">
            <![CDATA[
                select * from md_position_employee where exists (
                    select 1 from md_employee 
                    where md_employee.org_id = '@{org_id}' 
                        and md_employee.id = md_position_employee.employee_id
                )
            ]]>    
        </sql>
        
        <sql name="getActorBranch">
            <![CDATA[
                select sys_right_actor_branch.*, md_org.name as org_name, md_org.short_name as org_short_name,
                    md_bu.name as bu_name
                from sys_right_actor_branch 
                left join md_org on md_org.id = sys_right_actor_branch.org_id
                left join md_bu on md_bu.id = sys_right_actor_branch.bu_id
            ]]>    
        </sql>        
                
        <sql name="getOrgPositionActor">
            <![CDATA[
                select * from sys_right_actor_target where type_code = 'Position' and exists (
                    select 1 from md_position 
                    where (md_position.company_id = '@{company_id}' or exists (
                        select 1 from md_bu_org 
                        where md_bu_org.company_id = '@{company_id}'
                            and md_bu_org.bu_id = md_position.bu_id
                    ))
                    and md_position.id = sys_right_actor_target.target_id
                )
            ]]>    
        </sql>        
        
        
        <sql name="getSendConfigDetail">
        <![CDATA[
            select  detail.* ,type,name,account,`password`  from sys_send_config 
            left join sys_send_config_detail detail on detail.parent_id = sys_send_config.id 
            where @{filter} @{orderby} @{limit}
            ]]>    
        </sql>
        
        <sql name="refreshExpire">
            update @{tablename} set @{expire_tag} = 'T'
            where @{expire_tag} is null and @{date_to} > @{now}
        </sql>
        
        
        <sql name="updatePositionSpeedEmployee">
            update @{positionHierarchyTable} md_position_hierarchy
            left join (
             select position_id, group_concat(md_position_employee.remark) remark  
             from @{positionEmployeeTable} md_position_employee
             group by position_id
            ) md_position_employee on md_position_employee.position_id = md_position_hierarchy.position_id
            set md_position_hierarchy.employee_name = md_position_employee.remark
            WHERE md_position_hierarchy.employee_name is null 
        </sql>
    </dataSpace>
    
</sqls>