PACKAGE
CREATE OR REPLACE PACKAGE PV_ITEM_PKG IS
-------------------------------------------------
-- REM.1.0 过程名:ITEM_APPLY
-- REM.1.1 描述:指标申请
-------------------------------------------------
PROCEDURE ITEM_APPLY_PROC(
I_ORG_CODE IN VARCHAR2,
I_PERSON_CODE IN VARCHAR2,
I_DEPT_CODE IN VARCHAR2,
I_UP_DEPT_CODE IN VARCHAR2,
I_ITEM_STATE IN VARCHAR2,
I_APPLY_REASON IN VARCHAR2, --表单信息
I_ITEM_NAME IN VARCHAR2, --指标信息
I_BASE_TYPE IN VARCHAR2,
I_ITEM_UNIT IN VARCHAR2,
I_ITEM_EXPLAIN IN VARCHAR2,
I_ITEM_COM_FLAG IN VARCHAR2,
I_ITEM_TYPE IN VARCHAR2,
I_IS_ALL IN VARCHAR2,
O_APPLY_ID OUT VARCHAR2,
O_RETURN OUT VARCHAR2,
O_MSG OUT VARCHAR2
);
-------------------------------------------------
-- REM.1.0 过程名:ITEM_AUDIT
-- REM.1.1 描述:指标审核
-------------------------------------------------
PROCEDURE ITEM_AUDIT_PROC(
I_APPLY_ID IN VARCHAR2,
I_ORG_CODE IN VARCHAR2,
I_PERSON_CODE IN VARCHAR2,
I_DEPT_CODE IN VARCHAR2, --表单信息
I_AUDIT_STATE IN VARCHAR2, --审核信息
I_REMARK IN VARCHAR2,
O_RETURN OUT VARCHAR2,
O_MSG OUT VARCHAR2
);
END PV_ITEM_PKG;
PACKAGE BODY
CREATE OR REPLACE PACKAGE BODY PV_ITEM_PKG IS
TYPE DATA_CUR IS REF CURSOR;
-------------------------------------------------
-- REM.1.0 过程名:ITEM_APPLY
-- REM.1.1 描述:指标申请
-------------------------------------------------
PROCEDURE ITEM_APPLY_PROC(
I_ORG_CODE IN VARCHAR2,
I_PERSON_CODE IN VARCHAR2,
I_DEPT_CODE IN VARCHAR2,
I_UP_DEPT_CODE IN VARCHAR2,
I_ITEM_STATE IN VARCHAR2,
I_APPLY_REASON IN VARCHAR2, --表单信息
I_ITEM_NAME IN VARCHAR2, --指标信息
I_BASE_TYPE IN VARCHAR2,
I_ITEM_UNIT IN VARCHAR2,
I_ITEM_EXPLAIN IN VARCHAR2,
I_ITEM_COM_FLAG IN VARCHAR2,
I_ITEM_TYPE IN VARCHAR2,
I_IS_ALL IN VARCHAR2,
O_APPLY_ID OUT VARCHAR2,
O_RETURN OUT VARCHAR2,
O_MSG OUT VARCHAR2
)
AS
G_APPLY_ID VARCHAR2(20);
G_APPLY_NAME VARCHAR2(50);
G_ORG_CODE VARCHAR2(8);
G_PERSON_CODE VARCHAR2(8);
G_DEPT_CODE VARCHAR2(20);
G_UP_DEPT_CODE VARCHAR2(20);
G_ITEM_STATE VARCHAR2(2);
G_APPLY_REASON VARCHAR2(200);
----------------
G_DETAIL_ID VARCHAR2(20);
G_ITEM_NAME VARCHAR2(80);
G_BASE_TYPE VARCHAR2(2);
G_ITEM_UNIT VARCHAR2(20);
G_ITEM_EXPLAIN VARCHAR2(200);
G_ITEM_COM_FLAG VARCHAR2(2);
G_ITEM_TYPE VARCHAR2(2);
G_IS_ALL VARCHAR2(1);
BEGIN
G_ORG_CODE := I_ORG_CODE;
G_PERSON_CODE := I_PERSON_CODE;
G_DEPT_CODE := I_DEPT_CODE;
G_UP_DEPT_CODE := I_UP_DEPT_CODE;
G_ITEM_STATE := I_ITEM_STATE;
G_APPLY_REASON := I_APPLY_REASON;
G_ITEM_NAME := I_ITEM_NAME;
G_BASE_TYPE := I_BASE_TYPE;
G_ITEM_UNIT := I_ITEM_UNIT;
G_ITEM_EXPLAIN := I_ITEM_EXPLAIN;
G_ITEM_COM_FLAG := I_ITEM_COM_FLAG;
G_ITEM_TYPE := I_ITEM_TYPE;
G_IS_ALL := I_IS_ALL;
G_APPLY_NAME := I_ITEM_NAME||G_ORG_CODE||'申请表';
--1.取得 APPLY_ID
SELECT SEQ_APPLY_ID.NEXTVAL INTO G_APPLY_ID FROM DUAL;
--2.取得 APPLY_DETAIL_ID
SELECT SEQ_APPLY_DETAIL_ID.NEXTVAL INTO G_DETAIL_ID FROM DUAL;
--1.插入 PV_ITEM_APPLY
INSERT INTO PV_ITEM_APPLY(
APPLY_ID,APPLY_NAME,PERSON_CODE,DEPT_CODE,ORG_CODE,UP_DEPT_CODE,
ITEM_STATE,APPLY_DATE,APPLY_REASON,AUDIT_STATE
)
VALUES(
G_APPLY_ID,G_APPLY_NAME,G_PERSON_CODE,G_DEPT_CODE,G_ORG_CODE,
G_UP_DEPT_CODE,G_ITEM_STATE,SYSDATE,G_APPLY_REASON,'0'
);
--2.插入 PV_ITEM_APPLY_DETAIL
INSERT INTO PV_ITEM_APPLY_DETAIL(
APPLY_ID,DETAIL_ID,ITEM_NAME,BASE_TYPE,ITEM_UNIT,
ITEM_EXPLAIN,ITEM_COM_FLAG,ITEM_TYPE,IS_ALL
)
VALUES(
G_APPLY_ID,G_DETAIL_ID,G_ITEM_NAME,G_BASE_TYPE,G_ITEM_UNIT,
G_ITEM_EXPLAIN,G_ITEM_COM_FLAG,G_ITEM_TYPE,G_IS_ALL
);
COMMIT;
O_RETURN := '1';
O_APPLY_ID := G_APPLY_ID;
O_MSG := '指标申请保存成功!';
EXCEPTION WHEN OTHERS THEN
O_RETURN := '-1';
O_MSG := '程序异常,指标申请保存失败,请联系信息管理员!';
ROLLBACK;
END ITEM_APPLY_PROC;
-------------------------------------------------
-- REM.1.0 过程名:ITEM_AUDIT
-- REM.1.1 描述:指标申请
-------------------------------------------------
PROCEDURE ITEM_AUDIT_PROC(
I_APPLY_ID IN VARCHAR2,
I_ORG_CODE IN VARCHAR2,
I_PERSON_CODE IN VARCHAR2,
I_DEPT_CODE IN VARCHAR2, --表单信息
I_AUDIT_STATE IN VARCHAR2, --审核信息
I_REMARK IN VARCHAR2,
O_RETURN OUT VARCHAR2,
O_MSG OUT VARCHAR2
)
AS
G_APPLY_ID VARCHAR2(20);
G_ORG_CODE VARCHAR2(8);
G_PERSON_CODE VARCHAR2(8);
G_DEPT_CODE VARCHAR2(20);
G_AUDIT_STATE VARCHAR2(2);
G_REMARK VARCHAR2(200);
G_ITEM_CODE VARCHAR2(20);
G_AP_ORG_CODE VARCHAR2(20);
G_AP_DEPT_CODE VARCHAR2(20);
G_AU_ORG_CODE VARCHAR2(20);
G_AU_DEPT_CODE VARCHAR2(20);
G_REMARK_ID VARCHAR2(20);
DETAIL_CUR DATA_CUR;
G_ITEM_NAME VARCHAR2(50);
G_BASE_TYPE VARCHAR2(2);
G_ITEM_UNIT VARCHAR2(20);
G_ITEM_EXPLAIN VARCHAR2(200);
G_ITEM_COM_FLAG VARCHAR2(2);
G_ITEM_TYPE VARCHAR2(2);
G_IS_ALL VARCHAR2(1);
BEGIN
G_APPLY_ID := I_APPLY_ID;
G_ORG_CODE := I_ORG_CODE;
G_PERSON_CODE := I_PERSON_CODE;
G_DEPT_CODE := I_DEPT_CODE;
G_AUDIT_STATE := I_AUDIT_STATE;
G_REMARK := I_REMARK;
--1.审批信息
UPDATE PV_ITEM_APPLY
SET AUDIT_PERSON_CODE=G_PERSON_CODE,AUDIT_ORG_CODE=G_ORG_CODE,AUDIT_DEPT_CODE=G_DEPT_CODE,
AUDIT_STATE=G_AUDIT_STATE,AUDIT_DATE=SYSDATE,REMARK=G_REMARK,EXECUTION_ID=''
WHERE APPLY_ID=G_APPLY_ID;
--2.取得申请人及审核人信息
SELECT ORG_CODE,DEPT_CODE,AUDIT_ORG_CODE,AUDIT_DEPT_CODE INTO G_AP_ORG_CODE,G_AP_DEPT_CODE,G_AU_ORG_CODE,G_AU_DEPT_CODE
FROM PV_ITEM_APPLY WHERE APPLY_ID=G_APPLY_ID;
--3.审批通过,建立新指标
IF G_AUDIT_STATE=1 THEN
OPEN DETAIL_CUR FOR
SELECT ITEM_NAME,BASE_TYPE,ITEM_UNIT,ITEM_EXPLAIN,ITEM_COM_FLAG,ITEM_TYPE,IS_ALL
FROM PV_ITEM_APPLY_DETAIL WHERE APPLY_ID=G_APPLY_ID;
LOOP
FETCH DETAIL_CUR INTO G_ITEM_NAME,G_BASE_TYPE,G_ITEM_UNIT,G_ITEM_EXPLAIN,G_ITEM_COM_FLAG,G_ITEM_TYPE,G_IS_ALL;
EXIT WHEN DETAIL_CUR%NOTFOUND;
--1.审批通过,生成新指标,加入指标中心 (PV_ITEM)
SELECT SEQ_ITEM_CODE.NEXTVAL INTO G_ITEM_CODE FROM DUAL;
INSERT INTO PV_ITEM(
ITEM_CODE,ITEM_NAME,ITEM_EXPLAIN,ITEM_TYPE,ITEM_UNIT,COMPUTE_FLAG,
USE_FLAG,BASE_TYPE,IS_ALL,CREATE_CODE,ORG_CODE,DEPT_CODE,CREATE_DATE
)
VALUES(
G_ITEM_CODE,G_ITEM_NAME,G_ITEM_EXPLAIN,G_ITEM_TYPE,G_ITEM_UNIT,G_ITEM_COM_FLAG,
'1',G_BASE_TYPE,G_IS_ALL,G_PERSON_CODE,G_ORG_CODE,G_DEPT_CODE,SYSDATE
);
--2.申请人和定义的上级单位部门均为指标拥有者
INSERT INTO PV_ITEM_OWNER(
OWNER_ID,ITEM_CODE,DEPT_CODE,ORG_CODE,OPERATE_DATE
)
VALUES(
SEQ_ITEM_OWNER_ID.NEXTVAL,G_ITEM_CODE,G_AP_DEPT_CODE,G_AP_ORG_CODE,SYSDATE
);
INSERT INTO PV_ITEM_OWNER(
OWNER_ID,ITEM_CODE,DEPT_CODE,ORG_CODE,OPERATE_DATE
)
VALUES(
SEQ_ITEM_OWNER_ID.NEXTVAL,G_ITEM_CODE,G_AU_DEPT_CODE,G_AU_ORG_CODE,SYSDATE
);
END LOOP;
--3.审批通过,备案 PV_ITEM_REMARK
SELECT SEQ_REMARK_ID.NEXTVAL INTO G_REMARK_ID FROM DUAL;
INSERT INTO PV_ITEM_REMARK(REMARK_ID,APPLY_ID,REMARK_DATE)
VALUES(G_REMARK_ID,G_APPLY_ID,SYSDATE);
END IF;
--4.申请指标信息
UPDATE PV_ITEM_APPLY_DETAIL SET ITEM_CODE=G_ITEM_CODE
WHERE APPLY_ID=G_APPLY_ID;
COMMIT;
O_RETURN := '1';
O_MSG := '指标审核保存成功!';
EXCEPTION WHEN OTHERS THEN
ROLLBACK;
O_RETURN := '-1';
O_MSG := '程序异常,指标审核保存失败,请联系信息管理员!';
END ITEM_AUDIT_PROC;
END PV_ITEM_PKG;
分享到:
相关推荐
routine_body:存储过程的主体部分,也叫做存储过程体。里面包含了在过程调用的时候必须执行的语句,这个部分总是以BEGIN开始,以END结束。当然,当存储过程体中只有一个SQL语句时可以省略BEGIN-END标志。 创建存储...
css浏览器兼容写法 如果只让ie6看见用*html .head{color:#000;} 如果只让ie7看见用*+html .head{color:#000;} 如果只让ff看见用:root body .head{color:#000;} 如果只让ff、IE8看见用html>/**/body .head{color:#000...
SQL语句对单个的MySQL存储过程导出 首先确保参数secure-file-priv='' 表示不限制mysqld在任意目录的导入导出 打开my.cnf或my.ini,加入如下语句后重启mysql服务。 secure_file_priv='' sql语法只修改下面的...
浅析@ReponseBody和@RequestBody注解主要讲述了@ReponseBody的作用和@RequestBody的作用和springMvc内部是如何对他们进行解析的
1、首先在ORACLE里建立如下PACKAGE PACKAGE分SPEC和body两部分 2、C#部分代码
什么是存储过程, 百度百科是这么定义的:存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的...
BODY
spring 支持@RequestBody注解依赖包 、 spring 支持@RequestBody注解依赖包 spring 支持@RequestBody注解依赖包
— 此外,用户可以调整Toolbox和DrivePro Body设备的设置,格式化内部存储设备,并通过Toolbox升级Body摄像头的固件。 — 文件备份:一旦与DrivePro Body监控设备连接,自动备份照片和录像。 — 设备设置:调整...
CMU在BODY25数据集上训练的模型,包含25个关键点,使用代码与COCO有所不同 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
写一个存储过程,往users表中插入数据,创建过程如下: 代码如下 BEGIN #Routine body goes here... declare n bigint; set n = 201121029684; while n <= 201121029694 do insert into users(student_...
body> ,之后字符有效 。 $content = file_get_contents("$filename"); $i = strpos("$content","<body"); $j = $i +1 ; $k = strpos("$content",">",$j); //找到</body>,之前字符有效。 $m ...
实现了别的服务器通过Http协议接口推送到自己的服务器包体(body)接收代码的实现过程,我这里是用的.net的一般处理程序做的Http接口,调用时候无需定义参数,发布后访问文件全路径就可以获取对方传过来的包体全部...
2D Soft Body 2.0.unitypackage
主要给大家介绍了关于在ASP.NET Core自定义中间件中如何读取Request.Body与Response.Body的内容,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起...
//(情况2)也可能是根本没有body标签 //对情况1),先跳过空格换行等,看后面的字符是不是body,如果是,此次查询就是对的。 // 如果不是,就重新查询,且定义初始查询位置为上次查询+1,直到有结果。 //对情况2 ...
troduction in many body physics
@RequestBody与@Validated使用时校验失效.md
Rigid Body Dynamics Algorithms
Body Sensor Networks 电子书