Pārlūkot izejas kodu

适配最新的读卡插件。

lighter 3 gadi atpakaļ
vecāks
revīzija
3989cd86ac

+ 3 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/dicts/ReadCardBizType.java

@@ -4,6 +4,9 @@ import thyyxxk.simzfeeoprnsystm.utils.StringUtil;
 
 public enum ReadCardBizType {
     REGISTRATION("01101"),
+    CONSULTATION("01201"),
+    EXAMINATION("01203"),
+    TREATMENT("01204"),
     SETTLEMENT("01301");
 
     private final String code;

+ 18 - 394
src/main/java/thyyxxk/simzfeeoprnsystm/dicts/SiFunction.java

@@ -7,144 +7,6 @@ package thyyxxk.simzfeeoprnsystm.dicts;
  **/
 public enum SiFunction {
 
-    /* ============================================ 人员信息 ============================================ */
-    /**
-     * 通过此交易获取人员信息(人员基本信息获取)
-     */
-    OBTAIN_BASIC_PERSON_INFO("1101"),
-
-    /* ========================================== 定点医药机构信息 ========================================== */
-    /**
-     * 通过此交易获取医药机构基本信息(医药机构信息获取)
-     */
-    OBTAIN_MEDICAL_INSTITUTION_INFO("1201"),
-
-    /* ============================================= 目录下载 =========================================== */
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(西药中成药目录下载)
-     */
-    DOWNLOAD_PATENT_AND_WESTERN_MEDICINE_CATALOGUE("1301"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(中药饮片目录下载)
-     */
-    DOWNLOAD_CHINESE_HERBAL_CATALOGUE("1302"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(医疗机构制剂目录下载)
-     */
-    DOWNLOAD_INSTITUTIONS_PREPARATIONS_CATALOGUE("1303"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(民族药品目录下载)
-     */
-    DOWNLOAD_ETHNIC_MEDICINE("1304"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(医疗服务项目目录下载)
-     */
-    DOWNLOAD_MEDICAL_SERVICE_ITEMS_CATALOGUE("1305"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(医用耗材目录下载)
-     */
-    DOWNLOAD_MEDICAL_SUPPLIES_CATALOGUE("1306"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(疾病与诊断目录下载)
-     */
-    DOWNLOAD_DISEASES_AND_DIAGNOSIS_CATALOGUE("1307"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(手术操作目录下载)
-     * */
-    DOWNLOAD_OPERATION_CATALOGUE("1308"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(门诊慢特病种目录下载)
-     * */
-    DOWNLOAD_OUTPATIENT_SPECIAL_CHRONIC_DISEASES_CATALOGUE("1309"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(按病种付费病种目录下载)
-     */
-    DOWNLOAD_PAY_BY_DISEASE_CATALOGUE("1310"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(日间手术治疗病种目录下载)
-     */
-    DOWNLOAD_DAYTIME_SURGERY_DISEASES_CATALOGUE("1311"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(医保目录信息查询)
-     */
-    DOWNLOAD_MEDICAL_INSURANCE_CATALOGUE("1312"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(肿瘤形态学目录下载)
-     * */
-    DOWNLOAD_TUMOR_MORPHOLOGY_CATALOGUE("1313"),
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(中医疾病目录下载)
-     */
-    DOWNLOAD_TRADITIONAL_CHINESE_DISEASES_CATALOGUE("1314"),
-
-
-    /**
-     * 根据本地最大版本号信息获取大于本地版本的目录信息(中医证候目录下载)
-     * */
-    DOWNLOAD_TCM_SYNDROME_CATALOGUE("1315"),
-
-    /**
-     * 通过此交易下载医疗目录与医保目录匹配信息(医疗目录与医保目录匹配信息下载)
-     */
-    DOWNLOAD_MEDICAL_INSURANCE_MATCH_CATALOGUE("1316"),
-
-    /**
-     * 通过此交易下载医药机构目录匹配信息(医药机构目录匹配信息下载)
-     */
-    DOWNLOAD_MEDICAL_INSTITUTION_MATCH_CATALOGUE("1317"),
-
-    /**
-     * 通过此交易下载医保目录限价信息(医保目录限价信息下载)
-     */
-    DOWNLOAD_MEDICAL_INSURANCE_PRICE_LIMIT_CATALOGUE("1318"),
-
-    /**
-     * 通过此交易下载医保目录先自付比例信息(医保目录先自付比例信息下载)
-     */
-    DOWNLOAD_MEDICAL_INSURANCE_PAY_FIRST_CATALOGUE("1319"),
-
-    /* =========================================== 其他信息 ========================================== */
-    /**
-     * 通过此交易下载字典表(字典表下载)
-     */
-    DOWNLOAD_DICTIONARY_LIST("1901"),
-
-    /* =========================================== 待遇检查 ========================================== */
-    /**
-     * 通过此交易检查人员的待遇享受情况,返回待遇信息(人员待遇享受检查)
-     */
-    CHECK_PERSON_TREATMENT("2001"),
-
-    /* =========================================== 药店结算 ========================================== */
-    /**
-     * 通过此交易进行药店购药,药店门诊慢特病购药的预结算(药店预结算)
-     */
-    DRUGSTORE_PRE_SETTLEMENT("2101"),
-
-    /**
-     * 通过此交易进行药店购药,药店门诊慢特病购药的结算(含费用明细上传)("药店结算")
-     */
-    DRUGSTORE_SETTLEMENT("2102"),
-
-    /**
-     * 通过此交易撤销药店结算(含费用明细撤销)(药店结算撤销)
-     */
-    REVOKE_DRUGSTORE_SETTLEMENT("2103"),
-
-    /* =========================================== 门急诊结算 ========================================== */
     /**
      * 通过此交易进行门诊挂号(门诊挂号)
      */
@@ -185,276 +47,38 @@ public enum SiFunction {
      * */
     REVOKE_OUTPATIENT_SETTLEMENT("2208"),
 
-    /* =========================================== 住院结算 ========================================== */
-    /**
-     * 通过此交易上传住院费用明细信息(住院费用明细上传)
-     */
-    UPLOAD_HOSPITALIZATION_FEE_DETAILS("2301"),
-
-    /**
-     * 通过此交易撤销住院费用明细信息(住院费用明细撤销)
-     * */
-    REVOKE_HOSPITALIZATION_FEE_DETAILS("2302"),
-
-    /**
-     * 通过此交易进行住院结算的预结算(住院预结算)
-     */
-    HOSPITALIZATION_PRE_SETTLEMENT("2303"),
-
-    /**
-     * 通过此交易进行住院结算的正式结算(住院结算)
-     * */
-    HOSPITALIZATION_SETTLEMENT("2304"),
-
-    /**
-     * 通过此交易撤销住院结算(住院结算撤销)
-     * */
-    REVOKE_HOSPITALIZATION_SETTLEMENT("2305"),
-
-    /* =========================================== 住院办理 ========================================== */
-    /**
-     * 通过此交易进行入院登记办理(入院登记)
-     * */
-    ADMISSION_REGISTRATION("2401"),
-
-    /**
-     * 通过此交易进出院办理(出院办理)
-     */
-    DISCHARGE_PROCESSING("2402"),
-
-    /**
-     * 通过此交易进行入院信息变更(入院信息变更)
-     */
-    MODIFY_ADMISSION_INFO("2403"),
-
-    /**
-     * 通过此交易进行入院撤销(入院撤销)
-     */
-    REVOKE_ADMISSION("2404"),
-
-    /**
-     * 通过此交易进出院撤销(出院撤销)
-     */
-    REVOKE_DISCHARGE("2405"),
-
-    /* =========================================== 人员备案 ========================================== */
-    /**
-     * 通过此交易上传转院备案信息(转院备案)
-     */
-    TRANSFER_HOSPITAL_RECORD("2501"),
-
-    /**
-     * 通过此交易撤销上传的转院备案信息(转院备案撤销)
-     * */
-    REVOKE_TRANSFER_HOSPITAL_RECORD("2502"),
-
-    /**
-     * 通过此交易上传人员慢特病备案信息(人员慢特病备案)
-     */
-    SPECIAL_CHRONIC_DISEASES_RECORD("2503"),
-
-    /**
-     * 通过此交易撤销医保局还未处理的人员慢特病备案信息(人员慢特病备案撤销)
-     * */
-    REVOKE_SPECIAL_CHRONIC_DISEASES_RECORD("2504"),
-
+    /* =========================================== 自费病人就医信息 ========================================== */
     /**
-     * 通过此交易上传人员定点备案信息(人员定点备案
+     * 通过此交易上传自费病人费用明细信息(自费病人费用明细信息上传)
      */
-    PERSONNEL_ASSIGNMENT_RECORD("2505"),
+    UPLOAD_SELF_FUNDED_PATIENT_FEE_DETAIL("4201"),
 
+    /* =========================================== 电子凭证缴费业务 ========================================== */
     /**
-     * 通过此交易撤销医保局还未审核的人员定点备案信息(人员定点备案撤销)
+     * 定点医药机构向地方移动支付中心发起上传费用明细交易,
+     * 由地方移动支付中心向地方医保核心系统发起验证后完成[2204]、[2301]、[6201]接口业务交互。
+     * 定点医药机构需要修改处方时,需要先撤销上传,修改完成之后重新上传。
      * */
-    REVOKE_PERSONNEL_ASSIGNMENT_RECORD("2506"),
+    ECTOKEN_UPLOAD_FEE_DETAIL("6201"),
 
-    /* =========================================== 事务补偿业务 ========================================== */
     /**
-     * 定点医药机构发起某项交易时,因网络中断或超时等原因导致无法获取接收方状态,
-     * 导致多方数据不一致或已确认接收方数据多时,可通过冲正取消接收方相应数据,保持双方数据一致(冲正交易)
-     * 重点说明:
-     * 1、可被冲正的交易包括:【2102】药店结算、【2103】药店结算撤销、【2207】门诊结算、【2208】门诊结算撤销、
-     *                    【2304】住院结算、【2305】住院结算撤销、【2401】入院办理。
-     * 2、将需要冲正的交易信息(原交易)中的“msgid 发送方报文ID”放入本次输入的“omsgid 原发送方报文ID”中;
-     * 3、将需要冲正的交易信息(原交易)中的“infno 交易编号”放入本次输入的“oinfno 原交易编号”中;
+     * 无收银台模式下,定点医药机构向地方移动支付中心发起医保移动支付下单请求,
+     * 地方移动支付中心进行移动支付权限核验后,返回支付下单结果信息。
      * */
-    AUTO_RECOVERY_TRADE("2601"),
+    ECTOKEN_CREATE_PAY_ORDER("6202"),
 
-    /* =========================================== 明细审核 ========================================== */
     /**
-     * 通过此交易进行事前、事中的明细审核分析(明细审核分析服务)
+     * 定点医药机构对已经完成移动支付交易的医保订单,发起退费交易,
+     * 医保订单交易原路返还参保人医保账户或现金支付账户。
      * */
-    ITEMIZED_REVIEW_ANALYSIS_SERVICES("3101"),
-
-    /* =========================================== 医药机构费用结算业务 ========================================== */
-    /**
-     * 对通过此交易进行医药机构费用结算对总账(医药机构费用结算对总账)
-     */
-    INSTITUTION_SETTLEMENT_LEDGER_CHECK("3201"),
-
-    /**
-     * 通过此交易,在医药机构费用结算总账不平时,进行对明细账(医药机构费用结算对明细账)
-     */
-    INSTITUTION_SETTLEMENT_DETAIL_CHECK("3202"),
-
-    /* =========================================== 目录对照 ========================================== */
-    /**
-     * 通过此交易上传目录对照信息(目录对照上传)
-     */
-    UPLOAD_CATALOGUE_CONTRAST("3301"),
-
-    /**
-     * 通过此交易删除上传的目录对照信息(目录对照撤销)
-     */
-    REVOKE_CATALOGUE_CONTRAST("3302"),
-
-    /* =========================================== 科室管理 ========================================== */
-    /**
-     * 通过此交易上传科室信息(科室信息上传)
-     */
-    UPLOAD_DEPARTMENT_INFO("3401"),
-
-    /**
-     * 通过此交易批量上传科室信息(批量科室信息上传)
-     */
-    UPLOAD_DEPARTMENT_INFO_IN_BATCH("3401A"),
-
-    /**
-     * 通过此交易变更科室信息(科室信息变更)
-     */
-    MODIFY_DEPARTMENT_INFO("3402"),
-
-    /**
-     * 通过此交易撤销科室信息(科室信息撤销)
-     * */
-    REVOKE_DEPARTMENT_INFO("3403"),
-
-    /* =========================================== 进销存管理 ========================================== */
-    /**
-     * 通过此交易上传商品盘存信息(商品盘存上传)
-     */
-    UPLOAD_COMMODITY_INVENTORY("3501"),
-
-    /**
-     * 通过此交易上传商品的库存变化(商品库存变更)
-     */
-    CHANGE_COMMODITY_INVENTORY("3502"),
-
-    /**
-     * 通过此交易上传商品采购信息(商品采购)
-     */
-    UPLOAD_COMMODITY_PURCHASE("3503"),
-
-    /**
-     * 通过此交易上传商品采购退货信息(商品采购退货)
-     * */
-    UPLOAD_COMMODITY_PURCHASE_RETURN("3504"),
-
-    /**
-     * 通过此交易上传商品销售信息(商品销售)
-     */
-    UPLOAD_COMMODITY_SALES("3505"),
-
-    /**
-     * 通过此交易上传商品销售退货信息(商品销售退货)
-     */
-    UPLOAD_COMMODITY_SALES_RETURN("3506"),
-
-    /**
-     * 通过此交易删除某一批次商品信息(商品信息删除)
-     */
-    DELETE_COMMODITY_INFO("3507"),
+    ECTOKEN_REVOKE_FEE("6203"),
 
     /**
-     * 通过此交易上传医疗保障基金结算清单信息(医疗保障基金结算清单信息上传)
+     * 定点医药机构向地方移动支付中心发起医保移动支付下单请求,
+     * 地方移动支付中心进行移动支付权限核验后返回医保收银台地址并向参保人展示医保订单信息,
+     * 参保人确认继续支付后,通过医保订单信息同步接口返回医保下单结果信息。
      * */
-    UPLOAD_SI_SETTLE_INFO("4101"),
-
-    /* =========================================== 自费病人就医信息 ========================================== */
-    /**
-     * 通过此交易上传自费病人费用明细信息(自费病人费用明细信息上传)
-     */
-    UPLOAD_SELF_FUNDED_PATIENT_FEE_DETAIL("4201"),
-
-    /* =========================================== 基础信息查询 ========================================== */
-    /**
-     * 通过此交易获取当前医疗机构的科室基本信息(科室信息查询)
-     */
-    QUERY_DEPARTMENT_INFO("5101"),
-
-    /**
-     * 通过此交易获取当前医药机构的医师、护士、药师人员信息(医执人员信息查询)
-     */
-    QUERY_MEDICAL_STAFF_INFO("5102"),
-
-    /* =========================================== 医保服务查询 ========================================== */
-    /**
-     * 根据人员信息获取该人员在本机构一段时间内的就诊信息(就诊信息查询)
-     */
-    QUERY_VISIT_INFO("5201"),
-
-    /**
-     * 根据就诊信息获取该人员当次就诊的诊断信息(诊断信息查询)
-     */
-    QUERY_DIAGNOSIS_INFO("5202"),
-
-    /**
-     * 根据条件信息获取该人员在本机构一段时间内的结算信息(结算信息查询)
-     */
-    QUERY_SETTLEMENT_INFO("5203"),
-
-    /**
-     * 根据人员就诊信息获取该笔结算的明细信息(费用明细查询)
-     */
-    QUERY_FEE_DETAILS("5204"),
-
-    /**
-     * 根据人员信息获取该人员在一段时间内的门诊慢特病用药信息(人员慢特病用药记录查询)
-     */
-    QUERY_SPECIAL_CHRONIC_DISEASES_MEDICAL_RECORD("5205"),
-
-    /**
-     * 根据人员信息获取该人员的累计信息(人员累计信息查询)
-     */
-    QUERY_PERSONNEL_CUMULATIVE_INFO("5206"),
-
-    /* =========================================== 医药机构服务查询 ========================================== */
-    /**
-     * 根据个人信息获取该人员当前有效的慢特病备案信息(人员慢特病备案查询)
-     */
-    QUERY_SPECIAL_CHRONIC_DISEASES_ACCREDITATION("5301"),
-
-    /**
-     * 通过此交易获取该人员当前的定点信息(人员定点信息查询)
-     */
-    QUERY_PERSONNEL_ASSIGNMENT_INFO("5302"),
-
-    /**
-     * 通过此交易获取当前定点医疗机构的在院病人信息(在院信息查询)
-     */
-    QUERY_IN_HOSPITAL_PATIENTS_INFO("5303"),
-
-    /**
-     * 通过此交易获取该人员在本机构一段时间内的转院信息(转院信息查询)
-     */
-    QUERY_PERSONNEL_TRANSFER_HOSPITAL_INFO("5304"),
-
-    /* =========================================== 检查检验互认结果查询 ========================================== */
-    /**
-     * 通过此交易在开医技医嘱时获取项目互认的结果(项目互认信息查询)
-     */
-    QUERY_MUTUAL_ACCREDIT_INFO("5401"),
-
-    /**
-     * 通过此交易在根据互认结果列表获取诊断明细(报告明细信息查询)
-     */
-    QUERY_DIAGNOSIS_REPORT_DETAIL("5402"),
-
-    /* =========================================== 药店线上支付 ========================================== */
-    /**
-     * 通过此交易,定点零售药店上传药店线上支付使用的费用明细(药店线上费用明细上传)
-     */
-    UPLOAD_DRUGSTORE_ONLINE_FEE_DETAIL("6101"),
+    ECTOKEN_SYNCHRONIZE_PAY_ORDER("6204"),
 
     /* =========================================== 签到签退 ========================================== */
     /**

+ 1 - 1
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/MzPatientInfo.java

@@ -36,7 +36,7 @@ public class MzPatientInfo {
 
     private String mdtrtCertType;
     private String mdtrtCertNo;
-    private Object readCardResult;
+    private String readCardResult;
     private String readCardBizType;
 
 

+ 52 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/ectoken/EcTokenDiseinfo.java

@@ -0,0 +1,52 @@
+package thyyxxk.simzfeeoprnsystm.pojo.ectoken;
+
+import lombok.Data;
+
+@Data
+public class EcTokenDiseinfo {
+    /**
+     * 诊断类别
+     * */
+    private String diagType;
+    
+    /**
+     * 诊断排序号
+     * */
+    private Integer diagSrtNo;
+    
+    /**
+     * 诊断代码
+     * */
+    private String diagCode;
+    
+    /**
+     * 诊断名称
+     * */
+    private String diagName;
+    
+    /**
+     * 诊断科室
+     * */
+    private String diagDept;
+    
+    /**
+     * 诊断医生编码
+     * */
+    private String diseDorNo;
+    
+    /**
+     * 诊断医生姓名
+     * */
+    private String diseDorName;
+    
+    /**
+     * 诊断时间
+     * */
+    private String diagTime;
+    
+    /**
+     * 有效标志
+     * */
+    private String valiFlag;
+
+}

+ 187 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/ectoken/EcTokenFeeDetail.java

@@ -0,0 +1,187 @@
+package thyyxxk.simzfeeoprnsystm.pojo.ectoken;
+
+import lombok.Data;
+
+@Data
+public class EcTokenFeeDetail {
+    /**
+     * 费用明细流水号
+     * */
+    private String feedetlSn;
+    
+    /**
+     * 就诊ID
+     * */
+    private String mdtrtId;
+    
+    /**
+     * 人员编号
+     * */
+    private String psnNo;
+    
+    /**
+     * 收费批次号
+     * */
+    private String chrgBchno;
+    
+    /**
+     * 病种编码
+     * */
+    private String diseCodg;
+    
+    /**
+     * 处方号
+     * */
+    private String rxno;
+    
+    /**
+     * 外购处方标志
+     * */
+    private String rxCircFlag;
+    
+    /**
+     * 费用发生时间
+     * */
+    private String feeOcurTime;
+    
+    /**
+     * 医疗目录编码
+     * */
+    private String medListCodg;
+    
+    /**
+     * 医药机构目录编码
+     * */
+    private String medinsListCodg;
+    
+    /**
+     * 明细项目费用总额
+     * */
+    private String detItemFeeSumamt;
+    
+    /**
+     * 数量
+     * */
+    private String cnt;
+    
+    /**
+     * 单价
+     * */
+    private String pric;
+    
+    /**
+     * 单次剂量描述
+     * */
+    private String sinDosDscr;
+    
+    /**
+     * 使用频次描述
+     * */
+    private String usedFrquDscr;
+    
+    /**
+     * 周期天数
+     * */
+    private String prdDays;
+    
+    /**
+     * 用药途径描述
+     * */
+    private String medcWayDscr;
+    
+    /**
+     * 开单科室编码
+     * */
+    private String bilgDeptCodg;
+    
+    /**
+     * 开单科室名称
+     * */
+    private String bilgDeptName;
+    
+    /**
+     * 开单医生编码
+     * */
+    private String bilgDrCodg;
+    
+    /**
+     * 开单医师姓名
+     * */
+    private String bilgDrName;
+    
+    /**
+     * 受单科室编码
+     * */
+    private String acordDeptCodg;
+    
+    /**
+     * 受单科室名称
+     * */
+    private String acordDeptName;
+    
+    /**
+     * 受单医生编码
+     * */
+    private String ordersDrCode;
+    
+    /**
+     * 受单医生姓名
+     * */
+    private String ordersDrName;
+    
+    /**
+     * 医院审批标志
+     * */
+    private String hospApprFlag;
+    
+    /**
+     * 中药使用方式
+     * */
+    private String tcmdrugUsedWay;
+    
+    /**
+     * 外检标志
+     * */
+    private String etipFlag;
+    
+    /**
+     * 外检医院编码
+     * */
+    private String etipHospCode;
+    
+    /**
+     * 出院带药标志
+     * */
+    private String dscgTkdrugFlag;
+    
+    /**
+     * 生育费用标志
+     * */
+    private String matnFeeFlag;
+    
+    /**
+     * 原费用流水号
+     * */
+    private String initFeedetlSn;
+    
+    /**
+     * 医嘱号
+     * */
+    private String drordNo;
+    
+    /**
+     * 医疗类别
+     * */
+    private String medType;
+    
+    /**
+     * 备注
+     * */
+    private String memo;
+    
+    /**
+     * 扩展字段
+     * */
+    private String extData;
+
+}

+ 189 - 0
src/main/java/thyyxxk/simzfeeoprnsystm/pojo/ectoken/EcTokenUpldFeeDetl.java

@@ -0,0 +1,189 @@
+package thyyxxk.simzfeeoprnsystm.pojo.ectoken;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class EcTokenUpldFeeDetl {
+    /**
+     * 机构编码
+     * */
+    private String orgCodg;
+    
+    /**
+     * 电子凭证机构号
+     * */
+    private String orgId;
+    
+    /**
+     * 人员编号
+     * */
+    private String psnNo;
+    
+    /**
+     * 险种类型
+     * */
+    private String insutype;
+    
+    /**
+     * 医疗机构订单号
+     * */
+    private String medOrgOrd;
+    
+    /**
+     * 要续方的原处方流水
+     * */
+    private String initRxOrd;
+    
+    /**
+     * 电子处方流转标志
+     * */
+    private String rxCircFlag;
+    
+    /**
+     * 开始时间
+     * */
+    private String begntime;
+    
+    /**
+     * 证件号码
+     * */
+    private String idNo;
+    
+    /**
+     * 用户姓名
+     * */
+    private String userName;
+    
+    /**
+     * 证件类别
+     * */
+    private String idType;
+    
+    /**
+     * 电子凭证授权ecToken
+     * */
+    private String ecToken;
+    
+    /**
+     * 参保地
+     * */
+    private String insuCode;
+    
+    /**
+     * 住院/门诊号
+     * */
+    private String iptOtpNo;
+    
+    /**
+     * 医师编码
+     * */
+    private String atddrNo;
+    
+    /**
+     * 医师姓名
+     * */
+    private String drName;
+    
+    /**
+     * 科室编码
+     * */
+    private String deptCode;
+    
+    /**
+     * 科室名称
+     * */
+    private String deptName;
+    
+    /**
+     * 科别
+     * */
+    private String caty;
+    
+    /**
+     * 就诊ID
+     * */
+    private String mdtrtId;
+    
+    /**
+     * 医疗类别
+     * */
+    private String medType;
+    
+    /**
+     * 费用类别
+     * */
+    private String feeType;
+    
+    /**
+     * 医疗费总额
+     * */
+    private String medfeeSumamt;
+    
+    /**
+     * 个人账户使用标志
+     * */
+    private String acctUsedFlag;
+    
+    /**
+     * 主要病情描述
+     * */
+    private String mainCondDscr;
+    
+    /**
+     * 病种编码
+     * */
+    private String diseCodg;
+    
+    /**
+     * 病种名称
+     * */
+    private String diseName;
+    
+    /**
+     * 个人结算方式
+     * */
+    private String psnSetlway;
+    
+    /**
+     * 收费批次号
+     * */
+    private String chrgBchno;
+    
+    /**
+     * 发票号
+     * */
+    private String invono;
+    
+    /**
+     * 出院时间
+     * */
+    private String endtime;
+    
+    /**
+     * 计划生育手术类别
+     * */
+    private String birctrlType;
+    
+    /**
+     * 计划生育手术或生育日期
+     * */
+    private String birctrlMatnDate;
+    
+    /**
+     * 扩展字段
+     * */
+    private String extData;
+    
+    /**
+     * 诊断或症状明细
+     * */
+    private List<EcTokenDiseinfo> diseinfoList;
+    
+    /**
+     * 费用明细
+     * */
+    private List<EcTokenFeeDetail> feedetailList;
+
+}

+ 10 - 8
src/main/java/thyyxxk/simzfeeoprnsystm/service/SiMzFeeService.java

@@ -56,14 +56,14 @@ public class SiMzFeeService {
             MdtrtCertType mdtrtCertType = MdtrtCertType.getByLabel(p.getMdtrtCertType());
             regstrtn.setMdtrtCertType(mdtrtCertType.getCode());
             if (mdtrtCertType == MdtrtCertType.SOCIAL_SECURITY_CARD) {
-                String[] out = p.getReadCardResult().toString().split("\\|");
+                String[] out = p.getReadCardResult().split("\\|");
                 if (!p.getName().trim().equals(out[4].trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
                 }
                 regstrtn.setMdtrtCertNo(out[2]);
                 regstrtn.setCardSn(out[3]);
             } else if (mdtrtCertType == MdtrtCertType.MEDICAL_INSURANCE_ELECTRONIC_VOUCHER) {
-                JSONObject qrinfo = new JSONObject(FilterUtil.cast(p.getReadCardResult()));
+                JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
                 if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
                 }
@@ -160,7 +160,6 @@ public class SiMzFeeService {
         mdtrtinfo.put("dise_name", p.getOpspDiseName());
         mdtrtinfo.put("birctrl_type", "");
         mdtrtinfo.put("birctrl_matn_date", "");
-
         String ref = JSONObject.toJSONString(diseinfo);
         input.getJSONObject("input").put("mdtrtinfo", mdtrtinfo);
         input.getJSONObject("input").put("diseinfo", JSONArray.parse(ref));
@@ -168,7 +167,10 @@ public class SiMzFeeService {
         log.info("【操作员:{}】门诊就诊信息上传:\n参数:{},\n结果:{}", staffId, input, result);
         Integer infcode = result.getInteger(RESULT_CODE);
         logDao.insert(new SiLog(input, result, p.getPatNo(), p.getTimes(), infcode, siPatInfo.getPsnNo()));
-        return SiUtil.makeReturnWithoutOutput(result, "门诊就诊信息上传成功。");
+        if (result.getIntValue(RESULT_CODE) == 0) {
+            return ResultVoUtil.success("门诊就诊信息上传成功。");
+        }
+        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));
     }
 
     public ResultVo<SiPatInfo> uploadOutpatientFeeDetails(SpcChrDiseAcct p) {
@@ -292,14 +294,14 @@ public class SiMzFeeService {
             MdtrtCertType mdtrtCertType = MdtrtCertType.getByLabel(p.getMdtrtCertType());
             mzPreSetlmt.setMdtrtCertType(mdtrtCertType.getCode());
             if (mdtrtCertType == MdtrtCertType.SOCIAL_SECURITY_CARD) {
-                String[] out = p.getReadCardResult().toString().split("\\|");
+                String[] out = p.getReadCardResult().split("\\|");
                 if (!p.getName().trim().equals(out[4].trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
                 }
                 mzPreSetlmt.setMdtrtCertNo(out[2]);
                 mzPreSetlmt.setCardSn(out[3]);
             } else if (mdtrtCertType == MdtrtCertType.MEDICAL_INSURANCE_ELECTRONIC_VOUCHER) {
-                JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult().toString());
+                JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
                 if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
                 }
@@ -369,14 +371,14 @@ public class SiMzFeeService {
             MdtrtCertType mdtrtCertType = MdtrtCertType.getByLabel(p.getMdtrtCertType());
             setlmt.setMdtrtCertType(mdtrtCertType.getCode());
             if (mdtrtCertType == MdtrtCertType.SOCIAL_SECURITY_CARD) {
-                String[] out = p.getReadCardResult().toString().split("\\|");
+                String[] out = p.getReadCardResult().split("\\|");
                 if (!p.getName().trim().equals(out[4].trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "社保卡姓名与HIS姓名不一致,请确认是否人证相符。");
                 }
                 setlmt.setMdtrtCertNo(out[2]);
                 setlmt.setCardSn(out[3]);
             } else if (mdtrtCertType == MdtrtCertType.MEDICAL_INSURANCE_ELECTRONIC_VOUCHER) {
-                JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult().toString());
+                JSONObject qrinfo = JSONObject.parseObject(p.getReadCardResult());
                 if (!p.getName().trim().equals(qrinfo.getString("userName").trim())) {
                     return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "电子医保凭证姓名与HIS姓名不一致,请确认是否人证相符。");
                 }

+ 0 - 41
src/main/java/thyyxxk/simzfeeoprnsystm/utils/SiUtil.java

@@ -1,6 +1,5 @@
 package thyyxxk.simzfeeoprnsystm.utils;
 
-import com.alibaba.fastjson.JSONObject;
 import thyyxxk.simzfeeoprnsystm.dicts.SiFunction;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.binary.Base64;
@@ -8,19 +7,11 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
 import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Component;
-import thyyxxk.simzfeeoprnsystm.pojo.ResultVo;
 
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStreamReader;
-import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.util.LinkedList;
-import java.util.Queue;
 
 /**
  * @description: 新医保交易工具类
@@ -102,36 +93,4 @@ public class SiUtil {
         }
         return null == result ? null : new String(result);
     }
-
-    private static final String RESULT_CODE = "infcode";
-    private static final String ERROR_MESSAGE = "err_msg";
-
-    public static ResultVo<String> makeReturnWithoutOutput(JSONObject result, String message) {
-        if (null == result) {
-            return ResultVoUtil.fail(ExceptionEnum.NETWORK_ERROR);
-        }
-        if (result.getIntValue(RESULT_CODE) == 0) {
-            return ResultVoUtil.success(message);
-        }
-        return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, result.getString(ERROR_MESSAGE));
-    }
-
-
-    public static Queue<String> readTxtFile(String path) {
-        Queue<String> result = new LinkedList<>();
-        try {
-            File file = new File(path);
-            InputStreamReader isr = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8);
-            BufferedReader br = new BufferedReader(isr);
-            String temp;
-            while ((temp = br.readLine()) != null) {
-                result.add(temp);
-            }
-        } catch (Exception e) {
-            log.error("读取txt文件出错", e);
-            return null;
-        }
-        return result;
-    }
-
 }