--名称在表单中不存在,则新增一条记录
if n_number = 0 then
--取序列号id值
n_squ := aaa.nextval;
--插入系统表t_document
INSERT INTO t_document (
ID,
LASTMODIFIED,
FORMNAME,
AUDITDATE,
AUTHOR,
CREATED,
FORMID,
ISTMP,
VERSIONS,
APPLICATIONID,
LASTMODIFIER,
DOMAINID,
MAPPINGID)
VALUES(
n_squ,
sysdate,
'楚雄供电局综合管理系统/楚雄供电局绩效管理系统/汇总报表/绩效考核汇总/指标得分汇总',
sysdate,
'11e2-ef7c-468ec130-9773-55c246db6014',
sysdate,
'11e3-16db-542b7646-b516-55f276babf1b',
0,
1,
'11e2-ed14-77e8cad7-b3e1-ab5a91ed53a2',
sysdate,
'11e2-ed14-6d62db45-b3e1-ab5a91ed53a2',
n_squ);
--插入表单数据
INSERT INTO tlk_指标得分汇总
(ITEM_部门名称,
ITEM_指标名称,
ITEM_责任系数,
ITEM_权重,
ITEM_指标排名,
ITEM_指标得分系数,
ITEM_年度,
ITEM_周期类型,
ITEM_得分,
ITEM_责任关系,
ITEM_指标得分,
ID,
FORMNAME,
FORMID,
APPLICATIONID,
DOMAINID,
versions)
VALUES (
c_row.item_部门名称,
c_row.item_指标,
c_row.ITEM_责任,
c_row.ITEM_权重,
c_row.ITEM_排名,
n_score,
p_mc1,
p_mc2,
n_score_hz,
v_dept_hz,
c_row.Item_得分,
n_squ,
'楚雄供电局综合管理系统/楚雄供电局绩效管理系统/汇总报表/绩效考核汇总/指标得分汇总',
'11e3-16db-542b7646-b516-55f276babf1b',
'11e2-ed14-77e8cad7-b3e1-ab5a91ed53a2',
'11e2-ed14-6d62db45-b3e1-ab5a91ed53a2',
1
);
--如果存在记录,判断是否存在时间周期相同的记录,存在则不insert,不存在则insert
else
open rszbmpdf for select ITEM_年度,ITEM_周期类型 from tlk_指标得分汇总 where ITEM_部门名称 = c_row.ITEM_部门名称 and ITEM_指标名称 = c_row.ITEM_指标 and ITEM_周期类型 like '%'||p_mc2||'%';
loop
fetch rszbmpdf into v_cz_year,v_cz_zqlx;
exit when rszbmpdf%notfound;
if rszbmpdf%found then
select count(*) into n_number_2
from tlk_指标得分汇总
where ITEM_部门名称 = c_row.ITEM_部门名称
and ITEM_年度 =p_mc1
and ITEM_周期类型 =p_mc2
and ITEM_指标名称 = c_row.ITEM_指标;
if n_number_2 = 0 then
n_squ := aaa.nextval;
--插入系统表t_document
INSERT INTO t_document (
ID,
LASTMODIFIED,
FORMNAME,
AUDITDATE,
AUTHOR,
CREATED,
FORMID,
ISTMP,
VERSIONS,
APPLICATIONID,
LASTMODIFIER,
DOMAINID,
MAPPINGID)
VALUES(
n_squ,
sysdate,
'楚雄供电局综合管理系统/楚雄供电局绩效管理系统/汇总报表/绩效考核汇总/指标得分汇总',
sysdate,
'11e2-ef7c-468ec130-9773-55c246db6014',
sysdate,
'11e3-16db-542b7646-b516-55f276babf1b',
0,
1,
'11e2-ed14-77e8cad7-b3e1-ab5a91ed53a2',
sysdate,
'11e2-ed14-6d62db45-b3e1-ab5a91ed53a2',
n_squ);
--插入表单数据
INSERT INTO tlk_指标得分汇总
(ITEM_部门名称,
ITEM_指标名称,
ITEM_权重,
ITEM_责任系数,
ITEM_指标排名,
ITEM_指标得分系数,
ITEM_年度,
ITEM_周期类型,
ITEM_得分,
ITEM_责任关系,
ITEM_指标得分,
ID,
FORMNAME,
FORMID,
APPLICATIONID,
DOMAINID,
versions)
VALUES (
c_row.item_部门名称,
c_row.item_指标,
c_row.ITEM_权重,
c_row.ITEM_责任,
c_row.ITEM_排名,
n_score,
p_mc1,
p_mc2,
n_score_hz,
v_dept_hz,
c_row.Item_得分,
n_squ,
'楚雄供电局综合管理系统/楚雄供电局绩效管理系统/汇总报表/绩效考核汇总/指标得分汇总',
'11e3-16db-542b7646-b516-55f276babf1b',
'11e2-ed14-77e8cad7-b3e1-ab5a91ed53a2',
'11e2-ed14-6d62db45-b3e1-ab5a91ed53a2',
1
);
else
update tlk_指标得分汇总
set ITEM_权重 = c_row.ITEM_权重,
ITEM_责任系数 = c_row.ITEM_责任,
ITEM_指标排名 = c_row.ITEM_排名,
ITEM_得分 = n_score_hz,
ITEM_指标得分 = c_row.Item_得分,
ITEM_指标得分系数 = n_score
where ITEM_部门名称 = c_row.ITEM_部门名称
and ITEM_指标名称 = c_row.ITEM_指标
and ITEM_周期类型 =p_mc2
and ITEM_年度 = p_mc1;
end if;
end if;
end loop;
close rszbmpdf;
end if;
end if;
end loop;
close rszbmpdf_hz;
--查询输出表单数据
if p_mr='管理员' or p_mr = '供电局牵头部门绩效员企管部绩效员' then
open c_ref for select * from tlk_指标得分汇总
where ITEM_年度 = p_mc1
and ITEM_周期类型 = p_mc2
--and ITEM_责任系数 is not null
and ITEM_指标名称 != '安全管理'
order by ITEM_指标名称,ITEM_责任关系;
else
open c_ref for
select * from tlk_指标得分汇总
where ITEM_年度 = p_mc1
and ITEM_周期类型 = p_mc2
and ITEM_部门名称 = c_row.ITEM_部门名称
--and ITEM_责任系数 is not null
and ITEM_指标名称 != '安全管理'
order by ITEM_指标名称,ITEM_责任关系;
end if;
Exception
When others then
DBMS_OUTPUT.put_line('sqlcode:' ||sqlcode);
DBMS_OUTPUT.put_line('sqlerrm:' ||substr(Sqlerrm,1,100));
Rollback;
END pro_zb_dfhz;
end SP_zb_dfhz; |