本帖最后由 taotao_li 于 2016-2-29 18:09 编辑

CREATE OR REPLACE PACKAGE BODY BB_AJCL_GBQ_1 AS

-- AUTHOR  :

-- CREATED :

-- PURPOSE :

-- MODIFY  : NULL

-- PUBLIC TYPE DECLARATIONS:

PROCEDURE BB_AJCL_GBQ_1(P_TJND VARCHAR2, C OUT CUR) AS

V_JZMJ NUMBER;

CURSOR C_CUR IS

SELECT FGS,MAX(YQT_ID) YQT_ID FROM AJCL04G WHERE TJND = P_TJND  GROUP BY FGS;

BEGIN

DELETE TEMP_AJCL_GBQ_1 COMMIT;

----1============已开发==合计============

FOR F IN C_CUR LOOP

INSERT INTO TEMP_AJCL_GBQ_1(

FGS,CLLB,JZMJ,YYDZCLZL,RJQDZCL,YYJSKCCLZL,RJQJSKCCL,YYJJKCCLZL,RJQJJKCCL,CYYJJKCCLZL,

CRJQJJKCCL,YYNCLZL,RJQNCL,YYLJCLZL,RJQLJCL,SYYJJKCCLZL,SRJQJJKCCL,SYYJSKCCLZL,

SRJQJSKCCL,YQT_ID,XH)

SELECT F.FGS,'已开发',B.JZMJ,

A.NXYDZCLZL,A.GQDZCL,B.NXYJSKCCLZL,B.TRQJSKCCL,B.NXYJJKCCLZL,B.TRQJJKCCL,

/*DECODE(NVL(A.NXYJSKCCLZL,0)-NVL(A.NXYJJKCCLZL,0),0,NULL,*/

NVL(B.NXYJSKCCLZL,0)-NVL(B.NXYJJKCCLZL,0)/*)*/,NVL(B.TRQJSKCCL,0)-NVL(B.TRQJJKCCL,0),

NVL(B.NXYNCZL,0)+NVL(D.NXYNCZL,0), NVL(B.TRQNCL,0)+NVL(D.TRQNCL,0),

NVL(B.NXYLCZL,0)+NVL(D.NXYLCZL,0), NVL(B.TRQLJCL,0)+NVL(D.TRQLJCL,0),

NVL(B.NXYJJKCCLZL,0)-(NVL(B.NXYLCZL,0)+NVL(D.NXYLCZL,0)),

NVL(B.TRQJJKCCL,0)-(NVL(B.TRQLJCL,0)+NVL(D.TRQLJCL,0)),

NVL(B.NXYJSKCCLZL,0)-(NVL(B.NXYLCZL,0)+NVL(D.NXYLCZL,0)),

NVL(B.TRQJSKCCL,0)-(NVL(B.TRQLJCL,0)+NVL(D.TRQLJCL,0)),

F.YQT_ID,1

FROM tab_ajcl01 A,

tab_ajcl02 B,

tab_ajcl03 D

WHERE A.FGS = B.FGS(+) AND A.FGS = D.FGS(+);

COMMIT;

----2============未开发==合计============

INSERT INTO TEMP_AJCL_GBQ_1(

FGS,CLLB,JZMJ,YYDZCLZL,RJQDZCL,YYJSKCCLZL,RJQJSKCCL,YYJJKCCLZL,RJQJJKCCL,CYYJJKCCLZL,

CRJQJJKCCL,YYNCLZL,RJQNCL,YYLJCLZL,RJQLJCL,SYYJJKCCLZL,SRJQJJKCCL,SYYJSKCCLZL,

SRJQJSKCCL,YQT_ID,XH)

SELECT F.FGS,'未开发',B.JZMJ,

A.NXYDZCLZL,A.GQDZCL,B.NXYJSKCCLZL,B.TRQJSKCCL,B.NXYJJKCCLZL,B.TRQJJKCCL,

NVL(B.NXYJSKCCLZL,0)-NVL(B.NXYJJKCCLZL,0),NVL(B.TRQJSKCCL,0)-NVL(B.TRQJJKCCL,0),

