105 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Models;
 | |
| 
 | |
| use Illuminate\Database\Eloquent\Model;
 | |
| use Illuminate\Support\Facades\DB;
 | |
| 
 | |
| class ConfTruckTypes extends Model
 | |
| {
 | |
| 
 | |
|     const IS_ACTIVE = 1;
 | |
|     const IS_INACTIVE = 2;
 | |
| 
 | |
|     const IS_PUBLISH = 1;
 | |
|     const IS_UNPUBLISH = 2;
 | |
| 
 | |
|     const defaultSelectedTruckTypes = "
 | |
|     tt.*
 | |
| 	,vt.name as type_name,vt.desc as type_desc
 | |
|     ";
 | |
| 
 | |
|     public static function listTruckTypes($isActive = 0, $filter = [])
 | |
|     {
 | |
|         $params = [];
 | |
|         $whereIsActive = '';
 | |
|         if ($isActive != 0) {
 | |
|             $whereIsActive = ' AND vt.is_active = ' . ConfTruckTypes::IS_ACTIVE;
 | |
|         }
 | |
| 
 | |
|         if (isset($filter['is_publish'])) {
 | |
|             $whereIsActive = ' AND vt.is_publish = ?';
 | |
|             $params[] = $filter['is_publish'];
 | |
|         }
 | |
| 
 | |
|         return DB::select("SELECT " . ConfTruckTypes::defaultSelectedTruckTypes . " FROM t_conf_truck_types as tt LEFT JOIN t_vehicles_types as vt ON tt.type_id = vt.id WHERE tt.dlt is null " . $whereIsActive . " ;", $params);
 | |
|     }
 | |
| 
 | |
|     public static function listTruckTypesRates($isActive = 0, $lane)
 | |
|     {
 | |
|         $params = [];
 | |
|         $params[] = $lane;
 | |
| 
 | |
|         $whereIsActive = '';
 | |
|         if ($isActive != 0) {
 | |
|             $whereIsActive = ' AND vt.is_active = ' . ConfTruckTypes::IS_ACTIVE;
 | |
|         }
 | |
|         
 | |
|         return DB::select("SELECT "
 | |
|         . ConfTruckTypes::defaultSelectedTruckTypes . "
 | |
|         FROM t_conf_truck_types as tt
 | |
|         LEFT JOIN t_vehicles_types as vt ON tt.type_id = vt.id
 | |
|         INNER JOIN t_conf_rates as rate ON tt.type_id = rate.vhc_type
 | |
|         WHERE tt.dlt is null "
 | |
|         . $whereIsActive . "
 | |
|         AND rate.lane = ?
 | |
|         GROUP BY vhc_type
 | |
|         ;", $params);
 | |
|     }
 | |
| 
 | |
|     public static function showTruckTypeById($ttid)
 | |
|     {
 | |
|         return DB::select("SELECT " . ConfTruckTypes::defaultSelectedTruckTypes . " FROM t_conf_truck_types as tt LEFT JOIN t_vehicles_types as vt ON tt.type_id = vt.id WHERE tt.dlt is null AND tt.id = ? LIMIT 1;", [$ttid]);
 | |
|     }
 | |
| 
 | |
| 	public static function getTruckTypeByName($type_name)
 | |
|     {
 | |
|         return DB::select("SELECT " . ConfTruckTypes::defaultSelectedTruckTypes . " FROM t_conf_truck_types as tt LEFT JOIN t_vehicles_types as vt ON tt.type_id = vt.id WHERE tt.dlt is null AND vt.name LIKE ? LIMIT 2;", ['%'.$type_name.'%']);
 | |
|     }
 | |
| 
 | |
|     public static function addTruckType($data)
 | |
|     {
 | |
|         $ttid = DB::table("t_conf_truck_types")->insertGetId($data);
 | |
|         return $ttid;
 | |
|     }
 | |
| 
 | |
|     public static function updateTruckType($ttid, $data)
 | |
|     {
 | |
|         return DB::table("t_conf_truck_types")->where("id", $ttid)->update($data);
 | |
|     }
 | |
| 
 | |
|     public static function deleteTruckType($ttid)
 | |
|     {
 | |
|         return DB::table("t_conf_truck_types")->where("id", $ttid)->delete();
 | |
|     }
 | |
| 
 | |
| 	/**
 | |
| 	 * t_vehicles_types
 | |
| 	 */
 | |
| 
 | |
|     public static function getTypeById($id)
 | |
| 	{
 | |
| 		return DB::select("SELECT * FROM t_vehicles_types WHERE id = ? LIMIT 1;", [$id]);
 | |
| 	}
 | |
| 
 | |
| 	public static function addTypes($data)
 | |
| 	{
 | |
| 		return DB::table("t_vehicles_types")->insertGetId($data);
 | |
| 	}
 | |
| 
 | |
| 	public static function updtTypes($tid, $data)
 | |
| 	{
 | |
| 		return DB::table("t_vehicles_types")->where("id", $tid)->update($data);
 | |
| 	}
 | |
| }
 | 
