prompt [住院][易惠博思电子发票]JSON报文 SF_ZY_BSDJPJ_JSONSTR
create or replace function SF_ZY_BSDJPJ_JSONSTR
(
  PCJLYBM varchar2 default 'YH',   --厂家来源编码 BS:博思，YH:易惠。。。（待扩展）
  PJKCJBM varchar2 default '',     --接口场景编码 
  PZYID00 number,                  --住院ID=ZY_BRXXB0.ZYID00
  PJZDH00 number,                  --结账单号=ZY_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编码格式传入
)
-- Person      Date        Comments
-- zhangyc     2020.12.07  create by 	[住院][易惠博思电子发票]报文组成 by 	ZYSF9-20201207-003
-- zhangyc     2020.12.09  增加to_char(xxx,'999999990.99')否报文会显示为.xxx by ZYSF9-20201210-001
-- zhangyc     2020.12.11  处理单病种发票 by ZYSF9-20201211-001
-- zhangyc     2020.12.16  payee、author、checker如果前台有传值按前台处理 by ZYSF9-20201216-004
-- zhangyc     2020.12.17  把变量LS_chargeDetail 扩展到4000  by 	ZYSF9-20201217-001
-- zhangyc     2021.02.05  chargeCode:收费项目代码增加前缀 by 	ZYSF9-20210204-001
-- zhangyc     2021.03.16  placeCode如果前台有传值按前台处理 by ZYSF9-20210316-002
-- zhangyc     2021.04.12  根据参数控制number_std_amt 数量、单价、金额保留位数 by ZYSF9-20210412-001
-- jlg         2021.07.01  重新排版下函数 ZYSF9-20210701-001
-- jlg         2021.07.21  判断病种发票格式时，去掉dbzbm0的条件 ZYSF9-20210720-004
-- chenHeyi    2021.12.20  增加CDRG发票格式   ZYSF9-20211216-001
-- chenHeyi    2022.01.07  CDRG组别 放至明细chargeDetail的remark中  ZYSF9-20220104-002
-- jlg         2022.04.06  将'LS_number_std_amt'改回为'number_std_amt' 	ZYSF9-20220330-002
-- chenHeyi    2022.04.14  增加leaveCategory 出院科室名称字段、leaveCategoryCode 出院科室编码，medCareAreaCode医保行政区划    ZYSF9-20220408-003
-- chenHeyi    2022.05.13  根据字典参数BSDZFP_checker，BSDZFP_inHospitalDate，BSDZFP_outHospitalDate,调整复核人，入院日期，出院日期的取值  ZYSF9-20220513-001
-- chenHeyi    2022.07.04  字典参数BSDZFP_outHospitalDate=2时，outHospitalDate取CYDJRQ         ZYSF9-20220701-002
-- chenHeyi    2022.09.16  增加拆分发票报文分支      ZYSF9-20220822-001
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);    --金额格式化
  LS_BZFPGS           varchar2(10);    --病种发票格式 Y:病种发票 N:普通发票 CDRG:CDRG发票
  LS_totalAmt         number(12,2);    --开票总金额
  LS_chargeDetail     varchar2(4000);  --chargeDetail	收费项目明细列表
  LS_otherMedicalList	varchar2(4000);  --otherMedicalList其它医保信息列表
  LS_payChannelDetail	varchar2(4000);  --payChannelDetail	交费渠道列表
  LS_otherInfo	      varchar2(4000);  --otherInfo	其它扩展信息列表
  LS_CZYXM0           varchar2(50);    --操作员姓名
  LS_payee	          varchar2(50);    --收费员
  LS_author	          varchar2(50);    --票据编制人
  LS_checker	        varchar2(50);    --票据复核人
  LS_placeCode	      varchar2(50);    --开票点编码(胸卡号)	
  LS_SFDMQZ           varchar2(10);    --chargeCodeQzdm:收费项目代码增加前缀	
  LS_number_std_amt   varchar2(100);   --博思电子发票清单明细数量、单价、金额小数点保留位数格式化参数设置,用|隔开,(.9999标识保留4位)
  LS_BSDZFP_checker  BM_TYZD00.MC0000%type;  --字典参数BSDZFP_checker
  LS_inHospitalDate   varchar2(50);          --入院日期
  LS_outHospitalDate   varchar2(50);         --出院日期
  LS_BSDZFP_inHospitalDate   BM_TYZD00.MC0000%type;  --字典参数BSDZFP_inHospitalDate，博思电子发票入院日期取值方式；0取入院日期，1取实际入院日期；默认为0
  LS_BSDZFP_outHospitalDate  BM_TYZD00.MC0000%type;  --字典参数BSDZFP_outHospitalDate，博思电子发票出院日期取值方式；0取出院日期，1取实际出院日期；默认为0
  ls_CFFPFB           XT_XTCS00.VALUE0%type;
  ls_FBBH00           ZY_JZB000.FBBH00%type;
  ls_FZPJH0           ZY_JZB000.PJH000%type;
  ls_SFCFFP           varchar2(10);    --是否拆分发票 0否1是
  ls_COUNTS           number(5);
  
  --2:listDetail	清单项目明细列表
  cursor CUR_listDetail is
    select aa.*,rownum as sortNo
       from VW_ZY_listDetail aa
      where aa.JZDH00=PJZDH00 
        and ((nvl(PZYID00,0)=0 and 1=1) or (nvl(PZYID00,0)>0 and  aa.ZYID00=PZYID00));
  
  cursor CUR_electronic_bill is  
    select  aa.*  from VW_ZY_op_electronic_bill aa
      where aa.JZDH00=PJZDH00 and ((nvl(PZYID00,0)=0 and 1=1) or (nvl(PZYID00,0)>0 and aa.ZYID00=PZYID00));  

begin
  LS_FHXX00:='';
  LS_JSONSTR:='';
  LS_QDMXJSON:='';
  LS_chargeDetail:='';      --chargeDetail	收费项目明细列表
  LS_otherMedicalList:='';  --otherMedicalList其它医保信息列表
  LS_payChannelDetail:='';  --payChannelDetail	交费渠道列表
  LS_otherInfo:='';         --otherInfo	其它扩展信息列表
  LS_BZFPGS:='N';           --病种发票格式 Y:病种发票 N:普通发票
  LS_SFDMQZ:=trim(substrb(SF_SF_RETURNINDEXEH(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','chargeCodeQzdm')),1,100),'|', 2),1,10));--chargeCodeQzdm:收费项目代码增加前缀
  LS_BSDZFP_checker:=nvl(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','BSDZFP_checker')),1,100),'0');
  LS_BSDZFP_inHospitalDate:=nvl(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','BSDZFP_inHospitalDate')),1,100),'0');
  LS_BSDZFP_outHospitalDate:=nvl(substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','BSDZFP_outHospitalDate')),1,100),'0');
  select trim(nvl(max(VALUE0),'N')) into ls_CFFPFB     from  XT_XTCS00 where NAME00='ZY_KZMZFBBRCFFP';       --控制某种费别(离休)病人拆分发票(按是否医保来分)VALUE0=(BM_BRFBB0.FBBH00)默认为-1
  
  --博思电子发票清单明细数量、单价、金额小数点保留位数格式化参数设置,用|隔开,(.9999标识保留4位)
	LS_number_std_amt:=substrb(trim(SF_SF_TYZD00('第三方电子发票平台接口','number_std_amt')),1,100);
  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 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;
  
  select  FBBH00,PJH000 into ls_FBBH00,ls_FZPJH0 from ZY_JZB000 where JZDH00=PJZDH00;
  --取是否拆分发票标识
  ls_SFCFFP:='0';
  if instrb(','||trim(ls_CFFPFB)||',',','||to_char(ls_FBBH00)||',')>0 and (ls_FBBH00 not in (1,3)) then
    select count(1) into ls_COUNTS from ZY_PJSYQK where  PLBH00=3 and substr(PJXH00,1,1)<>'-' and PJZT00 in ('0','2') and SFBCF0 in ('1','2') and FZPJH0=ls_FZPJH0;
    ls_COUNTS:=nvl(ls_COUNTS,0);
    if ls_COUNTS=2 then
      ls_SFCFFP:='1';
    end if;
  end if; 
  
  if ls_SFCFFP='1' then
    LS_FHXX00:=SF_ZY_BSDJPJCFFP_JSONSTR(PCJLYBM,PJKCJBM,PZYID00,PJZDH00,PCZY000,PCZYKS0,PFHLXBH,PINTSTR);
  else
  --2:listDetail	清单项目明细列表--begin--
	if PFHLXBH in (0,2) then 
		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;
	--2:listDetail	清单项目明细列表--end--

  --0:全部报文--begin--	
  if PFHLXBH in (0) then 
    for REC in CUR_electronic_bill loop
   	  if REC.ffbzbm is not null then    --REC.dbzbm0 is not null or： 注释本条件 ZYSF9-20210720-004
   	   	LS_BZFPGS:='Y';--病种发票格式 Y:病种发票 N:普通发票 CDRG:CDRG发票
   	  else 
   	    if REC.YBSM09 is not null and REC.YBSM10 in ('01','02','03') then  --病种发票格式 Y:病种发票 N:普通发票 CDRG:CDRG发票  ZYSF9-20211216-001
   	      LS_BZFPGS:='CDRG'; 
		elsif REC.PTBCTS > 0 and REC.YBSM10='07' then  --精神科按床位天数结算病例
         LS_BZFPGS:='JSKBL'; 
   	    else 	  
   	  	  LS_BZFPGS:='N';--病种发票格式 Y:病种发票 N:普通发票 CDRG:CDRG发票
   	  	end if;
   	  end if;
   	  
   	  --开票总金额
   	  if LS_BZFPGS='Y' then 
   	  	LS_totalAmt:=REC.BZHJJE;--开票总金额
   	  else
   	    if LS_BZFPGS='CDRG' then
   	      LS_totalAmt:=REC.CDRGJE;--开票总金额  ZYSF9-20211216-001
		elsif LS_BZFPGS='JSKBL' then
            LS_totalAmt:=REC.JSKZJE;--精神科按床位天数结算病例总金额   
   	    else
   	  	  LS_totalAmt:=REC.totalAmt;--开票总金额
   	  	end if;
   	  end if;
   	 	if LS_BSDZFP_checker='1' then
    	  LS_checker:='';
      else  
        LS_checker:=nvl(LS_checker,REC.checker);  
      end if;
      if LS_BSDZFP_inHospitalDate='1' then
        LS_inHospitalDate:=REC.SJRYRQ;
      else
        LS_inHospitalDate:=REC.inHospitalDate;
   	  end if;
   	  if LS_BSDZFP_outHospitalDate='1' then
        LS_outHospitalDate:=REC.SJCYRQ;
      elsif LS_BSDZFP_outHospitalDate='2' then
        LS_outHospitalDate:=REC.CYDJRQ;
      else
        LS_outHospitalDate:=REC.outHospitalDate;
   	  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(LS_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":'||'"'||REC.cardNo||'",'                                                       --cardNo              卡号                     String  50    是  根据卡类型填写 
        ||'"medCareAreaCode":'||'"'||REC.medCareAreaCode||'",'                                     --medCareAreaCode     医保行政区划码           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    否 
        ||'"tel":'||'"'||REC.tel||'",'                                                             --tel	               患者手机号码	            String	13	  否	患者手机号（如需要用于电子票归集、电子票据短信通知，必填）
        ||'"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   否  
        ||'"patientCategoryCode":'||'"'||REC.patientCategoryCode||'",'                             --patientCategoryCode 就诊科室编码             String  60    否 
        ||'"categoryCode":'||'"'||REC.CategoryCode||'",'                                           --categoryCode        入院科室编码             String  60    否  
        ||'"leaveCategory":'||'"'||REC.leaveCategory||'",'                                         --leaveCategory       出院科室名称             String  200   否  
        ||'"leaveCategoryCode":'||'"'||REC.leaveCategoryCode||'",'                                 --leaveCategoryCode   出院科室编码             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  是  患者本次就医所发生的医疗费用中按照有关规定不属于基本医疗保险目录范围而全部由个人支付的费用；
        ||'"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
        ||'"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":'||'"'||REC.remark||'",'                                                       --remark	             备注	                    String	200	  否 
        ||'"hospitalNo":'||'"'||REC.hospitalNo||'",'                                               --hospitalNo          患者住院号【住院】门诊用病历号
        ||'"visitNo":'||'"'||REC.visitNo||'",'                                                     --visitNo             住院就诊编号【住院】
        ||'"patiendId":'||'"'||REC.patiendId||'",'                                                 --patiendId           患者唯一ID=bm_brxxb0.brid00
        ||'"inHospitalDate":'||'"'||LS_inHospitalDate||'",'                                        --inHospitalDate      住院日期【住院】
        ||'"outHospitalDate":'||'"'||LS_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              特殊门诊累计  
      ;
       
      --列表值
      LS_chargeDetail:=substrb(REC.chargeDetail,1,4000);          --chargeDetail	收费项目明细列表
      LS_otherMedicalList:=substrb(REC.otherMedicalList,1,4000);  --otherMedicalList其它医保信息列表
      LS_payChannelDetail:=substrb(REC.payChannelDetail,1,4000);  --payChannelDetail	交费渠道列表
      LS_otherInfo:=substrb(REC.otherInfo,1,4000);                --otherInfo	其它扩展信息列表
      --显示单病种发票格式,不显示清单 LS_BZFPGS:='Y';--病种发票格式 Y:病种发票 N:普通发票
      if LS_BZFPGS='Y' then 
      	--listDetail	清单项目明细列表
      	LS_QDMXJSON:='[]';
      	--chargeDetail	收费项目明细列表(DBZ01:单病种标准 DBZ02:超标床位费 DBZ03:除外耗材费 DBZ04:特需医疗服务费
      	LS_chargeDetail:='';
      	--DBZ01:单病种标准
      	LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'1'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'DBZ01'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'单病种标准'||'",'                        --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.bzdebz,LS_JE_format))||'",'     --std	        收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.bzdebz,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.bzdebz,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
  	  	
  	    --DBZ02:超标床位费
  	    LS_chargeDetail:=LS_chargeDetail||','; --加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'2'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'DBZ02'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'超标床位费'||'",'                        --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.bzcbcw,LS_JE_format))||'",'     --std	        收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.bzcbcw,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.bzcbcw,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	      ||'}',1,4000);
  	  	
  	    --DBZ03:除外耗材费
  	    LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'3'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'DBZ03'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'除外耗材费'||'",'                        --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.bzcwhc,LS_JE_format))||'",'     --std	        收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.bzcwhc,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.bzcwhc,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
  	  	
  	  	--DBZ04:特需医疗服务费
  	    LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'4'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'DBZ04'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'特需医疗服务费'||'",'                    --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.bztsyl,LS_JE_format))||'",'     --std 	      收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.bztsyl,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.bztsyl,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
      	 
      	LS_chargeDetail:='['||LS_chargeDetail||']';--拼接[]      	 
      end if;
      --CDRG发票  ZYSF9-20211216-001
      if LS_BZFPGS='CDRG' then 
      	--listDetail	清单项目明细列表
      	LS_QDMXJSON:='[]';
      	--chargeDetail	收费项目明细列表(CDRG01:CDRG标准费用 CDRG02:可报高值耗材费 CDRG03:超标床位费 CDRG04:超标高值耗材费 CDRG05:另收高值药品费)
      	LS_chargeDetail:='';
      	--CDRG01:CDRG标准费用
      	LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'1'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG01'||'",'                            --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'标准费用'||'",'                          --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL39,LS_JE_format))||'",'     --std	        收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.YBYL39,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL39,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||REC.YBSM09||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
  	  	
  	    --CDRG02:可报高值耗材费
  	    LS_chargeDetail:=LS_chargeDetail||','; --加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'2'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG02'||'",'                            --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'可报高值耗材费'||'",'                    --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL43,LS_JE_format))||'",'     --std	        收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.YBYL43,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL43,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	      ||'}',1,4000);
  	  	
  	    --CDRG03:超标床位费
  	    LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'3'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG03'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'超标床位费'||'",'                        --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL44,LS_JE_format))||'",'     --std	        收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.YBYL44,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL44,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
  	  	
  	  	--CDRG04:超标高值耗材费
  	    LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'4'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG04'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'超标高值耗材费'||'",'                    --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL45,LS_JE_format))||'",'     --std 	      收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.YBYL45,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL45,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
  	  	--CDRG05:另收高值药品费
  	    LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'5'||'",'                                     --sortNo	    序号	        Integer	不限	是	默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG05'||'",'                             --chargeCode	收费项目代码	String	50	  是	填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'另收高值药品费'||'",'                    --chargeName	收费项目名称	String	100	  是	填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.CBYPF0,LS_JE_format))||'",'     --std 	      收费标准	    Number	14,2	是	
          ||'"number":'||'"'||'1'||'",'                                     --number	    数量	        Number	14,2	是	
          ||'"amt":'||'"'||trim(to_char(REC.CBYPF0,LS_JE_format))||'",'     --amt	        金额	        Number	14,2	是	
          ||'"selfAmt":'||'"'||trim(to_char(REC.CBYPF0,LS_JE_format))||'",' --selfAmt	    自费金额	    Number	14,2	是	如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark	    备注	        String	200	  否	
          ||'"unit":'||'"'||''||'"'                                         --unit	      计量单位	    String	20	  否
  	  	  ||'}',1,4000);
      	 
      	LS_chargeDetail:='['||LS_chargeDetail||']';--拼接[]      	 
      end if;
      
	  --精神科按床位天数结算病例
      if LS_BZFPGS='JSKBL' then 
        --listDetail    清单项目明细列表
        LS_QDMXJSON:='[]';
        --chargeDetail  收费项目明细列表(CDRG01:CDRG标准费用 CDRG02:可报高值耗材费 CDRG03:超标床位费 CDRG04:超标高值耗材费 CDRG05:另收高值药品费)
        LS_chargeDetail:='';
        --CDRG01:CDRG标准费用
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'1'||'",'                                     --sortNo        序号            Integer 不限    是  默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG01'||'",'                            --chargeCode    收费项目代码    String  50    是    填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'标准费用'||'",'                          --chargeName    收费项目名称    String  100   是    填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.BZFY00,LS_JE_format))||'",'     --std           收费标准        Number  14,2    是  
          ||'"number":'||'"'||'1'||'",'                                     --number        数量            Number  14,2    是  
          ||'"amt":'||'"'||trim(to_char(REC.BZFY00,LS_JE_format))||'",'     --amt           金额            Number  14,2    是  
          ||'"selfAmt":'||'"'||trim(to_char(REC.BZFY00,LS_JE_format))||'",' --selfAmt       自费金额        Number  14,2    是  如无金额，填写0
          ||'"remark":'||'"'||'精神科'||'",'                                      --remark        备注            String  200   否    
          ||'"unit":'||'"'||''||'"'                                         --unit        计量单位      String  20    否
          ||'}',1,4000);
        
        --CDRG02:可报高值耗材费
        LS_chargeDetail:=LS_chargeDetail||','; --加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'2'||'",'                                     --sortNo        序号            Integer 不限    是  默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG02'||'",'                            --chargeCode    收费项目代码    String  50    是    填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'可报高值耗材费'||'",'                    --chargeName    收费项目名称    String  100   是    填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL43,LS_JE_format))||'",'     --std           收费标准        Number  14,2    是  
          ||'"number":'||'"'||'1'||'",'                                     --number        数量            Number  14,2    是  
          ||'"amt":'||'"'||trim(to_char(REC.YBYL43,LS_JE_format))||'",'     --amt           金额            Number  14,2    是  
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL43,LS_JE_format))||'",' --selfAmt       自费金额        Number  14,2    是  如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark        备注            String  200   否    
          ||'"unit":'||'"'||''||'"'                                         --unit        计量单位      String  20    否
          ||'}',1,4000);
        
        --CDRG03:超标床位费
        LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'3'||'",'                                     --sortNo        序号            Integer 不限    是  默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG03'||'",'                             --chargeCode   收费项目代码    String  50    是    填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'超标床位费'||'",'                        --chargeName    收费项目名称    String  100   是    填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL44,LS_JE_format))||'",'     --std           收费标准        Number  14,2    是  
          ||'"number":'||'"'||'1'||'",'                                     --number        数量            Number  14,2    是  
          ||'"amt":'||'"'||trim(to_char(REC.YBYL44,LS_JE_format))||'",'     --amt           金额            Number  14,2    是  
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL44,LS_JE_format))||'",' --selfAmt       自费金额        Number  14,2    是  如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark        备注            String  200   否    
          ||'"unit":'||'"'||''||'"'                                         --unit        计量单位      String  20    否
          ||'}',1,4000);
        
        --CDRG04:超标高值耗材费
        LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'4'||'",'                                     --sortNo        序号            Integer 不限    是  默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG04'||'",'                             --chargeCode   收费项目代码    String  50    是    填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'超标高值耗材费'||'",'                    --chargeName    收费项目名称    String  100   是    填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.YBYL45,LS_JE_format))||'",'     --std         收费标准      Number  14,2    是  
          ||'"number":'||'"'||'1'||'",'                                     --number        数量            Number  14,2    是  
          ||'"amt":'||'"'||trim(to_char(REC.YBYL45,LS_JE_format))||'",'     --amt           金额            Number  14,2    是  
          ||'"selfAmt":'||'"'||trim(to_char(REC.YBYL45,LS_JE_format))||'",' --selfAmt       自费金额        Number  14,2    是  如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark        备注            String  200   否    
          ||'"unit":'||'"'||''||'"'                                         --unit        计量单位      String  20    否
          ||'}',1,4000);
        --CDRG05:另收高值药品费
        LS_chargeDetail:=LS_chargeDetail||',';--加个‘，’
        LS_chargeDetail:=substrb(LS_chargeDetail||'{'
          ||'"sortNo":'||'"'||'5'||'",'                                     --sortNo        序号            Integer 不限    是  默认从1开始，每个收费项目序号值递增1，本次不允许重复
          ||'"chargeCode":'||'"'||'CDRG05'||'",'                             --chargeCode   收费项目代码    String  50    是    填写业务系统内部编码值，由医疗平台配置对照
          ||'"chargeName":'||'"'||'另收高值药品费'||'",'                    --chargeName    收费项目名称    String  100   是    填写业务系统内部项目名称
          ||'"std":'||'"'||trim(to_char(REC.CBYPF0,LS_JE_format))||'",'     --std         收费标准      Number  14,2    是  
          ||'"number":'||'"'||'1'||'",'                                     --number        数量            Number  14,2    是  
          ||'"amt":'||'"'||trim(to_char(REC.CBYPF0,LS_JE_format))||'",'     --amt           金额            Number  14,2    是  
          ||'"selfAmt":'||'"'||trim(to_char(REC.CBYPF0,LS_JE_format))||'",' --selfAmt       自费金额        Number  14,2    是  如无金额，填写0
          ||'"remark":'||'"'||''||'",'                                      --remark        备注            String  200   否    
          ||'"unit":'||'"'||''||'"'                                         --unit        计量单位      String  20    否
          ||'}',1,4000);
         
        LS_chargeDetail:='['||LS_chargeDetail||']';--拼接[]          
      end if;
	  
        	
      --拼接Llist(chargeDetail	收费项目明细列表)
      LS_JSONSTR:=LS_JSONSTR||'"chargeDetail":'||''||LS_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":'||''||LS_otherMedicalList||','; --otherMedicalList	其它医保信息列表	String	不限	否 JSON
      --拼接Llist(payChannelDetail	交费渠道列表)                                  
      LS_JSONSTR:=LS_JSONSTR||'"payChannelDetail":'||''||LS_payChannelDetail||','; --payChannelDetail	交费渠道列表	    String	不限	是(01	POS刷卡 02	现金03	转账04	支付宝05	微信06	支票07	卡支付08	银联卡09	自助机缴费10	软POS11	医保支付12	预交金13	公众平台)
      --拼接Llist(otherInfo	其它扩展信息列表)
      LS_JSONSTR:=LS_JSONSTR||'"otherInfo":'||''||LS_otherInfo||'';                --otherInfo	      其它扩展信息列表	String	不限	否 JSON

      LS_JSONSTR:=LS_JSONSTR||'}';
    end loop;
    LS_FHXX00:=LS_JSONSTR;
  end if;	
  end if;-- if ls_SFCFFP='0' end  
  --0:全部报文--end--		
  return LS_FHXX00;
end;
/  