NVL(B.NXYNCZL,0)+NVL(D.NXYNCLZL,0), NVL(B.TRQNCL,0)+NVL(D.TRQNCL,0),

NVL(B.NXYLCZL,0)+NVL(D.NXYLJCLZL,0), NVL(B.TRQLJCL,0)+NVL(D.TRQLJCL,0),

NVL(B.NXYJJKCCLZL,0)-(NVL(B.NXYLCZL,0)+NVL(D.NXYLJCLZL,0)),

NVL(B.TRQJJKCCL,0)-(NVL(B.TRQLJCL,0)+NVL(D.TRQLJCL,0)),

NVL(B.NXYJSKCCLZL,0)-(NVL(B.NXYLCZL,0)+NVL(D.NXYLJCLZL,0)),

NVL(B.TRQJSKCCL,0)-(NVL(B.TRQLJCL,0)+NVL(D.TRQLJCL,0)),

F.YQT_ID,2

FROM tab_ajcl01 A,

tab_ajcl02 B,

tab_ajcl03 D

WHERE A.FGS = B.FGS(+) AND A.FGS = D.FGS(+);

COMMIT;

V_JZMJ:=0;

SELECT SUM(JZMJ) INTO V_JZMJ FROM tab_ajcl01

WHERE SJLB  IN (0,1) AND TJND = P_TJND AND FGS = F.FGS;

----3============合  计==合计============

INSERT INTO TEMP_AJCL_GBQ_1(

FGS,CLLB,JZMJ,YYDZCLZL,RJQDZCL,YYJSKCCLZL,RJQJSKCCL,YYJJKCCLZL,RJQJJKCCL,CYYJJKCCLZL,

CRJQJJKCCL,YYNCLZL,RJQNCL,YYLJCLZL,RJQLJCL,SYYJJKCCLZL,SRJQJJKCCL,SYYJSKCCLZL,

SRJQJSKCCL,YQT_ID,XH)

SELECT F.FGS,'合计',/*SUM(JZMJ)*/V_JZMJ,SUM(YYDZCLZL),SUM(RJQDZCL),

SUM(YYJSKCCLZL),SUM(RJQJSKCCL),SUM(YYJJKCCLZL),SUM(RJQJJKCCL),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYJJKCCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQJJKCCL),0),

SUM(YYNCLZL),SUM(RJQNCL),SUM(YYLJCLZL),SUM(RJQLJCL),

NVL(SUM(YYJJKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJJKCCL),0)-NVL(SUM(RJQLJCL),0),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQLJCL),0),F.YQT_ID,3

FROM TEMP_AJCL_GBQ_1 WHERE FGS=F.FGS;

COMMIT;

END LOOP;

----1============中国==已开发============

INSERT INTO TEMP_AJCL_GBQ_1(

FGS,CLLB,JZMJ,YYDZCLZL,RJQDZCL,YYJSKCCLZL,RJQJSKCCL,YYJJKCCLZL,RJQJJKCCL,CYYJJKCCLZL,

CRJQJJKCCL,YYNCLZL,RJQNCL,YYLJCLZL,RJQLJCL,SYYJJKCCLZL,SRJQJJKCCL,SYYJSKCCLZL,

SRJQJSKCCL,YQT_ID,XH)

SELECT '中国','已开发',SUM(JZMJ),SUM(YYDZCLZL),SUM(RJQDZCL),

SUM(YYJSKCCLZL),SUM(RJQJSKCCL),SUM(YYJJKCCLZL),SUM(RJQJJKCCL),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYJJKCCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQJJKCCL),0),

SUM(YYNCLZL),SUM(RJQNCL),SUM(YYLJCLZL),SUM(RJQLJCL),

NVL(SUM(YYJJKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJJKCCL),0)-NVL(SUM(RJQLJCL),0),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQLJCL),0),0,1

FROM TEMP_AJCL_GBQ_1 WHERE CLLB='已开发';

COMMIT;

----2============中国==未开发============

INSERT INTO TEMP_AJCL_GBQ_1(

FGS,CLLB,JZMJ,YYDZCLZL,RJQDZCL,YYJSKCCLZL,RJQJSKCCL,YYJJKCCLZL,RJQJJKCCL,CYYJJKCCLZL,

CRJQJJKCCL,YYNCLZL,RJQNCL,YYLJCLZL,RJQLJCL,SYYJJKCCLZL,SRJQJJKCCL,SYYJSKCCLZL,

SRJQJSKCCL,YQT_ID,XH)

SELECT '中国石油','未开发',SUM(JZMJ),SUM(YYDZCLZL),SUM(RJQDZCL),

SUM(YYJSKCCLZL),SUM(RJQJSKCCL),SUM(YYJJKCCLZL),SUM(RJQJJKCCL),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYJJKCCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQJJKCCL),0),

SUM(YYNCLZL),SUM(RJQNCL),SUM(YYLJCLZL),SUM(RJQLJCL),

NVL(SUM(YYJJKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJJKCCL),0)-NVL(SUM(RJQLJCL),0),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQLJCL),0),0,2

FROM TEMP_AJCL_GBQ_1 WHERE CLLB='未开发';

COMMIT;

----3============中国==合  计============

INSERT INTO TEMP_AJCL_GBQ_1(

FGS,CLLB,JZMJ,YYDZCLZL,RJQDZCL,YYJSKCCLZL,RJQJSKCCL,YYJJKCCLZL,RJQJJKCCL,CYYJJKCCLZL,

CRJQJJKCCL,YYNCLZL,RJQNCL,YYLJCLZL,RJQLJCL,SYYJJKCCLZL,SRJQJJKCCL,SYYJSKCCLZL,

SRJQJSKCCL,YQT_ID,XH)

SELECT '中国石油','合计',SUM(JZMJ),SUM(YYDZCLZL),SUM(RJQDZCL),

SUM(YYJSKCCLZL),SUM(RJQJSKCCL),SUM(YYJJKCCLZL),SUM(RJQJJKCCL),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYJJKCCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQJJKCCL),0),

SUM(YYNCLZL),SUM(RJQNCL),SUM(YYLJCLZL),SUM(RJQLJCL),

NVL(SUM(YYJJKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJJKCCL),0)-NVL(SUM(RJQLJCL),0),

NVL(SUM(YYJSKCCLZL),0)-NVL(SUM(YYLJCLZL),0),

NVL(SUM(RJQJSKCCL),0)-NVL(SUM(RJQLJCL),0),0,3

FROM TEMP_AJCL_GBQ_1 WHERE CLLB='合计';

COMMIT;

OPEN C FOR

SELECT A.FGS,

CLLB,

NULLIF(JZMJ,0) JZMJ,

NULLIF(RJQDZCL,0) RJQDZCL,

NULLIF(YYDZCLZL,0) YYDZCLZL,

NULLIF(RJQJSKCCL,0) RJQJSKCCL,

NULLIF(YYJSKCCLZL,0) YYJSKCCLZL,

NULLIF(RJQJJKCCL,0) RJQJJKCCL,

NULLIF(YYJJKCCLZL,0) YYJJKCCLZL,

NULLIF(CRJQJJKCCL,0) CRJQJJKCCL,

NULLIF(CYYJJKCCLZL,0) CYYJJKCCLZL,

ROUND(NULLIF(RJQNCL,0),2) RJQNCL,

ROUND(NULLIF(YYNCLZL,0),2) YYNCLZL,

ROUND(NULLIF(RJQLJCL,0),2) RJQLJCL,

ROUND(NULLIF(YYLJCLZL,0),2) YYLJCLZL,

ROUND(NULLIF(SRJQJJKCCL,0),2) SRJQJJKCCL,

ROUND(NULLIF(SYYJJKCCLZL,0),2) SYYJJKCCLZL,

ROUND(NULLIF(SRJQJSKCCL,0),2) SRJQJSKCCL,

ROUND(NULLIF(SYYJSKCCLZL,0),2) SYYJSKCCLZL

FROM TEMP_AJCL_GBQ_1 A,TEMP_FGSMC T WHERE A.FGS = T.FGS(+)

ORDER BY T.XH, A.XH;

END;

END BB_AJCL_GBQ_1;

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