Merge remote-tracking branch 'origin/develop' into feature/ml

pull/21/head
‘ml’ 3 years ago
commit 887a1eafe3

File diff suppressed because it is too large Load Diff

@ -1,380 +1,3 @@
create or replace trigger HrmCompany_ed before update on HrmCompany FOR EACH ROW
declare
vleader int;
vleaderimg varchar2(255);
vleadername varchar2(100);
vleaderjobid int;
vleaderjob varchar2(255);
vleaderlv varchar2(100);
vleaderst varchar2(100);
vdatebegin date;
vplan int;
vonjob int;
vcnt int;
begin
if :new.companyname!=:old.companyname then
select count(1) into vcnt from jcl_info where id=1;
if vcnt=1 then
select to_number(fvalue) into vleader from jcl_info where id=1;
end if;
select count(1) into vcnt from hrmresource where id=vleader;
if vcnt=1 then
select messagerurl,lastname,jobtitle into vleaderimg,vleadername,vleaderjobid
from hrmresource where id=vleader;
end if;
select count(1) into vcnt from hrmjobtitles where id=vleaderjobid;
if vcnt=1 then
select jobtitlemark into vleaderjob from hrmjobtitles where id=vleaderjobid;
end if;
select count(1) into vcnt from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=vleader;
if vcnt=1 then
select nvl(field100008,''),nvl(field100007,'') into vleaderst,vleaderlv from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=vleader;
end if;
vdatebegin:=sysdate;
select sum(nvl(staff_num,0)) into vplan from JCL_ORG_STAFF
where plan_id in (select id from JCL_ORG_STAFFPLAN where time_start<=vdatebegin and time_end>=vdatebegin);
select count(1) into vonjob from hrmresource where status<=3;
delete from jcl_org_map where fobjid=0 and fdatebegin=vdatebegin;
update jcl_org_map set fdateend=vdatebegin-1 where fobjid=0 and fdateend>vdatebegin;
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
(0,0,0,:new.id,:new.uuid,0,'行政维度','00',:new.companyname,vleader,vleaderimg,
vleadername,vleaderjobid,vleaderjob,vleaderlv,vleaderst,-1,0,
vplan,vonjob,0,vdatebegin,to_date('2099-12-31','yyyy-mm-dd'));
end if;
end;
/
create or replace trigger JCL_ORG_COMP_ed after insert or update on JCL_ORG_COMP FOR EACH ROW
declare
vdatebegin date;
vecid int;
vleaderimg varchar2(255);
vleadername varchar2(100);
vleaderjobid int;
vleaderjob varchar2(255);
vleaderlv varchar2(100);
vleaderst varchar2(100);
vparentid int;
vobjparentid int;
vplan int;
vonjob int;
vcnt int;
begin
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 or :new.DELETE_TYPE!=:old.DELETE_TYPE then
vdatebegin:=sysdate;
vparentid:=nvl(:new.parent_company,0);
vobjparentid:=nvl(:new.parent_company,0);
select count(1) into vcnt from HrmSubCompany where uuid=:new.uuid;
if vcnt=1 then
select id into vecid from HrmSubCompany where uuid=:new.uuid;
end if;
select count(1) into vcnt from hrmresource where id=:new.comp_principal;
if vcnt=1 then
select messagerurl,lastname,jobtitle into vleaderimg,vleadername,vleaderjobid from hrmresource where id=:new.comp_principal;
end if;
select count(1) into vcnt from hrmjobtitles where id=vleaderjobid;
if vcnt=1 then
select jobtitlemark into vleaderjob from hrmjobtitles where id=vleaderjobid;
end if;
select count(1) into vcnt from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.comp_principal;
if vcnt=1 then
select nvl(field100008,''),nvl(field100007,'') into vleaderst,vleaderlv from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.comp_principal;
end if;
select sum(nvl(staff_num,0)) into vplan from JCL_ORG_STAFF;
select count(1) into vonjob from hrmresource where status<=3 and subcompanyid1=vecid;
delete from jcl_org_map where ftype=1 and fobjid=:new.id and fdatebegin=vdatebegin;
update jcl_org_map set fdateend=vdatebegin-1 where ftype=1 and fobjid=:new.id and fdateend>vdatebegin;
if nvl(:new.DELETE_TYPE,0)=0 and nvl(:new.forbidden_tag,0)=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
(:new.id,1,:new.id,vecid,:new.uuid,0,'行政维度',:new.comp_no,:new.comp_name,:new.comp_principal,
vleaderimg,vleadername,vleaderjobid,vleaderjob,vleaderlv,vleaderst,vparentid,vobjparentid,
vplan,vonjob,0,vdatebegin,to_date('2099-12-31','yyyy-mm-dd'));
end if;
end if;
end;
/
create or replace trigger JCL_ORG_dept_ed after insert or update on JCL_ORG_dept FOR EACH ROW
declare
st int;
vdatebegin date;
vparentid int;
vobjparentid int;
vecid int;
vleaderimg VARCHAR2(200);
vleadername VARCHAR2(200);
veaderjobid int;
vleaderjob VARCHAR2(255);
vleaderst VARCHAR2(255);
vleaderlv VARCHAR2(255);
vplan int;
vonjob int;
vcnt int;
begin
if :new.dept_name!=:old.dept_name or :new.dept_principal!=:old.dept_principal or :new.parent_comp!=:old.parent_comp
or :new.parent_dept!=:old.parent_dept or :new.forbidden_tag!=:old.forbidden_tag or :new.DELETE_TYPE!=:old.DELETE_TYPE then
st:=100000000;
vdatebegin:=sysdate;
if :new.parent_dept=0 then
vparentid:=:new.parent_comp;
else
vparentid:=:new.parent_dept+st;
end if;
if nvl(:new.parent_dept,0)=0 then
vobjparentid:=:new.parent_comp;
else
vobjparentid:=:new.parent_dept+st;
end if;
select count(1) into vcnt from HrmDepartment where uuid=:new.uuid;
if vcnt=1 then
select id into vecid from HrmDepartment where uuid=:new.uuid;
end if;
select count(1) into vcnt from hrmresource where id=:new.dept_principal;
if vcnt=1 then
select messagerurl,lastname,jobtitle into vleaderimg,vleadername,veaderjobid
from hrmresource where id=:new.dept_principal;
end if;
select count(1) into vcnt from hrmjobtitles where id=:new.dept_principal;
if vcnt=1 then
select jobtitlemark into vleaderjob from hrmjobtitles where id=:new.dept_principal;
end if;
select count(1) into vcnt from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.dept_principal;
if vcnt=1 then
select nvl(field100008,''),nvl(field100007,'') into vleaderst,vleaderlv from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.dept_principal;
end if;
select sum(nvl(staff_num,0)) into vplan from JCL_ORG_STAFF
where plan_id in (select id from JCL_ORG_STAFFPLAN where time_start<=vdatebegin and time_end>=vdatebegin) and dept_id=:new.id;
select count(1) into vonjob from hrmresource where status<=3 and departmentid=vecid;
delete from jcl_org_map where ftype=2 and fobjid=:new.id and fdatebegin=vdatebegin;
update jcl_org_map set fdateend=vdatebegin-1 where ftype=2 and fobjid=:new.id and fdateend>vdatebegin;
if nvl(:new.forbidden_tag,0)=0 and nvl(:new.DELETE_TYPE,0)=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
(:new.id+st,2,:new.id,vecid,:new.uuid,0,'行政维度',:new.dept_no,:new.dept_name,:new.dept_principal,
vleaderimg,vleadername,veaderjobid,vleaderjob,vleaderlv,vleaderst,vparentid,vobjparentid,
vplan,vonjob,0,vdatebegin,to_date('2099-12-31','yyyy-mm-dd'));
end if;
end if;
end;
/
create or replace trigger JCL_ORG_job_ed after insert or update on JCL_ORG_job FOR EACH ROW
declare
st int;
sj int;
vplan int;
vonjob int;
vdatebegin date;
vparentid int;
vobjparentid int;
begin
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 or :new.DELETE_TYPE!=:old.DELETE_TYPE then
st:=100000000;
sj:=200000000;
vdatebegin:=to_date(sysdate);
select case nvl(:new.parent_job,0) when 0 then :new.parent_dept+st else :new.parent_job+sj end,
case nvl(:new.parent_job,0) when 0 then :new.parent_dept else :new.parent_job end
into vparentid,vobjparentid from dual;
select sum(nvl(staff_num,0)) into vplan from JCL_ORG_STAFF
where plan_id in (select id from JCL_ORG_STAFFPLAN where time_start<=vdatebegin and time_end>=vdatebegin) and job_id=:new.id;
select count(1) into vonjob 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);
delete from jcl_org_map where ftype=3 and fobjid=:new.id and fdatebegin=vdatebegin;
update jcl_org_map set fdateend=vdatebegin-1 where ftype=3 and fobjid=:new.id and fdateend>vdatebegin;
if nvl(:new.forbidden_tag,0)=0 and nvl(:new.DELETE_TYPE,0)=0 then
insert into jcl_org_map
(id,ftype,fobjid,fclass,fclassname,fnumber,fname,fparentid,fobjparentid,
fplan,fonjob,fisvitual,fdatebegin,fdateend)
values
(:new.id+sj,3,:new.id,0,'行政维度',:new.job_no,:new.job_name,vparentid,vobjparentid,
vplan,vonjob,0,vdatebegin,to_date('2099-12-31','yyyy-mm-dd'));
end if;
end if;
end;
/
create or replace trigger hrmresource_ed after insert or update on hrmresource FOR EACH ROW
declare
st int;
sj int;
sk int;
vdatebegin date;
vdelete int;
vleaderjob VARCHAR2(255);
vparentid int;
vobjparentid int;
vleaderst VARCHAR2(255);
vleaderlv VARCHAR2(255);
vstr VARCHAR2(255);
vwz int;
vcnt int;
begin
if :new.lastname!=:old.lastname or :new.status!=:old.status then
st:=100000000;
sj:=200000000;
sk:=300000000;
vdatebegin:=to_date(sysdate);
if :new.status<=3 then
vdelete:=0;
else
vdelete:=1;
end if;
select count(1) into vcnt from hrmjobtitles where id=:new.jobtitle;
if vcnt=1 then
select jobtitlemark into vleaderjob from hrmjobtitles where id=:new.jobtitle;
end if;
select count(1) into vcnt from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.id;
if vcnt=1 then
select nvl(field100008,''),nvl(field100007,'') into vleaderst,vleaderlv from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.id;
end if;
delete from jcl_org_map where ftype=4 and fobjid=:new.id and fdatebegin=vdatebegin;
update jcl_org_map set fdateend=vdatebegin-1 where ftype=4 and fobjid=:new.id and fdateend>vdatebegin;
select count(1) into vcnt from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=-1 and id=:new.id;
if vcnt=1 then
select nvl(field100002,'') into vstr from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=-1 and id=:new.id;
end if;
vwz:=Instr(vstr,'_');
vobjparentid:=to_number(substr(vstr,vwz+1,length(vstr)-vwz));
vparentid:=vobjparentid+sj;
if vdelete=0 then
insert into jcl_org_map
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleaderimg,
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,fisvitual,fdatebegin,fdateend)
values
(:new.id+sk,4,:new.id,:new.id,:new.uuid,0,'行政维度',:new.workcode,:new.lastname,:new.messagerurl,
:new.lastname,:new.jobtitle,vleaderjob,vleaderlv,vleaderst,vparentid,vobjparentid,0,vdatebegin,to_date('2099-12-31','yyyy-mm-dd'));
end if;
end if;
end;
/
create or replace trigger cus_fielddata_jclgw after insert or update on cus_fielddata FOR EACH ROW
declare
st int;
sj int;
sk int;
vnumber VARCHAR2(255);
vname VARCHAR2(255);
vleaderimg VARCHAR2(255);
vleadername VARCHAR2(255);
vleaderjobid VARCHAR2(255);
vuuid VARCHAR2(255);
vdatebegin date;
vdelete int;
vleaderjob VARCHAR2(255);
vparentid int;
vobjparentid int;
vleaderst VARCHAR2(255);
vleaderlv VARCHAR2(255);
vstr VARCHAR2(255);
vwz int;
vcnt int;
begin
if :new.field100002!=:old.field100002 then
st:=100000000;
sj:=200000000;
sk:=300000000;
vdatebegin:=to_date(sysdate);
select count(1) into vcnt from hrmresource where id=:new.id;
if vcnt=1 then
select workcode,lastname,case when status<=3 then 0 else 1 end,messagerurl,lastname,jobtitle,uuid
into vnumber,vname,vdelete,vleaderimg,vleadername,vleaderjobid,vuuid from hrmresource where id=:new.id;
end if;
select count(1) into vcnt from hrmjobtitles where id=vleaderjobid;
if vcnt=1 then
select jobtitlemark into vleaderjob from hrmjobtitles where id=vleaderjobid;
end if;
select count(1) into vcnt from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.id;
if vcnt=1 then
select nvl(field100008,''),nvl(field100007,'') into vleaderst,vleaderlv from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=:new.id;
end if;
vstr:=nvl(:new.field100002,'');
vwz:=Instr(vstr,'_');
vobjparentid:=to_number(substr(vstr,vwz+1,length(vstr)-vwz));
vparentid:=vobjparentid+sj;
delete from jcl_org_map where ftype=4 and fobjid=:new.id and fdatebegin=vdatebegin;
update jcl_org_map set fdateend=vdatebegin-1 where ftype=4 and fobjid=:new.id and fdateend>vdatebegin;
if vdelete=0 then
insert into jcl_org_map
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleaderimg,
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,fisvitual,fdatebegin,fdateend)
values
(:new.id+sk,4,:new.id,:new.id,vuuid,0,'行政维度',vnumber,vname,vleaderimg,
vleadername,vleaderjobid,vleaderjob,vleaderlv,vleaderst,vparentid,vobjparentid,0,vdatebegin,to_date('2099-12-31','yyyy-mm-dd'));
end if;
end if;
end;
/
insert into jcl_org_map
(id,ftype,fobjid,fecid,uuid,fclass,fclassname,fnumber,fname,fleader,fleaderimg,
fleadername,fleaderjobid,fleaderjob,fleaderlv,fleaderst,fparentid,fobjparentid,
@ -387,7 +10,7 @@ insert into jcl_org_map
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,nvl(parent_company,0),nvl(parent_company,0),
c.lastname,c.jobtitle,d.jobtitlemark,g.job_level,g.job_grade,nvl(parent_company,0),nvl(parent_company,0),
nvl(e.fcnt,0),nvl(f.fcnt,0),0,to_date(sysdate),to_date('2099-12-31','yyyy-mm-dd')
from
JCL_ORG_comp a
@ -400,7 +23,7 @@ from
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
left join jcl_org_hrmresource g ON c.uuid = g.uuid
where nvl(a.delete_type,0) <>1 and nvl(a.forbidden_tag,0) <>1
/
@ -409,7 +32,7 @@ insert into jcl_org_map
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,
c.lastname,c.jobtitle,d.jobtitlemark,g.job_level,g.job_grade,
(case nvl(parent_dept,0) when 0 then parent_comp else parent_dept+100000000 end),
(case nvl(parent_dept,0) when 0 then parent_comp else parent_dept end),
nvl(e.fcnt,0),nvl(f.fcnt,0),0,to_date(sysdate),to_date('2099-12-31','yyyy-mm-dd')
@ -423,7 +46,7 @@ from
where time_start<=to_date(sysdate) and time_end>to_date(sysdate))
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
left join jcl_org_hrmresource g ON c.uuid = g.uuid
where nvl(a.delete_type,0) <>1 and nvl(a.forbidden_tag,0) <>1
/
@ -450,28 +73,17 @@ from JCL_ORG_job a
where nvl(a.delete_type,0) <>1 and nvl(a.forbidden_tag,0) <>1
/
delete from cus_fielddata where scopeid=-1
/
insert into cus_fielddata(scope, scopeid, id, field100002)
select 'HrmCustomFieldByInfoType',-1,a.id,'199_'||to_char(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,
to_number(substr(nvl(field100002,''),instr(nvl(field100002,''),'_')+1,length(nvl(field100002,''))-instr(nvl(field100002,''),'_')))+200000000,
to_number(substr(nvl(field100002,''),instr(nvl(field100002,''),'_')+1,length(nvl(field100002,''))-instr(nvl(field100002,''),'_'))),
select a.id+300000000,4,a.id,a.id,a.uuid,0,'行政维度',a.work_code,a.last_name,c.messagerurl,b.id ,
b.job_name,a.job_level,a.job_grade,
to_number(nvl(b.id,''))+200000000,
to_number(nvl(b.id,'')),
0,to_date(sysdate),to_date('2099-12-31','yyyy-mm-dd')
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
from jcl_org_hrmresource a
left join jcl_org_job b ON a.job_title = b.id
left join hrmresource c on a.uuid = c.uuid
where a.status<4
/

@ -1,687 +1,9 @@
create trigger HrmCompany_ed on HrmCompany after update as
if update(companyname)
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
set @id=0
set @ftype=0
set @fobjid=0
select @fecid=id,@uuid=uuid,@fnumber='00',@fname=companyname from inserted
set @fclass=0
set @fclassname='行政维度'
select @fleader=cast(fvalue as int) from jcl_info where id=1
select @fleaderimg=messagerurl,@fleadername=lastname,@fleaderjobid=jobtitle
from hrmresource where id=@fleader
select @fleaderjob=jobtitlemark from hrmjobtitles where id=@fleaderjobid
select @fleaderst=isnull(field100008,''),@fleaderlv=isnull(field100007,'') from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=@fleader
set @fparentid=-1
set @fobjparentid=0
select @fdatebegin=cast(GETDATE() as date)
set @fdateend='2099-12-31'
select @fplan=sum(isnull(staff_num,0)) from JCL_ORG_STAFF
where plan_id in (select id from JCL_ORG_STAFFPLAN
where time_start<=@fdatebegin and time_end>=@fdatebegin)
select @fonjob=count(1) 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=dateadd(day,-1,@fdatebegin)
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
go
create trigger JCL_ORG_COMP_ed on JCL_ORG_COMP after update,insert as
if update(comp_name) or update(comp_principal) or update(parent_company) or update(forbidden_tag)
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
select @fobjid=id,@id=id,@uuid=uuid,@fnumber=comp_no,@fname=comp_name,
@fleader=comp_principal,@fparentid=isnull(parent_company,0),
@fobjparentid=isnull(parent_company,0),@delete=isnull(forbidden_tag,0)
from inserted
select @fecid=id from HrmSubCompany where uuid=@uuid
set @fclass=0
set @fclassname='行政维度'
select @fleaderimg=messagerurl,@fleadername=lastname,@fleaderjobid=jobtitle
from hrmresource where id=@fleader
select @fleaderjob=jobtitlemark from hrmjobtitles where id=@fleaderjobid
select @fleaderst=isnull(field100008,''),@fleaderlv=isnull(field100007,'') from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=@fleader
select @fdatebegin=cast(GETDATE() as date)
set @fdateend='2099-12-31'
select @fplan=sum(isnull(staff_num,0)) 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 @fonjob=count(1) from hrmresource where status<=3 and subcompanyid1=@fecid
set @fisvitual=0
SET NOCOUNT ON
delete from jcl_org_map where ftype=1 and fobjid=@fobjid and fdatebegin=@fdatebegin
update jcl_org_map set fdateend=dateadd(day,-1,@fdatebegin)
where ftype=1 and fobjid=@fobjid and fdateend>@fdatebegin
if @delete=0
begin
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
SET NOCOUNT OFF
end
go
create trigger JCL_ORG_COMP_del on JCL_ORG_COMP after update as
if update(delete_type)
begin
declare @deletetype int
declare @ftype int
declare @fobjid int
declare @fdatebegin date
set @ftype=1
select @fobjid=id from deleted
select @fdatebegin=cast(GETDATE() as date)
select @deletetype=isnull(delete_type,0) from inserted
if @deletetype=1
begin
delete from jcl_org_map where ftype=1 and fobjid=@fobjid and fdatebegin=@fdatebegin
update jcl_org_map set fdateend=dateadd(day,-1,@fdatebegin)
where ftype=1 and fobjid=@fobjid and fdateend>@fdatebegin
end
end
go
create trigger JCL_ORG_dept_ed on JCL_ORG_dept after update,insert as
if update(dept_name) or update(dept_principal) or update(parent_comp) or update(parent_dept) or update(forbidden_tag)
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
select @fobjid=id,@id=id+@st,@uuid=uuid,@fnumber=dept_no,@fname=dept_name,
@fleader=dept_principal,
@fparentid=(case isnull(parent_dept,0) when 0 then parent_comp else parent_dept+@st end),
@fobjparentid=(case isnull(parent_dept,0) when 0 then parent_comp else parent_dept end),
@delete=isnull(forbidden_tag,0)
from inserted
select @fecid=id from HrmDepartment where uuid=@uuid
set @fclass=0
set @fclassname='行政维度'
select @fleaderimg=messagerurl,@fleadername=lastname,@fleaderjobid=jobtitle
from hrmresource where id=@fleader
select @fleaderjob=jobtitlemark from hrmjobtitles where id=@fleaderjobid
select @fleaderst=isnull(field100008,''),@fleaderlv=isnull(field100007,'') from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=@fleader
select @fdatebegin=cast(GETDATE() as date)
set @fdateend='2099-12-31'
select @fplan=sum(isnull(staff_num,0)) 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 @fonjob=count(1) from hrmresource where status<=3 and departmentid=@fecid
set @fisvitual=0
SET NOCOUNT ON
delete from jcl_org_map where ftype=2 and fobjid=@fobjid and fdatebegin=@fdatebegin
update jcl_org_map set fdateend=dateadd(day,-1,@fdatebegin)
where ftype=2 and fobjid=@fobjid and fdateend>@fdatebegin
if @delete=0
begin
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
SET NOCOUNT OFF
end
go
create trigger JCL_ORG_dept_del on JCL_ORG_dept after update as
if update(delete_type)
begin
declare @deletetype int
declare @ftype int
declare @fobjid int
declare @fdatebegin date
set @ftype=2
select @fobjid=id from deleted
select @fdatebegin=cast(GETDATE() as date)
select @deletetype=isnull(delete_type,0) from inserted
if @deletetype=1
begin
delete from jcl_org_map where ftype=@ftype and fobjid=@fobjid and fdatebegin=@fdatebegin
update jcl_org_map set fdateend=dateadd(day,-1,@fdatebegin)
where ftype=@ftype and fobjid=@fobjid and fdateend>@fdatebegin
end
end
go
create trigger JCL_ORG_job_ed on JCL_ORG_job after update,insert as
if update(job_name) or update(parent_dept) or update(parent_job) or update(forbidden_tag)
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 @parentdept int
declare @st int
set @st=100000000
declare @sj int
set @sj=200000000
set @ftype=3
select @fobjid=id,@id=id+@sj,@fnumber=job_no,@fname=job_name,
@fparentid=(case isnull(parent_job,0) when 0 then parent_dept+@st else parent_job+@sj end),
@fobjparentid=(case isnull(parent_job,0) when 0 then parent_dept else parent_job end),
@delete=isnull(forbidden_tag,0),@parentdept=parent_dept
from inserted
set @fclass=0
set @fclassname='行政维度'
select @fdatebegin=cast(GETDATE() as date)
set @fdateend='2099-12-31'
select @fplan=sum(isnull(staff_num,0)) 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 @fonjob=count(1) from hrmresource where status<=3
and departmentid=(select id from hrmdepartment where uuid=(select uuid from JCL_ORG_DEPT where id=@parentdept))
and jobtitle in (select id from hrmjobtitles where JOBTITLENAME=@fname);
set @fisvitual=0
SET NOCOUNT ON
delete from jcl_org_map where ftype=@ftype and fobjid=@fobjid and fdatebegin=@fdatebegin
update jcl_org_map set fdateend=dateadd(day,-1,@fdatebegin)
where ftype=@ftype and fobjid=@fobjid and fdateend>@fdatebegin
if @delete=0
begin
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
SET NOCOUNT OFF
end
go
create trigger JCL_ORG_job_del on JCL_ORG_job after update as
if update(delete_type)
begin
declare @deletetype int
declare @ftype int
declare @fobjid int
declare @fdatebegin date
set @ftype=3
select @fobjid=id from deleted
select @fdatebegin=cast(GETDATE() as date)
select @deletetype=isnull(delete_type,0) from inserted
if @deletetype=1
begin
delete from jcl_org_map where ftype=@ftype and fobjid=@fobjid and fdatebegin=@fdatebegin
update jcl_org_map set fdateend=dateadd(day,-1,@fdatebegin)
where ftype=@ftype and fobjid=@fobjid and fdateend>@fdatebegin
end
end
go
create trigger hrmresource_ed on hrmresource after update,insert as
if update(lastname) or update(status)
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
set @st=100000000
declare @sj int
set @sj=200000000
declare @sk int
set @sk=300000000
set @ftype=4
select @fobjid=id,@id=id+@sk,@fnumber=workcode,@fname=lastname,
@delete=case when status<=3 then 0 else 1 end,
@fleaderimg=messagerurl,@fleadername=lastname,@fleaderjobid=jobtitle
from inserted
select @str=isnull(field100002,'')
from cus_fielddata where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=@fobjid
set @wz=charindex('_',@str)
set @fobjparentid=cast(right(@str,len(@str)-@wz) as int)
set @fparentid=@fobjparentid+@sj
set @fclass=0
set @fclassname='行政维度'
select @fleaderjob=jobtitlemark from hrmjobtitles where id=@fleaderjobid
select @fleaderst=isnull(field100008,''),@fleaderlv=isnull(field100007,'') from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=@fobjid
select @fdatebegin=cast(GETDATE() as date)
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=dateadd(day,-1,@fdatebegin)
where ftype=@ftype and fobjid=@fobjid and fdateend>@fdatebegin
if @delete=0
begin
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
end
go
create trigger cus_fielddata_jclgw on cus_fielddata after update as
if update(field100002)
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
set @st=100000000
declare @sj int
set @sj=200000000
declare @sk int
set @sk=300000000
set @ftype=4
select @fobjid=id,@id=id+@sk,@str=isnull(field100002,'') from inserted
select @fnumber=workcode,@fname=lastname,
@delete=case when status<=3 then 0 else 1 end,
@fleaderimg=messagerurl,@fleadername=lastname,@fleaderjobid=jobtitle
from hrmresource where id=@fobjid
set @wz=charindex('_',@str)
set @fobjparentid=cast(right(@str,len(@str)-@wz) as int)
set @fparentid=@fobjparentid+@sj
set @fclass=0
set @fclassname='行政维度'
select @fleaderjob=jobtitlemark from hrmjobtitles where id=@fleaderjobid
select @fleaderst=isnull(field100008,''),@fleaderlv=isnull(field100007,'') from cus_fielddata
where scope='HrmCustomFieldByInfoType' and scopeid=3 and id=@fobjid
select @fdatebegin=cast(GETDATE() as date)
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=dateadd(day,-1,@fdatebegin)
where ftype=@ftype and fobjid=@fobjid and fdateend>@fdatebegin
if @delete=0
begin
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
end
go
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,isnull(parent_company,0),isnull(parent_company,0),
c.lastname,c.jobtitle,d.jobtitlemark,g.job_level,g.job_grade,isnull(parent_company,0),isnull(parent_company,0),
isnull(e.fcnt,0),isnull(f.fcnt,0),0,cast(GETDATE() as date),'2099-12-31'
from
JCL_ORG_comp as a
@ -694,7 +16,7 @@ left join (select comp_id,sum(isnull(staff_num,0)) fcnt from JCL_ORG_STAFF
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
left join jcl_org_hrmresource g ON c.uuid = g.uuid
where isnull(a.delete_type,0) <>1 and isnull(a.forbidden_tag,0) <>1
go
@ -705,7 +27,7 @@ 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,
c.lastname,c.jobtitle,d.jobtitlemark,g.job_level,g.job_grade,
(case isnull(parent_dept,0) when 0 then parent_comp else parent_dept+100000000 end),
(case isnull(parent_dept,0) when 0 then parent_comp else parent_dept end),
isnull(e.fcnt,0),isnull(f.fcnt,0),0,cast(GETDATE() as date),'2099-12-31'
@ -719,7 +41,7 @@ left join (select dept_id,sum(isnull(staff_num,0)) fcnt from JCL_ORG_STAFF
where time_start<=cast(GETDATE() as date) and time_end>cast(GETDATE() as date))
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
left join jcl_org_hrmresource g ON c.uuid = g.uuid
where isnull(a.delete_type,0) <>1 and isnull(a.forbidden_tag,0) <>1
go
@ -747,31 +69,18 @@ on f.id=a.parent_dept and a.job_name=f.jobtitlename
where isnull(a.delete_type,0) <>1 and isnull(a.forbidden_tag,0) <>1 and a.id>=10
go
delete from cus_fielddata where scopeid=-1
go
insert into cus_fielddata(scope, scopeid, id, field100002)
select 'HrmCustomFieldByInfoType',-1,a.id,'199_'+cast(e.id as varchar(10))
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
go
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,
cast(right(isnull(field100002,''),len(isnull(field100002,''))-charindex('_',isnull(field100002,''))) as int)+200000000,
cast(right(isnull(field100002,''),len(isnull(field100002,''))-charindex('_',isnull(field100002,''))) as int),
select a.id+300000000,4,a.id,a.id,a.uuid,0,'行政维度',a.work_code,a.last_name,c.messagerurl,b.id,
b.job_name,a.job_level,a.job_grade,
cast(isnull(b.id,'') as int)+200000000,
cast(isnull(b.id,'') as int),
0,cast(GETDATE() as date),'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
from jcl_org_hrmresource a
left join jcl_org_job b on a.job_title = b.id
left join hrmresource c on a.uuid = c.uuid
where a.status<4
GO

@ -41,6 +41,7 @@ import com.engine.organization.mapper.scheme.SchemeMapper;
import com.engine.organization.mapper.sequence.SequenceMapper;
import com.engine.organization.service.ExtService;
import com.engine.organization.service.HrmResourceService;
import com.engine.organization.thread.HrmResourceTriggerRunnable;
import com.engine.organization.thread.OrganizationSyncEc;
import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.MenuBtn;
@ -216,7 +217,9 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
// 获取人员UUID
RecordInfo recordInfo = getSystemDataMapper().getHrmObjectByID(HRM_RESOURCE, ecResourceId);
params.put("uuid", recordInfo.getUuid());
return getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", null);
Long resourceId = getExtService(user).updateExtForm(user, EXTEND_TYPE, JCL_ORG_HRM, params, "", null);
new Thread(new HrmResourceTriggerRunnable(resourceId)).start();
return resourceId;
}
@Override
@ -285,6 +288,7 @@ public class HrmResourceServiceImpl extends Service implements HrmResourceServic
//更新明细表
getExtService(user).updateExtDT(user, EXTEND_TYPE, JCL_ORG_HRMEXT_DT1, params, id);
new Thread(new HrmResourceTriggerRunnable(id)).start();
return updateCount;
}

