📄 cre_package_jc.sql
字号:
Rem /*********************************************************************
Rem PROGRAM (P) Vst Software Corporation
Rem Program: CRE_package_jc.Sql
Rem System: 劳动检查数据库包
Rem Descripton: 创建劳动检查数据库包
Rem
Rem
Rem Modification History:
Rem ----------------------------------------------------------------------
Rem Date By Remarks/Reason
Rem ----------------------------------------------------------------------
Rem 2003.03.22 Created
Rem
Rem Global Variables:
Rem <variable>
Rem <description>
Rem Usage:
Rem DP_SYS 创建包DP_SYS
Rem
Rem
Rem Count: 1
Rem *********************************************************************/
PROMPT CREATING PACKAGE DP_SYS ...
CREATE OR REPLACE PACKAGE DP_SYS AS
/*
1.函数F_GET_MC_BY_DM: 功能:从DM_MX(代码)表中取出相应的代码名称
入口参数:代码名 v_codeid VARCHAR2,代码 v_codeinfoid VARCHAR2
出口参数:名称 v_codeinfo VARCHAR2
2 函数TO_CHN_DATE 功能:得到日期(字符型+汉字)。
入口参数:日期d_rq,格式v_format('Y':年,'M':月,'D':日,'YM':年月,'YMD':年月日,'YMDHM')
出口参数:该日期的汉字字符
示例:To_Chn_Date('12-jan-99','Y') --> '1999年'
To_Chn_Date('12-jan-99','M') --> '1月'
To_Chn_Date('12-jan-99','D') --> '12日'
To_Chn_Date('12-jan-99','YM') --> '1999年1月'
To_Chn_Date('12-jan-99','YMD') --> '1999年1月12日'
To_Chn_Date('12-jan-99:12-30','YMDHM') --> '1999年1月12日12时30分'
3.函数GET_AJID: 功能:得到案件序号
入口参数:区县编码 VARCHAR2
出口参数:案件序号 VARCHAR2
4.函数F_GET_DWMC_BY_DMID: 功能:从DW_XX表中取出相应的单位名称
入口参数:代码名 v_dwid VARCHAR2
出口参数:名称 v_dwmc VARCHAR2
5.函数F_GET_RYXM_BY_RYID: 功能:从JCY_RY表中取出相应的人员姓名
入口参数:代码名 v_RYID VARCHAR2
出口参数:名称 v_RYXM VARCHAR2
.函数F_GET_RYXM_BY_RYCODE: 功能:从JCY_RY表中取出相应的人员姓名
入口参数:代码名 v_RYCODE VARCHAR2
出口参数:名称 v_RYXM VARCHAR2
6.函数F_GET_NJHG_BY_DWID: 功能:从年检信息表中取出最近的是否合格代码
入口参数:单位ID v_DWID VARCHAR2
出口参数:是否合格 v_SFHG VARCHAR2
7.函数F_GET_SSYJ_BY_AJ_ID: 功能:从连审批表中取出非法事实依据
入口参数:案件ID v_AJID VARCHAR2
出口参数:事实依据 v_SSYJ VARCHAR2
8.函数F_GET_DWMC_BY_AJ_ID: 功能:通过案件ID得到单位名称
入口参数:案件ID v_AJID VARCHAR2
出口参数:单位名称 v_DWMC VARCHAR2
9.函数F_BL_CHECK_SB: 功能:检测是否可以上报不良信息
入口参数:案件ID v_AJID VARCHAR2
出口参数:上报标志 v_SBBZ VARCHAR2
10.函数F_GET_DWXZ_BY_DMID: 功能:从DW_XX表中取出相应的单位性质
入口参数:代码名 v_dwid VARCHAR2
出口参数:名称 v_dwxz VARCHAR2
11.函数F_GET_BBMC_BY_BBDM: 功能:从TJ_BBXX表中取出相应的报表名称
入口参数:代码名 v_bbdm VARCHAR2
出口参数:名称 v_bbmc VARCHAR2
*/
FUNCTION F_GET_MC_BY_DM(v_codeid VARCHAR2,v_codeinfoid VARCHAR2) RETURN VARCHAR2;
FUNCTION To_Chn_Date(v_rq DATE,v_format VARCHAR2) RETURN VARCHAR2;
pragma restrict_references(to_chn_date, WNDS, RNDS, WNPS, RNDS) ;
FUNCTION GET_AJID(v_qxbm VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_DWMC_BY_DWID(v_dwid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_RYXM_BY_RYID(v_ryid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_RYXM_BY_RYCODE(v_ryid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_NJHG_BY_DWID(v_DWid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_SSYJ_BY_AJ_ID(v_AJid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_DWMC_BY_AJ_ID(v_AJid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_BL_CHECK_SB(v_ajid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_DWXZ_BY_DWID(v_dwid VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_BBMC_BY_BBDM(v_bbdm VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_ZBDM_BY_CBR(v_cbr VARCHAR2) RETURN VARCHAR2;
FUNCTION F_GET_ZBMC_BY_ZBDM(v_zbdm VARCHAR2) RETURN VARCHAR2;
END DP_SYS;
/
show errors
Prompt Creating PACKAGE BODY DP_SYS ...
/********************************************************************************/
/********************************************************************************/
CREATE OR REPLACE PACKAGE BODY DP_SYS AS
/******************************
从dm_mx表中取出相应的汉字名称
******************************/
FUNCTION F_GET_MC_BY_DM(v_codeid VARCHAR2,v_codeinfoid VARCHAR2) RETURN VARCHAR2 IS
v_codeinfo dm_mx.mc%TYPE;
BEGIN
select mc into v_codeinfo
from dm_mx
where dmm = v_codeid
and dm = v_codeinfoid;
RETURN v_codeinfo ;
EXCEPTION
WHEN others THEN
RETURN null;
END F_GET_MC_BY_DM;
/******************************
得到日期(字符型+汉字)
******************************/
FUNCTION To_Chn_Date(v_rq DATE,v_format VARCHAR2) RETURN VARCHAR2 IS
v_fmt VARCHAR2(8) := Upper(v_format);
v_date VARCHAR2(100) := NULL;
BEGIN
IF v_rq is null THEN
v_date := null;
ELSIF v_fmt = 'Y' THEN
v_date := to_char(v_rq,'YYYY')||'年';
ELSIF v_fmt = 'M' THEN
v_date := ltrim(to_char(v_rq,'MM'),'0')||'月';
ELSIF v_fmt = 'D' THEN
v_date := ltrim(to_char(v_rq,'DD'),'0')||'日';
ELSIF v_fmt = 'YM' THEN
v_date := to_char(v_rq,'YYYY') ||'年'||
ltrim(to_char(v_rq,'MM'),'0')||'月';
ELSIF v_fmt = 'YMD' THEN
v_date := to_char(v_rq,'YYYY') ||'年'||
ltrim(to_char(v_rq,'MM'),'0')||'月'||
ltrim(to_char(v_rq,'DD'),'0')||'日';
ELSIF v_fmt = 'YMDHM' THEN
IF to_char(v_rq,'hh24') > '12' THEN
v_date := v_date||to_char(v_rq,'YYYY')||'年'||
ltrim(to_char(v_rq,'MM'),'0')||'月'||
ltrim(to_char(v_rq,'DD'),'0')||'日'||' 下午';
v_date := v_date||ltrim(to_char(v_rq,'HH24'),'0')||'时';
IF to_char(v_rq,'MI') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'0分';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'分';
END IF;
ELSIF to_char(v_rq,'hh24') < '12' THEN
v_date := to_char(v_rq,'YYYY') ||'年'||
ltrim(to_char(v_rq,'MM'),'0')||'月'||
ltrim(to_char(v_rq,'DD'),'0')||'日'||' 上午';
IF to_char(v_rq,'HH24') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'HH24'),'0')||'0时';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'HH24'),'0')||'时';
END IF;
IF to_char(v_rq,'MI') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'0分';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'分';
END IF;
ELSE
v_date := to_char(v_rq,'YYYY') ||'年'||
ltrim(to_char(v_rq,'MM'),'0')||'月'||
ltrim(to_char(v_rq,'DD'),'0')||'日'||' 中午'||
ltrim(to_char(v_rq,'HH24'),'0')||'时';
IF to_char(v_rq,'MI') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'0分';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'分';
END IF;
END IF;
ELSIF v_fmt = 'HM' THEN
IF to_char(v_rq,'hh24') > '12' THEN
v_date := ' 下午'||
ltrim(to_char(v_rq,'HH24'),'0')||'时';
IF to_char(v_rq,'MI') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'0分';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'分';
END IF;
ELSIF to_char(v_rq,'hh24') < '12' THEN
v_date := ' 上午';
IF to_char(v_rq,'HH24') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'HH24'),'0')||'0时';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'HH24'),'0')||'时';
END IF;
IF to_char(v_rq,'MI') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'0分';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'分';
END IF;
ELSE
v_date := ' 中午'||
ltrim(to_char(v_rq,'HH24'),'0')||'时';
IF to_char(v_rq,'MI') = '00' THEN
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'0分';
ELSE
v_date := v_date||ltrim(to_char(v_rq,'MI'),'0')||'分';
END IF;
END IF;
END IF;
RETURN v_date;
END;
/******************************
取出案件编号
******************************/
FUNCTION GET_AJID(v_qxbm VARCHAR2) RETURN VARCHAR2 IS
v_ajid VARCHAR2(12);
n NUMBER;
v_year VARCHAR2(4);
v_bh VARCHAR2(5);
BEGIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -