P15GEN2\59518
2025-10-10 9f6890646993d16260d4201d613c092132856127
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
141
142
143
144
145
146
147
148
149
150
151
152
153
<?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
                 where @{filter}
                 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="getLeaderList">
            select DISTINCT parent_position.*, md_employee.* from parent_position 
            inner join md_position_employee on md_position_employee.position_id = parent_position.id 
            inner join md_employee on md_employee.id = md_position_employee.employee_id
            where @{filter}@{orderby}@{limit}
        </sql>
    
        <sql name="getLeaderListCount">
            select count(1) from  (select DISTINCT parent_position.*, md_employee.* from parent_position 
            inner join md_position_employee on md_position_employee.position_id = parent_position.id 
            inner join md_employee on md_employee.id = md_position_employee.employee_id
            where @{filter}@{orderby}@{limit} ) leader_list
        </sql>
        
        <sql name="getActorBranch">
            <![CDATA[
                select sys_right_actor_branch.*, md_hcp.name as hcp_name, md_hcp.short_name as hcp_short_name,
                    md_bu.name as bu_name
                from sys_right_actor_branch 
                left join md_hcp on md_hcp.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_division 
                        where md_division.company_id = '@{company_id}'
                            and md_division.division_id = md_position.division_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 
            SET md_position_hierarchy.employee_name = (
                 select substring(remark, 1, length(remark)-1) from (select position_id , @{groupConcatStart}(md_position_employee.remark)@{groupConcatEnd} remark 
                 from md_position_employee md_position_employee group by position_id  ) v
                 where v.position_id = md_position_hierarchy.position_id )
            WHERE md_position_hierarchy.employee_name is null
        </sql>
    </dataSpace>
    
</sqls>