Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.76 KB | None | 0 0
  1. private void printCardTicket(Double previousBalance, Double currentBalance, String currentCardNo, Boolean isDoubleDeduct) {
  2.  
  3. ticketingOverlay.setVisibility(View.VISIBLE);
  4.  
  5. verify = 0;
  6. try {
  7. final Handler handler = new Handler(Looper.getMainLooper());
  8. for (final int[] loopVariable = {0}; loopVariable[0] < Integer.parseInt(tv_passenger_qty.getText().toString()); loopVariable[0]++) {
  9. handler.postDelayed(mRunnable = new Runnable() {
  10. @Override
  11. public void run() {
  12.  
  13. DateFormat dateFormat2 = new SimpleDateFormat("MMddyyyyhhmmss.SSS");
  14. Date date2 = new Date();
  15. String generatedUUIDDate = dateFormat2.format(date2);
  16.  
  17. String generatedCombination = generatedUUIDDate + Build.SERIAL + "TICKETS";
  18.  
  19. UUID generatedUUID = UUID.nameUUIDFromBytes(generatedCombination.getBytes());
  20.  
  21. df = new DecimalFormat("000000");
  22.  
  23. DateFormat dateFormat = new SimpleDateFormat("MMddyyyy");
  24. Date date = new Date();
  25. String curDate = dateFormat.format(date).toString();
  26.  
  27. DateFormat datetimeformat = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
  28. Date datetime = new Date();
  29. String datetimestamp = datetimeformat.format(datetime).toLowerCase();
  30.  
  31. if (tv_passenger_type.getText().toString().equalsIgnoreCase("REGULAR")) {
  32.  
  33. passenger_code = "R";
  34.  
  35. } else if (tv_passenger_type.getText().toString().equalsIgnoreCase("STUDENT")) {
  36.  
  37. passenger_code = "S";
  38.  
  39. } else if (tv_passenger_type.getText().toString().equalsIgnoreCase("SENIOR")) {
  40.  
  41. passenger_code = "SC";
  42.  
  43. } else if (tv_passenger_type.getText().toString().equalsIgnoreCase("PWD")) {
  44.  
  45. passenger_code = "PWD";
  46.  
  47. } else if (tv_passenger_type.getText().toString().equalsIgnoreCase("PASSES")) {
  48.  
  49. passenger_code = "P";
  50.  
  51. }
  52.  
  53. //printing-ticket
  54.  
  55. int[] status = new int[1];
  56. int ret = -1;
  57. try {
  58. ret = mPrinter.getPrinterStatus(status);
  59. } catch (RemoteException e) {
  60. e.printStackTrace();
  61. }
  62. print_status = String.valueOf(status[0]);
  63.  
  64. if (print_status.equals("0")) {
  65.  
  66. DateFormat dateformatforprint = new SimpleDateFormat("MMM d, yyyy EEE");
  67. Date dateformatprint = new Date();
  68. String datetoprint = dateformatforprint.format(dateformatprint).toString();
  69.  
  70. DateFormat timeformattoprint = new SimpleDateFormat("hh:mm:ss a");
  71. Date timeformat = new Date();
  72. String timetoprint = timeformattoprint.format(timeformat).toString();
  73.  
  74.  
  75. int result = 0;
  76.  
  77. //initialize printing
  78. try {
  79. result = mPrinter.printInit();
  80. Log.e("PrinterStatus1", String.valueOf(result));
  81. result = mPrinter.clearPrintDataCache();
  82. Log.e("PrinterStatus2", String.valueOf(result));
  83. } catch (RemoteException e) {
  84. e.printStackTrace();
  85. }
  86.  
  87. if (result == 0) {
  88.  
  89. String cardNoPrint;
  90.  
  91. cardNoPrint = "************" + currentCardNo.substring(currentCardNo.length() - 4);
  92.  
  93. try {
  94.  
  95. final_serial = activationSoftwareSerial.substring(activationSoftwareSerial.length() - 4);
  96.  
  97. if (isDoubleDeduct) {
  98. ticket_no = vehicle_no + dispatchedDate + final_serial + df.format(ticket_count - 1);
  99.  
  100. } else {
  101. ticket_no = vehicle_no + dispatchedDate + final_serial + df.format(ticket_count);
  102. }
  103.  
  104. String substr = min.substring(min.length() - 9);
  105. ticket_or_no = substr + "-" + df.format(ticket_or_no_count);
  106.  
  107. String companyname = company_name;
  108.  
  109. String title = "TIN: " + tin;
  110. String title2 = "ACCRED: " + accreditation;
  111. String title3 = "PERMIT#: " + permit_to_use;
  112. String title4 = "MIN: " + min;
  113.  
  114. String passenger = tv_passenger_type.getText().toString().toUpperCase() + "/" + route_bound;
  115.  
  116. String body = "BUS NO. : " + vehicle_no;
  117. String body1 = "OR NO. : " + ticket_or_no;
  118. String body2 = "DATE : " + datetoprint;
  119. String body3 = "TIME : " + timetoprint;
  120. String body4 = "FROM : " + tv_origin_kmpost.getText().toString() + " - " + tv_origin_kmname.getText().toString();
  121. String body5 = "TO : " + tv_destination_kmpost.getText().toString() + " - " + tv_destination_kmname.getText().toString();
  122. String body6 = "DISTANCE : " + tv_kmrun.getText().toString() + "KM";
  123. String body7 = "DRIV. NAME : " + driver_name;
  124. String body8 = "COND. NAME : " + conductor_name;
  125. String body9 = "CARD NO : " + cardNoPrint;
  126. String body10 = "TYPE : " + "CARD";
  127. String body11 = "BALANCE : PHP " + String.format("%,.2f", Double.parseDouble(String.valueOf(currentBalance)));
  128.  
  129.  
  130. String amount = "Php " + tv_individual_amount.getText().toString();
  131. String ticketno = ticket_no;
  132. String footer = "THIS SERVES AS AN OFFICIAL RECEIPT";
  133. String footer1 = "Powered by Journeytech Inc.";
  134.  
  135.  
  136. try {
  137.  
  138. result = mPrinter.printString(companyname, 28, Printer.Align.CENTER, true, false);
  139. result = mPrinter.print2StringInLine(title, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, true, false, false);
  140. result = mPrinter.print2StringInLine(title2, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, true, false, false);
  141. result = mPrinter.print2StringInLine(title3, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, true, false, false);
  142. result = mPrinter.print2StringInLine(title4, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, true, false, false);
  143. result = mPrinter.print2StringInLine(passenger, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, true, false, false);
  144.  
  145. result = mPrinter.print2StringInLine(body2, " ", 1.0f, Printer.Font.DEFAULT_BOLD, 20, Printer.Align.LEFT, true, false, false);
  146. result = mPrinter.print2StringInLine(body3, " ", 1.0f, Printer.Font.DEFAULT_BOLD, 20, Printer.Align.LEFT, true, false, false);
  147. result = mPrinter.print2StringInLine(body4, " ", 1.0f, Printer.Font.DEFAULT_BOLD, 20, Printer.Align.LEFT, true, false, false);
  148. result = mPrinter.print2StringInLine(body5, " ", 1.0f, Printer.Font.DEFAULT_BOLD, 20, Printer.Align.LEFT, true, false, false);
  149.  
  150.  
  151. result = mPrinter.print2StringInLine(body, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  152. result = mPrinter.print2StringInLine(body1, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  153. // result = mPrinter.print2StringInLine(body2, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  154. // result = mPrinter.print2StringInLine(body3, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  155. // result = mPrinter.print2StringInLine(body4, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  156. // result = mPrinter.print2StringInLine(body5, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  157. result = mPrinter.print2StringInLine(body6, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  158. result = mPrinter.print2StringInLine(body7, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  159. result = mPrinter.print2StringInLine(body8, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  160. result = mPrinter.print2StringInLine(body9, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  161. result = mPrinter.print2StringInLine(body10, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  162. result = mPrinter.print2StringInLine(body11, " ", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.LEFT, false, false, false);
  163.  
  164. if (tv_passenger_type.getText().toString().equalsIgnoreCase("PASSES")) {
  165. result = mPrinter.print2StringInLine("FREE", "", 1.0f, Printer.Font.DEFAULT_BOLD, 28, Printer.Align.CENTER, true, false, false);
  166.  
  167. } else {
  168. result = mPrinter.print2StringInLine(amount, "", 1.0f, Printer.Font.DEFAULT_BOLD, 28, Printer.Align.CENTER, true, false, false);
  169.  
  170. }
  171. result = mPrinter.print2StringInLine(ticketno, "", 1.0f, Printer.Font.MONOSPACE, 20, Printer.Align.CENTER, true, false, false);
  172. result = mPrinter.print2StringInLine(footer, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, false, false, false);
  173. result = mPrinter.print2StringInLine(footer1, "", 1.0f, Printer.Font.MONOSPACE, 16, Printer.Align.CENTER, false, false, false);
  174.  
  175. result = mPrinter.printStringBase(" ", 0, 0f, 1.0f, 14, Printer.Align.CENTER, false, false, false);
  176. result = mPrinter.printStringBase(" ", 0, 0f, 1.0f, 14, Printer.Align.CENTER, false, false, false);
  177. result = mPrinter.printStringBase(" ", 0, 0f, 1.0f, 14, Printer.Align.CENTER, false, false, false);
  178. result = mPrinter.printStringBase(" ", 0, 0f, 1.0f, 14, Printer.Align.CENTER, false, false, false);
  179. result = mPrinter.printStringBase(" ", 0, 0f, 1.0f, 24, Printer.Align.CENTER, false, false, false);
  180.  
  181.  
  182. if (!isDoubleDeduct) {
  183. dbmanager.insertTicket(dispatch_id,
  184. route_id,
  185. String.valueOf(generatedUUID),
  186. ticket_or_no,
  187. ticketno,
  188. control_no,
  189. trip_no,
  190. vehicle_id,
  191. vehicle_no,
  192. tv_origin_kmname.getText().toString(),
  193. tv_destination_kmname.getText().toString(),
  194. tv_origin_kmpost.getText().toString(),
  195. tv_destination_kmpost.getText().toString(),
  196. String.valueOf(amountHolder),
  197. tv_passenger_type.getText().toString(),
  198. passenger_code,
  199. globalLong,
  200. globalLat,
  201. "CARD",
  202. Build.SERIAL,
  203. datetimestamp,
  204. String.valueOf(previousBalance),
  205. String.valueOf(currentBalance),
  206. currentCardNo,
  207. "1",
  208. "0");
  209.  
  210. verify += 1;
  211.  
  212. ticket_count += 1;
  213. ticket_or_no_count += 1;
  214. updateTicketCount(currentCardNo, String.valueOf(previousBalance), String.valueOf(currentBalance));
  215. } else {
  216. Log.i("double deduct", "occured");
  217. }
  218.  
  219. ticketingOverlay.setVisibility(View.GONE);
  220. } catch (RemoteException e) {
  221. e.printStackTrace();
  222.  
  223. }
  224.  
  225. Log.e("PrinterStatus3", String.valueOf(result));
  226.  
  227. if (result != RspCode.OK)
  228. Toast.makeText(Ticketing.this.getContext(), "Check Printer", Toast.LENGTH_SHORT).show();
  229. result = mPrinter.printFinish();
  230. Log.e("PrinterStatus4", String.valueOf(result));
  231. } catch (Exception e) {
  232. e.printStackTrace();
  233.  
  234. }
  235.  
  236.  
  237. //</editor-fold>
  238.  
  239. } else {
  240. Ticketing.this.getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
  241.  
  242. verify = loopVariable[0];
  243. handler.removeCallbacksAndMessages(null);
  244. }
  245. } else {
  246. Ticketing.this.getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
  247.  
  248. if (pDialog != null) {
  249. pDialog.dismiss();
  250.  
  251. pDialog = new KAlertDialog(getContext(), KAlertDialog.WARNING_TYPE);
  252. pDialog.setTitleText("PRINTING");
  253. pDialog.setContentText("NO THERMAL PAPER!" + "\n" + "TOTAL PRINTED TICKET : " + verify);
  254. pDialog.setCancelable(false);
  255. pDialog.confirmButtonColor(R.color.white);
  256. pDialog.show();
  257.  
  258.  
  259. new Handler().postDelayed(new Runnable() {
  260. @Override
  261. public void run() {
  262.  
  263. enabled();
  264. pDialog.dismiss();
  265.  
  266. }
  267. }, 4000);
  268. }
  269.  
  270. tv_passenger_qty.setText(qtyItems.get(0).toString());
  271. }
  272.  
  273. //Log.e("verify",String.valueOf(verify) + "n" + spinner_passenger_qty.getSelectedItem().toString());
  274.  
  275. if (verify == Integer.parseInt(tv_passenger_qty.getText().toString())) {
  276. loopVariable[0] = Integer.parseInt(tv_passenger_qty.getText().toString());
  277. new Handler().postDelayed(new Runnable() {
  278. @Override
  279. public void run() {
  280. Ticketing.this.getActivity().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
  281.  
  282. enabled();
  283. pDialog.dismiss();
  284.  
  285. if (checkbox_fix.isChecked()) {
  286.  
  287. } else {
  288. tv_passenger_type.setText(typeItems.get(0).toString());
  289. tv_passenger_qty.setText(qtyItems.get(0).toString());
  290. tv_destination_kmname.setText(tv_origin_kmname.getText().toString());
  291. tv_destination_kmpost.setText(tv_origin_kmpost.getText().toString());
  292.  
  293.  
  294. }
  295.  
  296. }
  297. }, 500);
  298. Log.e("sending??", "outside loop?");
  299. }
  300.  
  301. }
  302. }, 1000 * loopVariable[0]);
  303. }
  304. } catch (Throwable e) {
  305. e.printStackTrace();
  306. enabled();
  307. }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement