Commit 11a0c395 by 宁斌

打印日志补全 日志上传接口调整为HKTest 餐台模式子项排序条件新增CreateTime

parent 7678dfd3
...@@ -236,9 +236,9 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl ...@@ -236,9 +236,9 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_password, "修改密碼")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_password, "修改密碼"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "設置")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "設置"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "查看日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "上傳日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "切換環境")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "切換環境"));
} }
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_setting, "上傳日誌"));
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "清機")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "清機"));
if (AppDevices.isHywebPos()) { if (AppDevices.isHywebPos()) {
mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "N5清機")); mainSideMenuBeans.add(new MainSideMenuBean(R.drawable.ic_settlement_report, "N5清機"));
......
...@@ -16,6 +16,7 @@ import com.epson.epos2.Epos2Exception; ...@@ -16,6 +16,7 @@ import com.epson.epos2.Epos2Exception;
import com.epson.epos2.printer.Printer; import com.epson.epos2.printer.Printer;
import com.epson.epos2.printer.PrinterStatusInfo; import com.epson.epos2.printer.PrinterStatusInfo;
import com.epson.epos2.printer.ReceiveListener; import com.epson.epos2.printer.ReceiveListener;
import com.gingersoft.gsa.cloud.common.constans.GoldConstants;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans; import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.constans.PrintConstans; import com.gingersoft.gsa.cloud.common.constans.PrintConstans;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager; import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
...@@ -41,6 +42,7 @@ import com.gingersoft.gsa.cloud.print.bean.UpdateBean; ...@@ -41,6 +42,7 @@ import com.gingersoft.gsa.cloud.print.bean.UpdateBean;
import com.hyweb.n5.lib.constant.PrinterConstant; import com.hyweb.n5.lib.constant.PrinterConstant;
import com.hyweb.n5.lib.util.PrinterUtil; import com.hyweb.n5.lib.util.PrinterUtil;
import com.hyweb.n5.server.aidl.IOnPrintCallback; import com.hyweb.n5.server.aidl.IOnPrintCallback;
import com.jess.arms.utils.RxLifecycleUtils;
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.common.PrinterFinderCallback; import com.joe.print.mvp.print.common.PrinterFinderCallback;
...@@ -52,6 +54,8 @@ import com.joe.print.mvp.print.usb.UsbPrinter; ...@@ -52,6 +54,8 @@ import com.joe.print.mvp.print.usb.UsbPrinter;
import com.joe.print.mvp.print.usb.UsbPrinterFinder; import com.joe.print.mvp.print.usb.UsbPrinterFinder;
import com.joe.print.mvp.print.utils.MyPrintUtils; import com.joe.print.mvp.print.utils.MyPrintUtils;
import com.sunmi.peripheral.printer.InnerResultCallbcak; import com.sunmi.peripheral.printer.InnerResultCallbcak;
import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import com.xuexiang.rxutil2.rxjava.task.RxIOTask;
import org.json.JSONArray; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
...@@ -72,6 +76,7 @@ import io.reactivex.Observable; ...@@ -72,6 +76,7 @@ import io.reactivex.Observable;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
import jcifs.smb.SmbFile; import jcifs.smb.SmbFile;
import jcifs.smb.SmbFileOutputStream; import jcifs.smb.SmbFileOutputStream;
...@@ -91,16 +96,14 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -91,16 +96,14 @@ public class PrjService extends Service implements ReceiveListener {
// private static final String TAG = PrjService.class.getSimpleName(); // private static final String TAG = PrjService.class.getSimpleName();
private Disposable disposable; private Disposable pollDisposable;
private Disposable wakeDisposable; private Disposable wakeDisposable;
private List<PrinterDeviceBean> printerDeviceBeans; private List<PrinterDeviceBean> printerDeviceBeans;
private List<PrjBean.DataBean.Bean> printDatas = new ArrayList<>(); private List<PrjBean.DataBean.Bean> printDatas = new ArrayList<>();
// private Map<String, List<PrjBean.DataBean.Bean>> listMap = new HashMap<>();
private List<PrintCurrencyBean> printCurrencyBeans;//通用打印配置 private List<PrintCurrencyBean> printCurrencyBeans;//通用打印配置
private Context mContext; private Context mContext;
private String TAG = "Prj"; private String TAG = "Prj";
@Override @Override
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
...@@ -113,12 +116,19 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -113,12 +116,19 @@ public class PrjService extends Service implements ReceiveListener {
public int onStartCommand(Intent intent, int flags, int startId) { public int onStartCommand(Intent intent, int flags, int startId) {
mContext = this; mContext = this;
LoganManager.w_printer(TAG, "onStartCommand"); LoganManager.w_printer(TAG, "onStartCommand");
ThreadPoolManager.getInstence().putExecutableTasks(() -> { RxIOTask ioTask = new RxIOTask(0) {
LoganManager.w_printer(TAG, "開始請求 PRJ 數據"); @Override
getPrintList(); public Object doInIOThread(Object o) {
//開始請求 LoganManager.w_printer(TAG, "获取打印設備信息");
startGetPrjInfo(); LoganManager.w_printer(TAG, "currThredName-->" + Thread.currentThread().getName());
}); //获取打印設備信息
getPrintList();
return null;
}
};
RxJavaUtils.doInIOThread(ioTask);
//開始請求
startGetPrjInfo();
return super.onStartCommand(intent, flags, startId); return super.onStartCommand(intent, flags, startId);
} }
...@@ -172,34 +182,18 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -172,34 +182,18 @@ public class PrjService extends Service implements ReceiveListener {
*/ */
private void startGetPrjInfo() { private void startGetPrjInfo() {
cancel(wakeDisposable); cancel(wakeDisposable);
cancel(disposable); cancel(pollDisposable);
if (!UserContext.newInstance().isLogin()) { if (!UserContext.newInstance().isLogin()) {
LoganManager.w_printer(TAG, "用户未登录!");
return; return;
} }
pollDisposable = RxJavaUtils.polling(10, 30, TimeUnit.SECONDS)
Observable.interval(10, 30, TimeUnit.SECONDS) .subscribe(new Consumer<Long>() {
.subscribe(new Observer<Long>() {
@Override @Override
public void onSubscribe(Disposable d) { public void accept(Long aLong) throws Exception {
disposable = d; LoganManager.w_printer(TAG, "獲取Prj數據-->");
LoganManager.w_printer(TAG, "startGetPrjInfo onSubscribe");
}
@Override
public void onNext(Long aLong) {
LoganManager.w_printer(TAG, "startGetPrjInfo onNext");
getPrjInfo(); getPrjInfo();
} }
@Override
public void onError(Throwable e) {
LoganManager.w_printer(TAG, "startGetPrjInfo onError:" + e.getMessage());
}
@Override
public void onComplete() {
LoganManager.w_printer(TAG, "startGetPrjInfo onComplete");
}
}); });
} }
...@@ -214,51 +208,35 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -214,51 +208,35 @@ public class PrjService extends Service implements ReceiveListener {
@Override @Override
public void onSubscribe(Disposable d) { public void onSubscribe(Disposable d) {
LoganManager.w_printer(TAG, "getPrjInfo onSubscribe"); LoganManager.w_printer(TAG, "獲取Prj數據 Disposable");
} }
@Override @Override
public void onNext(String prjInfo) { public void onNext(String prjInfo) {
LoganManager.w_printer(TAG, "getPrjInfo onNext: " + prjInfo); LoganManager.w_printer(TAG, "獲取Prj數據 onNext: " + prjInfo);
//請求到數據,停止輪詢,開始打印,在打印完之後再重新開始輪詢 //請求到數據,停止輪詢,開始打印,在打印完之後再重新開始輪詢
// startPrint(s); // startPrint(s);
newPrint(prjInfo); newPrint(prjInfo);
//開啟另一個定時,三十秒之後自動請求,避免上面的打印成功或失敗時沒有回調。 //開啟另一個定時,三十秒之後自動請求,避免上面的打印成功或失敗時沒有回調。
cancel(wakeDisposable); cancel(wakeDisposable);
Observable.timer(30, TimeUnit.SECONDS) wakeDisposable = RxJavaUtils.delay(30, TimeUnit.SECONDS)
.subscribe(new Observer<Long>() { .subscribe(new Consumer<Long>() {
@Override @Override
public void onSubscribe(Disposable d) { public void accept(Long aLong) throws Exception {
wakeDisposable = d; LoganManager.w_printer(TAG, "輪詢獲取Prj數據-->");
LoganManager.w_printer(TAG, "getPrjInfo timer onSubscribe");
}
@Override
public void onNext(Long aLong) {
LoganManager.w_printer(TAG, "getPrjInfo timer onNext");
startGetPrjInfo(); startGetPrjInfo();
} }
@Override
public void onError(Throwable e) {
LoganManager.w_printer(TAG, "getPrjInfo timer onError: " + e.getMessage());
}
@Override
public void onComplete() {
LoganManager.w_printer(TAG, "getPrjInfo timer onComplete");
}
}); });
} }
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
LoganManager.w_printer(TAG, "getPrjInfo onError:" + e.getMessage()); LoganManager.w_printer(TAG, "獲取Prj數據 onError:" + e.getMessage());
} }
@Override @Override
public void onComplete() { public void onComplete() {
LoganManager.w_printer(TAG, "getPrjInfo onComplete"); LoganManager.w_printer(TAG, "獲取Prj數據 onComplete");
} }
}); });
} }
...@@ -272,87 +250,6 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -272,87 +250,6 @@ public class PrjService extends Service implements ReceiveListener {
} }
} }
private PrinterRoot printerInIt;
private String json = "{\"success\":true,\"sysTime\":1595066909048,\"data\":{\"K1\":[{\"id\":2461,\"printerDeviceId\":87,\"status\":1,\"orderNo\":\"153201882821850443\",\"orderTime\":2020,\"sender\":\"\",\"person\":0,\"number\":1,\"orderDetailsTime\":\"Jul 10, 2020 11:59:29 AM\",\"orderDetailsId\":48863119,\"productName\":\"紅棗銀耳湯\",\"parentId\":48863115,\"type\":4,\"createTime\":1595066908689,\"productId\":5189,\"requests\":1,\"actualPrinterDeviceId\":87,\"takeFoodCode\":\"H462\",\"billNo\":\"0643\",\"orderType\":7,\"userName\":\"stefan001\"},{\"id\":2461,\"printerDeviceId\":87,\"status\":1,\"orderNo\":\"153201882821850443\",\"orderTime\":2020,\"sender\":\"\",\"person\":0,\"number\":1,\"orderDetailsTime\":\"Jul 10, 2020 11:59:29 AM\",\"orderDetailsId\":48863119,\"productName\":\"紅棗銀耳湯\",\"parentId\":48863115,\"type\":4,\"createTime\":1595066908689,\"productId\":5189,\"requests\":1,\"actualPrinterDeviceId\":87,\"takeFoodCode\":\"H462\",\"billNo\":\"0643\",\"orderType\":7,\"userName\":\"stefan001\"}]}}";
/**
* 開始打印
*/
// private void startPrint(String json) {
// printDatas.clear();
// listMap.clear();
// PrjBean prjBean = JsonUtils.parseObject(json, PrjBean.class);
// if (prjBean == null || prjBean.getData() == null) {
// return;
// }
// PrintCurrencyBean printCurrencyBean;
// //有數據,取消輪詢,等待打印結束。
// cancel(disposable);
// try {
// JSONObject jsonObject = new JSONObject(prjBean.getData());
// //通过迭代器获取这段json当中所有的key值
// Iterator keys = jsonObject.keys();
// //然后通过一个循环取出所有的key值
// while (keys.hasNext()) {
// String key = String.valueOf(keys.next());
// //最后就可以通过刚刚得到的key值去解析后面的json了
// JSONArray dataJson = (JSONArray) jsonObject.get(key);
// List<PrjBean.DataBean.Bean> datas = JsonUtils.parseArray(dataJson.toString(), PrjBean.DataBean.Bean.class);
// listMap.put(key, datas);//打印位置和需要打印的數據
// PrintPrjKitchen.getPrjMap().put(key, datas);
// printDatas.addAll(datas);
// }
// } catch (JSONException e) {
// e.printStackTrace();
// }
// if (printerInIt == null) {
// printerInIt = PrinterRoot.getPrinterByType(PRINT_KITCHEN);
// }
// //獲取打印機列表
// getPrintList();
//// for (Map.Entry<String, List<PrjBean.DataBean.Bean>> prjMap : listMap.entrySet()) {
//// for (PrinterDeviceBean deviceBean : printerDeviceBeans) {
//// if (prjMap.getKey().equalsIgnoreCase(deviceBean.getName())) {
//// if ((deviceBean.getPrinterName() != null && deviceBean.getPrinterName().toLowerCase().contains("EPSON".toLowerCase()))
//// && (deviceBean.getModel() != null && deviceBean.getModel().toLowerCase().contains("TM-U220B".toLowerCase()))) {
//// //針式打印
//// //Epson打印機打印,調用對應的方法
//// EpsonPrint mPrinter = EpsonPrint.getInstance();
//// mPrinter.initializeObject(GsaCloudApplication.getAppContext(), this);
//// int paperWidth = 42;
//// if (deviceBean.getPaperSpecification() != null) {
//// paperWidth = (int) (Double.parseDouble(deviceBean.getPaperSpecification()) / 6);
//// }
//// List<List<PrintInfoBean>> prjBeans = PrintInfoBean.transPrjBean(prjMap.getValue(), prjMap.getKey(), deviceBean, printCurrencyBean);
//// for (List<PrintInfoBean> prjPrintBean : prjBeans) {
//// mPrinter.putPrintString(deviceBean.getIp(), paperWidth, prjPrintBean);
//// }
//// }
//// }
//// }
//// }
// if (printerInIt != null) {
// printerInIt.setmContext(this);
// for (Map.Entry<String, List<Bitmap>> entry : printerInIt.getPrintBitmap(this, null).entrySet()) {
// //遍歷所有的需要打印的內容
// for (PrinterDeviceBean deviceBean : printerDeviceBeans) {
// //遍歷打印機列表,找到對應的打印機,沒找到的就不打印
// if (entry.getKey().toLowerCase().equals(deviceBean.getName().toLowerCase())) {
//// if ((deviceBean.getPrinterName() != null && deviceBean.getPrinterName().toLowerCase().contains("EPSON".toLowerCase()))
//// && (deviceBean.getModel() != null && deviceBean.getModel().toLowerCase().contains("TM-U220B".toLowerCase()))) {
//// //針式打印機在上面處理
//// } else {
// Log.e(TAG, entry.getKey() + "開始打印IP:" + deviceBean.getIp());
// printerInIt.ipDevicePrint(deviceBean, entry.getValue(), this, this);
// break;
//// }
// }
// }
// }
// }
// }
private int totalPrj; private int totalPrj;
private int currentIndex; private int currentIndex;
...@@ -367,7 +264,7 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -367,7 +264,7 @@ public class PrjService extends Service implements ReceiveListener {
return; return;
} }
//有數據,取消輪詢,等待打印結束。 //有數據,取消輪詢,等待打印結束。
cancel(disposable); cancel(pollDisposable);
//第一步:解析PRJ數據,格式為 Map<廚房位置,需要打印的數據> //第一步:解析PRJ數據,格式為 Map<廚房位置,需要打印的數據>
try { try {
JSONObject jsonObject = new JSONObject(prjBean.getData()); JSONObject jsonObject = new JSONObject(prjBean.getData());
...@@ -408,7 +305,6 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -408,7 +305,6 @@ public class PrjService extends Service implements ReceiveListener {
} }
private Map<String, List<PrjBean.DataBean.Bean>> setPrjIndex(Map<String, List<PrjBean.DataBean.Bean>> listMap, int totalPrj) { private Map<String, List<PrjBean.DataBean.Bean>> setPrjIndex(Map<String, List<PrjBean.DataBean.Bean>> listMap, int totalPrj) {
LoganManager.w_printer(TAG, "setPrjIndex totalPrj: " + totalPrj);
for (Map.Entry<String, List<PrjBean.DataBean.Bean>> prjMap : listMap.entrySet()) { for (Map.Entry<String, List<PrjBean.DataBean.Bean>> prjMap : listMap.entrySet()) {
//上一個對象是否切紙 //上一個對象是否切紙
boolean lastIsCute = false; boolean lastIsCute = false;
...@@ -434,45 +330,7 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -434,45 +330,7 @@ public class PrjService extends Service implements ReceiveListener {
return listMap; return listMap;
} }
private Map<String, List<PrjBean.DataBean.Bean>> printDataToMap(List<PrjBean.DataBean.Bean> printData) {
Map<String, List<PrjBean.DataBean.Bean>> map = new HashMap<>();
PrinterDeviceBean defaultPainter = null;
initPrinterDevices();
//獲得默認的打印機
for (PrinterDeviceBean printerDeviceBean : printerDeviceBeans) {
if (printerDeviceBean.getType() == 2) {
defaultPainter = printerDeviceBean;
break;
}
}
//將prj集合通過打印位置轉成map
for (PrjBean.DataBean.Bean bean : printData) {
if (TextUtil.isNotEmptyOrNullOrUndefined(bean.getPrintPosition())) {
List<PrjBean.DataBean.Bean> mapByKey = map.get(bean.getPrintPosition());
if (mapByKey != null) {
mapByKey.add(bean);
} else {
map.put(bean.getPrintPosition(), Collections.singletonList(bean));
}
} else if (defaultPainter != null) {
//沒有打印位置的,由默認的位置去打印
bean.setPrintPosition(defaultPainter.getName());
List<PrjBean.DataBean.Bean> mapByKey = map.get(bean.getPrintPosition());
if (mapByKey != null) {
mapByKey.add(bean);
} else {
map.put(bean.getPrintPosition(), Collections.singletonList(bean));
}
} else {
ToastUtils.show(this, "未配置打印機");
}
}
return map;
}
private void foreachPrint(Map<String, List<PrjBean.DataBean.Bean>> listMap) { private void foreachPrint(Map<String, List<PrjBean.DataBean.Bean>> listMap) {
LoganManager.w_printer(TAG, "foreachPrint");
//雙重遍歷可以以後優化 //雙重遍歷可以以後優化
//第二步:遍歷 Map<廚房位置,需要打印的數據>,通過廚房位置找到對應的打印機,並且通過數據拿到對應的通用配置 //第二步:遍歷 Map<廚房位置,需要打印的數據>,通過廚房位置找到對應的打印機,並且通過數據拿到對應的通用配置
for (Map.Entry<String, List<PrjBean.DataBean.Bean>> prjMap : listMap.entrySet()) { for (Map.Entry<String, List<PrjBean.DataBean.Bean>> prjMap : listMap.entrySet()) {
...@@ -494,7 +352,6 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -494,7 +352,6 @@ public class PrjService extends Service implements ReceiveListener {
} }
private void initPrinterDevices() { private void initPrinterDevices() {
LoganManager.w_printer(TAG, "initPrinterDevices");
//讀取打印機和通用配置,可以優化 //讀取打印機和通用配置,可以優化
//獲取所有打印機 //獲取所有打印機
PrinterDeviceDaoUtils printerDeviceDaoUtils = new PrinterDeviceDaoUtils(this); PrinterDeviceDaoUtils printerDeviceDaoUtils = new PrinterDeviceDaoUtils(this);
...@@ -525,9 +382,6 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -525,9 +382,6 @@ public class PrjService extends Service implements ReceiveListener {
*/ */
private void generatePrintData(String key, List<PrjBean.DataBean.Bean> beans, PrinterDeviceBean printerDeviceBean) { private void generatePrintData(String key, List<PrjBean.DataBean.Bean> beans, PrinterDeviceBean printerDeviceBean) {
LoganManager.w_printer(TAG, "generatePrintData PrinterDeviceBean deviceType: " + printerDeviceBean.getPrinterDeviceType()
+ " ip: " + printerDeviceBean.getIp());
int orderType = 1; int orderType = 1;
if (beans.size() > 0) { if (beans.size() > 0) {
orderType = beans.get(0).getOrderType(); orderType = beans.get(0).getOrderType();
...@@ -537,6 +391,9 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -537,6 +391,9 @@ public class PrjService extends Service implements ReceiveListener {
if (isPinPrinter(printerDeviceBean) && printerDeviceBean.getPrinterDeviceType() == PRINT_IP) { if (isPinPrinter(printerDeviceBean) && printerDeviceBean.getPrinterDeviceType() == PRINT_IP) {
//針式打印機並且打印機類型為IP打印,生成獨特的格式 //針式打印機並且打印機類型為IP打印,生成獨特的格式
List<Map<String, Bitmap>> bitmapMaps = generatePrintMaps(key, beans, printerDeviceBean); List<Map<String, Bitmap>> bitmapMaps = generatePrintMaps(key, beans, printerDeviceBean);
hookPrinterBitmap(bitmapMaps, beans);
EpsIds = getPrintIds(bitmapMaps); EpsIds = getPrintIds(bitmapMaps);
//第一個參數是機型,第二個參數是語言, //第一個參數是機型,第二個參數是語言,
Printer mPrinter = null; Printer mPrinter = null;
...@@ -569,13 +426,16 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -569,13 +426,16 @@ public class PrjService extends Service implements ReceiveListener {
mPrinter.clearCommandBuffer(); mPrinter.clearCommandBuffer();
} }
try { try {
PrinterPlugins.getOnPrinterFlowHandler().connectionBefore("針式打印機", printerDeviceBean.getIp(), printerDeviceBean.getPort(), 0, 0);
mPrinter.connect("TCP:" + printerDeviceBean.getIp(), Printer.PARAM_DEFAULT); mPrinter.connect("TCP:" + printerDeviceBean.getIp(), Printer.PARAM_DEFAULT);
mPrinter.sendData(Printer.PARAM_DEFAULT); mPrinter.sendData(Printer.PARAM_DEFAULT);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
updatePrjFailure(getPrintIds(bitmapMaps)); updatePrjFailure(getPrintIds(bitmapMaps));
PrinterPlugins.getOnPrinterFlowHandler().connectionError(e);
while (true) { while (true) {
try { try {
PrinterPlugins.getOnPrinterFlowHandler().disconnect();
mPrinter.disconnect(); mPrinter.disconnect();
break; break;
} catch (final Exception ex) { } catch (final Exception ex) {
...@@ -699,6 +559,7 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -699,6 +559,7 @@ public class PrjService extends Service implements ReceiveListener {
bitmapMaps = generatePrintMaps(key, beans, printerDeviceBean); bitmapMaps = generatePrintMaps(key, beans, printerDeviceBean);
switch (printerDeviceBean.getPrinterDeviceType()) { switch (printerDeviceBean.getPrinterDeviceType()) {
case PRINT_IP: case PRINT_IP:
LoganManager.w_printer(TAG, "開始IP打印-->");
//IP打印 //IP打印
ipPrint(printerDeviceBean, bitmapMaps); ipPrint(printerDeviceBean, bitmapMaps);
break; break;
...@@ -717,16 +578,12 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -717,16 +578,12 @@ public class PrjService extends Service implements ReceiveListener {
} }
} }
/** /**
* ip設備打印 * ip設備打印
*/ */
public void ipPrint(PrinterDeviceBean printerDeviceBean, List<Map<String, Bitmap>> bitmapMaps) { public void ipPrint(PrinterDeviceBean printerDeviceBean, List<Map<String, Bitmap>> bitmapMaps) {
LoganManager.w_printer(TAG, "ipPrint: " + printerDeviceBean.getPrinterDeviceType()
+ " ip: " + printerDeviceBean.getIp());
for (int i = 0; i < bitmapMaps.size(); i++) { for (int i = 0; i < bitmapMaps.size(); i++) {
PrintExecutor executor = new PrintExecutor(printerDeviceBean); PrintExecutor executor = new PrintExecutor(printerDeviceBean);
int finalI = i;
executor.setOnPrjPrintResultListener((errorCode, ids) -> { executor.setOnPrjPrintResultListener((errorCode, ids) -> {
switch (errorCode) { switch (errorCode) {
case PrintSocketHolder.ERROR_0: case PrintSocketHolder.ERROR_0:
...@@ -738,7 +595,6 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -738,7 +595,6 @@ public class PrjService extends Service implements ReceiveListener {
break; break;
} }
}); });
LoganManager.w_printer(TAG, "ipPrint for doPrinterRequestAsync i:" + i);
PrjPrintMaker maker = new PrjPrintMaker(bitmapMaps.get(i)); PrjPrintMaker maker = new PrjPrintMaker(bitmapMaps.get(i));
executor.doPrinterRequestAsync(maker); executor.doPrinterRequestAsync(maker);
} }
...@@ -787,9 +643,12 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -787,9 +643,12 @@ public class PrjService extends Service implements ReceiveListener {
public void locationPrint(List<Map<String, Bitmap>> bitmapMaps) { public void locationPrint(List<Map<String, Bitmap>> bitmapMaps) {
String model = Build.MODEL; String model = Build.MODEL;
if (PrintConstans.PRINT_MODEL_V2.contains(model)) { if (PrintConstans.PRINT_MODEL_V2.contains(model)) {
//商米打印
LoganManager.w_printer(TAG, "開始商米打印-->");
sunmiPrint(bitmapMaps); sunmiPrint(bitmapMaps);
} else if (PrintConstans.PRINT_MODEL_N5.contains(model)) { } else if (PrintConstans.PRINT_MODEL_N5.contains(model)) {
//N5打印 //N5打印
LoganManager.w_printer(TAG, "開始N5打印-->");
n5Print(bitmapMaps); n5Print(bitmapMaps);
} else if (PrintConstans.PRINT_MODEL_WISEPOS.contains(model)) { } else if (PrintConstans.PRINT_MODEL_WISEPOS.contains(model)) {
//BBPOS,生成data //BBPOS,生成data
...@@ -827,6 +686,7 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -827,6 +686,7 @@ public class PrjService extends Service implements ReceiveListener {
AidlUtil.getInstance().printBitmap(mapEntry.getValue(), new InnerResultCallbcak() { AidlUtil.getInstance().printBitmap(mapEntry.getValue(), new InnerResultCallbcak() {
@Override @Override
public void onRunResult(boolean isSuccess) { public void onRunResult(boolean isSuccess) {
LoganManager.w_printer(TAG, "商米onRunResult: " + isSuccess);
//返回接⼝执⾏的情况(并⾮真实打印):成功或失败 //返回接⼝执⾏的情况(并⾮真实打印):成功或失败
if (isSuccess) { if (isSuccess) {
updatePrjSuccess(ids); updatePrjSuccess(ids);
...@@ -838,16 +698,19 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -838,16 +698,19 @@ public class PrjService extends Service implements ReceiveListener {
@Override @Override
public void onReturnString(String result) { public void onReturnString(String result) {
//部分接⼝会异步返回查询数据 //部分接⼝会异步返回查询数据
LoganManager.w_printer(TAG, "商米onReturnString: " + result);
} }
@Override @Override
public void onRaiseException(int code, String msg) { public void onRaiseException(int code, String msg) {
//接⼝执⾏失败时,返回的异常状态 //接⼝执⾏失败时,返回的异常状态
LoganManager.w_printer(TAG, "商米onRaiseException: " + msg);
} }
@Override @Override
public void onPrintResult(int code, String msg) { public void onPrintResult(int code, String msg) {
//事务模式下真实的打印结果返回 //事务模式下真实的打印结果返回
LoganManager.w_printer(TAG, "商米onPrintResult: " + msg);
} }
}); });
} }
...@@ -868,6 +731,7 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -868,6 +731,7 @@ public class PrjService extends Service implements ReceiveListener {
PrinterUtil.startPrint(true, new IOnPrintCallback.Stub() { PrinterUtil.startPrint(true, new IOnPrintCallback.Stub() {
@Override @Override
public void onPrintResult(int i) { public void onPrintResult(int i) {
LoganManager.w_printer(TAG, "N5 onPrintResult: " + i);
if (i == 0) { if (i == 0) {
//打印成功 //打印成功
updatePrjSuccess(ids); updatePrjSuccess(ids);
...@@ -879,11 +743,13 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -879,11 +743,13 @@ public class PrjService extends Service implements ReceiveListener {
@Override @Override
public IBinder asBinder() { public IBinder asBinder() {
LoganManager.w_printer(TAG, "N5 asBinder");
return this; return this;
} }
}); });
} catch (RemoteException e) { } catch (RemoteException e) {
e.printStackTrace(); e.printStackTrace();
LoganManager.w_printer(TAG, "N5 RemoteException :" + e.getLocalizedMessage());
updatePrjFailure(ids); updatePrjFailure(ids);
} }
} }
...@@ -924,7 +790,11 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -924,7 +790,11 @@ public class PrjService extends Service implements ReceiveListener {
map.put(stringBuffer.toString(), prjBitmap); map.put(stringBuffer.toString(), prjBitmap);
bitmapMaps.add(map); bitmapMaps.add(map);
} }
hookPrinterBitmap(bitmapMaps, beans);
return bitmapMaps;
}
private void hookPrinterBitmap(List<Map<String, Bitmap>> bitmapMaps, List<PrjBean.DataBean.Bean> beans) {
if (bitmapMaps.size() > 0) { if (bitmapMaps.size() > 0) {
String prjName = String.valueOf(System.currentTimeMillis()); String prjName = String.valueOf(System.currentTimeMillis());
int orderType = 1; int orderType = 1;
...@@ -949,7 +819,6 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -949,7 +819,6 @@ public class PrjService extends Service implements ReceiveListener {
} }
PrinterPlugins.getOnPrinterFlowHandler().onPrinterBitmapBefore(orderType, PrintConstans.PRINT_KITCHEN, prjName, bitmapList); PrinterPlugins.getOnPrinterFlowHandler().onPrinterBitmapBefore(orderType, PrintConstans.PRINT_KITCHEN, prjName, bitmapList);
} }
return bitmapMaps;
} }
/** /**
...@@ -1006,7 +875,7 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -1006,7 +875,7 @@ public class PrjService extends Service implements ReceiveListener {
@Override @Override
public void onNext(String s) { public void onNext(String s) {
LoganManager.w_printer(TAG, "---end---修改Prj打印狀態---end----: " + s); LoganManager.w_printer(TAG, "修改Prj打印狀態---end----: " + s);
} }
@Override @Override
...@@ -1025,9 +894,11 @@ public class PrjService extends Service implements ReceiveListener { ...@@ -1025,9 +894,11 @@ public class PrjService extends Service implements ReceiveListener {
public void onPtrReceive(Printer printer, int i, PrinterStatusInfo printerStatusInfo, String s) { public void onPtrReceive(Printer printer, int i, PrinterStatusInfo printerStatusInfo, String s) {
//針式打印回調 //針式打印回調
if (i == 0) { if (i == 0) {
PrinterPlugins.getOnPrinterFlowHandler().onPrintSuccess(null);
//打印成功 //打印成功
updatePrjSuccess(EpsIds); updatePrjSuccess(EpsIds);
} else { } else {
PrinterPlugins.getOnPrinterFlowHandler().onPrintError(i, null);
//打印失敗 //打印失敗
updatePrjFailure(EpsIds); updatePrjFailure(EpsIds);
} }
......
...@@ -87,7 +87,6 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model ...@@ -87,7 +87,6 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
return MealConditionFilterUtils.foodConditionFilter(foods,foodSummary); return MealConditionFilterUtils.foodConditionFilter(foods,foodSummary);
} }
@Override @Override
public List<Modifier> queryDB_ModifierList(long fid, int mode) { public List<Modifier> queryDB_ModifierList(long fid, int mode) {
ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication); ModifierDaoUtils daoUtils = new ModifierDaoUtils(mApplication);
......
...@@ -7,9 +7,11 @@ import android.view.ViewGroup; ...@@ -7,9 +7,11 @@ import android.view.ViewGroup;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.table.R; import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason; import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FoodReasonAdapter; import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.FoodReasonAdapter;
...@@ -18,6 +20,7 @@ import com.google.android.flexbox.FlexDirection; ...@@ -18,6 +20,7 @@ import com.google.android.flexbox.FlexDirection;
import com.google.android.flexbox.FlexWrap; import com.google.android.flexbox.FlexWrap;
import com.google.android.flexbox.FlexboxLayoutManager; import com.google.android.flexbox.FlexboxLayoutManager;
import com.google.android.flexbox.JustifyContent; import com.google.android.flexbox.JustifyContent;
import com.google.android.material.slider.Slider;
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 com.qmuiteam.qmui.widget.QMUIEmptyView; import com.qmuiteam.qmui.widget.QMUIEmptyView;
...@@ -35,7 +38,7 @@ import java.util.List; ...@@ -35,7 +38,7 @@ import java.util.List;
* 修订历史:2020-03-28 * 修订历史:2020-03-28
* 描述: * 描述:
*/ */
public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Callback { public class CancelFoodDialog extends BaseRetryDialog implements Slider.OnSliderTouchListener {
private static final String TAG = "CancelFoodDialog"; private static final String TAG = "CancelFoodDialog";
...@@ -49,11 +52,11 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -49,11 +52,11 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
/*** /***
* 可取消最大數 * 可取消最大數
*/ */
private int maxCancelNumber = 10; private int mMaxCancelNumber = 10;
/** /**
* 當前選擇的取消數 * 當前選擇的取消數
*/ */
private int cancelNumber = 1; private int mCurrCancelNumber = 1;
/** /**
* 取消原因數據 * 取消原因數據
*/ */
...@@ -64,7 +67,7 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -64,7 +67,7 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
private QMUITopBar mTopBar; private QMUITopBar mTopBar;
private QMUIRoundButton btn_all_number; private QMUIRoundButton btn_all_number;
private QMUISlider slider_food_count; private Slider slider_food_count;
private TextView tv_number_value, tv_max_number, tv_min_number; private TextView tv_number_value, tv_max_number, tv_min_number;
private QMUIEmptyView mEmptyView; private QMUIEmptyView mEmptyView;
...@@ -103,16 +106,16 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -103,16 +106,16 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
mItems.addAll(items); mItems.addAll(items);
} }
public void setMaxCancelNumber(int maxCancelNumber) { public void setMaxCancelNumber(int mMaxCancelNumber) {
this.maxCancelNumber = maxCancelNumber; this.mMaxCancelNumber = mMaxCancelNumber;
} }
public void setCancelNumber(int cancelNumber) { public void setCancelNumber(int mCurrCancelNumber) {
this.cancelNumber = cancelNumber; this.mCurrCancelNumber = mCurrCancelNumber;
} }
public int getCancelNumber() { public int getCancelNumber() {
return cancelNumber; return mCurrCancelNumber;
} }
public CancelFoodDialog build() { public CancelFoodDialog build() {
...@@ -138,16 +141,14 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -138,16 +141,14 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
recycle_cancel_info = view.findViewById(R.id.recycle_cancel_info); recycle_cancel_info = view.findViewById(R.id.recycle_cancel_info);
//設置最大最小取消數 //設置最大最小取消數
tv_max_number.setText(String.valueOf(maxCancelNumber)); tv_max_number.setText(String.valueOf(mMaxCancelNumber));
tv_min_number.setText(String.valueOf(cancelNumber)); tv_min_number.setText(String.valueOf(mCurrCancelNumber));
//設置默認進度
slider_food_count.setCurrentProgress(getCurrentProgress(cancelNumber));
slider_food_count.setCallback(this); slider_food_count.addOnSliderTouchListener(this);
btn_all_number.setOnClickListener(new View.OnClickListener() { btn_all_number.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
slider_food_count.setCurrentProgress(100); slider_food_count.setValue(mMaxCancelNumber);
} }
}); });
ll_container.setRadiusAndShadow(mRadius, QMUIDisplayHelper.dp2px(mContext, mShadowElevationDp), mShadowAlpha); ll_container.setRadiusAndShadow(mRadius, QMUIDisplayHelper.dp2px(mContext, mShadowElevationDp), mShadowAlpha);
...@@ -158,9 +159,11 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -158,9 +159,11 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
} }
public void initParmas() { public void initParmas() {
cancelNumber = 1; mCurrCancelNumber = 1;
tv_number_value.setText(String.valueOf(cancelNumber)); tv_number_value.setText(String.valueOf(mCurrCancelNumber));
slider_food_count.setCurrentProgress(getCurrentProgress(cancelNumber)); slider_food_count.setValueFrom(mCurrCancelNumber);
slider_food_count.setValueTo(mMaxCancelNumber);
slider_food_count.setValue(mCurrCancelNumber);
} }
private void initTopbar() { private void initTopbar() {
...@@ -192,20 +195,6 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -192,20 +195,6 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
return flexboxLayoutManager; return flexboxLayoutManager;
} }
private int getCurrentProgress(int num) {
if (maxCancelNumber == 0) {
maxCancelNumber = 10;
}
int progress = num * 100 / maxCancelNumber;
return progress;
}
private int getCancelNumberByProgress(int progress) {
//這裡默認進度從1開始
float number = (getCurrentProgress(1) + progress) * maxCancelNumber / 100;
return Math.round(number);
}
public void showEmptyView(boolean isSuccess, int size, Throwable t) { public void showEmptyView(boolean isSuccess, int size, Throwable t) {
showEmptyView(isSuccess, size, t, mEmptyView, recycle_cancel_info); showEmptyView(isSuccess, size, t, mEmptyView, recycle_cancel_info);
} }
...@@ -228,49 +217,23 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call ...@@ -228,49 +217,23 @@ public class CancelFoodDialog extends BaseRetryDialog implements QMUISlider.Call
return R.layout.table_dialog_cancel_food; return R.layout.table_dialog_cancel_food;
} }
@Override private OnClickListener onClickListener;
public void onProgressChange(QMUISlider slider, int progress, int tickCount, boolean fromUser) {
if (progress == 0) {
cancelNumber = 1;
tv_number_value.setText(String.valueOf(cancelNumber));
} else if (progress == 100) {
cancelNumber = maxCancelNumber;
tv_number_value.setText(String.valueOf(cancelNumber));
} else {
cancelNumber = getCancelNumberByProgress(progress);
if (cancelNumber == 0) {
cancelNumber = 1;
}
tv_number_value.setText(String.valueOf(cancelNumber));
}
}
@Override
public void onTouchDown(QMUISlider slider, int progress, int tickCount, boolean hitThumb) {
}
@Override
public void onTouchUp(QMUISlider slider, int progress, int tickCount) {
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
} }
@Override @Override
public void onStartMoving(QMUISlider slider, int progress, int tickCount) { public void onStartTrackingTouch(@NonNull Slider slider) {
mCurrCancelNumber = 1;
tv_number_value.setText(String.valueOf(slider.getValue()));
} }
@Override @Override
public void onStopMoving(QMUISlider slider, int progress, int tickCount) { public void onStopTrackingTouch(@NonNull Slider slider) {
} }
private OnClickListener onClickListener;
public void setOnClickListener(OnClickListener onClickListener) {
this.onClickListener = onClickListener;
}
public interface OnClickListener { public interface OnClickListener {
void onItemClick(FoodReason item, int position, int deleteNumber); void onItemClick(FoodReason item, int position, int deleteNumber);
} }
......
...@@ -69,11 +69,20 @@ ...@@ -69,11 +69,20 @@
android:layout_margin="@dimen/dp_8" android:layout_margin="@dimen/dp_8"
android:orientation="vertical"> android:orientation="vertical">
<com.qmuiteam.qmui.widget.QMUISlider <!-- <com.google.android.material.slider.Slider-->
android:id="@+id/slider_food_count" <!-- android:id="@+id/slider_food_count"-->
android:layout_width="match_parent" <!-- android:layout_width="match_parent"-->
android:layout_height="wrap_content" <!-- android:layout_height="wrap_content"-->
app:qmui_slider_bar_progress_color="@color/theme_color" /> <!-- app:qmui_slider_bar_progress_color="@color/theme_color" />-->
<com.google.android.material.slider.Slider
android:id="@+id/slider_food_count"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme"
android:valueFrom="0"
android:valueTo="11"
android:stepSize="1" />
<TextView <TextView
android:id="@+id/tv_min_number" android:id="@+id/tv_min_number"
......
...@@ -7,8 +7,8 @@ ext { ...@@ -7,8 +7,8 @@ ext {
targetSdkVersion : 29, targetSdkVersion : 29,
//正式版: 1.0.3 3 //正式版: 1.0.3 3
//內部測試版:1.2.0 20 //內部測試版:1.2.0 20
versionCode : 21, versionCode : 22,
versionName : "1.2.1" versionName : "1.2.2"
] ]
version = [ version = [
......
...@@ -348,7 +348,7 @@ public class GsaCloudApplication extends BaseApplication { ...@@ -348,7 +348,7 @@ public class GsaCloudApplication extends BaseApplication {
@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_printer(TAG, "打印前--> printerData=" + printerData + " printerDeviceInfo=" + printerDeviceInfo); LoganManager.w_printer(TAG, "打印前数据--> printerData=" + printerData + " printerDeviceInfo=" + printerDeviceInfo);
} }
@Override @Override
......
package com.gingersoft.gsa.cloud.common.config; package com.gingersoft.gsa.cloud.common.config;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
/** /**
* @author : bin * @author : bin
* @create date: 2020-11-05 * @create date: 2020-11-05
...@@ -12,7 +14,7 @@ public class LoganConfig { ...@@ -12,7 +14,7 @@ public class LoganConfig {
public static final String EncryptKey16 = "0123456789012345"; public static final String EncryptKey16 = "0123456789012345";
public static final String EncryptIV16 = "0123456789012345"; public static final String EncryptIV16 = "0123456789012345";
public static final String APP_ID = "gingersoft1008611"; public static final String APP_ID = "gingersoft1008611";
public static final String UPLOAD_LOG_URL = "http://192.168.1.131:8080/logan-web/logan/upload.json"; public static final String UPLOAD_LOG_URL = HttpsConstans.HTTP_ADDRESS_URL_HK+ "/logan-web/logan/upload.json";
/** /**
* 日誌保留天數 * 日誌保留天數
...@@ -28,28 +30,20 @@ public class LoganConfig { ...@@ -28,28 +30,20 @@ public class LoganConfig {
*/ */
public static final byte NETWORK_LEVLE = 2; public static final byte NETWORK_LEVLE = 2;
/** /**
* 數據庫日誌
*/
public static final byte DATABASE_LEVLE = 3;
/**
* 用戶行為日誌(頁面跳轉,交互,觸摸反饋等) * 用戶行為日誌(頁面跳轉,交互,觸摸反饋等)
*/ */
public static final byte ACTION_LEVLE = 4; public static final byte ACTION_LEVLE = 3;
/** /**
* 崩潰日誌 * 崩潰日誌
*/ */
public static final byte CRASH_LEVLE = 5; public static final byte CRASH_LEVLE = 4;
/** /**
* H5日誌 * H5日誌
*/ */
public static final byte H5_LEVLE = 6; public static final byte H5_LEVLE = 5;
/** /**
* native日誌 * native日誌
*/ */
public static final byte native_LEVLE = 7; public static final byte native_LEVLE = 6;
/**
* 打印模塊相關日誌
*/
public static final byte PRINTER_LEVLE = 8;
} }
...@@ -36,7 +36,7 @@ public class HttpsConstans { ...@@ -36,7 +36,7 @@ public class HttpsConstans {
//--------------------------------------------其他全局---------------------------------------------------------------------------- //--------------------------------------------其他全局----------------------------------------------------------------------------
private static String HTTP_ADDRESS_URL_FORMAL = "https://m.ricepon.com:8444";//正式服務器 private static String HTTP_ADDRESS_URL_FORMAL = "https://m.ricepon.com:8444";//正式服務器
private static String HTTP_ADDRESS_URL_SZ = "http://gingersoft.tpddns.cn:58201";//深圳測試 private static String HTTP_ADDRESS_URL_SZ = "http://gingersoft.tpddns.cn:58201";//深圳測試
private static String HTTP_ADDRESS_URL_HK = "http://a.ricepon.com:58201";//香港測試 public static String HTTP_ADDRESS_URL_HK = "http://a.ricepon.com:58201";//香港測試
private static String HTTP_ADDRESS_URL_PRE = "http://prf-m.ricepon.com";//預發佈 private static String HTTP_ADDRESS_URL_PRE = "http://prf-m.ricepon.com";//預發佈
public static String CLOUD_GSA_API_PATH = "/ricepon-cloud-gsa/api/";//雲端GSA路徑 public static String CLOUD_GSA_API_PATH = "/ricepon-cloud-gsa/api/";//雲端GSA路徑
......
...@@ -47,7 +47,7 @@ public class LoganManager { ...@@ -47,7 +47,7 @@ public class LoganManager {
} }
public static void w_database(String TAG,String log) { public static void w_database(String TAG,String log) {
Logan.w(log, LoganConfig.DATABASE_LEVLE); Logan.w("database-->"+log, LoganConfig.CODE_LEVLE);
// Logan.f(); // Logan.f();
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
printLog(TAG, log); printLog(TAG, log);
...@@ -62,7 +62,7 @@ public class LoganManager { ...@@ -62,7 +62,7 @@ public class LoganManager {
} }
public static void w_printer(String TAG,String log) { public static void w_printer(String TAG,String log) {
Logan.w(log, LoganConfig.PRINTER_LEVLE); Logan.w("printer-->"+log, LoganConfig.CODE_LEVLE);
// Logan.f(); // Logan.f();
printLog(TAG, log); printLog(TAG, log);
} }
...@@ -106,7 +106,7 @@ public class LoganManager { ...@@ -106,7 +106,7 @@ public class LoganManager {
} }
} }
}); });
LoganManager.w_code(TAG,"upload result, httpCode: " + statusCode + ", details: " + resultData); LoganManager.w_code(TAG,"上傳日誌到服務器: " + statusCode + ", details: " + resultData);
} }
}); });
} }
......
...@@ -28,7 +28,7 @@ public class PrinterFileUtils { ...@@ -28,7 +28,7 @@ public class PrinterFileUtils {
public static final int PRINTER_KEEP_FILE_SIZE = 20 * 1024 * 1024; public static final int PRINTER_KEEP_FILE_SIZE = 20 * 1024 * 1024;
//根目錄 //根目錄
public static String PrinterImagesRootPath = "PrinterImages"; public static final String PrinterImagesRootPath = "PrinterImages";
/** /**
* 廚房單 * 廚房單
* 堂食結賬單 * 堂食結賬單
...@@ -39,14 +39,14 @@ public class PrinterFileUtils { ...@@ -39,14 +39,14 @@ public class PrinterFileUtils {
* 外送結賬單 * 外送結賬單
* 清機單 * 清機單
*/ */
public static String KitchenImage = "KitchenImages"; public static final String KitchenImage = "廚房單";
public static String PrintOrderImage = "PrintOrderImages"; public static final String PrintOrderImage = "堂食印單";
public static String BillImage = "BillImages"; public static final String BillImage = "堂食結賬單";
public static String ServingPaperImage = "ServingPaperImages"; public static final String ServingPaperImage = "上菜紙";
public static String QrcodeImage = "QrcodeImages"; public static final String QrcodeImage = "Qrcode";
public static String DeliveryPrintOrderImage = "DeliveryPrintOrderImages"; public static final String DeliveryPrintOrderImage = "外賣印單";
public static String DeliveryBillImage = "DeliveryBillImages"; public static final String DeliveryBillImage = "外賣結賬單";
public static String SettlementImage = "SettlementImages"; public static final String SettlementImage = "清機";
public final static String ROOT_PATH = FileUtils.ALBUM_PATH + PrinterImagesRootPath + File.separator; public final static String ROOT_PATH = FileUtils.ALBUM_PATH + PrinterImagesRootPath + File.separator;
public final static String KITCHEN_PRJ_IMAGE_PATH = ROOT_PATH + KitchenImage + File.separator; public final static String KITCHEN_PRJ_IMAGE_PATH = ROOT_PATH + KitchenImage + File.separator;
...@@ -66,12 +66,12 @@ public class PrinterFileUtils { ...@@ -66,12 +66,12 @@ public class PrinterFileUtils {
if (TextUtils.isEmpty(savePath)) { if (TextUtils.isEmpty(savePath)) {
return null; return null;
} }
LoganManager.w_printer(TAG, "save path :" + savePath); LoganManager.w_printer(TAG, "保存打印圖片到本地 path = " + savePath);
File file = new File(ROOT_PATH); File rootFileDir = new File(ROOT_PATH);
if (file != null && file.exists()) { if (rootFileDir != null && rootFileDir.exists()) {
long FILE_SIZE = FileUtils.getDirSize(file); long FILE_SIZE = FileUtils.getDirSize(rootFileDir);
if (FILE_SIZE > PRINTER_MAX_FILE_SIZE) { if (FILE_SIZE > PRINTER_MAX_FILE_SIZE) {
LoganManager.w_printer(TAG, "delete file before size : " + FILE_SIZE); LoganManager.w_printer(TAG, "刪除本地打印圖片 before size = " + FILE_SIZE);
//大於100M 就刪除 //大於100M 就刪除
File prjPath = new File(ROOT_PATH); File prjPath = new File(ROOT_PATH);
if (prjPath.isDirectory()) { if (prjPath.isDirectory()) {
...@@ -80,8 +80,8 @@ public class PrinterFileUtils { ...@@ -80,8 +80,8 @@ public class PrinterFileUtils {
File prjDirectory = prjDirectorys[i]; File prjDirectory = prjDirectorys[i];
boolean deleteResult = prjDirectory.delete(); boolean deleteResult = prjDirectory.delete();
if (deleteResult && FILE_SIZE <= PRINTER_KEEP_FILE_SIZE) { if (deleteResult && FILE_SIZE <= PRINTER_KEEP_FILE_SIZE) {
FILE_SIZE = FileUtils.getFileSize(ROOT_PATH); FILE_SIZE = FileUtils.getDirSize(rootFileDir);
LoganManager.w_printer(TAG, "delete file after size : " + FILE_SIZE); LoganManager.w_printer(TAG, "刪除本地打印圖片 after size = " + FILE_SIZE);
break; break;
} }
} }
...@@ -90,17 +90,17 @@ public class PrinterFileUtils { ...@@ -90,17 +90,17 @@ public class PrinterFileUtils {
} }
for (Bitmap bitmap : bitmaps) { for (Bitmap bitmap : bitmaps) {
String fileName = directoryName + "-" + System.currentTimeMillis(); String fileName = directoryName + "-" + System.currentTimeMillis();
LoganManager.w_printer(TAG, "saveBitmap fileName : " + fileName); LoganManager.w_printer(TAG, "fileName : " + fileName);
BitmapUtil.saveBitmap(bitmap, savePath + directoryName + File.separator, fileName + ".jpeg", new BitmapUtil.OnSaveBitmapListener() { BitmapUtil.saveBitmap(bitmap, savePath + directoryName + File.separator, fileName + ".jpeg", new BitmapUtil.OnSaveBitmapListener() {
@Override @Override
public void onSuccess() { public void onSuccess() {
LoganManager.w_printer(TAG, "saveBitmap onSuccess"); LoganManager.w_printer(TAG, "保存打印圖片成功");
} }
@Override @Override
public void onError(Exception e) { public void onError(Exception e) {
LoganManager.w_printer(TAG, "saveBitmap onError :" + e.getMessage()); LoganManager.w_printer(TAG, "保存打印圖片失敗 onError :" + e.getMessage());
} }
}); });
} }
......
...@@ -170,7 +170,7 @@ public class ComboItemDaoUtils { ...@@ -170,7 +170,7 @@ public class ComboItemDaoUtils {
// } // }
if (fid > 0) { if (fid > 0) {
sql = sql + " where r.FID='" + fid + "' order by c.SEQ_NO asc"; sql = sql + " where r.FID='" + fid + "' order by c.SEQ_NO,f.CREATE_TIME desc";
} }
Cursor c = mManager.getDaoSession().getFoodDao().getDatabase().rawQuery(sql, null); Cursor c = mManager.getDaoSession().getFoodDao().getDatabase().rawQuery(sql, null);
while (c.moveToNext()) { while (c.moveToNext()) {
......
...@@ -129,7 +129,7 @@ public class PrintSocketHolder { ...@@ -129,7 +129,7 @@ public class PrintSocketHolder {
out.write(item); out.write(item);
out.flush(); out.flush();
} catch (IOException e) { } catch (IOException e) {
LoganManager.w_printer(TAG, "-->打印异常: " + e.getMessage()); LoganManager.w_printer(TAG, "打印异常: " + e.getMessage());
closeSocket(); closeSocket();
return ERROR_4; return ERROR_4;
} }
...@@ -165,7 +165,7 @@ public class PrintSocketHolder { ...@@ -165,7 +165,7 @@ public class PrintSocketHolder {
} }
public int prepareSocket() { public int prepareSocket() {
LoganManager.w_printer(TAG, "-->准备尝试连接打印机"); LoganManager.w_printer(TAG, "准备尝试连接打印机");
int create = createSocket(); int create = createSocket();
if (create != PrintSocketHolder.ERROR_0) { if (create != PrintSocketHolder.ERROR_0) {
return create; return create;
...@@ -183,7 +183,7 @@ public class PrintSocketHolder { ...@@ -183,7 +183,7 @@ public class PrintSocketHolder {
* 销毁 * 销毁
*/ */
public int closeSocket() { public int closeSocket() {
LoganManager.w_printer(TAG, "-->準備关闭打印机连接"); LoganManager.w_printer(TAG, "準備关闭打印机连接");
onPrinterStateChanged(STATE_4); onPrinterStateChanged(STATE_4);
boolean error = false; boolean error = false;
try { try {
...@@ -192,7 +192,7 @@ public class PrintSocketHolder { ...@@ -192,7 +192,7 @@ public class PrintSocketHolder {
out = null; out = null;
} }
} catch (IOException e) { } catch (IOException e) {
LoganManager.w_printer(TAG, "-->关闭打印机连接异常"); LoganManager.w_printer(TAG, "关闭打印机连接异常");
out = null; out = null;
error = true; error = true;
} }
...@@ -202,7 +202,7 @@ public class PrintSocketHolder { ...@@ -202,7 +202,7 @@ public class PrintSocketHolder {
socket = null; socket = null;
} }
} catch (IOException e) { } catch (IOException e) {
LoganManager.w_printer(TAG, "-->关闭打印机连接异常"); LoganManager.w_printer(TAG, "关闭打印机连接异常");
socket = null; socket = null;
error = true; error = true;
} }
...@@ -212,7 +212,7 @@ public class PrintSocketHolder { ...@@ -212,7 +212,7 @@ public class PrintSocketHolder {
bluetoothSocket = null; bluetoothSocket = null;
} }
} catch (IOException e) { } catch (IOException e) {
LoganManager.w_printer(TAG, "-->关闭打印机连接异常"); LoganManager.w_printer(TAG, "关闭打印机连接异常");
bluetoothSocket = null; bluetoothSocket = null;
error = true; error = true;
} }
......
...@@ -81,11 +81,9 @@ public class PrintUtil { ...@@ -81,11 +81,9 @@ public class PrintUtil {
private boolean sendData(List<byte[]> data) { private boolean sendData(List<byte[]> data) {
if (holder.sendData(data) == PrintSocketHolder.ERROR_0) { if (holder.sendData(data) == PrintSocketHolder.ERROR_0) {
LoganManager.w_printer(TAG,"PrintTask sendData(List<byte[]> data) -------------打印完成------------------>");
time = 0; time = 0;
return true; return true;
} else { } else {
LoganManager.w_printer(TAG,"PrintTask sendData(List<byte[]> data) -------------递归打印------------------>");
return prepareSocket() && sendData(data); return prepareSocket() && sendData(data);
} }
} }
......
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