package com.ywt.gapi.drug;

import static io.grpc.stub.ClientCalls.asyncUnaryCall;
import static io.grpc.stub.ClientCalls.asyncServerStreamingCall;
import static io.grpc.stub.ClientCalls.asyncClientStreamingCall;
import static io.grpc.stub.ClientCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ClientCalls.blockingUnaryCall;
import static io.grpc.stub.ClientCalls.blockingServerStreamingCall;
import static io.grpc.stub.ClientCalls.futureUnaryCall;
import static io.grpc.MethodDescriptor.generateFullMethodName;
import static io.grpc.stub.ServerCalls.asyncUnaryCall;
import static io.grpc.stub.ServerCalls.asyncServerStreamingCall;
import static io.grpc.stub.ServerCalls.asyncClientStreamingCall;
import static io.grpc.stub.ServerCalls.asyncBidiStreamingCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall;
import static io.grpc.stub.ServerCalls.asyncUnimplementedStreamingCall;

/**
 * <pre>
 *医疗耗材服务      // 对应 drug_rpc 项目的 MedicalConsumableServiceProvider 类
 * </pre>
 */
@javax.annotation.Generated(
    value = "by gRPC proto compiler (version 1.7.2-SNAPSHOT)",
    comments = "Source: drug.proto")
public final class MedicalConsumableServiceGrpc {

  private MedicalConsumableServiceGrpc() {}

  public static final String SERVICE_NAME = "com.ywt.gapi.drug.MedicalConsumableService";

