Oracle 下医嘱执行函数
NEXT
trim(Ls_xmje)+"%%"+trim(Ls_zfbl)+"%%"+trim(Ls_dffbz);
where a.zyhm = :ls_zyhm and a.ybtj = '0' and a.xmlx = 1 and a.xmxh = b.ypxh and a.kzys = c.ysdm
li_Rtn = f_UserBargaingApply(33,uniquelytradeid,lpData[k],lpMessage,ls_data2)
end if
// 交易结果~错误信息+空~空~空 + 无法保存的住院号列表 + 无法保存的费用流水号列表(列表间%%分隔)
NEXT
is_Error = "上传医保数据失败!至少有一个住院号由于不在住院中而校验失败~n~n" + lpData
//------------------------------------------------------------------------------
FOR K = 1 TO 3
ls_xmyydw='无'
trim(Ls_xmje)+"%%"+trim(Ls_zfbl)+"%%"+trim(Ls_dffbz);
is_error = "申请交易号失败!"
ls_xmyygg='无'
END CHOOSE
Prescription3 = Prescription + trim(Ls_lsxh)+"%%"+trim(Ls_jzlx)+"%%"+trim(Ls_tybz)+"%%"+trim(Ls_lbbz)+"%%"+&
ls_zyhm = trim(string(astr_jyxx.inzyhm[i]))
:Ls_yzrq,:Ls_ysxm,:Ls_xmdj,:Ls_xmsl,:Ls_xmts,:Ls_xmje,:Ls_zfbl
string Prescription = '',Prescription2 = '',Prescription3 = ''
lpMessage = of_dataunwrap(lpMessage) //数据解包
Prescription2 = Prescription + trim(Ls_lsxh)+"%%"+trim(Ls_jzlx)+"%%"+trim(Ls_tybz)+"%%"+trim(Ls_lbbz)+"%%"+&
select count(*) into :li_detailsum from zy_sfmx where zyhm = :ls_zyhm and ybtj = '0' using sqlhis;
//作者:annicybc 时间:2006/03/22
case -1
using sqlhis;
//医生姓名(varchar(20))+项目单价(N(12,4))+项目数量(N(12,4),退药时为负数)+项目贴数(填1)+
//药品
order by lsxh
//取到该住院号对应的医嘱执行后产生的明细数据
String lpMessage = Space(3000),ls_data2=space(3000)
return false
into :ls_xmyymc,:ls_xmyygg,:ls_dffbz,:ls_xmyydw
return false
if li_Rtn<0 then
//"ls_xmyydw",ldt_yzrq,ls_ysxm,ln_xmdj,ln_xmsl,ln_xmts,ln_xmje,ln_zfbl,ls_dffbz
//==============================================================================
// 空~空~空~空 + 本次提交医嘱的住院号+ 该住院号的医嘱费用列表ZYMX(用%%分隔)
end if
end if
//函数参数:
// 出口参数(Message)
trim(Ls_xmzxbh)+"%%"+trim(Ls_xmyybm)+"%%"+trim(Ls_xmyymc)+"%%"+trim(Ls_xmyygg)+"%%"+trim(Ls_xmyydw)+&
select to_char(a.lsxh),to_char(21),to_char(0),to_char(a.xmlx),to_char(a.YBXH),to_char(a.xmxh),
FETCH SFMX INTO :LS_LSXH;
if Upperbound(ls_checkdata) = 6 then
select nvl(fymc,'无')
next
string Ls_lsxh,ls_jzlx,ls_tybz,ls_lbbz,ls_xmzxbh,ls_xmyybm,ls_xmyymc,ls_xmyygg,ls_xmyydw,ls_yzrq,ls_ysxm,Ls_xmdj,Ls_xmsl,Ls_xmts,Ls_xmje,Ls_zfbl,ls_dffbz
DO WHILE J <= li_detailsum
lpData[i]=lpMessage
elseif Upperbound(ls_checkdata) = 1 then
string ls_zyhm='',ls_wfbc_zyhlb='',ls_wfbc_yzlslb='',ls_wfbc_fylslb='',ls_yzfylb=''
//------------------------------------------------------------------------------
of_checkout2(ls_wfbc_fylslb,ref ls_checkdata2)//分解无法保存的费用流水号列表
if trim(ls_wfbc_yzlslb) <> '' then
trim(Ls_xmje)+"%%"+trim(Ls_zfbl)+"%%"+trim(Ls_dffbz);
//项目中心端编号(Varchar(20))+项目医院端编码(Varchar(20))+项目医院端名称(varchar(40))+
from gy_ypml
"%%"+trim(Ls_yzrq)+"%%"+trim(Ls_ysxm)+"%%"+trim(Ls_xmdj)+"%%"+trim(Ls_xmsl)+"%%"+trim(Ls_xmts)+"%%"+&
is_Error = "上传医保数据失败!~n~n" + lpData
using sqlhis;
for i = 1 to Upperbound(astr_jyxx.inzyhm)
for h = 1 to Upperbound(ls_checkdata2)
//退药标志(1退药,0正常,char(1))+类别标志(1药品,2诊疗,char(1))+
into :ls_xmyymc
// 入口参数(Data)
next
CLOSE SFMX;
String ls_CheckData[],ls_CheckData2[]
next
of_checkout2(ls_wfbc_zyhlb,ref ls_checkdata2)//分解无法保存的住院号
J = 1
select nvl(ypmc,'无'),nvl(ypgg,'无'),to_char(dffbz,'0'),to_char(zydw)
astr_jyxx.outzyhm[i+h-1] = long(ls_checkdata2[h])//将住院号连续封装,避免覆盖
where ybbh=:Ls_xmzxbh and fyxh = :Ls_xmyybm using sqlhis;
IF ISNULL( lpData[k] ) = FALSE THEN
CHOOSE CASE int(j/10)+1
//==============================================================================
lpData[3] = "$$~~~~~~" + ls_zyhm + "~~" + char(j - 20) + "~~" + Prescription3
//函数返回: (BOOLEAN)
// 1.S_yb_zy_yzfy astr_jyxx 医嘱费用信息
lpData[1] = "$$~~~~~~" + ls_zyhm + "~~" + char(j) + "~~" + Prescription
if Ls_lbbz='1' then//药品
"%%"+trim(Ls_yzrq)+"%%"+trim(Ls_ysxm)+"%%"+trim(Ls_xmdj)+"%%"+trim(Ls_xmsl)+"%%"+trim(Ls_xmts)+"%%"+&
Integer li_Rtn,i=1,j=1,k=1,h=1,li_detailsum
//函数名称:of_zy_yzfy for n_medicare_minihis
astr_jyxx.outfyls[i+int(j/10)+1+h-1-1] = long(ls_checkdata2[i])//将费用流水号连续封装,避免覆盖
if li_Rtn < 0 then
//项目金额(N(10,4))+自负比例(N(5,4))+单复方标志(C1)]
choose case li_Rtn
// Ln_lsxh,ls_jzlx,ls_tybz,ls_lbbz,ls_xmzxbh,ls_xmyybm,"ls_xmyymc","ls_xmyygg",
///////
astr_jyxx.outyzls[i+int(j/10)+1+h-1-1] = long(ls_checkdata2[h]) //将医嘱流水号连续封装,避免覆盖
//本次提交明细条数%%[明细序号(N20)+就诊类型(11门诊,21住院,char(2))+
CASE 1
end if
case -3
trim(Ls_xmzxbh)+"%%"+trim(Ls_xmyybm)+"%%"+trim(Ls_xmyymc)+"%%"+trim(Ls_xmyygg)+"%%"+trim(Ls_xmyydw)+&
trim(Ls_xmzxbh)+"%%"+trim(Ls_xmyybm)+"%%"+trim(Ls_xmyymc)+"%%"+trim(Ls_xmyygg)+"%%"+trim(Ls_xmyydw)+&
return false
return false
from zy_sfmx a,gy_ypml b,gy_ysml c
where ybbh=:Ls_xmzxbh and ypxh = :Ls_xmyybm
case -2
of_checkout2(ls_wfbc_yzlslb,ref ls_checkdata2)//分解无法保存的医嘱流水号列表
ELSEIF J < 20 THEN
//([]表示可以重复,重复的两条纪录之间也以%%分隔)=
if trim(ls_wfbc_fylslb) <> '' then
CASE ELSE
//***********************************************************************
end choose
for i = 1 to Upperbound(ls_checkdata2)
END IF
ELSE
if of_get_tradeid(33) = -1 then
//功能说明:医嘱录入后执行时提交医嘱
from gy_fyml
J++
OPEN SFMX;
ls_wfbc_yzlslb = ls_checkdata[5]
IF J < 10 THEN
is_Error = "上传医保数据失败!~n~n" + lpData
end if
for h = 1 to Upperbound(ls_checkdata2)
to_char(a.fyrq,'yyyy.mm.dd'),to_char(c.ysxm),to_char(a.fydj,'99999990.0000'),to_char(a.fysl,'99999990.0000'),to_char(1),to_char(a.fydj*a.fysl,'999990.0000'),to_char(a.zfbl,'0.0000'),to_char(b.dffbz)
if trim(ls_wfbc_zyhlb) <> '' then
String lpData[3]
DECLARE SFMX CURSOR FOR
select LSXH from zy_sfmx where zyhm = :ls_zyhm and ybtj = '0' using sqlhis;
elseif Ls_lbbz='2' then//费用
LOOP
end if
//项目医院端规格(varchar(30))+项目医院端单位(varchar(8))+医嘱日期(DATETIME)+
// 交易函数说明:
Prescription = Prescription + trim(Ls_lsxh)+"%%"+trim(Ls_jzlx)+"%%"+trim(Ls_tybz)+"%%"+trim(Ls_lbbz)+"%%"+&
INTO :Ls_lsxh,:Ls_jzlx,:Ls_tybz,:Ls_lbbz,:Ls_xmzxbh,:Ls_xmyybm,
is_Error = "上传医保数据失败!至少有一条费用明细不能保存~n~n" + lpData
end if
///////
RETURN True
ls_wfbc_zyhlb = ls_checkdata[4]
return false
"%%"+trim(Ls_yzrq)+"%%"+trim(Ls_ysxm)+"%%"+trim(Ls_xmdj)+"%%"+trim(Ls_xmsl)+"%%"+trim(Ls_xmts)+"%%"+&
is_Error = "上传医保数据失败!~n~n" + lpData
END IF
ls_dffbz='0'
return false
end if
CASE 2
//***********************************************************************
//医嘱费用列表ZYMX
ls_wfbc_fylslb = ls_checkdata[6]
of_checkout(lpMessage,Ref ls_checkdata)
相关热词: oracle
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/sql/oracle/2298.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Window下Oracle Database 11g 发行
时间:2020-12-29
-
Oracle如何实现like多个值的
时间:2020-12-29
-
maven添加oracle依赖失败问题
时间:2020-12-29
-
OracleRAC基本概念及入门
时间:2020-12-29
-
Azure File Storage 基本用法
时间:2020-12-26
-
Oracle 权限(grant revoke)
时间:2020-12-26
-
Azure Queue Storage 基本用法
时间:2020-12-26
-
如何对比迁移前后的Orac
时间:2020-12-26
热门文章
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
Oracle存储过程编程详解
时间:2020-12-07
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
-
Oracle学习记录之使用自定义函数和触发器
时间:2020-12-07