@ -16,7 +16,6 @@ import com.engine.organization.entity.extend.ExtendInfoOperateType;
import com.engine.organization.entity.extend.param.ExtendInfoParams;
import com.engine.organization.entity.extend.po.ExtendInfoPO;
import com.engine.organization.entity.fieldset.param.FieldTransferParam;
import com.engine.organization.entity.jclimport.po.CusFormFieldPO;
import com.engine.organization.entity.jclimport.po.JclImportHistoryDetailPO;
import com.engine.organization.entity.jclimport.po.JclImportHistoryPO;
import com.engine.organization.entity.jclimport.vo.JclImportHistoryDetailVO;
@ -99,6 +98,8 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
String tableName = "";
String errorMsg = "";
List<String> excludeFields = new ArrayList<>();
List<FieldTransferParam> includeFields = new ArrayList<>();
List<String> selectedList = new ArrayList<>();
Map<String, Object> returnMaps = new HashMap<>();
if (StringUtils.isNotBlank(importType)) {
switch (importType) {
@ -121,7 +122,17 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
break;
case "resource":
extendType = "4";
tableName = "hrmResource";
tableName = "JCL_ORG_HRMRESOURCE";
includeFields.add(FieldTransferParam.builder().id("-1").name("所属分部").build());
includeFields.add(FieldTransferParam.builder().id("-2").name("所属部门").build());
selectedList.add("-1");
selectedList.add("-2");
excludeFields.add("ec_company");
excludeFields.add("ec_department");
excludeFields.add("scheme_id");
excludeFields.add("sequence_id");
excludeFields.add("job_grade");
excludeFields.add("job_level");
break;
default:
errorMsg = "未找到对应的导入类型,请确认";
@ -134,42 +145,16 @@ public class ImportCommonServiceImpl extends Service implements ImportCommonServ
if (StringUtils.isAnyEmpty(extendType, tableName)) {
return returnMaps;
}
if ("4".equals(extendType)) {
String voField = "subcompanyid1,departmentid," +
"workcode,lastname,loginid,password,seclevel,sex," +
// "jobtitle,jobactivity,jobgroupid,jobcall,joblevel," +
"jobactivitydesc,managerid,assistantid,status," +
"workroom,locationid,telephone,mobile,mobilecall," +
"fax,email,systemlanguage,birthday,folk," +
"nativeplace,regresidentplace,certificatenum," +
"maritalstatus,policy,bememberdate,bepartydate," +
"islabouunion,educationlevel,degree,healthinfo,height," +
"weight,usekind,startdate,enddate,probationenddate," +
"residentplace,homeaddress,tempresidentnumber," +
"companystartdate,workstartdate," +
"accumfundaccount,accounttype,belongto,height,weight,accountname,bankid1,accountid1," +
"telephone,dsporder,classification";
Collection<String> hrmFields = Arrays.asList(voField.split(","));
// 获取人员表单字段
List<CusFormFieldPO> hrmFieldBeanList = getSystemDataMapper().getHrmFieldBeanListByFields(hrmFields);
List<CusFormFieldPO> customFieldList = getSystemDataMapper().getHrmCustomFieldList();
List<CusFormFieldPO> mergeList = new ArrayList<>();
mergeList.addAll(hrmFieldBeanList);
mergeList.addAll(customFieldList);
List<FieldTransferParam> fieldDatas = mergeList.stream().map(item -> FieldTransferParam.builder().id(item.getScopeId() + item.getTableName() + item.getFieldId()).name(item.getFieldLabel()).build()).collect(Collectors.toList());
List<String> selectedKeys = mergeList.stream().filter(item -> ("1".equals(item.getRequired()) || "workcode".equals(item.getFieldName()) || "subcompanyid1".equals(item.getFieldName()) || "departmentid".equals(item.getFieldName()))).map(item -> item.getScopeId() + item.getTableName() + item.getFieldId()).collect(Collectors.toList());
returnMaps.put("data", fieldDatas);
returnMaps.put("selectedKeys", selectedKeys);
} else {
List<ExtendInfoPO> infoPOList = getExtendInfoMapper().listFields(extendType, "", tableName, ExtendInfoOperateType.LIST.getValue(), "1");
List<ExtendInfoPO> filterList = infoPOList.stream().filter(item -> !excludeFields.contains(item.getFieldName()) && 6 != item.getControlType()).collect(Collectors.toList());
List<FieldTransferParam> fieldDatas = filterList.stream().map(item -> FieldTransferParam.builder().id(item.getId().toString()).name(item.getFieldNameDesc()).build()).collect(Collectors.toList());
fieldDatas.addAll(0, includeFields);
List<String> selectedKeys = filterList.stream().filter(item -> (0 == item.getIsSystemDefault()) && 1 == item.getIsrequired()).map(item -> item.getId().toString()).collect(Collectors.toList());
selectedKeys.addAll(0,selectedList);
returnMaps.put("data", fieldDatas);
returnMaps.put("selectedKeys", selectedKeys);
}
return returnMaps;
}

@ -3,9 +3,14 @@ package com.engine.organization.service.impl;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.engine.core.impl.Service;
import com.engine.organization.entity.scheme.po.GradePO;
import com.engine.organization.entity.scheme.po.LevelPO;
import com.engine.organization.mapper.scheme.GradeMapper;
import com.engine.organization.mapper.scheme.LevelMapper;
import com.engine.organization.service.OrgChartService;
import com.engine.organization.util.HasRightUtil;
import com.engine.organization.util.db.DBType;
import com.engine.organization.util.db.MapperProxyFactory;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.hrm.User;
@ -247,8 +252,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("fnumber", rs.getString("fnumber"));
item.put("fleader", rs.getString("fleader"));
item.put("fobjid",rs.getString("fobjid"));
item.put("fleaderlv",rs.getString("fleaderlv"));
item.put("fleaderst",rs.getString("fleaderst"));
item.put("fleaderlv",convertLevel(rs.getString("fleaderlv")));
item.put("fleaderst",convertGrade(rs.getString("fleaderst")));
item.put("fecid",rs.getString("fecid"));
list.add(item);
}
@ -289,8 +294,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("fnumber", rs.getString("fnumber"));
item.put("hasChildren", hasChildren(rs.getString("id"), false));
item.put("fleader", rs.getString("fleader"));
item.put("fleaderlv",rs.getString("fleaderlv"));
item.put("fleaderst",rs.getString("fleaderst"));
item.put("fleaderlv",convertLevel(rs.getString("fleaderlv")));
item.put("fleaderst",convertGrade(rs.getString("fleaderst")));
item.put("fobjid",rs.getString("fobjid"));
currentList.add(item);
}
@ -368,8 +373,8 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
item.put("fobjid", rs.getString("fobjid"));
item.put("fecid", rs.getString("fecid"));
item.put("fleader", rs.getString("fleader"));
item.put("fleaderlv", rs.getString("fleaderlv"));
item.put("fleaderst", rs.getString("fleaderst"));
item.put("fleaderlv", convertLevel(rs.getString("fleaderlv")));
item.put("fleaderst", convertGrade(rs.getString("fleaderst")));
item.put("hasChildren", hasChildren(rs.getString("id"), false));
currentList.add(item);
}
@ -411,4 +416,36 @@ public class OrgChartServiceImpl extends Service implements OrgChartService {
}
return !"0".equals(count);
}
private String convertLevel(String fLeaderLv) {
String jobLevelName = "";
if (StringUtils.isBlank(fLeaderLv)) {
try {
long parseLong = Long.parseLong(fLeaderLv);
LevelPO levelByID = MapperProxyFactory.getProxy(LevelMapper.class).getLevelByID(parseLong);
if (null != levelByID) {
jobLevelName = levelByID.getLevelName();
}
} catch (NumberFormatException exception) {
jobLevelName = fLeaderLv;
}
}
return jobLevelName;
}
private String convertGrade(String fLeaderSt) {
String jobGradeName = "";
if (StringUtils.isBlank(fLeaderSt)) {
try {
long parseLong = Long.parseLong(fLeaderSt);
GradePO gradeByID = MapperProxyFactory.getProxy(GradeMapper.class).getGradeByID(parseLong);
if (null != gradeByID) {
jobGradeName = gradeByID.getGradeName();
}
} catch (NumberFormatException exception) {
jobGradeName = fLeaderSt;
}
}
return jobGradeName;
}
}