  // Static method descriptors that strictly reflect the proto.
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.CreateMedConOrderRequest,
      com.ywt.gapi.drug.CreateMedConOrderResponse> METHOD_CREATE_MED_CON_ORDER =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.CreateMedConOrderRequest, com.ywt.gapi.drug.CreateMedConOrderResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "createMedConOrder"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.CreateMedConOrderRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.CreateMedConOrderResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("createMedConOrder"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetMedConListRequest,
      com.ywt.gapi.drug.GetMedConListResponse> METHOD_GET_MED_CON_LIST =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetMedConListRequest, com.ywt.gapi.drug.GetMedConListResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getMedConList"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConListRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConListResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getMedConList"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetMedConOrderInfoRequest,
      com.ywt.gapi.drug.GetMedConOrderInfoResponse> METHOD_GET_MED_CON_ORDER_INFO =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetMedConOrderInfoRequest, com.ywt.gapi.drug.GetMedConOrderInfoResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getMedConOrderInfo"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConOrderInfoRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConOrderInfoResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getMedConOrderInfo"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetMedConOrderlistRequest,
      com.ywt.gapi.drug.GetMedConOrderlistResponse> METHOD_GET_MED_CON_ORDERLIST =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetMedConOrderlistRequest, com.ywt.gapi.drug.GetMedConOrderlistResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getMedConOrderlist"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConOrderlistRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConOrderlistResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getMedConOrderlist"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.UpdateMedConOrderRequest,
      com.ywt.gapi.drug.UpdateMedConOrderResponse> METHOD_UPDATE_MED_CON_ORDER =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.UpdateMedConOrderRequest, com.ywt.gapi.drug.UpdateMedConOrderResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "updateMedConOrder"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.UpdateMedConOrderRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.UpdateMedConOrderResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("updateMedConOrder"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest,
      com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse> METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest, com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "orderPaymentCallbackNotify"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("orderPaymentCallbackNotify"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.RefundNotifyRequest,
      com.ywt.gapi.drug.RefundNotifyResponse> METHOD_REFUND_NOTIFY =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.RefundNotifyRequest, com.ywt.gapi.drug.RefundNotifyResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "refundNotify"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.RefundNotifyRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.RefundNotifyResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("refundNotify"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetOrderBillRequest,
      com.ywt.gapi.drug.GetOrderBillResponse> METHOD_GET_ORDER_BILL =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetOrderBillRequest, com.ywt.gapi.drug.GetOrderBillResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getOrderBill"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetOrderBillRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetOrderBillResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getOrderBill"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.QueryMedConOrderListRequest,
      com.ywt.gapi.drug.QueryMedConOrderListResponse> METHOD_QUERY_MED_CON_ORDER_LIST =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.QueryMedConOrderListRequest, com.ywt.gapi.drug.QueryMedConOrderListResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "queryMedConOrderList"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.QueryMedConOrderListRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.QueryMedConOrderListResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("queryMedConOrderList"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetInvoiceInfoRequest,
      com.ywt.gapi.drug.GetInvoiceInfoResponse> METHOD_GET_INVOICE_INFO =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetInvoiceInfoRequest, com.ywt.gapi.drug.GetInvoiceInfoResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getInvoiceInfo"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetInvoiceInfoRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetInvoiceInfoResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getInvoiceInfo"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.SubmitInvoiceInfoRequest,
      com.ywt.gapi.Result> METHOD_SUBMIT_INVOICE_INFO =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.SubmitInvoiceInfoRequest, com.ywt.gapi.Result>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "submitInvoiceInfo"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.SubmitInvoiceInfoRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.Result.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("submitInvoiceInfo"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetMedConsumableDoctorRequest,
      com.ywt.gapi.drug.GetMedConsumableDoctorResponse> METHOD_GET_MED_CONSUMABLE_DOCTORS =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetMedConsumableDoctorRequest, com.ywt.gapi.drug.GetMedConsumableDoctorResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getMedConsumableDoctors"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConsumableDoctorRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetMedConsumableDoctorResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getMedConsumableDoctors"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.GetDisplayMedConOrderRequest,
      com.ywt.gapi.drug.GetDisplayMedConOrderResponse> METHOD_GET_DISPLAY_MED_CON_ORDER =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.GetDisplayMedConOrderRequest, com.ywt.gapi.drug.GetDisplayMedConOrderResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "getDisplayMedConOrder"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetDisplayMedConOrderRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.GetDisplayMedConOrderResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("getDisplayMedConOrder"))
          .build();
  @io.grpc.ExperimentalApi("https://github.com/grpc/grpc-java/issues/1901")
  public static final io.grpc.MethodDescriptor<com.ywt.gapi.drug.QueryMedConOrderBillListRequest,
      com.ywt.gapi.drug.QueryMedConOrderBillListResponse> METHOD_QUERY_MED_CON_ORDER_BILL_LIST =
      io.grpc.MethodDescriptor.<com.ywt.gapi.drug.QueryMedConOrderBillListRequest, com.ywt.gapi.drug.QueryMedConOrderBillListResponse>newBuilder()
          .setType(io.grpc.MethodDescriptor.MethodType.UNARY)
          .setFullMethodName(generateFullMethodName(
              "com.ywt.gapi.drug.MedicalConsumableService", "queryMedConOrderBillList"))
          .setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.QueryMedConOrderBillListRequest.getDefaultInstance()))
          .setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(
              com.ywt.gapi.drug.QueryMedConOrderBillListResponse.getDefaultInstance()))
          .setSchemaDescriptor(new MedicalConsumableServiceMethodDescriptorSupplier("queryMedConOrderBillList"))
          .build();

  /**
   * Creates a new async stub that supports all call types for the service
   */
  public static MedicalConsumableServiceStub newStub(io.grpc.Channel channel) {
    return new MedicalConsumableServiceStub(channel);
  }

  /**
   * Creates a new blocking-style stub that supports unary and streaming output calls on the service
   */
  public static MedicalConsumableServiceBlockingStub newBlockingStub(
      io.grpc.Channel channel) {
    return new MedicalConsumableServiceBlockingStub(channel);
  }

  /**
   * Creates a new ListenableFuture-style stub that supports unary calls on the service
   */
  public static MedicalConsumableServiceFutureStub newFutureStub(
      io.grpc.Channel channel) {
    return new MedicalConsumableServiceFutureStub(channel);
  }

  /**
   * <pre>
   *医疗耗材服务      // 对应 drug_rpc 项目的 MedicalConsumableServiceProvider 类
   * </pre>
   */
  public static abstract class MedicalConsumableServiceImplBase implements io.grpc.BindableService {

    /**
     * <pre>
     *创建耗材订单
     * </pre>
     */
    public void createMedConOrder(com.ywt.gapi.drug.CreateMedConOrderRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.CreateMedConOrderResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_CREATE_MED_CON_ORDER, responseObserver);
    }

    /**
     * <pre>
     *获取耗材列表
     * </pre>
     */
    public void getMedConList(com.ywt.gapi.drug.GetMedConListRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConListResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_MED_CON_LIST, responseObserver);
    }

    /**
     * <pre>
     *获取耗材订单详情
     * </pre>
     */
    public void getMedConOrderInfo(com.ywt.gapi.drug.GetMedConOrderInfoRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConOrderInfoResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_MED_CON_ORDER_INFO, responseObserver);
    }

