create or replace function SF_ZS_ZDMCFWBW_DZBL(Pfwmc00 in char, --方位 Pbwmc00 in char, --部位名称 Pzdmc00 in char, --诊断 Pbz0000 in char --备注或补充说明 ) -- MODIFICATION HISTORY -- Person Date Comments -- xuxm 2014.06.06 created. -- xuxm 2014.06.06 诊断名称增加方位部位 for DZBL-20140605-003 -- xuxm 2014.07.07 增加了备注或补充说明字段 for DZBL-20140703-005 -- xuxm 2014.08.17 各诊断录入及打印预览界面,诊断名称前方位、部位的小括号不需显示及打印出来 for DZBL-20140814-001 -- xuxm 2014.11.14 中医病案首页中:西医诊断(有点击“右移”按钮的诊断),在界面上需往右缩进一个字符,目前缩进两个字符(详细见附件:病案首页诊断界面),需做修改,具体参考入院记录中诊断界面。 for DZBL-20141112-004 -- wuzy 2019.02.20 备注字段显示增加参数控制 for ZYDZBL-20190115-006 return varchar2 is V_Return_ZDXX varchar2(4000); --返回诊断信息 lenZDMC number(3); lenZDMCTrim number(3); VSFXDDZBLJK XT_XTCS00.VALUE0%TYPE ; begin V_Return_ZDXX := Pzdmc00; lenZDMC := length(Pzdmc00); lenZDMCTrim := length(trim(Pzdmc00)); if length(trim(Pfwmc00)) >0 or length(trim(Pbwmc00))>0 then --V_Return_ZDXX := '(' || Pfwmc00 || Pbwmc00 || ')' || trim(Pzdmc00); V_Return_ZDXX := Pfwmc00 || Pbwmc00 || trim(Pzdmc00); end if; if(lenZDMC - lenZDMCTrim>6) then V_Return_ZDXX := lpad(' ',4 )||trim(V_Return_ZDXX); elsif(lenZDMC - lenZDMCTrim>3) then V_Return_ZDXX := lpad(' ',2 )||trim(V_Return_ZDXX); end if; begin select trim(nvl(VALUE0,'N')) into VSFXDDZBLJK from XT_XTCS00 where NAME00='ZS_SFXSBZZD'; exception when others then VSFXDDZBLJK:='N'; end; if (length(trim(Pbz0000)) >0) and VSFXDDZBLJK<>'Y' then V_Return_ZDXX :=V_Return_ZDXX || '(' || Pbz0000 || ')' ; end if; return V_Return_ZDXX; end;