Forráskód Böngészése

海沧医院审方

wangzhinan 2 hete
szülő
commit
7f25ae239b

+ 4 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/HcyyPrescriptionService.java

@ -16,6 +16,7 @@ import com.yihu.jw.entity.hospital.healthCare.YlzMedicalRelationDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
@ -39,6 +40,7 @@ import com.yihu.jw.wechat.enterprise.EnterpriseService;
import com.yihu.mysql.query.BaseJpaService;
import com.yihu.utils.network.HttpResponse;
import com.yihu.utils.network.HttpUtils;
import net.sf.json.xml.XMLSerializer;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@ -2144,4 +2146,6 @@ public class HcyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
        return null;
    }
}

+ 88 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -11064,6 +11064,86 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    }
    /**
     * 更新线下处方审核同步状态
     * @param xml
     * @return
     */
    public String auditRecipe(String xml,String wxId){
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(json);
        System.out.println("22222222222222"+jsonObject);
        if (jsonObject!=null){
            com.alibaba.fastjson.JSONObject result= jsonObject.getJSONObject("result");
            if (result!=null){
                com.alibaba.fastjson.JSONObject message=result.getJSONObject("message");
                com.alibaba.fastjson.JSONObject base = result.getJSONObject("base");
                String recipe_id = message.getString("recipe_id");
                String recipe_doc_id= message.getString("recipe_doc_id");
                String recipe_doc_name = message.getString("recipe_doc_name");
                String is_success = message.getString("is_success");//成功标识(0审核不通过,1审核通过,2超时通过,3自动通过,5失效药嘱通过,6进行待审)
                WlyyPrescriptionDO wlyyPrescriptionDO = prescriptionDao.findByRealOrder(recipe_id);
                WlyyOutpatientDO outpatientDO = outpatientDao.findById(wlyyPrescriptionDO.getOutpatientId());
                String reason = "";
                if (is_success.equalsIgnoreCase("1")){
                    reason = "审核通过";
                }else if (is_success.equalsIgnoreCase("0")){
                    reason = "审核不通过";
                }else if (is_success.equalsIgnoreCase("2")){
                    reason = "超时通过";
                }else if (is_success.equalsIgnoreCase("3")){
                    reason = "自动通过";
                }else if (is_success.equalsIgnoreCase("5")){
                    reason = "失效药嘱通过";
                }else if (is_success.equalsIgnoreCase("6")){
                    reason = "进行待审";
                }
                if (is_success.equalsIgnoreCase("1")||is_success.equalsIgnoreCase("2")||is_success.equalsIgnoreCase("3")){
                    prescriptionLogService.addPrescriptionLog(wlyyPrescriptionDO.getId(), 20, 2, recipe_doc_id, recipe_doc_name, reason, new Date());
                    wlyyPrescriptionDO.setCheckStatus(2);
                    wlyyPrescriptionDO.setCheckReason(reason);
                    wlyyPrescriptionDO.setStatus(20);
                    wlyyPrescriptionDO.setPrescribeTime(new Date());
                    wlyyPrescriptionDO = prescriptionDao.save(wlyyPrescriptionDO);
                    //发送系统消息 处方支付提醒
                    SystemMessageDO messageDO = new SystemMessageDO();
                    messageDO.setType("6");
                    messageDO.setTitle("处方支付提醒");
                    messageDO.setSender(outpatientDO.getDoctor());
                    messageDO.setSenderName(outpatientDO.getDoctorName());
                    messageDO.setRelationCode(outpatientDO.getId() + "," + wlyyPrescriptionDO.getId());
                    messageDO.setReceiver(outpatientDO.getPatient());
                    messageDO.setReceiverName(outpatientDO.getPatientName());
                    net.sf.json.JSONObject data = new net.sf.json.JSONObject();
                    try {
                        data.put("name", outpatientDO.getPatientName());
                        data.put("age", IdCardUtil.getAgeForIdcard(outpatientDO.getIdcard()));
                        data.put("gender", IdCardUtil.getSexForIdcard_new(outpatientDO.getIdcard()));
                        data.put("question", "");
                        String msg = outpatientDO.getPatientName() + ",您好!医生已为您开具处方,请及时支付。如您已支付请忽略本条信息。";
                        data.put("msg", msg);
                        messageDO.setData(data.toString());
                        systemMessageService.saveMessage(messageDO);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    BasePatientDO patient = basePatientDao.findById(outpatientDO.getPatient());
                    sendWxTemplateMsg(wxId, outpatientDO.getId(), null,"", "prescriptionPayRemind", wlyyPrescriptionDO.getId());
                }else {
                    wlyyPrescriptionDO.setCheckStatus(1);
                    wlyyPrescriptionDO.setCheckReason(reason);
                    wlyyPrescriptionDO.setStatus(11);
                    wlyyPrescriptionDO.setPrescribeTime(new Date());
                    wlyyPrescriptionDO = prescriptionDao.save(wlyyPrescriptionDO);
                }
            }
        }
        return json;
    }
    public WlyyPrescriptionCheckDO savePrescriptionCheck(String operate, String reason, Integer status, String prescriptionId) {
        String dept = null;
        String deptName = null;
@ -12483,6 +12563,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                wlyyHttpLogDao.save(wlyyHttpLogDO);
            }
            if("xm_hcyy_wx".equalsIgnoreCase(wechatId)){
                List<WlyyPrescriptionDiagnosisDO> wlyyPrescriptionDiagnosisDOs = prescriptionDiagnosisDao.findByPrescriptionId(prescriptionId,1);
                if (null!=wlyyPrescriptionDiagnosisDOs&&wlyyPrescriptionDiagnosisDOs.size()>0){
                    if (StringUtils.isNotBlank(prescriptionDO.getRealOrder())){
                        hcyyPrescriptionService.deletePrescriptionToEntrance(prescriptionDO.getRealOrder());
                    }
                }
            }
            prescriptionDO.setStatus(-4);
            prescriptionDO.setDisableTime(new Date());
            prescriptionDO.setCheckStatus(5);

+ 216 - 3
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/HcyyEntranceService.java

@ -14,6 +14,7 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
import com.yihu.jw.entity.base.wx.BasePatientWechatDo;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
@ -21,6 +22,8 @@ import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.order.BusinessOrderRefundDO;
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
@ -28,7 +31,10 @@ import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
import com.yihu.jw.hospital.prescription.dao.*;
import com.yihu.jw.oauth.OauthRsaKeyDao;
import com.yihu.jw.order.dao.BusinessOrderDao;
import com.yihu.jw.order.dao.BusinessOrderRefundDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientMedicareCardDao;
import com.yihu.jw.restmodel.hospital.prescription.WlyyInspectionVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionDiagnosisVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
@ -126,6 +132,12 @@ public class HcyyEntranceService {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private BusinessOrderDao businessOrderDao;
    @Autowired
    private BusinessOrderRefundDao orderRefundDao;
    @Autowired
    private BasePatientMedicareCardDao basePatientMedicareCardDao;
    private static String key="ydxtMEQmPymRtfz15lW76Tne88pHcuAU8WygMu/TrTKPRY5G7jttcg==";
@ -186,6 +198,14 @@ public class HcyyEntranceService {
        return url;
    }
    public String getSelectRefundUrl(){
        List<WlyyHospitalSysDictDO> list =  wlyyHospitalSysDictDao.findByDictName("hcyyRefundWebSelectService");
        String url = list.get(0).getDictCode();
        return url;
    }
    //逸耀合理审方地址
    public String getYYCheckUrl(){
@ -2064,6 +2084,198 @@ public class HcyyEntranceService {
        logger.info("BrowseSingleEMR json:"+xml);
        return xml;
    }
    /**
     *
     *  3.1.1获取病人档案信息接口
     *
     * @param cardNo
     * @return
     * @throws Exception
     */
    public String GetPatientCaseInfo(String cardNo)throws Exception{
        String api = "GetPatientCaseInfo";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        if (!StringUtils.isEmpty(cardNo)){
            condition += "<cardNo>"+cardNo+"</cardNo>";
        }
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("GetPatientCaseInfo params:"+params.toString());
        String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectRefundUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("GetPatientCaseInfo json:"+json);
        return json;
    }
    /**
     *
     *  3.1.2互联网线上退预交金通知接口
     *
     * @param cardNo
     * @return
     * @throws Exception
     */
    public String onlineRefundMoney(String orderNo,String cardNo,String name,String refundMoney)throws Exception{
        String api = "onlineRefundMoney";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        condition ="<channel_code>1</channel_code>\n" +
                "\t<order_id>"+orderNo+"</order_id>\n" +
                "\t<ic_card_no>"+cardNo+"</ic_card_no>\n" +
                "\t<sick_name>"+name+"</sick_name>\n" +
                "\t<refund_money>"+refundMoney+"</refund_money> \n" +
                "   <refund_type>1</refund_type>\n";
        //<ic_card_no>IC卡号(必传)</ic_card_no>
        //	<sick_name>病人姓名(必传)</sick_name>
        //	<sick_id>病人id(非必传)</sick_id>
        //	<refund_money>退款金额(必传)</refund_money>
        //   <not_commit>不提交标志(非必传 不传默认N)</not_commit>
        //   <refund_type>退款方式(必传)</refund_type>
        //   <bank_card_no>银行卡号(非必传)</bank_card_no>
        //   <bank_name>所属银行(非必传)</bank_name>
        //   <bank_card_owner>银行卡所属人(非必传)</bank_card_owner>
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("onlineRefundMoney params:"+params.toString());
        String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectRefundUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("onlineRefundMoney json:"+json);
        return json;
    }
    /**
     *
     * 3.1.3互联网线上退预交金状态查询接口
     *
     * @param cardNo
     * @return
     * @throws Exception
     */
    public String onlineRefundQuery(String orderNo,String cardNo)throws Exception{
        String api = "onlineRefundQuery";
        String msgHeader ="<?xml version=\"1.0\" encoding=\"utf-8\"?> " +
                "<root> " +
                "   <serverName>"+api+"</serverName>  " +
                "   <format>xml</format>" +
                "   <callOperator></callOperator> " +
                "   <certificate>"+key+"</certificate> " +
                "</root>";
        String condition ="";
        condition +="<channel_code>1</channel_code>";
        if (StringUtils.isNoneBlank(orderNo)){
            condition +="<order_id>"+orderNo+"</order_id>";
        }
        if (StringUtils.isNoneBlank(cardNo)){
            condition +="<ic_card_no>"+orderNo+"</ic_card_no>";
        }
        //<channel_code>退款渠道代码(必传)[1:互联网医院]</channel_code>
        //	<order_id>线上退款单号(非必传)</order_id>
        //	<ic_card_no>IC卡号(非必传)</ic_card_no>
        //	<start_time>查询开始时间(非必传)</start_time>
        //	<end_time>查询截止时间(非必传)</end_time>
        //	<refund_type>退款方式(非必传)</refund_type>
        String msgBody ="<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                "<root>"+condition+"</root>";
        Map<String,String> params = new HashedMap();
        params.put("msgHeader",msgHeader);
        params.put("msgBody",msgBody);
        logger.info("onlineRefundQuery params:"+params.toString());
        String xml = getXzzxWebServiceInfo("CallInterface",params,getSelectRefundUrl());
        XMLSerializer xmlSerializer = new XMLSerializer();
        String json = xmlSerializer.read(xml).toString();
        logger.info("onlineRefundQuery json:"+json);
        return json;
    }
    /**
     * 门诊预缴金退费接口
     *
     * @param outPatientId 门诊表id
     * @return
     * @throws Exception
     */
    public void hisRefund(String outPatientId) throws Exception {
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outPatientId);
        if (outpatientDO == null){
            throw new Exception("门诊信息表为空");
        }
        BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(outPatientId);
        if (businessOrderDO == null){
            throw new Exception("订单表为空");
        }
        PatientMedicareCardDO patientMedicareCardDO = basePatientMedicareCardDao.findByCode(outpatientDO.getCardNo());
        if (patientMedicareCardDO == null){
            throw new Exception("患者卡包为空");
        }
        String userName = outpatientDO.getPatientName();
        String idNo = outpatientDO.getIdcard();
        String cardNo =outpatientDO.getCardNo();
        String patientInfo = GetPatientCaseInfo(cardNo);
        JSONObject patientObject= JSONObject.parseObject(patientInfo);
        String outTreatBalance = "";//预交金余额
        String canReturnMoney = "";//可退余额
        if (patientObject!=null) {
            if (patientObject.getString("retcode").equalsIgnoreCase("0")) {
                JSONObject data = patientObject.getJSONObject("data");
                JSONObject sick_info = data.getJSONObject("sick_info");
                outTreatBalance = sick_info.getString("outTreatBalance");//预交金余额
                canReturnMoney = sick_info.getString("canReturnMoney");
            }
        }
        String amount = businessOrderDO.getPayPrice().toString();
        if (StringUtils.isNoneBlank(canReturnMoney)){
            if (Double.parseDouble(amount)<=Double.parseDouble(canReturnMoney)){
                String outRefundNo = "HLWYY"+System.currentTimeMillis()+(int)(Math.random()*900)+100;
                String origTraceNo = businessOrderDO.getTraceNo();
                logger.info("调用his退费通知接口开始");
                String res = onlineRefundMoney(outRefundNo,cardNo,userName,amount);
                JSONObject.parseObject(res);
                BusinessOrderRefundDO businessOrderRefundDO = new BusinessOrderRefundDO();
                businessOrderRefundDO.setOrderNo(businessOrderDO.getOrderNo());
                businessOrderRefundDO.setOutRefundNo(outRefundNo);
                businessOrderRefundDO.setStatus(1);
                businessOrderRefundDO.setCreateTime(new Date());
                businessOrderRefundDO.setUpdateTime(new Date());
                businessOrderRefundDO.setPatient(businessOrderDO.getPatient());
                businessOrderRefundDO.setPatientName(businessOrderDO.getPatientName());
                businessOrderRefundDO = orderRefundDao.save(businessOrderRefundDO);
                String query = onlineRefundQuery(outRefundNo,cardNo);
            }
        }
    }
//=====================微信模板消息推送===================================
    public String sendMes(String wxId,String patient,String cardNo,String first,String noticeContent,String remark,String redirectUrl){
@ -2718,6 +2930,7 @@ public class HcyyEntranceService {
                    "   </opt_diagnosis>  ";
            prescriptionDiagnoses += prescriptionDiagnose;
        }
        String savePrescription = "<opt_prescriptions>  \n" +
                "       <opt_prescription>  \n" +
                "           <opt_prescription_info>  \n" +
@ -2860,9 +3073,9 @@ public class HcyyEntranceService {
        if (diagnosisDOS == null || diagnosisDOS.size() == 0){
            return "诊断信息为空";
        }
            String xml = "";
            xml = initParams(hisId,"GY_SF_V4",payType, patient, doctor, infos, diagnosisDOS,outpatientId);
            String response = checkPrescription("GY_SF_V4", xml, "合理用药审查");
        String xml = "";
        xml = initParams(hisId,"GY_SF_V4",payType, patient, doctor, infos, diagnosisDOS,outpatientId);
        String response = checkPrescription("GY_SF_V4", xml, "合理用药审查");
        return response;
    }

+ 2 - 1
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -108,6 +108,7 @@ public class BasicZuulFilter extends ZuulFilter {
        }
        if (!(url.contains("/open/noLogin/notify")||
                url.contains("/open/noLogin/auditRecipe")||
                url.contains("/open/noLogin/pushPatientInfos")||
            url.contains("/open/noLogin/ylzReceiveNotify")||
            url.contains("/open/noLogin/receiveNotify")||
@ -445,7 +446,7 @@ public class BasicZuulFilter extends ZuulFilter {
    private static boolean sqlValidate(String str) {
        if (org.apache.commons.lang3.StringUtils.isNoneBlank(str)){
            str = str.toLowerCase();//统一转为小写,比较简单的单词加入右边空格,避免单词中包含字段
            String badStr = "exec|execute|insert|select|delete|update|drop|chr"+
            String badStr = "exec|execute|insert|select|delete|drop|chr"+
                    "information_schema.columns|table_schema|union|where|order|like|" ;//过滤掉的sql关键字,可以手动添加
            String[] badStrs = badStr.split("\\|");
            for (int i = 0; i < badStrs.length; i++) {

+ 1 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/PostFilter.java

@ -134,6 +134,7 @@ public class PostFilter extends ZuulFilter {
        }
        object.put("data", AesEncryptUtils.encrypt(body));
        if (!(url.contains("/open/noLogin/notify")||
                url.contains("/open/noLogin/auditRecipe")||
            url.contains("/open/noLogin/pushPatientInfos")||
            url.contains("/open/noLogin/ylzReceiveNotify")||
            url.contains("/open/noLogin/receiveNotify")||

+ 21 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -726,6 +726,27 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    }
    /**
     * 审方结果通知 海沧医院、
     * @param request
     * @param response
     * @return
     * @throws IOException
     */
    @ResponseBody
    @ApiOperation("审方结果通知")
    @RequestMapping(value = "/auditRecipe", method = {RequestMethod.GET, RequestMethod.POST})
    public String auditRecipe(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String result = "";
        String inputLine;
        while ((inputLine = request.getReader().readLine()) != null) {
            result += inputLine;
        }
        request.getReader().close();
        return prescriptionService.auditRecipe(result,wxId);
    }
    /**
     * 商户回调通知
     * @param request

+ 38 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/HcyyPrescriptionCotroller.java

@ -881,4 +881,42 @@ public class HcyyPrescriptionCotroller extends EnvelopRestEndpoint {
                                          @RequestParam(value = "operator",required = false)String operator)throws Exception{
        return ObjEnvelop.getSuccess("ok",hcyyEntranceService.OutpatientInvoicing(settleNo,operator));
    }
    @GetMapping(value = "/GetPatientCaseInfo")
    @ApiOperation(value = "病人档案信息接口", notes = "病人档案信息接口")
    public ObjEnvelop GetPatientCaseInfo(@ApiParam(name = "cardNo", value = "卡号", required = false)
                                          @RequestParam(value = "cardNo",required = false)String cardNo)throws Exception{
        return ObjEnvelop.getSuccess("ok",hcyyEntranceService.GetPatientCaseInfo(cardNo));
    }
    @GetMapping(value = "/onlineRefundMoney")
    @ApiOperation(value = "线上退预交金通知接口", notes = "线上退预交金通知接口")
    public ObjEnvelop onlineRefundMoney(@ApiParam(name = "orderNo", value = "退款单号", required = false)
                                         @RequestParam(value = "orderNo",required = false)String orderNo,
                                        @ApiParam(name = "cardNo", value = "卡号", required = false)
                                        @RequestParam(value = "cardNo",required = false)String cardNo,
                                        @ApiParam(name = "name", value = "退款人姓名", required = false)
                                            @RequestParam(value = "name",required = false)String name,
                                        @ApiParam(name = "refundMoney", value = "退款金额", required = false)
                                            @RequestParam(value = "refundMoney",required = false)String refundMoney)throws Exception{
        return ObjEnvelop.getSuccess("ok",hcyyEntranceService.onlineRefundMoney(orderNo,cardNo,name,refundMoney));
    }
    @GetMapping(value = "/onlineRefundQuery")
    @ApiOperation(value = "线上退预交金状态查询接口", notes = "线上退预交金状态查询接口")
    public ObjEnvelop onlineRefundQuery(@ApiParam(name = "orderNo", value = "退款单号", required = false)
                                        @RequestParam(value = "orderNo",required = false)String orderNo,
                                        @ApiParam(name = "cardNo", value = "卡号", required = false)
                                        @RequestParam(value = "cardNo",required = false)String cardNo)throws Exception{
        return ObjEnvelop.getSuccess("ok",hcyyEntranceService.onlineRefundQuery(orderNo,cardNo));
    }
    @GetMapping(value = "/hisRefund")
    @ApiOperation(value = "his退款流程", notes = "his退款流程")
    public Envelop hisRefund(@ApiParam(name = "outPatientId", value = "门诊id", required = false)
                                        @RequestParam(value = "outPatientId",required = false)String outPatientId)throws Exception{
        hcyyEntranceService.hisRefund(outPatientId);
        return Envelop.getSuccess("请求成功");
    }
}