Commit 9d9f4fd6 by Wyh

7.25 修改打印邏輯,USB打印調通,打印機加上預設值

Signed-off-by: Wyh <1239658231>
parent 01a85f27
......@@ -187,6 +187,10 @@ public class OrderBean {
*/
private String printSetIng;
/**
* 廚房單打印主項
*/
private long ktPrintMainItem;
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private long ablediscount;
......@@ -194,7 +198,22 @@ public class OrderBean {
private Long discountId;
/**折扣實體*/
private RestaurantDiscountVO restaurantDiscountVO;
/**
* 0=系統顏色, 1=黑色, 2=紅色
*/
private long printFont;
/**
* 當金額=0時, 是否打印在帳單上
*/
private long printToBill;
/**
* 0食品清单打印 账单打印//1食品清单不打印 账单不打印//2食品清单打印 账单不打印//3食品清单不打印 账单打印
*/
private long printTo;
/**
* 是否打印价格
*/
private long ktShowPrice;
/**
* 自定義字段
*/
......@@ -204,6 +223,9 @@ public class OrderBean {
private long topId;
private long memberId;
public OrderDetailsBean() {
}
......@@ -323,6 +345,14 @@ public class OrderBean {
this.printSetIng = printSetIng;
}
public long getKtPrintMainItem() {
return ktPrintMainItem;
}
public void setKtPrintMainItem(long ktPrintMainItem) {
this.ktPrintMainItem = ktPrintMainItem;
}
public long getAblediscount() {
return ablediscount;
}
......@@ -347,6 +377,38 @@ public class OrderBean {
this.topId = topId;
}
public long getPrintFont() {
return printFont;
}
public void setPrintFont(long printFont) {
this.printFont = printFont;
}
public long getPrintToBill() {
return printToBill;
}
public void setPrintToBill(long printToBill) {
this.printToBill = printToBill;
}
public long getPrintTo() {
return printTo;
}
public void setPrintTo(long printTo) {
this.printTo = printTo;
}
public long getKtShowPrice() {
return ktShowPrice;
}
public void setKtShowPrice(long ktShowPrice) {
this.ktShowPrice = ktShowPrice;
}
public RestaurantDiscountVO getRestaurantDiscountVO() {
return restaurantDiscountVO;
}
......
......@@ -206,6 +206,23 @@ public class OrderDetail implements Serializable {
* 廚房單打印主項
*/
private long ktPrintMainItem;
/**
* 0=系統顏色, 1=黑色, 2=紅色
*/
private long printFont;
/**
* 當金額=0時, 是否打印在帳單上
*/
private long printToBill;
/**
* 0食品清单打印 账单打印//1食品清单不打印 账单不打印//2食品清单打印 账单不打印//3食品清单不打印 账单打印
*/
private long printTo;
/**
* 是否打印价格
*/
private long ktShowPrice;
public OrderDetail() {
}
......@@ -625,6 +642,38 @@ public class OrderDetail implements Serializable {
this.currentMaxNumber = currentMaxNumber;
}
public long getPrintFont() {
return printFont;
}
public void setPrintFont(long printFont) {
this.printFont = printFont;
}
public long getPrintToBill() {
return printToBill;
}
public void setPrintToBill(long printToBill) {
this.printToBill = printToBill;
}
public long getPrintTo() {
return printTo;
}
public void setPrintTo(long printTo) {
this.printTo = printTo;
}
public long getKtShowPrice() {
return ktShowPrice;
}
public void setKtShowPrice(long ktShowPrice) {
this.ktShowPrice = ktShowPrice;
}
/**
* 已送單食品轉換
*
......@@ -653,6 +702,11 @@ public class OrderDetail implements Serializable {
orderDetail.setVisible(orderDetailsBean.getStatus() == 0);
orderDetail.setPrintseting(orderDetailsBean.getPrintSetIng());
// orderDetail.setAutomod(foods.getAutomod());
orderDetail.setKtPrintMainItem(orderDetailsBean.getKtPrintMainItem());
orderDetail.setPrintFont(orderDetailsBean.getPrintFont());
orderDetail.setPrintToBill(orderDetailsBean.getPrintToBill());
orderDetail.setPrintTo(orderDetail.getPrintTo());
orderDetail.setKtShowPrice(orderDetail.getKtShowPrice());
orderDetail.setIsfood(orderDetailsBean.getType() == FOOD_TYPE);
orderDetail.setNew(false);
orderDetail.setType(orderDetailsBean.getType());
......
......@@ -305,7 +305,6 @@ public class Food {
@Property(nameInDb = "FID")
@Id(autoincrement = true)
private Long id;
/**
* 上級ID (如0=最高級)
*/
......
......@@ -28,10 +28,10 @@ public class DaoMaster extends AbstractDaoMaster {
FoodComboDao.createTable(db, ifNotExists);
FoodModifierDao.createTable(db, ifNotExists);
FunctionDao.createTable(db, ifNotExists);
LanguageDao.createTable(db, ifNotExists);
ModifierDao.createTable(db, ifNotExists);
PrinterDeviceBeanDao.createTable(db, ifNotExists);
PrintModelBeanDao.createTable(db, ifNotExists);
LanguageDao.createTable(db, ifNotExists);
PrintCurrencyBeanDao.createTable(db, ifNotExists);
}
......@@ -44,10 +44,10 @@ public class DaoMaster extends AbstractDaoMaster {
FoodComboDao.dropTable(db, ifExists);
FoodModifierDao.dropTable(db, ifExists);
FunctionDao.dropTable(db, ifExists);
LanguageDao.dropTable(db, ifExists);
ModifierDao.dropTable(db, ifExists);
PrinterDeviceBeanDao.dropTable(db, ifExists);
PrintModelBeanDao.dropTable(db, ifExists);
LanguageDao.dropTable(db, ifExists);
PrintCurrencyBeanDao.dropTable(db, ifExists);
}
......@@ -74,10 +74,10 @@ public class DaoMaster extends AbstractDaoMaster {
registerDaoClass(FoodComboDao.class);
registerDaoClass(FoodModifierDao.class);
registerDaoClass(FunctionDao.class);
registerDaoClass(LanguageDao.class);
registerDaoClass(ModifierDao.class);
registerDaoClass(PrinterDeviceBeanDao.class);
registerDaoClass(PrintModelBeanDao.class);
registerDaoClass(LanguageDao.class);
registerDaoClass(PrintCurrencyBeanDao.class);
}
......
......@@ -15,10 +15,10 @@ import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Function;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.bean.PrintModelBean;
import com.gingersoft.gsa.cloud.database.bean.Language;
import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean;
import com.gingersoft.gsa.cloud.database.greendao.ComboItemDao;
......@@ -28,10 +28,10 @@ import com.gingersoft.gsa.cloud.database.greendao.FoodDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodComboDao;
import com.gingersoft.gsa.cloud.database.greendao.FoodModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.FunctionDao;
import com.gingersoft.gsa.cloud.database.greendao.LanguageDao;
import com.gingersoft.gsa.cloud.database.greendao.ModifierDao;
import com.gingersoft.gsa.cloud.database.greendao.PrinterDeviceBeanDao;
import com.gingersoft.gsa.cloud.database.greendao.PrintModelBeanDao;
import com.gingersoft.gsa.cloud.database.greendao.LanguageDao;
import com.gingersoft.gsa.cloud.database.greendao.PrintCurrencyBeanDao;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
......@@ -50,10 +50,10 @@ public class DaoSession extends AbstractDaoSession {
private final DaoConfig foodComboDaoConfig;
private final DaoConfig foodModifierDaoConfig;
private final DaoConfig functionDaoConfig;
private final DaoConfig languageDaoConfig;
private final DaoConfig modifierDaoConfig;
private final DaoConfig printerDeviceBeanDaoConfig;
private final DaoConfig printModelBeanDaoConfig;
private final DaoConfig languageDaoConfig;
private final DaoConfig printCurrencyBeanDaoConfig;
private final ComboItemDao comboItemDao;
......@@ -63,10 +63,10 @@ public class DaoSession extends AbstractDaoSession {
private final FoodComboDao foodComboDao;
private final FoodModifierDao foodModifierDao;
private final FunctionDao functionDao;
private final LanguageDao languageDao;
private final ModifierDao modifierDao;
private final PrinterDeviceBeanDao printerDeviceBeanDao;
private final PrintModelBeanDao printModelBeanDao;
private final LanguageDao languageDao;
private final PrintCurrencyBeanDao printCurrencyBeanDao;
public DaoSession(Database db, IdentityScopeType type, Map<Class<? extends AbstractDao<?, ?>>, DaoConfig>
......@@ -94,9 +94,6 @@ public class DaoSession extends AbstractDaoSession {
functionDaoConfig = daoConfigMap.get(FunctionDao.class).clone();
functionDaoConfig.initIdentityScope(type);
languageDaoConfig = daoConfigMap.get(LanguageDao.class).clone();
languageDaoConfig.initIdentityScope(type);
modifierDaoConfig = daoConfigMap.get(ModifierDao.class).clone();
modifierDaoConfig.initIdentityScope(type);
......@@ -106,6 +103,9 @@ public class DaoSession extends AbstractDaoSession {
printModelBeanDaoConfig = daoConfigMap.get(PrintModelBeanDao.class).clone();
printModelBeanDaoConfig.initIdentityScope(type);
languageDaoConfig = daoConfigMap.get(LanguageDao.class).clone();
languageDaoConfig.initIdentityScope(type);
printCurrencyBeanDaoConfig = daoConfigMap.get(PrintCurrencyBeanDao.class).clone();
printCurrencyBeanDaoConfig.initIdentityScope(type);
......@@ -116,10 +116,10 @@ public class DaoSession extends AbstractDaoSession {
foodComboDao = new FoodComboDao(foodComboDaoConfig, this);
foodModifierDao = new FoodModifierDao(foodModifierDaoConfig, this);
functionDao = new FunctionDao(functionDaoConfig, this);
languageDao = new LanguageDao(languageDaoConfig, this);
modifierDao = new ModifierDao(modifierDaoConfig, this);
printerDeviceBeanDao = new PrinterDeviceBeanDao(printerDeviceBeanDaoConfig, this);
printModelBeanDao = new PrintModelBeanDao(printModelBeanDaoConfig, this);
languageDao = new LanguageDao(languageDaoConfig, this);
printCurrencyBeanDao = new PrintCurrencyBeanDao(printCurrencyBeanDaoConfig, this);
registerDao(ComboItem.class, comboItemDao);
......@@ -129,10 +129,10 @@ public class DaoSession extends AbstractDaoSession {
registerDao(FoodCombo.class, foodComboDao);
registerDao(FoodModifier.class, foodModifierDao);
registerDao(Function.class, functionDao);
registerDao(Language.class, languageDao);
registerDao(Modifier.class, modifierDao);
registerDao(PrinterDeviceBean.class, printerDeviceBeanDao);
registerDao(PrintModelBean.class, printModelBeanDao);
registerDao(Language.class, languageDao);
registerDao(PrintCurrencyBean.class, printCurrencyBeanDao);
}
......@@ -144,10 +144,10 @@ public class DaoSession extends AbstractDaoSession {
foodComboDaoConfig.clearIdentityScope();
foodModifierDaoConfig.clearIdentityScope();
functionDaoConfig.clearIdentityScope();
languageDaoConfig.clearIdentityScope();
modifierDaoConfig.clearIdentityScope();
printerDeviceBeanDaoConfig.clearIdentityScope();
printModelBeanDaoConfig.clearIdentityScope();
languageDaoConfig.clearIdentityScope();
printCurrencyBeanDaoConfig.clearIdentityScope();
}
......@@ -179,10 +179,6 @@ public class DaoSession extends AbstractDaoSession {
return functionDao;
}
public LanguageDao getLanguageDao() {
return languageDao;
}
public ModifierDao getModifierDao() {
return modifierDao;
}
......@@ -195,6 +191,10 @@ public class DaoSession extends AbstractDaoSession {
return printModelBeanDao;
}
public LanguageDao getLanguageDao() {
return languageDao;
}
public PrintCurrencyBeanDao getPrintCurrencyBeanDao() {
return printCurrencyBeanDao;
}
......
......@@ -335,6 +335,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
}, {
listener.invoke(OrderDelivery, false)
it.printStackTrace()
Log.e("eee", "gsUpdateOrderStatus報錯:" + it.message)
// integralBean.postValue(null)
})
}
......@@ -473,7 +474,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
//調用第三方物流接口
repository.thirdDelivery(dataBean.ID.toString(), third).apply {
if (success) {
listener.invoke(OrderDelivery, true)
// listener.invoke(OrderDelivery, true)
updateOrderAndPrint(restaurantId, dataBean, status, listener)
} else {
listener.invoke(OrderDelivery, false)
......@@ -529,6 +530,7 @@ class PageViewModel(private val repository: WeatherRepository) : ViewModel() {
}
}, {
it.printStackTrace()
Log.e("eee", "confirmBtn報錯:" + it.message)
})
} else {
ToastUtils.show(context, "請至少選擇一個送貨員")
......
......@@ -149,14 +149,14 @@ public class PrinterAddPresenter extends BasePresenter<PrinterAddContract.Model,
.add("modifierIsBold", printerDeviceBean.getModifierIsBold() + "")
.add("modifierFont", printerDeviceBean.getModifierFont() + "")
.add("modifierIsItalic", printerDeviceBean.getModifierIsItalic() + "")
.add("numberIsFlip", printerDeviceBean.getNumberIsFlip() + "");
.add("numberIsFlip", printerDeviceBean.getNumberIsFlip() + "")
.add("printerDeviceType", printerDeviceBean.getPrinterDeviceType() + "");
if (printerDeviceBean.getFlyPrinterDeviceId() != null) {
builder.add("flyPrinterDeviceId", printerDeviceBean.getFlyPrinterDeviceId() + "");
}
if (printerDeviceBean.getFlyPrinterDeviceId2() != null) {
builder.add("flyPrinterDeviceId2", printerDeviceBean.getFlyPrinterDeviceId2() + "");
}
return builder.build();
}
......
......@@ -18,15 +18,11 @@ import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.TableBean;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.base.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.constans.AppConstans;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -81,6 +77,9 @@ public class PrintSlip extends PrinterRoot {
TextView line_food_info = view.findViewById(R.id.line_food_info);
TableBean.DataBean tableBean = OpenTableManage.getDefault().getTableBean();
brandName.setText(GsaCloudApplication.getBrandName(context));
restaurantName.setText(GsaCloudApplication.getRestaurantName(context));
tableNum.setText(tableBean.getTableName());
people.setText(OpenTableManage.getDefault().getPeopleNumber() + "");
......
......@@ -2,7 +2,9 @@ package com.joe.print.mvp.print;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.hardware.usb.UsbManager;
import android.os.Build;
import android.os.IBinder;
import android.os.RemoteException;
......@@ -26,7 +28,6 @@ import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.common.bean.BillingBean;
import com.gingersoft.gsa.cloud.base.common.bean.OrderDetail;
import com.gingersoft.gsa.cloud.base.common.bean.PayMethod;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.utils.AidlUtil;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
......@@ -37,7 +38,7 @@ import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.gingersoft.gsa.cloud.print.PrinterWriter;
import com.gingersoft.gsa.cloud.print.PrinterWriter58mm;
import com.hyweb.n5.lib.constant.PrinterConstant;
import com.hyweb.n5.lib.util.PrinterUtil;
import com.hyweb.n5.server.aidl.IOnPrintCallback;
......@@ -54,6 +55,7 @@ import com.joe.print.mvp.ui.adapter.DialogPrinterListAdapter;
import com.sunmi.peripheral.printer.InnerResultCallbcak;
import com.yanzhenjie.recyclerview.widget.DefaultItemDecoration;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
......@@ -84,6 +86,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
private int printCount = 1;
public static PrinterRoot getPrinterByType(int type) {
//初始化USB打印
if (type == PRINT_TEST) {
return new PrintTest();
} else if (type == PRINT_SERVE) {
......@@ -106,6 +109,13 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return null;
}
public PrinterRoot initUsbPrint() {
// usbPrint = UsbPrint.getInstance(mContext, sendCallback);
// printerFinder = new UsbPrinterFinder(mContext, printerFinderCallback);
// printerFinder.startFinder();
return this;
}
public PrinterRoot setmContext(Context mContext) {
this.mContext = mContext;
return this;
......@@ -508,7 +518,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
ipDevicePrint(printerDeviceBean, bitmaps, this, this);
}
protected Bitmap zoomBitmap(PrinterDeviceBean printerDeviceBean, Bitmap bitmap) {
public Bitmap zoomBitmap(PrinterDeviceBean printerDeviceBean, Bitmap bitmap) {
int printWidth;
if (printerDeviceBean != null && printerDeviceBean.getPaperSpecification() != null) {
printWidth = Double.valueOf(printerDeviceBean.getPaperSpecification()).intValue();
......@@ -528,40 +538,41 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
public void ipDevicePrint(PrinterDeviceBean
printerDeviceBean, List<Bitmap> bitmaps, PrintSocketHolder.OnStateChangedListener
stateChangedListener, PrintExecutor.OnPrintResultListener resultListener) {
if (printerDeviceBean == null)
return;
int printWidth;//打印出來的內容寬度
if (printerDeviceBean.getPaperSpecification() != null) {
printWidth = Double.valueOf(printerDeviceBean.getPaperSpecification()).intValue();
} else {
//如果打印機沒設置寬度
printWidth = 480;
printerDeviceBean.setPaperSpecification(printWidth + "");
}
// if (printerDeviceBean == null)
// return;
// int printWidth;//打印出來的內容寬度
// if (printerDeviceBean.getPaperSpecification() != null) {
// printWidth = Double.valueOf(printerDeviceBean.getPaperSpecification()).intValue();
// } else {
// //如果打印機沒設置寬度
// printWidth = 480;
// printerDeviceBean.setPaperSpecification(printWidth + "");
// }
//獲取打印機機型,如果是EPSON的打印機,調用EPSON的打印方法
if ((printerDeviceBean.getPrinterName() != null && printerDeviceBean.getPrinterName().toLowerCase().contains("EPSON".toLowerCase()))
&& (printerDeviceBean.getModel() != null && printerDeviceBean.getModel().toLowerCase().contains("TM-U220B".toLowerCase()))) {
List<Bitmap> zoomBitmap = null;
if (bitmaps != null) {
zoomBitmap = new ArrayList<>();
for (int i = 0; i < bitmaps.size(); i++) {
if (bitmaps.get(i) != null) {
Bitmap newBitmap = ImageUtils.zoomDrawable(bitmaps.get(i), printWidth, 2d);
zoomBitmap.add(newBitmap);
}
}
}
if (zoomBitmap == null) {
printListener.printFile();
return;
}
List<Bitmap> finalZoomBitmap = zoomBitmap;
// List<Bitmap> zoomBitmap = null;
// if (bitmaps != null) {
// zoomBitmap = new ArrayList<>();
// for (int i = 0; i < bitmaps.size(); i++) {
// if (bitmaps.get(i) != null) {
// Bitmap newBitmap = ImageUtils.zoomDrawable(bitmaps.get(i), printWidth, 2d);
// zoomBitmap.add(newBitmap);
// }
// }
// }
// if (zoomBitmap == null) {
// printListener.printFile();
// return;
// }
// List<Bitmap> finalZoomBitmap = zoomBitmap;
mPrinter = EpsonPrint.getInstance();
mPrinter.initializeObject(GsaCloudApplication.getAppContext(), this);
new Thread(() -> {
int state = 0;//0打印失敗,1打印成功,2沒紙
for (int j = 0; j < finalZoomBitmap.size(); j++) {
state = mPrinter.putPrintData(printerDeviceBean.getIp(), finalZoomBitmap.get(j));
for (int j = 0; j < bitmaps.size(); j++) {
state = mPrinter.putPrintData(printerDeviceBean.getIp(), bitmaps.get(j));
}
if (printListener != null) {
if (state == 2) {
......@@ -572,64 +583,80 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
}
}).start();
} else {
List<Bitmap> zoomBitmap = null;
if (bitmaps != null) {
zoomBitmap = new ArrayList<>();
for (int i = 0; i < bitmaps.size(); i++) {
Bitmap newBitmap = ImageUtils.zoomDrawable(bitmaps.get(i), printWidth);
Log.e("eee", "寬度:" + newBitmap.getWidth() + "高度:" + newBitmap.getHeight());
zoomBitmap.add(newBitmap);
}
}
if (zoomBitmap == null) {
printListener.printFile();
return;
}
// List<Bitmap> zoomBitmap = null;
// if (bitmaps != null) {
// zoomBitmap = new ArrayList<>();
// for (int i = 0; i < bitmaps.size(); i++) {
// Bitmap newBitmap = ImageUtils.zoomDrawable(bitmaps.get(i), printWidth);
// Log.e("eee", "寬度:" + newBitmap.getWidth() + "高度:" + newBitmap.getHeight());
// zoomBitmap.add(newBitmap);
// }
// }
// if (zoomBitmap == null) {
// printListener.printFile();
// return;
// }
PrintExecutor executor = new PrintExecutor(printerDeviceBean);
executor.setOnStateChangedListener(stateChangedListener);
executor.setOnPrintResultListener(resultListener);
for (int j = 0; j < printCount; j++) {
IpPrintMaker maker = new IpPrintMaker(mContext, printWidth, zoomBitmap);
IpPrintMaker maker = new IpPrintMaker(mContext, 480, bitmaps);
executor.doPrinterRequestAsync(maker);
}
}
}
public void usbPrint(Context context, List<Bitmap> bitmaps) {
UsbPrint usbPrint = UsbPrint.getInstance(context, (code, printId) -> {
UsbPrint usbPrint = new UsbPrint(mContext, (code, printId) -> {
Log.e("ddd", printId + "打印結果:" + code);
//打印結果
if (code == SendResultCode.SEND_SUCCESS) {
Log.e("eee", "打印成功");
Log.e("ddd", "打印成功" + (printListener == null));
if (printListener != null) {
Log.e("ddd", "打印成功");
printListener.printSuccess();
}
} else if (code == SendResultCode.SEND_FAILED) {
Log.e("eee", "打印失敗");
Log.e("ddd", "打印失敗" + (printListener == null));
if (printListener != null) {
printListener.printFile();
}
}
});
//查找打印機
UsbPrinterFinder printerFinder = new UsbPrinterFinder(context, new PrinterFinderCallback<UsbPrinter>() {
UsbPrinterFinder printerFinder = new UsbPrinterFinder(mContext, new PrinterFinderCallback<UsbPrinter>() {
@Override
public void onStart() {
ToastUtils.show(context, "開始尋找打印機");
}
@Override
public void onFound(UsbPrinter usbPrinter) {
}
@Override
public void onFinished(List<UsbPrinter> usbPrinters) {
if (usbPrinters != null && usbPrinters.size() > 0) {
Log.e("ddd", "找到" + usbPrinters.size() + "台打印機");
for (Bitmap bitmap : bitmaps) {
EscCommand esc = new EscCommand();
byte[] bytes = PrinterWriter.decodeBitmapToDataList(bitmap, 255);
if (bytes != null) {
esc.addArrayToCommand(bytes);
ArrayList<byte[]> bytes = new ArrayList<>();
try {
bytes.addAll(new PrinterWriter58mm().getImageByte(bitmap));
} catch (IOException e) {
e.printStackTrace();
}
esc.addCutPaper();
esc.addCleanCache();
usbPrint.sendPrintCommand(usbPrinters.get(0), esc.getByteArrayCommand());
bytes.add(esc.getPrintAndFeedLines((byte) 8));
bytes.add(esc.getCutPaper());
bytes.add(esc.getCleanCache());
if (usbPrinters.size() > 0)
usbPrint.sendPrintCommand(usbPrinters.get(0), bytes);
}
} else {
boolean hasPermission = new Intent().getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false);
Log.e("ddd", "未找到USB打印機" + hasPermission);
ToastUtils.show(context, "未找到USB打印機");
printListener.printFile();
}
}
});
......@@ -657,7 +684,10 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
switch (errorCode) {
case PrintSocketHolder.ERROR_0:
Log.e("eee", "打印成功");
cutPrintSize();
// cutPrintSize();
if (printListener != null) {
printListener.printSuccess();
}
break;
case PrintSocketHolder.ERROR_1:
Log.e("eee", "生成測試頁面數據失敗");
......@@ -667,7 +697,10 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
case PrintSocketHolder.ERROR_3:
Log.e("eee", "獲取輸出流失敗");
printerFileDevices.add(printerDeviceBean);
cutPrintSize();
// cutPrintSize();
if (printListener != null) {
printListener.printFile();
}
break;
case PrintSocketHolder.ERROR_4:
Log.e("eee", "寫入測試頁面數據失敗");
......@@ -787,6 +820,11 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
}
}
public void onDestroy() {
// if (printerFinder != null) {
// printerFinder.unregisterReceiver();
// }
}
@Override
public void onPtrReceive(Printer printer, int i, PrinterStatusInfo printerStatusInfo, String s) {
......@@ -865,7 +903,7 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
return rvPayType;
}
public View getAmountText(Context mContext,String text){
public View getAmountText(Context mContext, String text) {
return getTextView(mContext, text, Gravity.RIGHT, mContext.getResources().getDimensionPixelSize(R.dimen.dp_24), ContextCompat.getColor(mContext, R.color.black));
}
......
......@@ -21,11 +21,10 @@ import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.PrinterDeviceDaoUtils;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.joe.print.mvp.model.bean.PrintInfoBean;
import com.joe.print.mvp.model.bean.PrjBean;
import com.joe.print.mvp.print.EpsonPrint;
import com.joe.print.mvp.print.PrintPrjKitchen;
import com.joe.print.mvp.print.PrinterRoot;
import com.joe.print.mvp.print.usb.UsbPrinterFinder;
import com.joe.print.mvp.print.utils.MyPrintUtils;
import org.json.JSONArray;
......@@ -62,6 +61,12 @@ public class PrjService extends Service implements PrintSocketHolder.OnStateChan
private List<PrintCurrencyBean> printCurrencyBeans;//通用打印配置
@Override
public void onCreate() {
super.onCreate();
initUsbPrint();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("eee", "開啟打印服務");
getPrintList();
......@@ -70,6 +75,12 @@ public class PrjService extends Service implements PrintSocketHolder.OnStateChan
return super.onStartCommand(intent, flags, startId);
}
public void initUsbPrint() {
//開啟監聽USB連接
UsbPrinterFinder printerFinder = new UsbPrinterFinder(this, null);
printerFinder.startFinder();
}
private void getPrintList() {
if (printerDeviceBeans == null || printerDeviceBeans.size() == 0) {
PrinterDeviceDaoUtils printerDeviceDaoUtils = new PrinterDeviceDaoUtils(this);
......
......@@ -54,6 +54,16 @@ public class EscCommand {
}
/**
* 添加空行
*
* @param n 行数
*/
public byte[] getPrintAndFeedLines(byte n) {
return new byte[]{27, 100, n};
}
/**
* 切纸命令
*/
public void addCutPaper() {
......@@ -61,11 +71,22 @@ public class EscCommand {
this.addArrayToCommand(bytes);
}
/**
* 切纸命令
*/
public byte[] getCutPaper() {
return new byte[]{(byte) 29, (byte) 86, (byte) 0};
}
public void addCleanCache() {
byte[] bytes = {(byte) 27, (byte) 74, (byte) 0};
this.addArrayToCommand(bytes);
}
public byte[] getCleanCache() {
return new byte[]{(byte) 27, (byte) 74, (byte) 0};
}
//0 居左 1居中 2居右
public void addSelectJustification(int just) {
byte[] command = new byte[]{27, 97, (byte) just};
......
......@@ -5,40 +5,42 @@ import android.hardware.usb.UsbDeviceConnection;
import android.hardware.usb.UsbManager;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import com.joe.print.mvp.print.common.SendCallback;
import com.joe.print.mvp.print.common.SendResultCode;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class UsbPrint {
private static UsbPrint INSTANCE;
// private UsbPrint INSTANCE;
private final UsbManager usbManager;
private SendCallback sendCallback;
private final ExecutorService threadPool;
private MyHandler myHandler;
private UsbPrint(Context context, SendCallback sendCallback) {
public UsbPrint(Context context, SendCallback sendCallback) {
this.usbManager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
this.sendCallback = sendCallback;
this.threadPool = Executors.newFixedThreadPool(3);
this.myHandler = new MyHandler(this);
}
public static UsbPrint getInstance(Context context, SendCallback sendCallback) {
if (INSTANCE == null) {
synchronized (UsbPrint.class) {
if (INSTANCE == null) {
INSTANCE = new UsbPrint(context, sendCallback);
}
}
}
return INSTANCE;
}
// public static UsbPrint getInstance(Context context, SendCallback sendCallback) {
// if (INSTANCE == null) {
// synchronized (UsbPrint.class) {
// if (INSTANCE == null) {
// INSTANCE = new UsbPrint(context, sendCallback);
// }
// }
// }
// return INSTANCE;
// }
public void sendPrintCommand(UsbPrinter printer, byte[] bytes) {
public void sendPrintCommand(UsbPrinter printer, ArrayList<byte[]> bytes) {
if (printer == null || printer.getUsbDevice() == null) {
return;
}
......@@ -49,9 +51,9 @@ public class UsbPrint {
private class SendCommandThread extends Thread {
private UsbManager usbManager;
private UsbPrinter usbPrinter;
private byte[] bytes;
private ArrayList<byte[]> bytes;
public SendCommandThread(UsbManager usbManager, UsbPrinter usbPrinter, byte[] bytes) {
public SendCommandThread(UsbManager usbManager, UsbPrinter usbPrinter, ArrayList<byte[]> bytes) {
this.usbManager = usbManager;
this.usbPrinter = usbPrinter;
this.bytes = bytes;
......@@ -62,11 +64,18 @@ public class UsbPrint {
super.run();
UsbDeviceConnection connection = usbManager.openDevice(usbPrinter.getUsbDevice());
if (connection != null && connection.claimInterface(usbPrinter.getUsbInterface(), true)) {
int result = connection.bulkTransfer(usbPrinter.getUsbOut(), bytes, bytes.length, 500);
int result = 0;
for (int i = 0; i < bytes.size(); i++) {
result = connection.bulkTransfer(usbPrinter.getUsbOut(), bytes.get(i), bytes.get(i).length, 5000);
}
connection.close();
int sendResultCode = result > 0 ? SendResultCode.SEND_SUCCESS : SendResultCode.SEND_FAILED;
Log.e("ddd", "發送結果" + sendResultCode);
sendMessage(sendResultCode, usbPrinter.getPrinterName());
} else {
Log.e("ddd", "連接失敗");
}
}
}
......
......@@ -88,7 +88,6 @@ public class UsbPrinterFinder {
if (!isUsbPrinter(usbDevice)) {
continue;
}
if (usbManager.hasPermission(usbDevice)) {
UsbPrinter usbPrinter = getUsbPrinter(usbDevice);
if (usbPrinter != null) {
......@@ -98,7 +97,6 @@ public class UsbPrinterFinder {
}
Log.d(TAG, "hasPermission add " + usbPrinter.getPrinterName());
}
} else {
usbManager.requestPermission(usbDevice, usbPermissionIntent);
Log.d(TAG, "requestPermission " + usbDevice.getDeviceName());
......
......@@ -25,14 +25,12 @@ import androidx.recyclerview.widget.RecyclerView;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCResult;
import com.billy.cc.core.component.CCUtil;
import com.gingersoft.gsa.cloud.base.application.GsaCloudApplication;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils;
import com.gingersoft.gsa.cloud.base.widget.DialogUtils;
import com.gingersoft.gsa.cloud.constans.PrintConstans;
import com.gingersoft.gsa.cloud.database.bean.PrintCurrencyBean;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.gingersoft.gsa.cloud.database.utils.PrinterDeviceDaoUtils;
import com.gingersoft.gsa.cloud.print.PrintExecutor;
import com.gingersoft.gsa.cloud.print.PrintSocketHolder;
import com.jess.arms.base.BaseActivity;
......@@ -43,18 +41,9 @@ 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.OpenCashBoxMaker;
import com.joe.print.mvp.print.PrintBill;
import com.joe.print.mvp.print.PrintCleanMachine;
import com.joe.print.mvp.print.PrintInstruction;
import com.joe.print.mvp.print.PrintListener;
import com.joe.print.mvp.print.PrintOtherOrder;
import com.joe.print.mvp.print.PrintOtherOrderClosing;
import com.joe.print.mvp.print.PrintPrjKitchen;
import com.joe.print.mvp.print.PrintServe;
import com.joe.print.mvp.print.PrintSlip;
import com.joe.print.mvp.print.PrintTest;
import com.joe.print.mvp.print.PrinterRoot;
import com.joe.print.mvp.print.utils.MyPrintUtils;
import com.joe.print.mvp.ui.adapter.DialogPrinterListAdapter;
import com.yanzhenjie.recyclerview.widget.DefaultItemDecoration;
......@@ -84,7 +73,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* ----網絡打印
* ----獲取網絡打印機列表
*/
public class PrintActivity extends BaseActivity<PrintPresenter> implements PrintContract.View, DialogInterface.OnDismissListener, PrintListener {
public class PrintActivity extends BaseActivity<PrintPresenter> implements PrintContract.View, DialogInterface.OnDismissListener, PrintListener, PrintSocketHolder.OnStateChangedListener, PrintExecutor.OnPrintResultListener {
public final static int ADD_PRINT_CODE = 1001;//添加打印機回調
public final static int DIMISS_LOADING = 1002;//關閉加載窗
......@@ -99,7 +88,15 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
private Dialog mLoadingDialog;
private TextView mTvLoadingTip;
/**
* 0:上菜紙
* 1:印單
* 2:結賬單
* 3:廚房單
* 4:打印view
* 5:打印外賣接單
* 6:其他指令
*/
private int type;
private boolean isShowDialog;
......@@ -125,21 +122,13 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
public void initData(@Nullable Bundle savedInstanceState) {
callId = CCUtil.getNavigateCallId(this);
//獲取打印類型,根據打印類型生成對應的bitmap
/**
* 0:上菜紙
* 1:印單
* 2:結賬單
* 3:廚房單
* 4:打印view
* 5:打印外賣接單
* 6:其他指令
*/
type = CCUtil.getNavigateParam(this, PRINT_TYPE, -1);
isShowDialog = CCUtil.getNavigateParam(this, PrintConstans.PRINT_LOADING, true);
printerInIt = PrinterRoot.getPrinterByType(type);
if (printerInIt != null) {
printerInIt.setmContext(mContext).setPrintListener(this);
printerInIt.setmContext(mContext).setPrintListener(this).initUsbPrint();
}
// PrinterDeviceDaoUtils printerDeviceDaoUtils = new PrinterDeviceDaoUtils(this);
......@@ -227,23 +216,32 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
initDialog();
}
//獲取對應的打印類
printerInIt = mPresenter.getPrinterByType(type);
if (printerInIt instanceof PrintInstruction) {
//開錢箱
PrintExecutor executor = new PrintExecutor(defaultPrint);
executor.doPrinterRequestAsync(new OpenCashBoxMaker());
} else {
//先在這裡壓縮,之後在每個類自己生成的時候壓縮
List<Bitmap> bitmaps = printerInIt.getPrintBitmap(mContext, defaultPrint).get("");
if (bitmaps != null && bitmaps.size() > 0) {
List<Bitmap> zoomBitmaps = new ArrayList<>();
if (bitmaps == null || bitmaps.size() <= 0) {
printFile();
return;
}
for (Bitmap bitmap : bitmaps) {
Bitmap zoomBitmap = printerInIt.zoomBitmap(defaultPrint, bitmap);
zoomBitmaps.add(zoomBitmap);
}
if (zoomBitmaps.size() > 0) {
if (defaultPrint.getPrinterDeviceType() == 1) {
//IP打印
printerInIt.ipDevicePrint(defaultPrint, bitmaps);
printerInIt.ipDevicePrint(defaultPrint, zoomBitmaps);
} else if (defaultPrint.getPrinterDeviceType() == 2) {
//本地N5或Sunmi打印
printerInIt.locationPrint(bitmaps, this);
printerInIt.locationPrint(zoomBitmaps, this);
} else if (defaultPrint.getPrinterDeviceType() == 3) {
//USB打印打印
printerInIt.usbPrint(mContext, bitmaps);
printerInIt.usbPrint(mContext, zoomBitmaps);
} else {
ToastUtils.show(mContext, "未找到對應的打印類型");
finish();
......@@ -252,7 +250,6 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
//打印失敗
Log.e("eee", "打印失敗,沒有生成對應的圖片");
finish();
}
}
}
......@@ -496,6 +493,9 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
protected void onDestroy() {
super.onDestroy();
disLoadingDialog();
if (printerInIt != null) {
printerInIt.onDestroy();
}
}
private void disLoadingDialog() {
......@@ -505,4 +505,16 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
});
}
@Override
public void onStateChanged(int state, PrinterDeviceBean printerDeviceBean) {
//ip打印狀態修改回調
}
@Override
public void onResult(int errorCode, PrinterDeviceBean printerDeviceBean) {
//ip打印結果回調
}
}
......@@ -147,6 +147,45 @@ public class PrintTestActivity extends AppCompatActivity implements PrintSocketH
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_print_test);
// PrinterDeviceBean printerDeviceBean = new PrinterDeviceBean("192.168.1.218", 9100, "400");
//
// OrderDetails orderDetails = JsonUtils.parseObject(json, OrderDetails.class);
// usbPrint = UsbPrint.getInstance(this, sendCallback);
UsbPrinterFinder printerFinder = new UsbPrinterFinder(this, printerFinderCallback);
printerFinder.startFinder();
PrintTest printTest = new PrintTest();
// printTest.getPrintBitmap(this);
// PrinterWriter printer = null;
Bitmap bitmap = ImageUtils.zoomDrawable(printTest.getTestPrintBitmap(this), 306);
// try {
// printer = new PrinterWriterExecutor(255, 400);
// } catch (IOException e) {
// e.printStackTrace();
// }
// ArrayList<byte[]> image1 = printer.getImageByte(printTest.getPrintBitmap(this).get("").get(0));//將bitmap縮放到打印機紙張大小再添加到集合中。
findViewById(R.id.btn_test).setOnClickListener(view -> {
//打印測試
// PrintExecutor executor = new PrintExecutor(printerDeviceBean);
// executor.setOnStateChangedListener(this);
// executor.setOnPrintResultListener(this);
// TestPrintMaker maker = null;
EscCommand esc = new EscCommand();
byte[] bytes = PrinterWriter.decodeBitmapToDataList(bitmap, 255);
if (bytes != null) {
esc.addArrayToCommand(bytes);
}
esc.addPrintAndFeedLines((byte)8);
esc.addCutPaper();
esc.addCleanCache();
// byte[] bytes = decodeBitmapToDataList(bitmap, 32);
// if (usbPrinters != null && usbPrinters.size() > 0) {
// usbPrint.sendPrintCommand(usbPrinters.get(0), esc.getByteArrayCommand());
// }
});
}
/**
......
......@@ -11,6 +11,7 @@ import android.view.View;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Switch;
import android.widget.TextView;
......@@ -43,6 +44,7 @@ import com.qmuiteam.qmui.widget.QMUITopBar;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import butterknife.BindView;
......@@ -60,6 +62,8 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
// EditText ipEdit1, ipEdit2, ipEdit3, ipEdit4;
@BindView(R2.id.add_printer_ed_name)
EditText mEdPrintName;
@BindView(R2.id.tv_print_type)
TextView tvPrintType;
@BindViews({R2.id.ip_edit_1, R2.id.ip_edit_2, R2.id.ip_edit_3, R2.id.ip_edit_4})
EditText[] ipEdits = new EditText[4];
@BindView(R2.id.add_printer_topbar)
......@@ -78,17 +82,34 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
TextView mTvFoodNameSize;//食品字體大小
@BindView(R2.id.tv_details_font_size)
TextView mTvdetailsFontSize;//細項字體大小
@BindView(R2.id.switch_print_device_food_font_thickness)
Switch mSwitchFontThickness;//食品是否加粗
@BindView(R2.id.switch_food_items_thickness)
Switch mSwitchFoodItemsThickness;//細項是否加粗
@BindView(R2.id.switch_food_italic)
Switch mSwitchFoodItalic;//食品是否斜體
@BindView(R2.id.switch_food_items_italic)
Switch mSwitchFoodItemsItalic;//細項是否斜體
@BindView(R2.id.switch_color_flip)
Switch mSwitchColorFlip;//是否翻轉
// @BindView(R2.id.switch_print_device_food_font_thickness)
// Switch mSwitchFontThickness;//食品是否加粗
@BindView(R2.id.tv_print_device_food_bold)
TextView tvFoodIsBold;//食品是否加粗
@BindView(R2.id.tv_print_device_modifier_bold)
TextView tvModifierIsBold;//細項是否加粗
// @BindView(R2.id.switch_food_items_thickness)
// Switch mSwitchFoodItemsThickness;//細項是否加粗
// @BindView(R2.id.switch_food_italic)
// Switch mSwitchFoodItalic;//食品是否斜體
@BindView(R2.id.tv_print_food_italic)
TextView tvFoodItalic;//食品斜體
// @BindView(R2.id.switch_food_items_italic)
// Switch mSwitchFoodItemsItalic;//細項是否斜體
@BindView(R2.id.tv_print_modifier_italic)
TextView tvModifierItalic;//細項斜體
// @BindView(R2.id.switch_color_flip)
// Switch mSwitchColorFlip;//是否翻轉
@BindView(R2.id.tv_print_flip)
TextView tvFlip;
@BindView(R2.id.layout_ip)
LinearLayout layoutIp;
@BindView(R2.id.layout_port)
LinearLayout layoutPort;
@BindView(R2.id.print_port_line)
View printPortLine;
@BindView(R2.id.print_ip_line)
View printIpLine;
private List<PrinterDeviceBean> devicess;
private PrinterDeviceBean printerDeviceBean;
private boolean isEditPrinter = false;//是否是編輯打印機
......@@ -99,6 +120,19 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
private List<String> printModelLabels;
private int modelPosition = -1;
private int foodFondSize = 0;//食品字體大小 0為預設
private int modifierFontSize = 0; //細項字體大小 0為預設
private int printType = 1;//打印類型:1:網絡打印,2:本機打印 3:USB打印 4:藍牙打印
private int foodIsBoldPosition = 0;//食品是否加粗
private int modifierIsBoldPosition = 0;//細項是否加粗
private int foodIsItalic = 0;//食品是否斜體
private int modifierIsItalic = 0;//細項是否斜體
private int flipPosition = 0;//數量大於1是否翻轉
public static List<String> printTypes = Arrays.asList("網路打印", "本機打印", "USB打印");
private List<String> fontSize = Arrays.asList("預設", "0", "1");
private List<String> booleanSelect = Arrays.asList("預設", "是", "否");
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
......@@ -123,6 +157,18 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
mEdPrintName.setText(String.valueOf(printerDeviceBean.getName()));
ips = printerDeviceBean.getIp().split("[.]");
etPort.setText(printerDeviceBean.getPort() + "");
printType = printerDeviceBean.getPrinterDeviceType();
hideIpPrint();
if (printerDeviceBean.getFoodFont().equals("請選擇") || printerDeviceBean.getFoodFont().equals("")) {
foodFondSize = 0;
} else {
foodFondSize = Integer.parseInt(printerDeviceBean.getFoodFont());
}
if (printerDeviceBean.getModifierFont().equals("請選擇") || printerDeviceBean.getModifierFont().equals("")) {
modifierFontSize = 0;
} else {
modifierFontSize = Integer.parseInt(printerDeviceBean.getModifierFont());
}
if (printerDeviceBean.getPrinterName() != null) {
mTvModel.setTextColor(getResources().getColor(R.color.color_3c));
......@@ -154,21 +200,40 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
}
}
}
if (!TextUtil.isEmptyOrNullOrUndefined(printerDeviceBean.getFoodFont())) {
mTvFoodNameSize.setText(printerDeviceBean.getFoodFont());
}
if (!TextUtil.isEmptyOrNullOrUndefined(printerDeviceBean.getModifierFont())) {
mTvdetailsFontSize.setText(printerDeviceBean.getModifierFont());
}
mSwitchFontThickness.setChecked(printerDeviceBean.getFoodIsBold() == 1);
mSwitchFoodItemsThickness.setChecked(printerDeviceBean.getModifierIsBold() == 1);
mSwitchFoodItalic.setChecked(printerDeviceBean.getFoodIsItalic() == 1);
mSwitchFoodItemsItalic.setChecked(printerDeviceBean.getModifierIsItalic() == 1);
mSwitchColorFlip.setChecked(printerDeviceBean.getNumberIsFlip() == 1);
// mSwitchFontThickness.setChecked(printerDeviceBean.getFoodIsBold() == 1);
// mSwitchFoodItemsThickness.setChecked(printerDeviceBean.getModifierIsBold() == 1);
// mSwitchFoodItalic.setChecked(printerDeviceBean.getFoodIsItalic() == 1);
// mSwitchFoodItemsItalic.setChecked(printerDeviceBean.getModifierIsItalic() == 1);
// mSwitchColorFlip.setChecked(printerDeviceBean.getNumberIsFlip() == 1);
foodIsBoldPosition = printerDeviceBean.getFoodIsBold();
modifierIsBoldPosition = printerDeviceBean.getModifierIsBold();
foodIsItalic = printerDeviceBean.getFoodIsItalic();
modifierIsItalic = printerDeviceBean.getModifierIsItalic();
flipPosition = printerDeviceBean.getNumberIsFlip();
} else {
mTvFoodNameSize.setText("1");
mTvdetailsFontSize.setText("1");
}
//打印類型,USB,網路
if (printType - 1 >= 0 && printType - 1 < printTypes.size()) {
tvPrintType.setText(printTypes.get(printType - 1));
}
//食品和細項字體大小
if (foodFondSize > fontSize.size()) {
foodFondSize = 0;
}
mTvFoodNameSize.setText(fontSize.get(foodFondSize));
if (modifierFontSize > fontSize.size()) {
modifierFontSize = 0;
}
mTvdetailsFontSize.setText(fontSize.get(modifierFontSize));
tvFoodIsBold.setText(booleanSelect.get(foodIsBoldPosition));
tvModifierIsBold.setText(booleanSelect.get(modifierIsBoldPosition));
tvFoodItalic.setText(booleanSelect.get(foodIsItalic));
tvModifierItalic.setText(booleanSelect.get(modifierIsItalic));
tvFlip.setText(booleanSelect.get(flipPosition));
//添加監聽
for (int i = 0; i < ipEdits.length; i++) {
MyTextWatcher myTextWatchers = new MyTextWatcher(ipEdits[i]);
......@@ -260,19 +325,38 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
finish();
}
private void showSelectFoodFontSize(TextView textView) {
List<String> types = new ArrayList<>();
types.add("1");
types.add("2");
types.add("3");
types.add("4");
types.add("5");
DialogUtils.showSelectPopop(this, types, "餐檯模式", 0, i -> textView.setText(types.get(i)));
DialogUtils.showSelectPopop(this, fontSize, "字體大小", 0, i -> {
textView.setText(fontSize.get(i));
if (textView.getId() == R.id.tv_food_font_size) {
//食品字體大小
foodFondSize = i;
} else if (textView.getId() == R.id.tv_details_font_size) {
modifierFontSize = i;
}
});
}
private void showSelectPrintType() {
// types.add("藍牙打印");
DialogUtils.showSelectPopop(this, printTypes, "打印機類型", printType - 1, i -> {
printType = i + 1;
hideIpPrint();
tvPrintType.setText(printTypes.get(i));
});
}
private void hideIpPrint() {
//只要不是網絡打印,就不需要輸入打印機IP和端口號
int isVisible = printType != 1 ? View.GONE : View.VISIBLE;
layoutIp.setVisibility(isVisible);
layoutPort.setVisibility(isVisible);
printPortLine.setVisibility(isVisible);
printIpLine.setVisibility(isVisible);
}
@OnClick({R2.id.printer_add, R2.id.layout_select_fail_one, R2.id.layout_select_fail_two, R2.id.layout_print_device, R2.id.layout_print_device_food_font_size, R2.id.layout_print_device_food_item_font_size})
@OnClick({R2.id.layout_flip, R2.id.layout_modifier_italic, R2.id.layout_food_italic, R2.id.layout_print_modifier_isbold, R2.id.layout_print_food_isbold, R2.id.layout_print_type, R2.id.printer_add, R2.id.layout_select_fail_one, R2.id.layout_select_fail_two, R2.id.layout_print_device, R2.id.layout_print_device_food_font_size, R2.id.layout_print_device_food_item_font_size})
@Override
public void onClick(View v) {
int id = v.getId();
......@@ -291,10 +375,53 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
} else if (id == R.id.layout_print_device_food_item_font_size) {
//選擇食品細項字體大小
showSelectFoodFontSize(mTvdetailsFontSize);
}
} else if (id == R.id.layout_print_type) {
//選擇打印機類型
showSelectPrintType();
} else if (id == R.id.layout_print_food_isbold) {
//食品是否加粗
showSelectFoodIsBold("是否加粗", tvFoodIsBold);
} else if (id == R.id.layout_print_modifier_isbold) {
showSelectFoodIsBold("是否加粗", tvModifierIsBold);
} else if (id == R.id.layout_food_italic) {
showSelectFoodIsBold("是否斜體", tvFoodItalic);
} else if (id == R.id.layout_modifier_italic) {
showSelectFoodIsBold("是否斜體", tvModifierItalic);
} else if (id == R.id.layout_flip) {
showSelectFoodIsBold("是否翻轉", tvFlip);
}
}
private void showSelectFoodIsBold(String title, TextView textView) {
int defaultSelect = 0;
int viewId = textView.getId();
if (viewId == R.id.tv_print_device_food_bold) {
defaultSelect = foodIsBoldPosition;
} else if (viewId == R.id.tv_print_device_modifier_bold) {
defaultSelect = modifierIsBoldPosition;
} else if (viewId == R.id.tv_print_food_italic) {
defaultSelect = foodIsItalic;
} else if (viewId == R.id.tv_print_modifier_italic) {
defaultSelect = modifierIsItalic;
} else if (viewId == R.id.tv_print_flip) {
defaultSelect = flipPosition;
}
DialogUtils.showSelectPopop(this, booleanSelect, title, defaultSelect, i -> {
if (viewId == R.id.tv_print_device_food_bold) {
foodIsBoldPosition = i;
} else if (viewId == R.id.tv_print_device_modifier_bold) {
modifierIsBoldPosition = i;
} else if (viewId == R.id.tv_print_food_italic) {
foodIsItalic = i;
} else if (viewId == R.id.tv_print_modifier_italic) {
modifierIsItalic = i;
} else if (viewId == R.id.tv_print_flip) {
flipPosition = i;
}
textView.setText(booleanSelect.get(i));
});
}
/**
* 選擇打印機機型
*/
......@@ -384,9 +511,12 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
ToastUtils.show(mContext, "打印機名稱禁止輸入%字符");
return;
}
if (printerDeviceBean == null) {
printerDeviceBean = new PrinterDeviceBean();
}
//保存打印機信息
StringBuilder ipAddress = new StringBuilder();
if (printType == 1) {
for (EditText editText : ipEdits) {
if (editText.getText() == null || editText.getText().toString().equals("")) {
showMessage("請輸入完整的IP地址");
......@@ -395,20 +525,22 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
ipAddress.append(editText.getText());
ipAddress.append(".");
}
hideKeyBoard();
String port = etPort.getText().toString();
if (printerDeviceBean == null) {
printerDeviceBean = new PrinterDeviceBean();
}
printerDeviceBean.setName(mEdPrintName.getText().toString().trim());
printerDeviceBean.setRestaurantId(GsaCloudApplication.getRestaurantId(mContext));
printerDeviceBean.setIp(ipAddress.substring(0, ipAddress.lastIndexOf(".")));
String port = etPort.getText().toString();
if (TextUtil.isEmptyOrNullOrUndefined(port)) {
printerDeviceBean.setPort(9100);
} else {
printerDeviceBean.setPort(Integer.parseInt(port));
}
} else{
printerDeviceBean.setIp("");
printerDeviceBean.setPort(0);
}
hideKeyBoard();
printerDeviceBean.setName(mEdPrintName.getText().toString().trim());
printerDeviceBean.setRestaurantId(GsaCloudApplication.getRestaurantId(mContext));
//飛單打印機
if (oneFailPosition != -1) {
printerDeviceBean.setFlyPrinterDeviceId(devicess.get(oneFailPosition).getId());
......@@ -430,18 +562,16 @@ public class PrinterAddActivity extends BaseActivity<PrinterAddPresenter> implem
ToastUtils.show(mContext, "請選擇打印機機型");
return;
}
printerDeviceBean.setFoodFont("" + foodFondSize);
printerDeviceBean.setModifierFont("" + modifierFontSize);
if (editTextIsNull(mTvFoodNameSize)) {
printerDeviceBean.setFoodFont(mTvFoodNameSize.getText().toString());
}
if (editTextIsNull(mTvdetailsFontSize)) {
printerDeviceBean.setModifierFont(mTvdetailsFontSize.getText().toString());
}
printerDeviceBean.setFoodIsBold(mSwitchFontThickness.isChecked() ? 1 : 2);
printerDeviceBean.setModifierIsBold(mSwitchFoodItemsThickness.isChecked() ? 1 : 2);
printerDeviceBean.setFoodIsItalic(mSwitchFoodItalic.isChecked() ? 1 : 2);
printerDeviceBean.setModifierIsItalic(mSwitchFoodItemsItalic.isChecked() ? 1 : 2);
printerDeviceBean.setNumberIsFlip(mSwitchColorFlip.isChecked() ? 1 : 2);
printerDeviceBean.setFoodIsBold(foodIsBoldPosition);
printerDeviceBean.setModifierIsBold(modifierIsBoldPosition);
printerDeviceBean.setFoodIsItalic(foodIsItalic);
printerDeviceBean.setModifierIsItalic(modifierIsItalic);
printerDeviceBean.setNumberIsFlip(flipPosition);
printerDeviceBean.setPrinterDeviceType(printType);
//添加打印機
if (v.getId() == R.id.printer_add) {
if (isEditPrinter) {
......
......@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R;
import com.joe.print.mvp.ui.activity.PrinterAddActivity;
import java.util.List;
......@@ -25,7 +26,12 @@ public class DialogPrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean
@Override
protected void convert(BaseViewHolder helper, PrinterDeviceBean item) {
helper.setText(R.id.tv_printer_name, item.getName() + "");
if (item.getPrinterDeviceType() == 1) {
helper.setText(R.id.tv_printer_ip, String.format(mContext.getString(R.string.print_ip), item.getIp()));
helper.setText(R.id.tv_printer_port, String.format(mContext.getString(R.string.print_port), item.getPort() + ""));
} else {
helper.setText(R.id.tv_printer_ip, PrinterAddActivity.printTypes.get(item.getPrinterDeviceType() - 1));
}
// helper.setText(R.id.tv_printer_port, String.format(mContext.getString(R.string.print_port), item.getPort() + ""));
}
}
......@@ -10,6 +10,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean;
import com.joe.print.R;
import com.joe.print.mvp.ui.activity.PrinterAddActivity;
import java.util.List;
......@@ -29,7 +30,11 @@ public class PrinterListAdapter extends BaseQuickAdapter<PrinterDeviceBean, Base
@Override
protected void convert(BaseViewHolder helper, PrinterDeviceBean item) {
helper.setText(R.id.tv_printer_name, item.getName() + "");
if (item.getIp() == null || item.getIp().length() == 0) {
helper.setText(R.id.tv_printer_ip, "" + PrinterAddActivity.printTypes.get(item.getPrinterDeviceType()-1));
} else {
helper.setText(R.id.tv_printer_ip, String.format(mContext.getString(R.string.print_ip), item.getIp()));
}
if (item.getPort() == null) {
helper.setText(R.id.tv_printer_port, String.format(mContext.getString(R.string.print_port), ""));
} else {
......
......@@ -41,10 +41,6 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* 本機打印配置頁
*/
public class LocalPrintFragment extends BaseFragment<LocalPrintPresenter> implements LocalPrintContract.View {
@BindView(R2.id.iv_location_print_btn)
Switch ivSetLocationPrintBtn;
@BindView(R2.id.layout_location_print)
LinearLayout mLayoutLocationPrint;
@BindView(R2.id.layout_currency_content)
LinearLayout currencyContent;
......@@ -72,32 +68,22 @@ public class LocalPrintFragment extends BaseFragment<LocalPrintPresenter> implem
public void onResume() {
super.onResume();
mPresenter.getPrinterCurrencyList(GsaCloudApplication.getRestaurantId(getActivity()));
initBtn();
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
mLayoutLocationPrint.setVisibility(PrintUtils.isPrintDevice() ? View.VISIBLE : View.GONE);
ivSetLocationPrintBtn.setOnCheckedChangeListener((buttonView, isChecked) -> {
if (isChecked) {
//修改默認打印方式為本地
SPUtils.put(mContext, PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.LOCAL_PRINT);
ivSetLocationPrintBtn.setChecked(true);
} else {
//如果默認打印方式為IP,修改為IP打印
SPUtils.put(mContext, PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.IP_PRINT);
ivSetLocationPrintBtn.setChecked(false);
}
});
}
private void initBtn() {
if (SPUtils.get(mContext, PrintConstans.DEFAULT_PRINT_METHOD, "").equals(PrintConstans.LOCAL_PRINT)) {
//如果默認打印方式為本地
ivSetLocationPrintBtn.setChecked(true);
} else {
ivSetLocationPrintBtn.setChecked(false);
}
// mLayoutLocationPrint.setVisibility(PrintUtils.isPrintDevice() ? View.VISIBLE : View.GONE);
// ivSetLocationPrintBtn.setOnCheckedChangeListener((buttonView, isChecked) -> {
// if (isChecked) {
// //修改默認打印方式為本地
// SPUtils.put(mContext, PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.LOCAL_PRINT);
// ivSetLocationPrintBtn.setChecked(true);
// } else {
// //如果默認打印方式為IP,修改為IP打印
// SPUtils.put(mContext, PrintConstans.DEFAULT_PRINT_METHOD, PrintConstans.IP_PRINT);
// ivSetLocationPrintBtn.setChecked(false);
// }
// });
}
/**
......
......@@ -4,28 +4,6 @@
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout_location_print"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
style="@style/print_add_title_textStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="默認本機打印" />
<Switch
android:id="@+id/iv_location_print_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:thumb="@drawable/shape_thumb_on"
android:track="@drawable/selector_switch_track" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<LinearLayout
......
......@@ -57,9 +57,48 @@
</EditText>
</LinearLayout>
<RelativeLayout
android:id="@+id/layout_print_type"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_print_type_text"
style="@style/print_add_title_textStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="打印機類型" />
<ImageView
android:id="@+id/iv_print_type_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
<TextView
android:id="@+id/tv_print_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:layout_toLeftOf="@id/iv_print_type_arrow"
android:layout_toRightOf="@id/tv_print_type_text"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16" />
</RelativeLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<LinearLayout
android:id="@+id/layout_ip"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:orientation="horizontal">
......@@ -179,9 +218,12 @@
</LinearLayout>
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<include
android:id="@+id/print_ip_line"
layout="@layout/include_horizontal_color_ccc_dividing_line" />
<LinearLayout
android:id="@+id/layout_port"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:orientation="horizontal">
......@@ -208,7 +250,9 @@
android:textSize="@dimen/dp_14" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<include
android:id="@+id/print_port_line"
layout="@layout/include_horizontal_color_ccc_dividing_line" />
<RelativeLayout
android:id="@+id/layout_print_device"
......@@ -450,6 +494,7 @@
<!-- 食品是否加粗-->
<LinearLayout
android:id="@+id/layout_print_food_isbold"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
......@@ -468,14 +513,38 @@
android:layout_height="wrap_content"
android:thumb="@drawable/shape_thumb_on"
android:track="@drawable/selector_switch_track"
android:visibility="gone"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_print_device_food_bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<!-- 細項是否加粗-->
<LinearLayout
android:id="@+id/layout_print_modifier_isbold"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
......@@ -494,14 +563,36 @@
android:layout_height="wrap_content"
android:thumb="@drawable/shape_thumb_on"
android:track="@drawable/selector_switch_track"
android:visibility="gone"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_print_device_modifier_bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<!-- 食品斜體-->
<LinearLayout
android:id="@+id/layout_food_italic"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
......@@ -521,12 +612,34 @@
android:thumb="@drawable/shape_thumb_on"
android:track="@drawable/selector_switch_track"
app:layout_constraintRight_toRightOf="parent"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_print_food_italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<!-- 細項斜體-->
<LinearLayout
android:id="@+id/layout_modifier_italic"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
......@@ -546,13 +659,35 @@
android:thumb="@drawable/shape_thumb_on"
android:track="@drawable/selector_switch_track"
app:layout_constraintRight_toRightOf="parent"
android:visibility="gone"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_print_modifier_italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
</LinearLayout>
<include layout="@layout/include_horizontal_color_ccc_dividing_line" />
<!-- 數量大於1顏色是否翻轉-->
<LinearLayout
android:id="@+id/layout_flip"
style="@style/print_add_printer_input_style"
android:layout_width="match_parent"
android:gravity="center_vertical"
......@@ -571,8 +706,29 @@
android:layout_height="wrap_content"
android:thumb="@drawable/shape_thumb_on"
android:track="@drawable/selector_switch_track"
android:visibility="gone"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_print_flip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_7"
android:layout_marginRight="@dimen/dp_7"
android:gravity="right"
android:text="請選擇"
android:textColor="@color/normal_color"
android:textSize="@dimen/dp_16"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@drawable/ic_black_next_arrow" />
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
......
......@@ -41,7 +41,6 @@ import com.gingersoft.gsa.cloud.base.common.bean.mealManage.MyOrderManage;
import com.gingersoft.gsa.cloud.base.common.bean.mealManage.OpenTableManage;
import com.gingersoft.gsa.cloud.base.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.base.utils.VibratorUtils;
import com.gingersoft.gsa.cloud.base.utils.encryption.Md5;
import com.gingersoft.gsa.cloud.base.utils.other.SPUtils;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils;
......@@ -564,9 +563,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
Map<String, String> parameterMap = new HashMap<>();
parameterMap.put("type", "2");
parameterMap.put("parm", phone);
Md5 md5 = new Md5();
String sign = md5.getMD5ofStr(parameterMap);
mPresenter.queryMember(2,sign,GsaCloudApplication.getGsPosShopId(mContext));
// Md5 md5 = new Md5();
// String sign = md5.getMD5ofStr(parameterMap);
// mPresenter.queryMember(2,sign,GsaCloudApplication.getGsPosShopId(mContext));
}
@Override
......
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