Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ba.config.androidpos.Print;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.drawable.BitmapDrawable;
- import android.graphics.drawable.Drawable;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import java.io.IOException;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.Locale;
- import java.util.StringTokenizer;
- import ba.config.androidpos.Helper.MyRunnable;
- import ba.config.androidpos.Models.DMNaruzba;
- import ba.config.androidpos.MyApp;
- import ba.config.androidpos.R;
- import driver.Contants;
- import driver.HsWifiPrintDriver;
- import static android.R.attr.bitmap;
- public class PrintPOS {
- private static HsWifiPrintDriver wifiPrinter;
- private static byte flagCharacterMode = 0x00;//英文字体模式
- private static byte flagAlignMode = 0x00;//0x00表示左对齐,0x01表示居中,0x02表示右对齐
- private static byte flagUnderLineMode = 0x00;//0x00表示解除下划线,0x01下划线宽度为1,0x02下划线宽度为2
- private static byte flagChineseCharacterMode = 0x00;//中文字体模式
- static String ipAdress;
- public static void connectWifi(final String ip, final int port) {
- //连接wifi
- new Thread(new Runnable() {
- @Override
- public void run() {
- //ip-----address[0],port----address[1]
- ipAdress = ip;
- GetPOSPrinter().WIFISocket(ip, port);
- }
- }).start();
- //pingIp
- new Thread(new Runnable() {
- @Override
- public void run() {
- HsWifiPrintDriver hsWifiPrintDriver = HsWifiPrintDriver.getInstance();
- boolean isNoCon = true;
- do {
- isNoCon = hsWifiPrintDriver.IsNoConnection(ip);
- if (isNoCon == true) {
- MyApp.setConnState(Contants.UNCONNECTED);
- } else {
- MyApp.setConnState(Contants.CONNECTED_BY_WIFI);
- }
- Log.d("ping的地址", ip);
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- Log.d("ping的结果", isNoCon + "");
- } while (!isNoCon);
- if (hsWifiPrintDriver.mysocket != null) {
- try {
- hsWifiPrintDriver.mysocket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- hsWifiPrintDriver.mysocket = null;
- }
- }
- }).start();
- }
- public static HsWifiPrintDriver GetPOSPrinter() {
- if (wifiPrinter == null) {
- wifiPrinter = HsWifiPrintDriver.getInstance();
- return wifiPrinter;
- } else
- return wifiPrinter;
- }
- public static void PrintNaruzba(final ArrayList<DMNaruzba> naruzba, final MyRunnable<Boolean> onSuccess) {
- /* new Thread(new Runnable() {
- @Override
- public void run() {*/
- //ODAVDEEEEE---------------------
- if (MyApp.getConnState() == Contants.UNCONNECTED) {
- Log.d("TAG", "Conn state je unconnected");
- onSuccess.run(false);
- return;
- }
- wifiPrinter = GetPOSPrinter();
- boolean isNoCon = wifiPrinter.IsNoConnection(ipAdress);
- if (isNoCon) {
- Log.d("TAG","IsNoCon");
- onSuccess.run(false);
- return;
- }
- wifiPrinter.Begin();
- /* hsWifiPrintDriver.SetDefaultSetting();
- hsWifiPrintDriver.SetAlignMode(flagAlignMode);
- hsWifiPrintDriver.SetCharacterPrintMode(flagCharacterMode);
- hsWifiPrintDriver.SetUnderline(flagUnderLineMode);*/
- wifiPrinter.setCharsetName("GBK");
- float ukupno = 0;
- for (int i = 0; i < naruzba.size(); i++) {
- ukupno += naruzba.get(i).Cijena * naruzba.get(i).Kolicina;
- }
- float tempPDV = ((float) (17.0 / 100.0));
- float pdv = tempPDV * ukupno;
- float bezPdv = ukupno - pdv;
- wifiPrinter.SetLineSpacing(Byte.valueOf("50"));
- wifiPrinter.printString(PrintFiscalHelper.PrintCenter("CONFIG d.o.o"));
- wifiPrinter.printString(PrintFiscalHelper.PrintCenter("Fra Dominika Mandica 26, 88220 Siroki brijeg"));
- wifiPrinter.printString("");
- wifiPrinter.printString("Narudzba: 22825");
- DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
- DateFormat timeFormat = new SimpleDateFormat("HH:mm");
- wifiPrinter.printString("Datum: " + dateFormat.format(new Date()));
- wifiPrinter.printString("Vrijeme: " + timeFormat.format(new Date()));
- wifiPrinter.printString("Konobar: " + "<Naziv konobara>");
- wifiPrinter.printString(PrintFiscalHelper.Linija());
- wifiPrinter.printString("Artikli");
- wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Kolicina", "Cijena", "Iznos", false));
- wifiPrinter.printString(PrintFiscalHelper.Linija());
- //Printanje artikala
- for (int i = 0; i < naruzba.size(); i++) {
- wifiPrinter.printString(naruzba.get(i).Naziv);
- wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal(naruzba.get(i).Kolicina + ",000x", String.format(Locale.GERMAN, "%.2f", naruzba.get(i).Cijena)
- , String.format(Locale.GERMAN, "%.2f", naruzba.get(i).Cijena * naruzba.get(i).Kolicina), false));
- }
- //
- wifiPrinter.printString(PrintFiscalHelper.Linija());
- wifiPrinter.printString("");
- //wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Ukupno bez popust","","0,00",false));
- //wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Popust 24%","","0,00",false));
- wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Osnovica", "", String.format(Locale.GERMAN, "%.2f", bezPdv), false));
- wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("PDV 17%", "", String.format(Locale.GERMAN, "%.2f", pdv), false));
- wifiPrinter.printString(PrintFiscalHelper.Linija());
- wifiPrinter.SetFontEnlarge(Byte.valueOf("17"));
- wifiPrinter.SetBold(Byte.valueOf("1"));
- wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("UKUPNO KM", "", String.format(Locale.GERMAN, "%.2f", ukupno), true));
- wifiPrinter.SetFontEnlarge(Byte.valueOf("0"));
- wifiPrinter.SetBold(Byte.valueOf("0"));
- wifiPrinter.printString(PrintFiscalHelper.PrintCenter("Hvala na posjeti!"));
- wifiPrinter.printString(PrintFiscalHelper.Linija());
- wifiPrinter.SetBold(Byte.valueOf("1"));
- wifiPrinter.printString("LOYALTY PROGRAM");
- wifiPrinter.SetBold(Byte.valueOf("0"));
- wifiPrinter.printString("Korisnik: Kevic Dani");
- wifiPrinter.printString("Preostalo bodova do bonusa: 64 (1 KM = 1 BOD)");
- /* Bitmap largeIcon = BitmapFactory.decodeResource(MyApp.getContext().getResources(), R.drawable.configposlogo);
- wifiPrinter.printImage(largeIcon, 0);*/
- // Do some stuff
- //wifiPrinter.FeedAndCutPaper(Byte.valueOf("1"));
- byte byt2 = wifiPrinter.StatusInquiryFinish();
- int b = 0;
- b = byt2 & 0xFF;
- Log.e("wifi Status", "b===" + b);
- //wifiPrinter.stop();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.LF();
- wifiPrinter.CR();
- wifiPrinter.PartialCutPaper();
- onSuccess.run(true);
- // Do some stuff
- }
- /* }).start();
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement