Commit 738d4593 by Wyh

打印進度

parent 25b43d73
...@@ -353,6 +353,12 @@ public class ColdChainMainPresenter extends BasePresenter<ColdChainMainContract. ...@@ -353,6 +353,12 @@ public class ColdChainMainPresenter extends BasePresenter<ColdChainMainContract.
updateOrderState(dataBean, ColdChainConstants.ORDER_CONFIRMED); 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; ...@@ -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.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils; import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils;
import com.gingersoft.gsa.cloud.common.service.DataNotificationService; 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.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.ui.utils.AppDialog; import com.gingersoft.gsa.cloud.ui.utils.AppDialog;
...@@ -233,7 +234,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre ...@@ -233,7 +234,7 @@ public class ColdChainMainActivity extends BaseFragmentActivity<ColdChainMainPre
if (type == 3 || type == 5 if (type == 3 || type == 5
|| type == 6 || type == 7) { || type == 6 || type == 7) {
long nowTime = System.currentTimeMillis(); long nowTime = System.currentTimeMillis();
if (nowTime - lastClickTime < 8000) { if (nowTime - lastClickTime < 5000) {
return; return;
} }
lastClickTime = nowTime; lastClickTime = nowTime;
......
package com.joe.print.mvp.ui.activity; 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.content.Intent;
import android.graphics.Bitmap; import android.graphics.Bitmap;
import android.os.Build; import android.os.Build;
...@@ -22,26 +19,24 @@ import com.gingersoft.gsa.cloud.common.logan.LoganManager; ...@@ -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.PrinterFlowListener;
import com.gingersoft.gsa.cloud.common.printer.plugins.PrinterPlugins; 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.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.SPUtils;
import com.gingersoft.gsa.cloud.common.utils.other.TextUtil; import com.gingersoft.gsa.cloud.common.utils.other.TextUtil;
import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils; import com.gingersoft.gsa.cloud.common.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean; import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean; 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.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder; import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.gingersoft.gsa.cloud.print.bean.PrintContent; import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.PrjBean; 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.base.BaseActivity;
import com.jess.arms.di.component.AppComponent; import com.jess.arms.di.component.AppComponent;
import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils; import com.jess.arms.utils.ArmsUtils;
import com.joe.print.di.component.DaggerPrintComponent; import com.joe.print.di.component.DaggerPrintComponent;
import com.joe.print.mvp.contract.PrintContract; import com.joe.print.mvp.contract.PrintContract;
import com.joe.print.mvp.presenter.PrintPresenter; 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.PrintInstruction;
import com.joe.print.mvp.print.PrintListener;
import com.joe.print.mvp.print.PrintPrjKitchen; import com.joe.print.mvp.print.PrintPrjKitchen;
import com.joe.print.mvp.print.PrinterRoot; import com.joe.print.mvp.print.PrinterRoot;
import com.joe.print.mvp.print.maker.OpenCashBoxMaker; import com.joe.print.mvp.print.maker.OpenCashBoxMaker;
...@@ -49,15 +44,11 @@ import com.joe.print.mvp.print.utils.MyPrintUtils; ...@@ -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.PrinterLoadingDialog;
import com.joe.print.mvp.ui.view.SelectPrintDevicePopup; import com.joe.print.mvp.ui.view.SelectPrintDevicePopup;
import com.lxj.xpopup.XPopup; import com.lxj.xpopup.XPopup;
import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import java.net.ConnectException;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import javax.inject.Inject;
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer; import io.reactivex.functions.Consumer;
import static com.gingersoft.gsa.cloud.common.constans.PrintConstans.PRINT_BILL; import static com.gingersoft.gsa.cloud.common.constans.PrintConstans.PRINT_BILL;
...@@ -105,10 +96,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -105,10 +96,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
*/ */
private int type; private int type;
private String mOrderNo; private String mOrderNo;
/**
* 打印進度
*/
// private LoadingPopupView loadingPopup;
private PrinterLoadingDialog printerLoadingDialog; private PrinterLoadingDialog printerLoadingDialog;
...@@ -143,7 +130,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -143,7 +130,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override @Override
public void connectionSuccess() { public void connectionSuccess() {
LoganManager.w_code(TAG, "PrinterPlugins connectionSuccess ThreadName=" + Thread.currentThread().getName()); 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 @Override
...@@ -160,13 +147,13 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -160,13 +147,13 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override @Override
public void onPrinterDataBefore(int orderType, int printType, String printerData, String printerDeviceInfo) { public void onPrinterDataBefore(int orderType, int printType, String printerData, String printerDeviceInfo) {
LoganManager.w_code(TAG, "PrinterPlugins onPrinterDataBefore ThreadName=" + Thread.currentThread().getName()); 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 @Override
public void onPrinterBitmapBefore(int orderType, int printType, String directoryName, List<Bitmap> bitmaps) { public void onPrinterBitmapBefore(int orderType, int printType, String directoryName, List<Bitmap> bitmaps) {
LoganManager.w_code(TAG, "PrinterPlugins onPrinterBitmapBefore ThreadName=" + Thread.currentThread().getName()); 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 @Override
...@@ -180,8 +167,10 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print ...@@ -180,8 +167,10 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
@Override @Override
public void onPrintError(Exception e, int errorCode) { public void onPrintError(Exception e, int errorCode) {
LoganManager.w_code(TAG, "PrinterPlugins onPrintError ThreadName=" + Thread.currentThread().getName()); LoganManager.w_code(TAG, "PrinterPlugins onPrintError ThreadName=" + Thread.currentThread().getName());
printerResult = false; printerResult = true;
printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_PRINTING, PrinterLoadingDialog.STATUS_ERROR, e.getMessage()); printerLoadingDialog.setStep(PrinterLoadingDialog.PROGRESS_PRINTING, PrinterLoadingDialog.STATUS_ERROR, e.getMessage());
//延遲兩秒關閉
RxJavaUtils.delay(2, aLong -> killMyself());
} }
}); });
} }
......
package com.joe.print.mvp.ui.view; package com.joe.print.mvp.ui.view;
import android.animation.ValueAnimator; import android.animation.ValueAnimator;
import android.content.Context; import android.app.Activity;
import android.content.DialogInterface;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Looper;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat;
import com.airbnb.lottie.LottieAnimationView; 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.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog;
import com.joe.print.R; import com.joe.print.R;
import com.qmuiteam.qmui.layout.QMUILinearLayout; import com.qmuiteam.qmui.layout.QMUILinearLayout;
import com.qmuiteam.qmui.util.QMUIDisplayHelper; 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 * 作者:ELEGANT_BIN
* 版本:1.6.0 * 版本:1.6.0
...@@ -39,7 +30,7 @@ import io.reactivex.functions.Consumer; ...@@ -39,7 +30,7 @@ import io.reactivex.functions.Consumer;
public class PrinterLoadingDialog extends BaseRetryDialog { public class PrinterLoadingDialog extends BaseRetryDialog {
private static final String TAG = "PrinterLoadingDialog"; private static final String TAG = "PrinterLoadingDialog";
private Context mContext; private Activity mContext;
private TextView tvGeneratePrintData, tvConnecting, tvPrintResult, tvErrorMsg; private TextView tvGeneratePrintData, tvConnecting, tvPrintResult, tvErrorMsg;
public static final byte STATUS_DEFAULT = 0; public static final byte STATUS_DEFAULT = 0;
...@@ -59,8 +50,12 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -59,8 +50,12 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
* 進度顯示文字 * 進度顯示文字
*/ */
private TextView[] textViews; private TextView[] textViews;
/**
* 當前打印進度
*/
private int currentState = 0;
public PrinterLoadingDialog(@NonNull Context context) { public PrinterLoadingDialog(@NonNull Activity context) {
super(context, R.style.MyDialogTheme2); super(context, R.style.MyDialogTheme2);
mContext = context; mContext = context;
mRadius = QMUIDisplayHelper.dp2px(mContext, 8); mRadius = QMUIDisplayHelper.dp2px(mContext, 8);
...@@ -116,21 +111,27 @@ public class PrinterLoadingDialog extends BaseRetryDialog { ...@@ -116,21 +111,27 @@ public class PrinterLoadingDialog extends BaseRetryDialog {
} }
public void setStep(int step, int status, String errorMsg) { public void setStep(int step, int status, String errorMsg) {
if (!TextUtils.isEmpty(errorMsg)) { if(step <= currentState){
tvErrorMsg.setText(errorMsg); return;
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]);
} }
//設置結果 currentState = step;
setStatusResult(step, status); 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