Add legacy job order and details migration commands #168
This commit is contained in:
parent
d39d554ba1
commit
bfa39f4640
5 changed files with 583 additions and 68 deletions
|
|
@ -18,7 +18,10 @@ use App\Entity\PlateNumber;
|
|||
|
||||
use App\Ramcar\LegacyBattery;
|
||||
use App\Ramcar\LegacyVehicleManufacturer;
|
||||
use App\Ramcar\LegacyTransactionType;
|
||||
use App\Ramcar\LegacyVehicle;
|
||||
use App\Ramcar\LegacyOrigin;
|
||||
|
||||
use App\Ramcar\WarrantyClass;
|
||||
use App\Ramcar\WarrantyStatus;
|
||||
|
||||
|
|
@ -32,6 +35,12 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
protected $bsize_hash;
|
||||
protected $vmfg_hash;
|
||||
protected $vehicle_hash;
|
||||
protected $jo_hash;
|
||||
|
||||
protected $row_fields;
|
||||
protected $data_fields;
|
||||
protected $row_max_field_size;
|
||||
protected $data_max_field_size;
|
||||
|
||||
public function __construct(ObjectManager $om)
|
||||
{
|
||||
|
|
@ -42,6 +51,9 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$this->loadVehicleManufacturers();
|
||||
$this->loadVehicles();
|
||||
|
||||
$this->jo_hash = [];
|
||||
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
|
|
@ -245,8 +257,13 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$service_types = [];
|
||||
$no_sizes = [];
|
||||
|
||||
// files
|
||||
$plate_outfile = fopen('/tmp/plate_numbers.csv', 'a');
|
||||
$warr_outfile = fopen('/tmp/warranty.csv', 'a');
|
||||
$jo_outfile = fopen('/tmp/legacy_jo.csv', 'a');
|
||||
$jorow_outfile = fopen('/tmp/legacy_jo_row.csv', 'a');
|
||||
|
||||
$this->initializeMaxFieldCounters();
|
||||
|
||||
// loop through rows
|
||||
$save_plates = [];
|
||||
|
|
@ -256,13 +273,6 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$row_num++;
|
||||
// $output->writeln("Parsing row " . $row_num . "...");
|
||||
|
||||
// skip taxes
|
||||
if ($fields[14] == 'Bureau of Internal Revenue')
|
||||
{
|
||||
// $output->writeln('Skipping BIR line');
|
||||
continue;
|
||||
}
|
||||
|
||||
// ignore first 5 rows
|
||||
if ($row_num <= 5)
|
||||
continue;
|
||||
|
|
@ -275,6 +285,28 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
exit;
|
||||
}
|
||||
|
||||
$this->processLegacyTransaction($fields);
|
||||
|
||||
// skip taxes
|
||||
if ($fields[14] == 'Bureau of Internal Revenue')
|
||||
{
|
||||
// $output->writeln('Skipping BIR line');
|
||||
continue;
|
||||
}
|
||||
|
||||
// clean plate numbers
|
||||
$id = $fields[0];
|
||||
$plate_num = Warranty::cleanPlateNumber($fields[14]);
|
||||
if (!$plate_num)
|
||||
{
|
||||
// $output->writeln('Invalid plate number - ' . $fields[14]);
|
||||
$this->jo_hash[$id]['data']['plate_number'] = null;
|
||||
continue;
|
||||
}
|
||||
else
|
||||
$this->jo_hash[$id]['data']['plate_number'] = $plate_num;
|
||||
|
||||
|
||||
// let's track purchases first
|
||||
if ($fields[5] != 'PURCHASE')
|
||||
continue;
|
||||
|
|
@ -283,7 +315,7 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$found_battery = $this->findBattery($fields[92], $batt_model, $batt_size);
|
||||
if (!$found_battery)
|
||||
{
|
||||
$output->writeln('battery not found - ' . $fields[92]);
|
||||
// $output->writeln('battery not found - ' . $fields[92]);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -291,7 +323,7 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$found_vehicle = $this->findVehicle($fields[15], $fields[16], $fields[17], $vehicle);
|
||||
if (!$found_vehicle)
|
||||
{
|
||||
$output->writeln('vehicle not found - ' . $fields[15] . ' - ' . $fields[16]);
|
||||
// $output->writeln('vehicle not found - ' . $fields[15] . ' - ' . $fields[16]);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -299,19 +331,11 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$trans_types[$fields[5]] = 1;
|
||||
$service_types[$fields[7]] = $fields[5];
|
||||
|
||||
// clean plate numbers
|
||||
$plate_num = Warranty::cleanPlateNumber($fields[14]);
|
||||
if (!$plate_num)
|
||||
{
|
||||
$output->writeln('Invalid plate number - ' . $fields[14]);
|
||||
continue;
|
||||
}
|
||||
|
||||
fwrite($plate_outfile, $plate_num . ',' . $vehicle['id'] . "\n");
|
||||
|
||||
if (isset($fields[107]))
|
||||
{
|
||||
echo 'warranty class - ' . $fields[107] . "\n";
|
||||
// echo 'warranty class - ' . $fields[107] . "\n";
|
||||
|
||||
|
||||
$warr_class = WarrantyClass::convertFromLegacy($fields[107]);
|
||||
|
|
@ -323,9 +347,9 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
// model and size
|
||||
$line = $batt_model_id . ',' . $batt_size_id . ',';
|
||||
|
||||
echo 'wclass - ' . $warr_class . "\n";
|
||||
echo 'serial - ' . $fields[110] . "\n";
|
||||
echo 'expiry - ' . $fields[109] . "\n";
|
||||
// echo 'wclass - ' . $warr_class . "\n";
|
||||
// echo 'serial - ' . $fields[110] . "\n";
|
||||
// echo 'expiry - ' . $fields[109] . "\n";
|
||||
|
||||
// serial
|
||||
if (isset($fields[110]) && strlen(trim($fields[110])) > 0)
|
||||
|
|
@ -381,6 +405,7 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
// check if we marked it already
|
||||
if (isset($save_plates[$plate_num]))
|
||||
|
|
@ -453,6 +478,8 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
*/
|
||||
}
|
||||
|
||||
// print_r($this->jo_hash);
|
||||
|
||||
// $em->flush();
|
||||
|
||||
// print_r($trans_types);
|
||||
|
|
@ -466,8 +493,250 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
// print_r($this->vehicle_hash);
|
||||
// print_r($no_makes);
|
||||
|
||||
/*
|
||||
print_r($this->data_max_field_size);
|
||||
print_r($this->row_max_field_size);
|
||||
*/
|
||||
|
||||
// save job order
|
||||
foreach ($this->jo_hash as $jo)
|
||||
{
|
||||
$id = $jo['data']['id'];
|
||||
|
||||
$line = $this->exportJOData($jo['data']);
|
||||
fwrite($jo_outfile, $line . "\n");
|
||||
|
||||
foreach ($jo['rows'] as $jo_row)
|
||||
fputcsv($jorow_outfile, $jo_row);
|
||||
}
|
||||
|
||||
|
||||
fclose($plate_outfile);
|
||||
fclose($warr_outfile);
|
||||
fclose($jo_outfile);
|
||||
fclose($jorow_outfile);
|
||||
}
|
||||
|
||||
protected function initializeMaxFieldCounters()
|
||||
{
|
||||
$this->data_fields = [
|
||||
'trans_type',
|
||||
'origin',
|
||||
|
||||
'car_brand',
|
||||
'car_make',
|
||||
'car_model',
|
||||
'car_color',
|
||||
|
||||
'cust_name',
|
||||
'cust_first_name',
|
||||
'cust_middle_name',
|
||||
'cust_last_name',
|
||||
'cust_contact',
|
||||
'cust_mobile',
|
||||
'cust_landline',
|
||||
|
||||
'delivery_instructions',
|
||||
'agent_notes_1',
|
||||
'delivery_date',
|
||||
'delivery_time',
|
||||
'advance_order',
|
||||
'stage',
|
||||
'cancel_reason',
|
||||
'cancel_reason_specify',
|
||||
'payment_method',
|
||||
|
||||
'prepared_by',
|
||||
|
||||
'dispatch_time',
|
||||
'dispatch_date',
|
||||
'dispatched_by',
|
||||
|
||||
'address',
|
||||
'landmark',
|
||||
'date_purchase',
|
||||
];
|
||||
|
||||
$this->row_fields = [
|
||||
'item',
|
||||
'qty',
|
||||
'price',
|
||||
'price_level',
|
||||
'status',
|
||||
'account',
|
||||
'enrollee',
|
||||
];
|
||||
|
||||
// initialize max field size counter
|
||||
$this->data_max_field_size = [
|
||||
'trans_type' => 0,
|
||||
'origin' => 0,
|
||||
|
||||
'car_brand' => 0,
|
||||
'car_make' => 0,
|
||||
'car_model' => 0,
|
||||
'car_color' => 0,
|
||||
|
||||
'cust_name' => 0,
|
||||
'cust_first_name' => 0,
|
||||
'cust_middle_name' => 0,
|
||||
'cust_last_name' => 0,
|
||||
'cust_contact' => 0,
|
||||
'cust_mobile' => 0,
|
||||
'cust_landline' => 0,
|
||||
|
||||
'delivery_instructions' => 0,
|
||||
'agent_notes_1' => 0,
|
||||
'delivery_date' => 0,
|
||||
'delivery_time' => 0,
|
||||
'advance_order' => 0,
|
||||
'stage' => 0,
|
||||
'cancel_reason' => 0,
|
||||
'cancel_reason_specify' => 0,
|
||||
'payment_method' => 0,
|
||||
|
||||
'prepared_by' => 0,
|
||||
|
||||
'dispatch_time' => 0,
|
||||
'dispatch_date' => 0,
|
||||
'dispatched_by' => 0,
|
||||
|
||||
'address' => 0,
|
||||
'landmark' => 0,
|
||||
'date_purchase' => 0,
|
||||
];
|
||||
|
||||
$this->row_max_field_size = [
|
||||
'item' => 0,
|
||||
'qty' => 0,
|
||||
'price' => 0,
|
||||
'price_level' => 0,
|
||||
'status' => 0,
|
||||
'account' => 0,
|
||||
'enrollee' => 0,
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
protected function processLegacyTransaction($fields)
|
||||
{
|
||||
// echo "trans type - " . $fields[5] . "\n";
|
||||
// echo "origin - " . $fields[9] . "\n";
|
||||
// echo "stage - " . $fields[34] . "\n";
|
||||
// echo "payment method - " . $fields[37] . "\n";
|
||||
// echo "price level - " . $fields[95] . "\n";
|
||||
|
||||
$id = $fields[0];
|
||||
|
||||
$trans_type = LegacyTransactionType::translate($fields[5]);
|
||||
$origin = LegacyOrigin::translate($fields[9]);
|
||||
|
||||
// consolidate based on jo id
|
||||
if (!isset($this->jo_hash[$id]))
|
||||
{
|
||||
$this->jo_hash[$id] = [
|
||||
// 'raw' => [],
|
||||
'data' => [],
|
||||
'rows' => [],
|
||||
];
|
||||
|
||||
$date_trans = DateTime::createFromFormat('m/d/Y', $fields[3]);
|
||||
|
||||
// labelled data
|
||||
$this->jo_hash[$id]['data'] = [
|
||||
'id' => $id,
|
||||
'date_trans' => $date_trans->format('Ymd'),
|
||||
'trans_type' => $trans_type,
|
||||
'origin' => $fields[9],
|
||||
|
||||
'car_brand' => $fields[15],
|
||||
'car_make' => $fields[16],
|
||||
'car_model' => $fields[17],
|
||||
'car_color' => $fields[18],
|
||||
|
||||
'cust_name' => $fields[19],
|
||||
'cust_first_name' => $fields[20],
|
||||
'cust_middle_name' => $fields[21],
|
||||
'cust_last_name' => $fields[22],
|
||||
'cust_contact' => $fields[23],
|
||||
'cust_mobile' => $fields[24],
|
||||
'cust_landline' => $fields[25],
|
||||
|
||||
'delivery_instructions' => $fields[29],
|
||||
'agent_notes_1' => $fields[30],
|
||||
'delivery_date' => $fields[31],
|
||||
'delivery_time' => $fields[32],
|
||||
'advance_order' => $fields[33],
|
||||
'stage' => $fields[34],
|
||||
'cancel_reason' => $fields[35],
|
||||
'cancel_reason_specify' => $fields[36],
|
||||
'payment_method' => $fields[37],
|
||||
|
||||
'prepared_by' => $fields[39],
|
||||
|
||||
'dispatch_time' => $fields[75],
|
||||
'dispatch_date' => $fields[76],
|
||||
'dispatched_by' => $fields[77],
|
||||
|
||||
'address' => $fields[82],
|
||||
'landmark' => $fields[83],
|
||||
'date_purchase' => $fields[84],
|
||||
];
|
||||
|
||||
|
||||
// max field size
|
||||
foreach ($this->data_fields as $data_field)
|
||||
{
|
||||
$len = strlen($this->jo_hash[$id]['data'][$data_field]);
|
||||
// echo "$data_field - $len vs " . $this->data_max_field_size[$data_field] . "\n";
|
||||
|
||||
if ($len > $this->data_max_field_size[$data_field])
|
||||
$this->data_max_field_size[$data_field] = $len;
|
||||
}
|
||||
/*
|
||||
// raw
|
||||
for ($x = 0; $x < 88; $x++)
|
||||
$this->jo_hash[$id]['raw'][$x] = $fields[$x];
|
||||
*/
|
||||
}
|
||||
|
||||
$row = [];
|
||||
/*
|
||||
for ($x = 88; $x <= 165; $x++)
|
||||
$row[$x - 88] = $fields[$x];
|
||||
*/
|
||||
$row = [
|
||||
'id' => $id,
|
||||
'item' => $fields[92],
|
||||
'qty' => $fields[93],
|
||||
'price' => $fields[114],
|
||||
'price_level' => $fields[95],
|
||||
'status' => $fields[129],
|
||||
'account' => $fields[128],
|
||||
'enrollee' => $fields[134],
|
||||
];
|
||||
$this->jo_hash[$id]['rows'][] = $row;
|
||||
|
||||
// max row field size
|
||||
foreach ($this->row_fields as $row_field)
|
||||
{
|
||||
$len = strlen($row[$row_field]);
|
||||
if ($len > $this->row_max_field_size[$row_field])
|
||||
$this->row_max_field_size[$row_field] = $len;
|
||||
}
|
||||
}
|
||||
|
||||
protected function exportJOData($data)
|
||||
{
|
||||
$line_data = [];
|
||||
|
||||
foreach ($data as $field => $value)
|
||||
{
|
||||
$enc_value = str_replace('\\', '\\\\', $value);
|
||||
$line_data[] = str_replace('|', '\\|', $enc_value);
|
||||
}
|
||||
|
||||
return implode('|', $line_data);
|
||||
}
|
||||
|
||||
protected function loadBatteryModels()
|
||||
|
|
@ -603,7 +872,7 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
$legacy_vmfg = LegacyVehicleManufacturer::translate($found_vmfg);
|
||||
if ($legacy_vmfg == null)
|
||||
{
|
||||
echo "vmfg not found - $vmfg_field\n";
|
||||
// echo "vmfg not found - $vmfg_field\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -619,7 +888,7 @@ class ImportLegacyJobOrderCommand extends Command
|
|||
if ($legacy_make == null)
|
||||
{
|
||||
$no_makes[$found_make] = $found_vmfg . ' - ' . $found_make;
|
||||
echo "vmake not found - $vmfg_field - $vmake_field\n";
|
||||
// echo "vmake not found - $vmfg_field - $vmake_field\n";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -188,65 +188,161 @@ class LegacyJobOrder
|
|||
*/
|
||||
protected $id;
|
||||
|
||||
protected $data;
|
||||
/**
|
||||
* @ORM\Column(type="date")
|
||||
*/
|
||||
protected $trans_date;
|
||||
|
||||
/*
|
||||
protected $type;
|
||||
protected $trans_num;
|
||||
protected $trans_date;
|
||||
protected $jo_num;
|
||||
protected $meh_trans_type;
|
||||
protected $ref_jo_num;
|
||||
protected $service_type;
|
||||
protected $warr_status;
|
||||
protected $trans_origin;
|
||||
protected $exist_batt;
|
||||
protected $exist_batt_type;
|
||||
protected $reco_batt;
|
||||
protected $alt_batt;
|
||||
protected $car_plate_num;
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $trans_type;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=30)
|
||||
*/
|
||||
protected $origin;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=20)
|
||||
*/
|
||||
protected $car_brand;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=50)
|
||||
*/
|
||||
protected $car_make;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=20)
|
||||
*/
|
||||
protected $car_model;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=40)
|
||||
*/
|
||||
protected $car_color;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=90)
|
||||
*/
|
||||
protected $cust_name;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=35)
|
||||
*/
|
||||
protected $cust_first_name;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=15)
|
||||
*/
|
||||
protected $cust_middle_name;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=35)
|
||||
*/
|
||||
protected $cust_last_name;
|
||||
protected $cust_contact_num;
|
||||
protected $cust_mobile_num;
|
||||
protected $cust_landline_num;
|
||||
protected $invoice_name;
|
||||
protected $new_name;
|
||||
protected $new_invoice_name;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=25)
|
||||
*/
|
||||
protected $cust_contact;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $cust_mobile;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=25)
|
||||
*/
|
||||
protected $cust_landline;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=2000)
|
||||
*/
|
||||
protected $delivery_instructions;
|
||||
protected $agent_notes;
|
||||
protected $del_date;
|
||||
protected $del_time;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=4000)
|
||||
*/
|
||||
protected $agent_notes_1;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $delivery_date;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $delivery_time;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=3)
|
||||
*/
|
||||
protected $advance_order;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=30)
|
||||
*/
|
||||
protected $stage;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=40)
|
||||
*/
|
||||
protected $cancel_reason;
|
||||
protected $specify_reason;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=2000)
|
||||
*/
|
||||
protected $cancel_reason_specify;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=30)
|
||||
*/
|
||||
protected $payment_method;
|
||||
protected $change_for;
|
||||
protected $perpared_by;
|
||||
protected $curr_batt_serial;
|
||||
protected $curr_batt_dr_num;
|
||||
protected $curr_batt_date_replace;
|
||||
protected $curr_batt_brand;
|
||||
protected $curr_batt_type;
|
||||
protected $curr_batt_issued_by;
|
||||
protected $curr_batt_issued_direct;
|
||||
protected $orig_batt_serial;
|
||||
protected $orig_batt_or_num;
|
||||
protected $orig_batt_date_purchase;
|
||||
protected $orig_batt_brand;
|
||||
protected $orig_batt_type;
|
||||
protected $orig_batt_pur_from;
|
||||
protected $orig_batt_pur_from_direct;
|
||||
protected $orig_batt_warr_expire_date;
|
||||
protected $orig_trade_in_batt;
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=30)
|
||||
*/
|
||||
protected $prepared_by;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $dispatch_time;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $dispatch_date;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=30)
|
||||
*/
|
||||
protected $dispatched_by;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=200)
|
||||
*/
|
||||
protected $address;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=320)
|
||||
*/
|
||||
protected $landmark;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $date_purchase;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=20)
|
||||
*/
|
||||
protected $plate_number;
|
||||
|
||||
|
||||
|
||||
public function setID($id)
|
||||
|
|
|
|||
72
src/Entity/LegacyJobOrderRow.php
Normal file
72
src/Entity/LegacyJobOrderRow.php
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
<?php
|
||||
|
||||
namespace App\Entity;
|
||||
|
||||
use Doctrine\ORM\Mapping as ORM;
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
* @ORM\Entity
|
||||
* @ORM\Table(name="legacy_job_order_row")
|
||||
*/
|
||||
class LegacyJobOrderRow
|
||||
{
|
||||
// legacy internal id
|
||||
/**
|
||||
* @ORM\Id
|
||||
* @ORM\Column(type="integer")
|
||||
* @ORM\GeneratedValue(strategy="AUTO")
|
||||
*/
|
||||
protected $id;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="integer")
|
||||
*/
|
||||
protected $job_order_id;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=40)
|
||||
*/
|
||||
protected $item;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $qty;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="decimal", precision=9, scale=2)
|
||||
*/
|
||||
protected $price;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=30)
|
||||
*/
|
||||
protected $price_level;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=10)
|
||||
*/
|
||||
protected $status;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=20)
|
||||
*/
|
||||
protected $account;
|
||||
|
||||
/**
|
||||
* @ORM\Column(type="string", length=70)
|
||||
*/
|
||||
protected $enrollee;
|
||||
|
||||
public function setID($id)
|
||||
{
|
||||
$this->id = $id;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getID()
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
}
|
||||
41
src/Ramcar/LegacyOrigin.php
Normal file
41
src/Ramcar/LegacyOrigin.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
namespace App\Ramcar;
|
||||
|
||||
class LegacyOrigin extends NameValue
|
||||
{
|
||||
const DIRECT = 'direct';
|
||||
const FACEBOOK = 'facebook';
|
||||
const HOTLINE = 'hotline';
|
||||
const ONLINE = 'online';
|
||||
const WEBSITE = 'website';
|
||||
|
||||
const COLLECTION = [
|
||||
'direct' => 'Direct',
|
||||
'facebook' => 'Facebook',
|
||||
'hotline' => 'Hotline',
|
||||
'online' => 'Online',
|
||||
'website' => 'Website',
|
||||
];
|
||||
|
||||
public static function translate($origin)
|
||||
{
|
||||
$clean_origin = strtolower(trim($origin));
|
||||
|
||||
switch ($clean_origin)
|
||||
{
|
||||
case 'direct':
|
||||
return self::DIRECT;
|
||||
case 'facebook':
|
||||
return self::FACEBOOK;
|
||||
case 'hotline':
|
||||
return self::HOTLINE;
|
||||
case 'online (24 hour window time)':
|
||||
return self::ONLINE;
|
||||
case 'website':
|
||||
return self::WEBSITE;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
37
src/Ramcar/LegacyTransactionType.php
Normal file
37
src/Ramcar/LegacyTransactionType.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace App\Ramcar;
|
||||
|
||||
class LegacyTransactionType extends NameValue
|
||||
{
|
||||
const PURCHASE = 'purchase';
|
||||
const POST_SERVICE = 'post';
|
||||
const RESQ_SERVICE = 'resq';
|
||||
const SERVICE = 'service';
|
||||
|
||||
const COLLECTION = [
|
||||
'purchase' => 'Purchase',
|
||||
'post' => 'Post Service',
|
||||
'resq' => 'Res-q Service',
|
||||
'service' => 'Service',
|
||||
];
|
||||
|
||||
public static function translate($type)
|
||||
{
|
||||
$clean_type = strtolower(trim($type));
|
||||
|
||||
switch ($clean_type)
|
||||
{
|
||||
case 'post service':
|
||||
return self::POST_SERVICE;
|
||||
case 'purchase':
|
||||
return self::PURCHASE;
|
||||
case 'res-q services':
|
||||
return self::RESQ_SERVICE;
|
||||
case 'service':
|
||||
return self::SERVICE;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue