ludc
2025-01-16 5203081b68e3a8dc139d1807b2f8774e4a00a82a
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
CREATE OR REPLACE TRIGGER "SYNC_USERDEPTMENT_COPY"
  before insert or update or delete on platformlt_deptperson
  for each row
/*************************************************************
author: liucq
create time: 2015.06.01
description: Á´½ÓÀàÐÍ ²¿ÃÅÈËÔ±£¨deptperson£©ÉϵÄǰÖô¥·¢Æ÷             
             µ±Á´½ÓÀàÐÍ ²¿ÃÅÈËÔ±£¨deptperson£©±í·¢ÉúÌí¼Ó¡¢Ð޸ġ¢É¾³ýÊý¾Ýʱ£¬
             Í¬²½¸üе½Óë½ÇÉ«¶ÔÓ¦µÄÁ´½ÓÀàÐÍ  ²¿ÃÅÓû§£¨deptuser£©
 
logic rules: 
             ÈËÔ± £¨person£© ÓжÔÓ¦µÄ Óû§£¨user£© ´æÔÚʱ£¬
             Ôò½« ²¿ÃÅÓëÈËÔ±µÄÁ´½Ó¹ØÏµ£¨deptperson£© ¸´ÖÆÒ»Ìõµ½ ²¿ÃÅÓëÓû§µÄÁ´½Ó¹ØÏµ £¨deptuser£©ÖÐ
last modifyer: 2017.06.07
last modify time: 2017.06.07
change history:
       2017.06.07 xchao Ìí¼Ó×¢ÊÍ
*************************************************************/
declare
  deptUserTabCount number;
  userName varchar2(128);
  userCount number;
  useroid varchar2(36);
  userRevisionOid varchar2(36);
  userNameOid varchar2(36);
  userBtmname varchar2(36);
begin
  select count(*) into deptUserTabCount from user_tables where lower(table_name) = 'platformlt_deptuser';
  if deptUserTabCount = 0 then
    return;
  else
    if inserting then
      select p.id into userName from platformbtm_person p where p.oid = :new.t_oid;
      select count(*) into userCount from platformbtm_user u where u.id = userName;
      if userCount  = 0 then
        return;
      else
          select p.oid, p.revisionoid, p.nameoid, p.btmname into useroid, userRevisionOid, userNameOid, userBtmname from platformbtm_user p where p.id = userName;
          insert into platformlt_deptuser
          values
          (get_uuid,
           '',
           '',
           '',
           '',
           :new.f_oid,
           :new.f_revisionoid,
           :new.f_nameoid,
           :new.f_btwname,
           useroid,
           userRevisionOid,
           userNameOid,
           userBtmname,
           '',
           :new.isparttime,
           :new.refpost
           );
       end if;
    end if;
    if deleting then
     -- Ö±½Ó¸ù¾Ýf_oid¡¢t_oidÔÚ deptuserÁ´½Ó±íÖг¢ÊÔɾ³ý
     delete from platformlt_deptuser dp
             where dp.f_oid = :old.f_oid and dp.t_oid = :old.t_oid;
     end if;
  end if;
end;
/