Procházet zdrojové kódy

眼科医保结算流程

wangzhinan před 1 rokem
rodič
revize
c748d00a0b

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

@ -9207,6 +9207,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        if (StringUtils.isNotBlank(one.getDoctor())&&(one.getStatus().equalsIgnoreCase("1")||one.getStatus().equalsIgnoreCase("2"))) {
        if (StringUtils.isNotBlank(one.getDoctor())&&(one.getStatus().equalsIgnoreCase("1")||one.getStatus().equalsIgnoreCase("2"))) {
            throw new RuntimeException("已有医生接诊");
            throw new RuntimeException("已有医生接诊");
        }
        }
        String doctor = one.getDoctor();
        one.setDoctor(outpatientDO.getDoctor());
        one.setDoctor(outpatientDO.getDoctor());
        one.setDoctorName(outpatientDO.getDoctorName());
        one.setDoctorName(outpatientDO.getDoctorName());
        one.setRegisterDate(outpatientDO.getRegisterDate());
        one.setRegisterDate(outpatientDO.getRegisterDate());
@ -9215,7 +9216,40 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        one.setType(outpatientDO.getType());
        one.setType(outpatientDO.getType());
        one.setOutpatientType(outpatientDO.getOutpatientType());
        one.setOutpatientType(outpatientDO.getOutpatientType());
        WlyyOutpatientDO outpatient = outpatientDao.save(one);
        WlyyOutpatientDO outpatient = outpatientDao.save(one);
        if (!outpatientDO.getDoctor().equalsIgnoreCase(doctor)){
            String title="";
            String msg="";
            String date= "";
            String sex = "";
            String age = "";
            if (one!=null){
                sex= IdCardUtil.getSexForIdcard(one.getIdcard());
                age = IdCardUtil.getAgeForIdcard(one.getIdcard())+"";
            }
            String name = one.getPatientName();
            String baseUrl = findDomainUrlInDict();
            if (one.getType().equalsIgnoreCase("1")){
                title = "图文复诊";
                msg = name+"("+sex+" "+age+"岁)向您发起了图文复诊已更换其他医生接诊,请您知悉。";
            }else if (one.getType().equalsIgnoreCase("2")){
                title = "视频复诊";
                date = DateUtil.dateToStrLong(one.getRegisterDate());
                msg = name+"("+sex+" "+age+"岁)预约了"+date+"的视频复诊已更换其他医生接诊,请您知悉。";
            }
            if (wechatId.equalsIgnoreCase("xm_zsyy_wx")){
                String url=baseUrl+"/hlwyy/ims-app-web/#/onlineChat/detail?_rs_title="+one.getDescription()+"&type=3&id="+one.getId();
                enterpriseService.sendTWMesByDoctor("zsyy",one.getDoctor(),title,msg,url);
            }else if (wechatId.equalsIgnoreCase("xm_ykyy_wx")){
                String url=baseUrl+"/ims-app-web/#/onlineChat/detail?_rs_title="+one.getDescription()+"&type=3&id="+one.getId();
                enterpriseService.sendTWMesByDoctor("xm_ykyy_wx",one.getDoctor(),title,msg,url);
            }else if (wechatId.equalsIgnoreCase("xm_xzzx_wx")){
                String url="https://ih.xmheart.com/hlwyy/ims-app-web/#/onlineChat/detail?_rs_title="+one.getDescription()+"&type=3&id="+one.getId();
                enterpriseService.sendTWMesByDoctor("xm_xzzx_wx",one.getDoctor(),title,msg,url);
            }else if (wechatId.equalsIgnoreCase("xm_hcyy_wx")){
                String url="https://hlwyy.xmhcyy.com/hcyy/ims-app-web/#/onlineChat/detail?_rs_title="+one.getDescription()+"&type=3&id="+one.getId();
                enterpriseService.sendTWMesByDoctor("xm_hcyy_wx",one.getDoctor(),title,msg,url);
            }
        }
        WlyyPatientRegisterTimeDO registerTimeDO = null;
        WlyyPatientRegisterTimeDO registerTimeDO = null;
        try {
        try {
@ -15330,6 +15364,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            wlyyHisSettleVO.setJjzfe0(ylzMedicalRelationDO.getMedicalPrice());
            wlyyHisSettleVO.setJjzfe0(ylzMedicalRelationDO.getMedicalPrice());
            wlyyHisSettleVO.setGwybz0(ylzMedicalRelationDO.getGwyPay());
            wlyyHisSettleVO.setGwybz0(ylzMedicalRelationDO.getGwyPay());
            wlyyHisSettleVO.setFybfy0(ylzMedicalRelationDO.getPersonCash());
            wlyyHisSettleVO.setFybfy0(ylzMedicalRelationDO.getPersonCash());
            wlyyHisSettleVO.setQtjjzf(ylzMedicalRelationDO.getOtherPay());
            wlyyHisSettleVO.setCfdxje("0");
            wlyyHisSettleVO.setCfdxje("0");
            wlyyHisSettleVO.setBjjjzf("0");
            wlyyHisSettleVO.setBjjjzf("0");
            wlyyHisSettleVO.setSybxzf(ylzMedicalRelationDO.getSbjjPay());
            wlyyHisSettleVO.setSybxzf(ylzMedicalRelationDO.getSbjjPay());

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/YkyyPrescriptionService.java

@ -1504,7 +1504,7 @@ public class YkyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
            salertaxnum = "110000999999003";
            salertaxnum = "110000999999003";
            dzfpAppKey="23760028";
            dzfpAppKey="23760028";
            dzfpAppSecret="45591CA66F8D4589";
            dzfpAppSecret="45591CA66F8D4589";
            dzfpToken="44d50530356519e60973b70cwqn46acs";
            dzfpToken="44d50530356519e60973b70ki9ihenos";
            salertaxnum="110000999999003";
            salertaxnum="110000999999003";
            saleraddress="福建省厦门市厦禾路336号";
            saleraddress="福建省厦门市厦禾路336号";
            saleraccount="建行厦门市厦禾支行 35101561001052502781";
            saleraccount="建行厦门市厦禾支行 35101561001052502781";

+ 43 - 23
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -1791,32 +1791,48 @@ public class EntranceService {
            if (object.getString("retCodeOut").equalsIgnoreCase("00")){
            if (object.getString("retCodeOut").equalsIgnoreCase("00")){
                logger.info("第一次调用his退费接口结束");
                logger.info("第一次调用his退费接口结束");
                //调用易联众预缴金退款接口
                //调用易联众预缴金退款接口
                String refund = ylzPayService.refund(operatorId, operatorName, cardType, accountType, cardNo, idNo, amount, outChargeNo, userName, "1", traceSerial, outRefundNo,cardNo);
                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);
                JSONObject jsonObject = JSONObject.parseObject(refund);
                //获取调用易联众退费接口交易状态
                String respCode = jsonObject.getString("respCode");
                if (respCode.equals("000000")){
                    businessOrderRefundDO.setRefundTime(new Date());
                    businessOrderRefundDO.setStatus(2);
                try{
                    String refund = ylzPayService.refund(operatorId, operatorName, cardType, accountType, cardNo, idNo, amount, outChargeNo, userName, "1", traceSerial, outRefundNo,cardNo);
                    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);
                    JSONObject jsonObject = JSONObject.parseObject(refund);
                    //获取调用易联众退费接口交易状态
                    String respCode = jsonObject.getString("respCode");
                    if (respCode.equals("000000")){
                        businessOrderRefundDO.setRefundTime(new Date());
                        businessOrderRefundDO.setStatus(2);
                        orderRefundDao.save(businessOrderRefundDO);
                        businessOrderDO.setStatus(9);
                        businessOrderDao.save(businessOrderDO);
                        tradeState = "succ";
                    }else {
                        tradeState = "fail";
                    }
                    logger.info("第二次调用his退费接口开始");
                    resp = BS15051(operatorId, operatorName, cardType, cardNo, accountType, idNo, withdrawMode, depositType, ServiceType, amount, outRefundNo, outChargeNo, origTraceNo, traceSerial, paydate, notes, tradeState, failReason, failTime, extra, demoFlag);
                    logger.info("第二次调用his退费接口结束");
                }catch (Exception e){
                    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);
                    orderRefundDao.save(businessOrderRefundDO);
                    orderRefundDao.save(businessOrderRefundDO);
                    businessOrderDO.setStatus(9);
                    businessOrderDO.setStatus(10);
                    businessOrderDao.save(businessOrderDO);
                    businessOrderDao.save(businessOrderDO);
                    tradeState = "succ";
                }else {
                    tradeState = "fail";
                }
                }
                logger.info("第二次调用his退费接口开始");
                resp = BS15051(operatorId, operatorName, cardType, cardNo, accountType, idNo, withdrawMode, depositType, ServiceType, amount, outRefundNo, outChargeNo, origTraceNo, traceSerial, paydate, notes, tradeState, failReason, failTime, extra, demoFlag);
                logger.info("第二次调用his退费接口结束");
            }
            }
        }
        }
        return resp;
        return resp;
