Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.26 KB | None | 0 0
  1. package ba.config.androidpos.Print;
  2.  
  3. import android.graphics.Bitmap;
  4. import android.graphics.BitmapFactory;
  5. import android.graphics.drawable.BitmapDrawable;
  6. import android.graphics.drawable.Drawable;
  7. import android.util.Log;
  8. import android.view.View;
  9. import android.widget.Button;
  10.  
  11.  
  12. import java.io.IOException;
  13. import java.text.DateFormat;
  14. import java.text.SimpleDateFormat;
  15. import java.util.ArrayList;
  16. import java.util.Date;
  17. import java.util.Locale;
  18. import java.util.StringTokenizer;
  19.  
  20. import ba.config.androidpos.Helper.MyRunnable;
  21. import ba.config.androidpos.Models.DMNaruzba;
  22. import ba.config.androidpos.MyApp;
  23. import ba.config.androidpos.R;
  24. import driver.Contants;
  25. import driver.HsWifiPrintDriver;
  26.  
  27. import static android.R.attr.bitmap;
  28.  
  29.  
  30. public class PrintPOS {
  31. private static HsWifiPrintDriver wifiPrinter;
  32.  
  33. private static byte flagCharacterMode = 0x00;//英文字体模式
  34. private static byte flagAlignMode = 0x00;//0x00表示左对齐,0x01表示居中,0x02表示右对齐
  35. private static byte flagUnderLineMode = 0x00;//0x00表示解除下划线,0x01下划线宽度为1,0x02下划线宽度为2
  36. private static byte flagChineseCharacterMode = 0x00;//中文字体模式
  37. static String ipAdress;
  38.  
  39. public static void connectWifi(final String ip, final int port) {
  40. //连接wifi
  41. new Thread(new Runnable() {
  42. @Override
  43. public void run() {
  44. //ip-----address[0],port----address[1]
  45. ipAdress = ip;
  46. GetPOSPrinter().WIFISocket(ip, port);
  47. }
  48. }).start();
  49. //pingIp
  50. new Thread(new Runnable() {
  51. @Override
  52. public void run() {
  53. HsWifiPrintDriver hsWifiPrintDriver = HsWifiPrintDriver.getInstance();
  54. boolean isNoCon = true;
  55. do {
  56. isNoCon = hsWifiPrintDriver.IsNoConnection(ip);
  57. if (isNoCon == true) {
  58. MyApp.setConnState(Contants.UNCONNECTED);
  59. } else {
  60. MyApp.setConnState(Contants.CONNECTED_BY_WIFI);
  61. }
  62. Log.d("ping的地址", ip);
  63. try {
  64. Thread.sleep(2000);
  65. } catch (InterruptedException e) {
  66. e.printStackTrace();
  67. }
  68. Log.d("ping的结果", isNoCon + "");
  69. } while (!isNoCon);
  70. if (hsWifiPrintDriver.mysocket != null) {
  71. try {
  72. hsWifiPrintDriver.mysocket.close();
  73. } catch (IOException e) {
  74. e.printStackTrace();
  75. }
  76. hsWifiPrintDriver.mysocket = null;
  77. }
  78. }
  79. }).start();
  80. }
  81.  
  82.  
  83. public static HsWifiPrintDriver GetPOSPrinter() {
  84. if (wifiPrinter == null) {
  85. wifiPrinter = HsWifiPrintDriver.getInstance();
  86. return wifiPrinter;
  87. } else
  88. return wifiPrinter;
  89. }
  90.  
  91. public static void PrintNaruzba(final ArrayList<DMNaruzba> naruzba, final MyRunnable<Boolean> onSuccess) {
  92. /* new Thread(new Runnable() {
  93. @Override
  94. public void run() {*/
  95. //ODAVDEEEEE---------------------
  96. if (MyApp.getConnState() == Contants.UNCONNECTED) {
  97. Log.d("TAG", "Conn state je unconnected");
  98. onSuccess.run(false);
  99. return;
  100. }
  101. wifiPrinter = GetPOSPrinter();
  102. boolean isNoCon = wifiPrinter.IsNoConnection(ipAdress);
  103. if (isNoCon) {
  104. Log.d("TAG","IsNoCon");
  105. onSuccess.run(false);
  106. return;
  107. }
  108. wifiPrinter.Begin();
  109. /* hsWifiPrintDriver.SetDefaultSetting();
  110. hsWifiPrintDriver.SetAlignMode(flagAlignMode);
  111. hsWifiPrintDriver.SetCharacterPrintMode(flagCharacterMode);
  112. hsWifiPrintDriver.SetUnderline(flagUnderLineMode);*/
  113.  
  114. wifiPrinter.setCharsetName("GBK");
  115.  
  116. float ukupno = 0;
  117. for (int i = 0; i < naruzba.size(); i++) {
  118. ukupno += naruzba.get(i).Cijena * naruzba.get(i).Kolicina;
  119. }
  120. float tempPDV = ((float) (17.0 / 100.0));
  121. float pdv = tempPDV * ukupno;
  122. float bezPdv = ukupno - pdv;
  123. wifiPrinter.SetLineSpacing(Byte.valueOf("50"));
  124. wifiPrinter.printString(PrintFiscalHelper.PrintCenter("CONFIG d.o.o"));
  125. wifiPrinter.printString(PrintFiscalHelper.PrintCenter("Fra Dominika Mandica 26, 88220 Siroki brijeg"));
  126. wifiPrinter.printString("");
  127. wifiPrinter.printString("Narudzba: 22825");
  128. DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy");
  129. DateFormat timeFormat = new SimpleDateFormat("HH:mm");
  130. wifiPrinter.printString("Datum: " + dateFormat.format(new Date()));
  131. wifiPrinter.printString("Vrijeme: " + timeFormat.format(new Date()));
  132. wifiPrinter.printString("Konobar: " + "<Naziv konobara>");
  133. wifiPrinter.printString(PrintFiscalHelper.Linija());
  134.  
  135. wifiPrinter.printString("Artikli");
  136. wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Kolicina", "Cijena", "Iznos", false));
  137. wifiPrinter.printString(PrintFiscalHelper.Linija());
  138.  
  139. //Printanje artikala
  140. for (int i = 0; i < naruzba.size(); i++) {
  141. wifiPrinter.printString(naruzba.get(i).Naziv);
  142. wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal(naruzba.get(i).Kolicina + ",000x", String.format(Locale.GERMAN, "%.2f", naruzba.get(i).Cijena)
  143. , String.format(Locale.GERMAN, "%.2f", naruzba.get(i).Cijena * naruzba.get(i).Kolicina), false));
  144.  
  145. }
  146. //
  147. wifiPrinter.printString(PrintFiscalHelper.Linija());
  148. wifiPrinter.printString("");
  149. //wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Ukupno bez popust","","0,00",false));
  150. //wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Popust 24%","","0,00",false));
  151. wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("Osnovica", "", String.format(Locale.GERMAN, "%.2f", bezPdv), false));
  152. wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("PDV 17%", "", String.format(Locale.GERMAN, "%.2f", pdv), false));
  153. wifiPrinter.printString(PrintFiscalHelper.Linija());
  154. wifiPrinter.SetFontEnlarge(Byte.valueOf("17"));
  155. wifiPrinter.SetBold(Byte.valueOf("1"));
  156.  
  157. wifiPrinter.printString(PrintFiscalHelper.PrinterArtikal("UKUPNO KM", "", String.format(Locale.GERMAN, "%.2f", ukupno), true));
  158. wifiPrinter.SetFontEnlarge(Byte.valueOf("0"));
  159. wifiPrinter.SetBold(Byte.valueOf("0"));
  160.  
  161.  
  162. wifiPrinter.printString(PrintFiscalHelper.PrintCenter("Hvala na posjeti!"));
  163. wifiPrinter.printString(PrintFiscalHelper.Linija());
  164.  
  165.  
  166. wifiPrinter.SetBold(Byte.valueOf("1"));
  167. wifiPrinter.printString("LOYALTY PROGRAM");
  168. wifiPrinter.SetBold(Byte.valueOf("0"));
  169. wifiPrinter.printString("Korisnik: Kevic Dani");
  170. wifiPrinter.printString("Preostalo bodova do bonusa: 64 (1 KM = 1 BOD)");
  171.  
  172. /* Bitmap largeIcon = BitmapFactory.decodeResource(MyApp.getContext().getResources(), R.drawable.configposlogo);
  173.  
  174. wifiPrinter.printImage(largeIcon, 0);*/
  175. // Do some stuff
  176.  
  177.  
  178. //wifiPrinter.FeedAndCutPaper(Byte.valueOf("1"));
  179. byte byt2 = wifiPrinter.StatusInquiryFinish();
  180. int b = 0;
  181. b = byt2 & 0xFF;
  182. Log.e("wifi Status", "b===" + b);
  183. //wifiPrinter.stop();
  184. wifiPrinter.LF();
  185. wifiPrinter.CR();
  186. wifiPrinter.LF();
  187. wifiPrinter.CR();
  188. wifiPrinter.LF();
  189. wifiPrinter.CR();
  190. wifiPrinter.LF();
  191. wifiPrinter.CR();
  192. wifiPrinter.LF();
  193. wifiPrinter.CR();
  194. wifiPrinter.LF();
  195. wifiPrinter.CR();
  196. wifiPrinter.LF();
  197. wifiPrinter.CR();
  198. wifiPrinter.LF();
  199. wifiPrinter.CR();
  200. wifiPrinter.LF();
  201. wifiPrinter.CR();
  202. wifiPrinter.LF();
  203. wifiPrinter.CR();
  204. wifiPrinter.PartialCutPaper();
  205. onSuccess.run(true);
  206. // Do some stuff
  207. }
  208. /* }).start();
  209.  
  210. */
  211.  
  212. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement