Merge branch '162-phase-2-changes' into 'master'

Modify rider report to accept date range #162

Closes #162

See merge request jankstudio/resq!192
This commit is contained in:
Kendrick Chan 2018-09-17 15:25:39 +00:00
commit 3a29f2250d

View file

@ -33,12 +33,18 @@ class ReportRiderTime extends Command
$this->setName('report:rider-time') $this->setName('report:rider-time')
->setDescription('Generate CSV file with report on rider time.') ->setDescription('Generate CSV file with report on rider time.')
->setHelp('Generate report on rider time from assignment to fulfilled.') ->setHelp('Generate report on rider time from assignment to fulfilled.')
->addArgument('file', InputArgument::REQUIRED, 'Path to the output CSV file.'); ->addArgument('file', InputArgument::REQUIRED, 'Path to the output CSV file.')
->addArgument('date_from', InputArgument::REQUIRED, 'Date from.')
->addArgument('date_to', InputArgument::REQUIRED, 'Date to.');
} }
protected function populateJOIndex() protected function populateJOIndex($date_from, $date_to)
{ {
$jo_events = $this->em->createQuery("select e from App\Entity\JOEvent e where e.date_create >= '20180805'") $jo_events = $this->em->createQuery("select e from App\Entity\JOEvent e where e.date_create >= :dfrom and e.date_create <= :dto")
->setParameters([
'dfrom' => '20180805',
'dto' => '20180920',
])
->getResult(); ->getResult();
// $jo_events = $this->em->getRepository(JOEvent::class)->findBy('date_create' => '20180905'); // $jo_events = $this->em->getRepository(JOEvent::class)->findBy('date_create' => '20180905');
@ -89,6 +95,11 @@ class ReportRiderTime extends Command
foreach ($this->jo_index as $index => $joi) foreach ($this->jo_index as $index => $joi)
{ {
// no hub assign because they used re-assign right away
// TODO: fix so we take this into account
if ($joi['hub_assign'] == null)
continue;
if($joi['rider_assign'] != null && $joi['fulfill'] != null) if($joi['rider_assign'] != null && $joi['fulfill'] != null)
{ {
$this->filtered_jo_index[$index] = $joi; $this->filtered_jo_index[$index] = $joi;
@ -104,6 +115,8 @@ class ReportRiderTime extends Command
protected function execute(InputInterface $input, OutputInterface $output) protected function execute(InputInterface $input, OutputInterface $output)
{ {
$csv_file = $input->getArgument('file'); $csv_file = $input->getArgument('file');
$date_from = $input->getArgument('date_from');
$date_to = $input->getArgument('date_to');
// attempt to open file // attempt to open file
try try
@ -115,7 +128,7 @@ class ReportRiderTime extends Command
throw new Exception('The file "' . $csv_file . '" could be opened.'); throw new Exception('The file "' . $csv_file . '" could be opened.');
} }
$this->populateJOIndex(); $this->populateJOIndex($date_from, $date_to);
$this->filterJOIndex(); $this->filterJOIndex();
foreach ($this->filtered_jo_index as $joi) foreach ($this->filtered_jo_index as $joi)