-- Start of DDL Script for Procedure SD_HOSPITAL.SP_ZY_FSFPJK
-- Generated 2018/5/29 星期二 16:46:08 from SD_HOSPITAL@ZSK
CREATE OR REPLACE
PROCEDURE sp_zy_fsfpjk
(
P_INID00 in varchar2,--人参:ID0000
P_ZYID00 in number,--ZYID00
P_CZY000 in number,--操作员编码
P_CZYKS0 in number,--操作员科室
P_JKLXBH in varchar2,--接口类型
P_INCS00 in varchar2,--交易参数
P_CZLX00 in varchar2,--操作类型 0:正常开票 1:应急开票
P_JZDH00 in number default 0,--操作员科室
P_SFFSJK in char default 'Y', --是否发送接口 Y:是 N:否
P_COMMIT in char default 'N', --是否提交事务
AS_OUTCS0 out varchar2, --出参:其它参数
AS_OUTID0 out varchar2, --出参:ID0000
AS_JBZXZT out varchar2, --执行状态 N:失败 Y:成功
AS_YHMSG0 out varchar2, --存储过程提示的错误信息
AS_SYSMSG out varchar2 --系统提示的错误信息
)
as
-- MODIFICATION HISTORY
-- Person Date Comments
--zhangyc 2017.03.01 created by ZYSF-20170301-001
--zhangyc 2017.03.01 非税接口修改 by ZYSF-20170301-005
--zhangyc 2017.03.02 非税接口修改 by ZYSF-20170302-002
--zhangyc 2017.04.07 修改结束日期错误 by ZYSF-20170407-001
--zhangyc 2017.05.04 修正医保账户支付已包含(健康、共济账户支付)发票显示错误 by ZYSF-20170504-001
--zhangyc 2017.05.10 修正发票最后一个号未取到发票注册号 by ZYSF-20170511-002
--zhangyc 2017.07.06 增加卫生材料费(wsclf)、出院退款(cytk) by ZYSF-20170706-002
--zhangyc 2018.03.19 (V3.1.7)增加交易代码重新取值以及单病种结算功能 by ZYSF-20180319-001
--xumuz 2018.05.29 修正住院天数 厦门同安中医院 比如1号入院 5号出院 只能算4天
-- --------- ---------- -------
LS_COUNT0 number(5);
LS_MSGSTR varchar2(30);
LS_ID0000 ZY_FSFP00.ID0000%type;--内部ID
LS_CZRQ00 ZY_FSFP00.CZRQ00%type;--操作日期
LS_CZSJ00 ZY_FSFP00.CZSJ00%type;--操作时间
LS_CZY000 ZY_FSFP00.CZY000%type;--操作员编码
LS_CZYXM0 ZY_FSFP00.CZYXM0%type;--操作员姓名
LS_BRID00 ZY_FSFP00.BRID00%type;--BRID00
LS_BRXM00 ZY_FSFP00.BRXM00%type;--病人姓名
LS_ZYID00 ZY_FSFP00.ZYID00%type;--住院ID
LS_ZYH000 ZY_FSFP00.ZYH000%type;--住院号
LS_JKLXBH ZY_FSFP00.JKLXBH%type;--接口类型编码
LS_JKLXMC ZY_FSFP00.JKLXMC%type;--接口类型名称
LS_JYLSH0 ZY_FSFP00.JYLSH0%type;--交易流水号
LS_JYRQSJ ZY_FSFP00.JYRQSJ%type;--交易日期时间
LS_JGBM00 ZY_FSFP00.JGBM00%type;--机构编码
LS_JYZT00 ZY_FSFP00.JYZT00%type;--0:新增 1:修改
LS_JZDH00 ZY_FSFP00.JZDH00%type;--结账单号
LS_PJH000 ZY_FSFP00.PJH000%type;--票据号
LS_FPXH00 ZY_FSFP00.FPXH00%type;--发票序号
LS_JYXX00 ZY_FSFP00.JYXX00%type;--交易信息
LS_FHJG00 ZY_FSFP00.FHJG00%type;--返回结果
LS_FHXX00 ZY_FSFP00.FHXX00%type;--返回信息
LS_INDATA ZY_FSFP00.INDATA%type; --入参信息
LS_BZ0000 ZY_FSFP00.BZ0000%type; --备注
LS_ZFRQ00 ZY_FSFP00.ZFRQ00%type;
LS_ZFSJ00 ZY_FSFP00.ZFSJ00%type;
LS_ZFRBH0 ZY_FSFP00.ZFRBH0%type;
LS_ZFRXM0 ZY_FSFP00.ZFRXM0%type;
LS_ZFYY00 ZY_FSFP00.ZFYY00%type;
LS_FPQTXX ZY_FSFP00.BZ0000%type;
LS_SZZW00 ZY_FSFP00.SZZW00%type;
LS_JDPH00 ZY_FSFP00.JDPH00%type;
LS_PJHM00 ZY_FSFP00.PJHM00%type;
LS_PJLX00 ZY_FSFP00.PJLX00%type;
LS_PJMC00 ZY_FSFP00.PJMC00%type;
LS_PJZCH0 ZY_FSFP00.PJZCH0%type;
LS_FPUSER BM_YGBM00.FPUSER%type;
LS_FPPWD0 BM_YGBM00.FPPWD0%type;
LS_FPXMJE SF_JZMX00.XMJE00%type;
LS_SFYBXM BM_YBSFDY.SFYBXM%type;
LS_YBXMBH BM_YBSFXM.XMBH00%type;
LS_CBXMBH BM_YBFPXM.CBXMBH%type;
LS_YBZXLB IC_YBBRLB.YBZXLB%type;
LS_YBBRLB BM_BRXXB0.YBBRLB%type;
LS_YBLB00 BM_BRXXB0.YBLB00%type;
LS_FBBH00 BM_BRXXB0.FBBH00%type;
LS_PJLYID BM_PJLYQK.PJLYID%type;
LS_YBZYH0 ZY_BRXXB0.YBZYH0%type;
LS_RYRQ00 ZY_BRXXB0.RYRQ00%type;
LS_RYSJ00 ZY_BRXXB0.RYSJ00%type;
LS_RYCWH0 ZY_BRXXB0.RYCWH0%type;
LS_CYRQ00 ZY_BRXXB0.CYRQ00%type;
LS_CYSJ00 ZY_BRXXB0.CYSJ00%type;
LS_CYDJRQ ZY_BRXXB0.CYDJRQ%type;
LS_CYDJSJ ZY_BRXXB0.CYDJSJ%type;
LS_SJCYRQ ZY_BRXXB0.SJCYRQ%type;
LS_SJRYRQ ZY_BRXXB0.SJRYRQ%type;
LS_BRZT00 ZY_BRXXB0.BRZT00%type;
LS_RYBQ00 ZY_BRXXB0.RYBQ00%type;
LS_DQBQ00 ZY_BRXXB0.DQBQ00%type;
LS_DQKS00 ZY_BRXXB0.DQKS00%type;
LS_CXJZDH ZY_JZB000.CXJZDH%type;
LS_QTCS00 varchar2(20);
LS_FPXMBH varchar2(20);
LS_XMLMC0 varchar2(20);
LS_OPEN varchar2(20);
LS_USER varchar2(20);
LS_PWD varchar2(20);
LS_TSBZMC varchar2(100);
VXXB BM_BRXXB0%rowtype;
LS_YSZJE0 number(12,2);
LS_ZZZJE0 number(12,2);
LS_XJYE00 number(12,2);
LS_ZZYE00 number(12,2);
LS_PJHM varchar2(20);--字符 20 N 票据号码
LS_PJLX varchar2(12);--字符 12 N 票据类型
LS_PJZCH varchar2(100);--字符 100 N 票据注册号
LS_JSH varchar2(32);--字符 32 Y 结算号(唯一识别一笔结算数据)
LS_ZYHM varchar2(32);--字符 32 Y 住院号码
LS_ZYLSH varchar2(32);--字符 32 Y 住院流水号
LS_BXHM varchar2(64);--字符 64 Y 保险号码
LS_YBHM varchar2(32);--字符 32 Y 医保流水号
LS_ICKZT varchar2(10);--字符 10 Y IC 卡状态(有效,无效)
LS_SYBXHM varchar2(32);--字符 32 Y 商业保险号码
LS_JZRXM varchar2(50);--字符 50 Y 就诊人姓名
LS_KS varchar2(100);--字符 100 Y 就诊科室
LS_ZHYE number(12,2);--数字 16,4 Y 0.00 账户余额
LS_KPKH varchar2(32);--字符 32 Y 开票卡号
LS_KPR varchar2(100);--字符 100 Y 开票人
LS_SFY varchar2(50);--字符 50 Y 收费员
LS_XYF number(12,2);--数字 16,4 Y 0.00 西药费
LS_ZCHY number(12,2);--数字 16,4 Y 0.00 中成药费
LS_ZCY number(12,2);--数字 16,4 Y 0.00 中草药费
LS_JCF number(12,2);--数字 16,4 Y 0.00 检查费
LS_ZLF number(12,2);--数字 16,4 Y 0.00 治疗费
LS_FSF number(12,2);--数字 16,4 Y 0.00 放射费
LS_SSF number(12,2);--数字 16,4 Y 0.00 手术费
LS_HYF number(12,2);--数字 16,4 Y 0.00 化验费
LS_SYF number(12,2);--数字 16,4 Y 0.00 输氧费
LS_SXF number(12,2);--数字 16,4 Y 0.00 输血费
LS_ZCF number(12,2);--数字 16,4 Y 0.00 诊查费
LS_GCC number(12,2);--数字 16,4 Y 0.00 观察床费
LS_QT number(12,2);--数字 16,4 Y 0.00 其它费用
LS_ZHZF number(12,2);--数字 16,4 Y 0.00 帐户支付
LS_TCJJ number(12,2);--数字 16,4 Y 0.00 基金支付
LS_GWYBZ number(12,2);--数字 16,4 Y 0.00 公务员补助
LS_BJJJZF number(12,2);--数字 16,4 Y 0.00 保健基金
LS_SYBXZF number(12,2);--数字 16,4 Y 0.00 商保支付
LS_WTDK number(12,2);--数字 16,4 Y 0.00 委托代扣(HIS 没有)
LS_GRZF number(12,2);--数字 16,4 Y 0.00 个人自付
LS_YLZF number(12,2);--数字 16,4 Y 0.00 乙类支付
LS_CFDX number(12,2);--数字 16,4 Y 0.00 超封顶线
LS_FYBFY number(12,2);--数字 16,4 Y 0.00 非医保费用
LS_XJHJ number(12,2);--数字 16,4 Y 0.00 现金合计
LS_HJ number(12,2);--数字 16,4 Y 0.00 合计
LS_YJJYE number(12,2);--数字 16,4 Y 0.00 预交金余额
LS_FKFS varchar2(10);--字符 4 Y 付款方式
LS_ZYCS number(6);--数字 6 Y 0 住院次数
LS_GHRQ varchar2(20);--字符 20 Y 挂号日期 yyyyMMdd
LS_GHF number(12,2);--数字 16,4 Y 0.00 挂号费
LS_GHCS number(6);--数字 6 Y 0 挂号次数
LS_HLF number(12,2);--数字 16,4 Y 0.00 护理费
LS_JHCF number(12,2);--数字 16,4 Y 0.00 救护车费
LS_JSF number(12,2);--数字 16,4 Y 0.00 接生费
LS_CWF number(12,2);--数字 16,4 Y 0.00 床位费
LS_GRYLZHZF number(12,2);--数字 16,4 Y 0.00 医疗账户支付
LS_XJ number(12,2);--数字 16,4 Y 0.00 现金支付
LS_ZZ number(12,2);--数字 16,4 Y 0.00 转账
LS_YBJSH varchar2(100);--字符 20 Y 医保结算号
LS_JMFY number(12,2);--数字 16,4 Y 0.00 减免费用
LS_GSZF number(12,2);--数字 16,4 Y 0.00 工伤支付
LS_JKZHZFE number(12,2);--数字 16,4 Y 0.00 健康账户支付额
LS_JKZHYE number(12,2);--数字 16,4 Y 0.00 健康账户余额
LS_CJJJZF number(12,2);--数字 16,4 Y 0.00 残疾基金支付
LS_CJZHYE number(12,2);--数字 16,4 Y 0.00 残疾账户余额
LS_BCYLJZ number(12,2);--数字 16,4 Y 0.00 本次民政医疗救助金额
LS_MZBZJE number(12,2);--数字 16,4 Y 0.00 民政补助金额
LS_YTK number(12,2);--数字 16,4 Y 0.00 应退款
LS_TCZF number(12,2);--数字 16,4 Y 0.00 统筹支付
LS_QZZF number(12,2);--数字 16,4 Y 0.00 其中自费
LS_GJZHZF number(12,2);--数字 16,4 Y 0.00 共济账户支付
LS_YJJE number(12,2);--数字 16,4 Y 0.00 预交金额
LS_CYBK number(12,2);--数字 16,4 Y 0.00 出院补款
LS_CYTXJ number(12,2);--数字 16,4 Y 0.00 出院退现金
LS_CYTZK number(12,2);--数字 16,4 Y 0.00 出院退转款
LS_ZYKSRQ varchar2(20);--字符 20 Y 住院开始日期yyyyMMdd
LS_ZYJSRQ varchar2(20);--字符 20 Y 住院结束日期yyyyMMdd
LS_ZYTS number(6);--数字 6 Y 0 住院天数
LS_YSXXBCK number(12,2);--数字 16,4 Y 0.00 减:应收中心血站献血补偿款
LS_FZKZ varchar2(100);--字符 100 Y 附注扩展
LS_FYLB varchar2(20);--字符 20 Y 费用类别(医保、自费、残联补助等)
LS_ZFR varchar2(20);--字符 50 N 作废人
LS_ZFSJ varchar2(20);--字符 20 N 作废时间(yyyyMMddHH24miss)
LS_ZFYY varchar2(20);--字符 50 N 作废原因
LS_JDPH varchar2(20);--机打票号
LS_YSXJ00 number(12,2);--现金预收金额
LS_YBXJ00 number(12,2);--现金应补交
LS_YTXJ00 number(12,2);--现金应退还
LS_ZZYSJE number(12,2);--转账预收款
LS_YBZZ00 number(12,2);--转账应补交
LS_YTZZ00 number(12,2);--转账应退还
LS_BRZJE0 ZY_JZB000.BRZJE0%type;--病人费用总金额
LS_JZJE00 ZY_JZB000.JZJE00%type;--记帐金额
LS_GFJE00 ZY_JZB000.GFJE00%type;--公费金额
LS_HJJE00 ZY_JZB000.HJJE00%type;--合计应收金额=自付金额-减免金额
LS_GRZHZF ZY_JZB000.GRZHZF%type;--个人医疗帐户支付
LS_TCJJZF ZY_JZB000.TCJJZF%type;--统筹基金支付
LS_ZFJE00 ZY_JZB000.ZFJE00%type;--自付金额
LS_YBYL05 ZY_JZB000.YBYL05%type;--医院支付金额
LS_YBYL11 ZY_JZB000.YBYL11%type;--健康账户支付
LS_YBYL12 ZY_JZB000.YBYL12%type;--健康账户余额
LS_YBYL13 ZY_JZB000.YBYL13%type;--共济账户支付
LS_YBYL14 ZY_JZB000.YBYL14%type;--共济账户余额
LS_YBYL17 ZY_JZB000.YBYL17%type;--医保减免金额
LS_WSCLF number(12,2);--卫生材料费
LS_CYTK number(12,2);--出院退款
LS_FPJKBM BM_PJLYQK.FPJKBM%type;--非税发票接口编码
LS_DBZBM0 ZY_JZB000.DBZBM0%type;--单病种编码
LS_DBZMC0 BM_DBZDEB.DBZMC0 %type;--单病种名称
LS_BZFPGS varchar2(20);--单病种发票格式 Y:新格式 N:旧格式
LS_BZFPJE number(12,2);--单病种发票总金额
LS_SFDBZ varchar2(2);--字符 2 Y 是否单病种 1:是 0:否
LS_DBZBM varchar2(20);--字符 12 Y 单病种编码
LS_DBZMC varchar2(80);--字符 80 Y 单病种名称
LS_DBZBZ number(12,2);--数字 16,4 Y 0.00 单病种标准
LS_CWCWF number(12,2);--数字 16,4 Y 0.00 除外床位费
LS_CWWSCLF number(12,2);--数字 16,4 Y 0.00 除外卫生材料费
LS_DBZJSCE number(12,2);--数字 16,4 Y 0.00 单病种结算差额
LS_FPZXCE number(12,2);--发票主项差额(单病种结算差额)
cursor CUR_JZMX00 is
select B.KPXMMC FSFPBH,sum(a.XMJE00)XMJE00
from ZY_JZMX00 a,bm_fpxm00 b
where JZDH00=LS_JZDH00
and a.XMBH00=b.FPXMID
group by B.KPXMMC
order by B.KPXMMC;
cursor CUR_QDMX00 is
select XMBH00,XMMC00,XMDJ00,sum(XMSL00)XMSL00,sum(XMJE00)XMJE00,max(ZFBL00)ZFBL00,max(SFLSCF)SFLSCF
from VW_ZY_FSFPQD A
where 1=1
and ZYID00=LS_ZYID00
and (
(LS_CXJZDH=0 and JZDH00=LS_JZDH00)
or (LS_CXJZDH<>0 and (a.JZDH00 in (select k.JZDH00 from ZY_JZB000 k
where k.ZYID00=LS_ZYID00
start with k.JZDH00=LS_JZDH00
connect by prior k.CXJZDH=k.JZDH00)))
)
group by XMBH00,XMMC00,XMDJ00
order by XMBH00;
begin
LS_XYF:=0;--数字 16,4 Y 0.00 西药费
LS_ZCHY:=0;--数字 16,4 Y 0.00 中成药费
LS_ZCY:=0;--数字 16,4 Y 0.00 中草药费
LS_JCF:=0;--数字 16,4 Y 0.00 检查费
LS_ZLF:=0;--数字 16,4 Y 0.00 治疗费
LS_FSF:=0;--数字 16,4 Y 0.00 放射费
LS_SSF:=0;--数字 16,4 Y 0.00 手术费
LS_HYF:=0;--数字 16,4 Y 0.00 化验费
LS_SYF:=0;--数字 16,4 Y 0.00 输氧费
LS_SXF:=0;--数字 16,4 Y 0.00 输血费
LS_ZCF:=0;--数字 16,4 Y 0.00 诊查费
LS_GCC:=0;--数字 16,4 Y 0.00 观察床费
LS_QT:=0;--数字 16,4 Y 0.00 其它费用
LS_ZHZF:=0;--数字 16,4 Y 0.00 帐户支付
LS_TCJJ:=0;--数字 16,4 Y 0.00 基金支付
LS_GWYBZ:=0;--数字 16,4 Y 0.00 公务员补助
LS_BJJJZF:=0;--数字 16,4 Y 0.00 保健基金
LS_SYBXZF:=0;--数字 16,4 Y 0.00 商保支付
LS_WTDK:=0;--数字 16,4 Y 0.00 委托代扣(HIS 没有)
LS_GRZF:=0;--数字 16,4 Y 0.00 个人自付
LS_YLZF:=0;--数字 16,4 Y 0.00 乙类支付
LS_CFDX:=0;--数字 16,4 Y 0.00 超封顶线
LS_FYBFY:=0;--数字 16,4 Y 0.00 非医保费用
LS_XJHJ:=0;--数字 16,4 Y 0.00 现金合计
LS_HJ:=0;--数字 16,4 Y 0.00 合计
LS_YJJYE:=0;--数字 16,4 Y 0.00 预交金余额
LS_FKFS:=0;--字符 4 Y 付款方式
LS_ZYCS:=0;--数字 6 Y 0 住院次数
LS_GHF:=0;--数字 16,4 Y 0.00 挂号费
LS_GHCS :=0;--数字 6 Y 0 挂号次数
LS_HLF:=0;--数字 16,4 Y 0.00 护理费
LS_JHCF:=0;--数字 16,4 Y 0.00 救护车费
LS_JSF:=0;--数字 16,4 Y 0.00 接生费
LS_CWF:=0;--数字 16,4 Y 0.00 床位费
LS_GRYLZHZF:=0;--数字 16,4 Y 0.00 医疗账户支付
LS_XJ:=0;--数字 16,4 Y 0.00 现金支付
LS_ZZ:=0;--数字 16,4 Y 0.00 转账
LS_JMFY:=0;--数字 16,4 Y 0.00 减免费用
LS_GSZF:=0;--数字 16,4 Y 0.00 工伤支付
LS_JKZHZFE:=0;--数字 16,4 Y 0.00 健康账户支付额
LS_JKZHYE:=0;--数字 16,4 Y 0.00 健康账户余额
LS_CJJJZF:=0;--数字 16,4 Y 0.00 残疾基金支付
LS_CJZHYE:=0;--数字 16,4 Y 0.00 残疾账户余额
LS_BCYLJZ:=0;--数字 16,4 Y 0.00 本次民政医疗救助金额
LS_MZBZJE:=0;--数字 16,4 Y 0.00 民政补助金额
LS_YTK:=0;--数字 16,4 Y 0.00 应退款
LS_TCZF:=0;--数字 16,4 Y 0.00 统筹支付
LS_QZZF:=0;--数字 16,4 Y 0.00 其中自费
LS_GJZHZF:=0;--数字 16,4 Y 0.00 共济账户支付
LS_YJJE:=0;--数字 16,4 Y 0.00 预交金额
LS_CYBK:=0;--数字 16,4 Y 0.00 出院补款
LS_CYTXJ:=0;--数字 16,4 Y 0.00 出院退现金
LS_CYTZK:=0;--数字 16,4 Y 0.00 出院退转款
LS_ZYTS:=0;--数字 6 Y 0 住院天数
LS_YSXXBCK:=0;--数字 16,4 Y 0.00 减:应收中心血站献血补偿款
LS_YSXJ00:=0;--现金预收金额
LS_YBXJ00:=0;--现金应补交
LS_YTXJ00:=0;--现金应退还
LS_ZZYSJE:=0;--转账预收款
LS_YBZZ00:=0;--转账应补交
LS_YTZZ00:=0;--转账应退还
LS_WSCLF:=0;--卫生材料费
LS_CYTK:=0;--出院退款
LS_BZFPJE:=0;--单病种发票总金额
LS_SFDBZ:='0';--字符 2 Y 是否单病种 1:是 0:否
LS_DBZBM:='';--字符 12 Y 单病种编码
LS_DBZMC:='';--字符 80 Y 单病种名称
LS_DBZBZ:=0;--数字 16,4 Y 0.00 单病种标准
LS_CWCWF:=0;--数字 16,4 Y 0.00 除外床位费
LS_CWWSCLF:=0;--数字 16,4 Y 0.00 除外卫生材料费
LS_DBZJSCE:=0;--数字 16,4 Y 0.00 单病种结算差额
LS_FPZXCE:=0;--发票主项差额(单病种结算差额)
AS_OUTCS0:='';
AS_OUTID0:='0';
AS_JBZXZT:='N'; --执行状态 N:失败 Y:成功
LS_CZRQ00:=to_char(sysdate,'YYYYMMDD');
LS_CZSJ00:=to_char(sysdate,'HH24:MI:SS');
LS_CZY000:=P_CZY000; --操作员编码
LS_JKLXBH:=P_JKLXBH; --接口类型编码
LS_BRID00:=0; --BRID00
LS_ZYID00:=P_ZYID00;
LS_ID0000:=nvl(P_INID00,'0');
LS_INDATA:=P_INCS00; --入参信息
LS_JZDH00:=nvl(P_JZDH00,0);
LS_CYBK:=0;--数字 16,4 Y 0.00 出院补款
LS_CYTXJ:=0;--数字 16,4 Y 0.00 出院退现金
LS_CYTZK:=0;--数字 16,4 Y 0.00 出院退转款
LS_ZYKSRQ:=to_char(sysdate,'YYYYMMDD');--字符 20 Y 住院开始日期yyyyMMdd
LS_ZYJSRQ:=to_char(sysdate,'YYYYMMDD');--字符 20 Y 住院结束日期yyyyMMdd
LS_ZYTS:=1; --数字 6 Y 0 住院天数
LS_YSXXBCK:=0;--数字 16,4 Y 0.00 减:应收中心血站献血补偿款
LS_ZYCS:=1;--住院次数
LS_YSXJ00:=0;--现金预收金额
LS_YBXJ00:=0;--现金应补交
LS_YTXJ00:=0;--现金应退还
LS_ZZYSJE:=0;--转账预收款
LS_YBZZ00:=0;--转账应补交
LS_YTZZ00:=0;--转账应退还
LS_WSCLF:=0;--卫生材料费
LS_CYTK:=0;--出院退款
LS_FPJKBM:=LS_JKLXBH;--非税发票接口编码
select to_char(systimestamp,'YYYYMMDDHH24MISS.FF3') into LS_JYRQSJ from dual;
LS_JYRQSJ:=substrb(LS_JYRQSJ,1,14)||substrb(LS_JYRQSJ,16,5);
select SF_SF_JKLXMC(LS_JKLXBH) into LS_JKLXMC from dual;--接口类型名称
--操作员姓名
begin
select ZWXM00,FPUSER,FPPWD0 into LS_CZYXM0,LS_FPUSER,LS_FPPWD0 from BM_YGBM00 where YGBH00=LS_CZY000;
exception
when others then
LS_CZYXM0:=null;
end;
--是否开启非税票据开票接口功能 Y:开启 N:关闭
begin
select trim(MC0000) into LS_OPEN from BM_TYZD00 where ZDMC00='非税收入医疗票据开票接口' and BH0000='Open_ZY';
exception
when others then
LS_OPEN:='N';
end;
--机构代码(财政统一分配)
begin
select trim(MC0000) into LS_JGBM00 from BM_TYZD00 where ZDMC00='非税收入医疗票据开票接口' and BH0000='Organ';
exception
when others then
LS_JGBM00:=null;
end;
--获取非税发票注册号
begin
select max(PJLYID) into LS_PJLYID from BM_PJLYQK where PJLXBM in (3) and SYBZ00='Y' and PJSYR0=LS_CZY000;
select FSPJLX,FSZCH0 into LS_PJLX,LS_PJZCH from BM_PJLYQK where PJLYID=LS_PJLYID;
exception
when others then
LS_PJLX:=null;
LS_PJZCH:=null;
end;
if LS_FPUSER is not null then LS_USER:=LS_FPUSER; end if;
if LS_FPPWD0 is not null then LS_PWD:=LS_FPPWD0; end if;
if LS_ZYID00>0 then
select BRID00,ZYH000,YBZYH0,RYRQ00,RYSJ00,RYCWH0,CYRQ00,CYSJ00,CYDJRQ,CYDJSJ,SJCYRQ,SJRYRQ,BRZT00,RYBQ00,DQBQ00,DQKS00
into LS_BRID00,LS_ZYH000,LS_YBZYH0,LS_RYRQ00,LS_RYSJ00,LS_RYCWH0,LS_CYRQ00,LS_CYSJ00,LS_CYDJRQ,LS_CYDJSJ,LS_SJCYRQ,LS_SJRYRQ,LS_BRZT00,LS_RYBQ00,LS_DQBQ00,LS_DQKS00
from ZY_BRXXB0 where ZYID00=LS_ZYID00;
LS_ZYKSRQ:=LS_RYRQ00;--字符 20 Y 住院开始日期yyyyMMdd
if (LS_CYDJRQ='20991231') or (LS_CYDJRQ='') then
LS_ZYJSRQ:=to_char(sysdate,'YYYYMMDD');--字符 20 Y 住院结束日期yyyyMMdd
else
LS_ZYJSRQ:=LS_CYDJRQ;--字符 20 Y 住院结束日期yyyyMMdd
end if;
select to_date(nvl(LS_ZYJSRQ,to_char(sysdate,'YYYYMMDD')),'YYYYMMDD')-to_date(LS_ZYKSRQ,'YYYYMMDD') into LS_ZYTS from dual; --数字 6 Y 0 住院天数
end if;
if LS_BRID00>0 then
select * into VXXB from BM_BRXXB0 where BRID00=LS_BRID00;
LS_BRXM00:=VXXB.BRXM00;
LS_YBBRLB:=VXXB.YBBRLB;
LS_YBLB00:=VXXB.YBLB00;
LS_FBBH00:=VXXB.FBBH00;
select YBZXLB into LS_YBZXLB from IC_YBBRLB where FBBH00=LS_FBBH00 AND YBLB00=LS_YBLB00;
end if;
---新增加---begin---
if (P_CZLX00='0') and (LS_OPEN='Y') then
LS_JYZT00:='0'; --0:新增 1:修改
LS_PJH000:=0; --票据号
LS_FPXH00:='0'; --发票序号
select SQ_ZY_FSFP00_ID0000.nextval into LS_ID0000 from dual;
-- LS_JYLSH0:=LS_JKLXBH||'.'||LS_ID0000; --交易流水号
select SYS_GUID()into LS_JYLSH0 from dual;--交易流水号
if LS_JKLXBH in ('100001') then --用户登录
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,'authen','organ',LS_JGBM00,'机构代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,'authen','service',LS_JKLXBH,'交易代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,'authen','sequence',LS_JYLSH0,'交易流水号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,'authen','timestamp',LS_JYRQSJ,'交易时间',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,'logic','user',LS_USER,'用户名',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,'logic','pwd',LS_PWD,'密码',null,null,null,null);
--修改ZY_FSFPMX表数据XML000
update ZY_FSFPMX set ZDBH00=trim(ZDBH00),VALUE0=trim(VALUE0),XML000='' where ID0000=LS_ID0000;
elsif LS_JKLXBH in ('100002') then --用户注销
LS_MSGSTR:='用户登录';
elsif LS_JKLXBH in ('100003') then --收费项目类别同步
LS_MSGSTR:='收费项目类别同步';
elsif LS_JKLXBH in ('100004') then --收费项目同步
LS_MSGSTR:='收费项目同步';
elsif LS_JKLXBH in ('100005') then --在线开票信息查询
LS_MSGSTR:='在线开票信息查询';
elsif LS_JKLXBH in ('100048','200045') then
--v3.1.8 JKLXBH=100048:住院收费专用票据打印接口 200045:住院收费专用票据离线打印接口
select CXJZDH,PJH000,TSBZMC,PJHM,
JSH,ZYHM,ZYLSH,BXHM,YBHM,ICKZT,SYBXHM,
JZRXM,ZHYE,KPKH,KPR,SFY,XYF,ZCHY,ZCY,JCF,
ZLF,FSF,SSF,HYF,SYF,SXF,ZCF,GCC,QT,ZHZF,
TCJJ,GWYBZ,BJJJZF,SYBXZF,WTDK,GRZF,YLZF,CFDX,FYBFY,XJHJ,
HJ,YJJYE,FKFS,GHRQ,GHF,GHCS,HLF,JHCF,JSF,CWF,
GRYLZHZF,XJ,ZZ,YBJSH,JMFY,GSZF,JKZHZFE,JKZHYE,CJJJZF,CJZHYE,
BCYLJZ,MZBZJE,YTK,TCZF,QZZF,GJZHZF,FZKZ,FYLB,YSZJE0,ZZZJE0,XJYE00,ZZYE00,
BRZJE0,JZJE00,GFJE00,HJJE00,GRZHZF,TCJJZF,ZFJE00,YBYL11,YBYL12,YBYL13,YBYL14,YBYL17,
YBYL05,DBZBM0,BZFPGS
into LS_CXJZDH,LS_PJH000,LS_TSBZMC,LS_PJHM,
LS_JSH,LS_ZYHM,LS_ZYLSH,LS_BXHM,LS_YBHM,LS_ICKZT,LS_SYBXHM,
LS_JZRXM,LS_ZHYE,LS_KPKH,LS_KPR,LS_SFY,LS_XYF,LS_ZCHY,LS_ZCY,LS_JCF,
LS_ZLF,LS_FSF,LS_SSF,LS_HYF,LS_SYF,LS_SXF,LS_ZCF,LS_GCC,LS_QT,LS_ZHZF,
LS_TCJJ,LS_GWYBZ,LS_BJJJZF,LS_SYBXZF,LS_WTDK,LS_GRZF,LS_YLZF,LS_CFDX,LS_FYBFY,LS_XJHJ,
LS_HJ,LS_YJJYE,LS_FKFS,LS_GHRQ,LS_GHF,LS_GHCS,LS_HLF,LS_JHCF,LS_JSF,LS_CWF,
LS_GRYLZHZF,LS_XJ,LS_ZZ,LS_YBJSH,LS_JMFY,LS_GSZF,LS_JKZHZFE,LS_JKZHYE,LS_CJJJZF,LS_CJZHYE,
LS_BCYLJZ,LS_MZBZJE,LS_YTK,LS_TCZF,LS_QZZF,LS_GJZHZF,LS_FZKZ,LS_FYLB,LS_YSZJE0,LS_ZZZJE0,LS_XJYE00,LS_ZZYE00,
LS_BRZJE0,LS_JZJE00,LS_GFJE00,LS_HJJE00,LS_GRZHZF,LS_TCJJZF,LS_ZFJE00,LS_YBYL11,LS_YBYL12,LS_YBYL13,LS_YBYL14,LS_YBYL17,
LS_YBYL05,LS_DBZBM0,LS_BZFPGS
from VW_ZY_FSFPJZ
where JZDH00=LS_JZDH00 and ZYID00=LS_ZYID00;
if LS_BZFPGS='Y' then --单病种发票格式 Y:新格式 N:旧格式
begin
select DBZMC0 into LS_DBZMC0 from BM_DBZDEB where DBZBM0=LS_DBZBM0 and rownum=1;
exception
when others then
LS_DBZMC0:='';
end;
LS_SFDBZ:='1';--字符 2 Y 是否单病种 1:是 0:否
LS_DBZBM:=LS_DBZBM0;--字符 12 Y 单病种编码
LS_DBZMC:=LS_DBZMC0;--字符 80 Y 单病种名称
select SF_ZY_BZFPXMJE(LS_ZYID00,LS_JZDH00,'YBYL04') into LS_DBZBZ from dual;--LS_DBZBZ数字 16,4 Y 0.00 单病种标准
select SF_ZY_BZFPXMJE(LS_ZYID00,LS_JZDH00,'YBYL33') into LS_CWCWF from dual;--LS_CWCWF:=0--数字 16,4 Y 0.00 除外床位费
select SF_ZY_BZFPXMJE(LS_ZYID00,LS_JZDH00,'YBYL34') into LS_CWWSCLF from dual;--LS_CWWSCLF:=0--数字 16,4 Y 0.00 除外卫生材料费
LS_BZFPJE:=nvl(LS_DBZBZ,0)+nvl(LS_CWCWF,0)+nvl(LS_CWWSCLF,0);--单病种发票总金额
LS_DBZJSCE:=nvl(LS_BZFPJE,0)-nvl(LS_HJ,0);--数字 16,4 Y 0.00 单病种结算差额=单病种发票总金额-院内合计金额
LS_HJ:=nvl(LS_BZFPJE,0);--发票合计总额重新赋值
else
LS_BZFPJE:=LS_HJ;--单病种发票总金额
LS_SFDBZ:='0';--字符 2 Y 是否单病种 1:是 0:否
LS_DBZBM:='';--字符 12 Y 单病种编码
LS_DBZMC:='';--字符 80 Y 单病种名称
LS_DBZBZ:=0;--数字 16,4 Y 0.00 单病种标准
LS_CWCWF:=0;--数字 16,4 Y 0.00 除外床位费
LS_CWWSCLF:=0;--数字 16,4 Y 0.00 除外卫生材料费
LS_DBZJSCE:=0;--数字 16,4 Y 0.00 单病种结算差额
end if;
--单病种结算差额LS_DBZJSCE(=病种合计金额-院内合计) LS_YBYL05(医院支付金额)
--编码发票接口现在“票据合计金额(400.00)不等于14分项+单病种结算差额之和(70)”从新算发票主项单病种结算差额
--发票合计金额LS_HJ- (帐户支付:zhzf+统筹基金tcjj+个人自付grzf+公务员补助gwybz+保健基金支付bjjjzf+商保支付sybxzf
-- +本次民政医疗救助金额bcyljz+民政补助金额mzbzje+工伤支付gszf+共济账户支付gjzhzf)
-- LS_FPZXCE:=nvl(LS_HJ,0)-(nvl(LS_ZHZF,0)+nvl(LS_TCJJ,0)+nvl(LS_GRZF,0)+nvl(LS_GWYBZ,0));--发票主项差额(单病种结算差额)
--合计 = 床位费 + 西药费 +中成药 +中草药 +检查费 +治疗费 +放射费 +手术费 + 化验费 +卫生材料费 + 输血费 + 诊查费+护理费 + 其他 + 【单病种差额】dbzce
LS_FPZXCE:=nvl(LS_DBZJSCE,0);
for JZMX in CUR_JZMX00 loop
LS_FPXMBH:=JZMX.FSFPBH;
LS_FPXMJE:=JZMX.XMJE00;
if upper(LS_FPXMBH)='XYF' then --西药费
LS_XYF:=nvl(LS_XYF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='ZCHY' then --中成药费
LS_ZCHY:=nvl(LS_ZCHY,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='ZCY' then --中草药费
LS_ZCY:=nvl(LS_ZCY,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='GHF' then --挂号费
LS_GHF:=nvl(LS_GHF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='JCF' then --检查费
LS_JCF:=nvl(LS_JCF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='ZLF' then --治疗费
LS_ZLF:=nvl(LS_ZLF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='FSF' then --放射费
LS_FSF:=nvl(LS_FSF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='SSF' then --手术费
LS_SSF:=nvl(LS_SSF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='HYF' then --化验费
LS_HYF:=nvl(LS_HYF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='SYF' then --输氧费
LS_SYF:=nvl(LS_SYF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='SXF' then --输血费
LS_SXF:=nvl(LS_SXF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='ZCF' then --诊查费
LS_ZCF:=nvl(LS_ZCF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='GCC' then --观察床费
LS_GCC:=nvl(LS_GCC,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='HLF' then --护理费
LS_HLF:=nvl(LS_HLF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='JHCF' then --救护车费
LS_JHCF:=nvl(LS_JHCF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='JSF' then --接生费
LS_JSF:=nvl(LS_JSF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='CWF' then --床位费
LS_CWF:=nvl(LS_CWF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='WSCLF' then --卫生材料费
LS_WSCLF:=nvl(LS_WSCLF,0)+nvl(LS_FPXMJE,0);
elsif upper(LS_FPXMBH)='QT' then --其它费用
LS_QT:=nvl(LS_QT,0)+nvl(LS_FPXMJE,0);
else
LS_QT:=nvl(LS_QT,0)+nvl(LS_FPXMJE,0);
end if;
end loop;
select SF_SF_RETURNINDEXEH(LS_INDATA,'|', 1) into LS_QTCS00 from dual;
if LS_QTCS00='正常结算打印' then
LS_PJHM:=LS_PJHM;
end if;
if LS_QTCS00='发票重新打印' then
select SF_SF_RETURNINDEXEH(LS_INDATA,'|', 2) into LS_PJHM from dual;
end if;
begin
select FSPJLX,FSZCH0 into LS_PJLX,LS_PJZCH from BM_PJLYQK where SYBZ00='Y' and PJLXBM in (3) and PJSYR0=LS_CZY000;
exception
when others then
LS_PJLX:='';
LS_PJZCH:='';
end;
if LS_TSBZMC is not null then LS_FZKZ:=LS_FZKZ||'特殊病种:'||LS_TSBZMC; end if;
if LS_YBYL05<>0 then
LS_FZKZ:=LS_FZKZ||' '||'医院支付:'||trim(to_char(LS_YBYL05,'9999990.99'));
end if;
LS_SFY:=LS_CZYXM0;
LS_FPXH00:=LS_PJHM;
LS_ZYHM:=trim(LS_ZYH000);--住院号码
if trim(LS_YBJSH) not in ('0') then --住院流水号
LS_YBHM:=trim(LS_YBJSH); --医保流水号
else
LS_YBHM:=null; --医保流水号
end if;
LS_ZYLSH:=LS_JZDH00;--住院流水号
select BMMC00 into LS_KS from BM_BMBM00 where BMBH00=LS_DQKS00;
LS_YSXJ00:=nvl(LS_YSZJE0,0);--现金预收金额
LS_ZZYSJE:=nvl(LS_ZZZJE0,0);--转账预收款
if nvl(LS_XJYE00,0)<0 then
LS_YBXJ00:=abs(nvl(LS_XJYE00,0));--现金应补交
LS_YTXJ00:=0;--现金应退还
else
LS_YBXJ00:=0;--现金应补交
LS_YTXJ00:=abs(nvl(LS_XJYE00,0));--现金应退还
end if;
if nvl(LS_ZZYE00,0)<0 then
LS_YBZZ00:=abs(nvl(LS_ZZYE00,0));--转账应补交
LS_YTZZ00:=0;--转账应退还
else
LS_YBZZ00:=0;--转账应补交
LS_YTZZ00:=abs(nvl(LS_ZZYE00,0));--转账应退还
end if;
LS_YJJE:=nvl(LS_YSXJ00,0)+nvl(LS_ZZYSJE,0); --预交金额
LS_CYBK:=nvl(LS_YBXJ00,0)+nvl(LS_YBZZ00,0); --出院补款
LS_CYTXJ:=nvl(LS_YTXJ00,0); --出院退现金
LS_CYTZK:=nvl(LS_YTZZ00,0); --出院退转款
--出院退款=出院退现金+出院退转款
LS_CYTK:=nvl(LS_CYTXJ,0)+nvl(LS_CYTZK,0);
if LS_CYTK<0 then LS_CYTK:=0; end if;
--应退款=出院退款
--LS_YTK:=LS_CYTK;
/*
--医疗账户支付=医疗账户支付GRZHZF(已包含YBYL11=JKZHZFE,YBYL13=GJZHZF) 顾发票上扣除掉YBYL11,YBYL13
LS_GRYLZHZF:=nvl(LS_GRZHZF,0)-nvl(LS_JKZHZFE,0)-nvl(LS_GJZHZF,0);
if LS_GRYLZHZF<0 then LS_GRYLZHZF:=0; end if;
--帐户支付=医疗账户支付GRZHZF+健康账户支付YBYL11+共济账户支付YBYL13
LS_ZHZF:=nvl(LS_GRYLZHZF,0)+nvl(LS_JKZHZFE,0)+nvl(LS_GJZHZF,0);
*/
--帐户支付=医疗账户支付GRZHZF
LS_ZHZF:=nvl(LS_GRZHZF,0);
--医疗账户支付=帐户支付-健康账户支付YBYL11(JKZHZFE)-共济账户支付YBYL13(GJZHZF)
LS_GRYLZHZF:=nvl(LS_ZHZF,0)-nvl(LS_JKZHZFE,0)-nvl(LS_GJZHZF,0);
if LS_GRYLZHZF<0 then LS_GRYLZHZF:=0; end if;
--修正最后一个发票号未取到注册号 2017.05.10 by zyc
if trim(LS_PJLX) is null then
begin
select max(PJLYID) into LS_PJLYID from BM_PJLYQK where PJLXBM in (3) and PJSYR0=LS_CZY000 and trim(PJQSH0)<=trim(LS_PJHM) and trim(PJZZH0)>=trim(LS_PJHM);
select FSPJLX,FSZCH0 into LS_PJLX,LS_PJZCH from BM_PJLYQK where PJLYID=LS_PJLYID;
exception
when others then
LS_PJLX:=null;
LS_PJZCH:=null;
end;
end if;
--非税发票接口编码
begin
select FPJKBM into LS_FPJKBM from BM_PJLYQK where PJLYID=LS_PJLYID;
exception
when others then
LS_FPJKBM:=null;
end;
if LS_FPJKBM is null then
LS_FPJKBM:=LS_JKLXBH;
end if;
-->authen
LS_XMLMC0:='authen';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'organ',LS_JGBM00,'机构代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'user',LS_USER,'接口系统用户账号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
--values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'service',LS_JKLXBH,'交易代码',null,null,null,null);
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'service',LS_FPJKBM,'交易代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'print','1','是否打印:1:表示直接开票并打印 0:表示直接开票但不打印',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sequence',LS_JYLSH0,'交易流水号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'timestamp',LS_JYRQSJ,'交易时间',null,null,null,null);
-->
LS_XMLMC0:='logic';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjhm',LS_PJHM,'票据号码',null,'字符','20','N'); --
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjlx',LS_PJLX,'票据类型','006002001','字符','12','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjzch',LS_PJZCH,'票据注册号','闽财(2016)票字第40号','字符','100','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jsh',LS_JSH,'结算号(唯一识别一笔结算数据)',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zyhm',LS_ZYHM,'住院号码',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zylsh',LS_ZYLSH,'住院流水号',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'bxhm',LS_BXHM,'保险号码',null,'字符','64','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ybhm',LS_YBHM,'医保流水号',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ickzt',LS_ICKZT,'IC卡状态(有效,无效)',null,'字符','10','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sybxhm',LS_SYBXHM,'商业保险号码',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jzrxm',LS_JZRXM,'就诊人姓名',null,'字符','50','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ks',LS_KS,'就诊科室',null,'字符','100','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zhye',trim(to_char(LS_ZHYE,'9999990.99')),'医保账户余额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'kpkh',LS_KPKH,'开票卡号',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'kpr',LS_KPR,'开票人',null,'字符','100','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sfy',LS_SFY,'收费员',null,'字符','50','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'kpsj',to_char(sysdate,'YYYYMMDDHH24MISS'),'开票时间(yyyyMMddHH24miss)',null,'字符','32','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'xyf',trim(to_char(LS_XYF,'9999990.99')),'西药费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zchy',trim(to_char(LS_ZCHY,'9999990.99')),'中成药费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zcy',trim(to_char(LS_ZCY,'9999990.99')),'中草药费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jcf',trim(to_char(LS_JCF,'9999990.99')),'检查费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zlf',trim(to_char(LS_ZLF,'9999990.99')),'治疗费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'fsf',trim(to_char(LS_FSF,'9999990.99')),'放射费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ssf',trim(to_char(LS_SSF,'9999990.99')),'手术费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'hyf',trim(to_char(LS_HYF,'9999990.99')),'化验费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'syf',trim(to_char(LS_SYF,'9999990.99')),'输氧费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sxf',trim(to_char(LS_SXF,'9999990.99')),'输血费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zcf',trim(to_char(LS_ZCF,'9999990.99')),'诊查费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'gcc',trim(to_char(LS_GCC,'9999990.99')),'观察床费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'qt',trim(to_char(LS_QT,'9999990.99')),'其它费用','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'wsclf',trim(to_char(LS_WSCLF,'9999990.99')),'卫生材料费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zhzf',trim(to_char(LS_ZHZF,'9999990.99')),'帐户支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'tcjj',trim(to_char(LS_TCJJ,'9999990.99')),'基金支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'gwybz',trim(to_char(LS_GWYBZ,'9999990.99')),'公务员补助','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'bjjjzf',trim(to_char(LS_BJJJZF,'9999990.99')),'保健基金','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sybxzf',trim(to_char(LS_SYBXZF,'9999990.99')),'商保支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'wtdk',trim(to_char(LS_WTDK,'9999990.99')),'委托代扣(HIS 没有)','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'grzf',trim(to_char(LS_GRZF,'9999990.99')),'个人自付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ylzf',trim(to_char(LS_YLZF,'9999990.99')),'乙类支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cfdx',trim(to_char(LS_CFDX,'9999990.99')),'超封顶线','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'fybfy',trim(to_char(LS_FYBFY,'9999990.99')),'其中非医保费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'xjhj',trim(to_char(LS_XJHJ,'9999990.99')),'现金合计','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'hj',trim(to_char(LS_HJ,'9999990.99')),'合计','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'yjjye',trim(to_char(LS_YJJYE,'9999990.99')),'预交金余额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'yjje',trim(to_char(LS_YJJE,'9999990.99')),'预交金额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cybk',trim(to_char(LS_CYBK,'9999990.99')),'出院补款','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cytxj',trim(to_char(LS_CYTXJ,'9999990.99')),'出院退现金','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cytzk',trim(to_char(LS_CYTZK,'9999990.99')),'出院退转款','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ytk',trim(to_char(LS_YTK,'9999990.99')),'应退款','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cytk',trim(to_char(LS_cytk,'9999990.99')),'出院退款','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zyksrq',LS_ZYKSRQ,'住院开始日期',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zyjsrq',LS_ZYJSRQ,'住院结束日期',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zyts',LS_ZYTS,'住院天数',null,'数字','6','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ysxxbck',trim(to_char(LS_YSXXBCK,'9999990.99')),'减:应收中心血站献血补偿款 ','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'fkfs',LS_FKFS,'付款方式',null,'字符','4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zycs',LS_ZYCS,'住院次数',null,'字符','6','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'hlf',trim(to_char(LS_HLF,'9999990.99')),'护理费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jhcf',trim(to_char(LS_JHCF,'9999990.99')),'救护车费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jsf',trim(to_char(LS_JSF,'9999990.99')),'接生费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cwf',trim(to_char(LS_CWF,'9999990.99')),'床位费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'grylzhzf',trim(to_char(LS_GRYLZHZF,'9999990.99')),'个人医疗账户支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'xj',trim(to_char(LS_XJ,'9999990.99')),'现金支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zz',trim(to_char(LS_ZZ,'9999990.99')),'转账','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'ybjsh',LS_YBJSH,'医保结算号',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jmfy',trim(to_char(LS_JMFY,'9999990.99')),'减免费用','0.00','数字','16,4','Y');
/*
if LS_SFDBZ in ('1') then --字符 2 Y 是否单病种 1:是 0:否
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jmfy',trim(to_char(LS_YBYL05,'9999990.99')),'减免费用','0.00','数字','16,4','Y');
else
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jmfy',trim(to_char(LS_JMFY,'9999990.99')),'减免费用','0.00','数字','16,4','Y');
end if;
*/
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'gszf',trim(to_char(LS_GSZF,'9999990.99')),'工伤支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jkzhzfe',trim(to_char(LS_JKZHZFE,'9999990.99')),'健康账户支付额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jkzhye',trim(to_char(LS_JKZHYE,'9999990.99')),'健康账户余额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cjjjzf',trim(to_char(LS_CJJJZF,'9999990.99')),'残疾基金支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cjzhye',trim(to_char(LS_CJZHYE,'9999990.99')),'残疾账户余额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'bcyljz',trim(to_char(LS_BCYLJZ,'9999990.99')),'本次民政医疗救助金额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'mzbzje',trim(to_char(LS_MZBZJE,'9999990.99')),'民政补助金额','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'tczf',trim(to_char(LS_TCZF,'9999990.99')),'统筹支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'qzzf',trim(to_char(LS_QZZF,'9999990.99')),'其中自费','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'gjzhzf',trim(to_char(LS_GJZHZF,'9999990.99')),'共济账户支付','0.00','数字','16,4','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'fzkz',LS_FZKZ,'附注扩展',null,'字符','100','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'fylb',LS_FYLB,'费用类别',null,'字符','100','Y');
--2018.02 单病种发票增加
-- sfdbz 字符 2 Y 是否单病种 1:是 0:否
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sfdbz',LS_SFDBZ,'是否单病种 1:是 0:否',null,'字符','2','Y');
--dbzbm 字符 12 Y 单病种编码
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'dbzbm',LS_DBZBM,'单病种编码',null,'字符','20','Y');
--dbzmc 字符 80 Y 单病种名称
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'dbzmc',LS_DBZMC,'单病种名称',null,'字符','20','Y');
--dbzbz 数字 16,4 Y 0.00 单病种标准
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'dbzbz',LS_DBZBZ,'单病种标准',null,'数字','16,4','Y');
--cwcwf 数字 16,4 Y 0.00 除外床位费
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cwcwf',LS_CWCWF,'除外床位费',null,'数字','16,4','Y');
--cwwsclf 数字 16,4 Y 0.00 除外卫生材料费
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'cwwsclf',LS_CWWSCLF,'除外材料费',null,'数字','16,4','Y');
--dbzjsce 数字 16,4 Y 0.00 单病种结算差额
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'dbzjsce',LS_FPZXCE,'单病种结算差额',null,'数字','16,4','Y');
--修改ZY_FSFPMX表数据XML000
update ZY_FSFPMX set ZDBH00=trim(ZDBH00),VALUE0=trim(VALUE0),XML000='' where ID0000=LS_ID0000;
--插入住院非税发票接口清单
for QDMX in CUR_QDMX00 loop
begin
select C.SFYBXM,C.YBXMBH,a.CBXMBH
into LS_SFYBXM,LS_YBXMBH,LS_CBXMBH
from BM_YBFPXM A,VW_BM_YBSFDY C,BM_YBSFXM D
where a.BH0000 = C.YBMZFP and a.YBZXLB = C.YBZXLB
and C.YBBRLB = LS_YBBRLB and C.SFXMID = QDMX.XMBH00
and C.YBZXLB = D.YBZXLB(+) and C.YBXMBH = D.XMBH00(+)
and C.SFYP00 = decode(QDMX.SFLSCF,'0','Y','3','N','N')---SFLSCF 0:处方表数据 1:医技表数据 2:费用表数据 3:中药待煎费
and a.YBZXLB = LS_YBZXLB and a.SYBZ00 <> '2';
exception
when others then
LS_SFYBXM:='N';
end;
insert into ZY_FSFPQD(ID0000,XMID00,XMDM00,XMMC00,DJ0000,SL0000,JE0000,SFYB00,ZFBL00,YBBM00,BZ0000)
values(LS_ID0000,SQ_ZY_FSFPQD_XMID00.nextval,QDMX.XMBH00,trim(QDMX.XMMC00),QDMX.XMDJ00,QDMX.XMSL00,QDMX.XMJE00,trim(LS_SFYBXM),QDMX.ZFBL00,trim(LS_YBXMBH),'0');
end loop;
delete ZY_FSFPQD where JE0000=0 and ID0000=LS_ID0000;
--单病种发票插入一条明细(单病种差额)
if LS_SFDBZ in ('1') then --字符 2 Y 是否单病种 1:是 0:否
insert into ZY_FSFPQD(ID0000,XMID00,XMDM00,XMMC00,DJ0000,SL0000,JE0000,SFYB00,ZFBL00,YBBM00,BZ0000)
values(LS_ID0000,SQ_ZY_FSFPQD_XMID00.nextval,'dbzjsce','单病种差额',LS_DBZJSCE,1,LS_DBZJSCE,'N',1,'无','0');
end if;
update ZY_FSFPQD set XMLQD0='
'
where ID0000=LS_ID0000;
elsif LS_JKLXBH in ('100007') then --住院收费票据打印
LS_MSGSTR:='住院收费票据打印';
elsif LS_JKLXBH in ('100008') then --门诊收费自助票据打印
LS_MSGSTR:='门诊收费自助票据打印';
elsif LS_JKLXBH in ('100009') then --已使用发票作废
select PJH000,PJHM,JDPH,FPQTXX,SZZW00,JDPH00,PJHM00
into LS_PJH000,LS_PJHM,LS_JDPH,LS_FPQTXX,LS_SZZW00,LS_JDPH00,LS_PJHM00
from VW_ZY_FSFPJZ where JZDH00=LS_JZDH00 and ZYID00=LS_ZYID00;
-- FPQTXX:10285|006001002|闽财(2015)票字第38号|福建省厦门市医疗机构门诊收费专用票据(单联滚筒)
select SF_SF_RETURNINDEXEH(LS_INDATA,'|', 1) into LS_QTCS00 from dual;
if LS_QTCS00='发票补打作废' then
LS_ZFYY:=LS_QTCS00;
end if;
if LS_QTCS00='取消结算作废' then
LS_ZFYY:=LS_QTCS00;
end if;
if LS_QTCS00='重新结算作废' then
LS_ZFYY:=LS_QTCS00;
end if;
if LS_ZFYY is null then LS_ZFYY:='票据作废'; end if;
select SF_SF_RETURNINDEXEH(LS_FPQTXX,'|', 2) into LS_PJLX from dual;
select SF_SF_RETURNINDEXEH(LS_FPQTXX,'|', 3) into LS_PJZCH from dual;
select SF_SF_RETURNINDEXEH(LS_FPQTXX,'|', 4) into LS_PJMC00 from dual;
if LS_PJLX is null then
begin
select max(PJLYID) into LS_PJLYID from BM_PJLYQK where PJLXBM =3 and SYBZ00='Y' and PJSYR0=LS_CZY000;
select FSPJLX,FSZCH0 into LS_PJLX,LS_PJZCH from BM_PJLYQK where PJLYID=LS_PJLYID;
exception
when others then
LS_PJLX:=null;
LS_PJZCH:=null;
end;
end if;
LS_ZFR:=LS_CZYXM0;--字符 50 N 作废人
LS_ZFSJ:=to_char(sysdate,'YYYYMMDDHH24MISS');--字符 20 N 作废时间(yyyyMMddHH24miss)
LS_FPXH00:=LS_PJHM;--票据序号
LS_ZFRQ00:=to_char(sysdate,'YYYYMMDD');
LS_ZFSJ00:=to_char(sysdate,'HH24:MI:SS');
LS_ZFRBH0:=LS_CZY000;
LS_ZFRXM0:=LS_CZYXM0;
LS_ZFYY00:=LS_ZFYY;
LS_BZ0000:=LS_FPQTXX;
LS_PJLX00:=LS_PJLX;
LS_PJZCH0:=LS_PJZCH;
-->authen
LS_XMLMC0:='authen';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'organ',LS_JGBM00,'机构代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'user',LS_USER,'接口系统用户账号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'service',LS_JKLXBH,'交易代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sequence',LS_JYLSH0,'交易流水号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'timestamp',LS_JYRQSJ,'交易时间',null,null,null,null);
-->
LS_XMLMC0:='logic';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjhm',LS_PJHM,'票据号码',null,'字符','20','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjlx',LS_PJLX,'票据类型',null,'字符','12','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'jdph',LS_JDPH,'机打票号',null,'字符','20','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjzch',LS_PJZCH,'票据注册号',null,'字符','100','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zfr',LS_ZFR,'作废人',null,'字符','50','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zfsj',LS_ZFSJ,'作废时间',null,'字符','20','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zfyy',LS_ZFYY,'作废原因',null,'字符','50','N');
--修改ZY_FSFPMX表数据XML000
update ZY_FSFPMX set ZDBH00=trim(ZDBH00),VALUE0=trim(VALUE0),XML000='' where ID0000=LS_ID0000;
elsif LS_JKLXBH in ('100011') then --票据剩余量查询
LS_MSGSTR:='票据剩余量查询';
elsif LS_JKLXBH in ('100012') then --票据号码初始化
LS_MSGSTR:='票据号码初始化';
elsif LS_JKLXBH in ('100013') then --空白票据作废
select SF_SF_RETURNINDEXEH(LS_INDATA,'|', 1) into LS_QTCS00 from dual;
if LS_QTCS00='空白票据作废' then
LS_ZFYY:=LS_QTCS00;
select SF_SF_RETURNINDEXEH(LS_INDATA,'|', 2) into LS_PJHM from dual;--入参信息 票据序号
end if;
if LS_ZFYY is null then LS_ZFYY:='票据作废'; end if;
LS_ZFR:=LS_CZYXM0;--字符 50 N 作废人
LS_ZFSJ:=to_char(sysdate,'YYYYMMDDHH24MISS');--字符 20 N 作废时间(yyyyMMddHH24miss)
LS_FPXH00:=LS_PJHM;--入参信息 票据序号
LS_ZFRQ00:=to_char(sysdate,'YYYYMMDD');
LS_ZFSJ00:=to_char(sysdate,'HH24:MI:SS');
LS_ZFRBH0:=LS_CZY000;
LS_ZFRXM0:=LS_CZYXM0;
LS_ZFYY00:=LS_ZFYY;
-->authen
LS_XMLMC0:='authen';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'organ',LS_JGBM00,'机构代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'user',LS_USER,'接口系统用户账号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'service',LS_JKLXBH,'交易代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sequence',LS_JYLSH0,'交易流水号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'timestamp',LS_JYRQSJ,'交易时间',null,null,null,null);
-->
LS_XMLMC0:='logic';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjhm',LS_PJHM,'票据号码',null,'字符','20','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjlx',LS_PJLX,'票据类型',null,'字符','12','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjzch',LS_PJZCH,'票据注册号',null,'字符','100','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zfr',LS_ZFR,'作废人',null,'字符','50','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zfsj',LS_ZFSJ,'作废时间',null,'字符','20','N');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'zfyy',LS_ZFYY,'作废原因',null,'字符','50','N');
--修改ZY_FSFPMX表数据XML000
update ZY_FSFPMX set ZDBH00=trim(ZDBH00),VALUE0=trim(VALUE0),XML000='' where ID0000=LS_ID0000;
elsif LS_JKLXBH in ('100014') then --票据订正
LS_MSGSTR:='票据订正';
elsif LS_JKLXBH in ('100015') then --个人领用信息查询
LS_MSGSTR:='个人领用信息查询';
elsif LS_JKLXBH in ('100019') then --已开票据信息查询
LS_MSGSTR:='已开票据信息查询';
elsif LS_JKLXBH in ('100020') then --财政票据领用查询接口
LS_MSGSTR:='财政票据领用查询接口';
-->authen
LS_XMLMC0:='authen';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'organ',LS_JGBM00,'机构代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'user',LS_USER,'接口系统用户账号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'service',LS_JKLXBH,'交易代码',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'sequence',LS_JYLSH0,'交易流水号',null,null,null,null);
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'timestamp',LS_JYRQSJ,'交易时间',null,null,null,null);
-->
LS_XMLMC0:='logic';
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'lyksrq','20160101','领用开始日期',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'lyjsrq',LS_CZRQ00,'领用结束日期',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjdm','zypj','票据代码:mzpj 门诊票据、zypj 住院票据、zzpj 自助票据',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjlx','','票据类型',null,'字符','20','Y');
insert into ZY_FSFPMX(ID0000,MXID00,XMLMC0,ZDBH00,VALUE0,ZDSM00,ZDMRZ0,ZDLX00,ZDCD00,ZDXZ00)
values(LS_ID0000,SQ_ZY_FSFPMX_MXID00.nextval,LS_XMLMC0,'pjzch','','票据注册号',null,'字符','100','Y');
--修改ZY_FSFPMX表数据XML000
update ZY_FSFPMX set ZDBH00=trim(ZDBH00),VALUE0=trim(VALUE0),XML000='' where ID0000=LS_ID0000;
elsif LS_JKLXBH in ('100027') then --住院收费票据打印
LS_MSGSTR:='住院收费票据打印';
elsif LS_JKLXBH in ('100028') then --门诊收费自助票据打印
LS_MSGSTR:='门诊收费自助票据打印';
elsif LS_JKLXBH in ('100029') then --门诊收费票据打印(中医院)
LS_MSGSTR:='门诊收费票据打印(中医院)';
elsif LS_JKLXBH in ('200002') then --门诊收费票据离线打印
LS_MSGSTR:='门诊收费票据离线打印';
elsif LS_JKLXBH in ('200003') then --住院收费票据离线打印
LS_MSGSTR:='住院收费票据离线打印';
elsif LS_JKLXBH in ('200004') then --门诊收费自助票据离线打印
LS_MSGSTR:='门诊收费自助票据离线打印';
elsif LS_JKLXBH in ('200005') then --门诊收费票据离线同步
LS_MSGSTR:='门诊收费票据离线同步';
elsif LS_JKLXBH in ('200006') then --住院收费票据离线同步
LS_MSGSTR:='住院收费票据离线同步';
elsif LS_JKLXBH in ('200007') then --门诊收费自助票据离线同步
LS_MSGSTR:='门诊收费自助票据离线同步';
elsif LS_JKLXBH in ('200010') then --离线注销
LS_MSGSTR:='离线注销';
elsif LS_JKLXBH in ('200012') then --离线票据剩余量查询
LS_MSGSTR:='离线票据剩余量查询';
elsif LS_JKLXBH in ('200013') then --离线开票信息查询
LS_MSGSTR:='离线开票信息查询';
elsif LS_JKLXBH in ('200022') then --门诊收费票据离线打印
LS_MSGSTR:='门诊收费票据离线打印';
elsif LS_JKLXBH in ('200023') then --住院收费票据离线打印
LS_MSGSTR:='住院收费票据离线打印';
elsif LS_JKLXBH in ('200024') then --门诊收费自助票据离线打印
LS_MSGSTR:='门诊收费自助票据离线打印';
elsif LS_JKLXBH in ('200025') then --门诊收费自助票据离线同步
LS_MSGSTR:='门诊收费自助票据离线同步';
elsif LS_JKLXBH in ('200026') then --住院收费自助票据离线同步
LS_MSGSTR:='住院收费自助票据离线同步';
elsif LS_JKLXBH in ('200027') then --门诊收费自助票据离线同步
LS_MSGSTR:='门诊收费自助票据离线同步';
end if;
--插入主表
insert into ZY_FSFP00
(ID0000, --内部ID
CZRQ00, --操作日期
CZSJ00, --操作时间
CZY000, --操作员编码
CZYXM0, --操作员姓名
BRID00, --BRID00
BRXM00, --病人姓名
ZYID00, --住院号ID
ZYH000, --住院号
JKLXBH, --接口类型编码
JKLXMC, --接口类型名称
JYLSH0, --交易流水号
JYRQSJ, --交易日期时间
JGBM00, --机构编码
JYZT00, --0:新增 1:修改
JZDH00, --结账单号
PJH000, --票据号
FPXH00, --发票序号
JYXX00, --交易信息
FHJG00, --返回结果
FHXX00, --返回信息
INDATA, --入参信息
BZ0000, --备注
SFFSJK,
FPUSER,
FPPWD0,
ZFRQ00,
ZFSJ00,
ZFRBH0,
ZFRXM0,
ZFYY00,
SZZW00,
JDPH00,
PJHM00,
PJLX00,
PJMC00,
PJZCH0,
HJJE00,
FPJKBM --非税发票接口编码
)values(
LS_ID0000, --内部ID
LS_CZRQ00, --操作日期
LS_CZSJ00, --操作时间
LS_CZY000, --操作员编码
LS_CZYXM0, --操作员姓名
LS_BRID00, --BRID00
LS_BRXM00, --病人姓名
LS_ZYID00, --住院号ID
trim(LS_ZYH000), --住院号
LS_JKLXBH, --接口类型编码
LS_JKLXMC, --接口类型名称
LS_JYLSH0, --交易流水号
LS_JYRQSJ, --交易日期时间
LS_JGBM00, --机构编码
LS_JYZT00, --0:新增 1:修改
LS_JZDH00, --结账单号
LS_PJH000, --票据号
LS_FPXH00, --发票序号
LS_JYXX00, --交易信息
LS_FHJG00, --返回结果
LS_FHXX00, --返回信息
LS_INDATA, --入参信息
LS_BZ0000, --备注
P_SFFSJK ,
LS_FPUSER,
LS_FPPWD0,
LS_ZFRQ00,
LS_ZFSJ00,
LS_ZFRBH0,
LS_ZFRXM0,
LS_ZFYY00,
LS_SZZW00,
LS_JDPH00,
LS_PJHM00,
LS_PJLX00,
LS_PJMC00,
LS_PJZCH0,
LS_HJJE00,
LS_FPJKBM --非税发票接口编码
);
end if;
---新增加---end---
AS_JBZXZT:='Y';--执行状态 N:失败 Y:成功
AS_OUTID0:=LS_ID0000;
exception
when no_data_found then
AS_JBZXZT:='N';--执行状态 N:失败 Y:成功
AS_YHMSG0:=LS_JKLXMC||'非税发票执行日志数据保存错误!';
AS_SYSMSG:=substr('执行存储过程错误:SP_ZY_FSFPJK'||sqlerrm,1,150);
rollback;
return;
when others then
AS_JBZXZT:='N';--执行状态 N:失败 Y:成功
AS_YHMSG0:=LS_JKLXMC||'非税发票执行日志数据保存错误!';
AS_SYSMSG:=substr('执行存储过程错误:SP_ZY_FSFPJK'||sqlerrm,1,150);
rollback;
return;
end;
/
-- Grants for Procedure
GRANT EXECUTE ON sp_zy_fsfpjk TO sst
/
-- End of DDL Script for Procedure SD_HOSPITAL.SP_ZY_FSFPJK