function index_get() { $filters = $this->get("filter")["filters"]; $page = $this->get('page') !== false ? $this->get('page') : 1; $limit = $this->get('limit') !== false ? $this->get('limit') : 50; $sort = $this->get("sort"); $data["results"] = array(); $data["count"] = 0; $obj = new Contact(null, $this->entity); //Sort if (!empty($sort) && isset($sort)) { foreach ($sort as $value) { $obj->order_by($value["field"], $value["dir"]); } } //Filter if (!empty($filters) && isset($filters)) { $deleted = 0; foreach ($filters as $value) { if (!empty($value["operator"]) && isset($value["operator"])) { if ($value["operator"] == "where_in") { $obj->where_in($value["field"], $value["value"]); } else { if ($value["operator"] == "or_where_in") { $obj->or_where_in($value["field"], $value["value"]); } else { if ($value["operator"] == "where_not_in") { $obj->where_not_in($value["field"], $value["value"]); } else { if ($value["operator"] == "or_where_not_in") { $obj->or_where_not_in($value["field"], $value["value"]); } else { if ($value["operator"] == "like") { $obj->like($value["field"], $value["value"]); } else { if ($value["operator"] == "or_like") { $obj->or_like($value["field"], $value["value"]); } else { if ($value["operator"] == "not_like") { $obj->not_like($value["field"], $value["value"]); } else { if ($value["operator"] == "or_not_like") { $obj->or_not_like($value["field"], $value["value"]); } else { if ($value["operator"] == "startswith") { $obj->like($value["field"], $value["value"], "after"); } else { if ($value["operator"] == "endswith") { $obj->like($value["field"], $value["value"], "before"); } else { if ($value["operator"] == "contains") { $obj->like($value["field"], $value["value"], "both"); } else { if ($value["operator"] == "or_where") { $obj->or_where($value["field"], $value["value"]); } else { if ($value["operator"] == "search") { $obj->like("number", $value["value"], "after"); $obj->or_like("surname", $value["value"], "after"); $obj->or_like("name", $value["value"], "after"); $obj->or_like("company", $value["value"], "after"); } else { $obj->where($value["field"] . ' ' . $value["operator"], $value["value"]); } } } } } } } } } } } } } } else { if ($value["field"] == "deleted") { $deleted = $value["value"]; } else { $obj->where($value["field"], $value["value"]); } } } $obj->where("deleted", $deleted); } if (!empty($limit) && !empty($page)) { $obj->get_paged_iterated($page, $limit); $data["count"] = $obj->paged->total_rows; } if ($obj->result_count() > 0) { foreach ($obj as $value) { $bal = new Bill(null, $this->entity); $bal->select_sum("amount"); $bal->where("contact_id", $value->id); $bal->where("status", 0); if ($value->contact_type_id == 5) { $bal->where("type", "bill"); } else { $bal->where("type", "invoice"); } $bal->get(); //Fullname $fullname = $value->surname . ' ' . $value->name; if ($value->contact_type_id == 3 || $value->contact_type_id == 5) { $fullname = $value->company; } $data["results"][] = array("id" => $value->id, "currency_id" => $value->currency_id, "user_id" => $value->user_id, "contact_type_id" => $value->contact_type_id, "number" => $value->number, "surname" => $value->surname, "name" => $value->name, "gender" => $value->gender, "dob" => $value->dob, "pob" => $value->pob, "address" => $value->address, "family_member" => $value->family_member, "id_number" => $value->id_number, "phone" => $value->phone, "email" => $value->email, "job" => $value->job, "company" => $value->company, "image_url" => $value->image_url, "memo" => $value->memo, "credit_limit" => $value->credit_limit, "status" => $value->status, "registered_date" => $value->registered_date, "deleted" => $value->deleted, "fullname" => $fullname, "fullIdName" => $value->number . ' ' . $fullname, "contact_type" => $value->contact_type->get_raw()->result(), "balance" => floatval($bal->amount)); } } // //Response Data $this->response($data, 200); }
function amount_get() { $filters = $this->get("filter")["filters"]; $page = $this->get('page') !== false ? $this->get('page') : 1; $limit = $this->get('limit') !== false ? $this->get('limit') : 50; $sort = $this->get("sort"); $data["results"] = []; $data["count"] = 0; $obj = new Bill(null, $this->entity); //Sort if (!empty($sort) && isset($sort)) { foreach ($sort as $value) { $obj->order_by($value["field"], $value["dir"]); } } //Filter if (!empty($filters) && isset($filters)) { $deleted = 0; foreach ($filters as $value) { if (!empty($value["operator"]) && isset($value["operator"])) { if ($value["operator"] == "where_in") { $obj->where_in($value["field"], $value["value"]); } else { if ($value["operator"] == "or_where_in") { $obj->or_where_in($value["field"], $value["value"]); } else { if ($value["operator"] == "where_not_in") { $obj->where_not_in($value["field"], $value["value"]); } else { if ($value["operator"] == "or_where_not_in") { $obj->or_where_not_in($value["field"], $value["value"]); } else { if ($value["operator"] == "like") { $obj->like($value["field"], $value["value"]); } else { if ($value["operator"] == "or_like") { $obj->or_like($value["field"], $value["value"]); } else { if ($value["operator"] == "not_like") { $obj->not_like($value["field"], $value["value"]); } else { if ($value["operator"] == "or_not_like") { $obj->or_not_like($value["field"], $value["value"]); } else { if ($value["operator"] == "startswith") { $obj->like($value["field"], $value["value"], "after"); } else { if ($value["operator"] == "endswith") { $obj->like($value["field"], $value["value"], "before"); } else { if ($value["operator"] == "contains") { $obj->like($value["field"], $value["value"], "both"); } else { if ($value["operator"] == "or_where") { $obj->or_where($value["field"], $value["value"]); } else { $obj->where($value["field"] . ' ' . $value["operator"], $value["value"]); } } } } } } } } } } } } } else { if ($value["field"] == "deleted") { $deleted = $value["value"]; } else { $obj->where($value["field"], $value["value"]); } } } $obj->where("deleted", $deleted); } //Results $obj->select_sum("amount"); $obj->get(); $data["results"][] = floatval($obj->amount); //Response Data $this->response($data, 200); }