create or replace package body Prc_Stat is
Procedure Prc_Stat_yuebao(card_type IN TMP_ZXBB_YB.qc%type,
card_guige IN TMP_ZXBB_YB.qc%type,
p_rc1 OUT pkg_sql.MyRsType) is
strSql VARCHAR2(1000);
tmp_wdid_current VARCHAR2(20);
fund01 number(16,6);
fund02 number(16,6);
fund03 number(16,6);
fund04 number(16,6);
fund05 number(16,6);
fund06 number(16,6);
fund07 number(16,6);
fund08 number(16,6);
fund09 number(16,6);
fund10 number(16,6);
fund11 number(16,6);
fund12 number(16,6);
fund13 number(16,6);
Begin
insert into TMP_ZXBB_YB (wdid,pid,wdname) SELECT ID wdid, PID, FULLNAME wdname FROM TORG WHERE TYPE = '4' ORDER BY ORGBH;
declare
cursor cur_Dtl9 is select wdid from TMP_ZXBB_YB;
begin
OPEN cur_Dtl9;
loop
fetch cur_Dtl9 into tmp_wdid_current;
exit when(cur_Dtl9%notfound);
--期初库存
SELECT SUM(ZPJC + CPJC) into fund01
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE('2015-08-01',
'YYYY/MM/DD'),
-1)),
'YYYY/MM/DD')
and ORGID=tmp_wdid_current;
--期末库存
SELECT SUM(ZPJC + CPJC) into fund02
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(SYSDATE, 'YYYY/MM/DD')
and ORGID= tmp_wdid_current;
--其他入库
SELECT count(RKD.ORGID) into fund03 FROM T_RKMX RKMX , T_RKD RKD where RKD.RKDID = RKMX.RKDID
AND RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 7
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
----调拨入库
SELECT COUNT(RKD.ORGID) into fund04
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 6
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
--盘点入库
SELECT count(RKD.ORGID) into fund05
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 20
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
--次品退回入库
SELECT count(RKD.ORGID) into fund06
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 10
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
--次品入库
SELECT COUNT(*) into fund07
FROM V_CPDJD V
WHERE V.CPDJWZZLID = 2
AND V.CPDJWZGGID in (24, 12, 2)
AND V.CPDJCSSJ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND V.CPDJCSSJ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND V.IFSHOW = '1'
AND V.ORGID=tmp_wdid_current;
--次品上交出库
SELECT count(CKD.ORGID) into fund08
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE
CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 4
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--盘点出库
SELECT count(CKD.ORGID) into fund09
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 20
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--调账出库
SELECT COUNT(CKD.ORGID) into fund10
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 6
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--销售出库
SELECT COUNT(CKD.ORGID) into fund11
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 1
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--赠送出库
SELECT COUNT(CKD.ORGID) into fund12
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 2
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--其他发出
SELECT COUNT(CKD.ORGID) into fund13
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 3
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
update TMP_ZXBB_YB set qc=fund01,qm=fund02,RK_QT=fund03,RK_DB=fund04,RK_PD=fund05,RK_CPTH=fund06,
RK_CP=fund07,CK_CPSJ=fund08,CK_PD=fund09,CK_TZ=fund10,CK_XS=fund11,CK_ZS=fund12,CK_QTFC=fund13 where wdid=tmp_wdid_current;
end loop;
close cur_Dtl9;
end;
strSql := 'select * from TMP_ZXBB_YB';
OPEN p_rc1 FOR strSql;
End;
Procedure Prc_Stat_yuebaoNew(card_type IN TMP_ZXBB_YB.qc%type,
card_guige IN TMP_ZXBB_YB.qc%type,
p_rc1 OUT pkg_sql.MyRsType) is
strSql VARCHAR2(1000);
tmp_wdid_current VARCHAR2(20);
Begin
insert into TMP_ZXBB_YB (wdid,pid,wdname) SELECT ID wdid, PID, FULLNAME wdname FROM TORG WHERE TYPE = '4' ORDER BY ORGBH;
----调拨入库
insert into TMP_ZXBB_YB_PART (wdid,sl) SELECT RKD.ORGID wdid ,COUNT(RKD.ORGID) sl
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 6
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID ;
update TMP_ZXBB_YB a set a.RK_DB=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--期初库存
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl) SELECT ORGID wdid,SUM(ZPJC + CPJC) sl
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE('2015-08-01',
'YYYY/MM/DD'),
-1)),
'YYYY/MM/DD')
group by ORGID ;
update TMP_ZXBB_YB a set a.QC=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--期末库存
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl) SELECT ORGID wdid,SUM(ZPJC + CPJC) sl
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(SYSDATE, 'YYYY/MM/DD')
group by ORGID;
update TMP_ZXBB_YB a set a.QM=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--其他入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT RKD.ORGID wdid , count(RKD.ORGID) sl FROM T_RKMX RKMX , T_RKD RKD where RKD.RKDID = RKMX.RKDID
AND RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 7
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID;
update TMP_ZXBB_YB a set a.RK_QT=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--盘点入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT RKD.ORGID wdid , count(RKD.ORGID) sl
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 20
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID;
update TMP_ZXBB_YB a set a.RK_PD=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--次品退回入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT RKD.ORGID adid,count(RKD.ORGID) sl
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 10
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID;
update TMP_ZXBB_YB a set a.RK_CPTH=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--次品入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT V.ORGID wdid,COUNT(*) sl
FROM V_CPDJD V
WHERE V.CPDJWZZLID = 2
AND V.CPDJWZGGID in (24, 12, 2)
AND V.CPDJCSSJ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND V.CPDJCSSJ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND V.IFSHOW = '1'
group by V.ORGID;
update TMP_ZXBB_YB a set a.RK_CP=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--次品上交出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,count(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE
CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 4
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_CPSJ=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--盘点出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,count(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 20
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_CPSJ=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--调账出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 6
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_CPSJ=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--销售出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 1
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_XS=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--赠送出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 2
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_ZS=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--其他发出
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 3
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_QTFC=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
strSql := 'select * from TMP_ZXBB_YB order by pid ';
OPEN p_rc1 FOR strSql;
End;
end Prc_Stat;
Procedure Prc_Stat_yuebao(card_type IN TMP_ZXBB_YB.qc%type,
card_guige IN TMP_ZXBB_YB.qc%type,
p_rc1 OUT pkg_sql.MyRsType) is
strSql VARCHAR2(1000);
tmp_wdid_current VARCHAR2(20);
fund01 number(16,6);
fund02 number(16,6);
fund03 number(16,6);
fund04 number(16,6);
fund05 number(16,6);
fund06 number(16,6);
fund07 number(16,6);
fund08 number(16,6);
fund09 number(16,6);
fund10 number(16,6);
fund11 number(16,6);
fund12 number(16,6);
fund13 number(16,6);
Begin
insert into TMP_ZXBB_YB (wdid,pid,wdname) SELECT ID wdid, PID, FULLNAME wdname FROM TORG WHERE TYPE = '4' ORDER BY ORGBH;
declare
cursor cur_Dtl9 is select wdid from TMP_ZXBB_YB;
begin
OPEN cur_Dtl9;
loop
fetch cur_Dtl9 into tmp_wdid_current;
exit when(cur_Dtl9%notfound);
--期初库存
SELECT SUM(ZPJC + CPJC) into fund01
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE('2015-08-01',
'YYYY/MM/DD'),
-1)),
'YYYY/MM/DD')
and ORGID=tmp_wdid_current;
--期末库存
SELECT SUM(ZPJC + CPJC) into fund02
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(SYSDATE, 'YYYY/MM/DD')
and ORGID= tmp_wdid_current;
--其他入库
SELECT count(RKD.ORGID) into fund03 FROM T_RKMX RKMX , T_RKD RKD where RKD.RKDID = RKMX.RKDID
AND RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 7
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
----调拨入库
SELECT COUNT(RKD.ORGID) into fund04
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 6
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
--盘点入库
SELECT count(RKD.ORGID) into fund05
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 20
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
--次品退回入库
SELECT count(RKD.ORGID) into fund06
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 10
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
AND RKD.ORGID=tmp_wdid_current;
--次品入库
SELECT COUNT(*) into fund07
FROM V_CPDJD V
WHERE V.CPDJWZZLID = 2
AND V.CPDJWZGGID in (24, 12, 2)
AND V.CPDJCSSJ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND V.CPDJCSSJ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND V.IFSHOW = '1'
AND V.ORGID=tmp_wdid_current;
--次品上交出库
SELECT count(CKD.ORGID) into fund08
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE
CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 4
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--盘点出库
SELECT count(CKD.ORGID) into fund09
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 20
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--调账出库
SELECT COUNT(CKD.ORGID) into fund10
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 6
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--销售出库
SELECT COUNT(CKD.ORGID) into fund11
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 1
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--赠送出库
SELECT COUNT(CKD.ORGID) into fund12
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 2
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
--其他发出
SELECT COUNT(CKD.ORGID) into fund13
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 3
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) AND CKD.ORGID=tmp_wdid_current;
update TMP_ZXBB_YB set qc=fund01,qm=fund02,RK_QT=fund03,RK_DB=fund04,RK_PD=fund05,RK_CPTH=fund06,
RK_CP=fund07,CK_CPSJ=fund08,CK_PD=fund09,CK_TZ=fund10,CK_XS=fund11,CK_ZS=fund12,CK_QTFC=fund13 where wdid=tmp_wdid_current;
end loop;
close cur_Dtl9;
end;
strSql := 'select * from TMP_ZXBB_YB';
OPEN p_rc1 FOR strSql;
End;
Procedure Prc_Stat_yuebaoNew(card_type IN TMP_ZXBB_YB.qc%type,
card_guige IN TMP_ZXBB_YB.qc%type,
p_rc1 OUT pkg_sql.MyRsType) is
strSql VARCHAR2(1000);
tmp_wdid_current VARCHAR2(20);
Begin
insert into TMP_ZXBB_YB (wdid,pid,wdname) SELECT ID wdid, PID, FULLNAME wdname FROM TORG WHERE TYPE = '4' ORDER BY ORGBH;
----调拨入库
insert into TMP_ZXBB_YB_PART (wdid,sl) SELECT RKD.ORGID wdid ,COUNT(RKD.ORGID) sl
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 6
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID ;
update TMP_ZXBB_YB a set a.RK_DB=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--期初库存
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl) SELECT ORGID wdid,SUM(ZPJC + CPJC) sl
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE('2015-08-01',
'YYYY/MM/DD'),
-1)),
'YYYY/MM/DD')
group by ORGID ;
update TMP_ZXBB_YB a set a.QC=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--期末库存
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl) SELECT ORGID wdid,SUM(ZPJC + CPJC) sl
FROM T_ZKJC
WHERE WZGGID in (24, 12, 2)
AND TO_CHAR(RQ, 'YYYY/MM/DD') =
TO_CHAR(SYSDATE, 'YYYY/MM/DD')
group by ORGID;
update TMP_ZXBB_YB a set a.QM=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--其他入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT RKD.ORGID wdid , count(RKD.ORGID) sl FROM T_RKMX RKMX , T_RKD RKD where RKD.RKDID = RKMX.RKDID
AND RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 7
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID;
update TMP_ZXBB_YB a set a.RK_QT=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--盘点入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT RKD.ORGID wdid , count(RKD.ORGID) sl
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 20
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID;
update TMP_ZXBB_YB a set a.RK_PD=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--次品退回入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT RKD.ORGID adid,count(RKD.ORGID) sl
FROM T_RKMX RKMX
, T_RKD RKD
WHERE RKD.RKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND RKD.RKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND RKD.RKXZ = 10
AND RKD.RKDID = RKMX.RKDID
AND RKMX.WZGGID in (24, 12, 2)
group by RKD.ORGID;
update TMP_ZXBB_YB a set a.RK_CPTH=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--次品入库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT V.ORGID wdid,COUNT(*) sl
FROM V_CPDJD V
WHERE V.CPDJWZZLID = 2
AND V.CPDJWZGGID in (24, 12, 2)
AND V.CPDJCSSJ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND V.CPDJCSSJ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND V.IFSHOW = '1'
group by V.ORGID;
update TMP_ZXBB_YB a set a.RK_CP=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--次品上交出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,count(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE
CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 4
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_CPSJ=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--盘点出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,count(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 20
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_CPSJ=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--调账出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 6
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_CPSJ=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--销售出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 1
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_XS=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--赠送出库
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 2
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_ZS=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
--其他发出
delete from TMP_ZXBB_YB_PART ;
insert into TMP_ZXBB_YB_PART (wdid,sl)
SELECT CKD.ORGID wdid,COUNT(CKD.ORGID) sl
FROM T_CKDMX CKMX
, T_CKD CKD
WHERE CKD.CKRQ < TO_DATE('2015-09-01', 'YYYY/MM/DD')
AND CKD.CKRQ >= TO_DATE('2015-08-01', 'YYYY/MM/DD')
AND CKD.CKXZ = 3
AND CKD.CKDID = CKMX.CKDID
AND CKMX.WZGGID in (24, 12, 2) group by CKD.ORGID;
update TMP_ZXBB_YB a set a.CK_QTFC=(
SELECT sl from TMP_ZXBB_YB_PART
where TMP_ZXBB_YB_PART.WDID=a.wdid );
strSql := 'select * from TMP_ZXBB_YB order by pid ';
OPEN p_rc1 FOR strSql;
End;
end Prc_Stat;