Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- protected Void doInBackground(Void... params) {
- Log.d("array_report_track", "adding sales in background");
- JSONObject groupedSales = new JSONObject();
- JSONObject groupedProducts = new JSONObject();
- JSONObject groupedCustomers = new JSONObject();
- JSONObject groupedStaff = new JSONObject();
- JSONArray groupedSalesArray = new JSONArray();
- for (int i = 0; i < sales.length(); i++) {
- // for (int i = 0; i < getSortedListByDate(sales).length(); i++) {
- try {
- sale_obj = (JSONObject) sales.get(i);
- // sale_obj = (JSONObject) getSortedListByDate(sales).get(i);
- //sales
- if (label.equals("hours")) {
- String amPM = getTimeFormattedInAMPM(sale_obj.getString("created_at"));
- int count = 1;
- if (groupedSales.has(amPM)) {
- int current_count = groupedSales.getInt(amPM); // read the current count
- count = Integer.valueOf(current_count) + 1; // increment by 1
- }
- groupedSales.put(amPM, count);
- }
- if (label.equals("days")) {
- String days = getDayFormatted(sale_obj.getString("created_at"));
- int count = 1;
- if (groupedSales.has(days)) {
- int current_count = groupedSales.getInt(days); // read the current count
- count = Integer.valueOf(current_count) + 1; // increment by 1
- }
- groupedSales.put(days, count);
- }
- if (label.equals("months")) {
- String months = getMonthFormatted(sale_obj.getString("created_at"));
- // String months = "Jan";
- int count = 1;
- if (groupedSales.has(months)) {
- int current_count = groupedSales.getInt(months); // read the current count
- count = Integer.valueOf(current_count) + 1; // increment by 1
- }
- groupedSales.put(months, count);
- }
- //products
- String productName = sale_obj.getString("name");
- int quantity = Integer.parseInt(sale_obj.getString("quantity"));
- if (groupedProducts.has(productName)) {
- int current_quantity = groupedProducts.getInt(productName);
- // read the current count
- // increment by quantity
- quantity = current_quantity + Integer.parseInt(sale_obj.getString("quantity"));
- groupedProducts.put(productName, quantity);
- } else {
- groupedProducts.put(productName, quantity);
- }
- Log.d("array_report_products", groupedProducts.toString());
- //customer
- String customerName = sale_obj.getString("customer_first_name") + " "
- + sale_obj.getString("customer_first_name");
- int customerQuantity = Integer.parseInt(sale_obj.getString("quantity"));
- if (groupedCustomers.has(customerName)) {
- int current_quantity = groupedCustomers.getInt(customerName); // read the current count
- // increment by the quantity
- customerQuantity = current_quantity + Integer.parseInt(sale_obj.getString("quantity"));
- }
- groupedCustomers.put(customerName, customerQuantity);
- Log.d("array_report_customer", groupedCustomers.toString());
- //staff
- String staffName = sale_obj.getString("attendant_name");
- double price = Double.parseDouble(sale_obj.getString("price"));
- if (groupedStaff.has(staffName)) {
- double current_price = groupedStaff.getDouble(staffName); // read the current count
- // increment by the price
- price = current_price + Double.parseDouble(sale_obj.getString("price"));
- }
- groupedStaff.put(staffName, price);
- Log.d("array_report_staff", groupedStaff.toString());
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- groupedSalesArray.put(groupedSales);
- Log.d("array_report_track", "done adding sales in background" + groupedSalesArray.toString());
- Type type = new TypeToken<Map<String, String>>() {
- }.getType();
- //sales loop
- Map<String, String> sales_map = new Gson().fromJson(String.valueOf(groupedSales), type);
- Log.d("gson_vals", sales_map.toString());
- int i = 0;
- for (Map.Entry<String, String> entry : sales_map.entrySet()) {
- String key = entry.getKey();
- sales_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i));
- sales_labels_1.add(key);
- i++;
- }
- /* Iterator<String> iter = groupedSales.keys();
- Log.d("array_report_track", "start adding sales to x and y");
- int i = 0;
- while (iter.hasNext()) {
- String key = iter.next();
- try {
- Object value = groupedSales.get(key);
- sales_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i));
- sales_labels_1.add(key);
- } catch (JSONException e) {
- // Something went wrong!
- }
- i++;
- }*/
- Log.d("array_report_track", "done adding sales to x and y");
- //products iterator
- Map<String, String> products_map = new Gson().fromJson(String.valueOf(groupedProducts), type);
- Log.d("gson_vals_products", products_map.toString());
- int i2 = 0;
- for (Map.Entry<String, String> entry : products_map.entrySet()) {
- String key = entry.getKey();
- product_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i2));
- product_labels_1.add(entry.getValue() + " " + key);
- i2++;
- }
- /* Iterator<String> productsIter = groupedProducts.keys();
- int i2 = 0;
- while (productsIter.hasNext()) {
- String key = productsIter.next();
- try {
- Object value = groupedProducts.get(key);
- product_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i2));
- product_labels_1.add(value + " " + key);
- } catch (JSONException e) {
- // Something went wrong!
- }
- i2++;
- }*/
- Log.d("array_report_track", "done adding products to x and y");
- //customers iterator
- Map<String, String> customers_map = new Gson().fromJson(String.valueOf(groupedCustomers), type);
- Log.d("gson_vals_customers", customers_map.toString());
- int i3 = 0;
- for (Map.Entry<String, String> entry : customers_map.entrySet()) {
- String key = entry.getKey();
- customer_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i3));
- customer_labels_1.add(entry.getValue() + " " + key);
- i3++;
- }
- /* Iterator<String> customersIter = groupedCustomers.keys();
- int i3 = 0;
- while (customersIter.hasNext()) {
- String key = customersIter.next();
- try {
- Object value = groupedCustomers.get(key);
- customer_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i3));
- customer_labels_1.add(value + " " + key.substring(0, key.lastIndexOf(" ")));
- } catch (JSONException e) {
- // Something went wrong!
- }
- i2++;
- }*/
- Log.d("array_report_track", "done adding customers to x and y");
- //staff iterator
- DecimalFormat mFormat = new DecimalFormat("###,###,###");
- Map<String, String> staff_map = new Gson().fromJson(String.valueOf(groupedStaff), type);
- Log.d("gson_vals_staff", staff_map.toString());
- int i4 = 0;
- for (Map.Entry<String, String> entry : staff_map.entrySet()) {
- String key = entry.getKey();
- staff_values_1.add(new Entry(Float.valueOf(String.valueOf(entry.getValue())), i4));
- staff_labels_1.add(entry.getValue() + " " + key);
- i4++;
- }
- /* Iterator<String> staffIter = groupedStaff.keys();
- int i4 = 0;
- while (staffIter.hasNext()) {
- String key = staffIter.next();
- try {
- Object value = groupedStaff.get(key);
- staff_values_1.add(new Entry(Float.valueOf(String.valueOf(value)), i4));
- staff_labels_1.add(mFormat.format(value) + " " + key);
- } catch (JSONException e) {
- // Something went wrong!
- }
- i4++;
- }
- Log.d("array_report_track", "done adding staff to x and y");
- Log.d("array_report2", sales_values_1.toString() + "/" + sales_labels_1.toString());*/
- /* sales_values = sh.dateValues();
- sales_labels = sh.hour_labels();
- product_values = sh.date_products_values();
- product_labels = sh.product_labels();
- customer_values = sh.date_customer_values();
- customer_labels = sh.customer_labels();
- staff_values = sh.date_staff_values();
- staff_labels = sh.staff_labels();*/
- return null;
- }
- @Override
- protected void onPostExecute(Void unused) {
- progressBar.setVisibility(View.INVISIBLE);
- Log.d("sum_sales_values_1", sales_values_1.toString() + "/" + sales_labels_1.toString());
- if (label.equals("hours")) {
- salesXTitle.setText("TIME");
- }
- if (label.equals("days")) {
- salesXTitle.setText("DATES");
- }
- if (label.equals("months")) {
- salesXTitle.setText("MONTHS");
- }
- initializeSalesMPChart(sales_values_1, sales_labels_1, label);
- initializeProductPieChart(product_values_1, product_labels_1);
- initializeCustomerPieChart(customer_values_1, customer_labels_1);
- initializeStaffPieChart(staff_values_1, staff_labels_1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement