Commit 738d4593 by Wyh

打印進度

parent 25b43d73
......@@ -353,6 +353,12 @@ public class ColdChainMainPresenter extends BasePresenter<ColdChainMainContract.
updateOrderState(dataBean, ColdChainConstants.ORDER_CONFIRMED);
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
Log.e("eee", "調用第三方物流接口出錯:" + t.getMessage());
}
});
}
......
......@@ -41,6 +41,7 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.common.service.DataNotificationService;
import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.ui.utils.AppDialog;
......@@ -233,7 +234,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
if (type == 3 || type == 5
|| type == 6 || type == 7) {
long nowTime = System.currentTimeMillis();
if (nowTime - lastClickTime < 8000) {
if (nowTime - lastClickTime < 5000) {
return;
}
lastClickTime = nowTime;
......
package com.joe.print.mvp.ui.activity;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Build;
......@@ -22,26 +19,24 @@ import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.printer.plugins.PrinterFlowListener;
import com.gingersoft.gsa.cloud.common.printer.plugins.PrinterPlugins;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.common.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.FoodModifierDaoUtils;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.PrjBean;
import com.gingersoft.gsa.cloud.print.bean.UpdateBean;
import com.jess.arms.base.BaseActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
import com.joe.print.di.component.DaggerPrintComponent;
import com.joe.print.mvp.contract.PrintContract;
import com.joe.print.mvp.presenter.PrintPresenter;
import com.joe.print.mvp.print.EpsonPrint;
import com.joe.print.mvp.print.PrintInstruction;
import com.joe.print.mvp.print.PrintListener;
import com.joe.print.mvp.print.PrintPrjKitchen;
import com.joe.print.mvp.print.PrinterRoot;
import com.joe.print.mvp.print.maker.OpenCashBoxMaker;
......@@ -49,15 +44,11 @@ import com.joe.print.mvp.print.utils.MyPrintUtils;
import com.joe.print.mvp.ui.view.PrinterLoadingDialog;
import com.joe.print.mvp.ui.view.SelectPrintDevicePopup;
import com.lxj.xpopup.XPopup;
import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import java.net.ConnectException;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
import static com.gingersoft.gsa.cloud.common.constans.PrintConstans.PRINT_BILL;
......@@ -105,10 +96,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
*/
private int type;
private String mOrderNo;
/**
* 打印進度
*/
// private LoadingPopupView loadingPopup;
private PrinterLoadingDialog printerLoadingDialog;
......@@ -143,7 +130,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void connectionSuccess() {
LoganManager.w_code(TAG, "PrinterPlugins connectionSuccess ThreadName=" + Thread.currentThread().getName());
printerLoadingDialog.setStep(2, PrinterLoadingDialog.status_success, null);
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_PRINTING, PrinterLoadingDialog.STATUS_SUCCESS, null);
}
@Override
......@@ -160,13 +147,13 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void onPrinterDataBefore(int orderType, int printType, String printerData, String printerDeviceInfo) {
LoganManager.w_code(TAG, "PrinterPlugins onPrinterDataBefore ThreadName=" + Thread.currentThread().getName());
printerLoadingDialog.setStep(1, PrinterLoadingDialog.status_success, null);
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_CONNECTING, PrinterLoadingDialog.STATUS_SUCCESS, null);
}
@Override
public void onPrinterBitmapBefore(int orderType, int printType, String directoryName, List<Bitmap> bitmaps) {
LoganManager.w_code(TAG, "PrinterPlugins onPrinterBitmapBefore ThreadName=" + Thread.currentThread().getName());
printerLoadingDialog.setStep(1, PrinterLoadingDialog.status_success, null);
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_CONNECTING, PrinterLoadingDialog.STATUS_SUCCESS, null);
}
@Override
......@@ -180,8 +167,10 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override
public void onPrintError(Exception e, int errorCode) {
LoganManager.w_code(TAG, "PrinterPlugins onPrintError ThreadName=" + Thread.currentThread().getName());
printerResult = false;
printerResult = true;
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_PRINTING, PrinterLoadingDialog.STATUS_ERROR, e.getMessage());
//延遲兩秒關閉
RxJavaUtils.delay(2, aLong -> killMyself());
}
});
}
......
package com.joe.print.mvp.ui.view;
import android.animation.ValueAnimator;
import android.content.Context;
import android.content.DialogInterface;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.os.Looper;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.airbnb.lottie.LottieAnimationView;
import com.gingersoft.gsa.cloud.pay.pos.hywebpos.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.joe.print.R;
import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import butterknife.BindDrawable;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
......@@ -39,7 +30,7 @@ import io.reactivex.functions.Consumer;
public class PrinterLoadingDialog extends BaseRetryDialog {
private static final String TAG = "PrinterLoadingDialog";
private Context mContext;
private Activity mContext;
private TextView tvGeneratePrintData, tvConnecting, tvPrintResult, tvErrorMsg;
public static final byte STATUS_DEFAULT = 0;
......@@ -59,8 +50,12 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
* 進度顯示文字
*/
private TextView[] textViews;
/**
* 當前打印進度
*/
private int currentState = 0;
public PrinterLoadingDialog(@NonNull Context context) {
public PrinterLoadingDialog(@NonNull Activity context) {
super(context, R.style.MyDialogTheme2);
mContext = context;
mRadius = QMUIDisplayHelper.dp2px(mContext, 8);
......@@ -116,21 +111,27 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
}
public void setStep(int step, int status, String errorMsg) {
if (!TextUtils.isEmpty(errorMsg)) {
tvErrorMsg.setText(errorMsg);
tvErrorMsg.setVisibility(View.VISIBLE);
} else {
tvErrorMsg.setVisibility(View.GONE);
}
//根據狀態修改顯示顏色
if (step == PROGRESS_PRINTING) {
setCompoundDrawableByStatus(STATUS_SUCCESS, tvGeneratePrintData);
setCompoundDrawableByStatus(status, tvConnecting);
} else {
setCompoundDrawableByStatus(status, textViews[step - 1]);
if(step <= currentState){
return;
}
//設置結果
setStatusResult(step, status);
currentState = step;
mContext.runOnUiThread(() -> {
if (!TextUtils.isEmpty(errorMsg)) {
tvErrorMsg.setText(errorMsg);
tvErrorMsg.setVisibility(View.VISIBLE);
} else {
tvErrorMsg.setVisibility(View.GONE);
}
//根據狀態修改顯示顏色
if (step == PROGRESS_PRINTING) {
setCompoundDrawableByStatus(STATUS_SUCCESS, tvGeneratePrintData);
setCompoundDrawableByStatus(status, tvConnecting);
} else {
setCompoundDrawableByStatus(status, textViews[step - 1]);
}
//設置結果
setStatusResult(step, status);
});
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment