create or replace function SF_SF_BSDJPJ_JSONSTR
(
  PCJLYBM varchar2 default 'YH',   --厂家来源编码 BS:博思，YH:易惠。。。（待扩展）
  PJKCJBM varchar2 default '',     --接口场景编码 
  PBRID00 number,                  --病人ID=BM_BRXXB0.BRID00
  PJZDH00 number,                  --结账单号=SF_JZB000.JZDH00
  PCZY000 number   default 0,      --操作员=BM_YGBM00.YGBH00
  PCZYKS0 number   default 0,      --操作员科室=BM_YGBM00.BMBH00
  PFHLXBH number,                  --返回类型编码 0:完整请求报文 1：chargeDetail    收费项目明细列表 2:listDetail   清单项目明细列表 3：otherInfo   其它扩展信息列表  4：otherMedicalList   其它医保信息列表 5:payChannelDetail 交费渠道列表
  PINTSTR varchar2 default ''      --备用参数 xml编码格式传入(其它请求入参或HIS前端请求入参数)
)
-- modification history
-- Person     Date        Comments
-- zhangyc    2020.12.07  create by     [门诊][易惠博思电子发票]报文组成 by     MZSF9-20201207-002
-- zhangyc    2020.12.09  增加to_char(xxx,'999999990.99')否报文会显示为.xxx by MZSF9-20201210-001
-- zhangyc    2020.12.11  增加字段 by MZSF9-20201211-001
-- zhangyc    2021.01.25  处理多个结账单号合并打印问题 by  MZSF9-20210126-001
-- zhangyc    2021.02.05  chargeCode:收费项目代码增加前缀 by MZSF9-20210204-002
-- zhangyc    2021.03.16  payee、author、checker、placeCode如果前台有传值按前台处理 和主项remark增加普门累计、特门累计  by MZSF9-20210315-001
-- zhangyc    2021.04.12  根据参数控制number_std_amt 数量、单价、金额保留位数 by MZSF9-20210412-003
-- jlg        2021.08.30  重新整理下脚本的缩进排版，code改为从YBXMBH优先获取    MZSF9-20210827-004
-- jlg        2021.09.09  修改 ownPay 自费金额 和 selfPayAmt 个人自付  两个字段取值为空值（博思电子票据要求）   MZSF9-20210909-002
-- chenHeyi   2021.11.20  防卡退卡时无卡号，将卡号放在XML入参中   MZSF9-20211123-003
-- chenHeyi   2021.12.20  增加字典参数ZFJEGRZFSFSWK；BS电子发票发送报文中，自费金额与个人自付是否设置为空，0否1是 ; 默认为1 MZSF9-20211214-001
-- zhangyc    2021.12.30  合并打印substrb(max(nvl(a.YBXMBH,nvl(trim(a.GJBM00),a.XMBH00))),1,50) as code 改为直接取 a.XMBH00 as  code by     MZSF9-20211224-001
-- jlg        2022.04.06  'LS_number_std_amt'改回为 'number_std_amt' MZSF9-20220330-001
-- chenHeyi   2022.04.15  明细报文补unit，remark取VW_SF_RQDMX8.XMYBLB  MZSF9-20220408-001
-- chenHeyi   2022.04.21  增加字典参数BSDZFP_checker，博思电子发票复核人取值方式；0:取当前操作员，当前操作员为空取结帐操作员；1为空；默认为0  MZSF9-20220412-004
-- chenHeyi   2022.07.01  最终LS_CardNo还是空，再取BM_BRXXB0.BRZJBH  MZSF9-20220518-002
return clob is
  LS_FHXX00          clob;          --
  LS_JSONSTR         clob;          --
  LS_JSQDMX          clob;          --
  LS_QDMXJSON        clob;          --
  LS_DJ_format       varchar2(20);  --单价格式化
  LS_SL_format       varchar2(20);  --数量格式化
  LS_JE_format       varchar2(20);  --金额格式化
  in_PJH000          number(10);    --票据号
  in_BRID00          number(10);    --病人ID
  in_JZDH00          number(10);    --结账单号
  LS_SFHBDY          number(10);    --是否合并打印 0:否 1:是
  LS_COUNT0          number(12,2);  --
  LS_SFDMQZ          varchar2(10);  --chargeCodeQzdm:收费项目代码增加前缀
  LS_CZYXM0          varchar2(50);  --操作员姓名
  LS_payee           varchar2(50);  --收费员
  LS_author          varchar2(50);  --票据编制人
  LS_checker           varchar2(50);  --票据复核人
  LS_placeCode       varchar2(50);  --开票点编码(胸卡号)    
  LS_remark          varchar2(200); --备注信息
  LS_number_std_amt  varchar2(100); --博思电子发票清单明细数量、单价、金额小数点保留位数格式化参数设置,用|隔开,(.9999标识保留4位)
  LS_CardNo          varchar2(100); --XML中取出的卡号  MZSF9-20211123-003
  LS_ZFJEGRZFSFSWK   BM_TYZD00.MC0000%type;  --增加字典参数ZFJEGRZFSFSWK；门费收费BS电子发票发送报文中，自费金额与个人自付是否设置为空，0否1是 ; 默认为1   MZSF9-20211214-001
  LS_ownPay          varchar2(50);  --自费金额
  LS_selfPayAmt      varchar2(50);  --个人自付
  LS_BSDZFP_checker  BM_TYZD00.MC0000%type;  --字典参数BSDZFP_checker
  
  --2:listDetail    清单项目明细列表
  cursor CUR_listDetail is
    select aa.*,rownum as sortNo from VW_SF_listDetail aa where aa.JZDH00=PJZDH00;
  cursor CUR_electronic_bill is  
    select  aa.* from VW_SF_op_electronic_bill aa where aa.JZDH00=PJZDH00;
 
  --多笔结算合并打印
  cursor CUR_HBJSQDMX is
    select aa.*,rownum as sortNo from 
    (
      select  
        a.XMBH00 as XMBH00,                                                                                   --项目编码
        substrb(a.XMMC00,1,50) as name,                                                                       --name                药品名称        String  50    是    如药品名称，器材名称等
        a.XMDJ00 as std,                                                                                      --std               单价          Number  14,6    是                                                          
        sum(a.XMSL00) as num,                                                                                 --number            数量          Number  14,6    是                                                  
        sum(a.HJJE00) as amt,                                                                                 --amt               金额          Number  14,6    是                                                    
        sum(a.HJJE00) as selfAmt,                                                                             --selfAmt           自费金额      Number  14,6    是  如无金额，填写0                       
        max(a.QDH000) as listDetailNo,                                                                        --listDetailNo        明细流水号    String    60    否    明细流水号                  
        max(decode(SF_SF_TYZD00('第三方电子发票平台接口','chargeCode'),'1',a.FPXMBH,a.FPXMID)) as chargeCode, --chargeCode        收费项目代码  String  50    否    填写业务系统内部编码值，由医疗平台配置对照,如：床位费、检查费
        max(a.FPXMMC) as chargeName,                                                                          --chargeName        收费项目名称  String  100   否    
        max(a.DJH000) as prescribeCode,                                                                       --prescribeCode       处方编码        String  60    否    
        '' as listTypeCode,                                                                                   --listTypeCode        药品类别编码    String  50    否    如药品分类编码01，有则填写
        '' as listTypeName,                                                                                   --listTypeName        药品类别名称    String  50    否    如药品分类名称，抗生素类抗感染药物
        --substrb(max(nvl(a.YBXMBH,nvl(trim(a.GJBM00),a.XMBH00))),1,50) as code,                                --code              编码            String  50    否    如药品编码，有则填写
        a.XMBH00 as code,                                                                                     --code                编码            String  50    否    如药品编码，有则填写
        '' as form,                                                                                           --form                剂型            String  50    否    
        substrb(max(a.XMGG00),1,50) as specification,                                                         --specification       规格            String  50    否    
        substrb(max(a.XMDW00),1,20) as unit,                                                                  --unit                计量单位        String  20    否    
        '' as receivableAmt,                                                                                  --receivableAmt       应收费用        Number  14,6    否  
        '' as medicalCareType,                                                                                --medicalCareType   医保药品分类  String  1       否 1：无自负/甲2：有自负/乙3：全自负/丙 
        '' as medCareItemType,                                                                                --medCareItemType   医保项目类型  String  100   否    
        '' as medReimburseRate,                                                                               --medReimburseRate    医保报销比例    Number  3,2   否    
        max(a.XMYBLB) as remark,                                                                                         --remark             备注         String     200     否    
        1 as PXXH00,                                                                                          --sortNo            序号         Integer  不限    否  序号
        '' as chrgtype                                                                                       --chrgtype         费用类型       String       50    否
      from VW_SF_RQDMX8 a
      where 1=1
      and a.MZID00=in_BRID00
      and a.JZDH00 in (select dd.JZDH00 from SF_JZB000 dd where dd.BRID00=in_BRID00 and dd.PJH000=in_PJH000 )
      group by a.XMBH00,a.XMMC00,a.XMDJ00
    ) aa where aa.amt<>0
   ; 
   
  cursor CUR_SF_JZB000_HBDY is  
    select aa.*  from VW_SF_op_electronic_bill_HBDY aa where aa.BRID00=in_BRID00 and aa.PJH000=in_PJH000; 
   
