create or replace function SP_ZS_WJZPTCS_ZYDZBL( P_Model in number, --1接收/滴定处理医生 P_YJDJH0 in number, --医技单据号 P_ID0000 in number --危急值ID ) -- MODIFICATION HISTORY -- Person Date Comments -- caishb 2019.08.02 ZYDZBL-20190801-007 危急值增加临床接收危急值时通过集成平台传送接收人姓名,接收人id,接收日期,接收时间 -- caishb 2019.09.02 危急值消息串增加问题实例ID(报告单号) for ZYDZBL-20190902-005 -- caishb 2020.10.20 修正返回空消息的问题 for ZYDZBL-20201016-003 -- caishb 2020.11.30 通过危急值ID获取REQUID for ZYDZBL-20201123-001 return varchar2 is V_RETURN varchar2(2000); V_BRID00 number(10); V_WJZQR0 varchar2(2000); V_JCLSH0 JY_WJZTX0.JCLSH0%type; V_REQUID JY_WJZTX0.REQUID%type; begin select BRID00 into V_BRID00 from YJ_YW0000 a where a.YJDJH0 = P_YJDJH0 and rownum=1; select REQUID into V_REQUID from JY_WJZTX0 where YJDJH0=P_YJDJH0 and ID0000=P_ID0000 and rownum=1; begin select JCLSH0 into V_JCLSH0 from JY_WJZTX0 c where c.YJDJH0 = P_YJDJH0 and rownum <= 1 order by ID0000; exception when others then V_JCLSH0 := P_YJDJH0; end; if P_Model = '1' then select 'PID|||' || a.BRID00 || '^' || a.BRZJLX || '^' || a.BRZJBH || '||' || a.BRXM00 || to_char(chr(10)) || 'PRB|AD|' || to_char(systimestamp, 'yyyymmddhh24missxff') || '|' || P_YJDJH0 || '|' || V_JCLSH0 || to_char(V_REQUID)|| to_char(chr(10)) into V_RETURN from BM_BRXXB0 a where a.BRID00 = V_BRID00; select 'ORC|NW||' || to_char(chr(10)) || 'OBR||' || b.YJDJH0 || '||' || c.ZLXMID || '^' || c.ZLXMJC || '||||||||' || (select ZWXM00 from BM_YGBM00 where YGBH00 = b.ANJSR0) || '^' || b.ANJSR0 || '^' || --to_char(sysdate, 'yyyymmdd') || '^' || nvl(b.qrrq00,to_char(sysdate, 'yyyymmdd')) || '^' || --to_char(sysdate, 'hh24miss') || '^^^^^^' nvl(replace(b.qrsj00,':',''),to_char(sysdate, 'hh24miss')) || '^^^^^^' into V_WJZQR0 from JY_WJZTX0 b, YJ_YW0000 c where B.YJDJH0 = C.YJDJH0 and C.BRID00 = V_BRID00 and b.YJDJH0=P_YJDJH0 and rownum <= 1 Order by C.KDRQ00; V_RETURN := V_RETURN || V_WJZQR0; return V_RETURN; else select 'PID|||' || a.BRID00 || '^' || a.BRZJLX || '^' || a.BRZJBH || '||' || a.BRXM00 || to_char(chr(10)) || 'PRB|UP|' || to_char(systimestamp, 'yyyymmddhh24missxff') || '|' || P_YJDJH0 || '|' || V_JCLSH0 || to_char(V_REQUID)|| to_char(chr(10)) into V_RETURN from BM_BRXXB0 a where a.BRID00 = V_BRID00; select 'ORC|NW||' || to_char(chr(10)) || 'OBR||' || b.YJDJH0 || '||' || c.ZLXMID || '^' || c.ZLXMJC || '||||||||' || (select ZWXM00 from BM_YGBM00 where YGBH00 = b.ANJSR0) || '^' || b.ANJSR0 || '^' || --to_char(sysdate, 'yyyymmdd') || '^' || --to_char(sysdate, 'hh24miss') || '^' || nvl(b.qrrq00,to_char(sysdate, 'yyyymmdd')) || '^' || nvl(replace(b.qrsj00,':',''),to_char(sysdate, 'hh24miss')) || '^' || b.CLCS00 || '^' || b.CLYJ00 || '^' || b.SJCLR0 || '^' || (select ZWXM00 from BM_YGBM00 where YGBH00 = b.SJCLR0) || '^' || --to_char(sysdate, 'yyyymmdd') || '^' || --to_char(sysdate, 'hh24miss') nvl(b.clrq00,to_char(sysdate, 'yyyymmdd')) || '^' || nvl(replace(b.clsj00,':',''),to_char(sysdate, 'hh24miss')) into V_WJZQR0 from JY_WJZTX0 b, YJ_YW0000 c where B.YJDJH0 = C.YJDJH0 and C.BRID00 = V_BRID00 and b.YJDJH0=P_YJDJH0 and rownum <= 1 Order by C.KDRQ00; V_RETURN := V_RETURN || V_WJZQR0; return V_RETURN; end if; end;