    /**
     * <pre>
     *获取耗材订单列表
     * </pre>
     */
    public void getMedConOrderlist(com.ywt.gapi.drug.GetMedConOrderlistRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConOrderlistResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_MED_CON_ORDERLIST, responseObserver);
    }

    /**
     * <pre>
     *更新耗材订单信息
     * </pre>
     */
    public void updateMedConOrder(com.ywt.gapi.drug.UpdateMedConOrderRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.UpdateMedConOrderResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_UPDATE_MED_CON_ORDER, responseObserver);
    }

    /**
     * <pre>
     *订单支付成功后回调
     * </pre>
     */
    public void orderPaymentCallbackNotify(com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY, responseObserver);
    }

    /**
     * <pre>
     *退款结果通知
     * </pre>
     */
    public void refundNotify(com.ywt.gapi.drug.RefundNotifyRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.RefundNotifyResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_REFUND_NOTIFY, responseObserver);
    }

    /**
     * <pre>
     *获取账单
     * </pre>
     */
    public void getOrderBill(com.ywt.gapi.drug.GetOrderBillRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetOrderBillResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_ORDER_BILL, responseObserver);
    }

    /**
     * <pre>
     *按天查找耗材订单
     * </pre>
     */
    public void queryMedConOrderList(com.ywt.gapi.drug.QueryMedConOrderListRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.QueryMedConOrderListResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_QUERY_MED_CON_ORDER_LIST, responseObserver);
    }

    /**
     * <pre>
     * 获取发票信息
     * </pre>
     */
    public void getInvoiceInfo(com.ywt.gapi.drug.GetInvoiceInfoRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetInvoiceInfoResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_INVOICE_INFO, responseObserver);
    }

    /**
     * <pre>
     * 提交发票信息
     * </pre>
     */
    public void submitInvoiceInfo(com.ywt.gapi.drug.SubmitInvoiceInfoRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.Result> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_SUBMIT_INVOICE_INFO, responseObserver);
    }

    /**
     * <pre>
     * 获取耗材医生列表
     * </pre>
     */
    public void getMedConsumableDoctors(com.ywt.gapi.drug.GetMedConsumableDoctorRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConsumableDoctorResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_MED_CONSUMABLE_DOCTORS, responseObserver);
    }

    /**
     * <pre>
     * 获取展示耗材订单
     * </pre>
     */
    public void getDisplayMedConOrder(com.ywt.gapi.drug.GetDisplayMedConOrderRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetDisplayMedConOrderResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_GET_DISPLAY_MED_CON_ORDER, responseObserver);
    }

    /**
     * <pre>
     * 根据oderNos和日期获取耗材订单
     * </pre>
     */
    public void queryMedConOrderBillList(com.ywt.gapi.drug.QueryMedConOrderBillListRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.QueryMedConOrderBillListResponse> responseObserver) {
      asyncUnimplementedUnaryCall(METHOD_QUERY_MED_CON_ORDER_BILL_LIST, responseObserver);
    }

    @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() {
      return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor())
          .addMethod(
            METHOD_CREATE_MED_CON_ORDER,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.CreateMedConOrderRequest,
                com.ywt.gapi.drug.CreateMedConOrderResponse>(
                  this, METHODID_CREATE_MED_CON_ORDER)))
          .addMethod(
            METHOD_GET_MED_CON_LIST,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetMedConListRequest,
                com.ywt.gapi.drug.GetMedConListResponse>(
                  this, METHODID_GET_MED_CON_LIST)))
          .addMethod(
            METHOD_GET_MED_CON_ORDER_INFO,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetMedConOrderInfoRequest,
                com.ywt.gapi.drug.GetMedConOrderInfoResponse>(
                  this, METHODID_GET_MED_CON_ORDER_INFO)))
          .addMethod(
            METHOD_GET_MED_CON_ORDERLIST,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetMedConOrderlistRequest,
                com.ywt.gapi.drug.GetMedConOrderlistResponse>(
                  this, METHODID_GET_MED_CON_ORDERLIST)))
          .addMethod(
            METHOD_UPDATE_MED_CON_ORDER,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.UpdateMedConOrderRequest,
                com.ywt.gapi.drug.UpdateMedConOrderResponse>(
                  this, METHODID_UPDATE_MED_CON_ORDER)))
          .addMethod(
            METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest,
                com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse>(
                  this, METHODID_ORDER_PAYMENT_CALLBACK_NOTIFY)))
          .addMethod(
            METHOD_REFUND_NOTIFY,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.RefundNotifyRequest,
                com.ywt.gapi.drug.RefundNotifyResponse>(
                  this, METHODID_REFUND_NOTIFY)))
          .addMethod(
            METHOD_GET_ORDER_BILL,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetOrderBillRequest,
                com.ywt.gapi.drug.GetOrderBillResponse>(
                  this, METHODID_GET_ORDER_BILL)))
          .addMethod(
            METHOD_QUERY_MED_CON_ORDER_LIST,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.QueryMedConOrderListRequest,
                com.ywt.gapi.drug.QueryMedConOrderListResponse>(
                  this, METHODID_QUERY_MED_CON_ORDER_LIST)))
          .addMethod(
            METHOD_GET_INVOICE_INFO,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetInvoiceInfoRequest,
                com.ywt.gapi.drug.GetInvoiceInfoResponse>(
                  this, METHODID_GET_INVOICE_INFO)))
          .addMethod(
            METHOD_SUBMIT_INVOICE_INFO,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.SubmitInvoiceInfoRequest,
                com.ywt.gapi.Result>(
                  this, METHODID_SUBMIT_INVOICE_INFO)))
          .addMethod(
            METHOD_GET_MED_CONSUMABLE_DOCTORS,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetMedConsumableDoctorRequest,
                com.ywt.gapi.drug.GetMedConsumableDoctorResponse>(
                  this, METHODID_GET_MED_CONSUMABLE_DOCTORS)))
          .addMethod(
            METHOD_GET_DISPLAY_MED_CON_ORDER,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.GetDisplayMedConOrderRequest,
                com.ywt.gapi.drug.GetDisplayMedConOrderResponse>(
                  this, METHODID_GET_DISPLAY_MED_CON_ORDER)))
          .addMethod(
            METHOD_QUERY_MED_CON_ORDER_BILL_LIST,
            asyncUnaryCall(
              new MethodHandlers<
                com.ywt.gapi.drug.QueryMedConOrderBillListRequest,
                com.ywt.gapi.drug.QueryMedConOrderBillListResponse>(
                  this, METHODID_QUERY_MED_CON_ORDER_BILL_LIST)))
          .build();
    }
  }

  /**
   * <pre>
   *医疗耗材服务      // 对应 drug_rpc 项目的 MedicalConsumableServiceProvider 类
   * </pre>
   */
  public static final class MedicalConsumableServiceStub extends io.grpc.stub.AbstractStub<MedicalConsumableServiceStub> {
    private MedicalConsumableServiceStub(io.grpc.Channel channel) {
      super(channel);
    }

    private MedicalConsumableServiceStub(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      super(channel, callOptions);
    }

    @java.lang.Override
    protected MedicalConsumableServiceStub build(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      return new MedicalConsumableServiceStub(channel, callOptions);
    }

    /**
     * <pre>
     *创建耗材订单
     * </pre>
     */
    public void createMedConOrder(com.ywt.gapi.drug.CreateMedConOrderRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.CreateMedConOrderResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_CREATE_MED_CON_ORDER, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *获取耗材列表
     * </pre>
     */
    public void getMedConList(com.ywt.gapi.drug.GetMedConListRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConListResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CON_LIST, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *获取耗材订单详情
     * </pre>
     */
    public void getMedConOrderInfo(com.ywt.gapi.drug.GetMedConOrderInfoRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConOrderInfoResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CON_ORDER_INFO, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *获取耗材订单列表
     * </pre>
     */
    public void getMedConOrderlist(com.ywt.gapi.drug.GetMedConOrderlistRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConOrderlistResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CON_ORDERLIST, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *更新耗材订单信息
     * </pre>
     */
    public void updateMedConOrder(com.ywt.gapi.drug.UpdateMedConOrderRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.UpdateMedConOrderResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_UPDATE_MED_CON_ORDER, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *订单支付成功后回调
     * </pre>
     */
    public void orderPaymentCallbackNotify(com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *退款结果通知
     * </pre>
     */
    public void refundNotify(com.ywt.gapi.drug.RefundNotifyRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.RefundNotifyResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_REFUND_NOTIFY, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *获取账单
     * </pre>
     */
    public void getOrderBill(com.ywt.gapi.drug.GetOrderBillRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetOrderBillResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_ORDER_BILL, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     *按天查找耗材订单
     * </pre>
     */
    public void queryMedConOrderList(com.ywt.gapi.drug.QueryMedConOrderListRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.QueryMedConOrderListResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_QUERY_MED_CON_ORDER_LIST, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     * 获取发票信息
     * </pre>
     */
    public void getInvoiceInfo(com.ywt.gapi.drug.GetInvoiceInfoRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetInvoiceInfoResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_INVOICE_INFO, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     * 提交发票信息
     * </pre>
     */
    public void submitInvoiceInfo(com.ywt.gapi.drug.SubmitInvoiceInfoRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.Result> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_SUBMIT_INVOICE_INFO, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     * 获取耗材医生列表
     * </pre>
     */
    public void getMedConsumableDoctors(com.ywt.gapi.drug.GetMedConsumableDoctorRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConsumableDoctorResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CONSUMABLE_DOCTORS, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     * 获取展示耗材订单
     * </pre>
     */
    public void getDisplayMedConOrder(com.ywt.gapi.drug.GetDisplayMedConOrderRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetDisplayMedConOrderResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_GET_DISPLAY_MED_CON_ORDER, getCallOptions()), request, responseObserver);
    }

    /**
     * <pre>
     * 根据oderNos和日期获取耗材订单
     * </pre>
     */
    public void queryMedConOrderBillList(com.ywt.gapi.drug.QueryMedConOrderBillListRequest request,
        io.grpc.stub.StreamObserver<com.ywt.gapi.drug.QueryMedConOrderBillListResponse> responseObserver) {
      asyncUnaryCall(
          getChannel().newCall(METHOD_QUERY_MED_CON_ORDER_BILL_LIST, getCallOptions()), request, responseObserver);
    }
  }

  /**
   * <pre>
   *医疗耗材服务      // 对应 drug_rpc 项目的 MedicalConsumableServiceProvider 类
   * </pre>
   */
  public static final class MedicalConsumableServiceBlockingStub extends io.grpc.stub.AbstractStub<MedicalConsumableServiceBlockingStub> {
    private MedicalConsumableServiceBlockingStub(io.grpc.Channel channel) {
      super(channel);
    }

    private MedicalConsumableServiceBlockingStub(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      super(channel, callOptions);
    }

    @java.lang.Override
    protected MedicalConsumableServiceBlockingStub build(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      return new MedicalConsumableServiceBlockingStub(channel, callOptions);
    }

    /**
     * <pre>
     *创建耗材订单
     * </pre>
     */
    public com.ywt.gapi.drug.CreateMedConOrderResponse createMedConOrder(com.ywt.gapi.drug.CreateMedConOrderRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_CREATE_MED_CON_ORDER, getCallOptions(), request);
    }

    /**
     * <pre>
     *获取耗材列表
     * </pre>
     */
    public com.ywt.gapi.drug.GetMedConListResponse getMedConList(com.ywt.gapi.drug.GetMedConListRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_MED_CON_LIST, getCallOptions(), request);
    }

    /**
     * <pre>
     *获取耗材订单详情
     * </pre>
     */
    public com.ywt.gapi.drug.GetMedConOrderInfoResponse getMedConOrderInfo(com.ywt.gapi.drug.GetMedConOrderInfoRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_MED_CON_ORDER_INFO, getCallOptions(), request);
    }

    /**
     * <pre>
     *获取耗材订单列表
     * </pre>
     */
    public com.ywt.gapi.drug.GetMedConOrderlistResponse getMedConOrderlist(com.ywt.gapi.drug.GetMedConOrderlistRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_MED_CON_ORDERLIST, getCallOptions(), request);
    }

    /**
     * <pre>
     *更新耗材订单信息
     * </pre>
     */
    public com.ywt.gapi.drug.UpdateMedConOrderResponse updateMedConOrder(com.ywt.gapi.drug.UpdateMedConOrderRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_UPDATE_MED_CON_ORDER, getCallOptions(), request);
    }

    /**
     * <pre>
     *订单支付成功后回调
     * </pre>
     */
    public com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse orderPaymentCallbackNotify(com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY, getCallOptions(), request);
    }

    /**
     * <pre>
     *退款结果通知
     * </pre>
     */
    public com.ywt.gapi.drug.RefundNotifyResponse refundNotify(com.ywt.gapi.drug.RefundNotifyRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_REFUND_NOTIFY, getCallOptions(), request);
    }

    /**
     * <pre>
     *获取账单
     * </pre>
     */
    public com.ywt.gapi.drug.GetOrderBillResponse getOrderBill(com.ywt.gapi.drug.GetOrderBillRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_ORDER_BILL, getCallOptions(), request);
    }

    /**
     * <pre>
     *按天查找耗材订单
     * </pre>
     */
    public com.ywt.gapi.drug.QueryMedConOrderListResponse queryMedConOrderList(com.ywt.gapi.drug.QueryMedConOrderListRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_QUERY_MED_CON_ORDER_LIST, getCallOptions(), request);
    }

    /**
     * <pre>
     * 获取发票信息
     * </pre>
     */
    public com.ywt.gapi.drug.GetInvoiceInfoResponse getInvoiceInfo(com.ywt.gapi.drug.GetInvoiceInfoRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_INVOICE_INFO, getCallOptions(), request);
    }

    /**
     * <pre>
     * 提交发票信息
     * </pre>
     */
    public com.ywt.gapi.Result submitInvoiceInfo(com.ywt.gapi.drug.SubmitInvoiceInfoRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_SUBMIT_INVOICE_INFO, getCallOptions(), request);
    }

    /**
     * <pre>
     * 获取耗材医生列表
     * </pre>
     */
    public com.ywt.gapi.drug.GetMedConsumableDoctorResponse getMedConsumableDoctors(com.ywt.gapi.drug.GetMedConsumableDoctorRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_MED_CONSUMABLE_DOCTORS, getCallOptions(), request);
    }

    /**
     * <pre>
     * 获取展示耗材订单
     * </pre>
     */
    public com.ywt.gapi.drug.GetDisplayMedConOrderResponse getDisplayMedConOrder(com.ywt.gapi.drug.GetDisplayMedConOrderRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_GET_DISPLAY_MED_CON_ORDER, getCallOptions(), request);
    }

    /**
     * <pre>
     * 根据oderNos和日期获取耗材订单
     * </pre>
     */
    public com.ywt.gapi.drug.QueryMedConOrderBillListResponse queryMedConOrderBillList(com.ywt.gapi.drug.QueryMedConOrderBillListRequest request) {
      return blockingUnaryCall(
          getChannel(), METHOD_QUERY_MED_CON_ORDER_BILL_LIST, getCallOptions(), request);
    }
  }

  /**
   * <pre>
   *医疗耗材服务      // 对应 drug_rpc 项目的 MedicalConsumableServiceProvider 类
   * </pre>
   */
  public static final class MedicalConsumableServiceFutureStub extends io.grpc.stub.AbstractStub<MedicalConsumableServiceFutureStub> {
    private MedicalConsumableServiceFutureStub(io.grpc.Channel channel) {
      super(channel);
    }

    private MedicalConsumableServiceFutureStub(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      super(channel, callOptions);
    }

    @java.lang.Override
    protected MedicalConsumableServiceFutureStub build(io.grpc.Channel channel,
        io.grpc.CallOptions callOptions) {
      return new MedicalConsumableServiceFutureStub(channel, callOptions);
    }

    /**
     * <pre>
     *创建耗材订单
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.CreateMedConOrderResponse> createMedConOrder(
        com.ywt.gapi.drug.CreateMedConOrderRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_CREATE_MED_CON_ORDER, getCallOptions()), request);
    }

    /**
     * <pre>
     *获取耗材列表
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetMedConListResponse> getMedConList(
        com.ywt.gapi.drug.GetMedConListRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CON_LIST, getCallOptions()), request);
    }

    /**
     * <pre>
     *获取耗材订单详情
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetMedConOrderInfoResponse> getMedConOrderInfo(
        com.ywt.gapi.drug.GetMedConOrderInfoRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CON_ORDER_INFO, getCallOptions()), request);
    }

    /**
     * <pre>
     *获取耗材订单列表
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetMedConOrderlistResponse> getMedConOrderlist(
        com.ywt.gapi.drug.GetMedConOrderlistRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CON_ORDERLIST, getCallOptions()), request);
    }

    /**
     * <pre>
     *更新耗材订单信息
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.UpdateMedConOrderResponse> updateMedConOrder(
        com.ywt.gapi.drug.UpdateMedConOrderRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_UPDATE_MED_CON_ORDER, getCallOptions()), request);
    }

    /**
     * <pre>
     *订单支付成功后回调
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse> orderPaymentCallbackNotify(
        com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY, getCallOptions()), request);
    }

    /**
     * <pre>
     *退款结果通知
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.RefundNotifyResponse> refundNotify(
        com.ywt.gapi.drug.RefundNotifyRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_REFUND_NOTIFY, getCallOptions()), request);
    }

    /**
     * <pre>
     *获取账单
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetOrderBillResponse> getOrderBill(
        com.ywt.gapi.drug.GetOrderBillRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_ORDER_BILL, getCallOptions()), request);
    }

    /**
     * <pre>
     *按天查找耗材订单
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.QueryMedConOrderListResponse> queryMedConOrderList(
        com.ywt.gapi.drug.QueryMedConOrderListRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_QUERY_MED_CON_ORDER_LIST, getCallOptions()), request);
    }

    /**
     * <pre>
     * 获取发票信息
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetInvoiceInfoResponse> getInvoiceInfo(
        com.ywt.gapi.drug.GetInvoiceInfoRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_INVOICE_INFO, getCallOptions()), request);
    }

    /**
     * <pre>
     * 提交发票信息
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.Result> submitInvoiceInfo(
        com.ywt.gapi.drug.SubmitInvoiceInfoRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_SUBMIT_INVOICE_INFO, getCallOptions()), request);
    }

    /**
     * <pre>
     * 获取耗材医生列表
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetMedConsumableDoctorResponse> getMedConsumableDoctors(
        com.ywt.gapi.drug.GetMedConsumableDoctorRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_MED_CONSUMABLE_DOCTORS, getCallOptions()), request);
    }

    /**
     * <pre>
     * 获取展示耗材订单
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.GetDisplayMedConOrderResponse> getDisplayMedConOrder(
        com.ywt.gapi.drug.GetDisplayMedConOrderRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_GET_DISPLAY_MED_CON_ORDER, getCallOptions()), request);
    }

    /**
     * <pre>
     * 根据oderNos和日期获取耗材订单
     * </pre>
     */
    public com.google.common.util.concurrent.ListenableFuture<com.ywt.gapi.drug.QueryMedConOrderBillListResponse> queryMedConOrderBillList(
        com.ywt.gapi.drug.QueryMedConOrderBillListRequest request) {
      return futureUnaryCall(
          getChannel().newCall(METHOD_QUERY_MED_CON_ORDER_BILL_LIST, getCallOptions()), request);
    }
  }

  private static final int METHODID_CREATE_MED_CON_ORDER = 0;
  private static final int METHODID_GET_MED_CON_LIST = 1;
  private static final int METHODID_GET_MED_CON_ORDER_INFO = 2;
  private static final int METHODID_GET_MED_CON_ORDERLIST = 3;
  private static final int METHODID_UPDATE_MED_CON_ORDER = 4;
  private static final int METHODID_ORDER_PAYMENT_CALLBACK_NOTIFY = 5;
  private static final int METHODID_REFUND_NOTIFY = 6;
  private static final int METHODID_GET_ORDER_BILL = 7;
  private static final int METHODID_QUERY_MED_CON_ORDER_LIST = 8;
  private static final int METHODID_GET_INVOICE_INFO = 9;
  private static final int METHODID_SUBMIT_INVOICE_INFO = 10;
  private static final int METHODID_GET_MED_CONSUMABLE_DOCTORS = 11;
  private static final int METHODID_GET_DISPLAY_MED_CON_ORDER = 12;
  private static final int METHODID_QUERY_MED_CON_ORDER_BILL_LIST = 13;

  private static final class MethodHandlers<Req, Resp> implements
      io.grpc.stub.ServerCalls.UnaryMethod<Req, Resp>,
      io.grpc.stub.ServerCalls.ServerStreamingMethod<Req, Resp>,
      io.grpc.stub.ServerCalls.ClientStreamingMethod<Req, Resp>,
      io.grpc.stub.ServerCalls.BidiStreamingMethod<Req, Resp> {
    private final MedicalConsumableServiceImplBase serviceImpl;
    private final int methodId;

    MethodHandlers(MedicalConsumableServiceImplBase serviceImpl, int methodId) {
      this.serviceImpl = serviceImpl;
      this.methodId = methodId;
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("unchecked")
    public void invoke(Req request, io.grpc.stub.StreamObserver<Resp> responseObserver) {
      switch (methodId) {
        case METHODID_CREATE_MED_CON_ORDER:
          serviceImpl.createMedConOrder((com.ywt.gapi.drug.CreateMedConOrderRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.CreateMedConOrderResponse>) responseObserver);
          break;
        case METHODID_GET_MED_CON_LIST:
          serviceImpl.getMedConList((com.ywt.gapi.drug.GetMedConListRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConListResponse>) responseObserver);
          break;
        case METHODID_GET_MED_CON_ORDER_INFO:
          serviceImpl.getMedConOrderInfo((com.ywt.gapi.drug.GetMedConOrderInfoRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConOrderInfoResponse>) responseObserver);
          break;
        case METHODID_GET_MED_CON_ORDERLIST:
          serviceImpl.getMedConOrderlist((com.ywt.gapi.drug.GetMedConOrderlistRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConOrderlistResponse>) responseObserver);
          break;
        case METHODID_UPDATE_MED_CON_ORDER:
          serviceImpl.updateMedConOrder((com.ywt.gapi.drug.UpdateMedConOrderRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.UpdateMedConOrderResponse>) responseObserver);
          break;
        case METHODID_ORDER_PAYMENT_CALLBACK_NOTIFY:
          serviceImpl.orderPaymentCallbackNotify((com.ywt.gapi.drug.OrderPaymentCallbackNotifyRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.OrderPaymentCallbackNotifyResponse>) responseObserver);
          break;
        case METHODID_REFUND_NOTIFY:
          serviceImpl.refundNotify((com.ywt.gapi.drug.RefundNotifyRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.RefundNotifyResponse>) responseObserver);
          break;
        case METHODID_GET_ORDER_BILL:
          serviceImpl.getOrderBill((com.ywt.gapi.drug.GetOrderBillRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetOrderBillResponse>) responseObserver);
          break;
        case METHODID_QUERY_MED_CON_ORDER_LIST:
          serviceImpl.queryMedConOrderList((com.ywt.gapi.drug.QueryMedConOrderListRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.QueryMedConOrderListResponse>) responseObserver);
          break;
        case METHODID_GET_INVOICE_INFO:
          serviceImpl.getInvoiceInfo((com.ywt.gapi.drug.GetInvoiceInfoRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetInvoiceInfoResponse>) responseObserver);
          break;
        case METHODID_SUBMIT_INVOICE_INFO:
          serviceImpl.submitInvoiceInfo((com.ywt.gapi.drug.SubmitInvoiceInfoRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.Result>) responseObserver);
          break;
        case METHODID_GET_MED_CONSUMABLE_DOCTORS:
          serviceImpl.getMedConsumableDoctors((com.ywt.gapi.drug.GetMedConsumableDoctorRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetMedConsumableDoctorResponse>) responseObserver);
          break;
        case METHODID_GET_DISPLAY_MED_CON_ORDER:
          serviceImpl.getDisplayMedConOrder((com.ywt.gapi.drug.GetDisplayMedConOrderRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.GetDisplayMedConOrderResponse>) responseObserver);
          break;
        case METHODID_QUERY_MED_CON_ORDER_BILL_LIST:
          serviceImpl.queryMedConOrderBillList((com.ywt.gapi.drug.QueryMedConOrderBillListRequest) request,
              (io.grpc.stub.StreamObserver<com.ywt.gapi.drug.QueryMedConOrderBillListResponse>) responseObserver);
          break;
        default:
          throw new AssertionError();
      }
    }

    @java.lang.Override
    @java.lang.SuppressWarnings("unchecked")
    public io.grpc.stub.StreamObserver<Req> invoke(
        io.grpc.stub.StreamObserver<Resp> responseObserver) {
      switch (methodId) {
        default:
          throw new AssertionError();
      }
    }
  }

  private static abstract class MedicalConsumableServiceBaseDescriptorSupplier
      implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
    MedicalConsumableServiceBaseDescriptorSupplier() {}

    @java.lang.Override
    public com.google.protobuf.Descriptors.FileDescriptor getFileDescriptor() {
      return com.ywt.gapi.drug.DrugOuterClass.getDescriptor();
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.ServiceDescriptor getServiceDescriptor() {
      return getFileDescriptor().findServiceByName("MedicalConsumableService");
    }
  }

  private static final class MedicalConsumableServiceFileDescriptorSupplier
      extends MedicalConsumableServiceBaseDescriptorSupplier {
    MedicalConsumableServiceFileDescriptorSupplier() {}
  }

  private static final class MedicalConsumableServiceMethodDescriptorSupplier
      extends MedicalConsumableServiceBaseDescriptorSupplier
      implements io.grpc.protobuf.ProtoMethodDescriptorSupplier {
    private final String methodName;

    MedicalConsumableServiceMethodDescriptorSupplier(String methodName) {
      this.methodName = methodName;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.MethodDescriptor getMethodDescriptor() {
      return getServiceDescriptor().findMethodByName(methodName);
    }
  }

  private static volatile io.grpc.ServiceDescriptor serviceDescriptor;

  public static io.grpc.ServiceDescriptor getServiceDescriptor() {
    io.grpc.ServiceDescriptor result = serviceDescriptor;
    if (result == null) {
      synchronized (MedicalConsumableServiceGrpc.class) {
        result = serviceDescriptor;
        if (result == null) {
          serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME)
              .setSchemaDescriptor(new MedicalConsumableServiceFileDescriptorSupplier())
              .addMethod(METHOD_CREATE_MED_CON_ORDER)
              .addMethod(METHOD_GET_MED_CON_LIST)
              .addMethod(METHOD_GET_MED_CON_ORDER_INFO)
              .addMethod(METHOD_GET_MED_CON_ORDERLIST)
              .addMethod(METHOD_UPDATE_MED_CON_ORDER)
              .addMethod(METHOD_ORDER_PAYMENT_CALLBACK_NOTIFY)
              .addMethod(METHOD_REFUND_NOTIFY)
              .addMethod(METHOD_GET_ORDER_BILL)
              .addMethod(METHOD_QUERY_MED_CON_ORDER_LIST)
              .addMethod(METHOD_GET_INVOICE_INFO)
              .addMethod(METHOD_SUBMIT_INVOICE_INFO)
              .addMethod(METHOD_GET_MED_CONSUMABLE_DOCTORS)
              .addMethod(METHOD_GET_DISPLAY_MED_CON_ORDER)
              .addMethod(METHOD_QUERY_MED_CON_ORDER_BILL_LIST)
              .build();
        }
      }
    }
    return result;
  }
}
