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
<?xml version="1.0" encoding="UTF-8" ?>
    
<sqls>
    <dataSpace name="account">
        
        <sql name="insertNotifyMesaage">
        <![CDATA[
            INSERT INTO sys_notify_message (id, notify_id, position_id, account_id,
             type_code, doc_id, doc_code, title, remark, create_time)
            select '@{id}' id, '@{notify_id}' notify_id, '@{position_id}' position_id,
                 '@{account_id}' account_id, '@{type_code}' type_code, id doc_id, code doc_code, @{title} title,
                 '@{remark}' remark, now() create_time
            from @{tableName}
            where @{filterSegment}
        ]]>
        </sql>
    
        <sql name="insertAlert">
        <![CDATA[
            INSERT INTO sys_alert (id, rule_id, account_id, position_id, doc_id, title, message, create_time) 
            select UUID_SHORT() id, '@{ruleId}' rule_id, @{accountId} account_id, @{positionId} position_id, @{docId} doc_id,
                 @{title} title, '@{message}' message, now() create_time
            from @{dataName} 
            where @{filterSegment} and not EXISTS (
                select  1 from sys_alert
                where sys_alert.doc_id = @{dataName}.@{docId} and sys_alert.rule_id = '@{ruleId}' 
            ) 
        ]]>
        </sql>
        
        <sql name="updateAlert">
        <![CDATA[
            update sys_alert 
            set title = ( 
                select @{title} title
                from @{dataName} 
                where @{filterSegment} and sys_alert.doc_id = @{docId} )
            where sys_alert.rule_id = '@{ruleId}'
        ]]>
        </sql>
        
        <sql name="deleteAlert">
        <![CDATA[
            DELETE from sys_alert 
            where rule_id = '@{ruleId}' and not EXISTS (
                select  1 from @{dataName}
                where @{filterSegment}
                and sys_alert.doc_id = @{dataName}.@{docId}
            ) 
        ]]>
        </sql>        
        
        <sql name="updateDocumentCheckError">
        <![CDATA[
            update @{dataName} document
            set check_error = '@{checkError}'
            where @{isExist} exists (
                select 1 from sys_alert 
                where sys_alert.doc_id = document.@{docId} and sys_alert.rule_id = '@{ruleId}'
                )
            ]]>    
        </sql>
        
        <sql name="docLimit">
        <![CDATA[
            @{docId} = '@{id}'
            ]]>    
        </sql>
        
        <sql name="positionMissLimit">
        <![CDATA[
            state_code = 'Open' and exists (
                select 1 from md_org_account_position
                    where not EXISTS(
                        select 1 from md_position
                        where md_position.id = md_org_account_position.position_id and md_position.is_delete = 'T'
                    ) 
                    and md_org_account.id = md_org_account_position.parent_id
                )  
            ]]>
        </sql>
        
        <sql name="sendToOAErrorLimit">
        <![CDATA[
             ifnull(oa_sync_state,'') <> '同步成功' and state_code = 'Open'
            ]]>    
        </sql>
        
        <sql name="licenseBusinessInvalidLimit">
        <![CDATA[
            license_business_date_to < DATE_ADD(CURRENT_DATE() ,INTERVAL 30 DAY)
            ]]>    
        </sql>
        
        <sql name="licenseDeviceInvalidLimit">
        <![CDATA[
            license_device_date_to < DATE_ADD(CURRENT_DATE() ,INTERVAL 30 DAY)
            ]]>    
        </sql>
        
        <sql name="validPositionEmployeeMissLimit">
        <![CDATA[
            employee_name is null and EXISTS (
            select 1 from  md_position 
            where md_position.id = md_position_hierarchy.position_id and md_position.is_delete = 'F')
        ]]>
        </sql>
                    
    </dataSpace>
    
</sqls>