From bc8d01dc6ad6383f5e08e32450e05fc3d0a98098 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Thu, 21 Feb 2019 14:40:17 +0800 Subject: [PATCH 1/2] Add coord_long and coord_lat fields to JobOrder entity #186 --- src/Entity/JobOrder.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Entity/JobOrder.php b/src/Entity/JobOrder.php index 346319dd..36834cc1 100644 --- a/src/Entity/JobOrder.php +++ b/src/Entity/JobOrder.php @@ -64,6 +64,18 @@ class JobOrder */ protected $coordinates; + // we split up coordinates into long / lat for reports purposes + /** + * @ORM\Column(type="decimal", precision=11, scale=8) + */ + protected $coord_long; + + // we split up coordinates into long / lat for reports purposes + /** + * @ORM\Column(type="decimal", precision=11, scale=8) + */ + protected $coord_lat; + // is it an advanced order (future date) /** * @ORM\Column(type="boolean") @@ -350,6 +362,9 @@ class JobOrder public function setCoordinates(Point $point) { $this->coordinates = $point; + + $this->coord_lat = $point->getLatitude(); + $this->coord_long = $point->getLongitude(); return $this; } From 3d3f386fa308e05c9acecde8281eba1c62f3dcf6 Mon Sep 17 00:00:00 2001 From: Kendrick Chan Date: Thu, 21 Feb 2019 15:39:24 +0800 Subject: [PATCH 2/2] Add command for populating long / lat fields in job order #186 --- src/Command/AdjustLongLatCommand.php | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/Command/AdjustLongLatCommand.php diff --git a/src/Command/AdjustLongLatCommand.php b/src/Command/AdjustLongLatCommand.php new file mode 100644 index 00000000..b7e26ad1 --- /dev/null +++ b/src/Command/AdjustLongLatCommand.php @@ -0,0 +1,50 @@ +em = $om; + + parent::__construct(); + } + + protected function configure() + { + $this->setName('joborder:adjust_longlat') + ->setDescription('Separate longitude and latitude from coordinate point.') + ->setHelp('Get longitude and latitude from existing point type coordinate. Separate into individual fields for reports purposes.'); + } + + protected function execute(InputInterface $input, OutputInterface $output) + { + // get entity manager + $em = $this->em; + + $job_orders = $em->getRepository(JobOrder::class)->findAll(); + + // fulfill each + foreach ($job_orders as $jo) + { + $point = $jo->getCoordinates(); + $jo->setCoordinates($point); + } + + $em->flush(); + } +}