role == Users::ROLE_VENDOR) { $where .= " AND d.vendor_id = " . $auth->uid; } if (isset($filter["company"])) { $where .= " AND client.id = ?"; $params[] = $filter["company"]; } // d.nik,d.fullname,d.phone,d.phone_code,d.email,d.dob,d.age,d.gender,d.blood,d.fulladdress,d.crt,d.crt_by,d.updt,d.updt_by, // dt.ktp_img,dt.npwp_img,dt.npwp_number,dt.npwp_string,dt.license_img,dt.license_number,dt.license_exp,dt.em_fullname,dt.em_phone,dt.em_phone_code,dt.em_relationship return DB::select( "SELECT " . self::defaultSelectDriver . " ,client.c_name as company_name " . $select . " FROM t_drivers as d INNER JOIN t_drivers_detail AS dt ON d.id = dt.did LEFT JOIN t_users AS vdr ON d.vendor_id = vdr.id LEFT JOIN t_clients AS client ON vdr.client_group_id = client.id " . $join . " WHERE d.dlt is null " . $where . " ORDER BY d.id ASC;", $params ); } public static function getDrivers($auth, $filter = []) { $params = []; $where_vendor = ""; $join_vendor = ""; // if ($auth->role != Users::ROLE_ADMIN) { // $where_vendor .= " AND d.vendor_id = " . $auth->uid; // } if (isset($filter["status"])) { $where_vendor .= " AND d.status = ?"; array_push($params, $filter["status"]); } return DB::select("SELECT * FROM t_drivers as d WHERE dlt is null " . $where_vendor . ";", $params); } public static function showDriverById($did) { return DB::select( "SELECT " . self::defaultSelectDriver . " FROM t_drivers AS d INNER JOIN t_drivers_detail AS dt ON d.id = dt.did WHERE d.dlt is null AND d.id = ? LIMIT 1;", [$did] ); } public static function getDriverById($did) { return DB::select("SELECT * FROM t_drivers WHERE dlt is null AND id = ? LIMIT 1;", [$did]); } public static function getDriverByEmail($email) { return DB::select("SELECT * FROM t_drivers WHERE dlt is null AND email = ? LIMIT 2;", [$email]); } public static function getDriverByPhone($phone) { return DB::select("SELECT * FROM t_drivers WHERE dlt is null AND phone = ? LIMIT 2;", [$phone]); } public static function getDriverByNik($nik) { return DB::select("SELECT * FROM t_drivers WHERE dlt is null AND nik = ? LIMIT 2;", [$nik]); } public static function getDriverByIdAllData($did) { return DB::select( "SELECT *,d.id as drv_id FROM t_drivers as d INNER JOIN t_drivers_detail as dt ON d.id = dt.did WHERE d.dlt is null AND d.id = ? LIMIT 1;", [$did] ); } public static function getDriversNoInOrder($auth, $filter = []) { $params = []; $where_vendor = ""; $join_vendor = ""; if ($auth->role != Users::ROLE_ADMIN) { $where_vendor .= " AND d.vendor_id = " . $auth->uid; } if (isset($filter["status"])) { $where_vendor .= " AND d.status = ?"; array_push($params, $filter["status"]); } return DB::select( "SELECT d.*,ord.status as ord_status FROM t_drivers as d LEFT JOIN (SELECT MAX(ord_id) as max_ord_id,drv_id FROM t_orders_drivers GROUP BY drv_id) as ord_drv1 ON (d.id = ord_drv1.drv_id) LEFT JOIN t_orders as ord ON (ord_drv1.max_ord_id = ord.id) WHERE d.dlt is null AND (ord.status is null OR ord.status IN (" . Orders::STTS_CLIENT_PAY . "," . Orders::STTS_VENDOR_PAYED . "," . Orders::STTS_CLOSE . "," . Orders::STTS_CANCEL . ")) " . $where_vendor . " ;", $params ); } public static function getDriversNoInOrderNew($auth, $filter = []) { $params = []; $where_vendor = ""; $join_vendor = ""; if ($auth->role != Users::ROLE_ADMIN) { $where_vendor .= " AND d.vendor_id = " . $auth->uid; } if (isset($filter["status"])) { $where_vendor .= " AND d.status = ?"; array_push($params, $filter["status"]); } return DB::select( "SELECT d.* FROM t_drivers as d WHERE d.dlt is null AND d.is_in_ord = " . Drivers::IN_ORD_NO . " " . $where_vendor . " ;", $params ); } public static function likeName($name) { $params = ["%" . $name . "%"]; return DB::select( "SELECT drv.*,drv_dtl.bank_id,drv_dtl.bank_code,drv_dtl.bank_name,drv_dtl.bank_short_name,drv_dtl.bank_branch_name,drv_dtl.bank_acc_number,drv_dtl.bank_acc_name FROM t_drivers as drv INNER JOIN t_drivers_detail as drv_dtl ON drv.id = drv_dtl.did WHERE dlt is null AND fullname LIKE ?;", $params ); } public static function addDriver($data) { $did = DB::table("t_drivers")->insertGetId($data); return $did; } public static function updateDriver($did, $data) { return DB::table("t_drivers") ->where("id", $did) ->update($data); } public static function deleteDriver($did) { return DB::table("t_drivers") ->where("id", $did) ->delete(); } public static function listRelationships() { // ENUM('wife', 'husband', 'sister', 'brother', 'father', 'mother', 'uncle', 'aunt', 'daughter', 'children', 'grandfather', 'grandmother', 'nephew', 'niece', 'family', 'sibling', 'son', 'cousin') return [ [ "id" => "wife", "name" => "Wife", ], [ "id" => "husband", "name" => "Husband", ], [ "id" => "sister", "name" => "Sister", ], [ "id" => "brother", "name" => "Brother", ], [ "id" => "father", "name" => "Father", ], [ "id" => "mother", "name" => "Mother", ], [ "id" => "uncle", "name" => "Uncle", ], [ "id" => "aunt", "name" => "Aunt", ], [ "id" => "cousin", "name" => "Cousin", ], [ "id" => "daughter", "name" => "Daughter", ], [ "id" => "son", "name" => "Son", ], [ "id" => "children", "name" => "Children", ], [ "id" => "grandfather", "name" => "Grandfather", ], [ "id" => "grandmother", "name" => "Grandmother", ], [ "id" => "nephew", "name" => "Nephew", ], [ "id" => "niece", "name" => "Niece", ], [ "id" => "family", "name" => "Family", ], [ "id" => "sibling", "name" => "Sibling", ], ]; } }