⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cre_package_jc.sql

📁 公务员管理系统
💻 SQL
📖 第 1 页 / 共 2 页
字号:
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 + -