CREATE OR REPLACE FUNCTION SF_YK_WSHRCKDPD ( ad_YKBMBH in number --输入:药库部门编号 ) -- MODIFICATION HISTORY -- Person Date Comments -- huangjy 2021.08.09 created for YK-20210729-001 -- huangjy 2021.08.31 modify by YK-20210820-001 return varchar2 is RTN_MSG varchar2(400); V_SFBR00 varchar2(2); V_COUNTER number(5); V_JZYF00 char(6); --结转月份 V_COUNT1 number(5); V_COUNT2 number(5); begin RTN_MSG:=' '; --判断是否为第一次结转 select count(1) into V_COUNTER from YK_JXCYB0 where YKBMBH=ad_YKBMBH; if V_COUNTER>0 then select to_char(ADD_MONTHS(to_date(max(JZYF00),'yyyymm'),1),'yyyymm') into V_JZYF00 from YK_JXCYB0 where YKBMBH=ad_YKBMBH; else select to_char(sysdate,'yyyymm') into V_JZYF00 from dual; end if; begin select trim(VALUE0) into V_SFBR00 from XT_XTCS00 where NAME00='YK_TKTHSFHBCRK'; exception when others then V_SFBR00:='N'; end; if V_SFBR00='Y' then select count(1) into V_COUNT1 from ( select 1 from YK_YPMXZ0 Z where Z.JZXZ00='R' and RCLXBH<>'06' and z.SFSH00='N' and substr(Z.JZRQ00,1,6)<=V_JZYF00 and z.ykbmbh=ad_YKBMBH union all select 1 from YK_YPMXZ0 Z where Z.JZXZ00='C' and Z.RCLXBH='09' and z.SFSH00='N' and substr(Z.JZRQ00,1,6)<=V_JZYF00 and z.ykbmbh=ad_YKBMBH); else select count(1) into V_COUNT1 from ( select 1 from YK_YPMXZ0 Z where Z.JZXZ00='R' and z.SFSH00='N' and substr(Z.JZRQ00,1,6)<=V_JZYF00 and z.ykbmbh=ad_YKBMBH); end if; if V_SFBR00='Y' then select count(1) into V_COUNT2 from ( select 1 from YK_YPMXZ0 Z where Z.JZXZ00='R' and RCLXBH='06' and z.SFSH00='N' and substr(Z.JZRQ00,1,6)<=V_JZYF00 and z.ykbmbh=ad_YKBMBH union all select 1 from YK_YPMXZ0 Z where Z.JZXZ00='C' and Z.RCLXBH<>'09' and z.SFSH00='N' and substr(Z.JZRQ00,1,6)<=V_JZYF00 and z.ykbmbh=ad_YKBMBH); else select count(1) into V_COUNT2 from ( select 1 from YK_YPMXZ0 Z where Z.JZXZ00='C' and z.SFSH00='N' and substr(Z.JZRQ00,1,6)<=V_JZYF00 and z.ykbmbh=ad_YKBMBH); end if; if (V_COUNT1>0) and (V_COUNT2>0) then RTN_MSG:='存在出库入库单据未审核,是否继续结转?'; return RTN_MSG; elsif V_COUNT1>0 then RTN_MSG:='存在入库单据未审核,是否继续结转?'; return RTN_MSG; elsif V_COUNT2>0 then RTN_MSG:='存在出库单据未审核,是否继续结转?'; return RTN_MSG; else return ''; end if; end;