@ -3417,6 +3433,10 @@ public class EntranceService {
                sbs.append("<psn_no>"+hisSettleVO.getPsnNo()+"</psn_no>");
                sbs.append("<psn_no>"+hisSettleVO.getPsnNo()+"</psn_no>");
            }
            }
            if (StringUtils.isNotEmpty(hisSettleVO.getQtjjzf())) {
                sbs.append("<qtjjzf>"+hisSettleVO.getQtjjzf()+"</qtjjzf>");
            }
            if (StringUtils.isNotEmpty(hisSettleVO.getSetlTime())){
            if (StringUtils.isNotEmpty(hisSettleVO.getSetlTime())){
                sbs.append("<setl_time>"+hisSettleVO.getSetlTime()+"</setl_time>");
                sbs.append("<setl_time>"+hisSettleVO.getSetlTime()+"</setl_time>");
            }
            }

+ 1 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/article/KnowledgeArticleDictDO.java

@ -128,6 +128,7 @@ public class KnowledgeArticleDictDO extends UuidIdentityEntity {
		this.doctorList = doctorList;
		this.doctorList = doctorList;
	}
	}
	@Column(name = "is_comment")
	public Integer getComment() {
	public Integer getComment() {
		return comment;
		return comment;
	}
	}

+ 13 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyHisSettleVO.java

@ -256,6 +256,19 @@ public class WlyyHisSettleVO extends UuidIdentityVOWithOperator {
    @ApiModelProperty(value = "统筹基金支付",example = "统筹基金支付")
    @ApiModelProperty(value = "统筹基金支付",example = "统筹基金支付")
    private String tcjjzf;
    private String tcjjzf;
    /**
     * 其他基金支付
     */
    @ApiModelProperty(value = "其他基金支付",example = "其他基金支付")
    private String qtjjzf;
    public String getQtjjzf() {
        return qtjjzf;
    }
    public void setQtjjzf(String qtjjzf) {
        this.qtjjzf = qtjjzf;
    }
    public String getYljzjj() {
    public String getYljzjj() {
        return yljzjj;
        return yljzjj;

+ 1 - 1
svr/svr-internet-hospital/src/main/resources/bootstrap.yml

@ -1,6 +1,6 @@
spring:
spring:
  application:
  application:
    name:  svr-internet-hospital-wangzhinan
    name:  svr-internet-hospital
  cloud:
  cloud:
    config:
    config:
      failFast: true
      failFast: true