|
|
@@ -1,13 +1,573 @@
|
|
|
package com.example.logisticsclient;
|
|
|
|
|
|
+import android.bluetooth.BluetoothAdapter;
|
|
|
+
|
|
|
+import android.bluetooth.BluetoothDevice;
|
|
|
+import android.bluetooth.BluetoothManager;
|
|
|
+import android.bluetooth.BluetoothSocket;
|
|
|
+import android.content.BroadcastReceiver;
|
|
|
+import android.content.Context;
|
|
|
+
|
|
|
+import android.os.Build;
|
|
|
import android.os.Bundle;
|
|
|
+
|
|
|
+
|
|
|
+import HPRTAndroidSDKA300.HPRTPrinterHelper;
|
|
|
import io.flutter.app.FlutterActivity;
|
|
|
+import io.flutter.plugin.common.EventChannel;
|
|
|
import io.flutter.plugins.GeneratedPluginRegistrant;
|
|
|
|
|
|
+
|
|
|
+import android.content.ContextWrapper;
|
|
|
+import android.content.Intent;
|
|
|
+import android.content.IntentFilter;
|
|
|
+
|
|
|
+import android.util.Log;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Iterator;
|
|
|
+
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Set;
|
|
|
+import java.util.UUID;
|
|
|
+
|
|
|
+import io.flutter.plugin.common.MethodCall;
|
|
|
+import io.flutter.plugin.common.MethodChannel;
|
|
|
+import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
|
|
|
+import io.flutter.plugin.common.MethodChannel.Result;
|
|
|
+
|
|
|
+
|
|
|
public class MainActivity extends FlutterActivity {
|
|
|
+ private static final String CHANNEL = "io.fivefire/method_channel";
|
|
|
+ private static final String EVENT_CHANNEL = "io.fivefire/event_channel";
|
|
|
+
|
|
|
+
|
|
|
+ private BluetoothAdapter mBluetoothAdapter;
|
|
|
+ private BluetoothManager mBluetoothManager;
|
|
|
@Override
|
|
|
protected void onCreate(Bundle savedInstanceState) {
|
|
|
super.onCreate(savedInstanceState);
|
|
|
GeneratedPluginRegistrant.registerWith(this);
|
|
|
+
|
|
|
+ new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
|
|
|
+ new MethodCallHandler() {
|
|
|
+ @Override
|
|
|
+ public void onMethodCall(MethodCall call, Result result) {
|
|
|
+
|
|
|
+ if (call.method.equals("isBTDevice")) {
|
|
|
+ boolean isBTDevice = isBTDevice();
|
|
|
+
|
|
|
+ if (isBTDevice) {
|
|
|
+ result.success(isBTDevice);
|
|
|
+ } else {
|
|
|
+ result.error("UNAVAILABLE", "没有发现蓝牙模块", null);
|
|
|
+ }
|
|
|
+ } else if (call.method.equals("isEnableBluetooth")) {
|
|
|
+ boolean isEnableBluetooth = isEnableBluetooth();
|
|
|
+
|
|
|
+ if (isEnableBluetooth) {
|
|
|
+ result.success(isEnableBluetooth);
|
|
|
+ } else {
|
|
|
+ result.error("UNAVAILABLE", "蓝牙未打开", null);
|
|
|
+ }
|
|
|
+ } else if (call.method.equals("scanBT")) {
|
|
|
+ boolean isScan = scanBT();
|
|
|
+
|
|
|
+ if (isScan) {
|
|
|
+ result.success(isScan);
|
|
|
+ } else {
|
|
|
+ result.error("UNAVAILABLE", "蓝牙扫描出错", null);
|
|
|
+ }
|
|
|
+ } else if (call.method.equals("connectBT")) {
|
|
|
+ boolean isConn = connnectBT((String) call.argument("address"));
|
|
|
+
|
|
|
+ if (isConn) {
|
|
|
+ result.success(isConn);
|
|
|
+ } else {
|
|
|
+ result.error("UNAVAILABLE", "连接蓝牙出错", null);
|
|
|
+ }
|
|
|
+ } else if (call.method.equals("disConnectBT")) {
|
|
|
+ boolean isConn = disConnnectBT();
|
|
|
+
|
|
|
+ if (isConn) {
|
|
|
+ result.success(isConn);
|
|
|
+ } else {
|
|
|
+ result.error("UNAVAILABLE", "关闭蓝牙出错", null);
|
|
|
+ }
|
|
|
+ } else if (call.method.equals("printOrder")) {
|
|
|
+ boolean isPrint = printOrder((Map < String, String > ) call.argument("pum"), (Integer) call.argument("type"));
|
|
|
+
|
|
|
+ if (isPrint) {
|
|
|
+ result.success(isPrint);
|
|
|
+ } else {
|
|
|
+ result.error("UNAVAILABLE", "打印出错", null);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ result.notImplemented();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ new EventChannel(getFlutterView(), EVENT_CHANNEL).setStreamHandler(
|
|
|
+
|
|
|
+
|
|
|
+ new EventChannel.StreamHandler() {
|
|
|
+ private BroadcastReceiver scanBlueReceiver;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onListen(Object o, EventChannel.EventSink eventSink) {
|
|
|
+ scanBlueReceiver = createScanBlueReceiver(eventSink);
|
|
|
+
|
|
|
+
|
|
|
+ IntentFilter filter1 = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
|
|
|
+ IntentFilter filter2 = new IntentFilter(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
|
|
|
+ IntentFilter filter3 = new IntentFilter(BluetoothDevice.ACTION_FOUND);
|
|
|
+
|
|
|
+
|
|
|
+ registerReceiver(scanBlueReceiver, filter1);
|
|
|
+ registerReceiver(scanBlueReceiver, filter2);
|
|
|
+ registerReceiver(scanBlueReceiver, filter3);
|
|
|
+
|
|
|
+ registerReceiver(scanBlueReceiver, new IntentFilter(Intent.ACTION_DATE_CHANGED));
|
|
|
+
|
|
|
+ System.out.println("**********************************BT EEEEESCAN*******************************");
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onCancel(Object o) {
|
|
|
+
|
|
|
+ unregisterReceiver(scanBlueReceiver);
|
|
|
+ scanBlueReceiver = null;
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ );
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 判断当前设备蓝牙模块是否可用
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean isBTDevice() {
|
|
|
+ boolean flag = true;
|
|
|
+ try {
|
|
|
+ mBluetoothManager = (BluetoothManager) getSystemService(ContextWrapper.BLUETOOTH_SERVICE);
|
|
|
+ mBluetoothAdapter = mBluetoothManager.getAdapter();
|
|
|
+ if (mBluetoothAdapter == null) {
|
|
|
+ flag = false;
|
|
|
+ System.out.println("设备未发现蓝牙设备!");
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("判断蓝牙模块异常" + e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return flag;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断师傅打开蓝牙
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean isEnableBluetooth() {
|
|
|
+ System.out.println("**********************************BT*******************************");
|
|
|
+ mBluetoothAdapter.enable();
|
|
|
+
|
|
|
+ return mBluetoothAdapter.isEnabled();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 扫描获取蓝牙设备列表
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean scanBT() {
|
|
|
+ boolean flag = false;
|
|
|
+
|
|
|
+ System.out.println("**********************************BT SCAN*******************************");
|
|
|
+
|
|
|
+ try {
|
|
|
+ if (mBluetoothAdapter.isDiscovering()) {
|
|
|
+ mBluetoothAdapter.cancelDiscovery();
|
|
|
+ }
|
|
|
+ System.out.println("**********************************BT1111 SCAN*******************************");
|
|
|
+
|
|
|
+ mBluetoothAdapter.startDiscovery();
|
|
|
+ flag = true;
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println(e.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return flag;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private static final UUID SPP_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
|
|
|
+ private BluetoothSocket socket;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 扫描广播接收类
|
|
|
+ * Created by zqf on 2018/7/6.
|
|
|
+ */
|
|
|
+
|
|
|
+ private BroadcastReceiver createScanBlueReceiver(final EventChannel.EventSink eventSink) {
|
|
|
+
|
|
|
+ return new BroadcastReceiver() {
|
|
|
+ final String TAG = "RCV";
|
|
|
+
|
|
|
+ //广播接收器,当远程蓝牙设备被发现时,回调函数onReceiver()会被执行
|
|
|
+ @Override
|
|
|
+ public void onReceive(Context context, Intent intent) {
|
|
|
+ String action = intent.getAction();
|
|
|
+ Log.d(TAG, "action:" + action);
|
|
|
+ BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
|
|
|
+ switch (action) {
|
|
|
+ case BluetoothAdapter.ACTION_DISCOVERY_STARTED:
|
|
|
+ eventSink.success("开始扫描...");
|
|
|
+ break;
|
|
|
+ case BluetoothAdapter.ACTION_DISCOVERY_FINISHED:
|
|
|
+ eventSink.success("结束扫描..");
|
|
|
+ break;
|
|
|
+ case BluetoothDevice.ACTION_FOUND:
|
|
|
+
|
|
|
+ if (device.getName() != null) {
|
|
|
+ eventSink.success(device.getName() + "||" + device.getAddress());
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("HM-A320-2920".equals(device.getName())) {
|
|
|
+
|
|
|
+
|
|
|
+ try {
|
|
|
+ // int sdk = Build.VERSION.SDK_INT;
|
|
|
+ // if (sdk >= 10) {
|
|
|
+ // socket = device.createInsecureRfcommSocketToServiceRecord(SPP_UUID);
|
|
|
+ // } else {
|
|
|
+ // socket = device.createRfcommSocketToServiceRecord(SPP_UUID);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
|
|
|
+ // int i = HPRTPrinterHelper.PortOpen("Bluetooth,"+device.getAddress());
|
|
|
+ // System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"+i);
|
|
|
+ connnectBT(device.getAddress());
|
|
|
+
|
|
|
+ // ZTexpress();
|
|
|
+ Map < String, String > tmap = new HashMap < > ();
|
|
|
+ // printOrder(tmap,1);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("sss" + e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 关闭蓝牙
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private boolean disConnnectBT() {
|
|
|
+ boolean flag = false;
|
|
|
+
|
|
|
+ try {
|
|
|
+ flag = HPRTPrinterHelper.PortClose();
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ }
|
|
|
+ return flag;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private boolean connnectBT(final String address) {
|
|
|
+ boolean flag = false;
|
|
|
+
|
|
|
+
|
|
|
+ final BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);
|
|
|
+
|
|
|
+ try {
|
|
|
+ int sdk = Build.VERSION.SDK_INT;
|
|
|
+ if (sdk >= 10) {
|
|
|
+ socket = device.createInsecureRfcommSocketToServiceRecord(SPP_UUID);
|
|
|
+ } else {
|
|
|
+ socket = device.createRfcommSocketToServiceRecord(SPP_UUID);
|
|
|
+ }
|
|
|
+
|
|
|
+ int i = HPRTPrinterHelper.PortOpen("Bluetooth," + device.getAddress());
|
|
|
+ System.out.println("连接状态" + i);
|
|
|
+ flag = true;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ System.out.println("sss" + e.getMessage());
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return flag;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ private byte[] InputStreamToByte(InputStream is) throws IOException {
|
|
|
+ ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
|
|
|
+ int ch;
|
|
|
+ while ((ch = is.read()) != -1) {
|
|
|
+ bytestream.write(ch);
|
|
|
+ }
|
|
|
+ byte imgdata[] = bytestream.toByteArray();
|
|
|
+ bytestream.close();
|
|
|
+ return imgdata;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 打印
|
|
|
+ * @param pum 打印内容
|
|
|
+ * @param type 打印类型 1:全部 2:配件商:3:修理厂 4:司机 5:货物 6:货物外
|
|
|
+ */
|
|
|
+ private boolean printOrder(Map < String, String > pum, int type) {
|
|
|
+ if (pum == null) {
|
|
|
+ pum = new HashMap < > ();
|
|
|
+ }
|
|
|
+ boolean flag = true;
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+
|
|
|
+ switch (type) {
|
|
|
+ case 1:
|
|
|
+ printSender(pum);
|
|
|
+ printGoods(pum);
|
|
|
+ printSender(pum);
|
|
|
+ printDriver(pum);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ printSender(pum);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ printSender(pum);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ printDriver(pum);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ printGoods(pum);
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ printSender(pum);
|
|
|
+ printSender(pum);
|
|
|
+ printDriver(pum);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ System.out.println("参数不正确");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ Log.e("配件商或修理厂打印异常", (new StringBuilder("Activity_Main --> PrintSampleReceipt ")).append(e.getMessage()).toString());
|
|
|
+ flag = false;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return flag;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void printSender(Map < String, String > pum) throws Exception {
|
|
|
+
|
|
|
+ // pum.put("[logisticsNo]", "1111232321321");
|
|
|
+ // pum.put("[createTime]", "2019");
|
|
|
+ // pum.put("[sendStationName]", "五方");
|
|
|
+ // pum.put("[dealerCode]", "WF1112");
|
|
|
+ // pum.put("[dealerName]", "五方配件商");
|
|
|
+ // pum.put("[dealerTel]", "13439395969");
|
|
|
+ // pum.put("[repairName]", "NB修理厂");
|
|
|
+ // pum.put("[repairTel]", "13826514987");
|
|
|
+ // pum.put("[endStationName]", "丰台");
|
|
|
+ // pum.put("[goodsLineCode]", "F12");
|
|
|
+ // pum.put("[goodsLine]", "马驹桥");
|
|
|
+ // pum.put("[repairAddress]", "NB修车厂地址)");
|
|
|
+ // pum.put("[goodsQuantity]", "1");
|
|
|
+ // pum.put("[goodsInsurance]", "12");
|
|
|
+ // pum.put("[goodsFlatCost]", "14");
|
|
|
+ // pum.put("[goodsPaymentMethod]", "200");
|
|
|
+ // pum.put("[goodsAgencyFund]", "18");
|
|
|
+ // pum.put("[dealerBankAccount]", "1234512312YH");
|
|
|
+ // pum.put("[goodsRemark]", "帽子");
|
|
|
+ // pum.put("[realName]", "xg");
|
|
|
+ // pum.put("[currentTime]", "21111yyymmm");
|
|
|
+
|
|
|
+
|
|
|
+ Set < String > keySet = pum.keySet();
|
|
|
+ Iterator < String > iterator = keySet.iterator();
|
|
|
+ InputStream afis = this.getResources().getAssets().open("sender.txt"); //打印模版放在assets文件夹里
|
|
|
+ String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ String string = (String) iterator.next();
|
|
|
+ path = path.replace(string, pum.get(string));
|
|
|
+ }
|
|
|
+
|
|
|
+ HPRTPrinterHelper.printText(path);
|
|
|
+ HPRTPrinterHelper.Form();
|
|
|
+ HPRTPrinterHelper.Print();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void printGoods(Map < String, String > pum) throws Exception {
|
|
|
+ // pum.put("[logisticsNo]", "1111232321321");
|
|
|
+ // pum.put("[createTime]", "2019");
|
|
|
+ // pum.put("[sendStationName]", "五方");
|
|
|
+ // pum.put("[dealerCode]", "WF1112");
|
|
|
+ // pum.put("[dealerName]", "五方配件商");
|
|
|
+ // pum.put("[dealerTel]", "13439395969");
|
|
|
+ // pum.put("[repairName]", "NB修理厂");
|
|
|
+ // pum.put("[repairTel]", "13826514987");
|
|
|
+ // pum.put("[endStationName]", "丰台");
|
|
|
+ // pum.put("[goodsLineCode]", "F12");
|
|
|
+ // pum.put("[goodsLine]", "马驹桥");
|
|
|
+ // pum.put("[repairAddress]", "NB修车厂地址)");
|
|
|
+ // pum.put("[goodsQuantity]", "1");
|
|
|
+ // pum.put("[goodsInsurance]", "12");
|
|
|
+ // pum.put("[goodsFlatCost]", "14");
|
|
|
+ // pum.put("[goodsPaymentMethod]", "200");
|
|
|
+ // pum.put("[goodsAgencyFund]", "18");
|
|
|
+ // pum.put("[dealerBankAccount]", "1234512312YH");
|
|
|
+ // pum.put("[goodsRemark]", "帽子");
|
|
|
+ // pum.put("[realName]", "xg");
|
|
|
+ // pum.put("[currentTime]", "21111yyymmm");
|
|
|
+
|
|
|
+
|
|
|
+ Set < String > keySet = pum.keySet();
|
|
|
+ Iterator < String > iterator = keySet.iterator();
|
|
|
+ InputStream afis = this.getResources().getAssets().open("goods.txt"); //打印模版放在assets文件夹里
|
|
|
+ String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ String string = (String) iterator.next();
|
|
|
+ path = path.replace(string, pum.get(string));
|
|
|
+ }
|
|
|
+
|
|
|
+ HPRTPrinterHelper.printText(path);
|
|
|
+ HPRTPrinterHelper.Form();
|
|
|
+ HPRTPrinterHelper.Print();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private void printDriver(Map < String, String > pum) throws Exception {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // pum.put("[logisticsNo]", "1111232321321");
|
|
|
+ // pum.put("[createTime]", "2019");
|
|
|
+ // pum.put("[sendStationName]", "五方");
|
|
|
+ // pum.put("[dealerCode]", "WF1112");
|
|
|
+ // pum.put("[dealerName]", "五方配件商");
|
|
|
+ // pum.put("[dealerTel]", "13439395969");
|
|
|
+ // pum.put("[repairName]", "NB修理厂");
|
|
|
+ // pum.put("[repairTel]", "13826514987");
|
|
|
+ // pum.put("[endStationName]", "丰台");
|
|
|
+ // pum.put("[goodsLineCode]", "F12");
|
|
|
+ // pum.put("[goodsLine]", "马驹桥");
|
|
|
+ // pum.put("[repairAddress]", "NB修车厂地址)");
|
|
|
+ // pum.put("[goodsQuantity]", "1");
|
|
|
+ // pum.put("[goodsInsurance]", "12");
|
|
|
+ // pum.put("[goodsFlatCost]", "14");
|
|
|
+ // pum.put("[goodsPaymentMethod]", "200");
|
|
|
+ // pum.put("[goodsAgencyFund]", "18");
|
|
|
+ // pum.put("[dealerBankAccount]", "1234512312YH");
|
|
|
+ // pum.put("[goodsRemark]", "帽子");
|
|
|
+ // pum.put("[realName]", "xg");
|
|
|
+ // pum.put("[currentTime]", "21111yyymmm");
|
|
|
+
|
|
|
+
|
|
|
+ Set < String > keySet = pum.keySet();
|
|
|
+ Iterator < String > iterator = keySet.iterator();
|
|
|
+ InputStream afis = this.getResources().getAssets().open("driver.txt"); //打印模版放在assets文件夹里
|
|
|
+ String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ String string = (String) iterator.next();
|
|
|
+ path = path.replace(string, pum.get(string));
|
|
|
+ }
|
|
|
+
|
|
|
+ HPRTPrinterHelper.printText(path);
|
|
|
+ HPRTPrinterHelper.Form();
|
|
|
+ HPRTPrinterHelper.Print();
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void ZTexpress() {
|
|
|
+ try {
|
|
|
+ Map < String, String > pum = new HashMap < String, String > ();
|
|
|
+ pum.put("[logisticsNo]", "1111232321321");
|
|
|
+ pum.put("[createTime]", "2019");
|
|
|
+ pum.put("[sendStationName]", "五方");
|
|
|
+ pum.put("[dealerCode]", "WF1112");
|
|
|
+ pum.put("[dealerName]", "五方配件商");
|
|
|
+ pum.put("[dealerTel]", "13439395969");
|
|
|
+ pum.put("[repairName]", "NB修理厂");
|
|
|
+ pum.put("[repairTel]", "13826514987");
|
|
|
+ pum.put("[endStationName]", "丰台");
|
|
|
+ pum.put("[goodsLineCode]", "F12");
|
|
|
+ pum.put("[goodsLine]", "马驹桥");
|
|
|
+ pum.put("[repairAddress]", "NB修车厂地址)");
|
|
|
+ pum.put("[goodsQuantity]", "1");
|
|
|
+ pum.put("[goodsInsurance]", "12");
|
|
|
+ pum.put("[goodsFlatCost]", "14");
|
|
|
+ pum.put("[goodsPaymentMethod]", "200");
|
|
|
+ pum.put("[goodsAgencyFund]", "18");
|
|
|
+ pum.put("[dealerBankAccount]", "1234512312YH");
|
|
|
+ pum.put("[goodsRemark]", "帽子");
|
|
|
+ pum.put("[realName]", "xg");
|
|
|
+ pum.put("[currentTime]", "21111yyymmm");
|
|
|
+ Set < String > keySet = pum.keySet();
|
|
|
+ Iterator < String > iterator = keySet.iterator();
|
|
|
+ InputStream afis = this.getResources().getAssets().open("goods.txt"); //打印模版放在assets文件夹里
|
|
|
+ String path = new String(InputStreamToByte(afis), "utf-8"); //打印模版以utf-8无bom格式保存
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ String string = (String) iterator.next();
|
|
|
+ path = path.replace(string, pum.get(string));
|
|
|
+ }
|
|
|
+
|
|
|
+ HPRTPrinterHelper.printText(path);
|
|
|
+ HPRTPrinterHelper.Form();
|
|
|
+ HPRTPrinterHelper.Print();
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ Log.e("打印异常", (new StringBuilder("Activity_Main --> PrintSampleReceipt ")).append(e.getMessage()).toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|