@ -2,6 +2,7 @@ package com.engine.organization.thread;
import com.engine.organization.entity.hrmresource.po.HrmResourcePO;
import com.engine.organization.entity.map.JclOrgMap;
import com.engine.organization.mapper.hrmresource.HrmResourceMapper;
import com.engine.organization.mapper.jclorgmap.JclOrgMapper;
import com.engine.organization.mapper.trigger.CompTriggerMapper;
import com.engine.organization.mapper.trigger.HrmResourceTriggerMapper;
@ -28,7 +29,9 @@ public class HrmResourceTriggerRunnable implements Runnable {
private HrmResourceTriggerMapper getHrmResourceTriggerMapper() {
return MapperProxyFactory.getProxy(HrmResourceTriggerMapper.class);
}
private HrmResourceMapper getHrmResourceMapper() {
return MapperProxyFactory.getProxy(HrmResourceMapper.class);
}
private JclOrgMapper getJclOrgMapper() {
return MapperProxyFactory.getProxy(JclOrgMapper.class);
}
@ -46,17 +49,20 @@ public class HrmResourceTriggerRunnable implements Runnable {
JclOrgMap jclMap = new JclOrgMap();
jclMap.setFType(4);
// 查询当前人员信息数据
HrmResource hrmResource = getHrmResourceTriggerMapper().getHrmResource(userId);
if (null != hrmResource) {
jclMap.setFObjId(hrmResource.getId());
jclMap.setId(hrmResource.getId() + sk);
jclMap.setFNumber(hrmResource.getWorkcode());
jclMap.setFName(hrmResource.getLastname());
delete = hrmResource.getStatus() <= 3 ? 0 : 1;
jclMap.setFLeaderImg(hrmResource.getMessagerurl());
jclMap.setFLeaderName(hrmResource.getLastname());
jclMap.setFLeaderJobId(hrmResource.getJobtitle());
HrmResourcePO resourceByEcId = getCompTriggerMapper().getResourceByEcId(jclMap.getFLeader());
String ecResourceId = getHrmResourceMapper().getEcResourceId(userId.toString());
HrmResource ecHrmResource = getHrmResourceTriggerMapper().getHrmResource(Long.parseLong(ecResourceId));
HrmResourcePO hrmResource = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId));
if (null != hrmResource && null!=ecHrmResource) {
jclMap.setFObjId(hrmResource.getId().intValue());
jclMap.setId(hrmResource.getId().intValue() + sk);
jclMap.setFNumber(hrmResource.getWorkCode());
jclMap.setFName(hrmResource.getLastName());
jclMap.setUuid(hrmResource.getUuid());
delete = hrmResource.getStatus() < 4 ? 0 : 1;
jclMap.setFLeaderImg(ecHrmResource.getMessagerurl());
jclMap.setFLeaderName(hrmResource.getLastName());
jclMap.setFLeaderJobId(hrmResource.getJobTitle().intValue());
HrmResourcePO resourceByEcId = getCompTriggerMapper().getResourceByEcId(Integer.parseInt(ecResourceId));
if (null != resourceByEcId) {
Long jobTitle = resourceByEcId.getJobTitle();
if (null!=jobTitle) {

@ -10,7 +10,6 @@ import java.util.*;
import java.util.stream.Collectors;
/**
* @description:
* @author:dxfeng
* @createTime: 2022/06/06
* @version: 1.0
@ -117,6 +116,9 @@ public class SearchTreeUtil {
if (isAdd && CollectionUtils.isNotEmpty(childMap.get(e.getId()))) {
treeNodes.addAll(childMap.get(e.getId()));
}
if (CollectionUtils.isNotEmpty(e.getSubs())) {
treeNodes.addAll(e.getSubs());
}
e.setSubs(treeNodes);
}).peek(item -> {
if (CollectionUtils.isNotEmpty(item.getSubs())) {

Loading…
Cancel
Save