Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.25 KB | None | 0 0
  1. @Override
  2. protected Void doInBackground(Void... params) {
  3. Log.d("array_report_track", "adding sales in background");
  4. JSONObject groupedSales = new JSONObject();
  5. JSONObject groupedProducts = new JSONObject();
  6. JSONObject groupedCustomers = new JSONObject();
  7. JSONObject groupedStaff = new JSONObject();
  8. JSONArray groupedSalesArray = new JSONArray();
  9.  
  10. for (int i = 0; i < sales.length(); i++) {
  11. // for (int i = 0; i < getSortedListByDate(sales).length(); i++) {
  12.  
  13. try {
  14. sale_obj = (JSONObject) sales.get(i);
  15. // sale_obj = (JSONObject) getSortedListByDate(sales).get(i);
  16. //sales
  17. if (label.equals("hours")) {
  18.  
  19. String amPM = getTimeFormattedInAMPM(sale_obj.getString("created_at"));
  20. int count = 1;
  21. if (groupedSales.has(amPM)) {
  22. int current_count = groupedSales.getInt(amPM); // read the current count
  23. count = Integer.valueOf(current_count) + 1; // increment by 1
  24. }
  25. groupedSales.put(amPM, count);
  26. }
  27. if (label.equals("days")) {
  28. String days = getDayFormatted(sale_obj.getString("created_at"));
  29. int count = 1;
  30. if (groupedSales.has(days)) {
  31. int current_count = groupedSales.getInt(days); // read the current count
  32. count = Integer.valueOf(current_count) + 1; // increment by 1
  33. }
  34. groupedSales.put(days, count);
  35. }
  36. if (label.equals("months")) {
  37. String months = getMonthFormatted(sale_obj.getString("created_at"));
  38. // String months = "Jan";
  39. int count = 1;
  40. if (groupedSales.has(months)) {
  41. int current_count = groupedSales.getInt(months); // read the current count
  42. count = Integer.valueOf(current_count) + 1; // increment by 1
  43. }
  44. groupedSales.put(months, count);
  45. }
  46.  
  47. //products
  48. String productName = sale_obj.getString("name");
  49. int quantity = Integer.parseInt(sale_obj.getString("quantity"));
  50. if (groupedProducts.has(productName)) {
  51. int current_quantity = groupedProducts.getInt(productName);
  52. // read the current count
  53. // increment by quantity
  54. quantity = current_quantity + Integer.parseInt(sale_obj.getString("quantity"));
  55. groupedProducts.put(productName, quantity);
  56. } else {
  57. groupedProducts.put(productName, quantity);
  58. }
  59. Log.d("array_report_products", groupedProducts.toString());
  60.  
  61. //customer
  62. String customerName = sale_obj.getString("customer_first_name") + " "
  63. + sale_obj.getString("customer_first_name");
  64. int customerQuantity = Integer.parseInt(sale_obj.getString("quantity"));
  65. if (groupedCustomers.has(customerName)) {
  66. int current_quantity = groupedCustomers.getInt(customerName); // read the current count
  67. // increment by the quantity
  68. customerQuantity = current_quantity + Integer.parseInt(sale_obj.getString("quantity"));
  69. }
  70. groupedCustomers.put(customerName, customerQuantity);
  71.  
  72. Log.d("array_report_customer", groupedCustomers.toString());
  73.  
  74. //staff
  75. String staffName = sale_obj.getString("attendant_name");
  76. double price = Double.parseDouble(sale_obj.getString("price"));
  77. if (groupedStaff.has(staffName)) {
  78. double current_price = groupedStaff.getDouble(staffName); // read the current count
  79. // increment by the price
  80. price = current_price + Double.parseDouble(sale_obj.getString("price"));
  81. }
  82. groupedStaff.put(staffName, price);
  83.  
  84. Log.d("array_report_staff", groupedStaff.toString());
  85. } catch (JSONException e) {
  86. e.printStackTrace();
  87. }
  88.  
  89. }
  90. groupedSalesArray.put(groupedSales);
  91. Log.d("array_report_track", "done adding sales in background" + groupedSalesArray.toString());
  92.  
  93.  
  94. Type type = new TypeToken<Map<String, String>>() {
  95. }.getType();
  96. //sales loop
  97. Map<String, String> sales_map = new Gson().fromJson(String.valueOf(groupedSales), type);
  98. Log.d("gson_vals", sales_map.toString());
  99. int i = 0;
  100. for (Map.Entry<String, String> entry : sales_map.entrySet()) {
  101. String key = entry.getKey();
  102. sales_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i));
  103. sales_labels_1.add(key);
  104. i++;
  105. }
  106. /* Iterator<String> iter = groupedSales.keys();
  107. Log.d("array_report_track", "start adding sales to x and y");
  108. int i = 0;
  109. while (iter.hasNext()) {
  110. String key = iter.next();
  111. try {
  112. Object value = groupedSales.get(key);
  113. sales_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i));
  114. sales_labels_1.add(key);
  115. } catch (JSONException e) {
  116. // Something went wrong!
  117. }
  118. i++;
  119. }*/
  120.  
  121.  
  122. Log.d("array_report_track", "done adding sales to x and y");
  123. //products iterator
  124. Map<String, String> products_map = new Gson().fromJson(String.valueOf(groupedProducts), type);
  125. Log.d("gson_vals_products", products_map.toString());
  126. int i2 = 0;
  127. for (Map.Entry<String, String> entry : products_map.entrySet()) {
  128. String key = entry.getKey();
  129. product_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i2));
  130. product_labels_1.add(entry.getValue() + " " + key);
  131. i2++;
  132. }
  133. /* Iterator<String> productsIter = groupedProducts.keys();
  134. int i2 = 0;
  135. while (productsIter.hasNext()) {
  136. String key = productsIter.next();
  137. try {
  138. Object value = groupedProducts.get(key);
  139. product_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i2));
  140. product_labels_1.add(value + " " + key);
  141. } catch (JSONException e) {
  142. // Something went wrong!
  143. }
  144. i2++;
  145. }*/
  146. Log.d("array_report_track", "done adding products to x and y");
  147.  
  148. //customers iterator
  149. Map<String, String> customers_map = new Gson().fromJson(String.valueOf(groupedCustomers), type);
  150. Log.d("gson_vals_customers", customers_map.toString());
  151. int i3 = 0;
  152. for (Map.Entry<String, String> entry : customers_map.entrySet()) {
  153. String key = entry.getKey();
  154. customer_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i3));
  155. customer_labels_1.add(entry.getValue() + " " + key);
  156. i3++;
  157. }
  158. /* Iterator<String> customersIter = groupedCustomers.keys();
  159. int i3 = 0;
  160. while (customersIter.hasNext()) {
  161. String key = customersIter.next();
  162. try {
  163. Object value = groupedCustomers.get(key);
  164. customer_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i3));
  165. customer_labels_1.add(value + " " + key.substring(0, key.lastIndexOf(" ")));
  166. } catch (JSONException e) {
  167. // Something went wrong!
  168. }
  169. i2++;
  170. }*/
  171. Log.d("array_report_track", "done adding customers to x and y");
  172. //staff iterator
  173. DecimalFormat mFormat = new DecimalFormat("###,###,###");
  174. Map<String, String> staff_map = new Gson().fromJson(String.valueOf(groupedStaff), type);
  175. Log.d("gson_vals_staff", staff_map.toString());
  176. int i4 = 0;
  177. for (Map.Entry<String, String> entry : staff_map.entrySet()) {
  178. String key = entry.getKey();
  179. staff_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i4));
  180. staff_labels_1.add(entry.getValue() + " " + key);
  181. i4++;
  182. }
  183. /* Iterator<String> staffIter = groupedStaff.keys();
  184. int i4 = 0;
  185. while (staffIter.hasNext()) {
  186. String key = staffIter.next();
  187. try {
  188. Object value = groupedStaff.get(key);
  189. staff_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i4));
  190. staff_labels_1.add(mFormat.format(value) + " " + key);
  191. } catch (JSONException e) {
  192. // Something went wrong!
  193. }
  194. i4++;
  195. }
  196. Log.d("array_report_track", "done adding staff to x and y");
  197. Log.d("array_report2", sales_values_1.toString() + "/" + sales_labels_1.toString());*/
  198.  
  199. /* sales_values = sh.dateValues();
  200. sales_labels = sh.hour_labels();
  201. product_values = sh.date_products_values();
  202. product_labels = sh.product_labels();
  203. customer_values = sh.date_customer_values();
  204. customer_labels = sh.customer_labels();
  205. staff_values = sh.date_staff_values();
  206. staff_labels = sh.staff_labels();*/
  207.  
  208. return null;
  209. }
  210.  
  211. @Override
  212. protected void onPostExecute(Void unused) {
  213.  
  214. progressBar.setVisibility(View.INVISIBLE);
  215. Log.d("sum_sales_values_1", sales_values_1.toString() + "/" + sales_labels_1.toString());
  216. if (label.equals("hours")) {
  217. salesXTitle.setText("TIME");
  218. }
  219. if (label.equals("days")) {
  220. salesXTitle.setText("DATES");
  221. }
  222. if (label.equals("months")) {
  223. salesXTitle.setText("MONTHS");
  224. }
  225. initializeSalesMPChart(sales_values_1, sales_labels_1, label);
  226. initializeProductPieChart(product_values_1, product_labels_1);
  227. initializeCustomerPieChart(customer_values_1, customer_labels_1);
  228. initializeStaffPieChart(staff_values_1, staff_labels_1);
  229.  
  230. }
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement