You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1064 lines
37 KiB
PL/PgSQL
1064 lines
37 KiB
PL/PgSQL
DELIMITER $$
|
|
create trigger HrmCompany_ed after update on HrmCompany FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
if NEW.companyname <> OLD.companyname then
|
|
set _id=0;
|
|
set _ftype=0;
|
|
set _fobjid=0;
|
|
|
|
set _fecid=new.id;
|
|
set _uuid=new.uuid;
|
|
set _fnumber='00';
|
|
set _fname=new.companyname;
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select cast(fvalue as SIGNED) into _fleader from jcl_info where id=1;
|
|
|
|
select messagerurl, lastname, jobtitle into _fleaderimg, _fleadername, _fleaderjobid from hrmresource where id=_fleader;
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
|
|
select ifnull(field100008,''), ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fleader;
|
|
|
|
set _fparentid=-1;
|
|
|
|
set _fobjparentid=0;
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin);
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3;
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where fobjid=0 and fdatebegin=_fdatebegin;
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where fobjid=0 and fdateend>_fdatebegin;
|
|
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,Uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_COMP_in after INSERT on JCL_ORG_COMP FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
set _ftype=1;
|
|
|
|
set _fobjid=new.id;
|
|
set _id=new.id;
|
|
set _uuid=new.uuid;
|
|
set _fnumber=new.comp_no;
|
|
set _fname=new.comp_name;
|
|
set _fleader=new.comp_principal;
|
|
set _fparentid=ifnull(new.parent_company,0);
|
|
set _fobjparentid=ifnull(new.parent_company,0);
|
|
set _delete=ifnull(new.forbidden_tag,0);
|
|
|
|
select id into _fecid from HrmSubCompany where uuid=_uuid;
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select messagerurl, lastname, jobtitle into _fleaderimg,_fleadername,_fleaderjobid from hrmresource where id=_fleader;
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
select ifnull(field100008,''),ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fleader;
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin)
|
|
and comp_id=_fobjid;
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3 and subcompanyid1=_fecid;
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=1 and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=1 and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_COMP_ed after update on JCL_ORG_COMP FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
if NEW.comp_name <> OLD.comp_name or NEW.comp_principal <> OLD.comp_principal or NEW.parent_company <> OLD.parent_company or NEW.forbidden_tag <> OLD.forbidden_tag then
|
|
set _ftype=1;
|
|
|
|
set _fobjid=new.id;
|
|
set _id=new.id;
|
|
set _uuid=new.uuid;
|
|
set _fnumber=new.comp_no;
|
|
set _fname=new.comp_name;
|
|
set _fleader=new.comp_principal;
|
|
set _fparentid=ifnull(new.parent_company,0);
|
|
set _fobjparentid=ifnull(new.parent_company,0);
|
|
set _delete=ifnull(new.forbidden_tag,0);
|
|
|
|
select id into _fecid from HrmSubCompany where uuid=_uuid;
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select messagerurl, lastname, jobtitle into _fleaderimg,_fleadername,_fleaderjobid from hrmresource where id=_fleader;
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
select ifnull(field100008,''),ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fleader;
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin)
|
|
and comp_id=_fobjid;
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3 and subcompanyid1=_fecid;
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=1 and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=1 and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_COMP_del after update on JCL_ORG_COMP FOR EACH ROW
|
|
begin
|
|
declare _deletetype int;
|
|
declare _ftype int;
|
|
declare _fobjid int;
|
|
declare _fdatebegin date;
|
|
|
|
set _ftype=1;
|
|
set _fobjid =old.id;
|
|
select cast(now() as date) into _fdatebegin;
|
|
set _deletetype = new.delete_type;
|
|
if NEW.delete_type <> OLD.delete_type then
|
|
delete from jcl_org_map where ftype=1 and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=1 and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
DROP trigger IF EXISTS JCL_ORG_DEPT_in;
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_DEPT_in after INSERT on JCL_ORG_DEPT FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
|
|
declare _st int;
|
|
|
|
set _st=100000000;
|
|
|
|
set _ftype=2;
|
|
|
|
|
|
set _fobjid = new.id;
|
|
set _id = new.id+_st;
|
|
set _uuid = new.uuid;
|
|
set _fnumber = new.dept_no;
|
|
set _fname = new.dept_name;
|
|
set _fleader = new.dept_principal;
|
|
set _fparentid =(case ifnull(new.parent_dept,0) when 0 then new.parent_comp else new.parent_dept+_st end);
|
|
set _fobjparentid = (case ifnull(new.parent_dept,0) when 0 then new.parent_comp else new.parent_dept end);
|
|
set _delete = ifnull(new.forbidden_tag,0);
|
|
|
|
|
|
|
|
select id into _fecid from HrmDepartment where uuid=_uuid;
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
|
|
select messagerurl,lastname,jobtitle into _fleaderimg,_fleadername,_fleaderjobid from hrmresource where id=_fleader;
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
|
|
select ifnull(field100008,''),ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fleader;
|
|
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin)
|
|
and dept_id=_fobjid;
|
|
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3 and departmentid=_fecid;
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=2 and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=2 and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
DROP trigger IF EXISTS JCL_ORG_dept_ed;
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_dept_ed after update on JCL_ORG_DEPT FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
|
|
declare _st int;
|
|
if (NEW.dept_name <> OLD.dept_name or NEW.dept_principal <> OLD.dept_principal or NEW.parent_dept <> OLD.parent_dept or NEW.forbidden_tag <> OLD.forbidden_tag) then
|
|
set _st=100000000;
|
|
|
|
set _ftype=2;
|
|
|
|
set _fobjid = new.id;
|
|
set _id = new.id+_st;
|
|
set _uuid = new.uuid;
|
|
set _fnumber = new.dept_no;
|
|
set _fname = new.dept_name;
|
|
set _fleader = new.dept_principal;
|
|
set _fparentid = (case ifnull(new.parent_dept,0) when 0 then new.parent_comp else new.parent_dept+_st end);
|
|
set _fobjparentid = (case ifnull(new.parent_dept,0) when 0 then new.parent_comp else new.parent_dept end);
|
|
set _delete = ifnull(new.forbidden_tag,0);
|
|
|
|
|
|
select id into _fecid from HrmDepartment where uuid=_uuid;
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
|
|
select messagerurl, lastname, jobtitle into _fleaderimg,_fleadername,_fleaderjobid from hrmresource where id=_fleader;
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
|
|
select ifnull(field100008,''), ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fleader;
|
|
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin)
|
|
and dept_id=_fobjid;
|
|
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3 and departmentid=_fecid;
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=2 and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=2 and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_dept_del after update on JCL_ORG_dept FOR EACH ROW
|
|
BEGIN
|
|
declare _deletetype int;
|
|
declare _ftype int;
|
|
declare _fobjid int;
|
|
declare _fdatebegin date;
|
|
|
|
set _ftype=2;
|
|
set _fobjid = old.id;
|
|
select cast(now() as date) into _fdatebegin;
|
|
set _deletetype = new.delete_type;
|
|
if NEW.delete_type <> OLD.delete_type then
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_JOB_in after INSERT on JCL_ORG_JOB FOR EACH ROW
|
|
BEGIN
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
|
|
declare _st int;
|
|
declare _sj int;
|
|
|
|
set _st=100000000;
|
|
|
|
|
|
|
|
set _sj=200000000;
|
|
|
|
|
|
set _ftype=3;
|
|
|
|
set _fobjid = new.id;
|
|
set _id = new.id+_sj;
|
|
set _fnumber = new.job_no;
|
|
set _fname = new.job_name;
|
|
set _fparentid = (case ifnull(new.parent_job,0) when 0 then new.parent_dept+_st else new.parent_job+_sj end);
|
|
set _fobjparentid = (case ifnull(new.parent_job,0) when 0 then new.parent_dept else new.parent_job end);
|
|
set _delete=ifnull(new.forbidden_tag,0);
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin)
|
|
and job_id=_fobjid;
|
|
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3
|
|
and departmentid=(select id from hrmdepartment where uuid=(select uuid from JCL_ORG_DEPT where id=new.PARENT_DEPT))
|
|
and jobtitle in (select id from hrmjobtitles where JOBTITLENAME=new.JOB_NAME);
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_JOB_ed after UPDATE on JCL_ORG_JOB FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
|
|
declare _st int;
|
|
declare _sj int;
|
|
if NEW.job_name <> OLD.job_name or NEW.parent_dept <> OLD.parent_dept or NEW.parent_job <> OLD.parent_job or NEW.forbidden_tag <> OLD.forbidden_tag then
|
|
set _st=100000000;
|
|
set _sj=200000000;
|
|
set _ftype=3;
|
|
|
|
set _fobjid=new.id;
|
|
set _id=new.id+_sj;
|
|
set _fnumber=new.job_no;
|
|
set _fname=new.job_name;
|
|
set _fparentid=(case ifnull(new.parent_job,0) when 0 then new.parent_dept+_st else new.parent_job+_sj end);
|
|
set _fobjparentid=(case ifnull(new.parent_job,0) when 0 then new.parent_dept else new.parent_job end);
|
|
set _delete=ifnull(new.forbidden_tag,0);
|
|
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
select sum(ifnull(staff_num,0)) into _fplan from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=_fdatebegin and time_end>=_fdatebegin)
|
|
and job_id=_fobjid;
|
|
|
|
|
|
select count(1) into _fonjob from hrmresource where status<=3
|
|
and departmentid=(select id from hrmdepartment where uuid=(select uuid from JCL_ORG_DEPT where id=new.PARENT_DEPT))
|
|
and jobtitle in (select id from hrmjobtitles where JOBTITLENAME=new.JOB_NAME);
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger JCL_ORG_job_del after update on JCL_ORG_JOB FOR EACH ROW
|
|
begin
|
|
declare _deletetype int;
|
|
declare _ftype int;
|
|
declare _fobjid int;
|
|
declare _fdatebegin date;
|
|
|
|
set _ftype=3;
|
|
set _fobjid = old.id;
|
|
select cast(now() as date) into _fdatebegin;
|
|
set _deletetype = new.delete_type;
|
|
if NEW.delete_type <> OLD.delete_type then
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger hrmresource_in after INSERT on hrmresource FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
declare _wz int;
|
|
declare _str varchar(100);
|
|
declare _st int;
|
|
declare _sj int;
|
|
declare _sk int;
|
|
set _st=100000000;
|
|
set _sj=200000000;
|
|
set _sk=300000000;
|
|
set _ftype=4;
|
|
|
|
set _fobjid=new.id;
|
|
set _id=new.id+_sk;
|
|
set _fnumber=new.workcode;
|
|
set _fname=new.lastname;
|
|
set _delete=case when new.status<=3 then 0 else 1 end;
|
|
set _fleaderimg=new.messagerurl;
|
|
set _fleadername=new.lastname;
|
|
set _fleaderjobid=new.jobtitle;
|
|
|
|
|
|
select ifnull(field100002,'') into _str from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fobjid;
|
|
set _wz=LOCATE('_',_str);
|
|
set _fobjparentid=cast(right(_str,length(_str)-_wz) as SIGNED);
|
|
set _fparentid=_fobjparentid+_sj;
|
|
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
|
|
select ifnull(field100008,''),ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fobjid;
|
|
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
DELIMITER $$
|
|
create trigger hrmresource_ed after update on hrmresource FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
declare _wz int;
|
|
declare _str varchar(100);
|
|
declare _st int;
|
|
declare _sj int;
|
|
declare _sk int;
|
|
if NEW.lastname <> OLD.lastname or NEW.status <> OLD.status then
|
|
set _st=100000000;
|
|
set _sj=200000000;
|
|
set _sk=300000000;
|
|
set _ftype=4;
|
|
|
|
set _fobjid=new.id;
|
|
set _id=new.id+_sk;
|
|
set _fnumber=new.workcode;
|
|
set _fname=new.lastname;
|
|
set _delete=case when new.status<=3 then 0 else 1 end;
|
|
set _fleaderimg=new.messagerurl;
|
|
set _fleadername=new.lastname;
|
|
set _fleaderjobid=new.jobtitle;
|
|
|
|
|
|
select ifnull(field100002,'') into _str from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fobjid;
|
|
set _wz=LOCATE('_',_str);
|
|
set _fobjparentid=cast(right(_str,length(_str)-_wz) as SIGNED);
|
|
set _fparentid=_fobjparentid+_sj;
|
|
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
|
|
select ifnull(field100008,''),ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fobjid;
|
|
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
DROP trigger IF EXISTS cus_fielddata_jclgw;
|
|
DELIMITER $$
|
|
create trigger cus_fielddata_jclgw after UPDATE on cus_fielddata FOR EACH ROW
|
|
begin
|
|
declare _ftype int;
|
|
declare _id int;
|
|
declare _fobjid int;
|
|
declare _fecid int;
|
|
declare _uuid varchar(100);
|
|
declare _fclass int;
|
|
declare _fclassname varchar(100);
|
|
declare _fnumber varchar(100);
|
|
declare _fname varchar(255);
|
|
declare _fleader int;
|
|
|
|
declare _fleaderimg varchar(255);
|
|
declare _fleadername varchar(100);
|
|
declare _fleaderjobid int;
|
|
declare _fleaderjob varchar(255);
|
|
declare _fleaderlv varchar(100);
|
|
declare _fleaderst varchar(100);
|
|
declare _fparentid int;
|
|
declare _fobjparentid int;
|
|
declare _fplan int;
|
|
declare _fonjob int;
|
|
declare _fisvitual int;
|
|
declare _fdatebegin date;
|
|
declare _fdateend date;
|
|
declare _delete int;
|
|
declare _wz int;
|
|
declare _str varchar(100);
|
|
declare _st int;
|
|
declare _sj int;
|
|
declare _sk int;
|
|
if NEW.field100002 <> OLD.field100002 then
|
|
set _st=100000000;
|
|
set _sj=200000000;
|
|
set _sk=300000000;
|
|
set _ftype=4;
|
|
|
|
|
|
set _fobjid=new.id;
|
|
set _id=new.id+_sk;
|
|
set _str=ifnull(new.field100002,'');
|
|
|
|
select workcode, lastname, case when status <= 3 then 0 else 1 end, messagerurl, lastname, jobtitle into _fnumber, _fname , _delete, _fleaderimg , _fleadername, _fleaderjobid from hrmresource where id = _fobjid;
|
|
|
|
|
|
set _wz=LOCATE('_',_str);
|
|
set _fobjparentid=cast(right(_str,length(_str)-_wz) as SIGNED);
|
|
set _fparentid=_fobjparentid+_sj;
|
|
|
|
set _fclass=0;
|
|
set _fclassname='行政维度';
|
|
|
|
select jobtitlemark into _fleaderjob from hrmjobtitles where id=_fleaderjobid;
|
|
|
|
|
|
select ifnull(field100008,''), ifnull(field100007,'') into _fleaderst,_fleaderlv from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=_fobjid;
|
|
|
|
|
|
select cast(now() as date) into _fdatebegin;
|
|
|
|
|
|
set _fdateend='2099-12-31';
|
|
|
|
|
|
set _fisvitual=0;
|
|
|
|
delete from jcl_org_map where ftype=_ftype and fobjid=_fobjid and fdatebegin=_fdatebegin;
|
|
|
|
|
|
update jcl_org_map set fdateend=date_add(_fdatebegin,interval -1 day) where ftype=_ftype and fobjid=_fobjid and fdateend>_fdatebegin;
|
|
|
|
|
|
if _delete=0 then
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
values
|
|
(_id,_ftype,_fobjid,_fecid,_uuid,_fclass,_fclassname,_fnumber,_fname,_fleader,_fleaderimg,
|
|
_fleadername,_fleaderjobid,_fleaderjob,_fleaderlv,_fleaderst,_fparentid,_fobjparentid,
|
|
_fplan,_fonjob,_fisvitual,_fdatebegin,_fdateend);
|
|
end if;
|
|
end if;
|
|
END $$
|
|
DELIMITER ;
|
|
|
|
|
|
|
|
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
select a.id,1,a.id,b.id,a.uuid,0,'行政维度',a.comp_no,a.comp_name,a.comp_principal,c.messagerurl,
|
|
c.lastname,c.jobtitle,d.jobtitlemark,g.field100007,g.field100008,ifnull(parent_company,0),ifnull(parent_company,0),
|
|
ifnull(e.fcnt,0),ifnull(f.fcnt,0),0,NOW(),'2099-12-31'
|
|
from
|
|
JCL_ORG_comp as a
|
|
left join HrmSubCompany as b on a.uuid=b.uuid
|
|
left join hrmresource as c on a.comp_principal=c.id
|
|
left join hrmjobtitles as d on c.jobtitle=d.id
|
|
left join (select comp_id,sum(ifnull(staff_num,0)) fcnt from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=NOW() and time_end>NOW())
|
|
group by comp_id) e on a.id=e.comp_id
|
|
left join (select subcompanyid1,count(1) fcnt from hrmresource where status<=3 group by subcompanyid1) f
|
|
on f.subcompanyid1=b.id
|
|
left join cus_fielddata g on c.id=g.id and g.scope='HrmCustomFieldByInfoType' and g.scopeid=3
|
|
where ifnull(a.delete_type,0) <>1 and ifnull(a.forbidden_tag,0) <>1;
|
|
|
|
|
|
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
|
|
select a.id+100000000,2,a.id,b.id,a.uuid,0,'行政维度',a.dept_no,a.dept_name,a.dept_principal,c.messagerurl,
|
|
c.lastname,c.jobtitle,d.jobtitlemark,g.field100007,g.field100008,
|
|
(case ifnull(parent_dept,0) when 0 then parent_comp else parent_dept+100000000 end),
|
|
(case ifnull(parent_dept,0) when 0 then parent_comp else parent_dept end),
|
|
ifnull(e.fcnt,0),ifnull(f.fcnt,0),0,NOW(),'2099-12-31'
|
|
from
|
|
JCL_ORG_dept as a
|
|
left join HrmDepartment as b on a.uuid=b.uuid
|
|
left join hrmresource as c on a.dept_principal=c.id
|
|
left join hrmjobtitles as d on c.jobtitle=d.id
|
|
left join (select dept_id,sum(ifnull(staff_num,0)) fcnt from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=NOW() and time_end>NOW())
|
|
group by dept_id) e on a.id=e.dept_id
|
|
left join (select departmentid,count(1) fcnt from hrmresource where status<=3 group by departmentid) f on f.departmentid=b.id
|
|
left join cus_fielddata g on c.id=g.id and g.scope='HrmCustomFieldByInfoType' and g.scopeid=3
|
|
where ifnull(a.delete_type,0) <>1 and ifnull(a.forbidden_tag,0) <>1;
|
|
|
|
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fclass,fclassname,fnumber,fname,
|
|
fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
select a.id+200000000,3,a.id,0,'行政维度',a.job_no,a.job_name,
|
|
(case ifnull(parent_job,0) when 0 then parent_dept+100000000 else parent_job+200000000 end),
|
|
(case ifnull(parent_job,0) when 0 then parent_dept else parent_job end),
|
|
ifnull(e.fcnt,0),ifnull(f.fcnt,0),0,NOW(),'2099-12-31'
|
|
from JCL_ORG_job as a
|
|
left join (select job_id,sum(ifnull(staff_num,0)) fcnt from JCL_ORG_STAFF
|
|
where plan_id in (select id from JCL_ORG_STAFFPLAN
|
|
where time_start<=NOW() and time_end>NOW())
|
|
group by job_id) e on a.id=e.job_id
|
|
left join (select d.id,b.jobtitlename,count(1) fcnt
|
|
from hrmresource a
|
|
inner join HrmJobTitles b on a.jobtitle=b.id
|
|
inner join hrmdepartment c on a.departmentid=c.id
|
|
inner join jcl_org_dept d on a.uuid=b.uuid
|
|
group by d.id,b.jobtitlename) f
|
|
on f.id=a.parent_dept and a.job_name=f.jobtitlename
|
|
where ifnull(a.delete_type,0) <>1 and ifnull(a.forbidden_tag,0) <>1 and a.id>=10;
|
|
|
|
|
|
delete from cus_fielddata where scopeid=-1;
|
|
insert into cus_fielddata(scope, scopeid, id, field100002)
|
|
select 'HrmCustomFieldByInfoType',-1,a.id,e.id
|
|
from hrmresource a
|
|
left join HrmJobTitles b on a.jobtitle=b.id
|
|
left join hrmdepartment c on a.departmentid=c.id
|
|
left join JCL_ORG_DEPT d on c.uuid=d.uuid
|
|
left join jcl_org_job e on d.id=e.parent_dept and e.job_name=b.jobtitlename;
|
|
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleaderimg,
|
|
fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fisvitual,fdatebegin,fdateend)
|
|
select a.id+300000000,4,a.id,a.id,a.uuid,0,'行政维度',a.workcode,a.lastname,a.messagerurl,a.jobtitle,
|
|
b.jobtitlemark,c.field100007,c.field100008,
|
|
right(ifnull(field100002,''),LENGTH(ifnull(field100002,''))-LOCATE('_',ifnull(field100002,''))) +200000000,
|
|
right(ifnull(field100002,''),LENGTH(ifnull(field100002,''))-LOCATE('_',ifnull(field100002,''))),
|
|
0,NOW(),'2099-12-31'
|
|
from hrmresource a
|
|
left join hrmjobtitles b on a.jobtitle=b.id
|
|
left join cus_fielddata c on a.id=c.id and c.scope='HrmCustomFieldByInfoType' and c.scopeid=-1
|
|
where a.status<4;
|
|
|
|
insert into jcl_org_map
|
|
(id,ftype,fobjid,fecid,Uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
|
|
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
|
|
fplan,fonjob,fisvitual,fdatebegin,fdateend)
|
|
select 0,0,0,1,uuid,0,'行政维度','00',companyname,0,'',
|
|
'',0,'','','',-1,0,
|
|
0,0,0,cast(now() as date),'2099-12-31' from HrmCompany; |