xah icon

Report vRubbish 0.0.1

xah | PRO | 10/05/20 11:46:15 PM UTC (Edited) | 0 ⭐ | 1742 👁️ | Never ⏰ | []
PHP |

7.83 KB

|

None

|

0 👍

/

0 👎

<?php
 
 error_reporting(E_ALL);
 ini_set('display_errors', '1');
 
require_once( dirname(__FILE__) . DIRECTORY_SEPARATOR . '/../blocks/functions.php');
 
if (! file_exists('blocks/header.php') ){
  include( dirname(__FILE__) . DIRECTORY_SEPARATOR . '/../blocks/header.php');}
 
function return_type(){ // Creates a fancy looking form.
    $return_form = array(  'return_detail' => 'Detailed',
                          'return_summary'  => 'Summary',
                          'return_condition' => 'Condition' );
 
    create_dropdown_query($return_form, 'return_type', 'decommissioning/return.php');}
 
    $customer_query = new Query(array('Name'), 'Customer', array('Owner' =>  intval($_SESSION['company_id'])), 'ORDER BY Name');
    $customer_arr = array_map('end', $customer_query->array);
    $customer_arr[0] = 'All';
 
if( isset($_POST['return_type']) ){
  echo "<section id='three' class='wrapper'><div class='inner'>";
 
  if( $_POST['return_type'] == 'return_detail' ){
 
    $status_arr = array('Any', 'Unreceived', 'Auditing', 'Completed');
 
    $arr_func = array(array('create_date_picker', 'table'),
                      array('create_dropdown', $customer_arr, 'customer', 'Customer', 'table'),
                      array('create_dropdown', $status_arr, 'status', 'Status', 'table'),
                      array('create_text_input', 'Job #', 'job_no', 'table')
                      );
 
    create_table_form( $arr_func, '', 'small_form', 'return_detail_options' );
 
  }
 
  if( $_POST['return_type'] == 'return_summary' ){
    $arr_func = array(array('create_date_picker', 'table'),
                      array('create_dropdown', $customer_arr, 'customer', 'Customer', 'table'));
 
    create_table_form( $arr_func, '', 'small_form', 'return_summary_options' );
  }
  if( $_POST['return_type'] == 'return_condition' ){
    $arr_func = array(array('create_date_picker', 'table'),
                      array('create_dropdown', $customer_arr, 'customer', 'Customer', 'table'));
 
    create_table_form( $arr_func, '', 'small_form', 'return_condition_options');
  }
}
else{ 
  if( isset($_POST['return_detail_options']) || isset($_POST['return_summary_options']) || isset($_POST['return_condition_options'])){
    echo "<section id='three' class='wrapper'><div class='inner'>";
 
    if(isset($_POST['start_date']) || isset($_POST['end_date']) || isset($_POST['customer']) || isset($_POST['job_no'])){
      $main = 'Job.Owner = ' . intval($_SESSION['company_id']) .
            ' AND Job.JobType = \'I\'';
 
      $return_sels = array('Job.Owner' => intval($_SESSION['company_id']),
                            'Job.JobType' => '\'I\'');
 
      $customer = '';
      $start_date = '';
      $end_date = '';
      $job_no = '';
 
      if($_POST['customer'] != '0'){
        $customer = ' AND Customer.Name = \'' . $customer_arr[$_POST['customer']] . '\'';
        $return_sels['Customer.Name'] = '\'' . $customer_arr[$_POST['customer']] . '\'';}
 
      if(! isset($_POST['status']) || isset($_POST['status']) && $_POST['status'] != '1'){
        $start_date = ' AND Job.DateCompleted >= \'' . $_POST['start_date'] . '\'';
        $end_date = ' AND Job.DateCompleted <= \'' . $_POST['end_date'] . '\'';
        $return_sels['Job.DateCompleted'] = array($_POST['start_date'],  $_POST['end_date']);}
 
      if(isset($_POST['job_no'])){
        if($_POST['job_no'] != ''){
          $job_no = ' AND Job.Number = ' . $_POST['job_no'];
          $return_sels['Job.Number'] = $_POST['job_no'];
        }}
 
      $stock_item = ' AND StockItem.Owner = '. intval($_SESSION['company_id']);
 
      if(isset($_POST['return_detail_options'])){
        if($_POST['status'] == '1'){ // Unreceived status
 
          $status = ' AND Job.DateReceived IS NULL';
          // $final_str = ' OR ' . $main . $customer . $job_no . $status;
          $final_str = $status;
 
          $unreceived_report = 'TRUE';
        }
        elseif($_POST['status'] == '2'){ // Auditing
          $status = ' AND Job.DateCompleted IS NULL AND Job.DateReceived IS NOT NULL';
          $final_str = ' OR ' . $main . $customer . $job_no . $status;
 
        }
        elseif($_POST['status'] == '0'){ // All
          $status = array(' AND Job.DateCompleted IS NULL', ' AND Job.DateReceived IS NULL');
          $final_str = ' OR ' . $main . $customer . $job_no . $status[0] . ' OR ' . $main . $customer . $job_no . $status[1];
          $unreceived_report = 'TRUE';
        }
        else{
          $final_str = '';
        }
 
        if(isset($unreceived_report)){
          $unreceived_job_cols = array('Number', 'DateReceived', 'Customer', 'CustomerReference',
                               'OwnerReference', 'TotalUnits', 'DateCompleted', 'FreightCost');
          $unreceived_job_query = new Query($unreceived_job_cols, 'Job', $return_sels, $final_str);
          $unreceived_job_array = $unreceived_job_query->array;
        }
 
        if($_POST['status'] != '1'){
          $return_sels['StockItem.Owner'] = intval($_SESSION['company_id']);
 
          $return_cols = array('DateReceived', 'DateCompleted', 'Job', 'Customer', 'TotalUnits', 'CustomerReference',
                         'OwnerReference', 'FreightCharge', 'Job.Status', 'Product');
 
          $return_query = new Query($return_cols, 'StockItem', $return_sels, $final_str);
 
          $all_stock_arr = $return_query->array;
          $row_count = $return_query->row_count;
 
          $return_headers = array('Job', 'DateReceived', 'Customer', 'CustomerReference', 'OwnerReference', 'TotalUnits', 'FreightCharge', 'DateCompleted', 'Product');
          $return_array = subset_array('Job', $return_headers, $all_stock_arr, 'Product');
 
          if(isset($unreceived_job_array)){
            $full_array = array_merge($unreceived_job_array, $return_array);}
          else{
            $full_array = $return_array;}
 
            create_title('Customer Returns', 'Number of Items : ' . $row_count);
            create_general_table($return_headers, $full_array);}
        else{
          create_title('Customer Returns', 'Number of Jobs : ' . $unreceived_job_query->row_count);
          create_general_table($unreceived_job_cols, $unreceived_job_array);
        }
      }
      elseif(isset($_POST['return_summary_options'])){
        $return_headers = array('Number', 'Customer', 'CustomerReference', 'OwnerReference', 'TotalUnits', 'DateReceived', 'DateCompleted');
 
        $status = array(' AND Job.DateCompleted IS NULL', ' AND Job.DateReceived IS NULL');
        $return_sum_final_str = ' OR ' . $main . $customer . $job_no . $status[0] . ' OR ' . $main . $customer . $job_no . $status[1];
        $return_sum_query = new Query($return_headers, 'Job', $return_sels, $return_sum_final_str);
        $return_sum_arr = $return_sum_query->array;
 
        create_title('Customer Returns', 'Number of Jobs : ' . $return_sum_query->row_count);
        create_general_table($return_headers, $return_sum_arr);
      }
      elseif(isset($_POST['return_condition_options'])){
        $start_date = ' AND Job.DateCompleted >= \'' . $_POST['start_date'] . '\'';
        $end_date = ' AND Job.DateCompleted <= \'' . $_POST['end_date'] . '\'';
        $return_sels['Job.DateCompleted'] = array($_POST['start_date'],  $_POST['end_date']);
 
        $return_sels['StockItem.Owner'] = intval($_SESSION['company_id']);
 
        $return_condition_cols = array('Product', 'Customer', 'Condition', 'Job', 'ItemCode');
 
        $return_condition_query = new Query($return_condition_cols, 'StockItem', $return_sels);
 
        $all_stock_arr = $return_condition_query->array;
        $row_count = $return_condition_query->row_count;
 
        create_title('Customer Returns', 'Item Count : ' . $row_count);
        create_contingency_table('Condition', 'Product', $all_stock_arr);
 
      }
    }
  }
  echo "</div></section>";
}
 

Comments