Record assigning user and datetime for job orders

This commit is contained in:
Ramon Gutierrez 2018-01-31 02:46:00 +08:00
parent c0ecc1114c
commit b21c563102
3 changed files with 58 additions and 4 deletions

View file

@ -518,6 +518,8 @@ class JobOrderController extends BaseController
->setDeliveryInstructions($req->request->get('delivery_instructions'))
->setAgentNotes($req->request->get('agent_notes'))
->setDeliveryAddress($req->request->get('delivery_address'))
->setAssignedBy($this->getUser())
->setDateAssign(new DateTime())
->setRider($rider);
// validate

View file

@ -48,6 +48,12 @@ class JobOrder
*/
protected $date_cancel;
// date job order was assigned to a rider
/**
* @ORM\Column(type="datetime", nullable=true)
*/
protected $date_assign;
// coordinates of the customer vehicle that needs service
/**
* @ORM\Column(type="point")
@ -62,11 +68,18 @@ class JobOrder
// user that created the job order
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="job_orders")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
* @ORM\ManyToOne(targetEntity="User", inversedBy="job_orders_created")
* @ORM\JoinColumn(name="create_user_id", referencedColumnName="id")
*/
protected $created_by;
// user that assigned the job order to a rider
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="job_orders_assigned")
* @ORM\JoinColumn(name="assign_user_id", referencedColumnName="id", nullable=true)
*/
protected $assigned_by;
// service type
/**
* @ORM\Column(type="string", length=25)
@ -180,6 +193,17 @@ class JobOrder
return $this->date_fulfill;
}
public function setDateAssign($date_assign)
{
$this->date_assign = $date_assign;
return $this;
}
public function getDateAssign()
{
return $this->date_assign;
}
public function setCoordinates(Point $point)
{
$this->coordinates = $point;
@ -213,6 +237,17 @@ class JobOrder
return $this->created_by;
}
public function setAssignedBy(User $assigned_by)
{
$this->assigned_by = $assigned_by;
return $this;
}
public function getAssignedBy()
{
return $this->assigned_by;
}
public function setServiceType($service_type)
{
$this->service_type = $service_type;

View file

@ -71,12 +71,19 @@ class User implements AdvancedUserInterface, Serializable
/**
* @ORM\OneToMany(targetEntity="JobOrder", mappedBy="created_by")
*/
protected $job_orders;
protected $job_orders_created;
// job orders assigned by this user
/**
* @ORM\OneToMany(targetEntity="JobOrder", mappedBy="assigned_by")
*/
protected $job_orders_assigned;
public function __construct()
{
$this->roles = new ArrayCollection();
$this->job_orders = new ArrayCollection();
$this->job_orders_created = new ArrayCollection();
$this->job_orders_assigned = new ArrayCollection();
$this->enabled = true;
}
@ -250,4 +257,14 @@ class User implements AdvancedUserInterface, Serializable
return false;
}
public function getJobOrdersCreated()
{
return $this->job_orders_created;
}
public function getJobOrdersAssigned()
{
return $this->job_orders_assigned;
}
}