begin
    /* 
    PINTSTR:xml编码格式传入 
    <eventid>MZSF_DZFP_0001</eventid><cjlybm>YH</cjlybm><brid00>590724</brid00><jzdh00>544062</jzdh00><pjh000>2337645</pjh000><bustype></bustype><placecode></placecode><payee></payee><author></author><author></author><czyks0></czyks0> <busno></busno>
    单条：select SF_SF_BSDJPJ_JSONSTR('YH','MZSF_DZFP_0001',590724,544062,1057,0,0,'') aa from dual;
    合并：select SF_SF_BSDJPJ_JSONSTR('YH','MZSF_DZFP_0001',590724,544062,1057,0,0,'<eventid>MZSF_DZFP_0001</eventid><cjlybm>YH</cjlybm><brid00>590724</brid00><jzdh00>544062</jzdh00><pjh000>2337645</pjh000><bustype></bustype><placecode></placecode><payee></payee><author></author><author></author><czyks0></czyks0> <busno></busno>') aa from dual;
    */
    
  LS_FHXX00:='';
  LS_JSONSTR:='';
  LS_QDMXJSON:='';
  LS_SFHBDY:=0;    --是否合并打印 0:否 1:是
  LS_COUNT0:=0;
  LS_CardNo:='';  --取XML中的cardNo  MZSF9-20211123-003
  --博思电子发票清单明细数量、单价、金额小数点保留位数格式化参数设置,用|隔开,(.9999标识保留4位)
  LS_number_std_amt:=substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','number_std_amt')),1,100);
  --增加字典参数ZFJEGRZFSFSWK；门费收费BS电子发票发送报文中，自费金额与个人自付是否设置为空，0否1是 ; 默认为1   MZSF9-20211214-001
  LS_ZFJEGRZFSFSWK:=nvl(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','ZFJEGRZFSFSWK')),1,100),'1');  
  LS_BSDZFP_checker:=nvl(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','BSDZFP_checker')),1,100),'0');
  --chargeCodeQzdm:收费项目代码增加前缀
  LS_SFDMQZ:=trim(substrb(SF_SF_RETURNINDEXEH(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','chargeCodeQzdm')),1,100),'|', 1),1,10));
  if LS_number_std_amt is not null then
    LS_SL_format:=substrb(SF_SF_RETURNINDEXEH(trim(LS_number_std_amt),'|', 1),1,20); --数量格式化(保留4位) 
    LS_DJ_format:=substrb(SF_SF_RETURNINDEXEH(trim(LS_number_std_amt),'|', 2),1,20); --单价格式化(保留4位)
    LS_JE_format:=substrb(SF_SF_RETURNINDEXEH(trim(LS_number_std_amt),'|', 3),1,20); --金额格式化(保留2位)
  else
    LS_SL_format:='999999990.9999'; --数量格式化(保留4位)
    LS_DJ_format:='999999990.9999'; --单价格式化(保留4位)
    LS_JE_format:='999999990.99';   --金额格式化(保留2位)
  end if;
  
  --解析入参报文
  if trim(PINTSTR) is not null then 
    --BRID00
    begin
      select  to_number(SF_SF_GETXMLNOTE('brid00',trim(PINTSTR))) into in_BRID00 from dual;
    exception
      when others then
        in_BRID00:=0;
    end;
    --票据号
    begin
      select  to_number(SF_SF_GETXMLNOTE('pjh000',trim(PINTSTR))) into in_PJH000 from dual;
    exception
      when others then
        in_PJH000:=0;
    end;
    --in_JZDH00 number(10);--结账单号
    begin
      select  to_number(SF_SF_GETXMLNOTE('jzdh00',trim(PINTSTR))) into in_JZDH00 from dual;
    exception
      when others then
        in_JZDH00:=0;
    end;
    --取XML中的cardNo  MZSF9-20211123-003
    begin
      select  to_number(SF_SF_GETXMLNOTE('cardNo',trim(PINTSTR))) into LS_CardNo from dual;
    exception
      when others then
        LS_CardNo:='';
    end;
    
    if nvl(in_BRID00,0)>0 and nvl(in_PJH000,0)>0 then 
      --根据票据号查找结账表数据
      begin
        select count(*) into LS_COUNT0 from SF_JZB000 where BRID00=in_BRID00 and PJH000=in_PJH000;
      exception
        when others then
          LS_COUNT0:=0;
      end;
      if nvl(LS_COUNT0,0)>1 then --存在>1记录代表合并打印
          LS_SFHBDY:=1;--是否合并打印 0:否 1:是
      end if;   
    end if;
  end if;
  --如果没取到XML的CardNo，就取最大的IC_YHXX00.ICKH00 MZSF9-20211123-003
  if trim(LS_CardNo) is null then 
    select MAX(ICKH00) into LS_CardNo  from IC_YHXX00 where BRID00 =PBRID00;
  end if;
   
  
  if nvl(PCZY000,0)>0 then  
      begin
      select  substrb(ZWXM00,1,50)CZYXM0,trim(XKH000)XKH000 into LS_CZYXM0,LS_placeCode from  BM_YGBM00 aa  where  YGBH00 =PCZY000;
    exception
      when others  then
        LS_CZYXM0:=null;
        LS_placeCode:=null;
    end;
  end if;
  if LS_CZYXM0 is not null then 
    LS_payee:=LS_CZYXM0;   --收费员
    LS_author:=LS_CZYXM0;  --票据编制人
    LS_checker:=LS_CZYXM0; --票据复核人
  end if;
  

  --2:listDetail    清单项目明细列表--begin--
    if PFHLXBH in (0,2) then 
        if LS_SFHBDY=1 then  --合并打印--begin--
            for REC in CUR_HBJSQDMX loop
        LS_JSQDMX:='';
        LS_JSQDMX:='{'
        ||'"name":'||'"'||REC.name||'",'                                                --name              药品名称    String  50  是  如药品名称，器材名称等
        ||'"std":'||'"'||trim(to_char(REC.std,LS_DJ_format))||'",'                      --std                 单价  Number  14,6    是  
        ||'"number":'||'"'||trim(to_char(REC.num,LS_SL_format))||'",'                   --number              数量  Number  14,6    是  
        ||'"amt":'||'"'||trim(to_char(REC.amt, LS_JE_format))||'",'                     --amt                 金额  Number  14,6    是  
        ||'"selfAmt":'||'"'||trim(to_char(REC.selfAmt,LS_JE_format))||'",'              --selfAmt             自费金额  Number  14,6    是  如无金额，填写0
        ||'"listDetailNo":'||'"'||REC.listDetailNo||'",'                                --listDetailNo      明细流水号  String  60  否  明细流水号
        ||'"chargeCode":'||'"'||LS_SFDMQZ||REC.chargeCode||'",'                         --chargeCode          收费项目代码  String  50  否  填写业务系统内部编码值，由医疗平台配置对照,如：床位费、检查费
        ||'"chargeName":'||'"'||REC.chargeName||'",'                                    --chargeName          收费项目名称  String  100 否  
        ||'"prescribeCode":'||'"'||REC.prescribeCode||'",'                              --prescribeCode     处方编码    String  60  否  
        ||'"listTypeCode":'||'"'||REC.listTypeCode||'",'                                --listTypeCode      药品类别编码    String  50  否  如药品分类编码01，有则填写
        ||'"listTypeName":'||'"'||REC.listTypeName||'",'                                --listTypeName      药品类别名称    String  50  否  如药品分类名称，抗生素类抗感染药物
        ||'"code":'||'"'||REC.code||'",'                                                --code              编码    String  50  否  如药品编码，有则填写
        ||'"form":'||'"'||REC.form||'",'                                                --form              剂型    String  50  否  
        ||'"specification":'||'"'||REC.specification||'",'                              --specification     规格    String  50  否  
        ||'"unit":'||'"'||REC.unit||'",'                                                --unit              计量单位    String  20  否  
        ||'"receivableAmt":'||'"'||trim(to_char(REC.receivableAmt,LS_JE_format))||'",'  --receivableAmt     应收费用    Number  14,6    否  
        ||'"medicalCareType":'||'"'||REC.medicalCareType||'",'                          --medicalCareType     医保药品分类  String  1   否 1：无自负/甲2：有自负/乙3：全自负/丙 
        ||'"medCareItemType":'||'"'||REC.medCareItemType||'",'                          --medCareItemType     医保项目类型  String  100 否  
        ||'"medReimburseRate":'||'"'||REC.medReimburseRate||'",'                        --medReimburseRate  医保报销比例    Number  3,2 否  
        ||'"remark":'||'"'||REC.remark||'",'                                            --remark              备注  String  200 否  
        ||'"sortNo":'||'"'||REC.sortNo||'",'                                            --sortNo              序号  Integer 不限    否  序号
        ||'"chrgtype":'||'"'||REC.chrgtype||'"'                                         --chrgtype          费用类型    String      50  否
              ||'}';    
            if LS_QDMXJSON is not null then 
                LS_QDMXJSON:=LS_QDMXJSON||','||LS_JSQDMX;
            else
                LS_QDMXJSON:=LS_JSQDMX;
            end if;   
          end loop;
          LS_QDMXJSON:='['||LS_QDMXJSON||']';
          
          if PFHLXBH in (2) then
            LS_FHXX00:=LS_QDMXJSON;
      end if;       
    else    --合并打印--end--非合并打印--begin--
          for REC in CUR_listDetail loop
        LS_JSQDMX:='';
        LS_JSQDMX:='{'
        ||'"name":'||'"'||REC.name||'",'                                                --name              药品名称    String  50  是  如药品名称，器材名称等
        ||'"std":'||'"'||trim(to_char(REC.std,LS_DJ_format))||'",'                      --std                 单价  Number  14,6    是  
        ||'"number":'||'"'||trim(to_char(REC.num,LS_SL_format))||'",'                   --number              数量  Number  14,6    是  
        ||'"amt":'||'"'||trim(to_char(REC.amt, LS_JE_format))||'",'                     --amt                 金额  Number  14,6    是  
        ||'"selfAmt":'||'"'||trim(to_char(REC.selfAmt,LS_JE_format))||'",'              --selfAmt             自费金额  Number  14,6    是  如无金额，填写0
        ||'"listDetailNo":'||'"'||REC.listDetailNo||'",'                                --listDetailNo      明细流水号  String  60  否  明细流水号
        ||'"chargeCode":'||'"'||LS_SFDMQZ||REC.chargeCode||'",'                         --chargeCode          收费项目代码  String  50  否  填写业务系统内部编码值，由医疗平台配置对照,如：床位费、检查费
        ||'"chargeName":'||'"'||REC.chargeName||'",'                                    --chargeName          收费项目名称  String  100 否  
        ||'"prescribeCode":'||'"'||REC.prescribeCode||'",'                              --prescribeCode     处方编码    String  60  否  
        ||'"listTypeCode":'||'"'||REC.listTypeCode||'",'                                --listTypeCode      药品类别编码    String  50  否  如药品分类编码01，有则填写
        ||'"listTypeName":'||'"'||REC.listTypeName||'",'                                --listTypeName      药品类别名称    String  50  否  如药品分类名称，抗生素类抗感染药物
        ||'"code":'||'"'||REC.code||'",'                                                --code              编码    String  50  否  如药品编码，有则填写
        ||'"form":'||'"'||REC.form||'",'                                                --form              剂型    String  50  否  
        ||'"specification":'||'"'||REC.specification||'",'                              --specification     规格    String  50  否  
        ||'"unit":'||'"'||REC.unit||'",'                                                --unit              计量单位    String  20  否  
        ||'"receivableAmt":'||'"'||trim(to_char(REC.receivableAmt,LS_JE_format))||'",'  --receivableAmt     应收费用    Number  14,6    否  
        ||'"medicalCareType":'||'"'||REC.medicalCareType||'",'                          --medicalCareType     医保药品分类  String  1   否 1：无自负/甲2：有自负/乙3：全自负/丙 
        ||'"medCareItemType":'||'"'||REC.medCareItemType||'",'                          --medCareItemType     医保项目类型  String  100 否  
        ||'"medReimburseRate":'||'"'||REC.medReimburseRate||'",'                        --medReimburseRate  医保报销比例    Number  3,2 否  
        ||'"remark":'||'"'||REC.remark||'",'                                            --remark              备注  String  200 否  
        ||'"sortNo":'||'"'||REC.sortNo||'",'                                            --sortNo              序号  Integer 不限    否  序号
        ||'"chrgtype":'||'"'||REC.chrgtype||'"'                                         --chrgtype          费用类型    String      50  否
            ||'}';  
            if  LS_QDMXJSON is not null then 
                LS_QDMXJSON:=LS_QDMXJSON||','||LS_JSQDMX;
            else
                LS_QDMXJSON:=LS_JSQDMX;
            end if;   
          end loop;
          LS_QDMXJSON:='['||LS_QDMXJSON||']';
          
          if PFHLXBH in (2) then
            LS_FHXX00:=LS_QDMXJSON;
          end if;       
       end if;--非合并打印--end
    end if;
    --2:listDetail  清单项目明细列表--end--

  --0:全部报文--begin-- 
  if PFHLXBH in (0) then 
    if LS_SFHBDY=1 then  --合并打印--begin--
      for REC in CUR_SF_JZB000_HBDY loop
          LS_remark:=substrb(REC.remark,1,200); --备注信息
          --普通门诊累计 
          if nvl(REC.ptmzlj,0)>0 then 
            LS_remark:=substrb(LS_remark||' 普门累计:'||REC.ptmzlj,1,200);
          end if;
          --特殊门诊累计
          if nvl(REC.tsmzlj,0)>0 then 
            LS_remark:=substrb(LS_remark||' 特门累计:'||REC.tsmzlj,1,200);
          end if;
          --门费收费BS电子发票发送报文中，自费金额与个人自付是否设置为空，0否1是 ; 默认为1   MZSF9-20211214-001
          if trim(LS_ZFJEGRZFSFSWK)='1' then
            LS_ownPay:='';       --自费金额
          LS_selfPayAmt:='';   --个人自付
          else
            LS_ownPay:=trim(to_char(REC.ownPay,LS_JE_format));
            LS_selfPayAmt:=trim(to_char(REC.selfPayAmt,LS_JE_format));
          end if;
          
          if trim(REC.cardNo) is not null then  --REC.cardNo非空则 LS_CardNo:=REC.cardNo  MZSF9-20211123-003
            LS_CardNo:=REC.cardNo;
          end if;
          --最终LS_CardNo还是空，再取BM_BRXXB0.BRZJBH 
          if trim(LS_CardNo) is null or nvl(trim(LS_CardNo),'')='' then
            select  BRZJBH into  LS_CardNo   from BM_BRXXB0 where BRID00=PBRID00;
          end if;
          if LS_BSDZFP_checker='1' then
            LS_checker:='';
        else  
          LS_checker:=nvl(LS_checker,REC.author);  
        end if;
        LS_JSONSTR:='{' 
        ||'"ywlsh":'||'"'||REC.ywlsh||'",'                                                        --ywlsh                 业务流水号    string  是  
        ||'"busType":'||'"'||REC.busType||'",'                                                    --busType             业务标识    String  20  (01:住院 02 门诊 03 急诊 04 门特 05 体检中心 06 挂号 07 住院预交金 08   体检预交金)
        ||'"busNo":'||'"'||REC.busNo||'",'                                                        --busNo               业务流水号        String  50    是 单位内部唯一
        ||'"payer":'||'"'||REC.payer||'",'                                                        --payer               患者姓名          String  100   是
        ||'"busDateTime":'||'"'||REC.busDateTime||'",'                                            --busDateTime         业务发生时间    String  17  是  格式：yyyyMMddHHmmssSSS
        ||'"placeCode":'||'"'||nvl(LS_placeCode,REC.placeCode)||'",'                              --placeCode             开票点编码    String  50  是  直接填写业务系统内部编码值，由医疗平台配置对照
        ||'"payee":'||'"'||nvl(LS_payee,REC.payee)||'",'                                          --payee                 收费员    String  50  是  
        ||'"author":'||'"'||nvl(LS_author,REC.author)||'",'                                       --author              票据编制人  String  100 是  如收费员与开票人员为同一人，则值与payee相同
        ||'"checker":'||'"'||LS_checker||'",'                                                     --checker             票据复核人 
        ||'"totalAmt":'||'"'||trim(to_char(REC.totalAmt,LS_JE_format))||'",'                      --totalAmt            开票总金额        Number  14,2  是
        ||'"payerType":'||'"'||REC.payerType||'",'                                                --payerType             交款人类型    String  1   是  交款人类型：1 个人 2 单位 
        ||'"cardType":'||'"'||REC.cardType||'",'                                                  --cardType              卡类型    String  10  是(1101 身份证号码 1102 社会保障卡号 3101   诊疗卡/就诊卡 4101  居民户口簿 5101 京通卡)
        ||'"cardNo":'||'"'||LS_CardNo||'",'                                                       --cardNo              卡号              String  50    是 根据卡类型填写 
        ||'"medCareAreaCode":'||'"'||REC.medCareAreaCode||'",'                                    --medCareAreaCode     医保行政区划码   
        ||'"patientNo":'||'"'||REC.patientNo||'",'                                                --patientNo           患者就诊编号      String  20    是 患者每次就诊一次就生成的一个新的编号。（患者登记号）
        ||'"sex":'||'"'||REC.sex||'",'                                                            --sex                 性别              String  2     是
        ||'"age":'||'"'||REC.age||'",'                                                            --age                 年龄              String  10    是 
        ||'"idCardNo":'||'"'||REC.idCardNo||'",'                                                  --idCardNo            患者身份证号码    String  20    否 
       -- ||'"tel":'||'"'||REC.tel||'",'                                                            --tel                 患者手机号码    String  13  否  患者手机号（如需要用于电子票归集、电子票据短信通知，必填）
         ||'"tel":'||'"'||''||'",' 
        ||'"email":'||'"'||REC.email||'",'                                                        --email                 患者邮箱地址  String  100 否  患者邮箱地址（如需用于电子票归集、电子票据邮箱通知，必填）
        ||'"medicalInstitution":'||'"'||REC.medicalInstitution||'",'                              --medicalInstitution  医疗机构类型    String  60  否
        ||'"medCareInstitution":'||'"'||REC.medCareInstitution||'",'                              --medCareInstitution  医保机构编码    String  60  否  医保机构的唯一编码  
        ||'"medCareTypeCode":'||'"'||REC.medCareTypeCode||'",'                                    --medCareTypeCode     医保类型编码      String  60    否 
        ||'"medicalCareType":'||'"'||REC.medicalCareType||'",'                                    --medicalCareType     医保类型名称      String  60    否 由城镇职工基本医疗保险、城镇居民基本医疗保险、新型农村合作医疗、其它医疗保险等构成
        ||'"medicalInsuranceID":'||'"'||REC.medicalInsuranceID||'",'                              --medicalInsuranceID  患者医保编号      String  60    否 参保人在医保系统中的唯一标识(医保号)      
        ||'"consultationDate":'||'"'||REC.consultationDate||'",'                                  --consultationDate    就诊日期          String  10    否 患者就医时间格式:yyyyMMdd
        ||'"category":'||'"'||REC.category||'",'                                                  --category            就诊科室          String  200   否 
        ||'"patientCategory":'||'"'||REC.patientCategory||'",'                                    --patientCategory     就诊科室          String  200   否 
        ||'"patientCategoryCode":'||'"'||REC.patientCategoryCode||'",'                            --patientCategoryCode 就诊科室编码      String  60    否  
        ||'"patientId":'||'"'||REC.patientId||'",'                                                --patientId           患者唯一ID        String  50    否 患者在业务系统中的唯一标识ID，类似身份证号码。
        ||'"caseNumber":'||'"'||REC.caseNumber||'",'                                              --caseNumber          病历号            String  50    否 
        ||'"specialDiseasesName":'||'"'||REC.specialDiseasesName||'",'                            --specialDiseasesName 特殊病种名称      String  200   否 
        ||'"accountPay":'||'"'||trim(to_char(REC.accountPay,LS_JE_format))||'",'                  --accountPay          个人账户支付      Number  14,2  是 按政策规定用个人账户支付参保人的医疗费用（含基本医疗保险目录范围内和目录范围外的费用）；
        ||'"fundPay":'||'"'||trim(to_char(REC.fundPay,LS_JE_format))||'",'                        --fundPay             医保统筹基金支付  Number  14,2  是 患者本次就医所发生的医疗费用中按规定由基本医疗保险统筹基金支付的金额；
        ||'"otherfundPay":'||'"'||trim(to_char(REC.otherfundPay,LS_JE_format))||'",'              --otherfundPay        其它医保支付      Number  14,2  是 患者本次就医所发生的医疗费用中按规定由大病保险、医疗救助、公务员医疗补助、大额补充、企业补充等基金或资金支付的金额；
      --||'"ownPay":'||'"'||trim(to_char(REC.ownPay,LS_JE_format))||'",'                          --ownPay              自费金额          Number  14,2  是 患者本次就医所发生的医疗费用中按照有关规定不属于基本医疗保险目录范围而全部由个人支付的费用；
        ||'"ownPay":'||'"'||LS_ownPay||'",'                                                       --ownPay              自费金额          Number  14,2  是 患者本次就医所发生的医疗费用中按照有关规定不属于基本医疗保险目录范围而全部由个人支付的费用；        
        ||'"selfConceitedAmt":'||'"'||trim(to_char(REC.selfConceitedAmt,LS_JE_format))||'",'      --selfConceitedAmt    个人自负          Number  14,2  是 医保患者起付标准内个人支付费用；
      --||'"selfPayAmt":'||'"'||trim(to_char(REC.selfPayAmt,LS_JE_format))||'",'                  --selfPayAmt          个人自付          Number  14,2  是 患者本次就医所发生的医疗费用中由个人负担的属于基本医疗保险目录范围内自付部分的金额；开展按病种、病组、床日等打包付费方式且由患者定额付费的费用。该项为个人所得税大病医疗专项附加扣除信；息项如无金额，填写0
        ||'"selfPayAmt":'||'"'||LS_selfPayAmt||'",'                                               --selfPayAmt          个人自付          Number  14,2  是 患者本次就医所发生的医疗费用中由个人负担的属于基本医疗保险目录范围内自付部分的金额；开展按病种、病组、床日等打包付费方式且由患者定额付费的费用。该项为个人所得税大病医疗专项附加扣除信；息项如无金额，填写0
        ||'"selfCashPay":'||'"'||trim(to_char(REC.selfCashPay,LS_JE_format))||'",'                --selfCashPay         个人现金支付      Number  14,2  是 个人通过现金、银行卡、微信、支付宝等渠道支付的金额；
        ||'"cashPay":'||'"'||trim(to_char(REC.cashPay,LS_JE_format))||'",'                        --cashPay             现金预交款金额    Number  14,2  否
        ||'"chequePay":'||'"'||trim(to_char(REC.chequePay,LS_JE_format))||'",'                    --chequePay           支票预交款金额    Number  14,2  否 
        ||'"transferAccountPay":'||'"'||trim(to_char(REC.transferAccountPay,LS_JE_format))||'",'  --transferAccountPay  转账预交款金额    Number  14,2  否 
        ||'"cashRecharge":'||'"'||trim(to_char(REC.cashRecharge,LS_JE_format))||'",'              --cashRecharge        补交金额(现金)    Number  14,2  否 
        ||'"chequeRecharge":'||'"'||trim(to_char(REC.chequeRecharge,LS_JE_format))||'",'          --chequeRecharge      补交金额(支票)    Number  14,2  否 
        ||'"transferRecharge":'||'"'||trim(to_char(REC.transferRecharge,LS_JE_format))||'",'      --transferRecharge    补交金额（转账）  Number  14,2  否 
        ||'"cashRefund":'||'"'||trim(to_char(REC.cashRefund,LS_JE_format))||'",'                  --cashRefund          退还金额(现金)    Number  14,2  否 
        ||'"chequeRefund":'||'"'||trim(to_char(REC.chequeRefund,LS_JE_format))||'",'              --chequeRefund        退交金额(支票)    Number  14,2  否 
        ||'"transferRefund":'||'"'||trim(to_char(REC.transferRefund,LS_JE_format))||'",'          --transferRefund      退交金额(转账)    Number  14,2  否 
        ||'"ownAcBalance":'||'"'||trim(to_char(REC.ownAcBalance,LS_JE_format))||'",'              --ownAcBalance        个人账户余额      Number  14,2  否 
        ||'"reimbursementAmt":'||'"'||trim(to_char(REC.reimbursementAmt,LS_JE_format))||'",'      --reimbursementAmt    报销总金额        Number  14,2  否 医保结算后返回的总金额
        ||'"balancedNumber":'||'"'||REC.balancedNumber||'",'                                      --balancedNumber      结算号            String  100   否 医保结算后生成的号码/入账唯一值
        ||'"alipayCode":'||'"'||REC.alipayCode||'",'                                              --alipayCode          患者支付宝账户  String  100 否  患者如果使用支付宝结算，可传入患者的支付宝UserID，用于电子票据归集到支付宝发票管家
        ||'"weChatOrderNo":'||'"'||REC.weChatOrderNo||'",'                                        --weChatOrderNo         微信支付订单号    String  100 否  微信结算时，可传入患者支付成功的订单号，用来发微信服务通知
        ||'"weChatMedTransNo":'||'"'||REC.weChatMedTransNo||'",'                                  --weChatMedTransNo      微信医保支付订单号    String  100 否  医保患者使用微信医保支付结算时，填写对应的微信医保支付的订单号
        ||'"openID":'||'"'||REC.openID||'",'                                                      --openID              微信公众号或小程序用户ID    String  60  否
        ||'"eBillRelateNo":'||'"'||REC.eBillRelateNo||'",'                                        --eBillRelateNo         业务票据关联号    String  32  否
        ||'"remark":'||'"'||LS_remark||'",'                                                       --remark              备注    String  200 否 
        ||'"hospitalNo":'||'"'||REC.hospitalNo||'",'                                              --hospitalNo          患者住院号【住院】门诊用病历号
        ||'"visitNo":'||'"'||REC.visitNo||'",'                                                    --visitNo             住院就诊编号【住院】
        ||'"patiendId":'||'"'||REC.patiendId||'",'                                                --patiendId           患者唯一ID=bm_brxxb0.brid00
        ||'"inHospitalDate":'||'"'||REC.inHospitalDate||'",'                                      --inHospitalDate      住院日期【住院】
        ||'"outHospitalDate":'||'"'||REC.outHospitalDate||'",'                                    --outHospitalDate     出院日期【住院】
        ||'"isArrears":'||'"'||REC.isArrears||'",'                                                --isArrears           是否可流通【住院】0-否、1-是（如欠费情况根 据医院业务要求该票据是 否可流通）
        ||'"arrearsReason":'||'"'||REC.arrearsReason||'",'                                        --arrearsReason       不可流通原因
        ||'"ybzhye":'||'"'||trim(to_char(REC.ybzhye,LS_JE_format))||'",'                          --ybzhye:             医保账户余额
        ||'"ptmzlj":'||'"'||trim(to_char(REC.ptmzlj,LS_JE_format))||'",'                          --ptmzlj:             普通门诊累计
        ||'"tsmzlj":'||'"'||trim(to_char(REC.tsmzlj,LS_JE_format))||'",'                          --tsmzlj:             特殊门诊累计 
        ;
          --拼接Llist(chargeDetail  收费项目明细列表)
        LS_JSONSTR:=LS_JSONSTR||'"chargeDetail":'||''||SF_SF_BSDJPJ_JSON(REC.BRID00,REC.JZDH00,REC.HJJE00,1,in_PJH000,LS_SFHBDY)||',';     --chargeDetail   收费项目明细列表    String  不限    是 JSON
        --拼接Llist(listDetail  清单项目明细列表)
        LS_JSONSTR:=LS_JSONSTR||'"listDetail":'||''||LS_QDMXJSON||',';                                                                     --listDetail 清单项目明细列表    String JSON (明细太多数据直接取视图：VW_ZY_listDetail)
        --拼接Llist(otherMedicalList    其它医保信息列表)
        LS_JSONSTR:=LS_JSONSTR||'"otherMedicalList":'||''||SF_SF_BSDJPJ_JSON(REC.BRID00,REC.JZDH00,REC.HJJE00,4,in_PJH000,LS_SFHBDY)||','; --otherMedicalList   其它医保信息列表    String  不限    否 JSON
        --拼接Llist(payChannelDetail    交费渠道列表)
        LS_JSONSTR:=LS_JSONSTR||'"payChannelDetail":'||''||SF_SF_BSDJPJ_JSON(REC.BRID00,REC.JZDH00,REC.HJJE00,5,in_PJH000,LS_SFHBDY)||','; --payChannelDetail   交费渠道列表    String  不限    是(01   POS刷卡 02  现金03  转账04  支付宝05    微信06  支票07  卡支付08    银联卡09    自助机缴费10    软POS11 医保支付12  预交金13    公众平台)
        --拼接Llist(otherInfo   其它扩展信息列表)
        LS_JSONSTR:=LS_JSONSTR||'"otherInfo":'||''||SF_SF_BSDJPJ_JSON(REC.BRID00,REC.JZDH00,REC.HJJE00,3,in_PJH000,LS_SFHBDY)||'';         --otherInfo  其它扩展信息列表    String  不限    否 JSON
        LS_JSONSTR:=LS_JSONSTR||'}';
      end loop;
    else    --合并打印--end--非合并打印--begin--
      for REC in CUR_electronic_bill loop
        LS_remark:=substrb(REC.remark,1,200); --备注信息
        --普通门诊累计 
        if nvl(REC.ptmzlj,0)>0 then 
            LS_remark:=substrb(LS_remark||' 普门累计:'||REC.ptmzlj,1,200);
        end if;
        --特殊门诊累计
        if nvl(REC.tsmzlj,0)>0 then 
            LS_remark:=substrb(LS_remark||' 特门累计:'||REC.tsmzlj,1,200);
        end if;
        --门费收费BS电子发票发送报文中，自费金额与个人自付是否设置为空，0否1是 ; 默认为1   MZSF9-20211214-001
          if trim(LS_ZFJEGRZFSFSWK)='1' then
            LS_ownPay:='';       --自费金额
          LS_selfPayAmt:='';   --个人自付
          else
            LS_ownPay:=trim(to_char(REC.ownPay,LS_JE_format));
            LS_selfPayAmt:=trim(to_char(REC.selfPayAmt,LS_JE_format));
          end if;
        
        if trim(REC.cardNo) is not null  then  --REC.cardNo非空则 LS_CardNo:=REC.cardNo  MZSF9-20211123-003
            LS_CardNo:=REC.cardNo;
          end if;
          --最终LS_CardNo还是空，再取BM_BRXXB0.BRZJBH 
          if trim(LS_CardNo) is null or nvl(trim(LS_CardNo),'')='' then
            select  BRZJBH into  LS_CardNo   from BM_BRXXB0 where BRID00=PBRID00;
          end if;
          if LS_BSDZFP_checker='1' then
            LS_checker:='';
        else  
          LS_checker:=nvl(LS_checker,REC.author);  
        end if;
        LS_JSONSTR:='{' 
        ||'"ywlsh":'||'"'||REC.ywlsh||'",'                                                        --ywlsh               业务流水号      string  是
        ||'"busType":'||'"'||REC.busType||'",'                                                    --busType             业务标识    String  20  (01:住院 02 门诊 03 急诊 04 门特 05 体检中心 06 挂号 07 住院预交金 08   体检预交金)
        ||'"busNo":'||'"'||REC.busNo||'",'                                                        --busNo               业务流水号        String  50    是 单位内部唯一
        ||'"payer":'||'"'||REC.payer||'",'                                                        --payer               患者姓名          String  100   是
        ||'"busDateTime":'||'"'||REC.busDateTime||'",'                                            --busDateTime         业务发生时间    String  17  是  格式：yyyyMMddHHmmssSSS
        ||'"placeCode":'||'"'||nvl(LS_placeCode,REC.placeCode)||'",'                              --placeCode             开票点编码    String  50  是  直接填写业务系统内部编码值，由医疗平台配置对照
        ||'"payee":'||'"'||nvl(LS_payee,REC.payee)||'",'                                          --payee                 收费员    String  50  是  
        ||'"author":'||'"'||nvl(LS_author,REC.author)||'",'                                       --author              票据编制人  String  100 是  如收费员与开票人员为同一人，则值与payee相同 
        ||'"checker":'||'"'||LS_checker||'",'                                                     --checker             票据复核人
        ||'"totalAmt":'||'"'||trim(to_char(REC.totalAmt,LS_JE_format))||'",'                      --totalAmt            开票总金额        Number  14,2  是
        ||'"payerType":'||'"'||REC.payerType||'",'                                                --payerType             交款人类型    String  1   是  交款人类型：1 个人 2 单位 
        ||'"cardType":'||'"'||REC.cardType||'",'                                                  --cardType              卡类型    String  10  是(1101 身份证号码 1102 社会保障卡号 3101   诊疗卡/就诊卡 4101  居民户口簿 5101 京通卡)
        ||'"cardNo":'||'"'||LS_CardNo||'",'                                                       --cardNo              卡号              String  50    是 根据卡类型填写   
        ||'"patientNo":'||'"'||REC.patientNo||'",'                                                --patientNo           患者就诊编号      String  20    是 患者每次就诊一次就生成的一个新的编号。（患者登记号）
        ||'"sex":'||'"'||REC.sex||'",'                                                            --sex                 性别              String  2     是
        ||'"age":'||'"'||REC.age||'",'                                                            --age                 年龄              String  10    是 
        ||'"idCardNo":'||'"'||REC.idCardNo||'",'                                                  --idCardNo            患者身份证号码    String  20    否 
        ||'"medCareAreaCode":'||'"'||REC.medCareAreaCode||'",'                                    --medCareAreaCode     医保行政区划码 
        --||'"tel":'||'"'||REC.tel||'",'                                                            --tel                 患者手机号码    String  13  否  患者手机号（如需要用于电子票归集、电子票据短信通知，必填）
         ||'"tel":'||'"'||''||'",'
        ||'"email":'||'"'||REC.email||'",'                                                        --email                 患者邮箱地址  String  100 否  患者邮箱地址（如需用于电子票归集、电子票据邮箱通知，必填）
        ||'"medicalInstitution":'||'"'||REC.medicalInstitution||'",'                              --medicalInstitution  医疗机构类型    String  60  否
        ||'"medCareInstitution":'||'"'||REC.medCareInstitution||'",'                              --medCareInstitution  医保机构编码    String  60  否  医保机构的唯一编码  
        ||'"medCareTypeCode":'||'"'||REC.medCareTypeCode||'",'                                    --medCareTypeCode     医保类型编码      String  60    否 
        ||'"medicalCareType":'||'"'||REC.medicalCareType||'",'                                    --medicalCareType     医保类型名称      String  60    否 由城镇职工基本医疗保险、城镇居民基本医疗保险、新型农村合作医疗、其它医疗保险等构成
        ||'"medicalInsuranceID":'||'"'||REC.medicalInsuranceID||'",'                              --medicalInsuranceID  患者医保编号      String  60    否 参保人在医保系统中的唯一标识(医保号)      
        ||'"consultationDate":'||'"'||REC.consultationDate||'",'                                  --consultationDate    就诊日期          String  10    否 患者就医时间格式:yyyyMMdd
        ||'"category":'||'"'||REC.category||'",'                                                  --category            就诊科室          String  200   否 
        ||'"patientCategory":'||'"'||REC.patientCategory||'",'                                    --patientCategory     就诊科室          String  200   否 
        ||'"patientCategoryCode":'||'"'||REC.patientCategoryCode||'",'                            --patientCategoryCode 就诊科室编码      String  60    否  
        ||'"patientId":'||'"'||REC.patientId||'",'                                                --patientId           患者唯一ID        String  50    否 患者在业务系统中的唯一标识ID，类似身份证号码。
        ||'"caseNumber":'||'"'||REC.caseNumber||'",'                                              --caseNumber          病历号            String  50    否 
        ||'"specialDiseasesName":'||'"'||REC.specialDiseasesName||'",'                            --specialDiseasesName 特殊病种名称      String  200   否 
        ||'"accountPay":'||'"'||trim(to_char(REC.accountPay,LS_JE_format))||'",'                  --accountPay          个人账户支付      Number  14,2  是 按政策规定用个人账户支付参保人的医疗费用（含基本医疗保险目录范围内和目录范围外的费用）；
        ||'"fundPay":'||'"'||trim(to_char(REC.fundPay,LS_JE_format))||'",'                        --fundPay             医保统筹基金支付  Number  14,2  是 患者本次就医所发生的医疗费用中按规定由基本医疗保险统筹基金支付的金额；
        ||'"otherfundPay":'||'"'||trim(to_char(REC.otherfundPay,LS_JE_format))||'",'              --otherfundPay        其它医保支付      Number  14,2  是 患者本次就医所发生的医疗费用中按规定由大病保险、医疗救助、公务员医疗补助、大额补充、企业补充等基金或资金支付的金额；
      --||'"ownPay":'||'"'||trim(to_char(REC.ownPay,LS_JE_format))||'",'                          --ownPay              自费金额          Number  14,2  是 患者本次就医所发生的医疗费用中按照有关规定不属于基本医疗保险目录范围而全部由个人支付的费用；
        ||'"ownPay":'||'"'||LS_ownPay||'",'                                                       --ownPay              自费金额          Number  14,2  是 患者本次就医所发生的医疗费用中按照有关规定不属于基本医疗保险目录范围而全部由个人支付的费用；
        ||'"selfConceitedAmt":'||'"'||trim(to_char(REC.selfConceitedAmt,LS_JE_format))||'",'      --selfConceitedAmt    个人自负          Number  14,2  是 医保患者起付标准内个人支付费用；
      --||'"selfPayAmt":'||'"'||trim(to_char(REC.selfPayAmt,LS_JE_format))||'",'                  --selfPayAmt          个人自付          Number  14,2  是 患者本次就医所发生的医疗费用中由个人负担的属于基本医疗保险目录范围内自付部分的金额；开展按病种、病组、床日等打包付费方式且由患者定额付费的费用。该项为个人所得税大病医疗专项附加扣除信；息项如无金额，填写0
        ||'"selfPayAmt":'||'"'||LS_selfPayAmt||'",'                                               --selfPayAmt          个人自付          Number  14,2  是 患者本次就医所发生的医疗费用中由个人负担的属于基本医疗保险目录范围内自付部分的金额；开展按病种、病组、床日等打包付费方式且由患者定额付费的费用。该项为个人所得税大病医疗专项附加扣除信；息项如无金额，填写0
        ||'"selfCashPay":'||'"'||trim(to_char(REC.selfCashPay,LS_JE_format))||'",'                --selfCashPay         个人现金支付      Number  14,2  是 个人通过现金、银行卡、微信、支付宝等渠道支付的金额；
        ||'"cashPay":'||'"'||trim(to_char(REC.cashPay,LS_JE_format))||'",'                        --cashPay             现金预交款金额    Number  14,2  否
        ||'"chequePay":'||'"'||trim(to_char(REC.chequePay,LS_JE_format))||'",'                    --chequePay           支票预交款金额    Number  14,2  否 
        ||'"transferAccountPay":'||'"'||trim(to_char(REC.transferAccountPay,LS_JE_format))||'",'  --transferAccountPay  转账预交款金额    Number  14,2  否 
        ||'"cashRecharge":'||'"'||trim(to_char(REC.cashRecharge,LS_JE_format))||'",'              --cashRecharge        补交金额(现金)    Number  14,2  否 
        ||'"chequeRecharge":'||'"'||trim(to_char(REC.chequeRecharge,LS_JE_format))||'",'          --chequeRecharge      补交金额(支票)    Number  14,2  否 
        ||'"transferRecharge":'||'"'||trim(to_char(REC.transferRecharge,LS_JE_format))||'",'      --transferRecharge    补交金额（转账）  Number  14,2  否 
        ||'"cashRefund":'||'"'||trim(to_char(REC.cashRefund,LS_JE_format))||'",'                  --cashRefund          退还金额(现金)    Number  14,2  否 
        ||'"chequeRefund":'||'"'||trim(to_char(REC.chequeRefund,LS_JE_format))||'",'              --chequeRefund        退交金额(支票)    Number  14,2  否 
        ||'"transferRefund":'||'"'||trim(to_char(REC.transferRefund,LS_JE_format))||'",'          --transferRefund      退交金额(转账)    Number  14,2  否 
        ||'"ownAcBalance":'||'"'||trim(to_char(REC.ownAcBalance,LS_JE_format))||'",'              --ownAcBalance        个人账户余额      Number  14,2  否 
        ||'"reimbursementAmt":'||'"'||trim(to_char(REC.reimbursementAmt,LS_JE_format))||'",'      --reimbursementAmt    报销总金额        Number  14,2  否 医保结算后返回的总金额
        ||'"balancedNumber":'||'"'||REC.balancedNumber||'",'                                      --balancedNumber      结算号            String  100   否 医保结算后生成的号码/入账唯一值
        ||'"alipayCode":'||'"'||REC.alipayCode||'",'                                              --alipayCode          患者支付宝账户  String  100 否  患者如果使用支付宝结算，可传入患者的支付宝UserID，用于电子票据归集到支付宝发票管家
        ||'"weChatOrderNo":'||'"'||REC.weChatOrderNo||'",'                                        --weChatOrderNo         微信支付订单号    String  100 否  微信结算时，可传入患者支付成功的订单号，用来发微信服务通知
        ||'"weChatMedTransNo":'||'"'||REC.weChatMedTransNo||'",'                                  --weChatMedTransNo      微信医保支付订单号    String  100 否  医保患者使用微信医保支付结算时，填写对应的微信医保支付的订单号
        ||'"openID":'||'"'||REC.openID||'",'                                                      --openID              微信公众号或小程序用户ID    String  60  否
        ||'"eBillRelateNo":'||'"'||REC.eBillRelateNo||'",'                                        --eBillRelateNo         业务票据关联号    String  32  否
        ||'"remark":'||'"'||LS_remark||'",'                                                       --remark              备注    String  200 否 
        ||'"hospitalNo":'||'"'||REC.hospitalNo||'",'                                              --hospitalNo          患者住院号【住院】门诊用病历号
        ||'"visitNo":'||'"'||REC.visitNo||'",'                                                    --visitNo             住院就诊编号【住院】
        ||'"patiendId":'||'"'||REC.patiendId||'",'                                                --patiendId           患者唯一ID=bm_brxxb0.brid00
        ||'"inHospitalDate":'||'"'||REC.inHospitalDate||'",'                                      --inHospitalDate      住院日期【住院】
        ||'"outHospitalDate":'||'"'||REC.outHospitalDate||'",'                                    --outHospitalDate     出院日期【住院】
        ||'"isArrears":'||'"'||REC.isArrears||'",'                                                --isArrears           是否可流通【住院】0-否、1-是（如欠费情况根 据医院业务要求该票据是 否可流通）
        ||'"arrearsReason":'||'"'||REC.arrearsReason||'",'                                        --arrearsReason       不可流通原因
        ||'"ybzhye":'||'"'||trim(to_char(REC.ybzhye,LS_JE_format))||'",'                          --ybzhye:             医保账户余额
        ||'"ptmzlj":'||'"'||trim(to_char(REC.ptmzlj,LS_JE_format))||'",'                          --ptmzlj:             普通门诊累计
        ||'"tsmzlj":'||'"'||trim(to_char(REC.tsmzlj,LS_JE_format))||'",'                          --tsmzlj:             特殊门诊累计 
        ;
        --拼接Llist(chargeDetail    收费项目明细列表)
        LS_JSONSTR:=LS_JSONSTR||'"chargeDetail":'||''||REC.chargeDetail||',';         --chargeDetail        收费项目明细列表    String  不限    是 JSON
        --拼接Llist(listDetail  清单项目明细列表)
        LS_JSONSTR:=LS_JSONSTR||'"listDetail":'||''||LS_QDMXJSON||',';                --listDetail        清单项目明细列表  String JSON (明细太多数据直接取视图：VW_ZY_listDetail)
        --拼接Llist(otherMedicalList    其它医保信息列表)
        LS_JSONSTR:=LS_JSONSTR||'"otherMedicalList":'||''||REC.otherMedicalList||','; --otherMedicalList    其它医保信息列表    String  不限    否 JSON
        --拼接Llist(payChannelDetail    交费渠道列表)
        LS_JSONSTR:=LS_JSONSTR||'"payChannelDetail":'||''||REC.payChannelDetail||','; --payChannelDetail    交费渠道列表        String  不限    是(01   POS刷卡 02  现金03  转账04  支付宝05    微信06  支票07  卡支付08    银联卡09    自助机缴费10    软POS11 医保支付12  预交金13    公众平台)
        --拼接Llist(otherInfo   其它扩展信息列表)
        LS_JSONSTR:=LS_JSONSTR||'"otherInfo":'||''||REC.otherInfo||'';                --otherInfo           其它扩展信息列表    String  不限    否 JSON
        LS_JSONSTR:=LS_JSONSTR||'}';
      end loop;
    end if;--非合并打印--end--  
    LS_FHXX00:=LS_JSONSTR;
  end if;   
  --0:全部报文--end--       
  return LS_FHXX00;
end;