db = new WADB(SYSTEM_DBHOST, SYSTEM_DBNAME, SYSTEM_DBUSER, SYSTEM_DBPWD); return true; } //建立使用者帳號 public function add_device_data($data){ foreach($data as $key => $value){ $$key = mysql_real_escape_string($value); } $device_code = $this->rand_user_code(); if($this->check_company_name($device_name) == '0'){ $sql = "insert into ".USER_DEVICE." ( project_code, device_code, device_name, device_name_short, start_number, end_number, creater, time ) value ( '".$project_code."', '".$device_code."', '".$device_name."', '".$device_name_short."', '".$start_number."', '".$end_number."', '".$creater."', '".time()."' )"; $this->db->insertRecords($sql); $return['success'] = true; $return['data'] = $device_code; }else{ $return['error'] = '儀器名稱重複'; } return $return; } //產生使用者編號 private function rand_user_code(){ $rand =0; while (true){ $rand = rand(10000,99999); $count = $this->check_company_code($rand); if ($count==0){ break; } } return $rand; } //判斷公司編號是否重複 public function check_company_code($rand){ $sql = "select count(device_code) as count from ".USER_DEVICE." where device_code='".$rand."'"; $retStr = $this->db->selectRecords($sql); return $retStr['0']['count']; } //判斷公司名稱是否重複 public function check_company_name($device_name){ $device_name = mysql_real_escape_string($device_name); $sql = "select count(device_name) as count from ".USER_DEVICE." where device_name='".$device_name."'"; $retStr = $this->db->selectRecords($sql); return $retStr['0']['count']; } //判斷 Email格式 是否正確 private function isValidEmail($email){ return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email); } //建立專案資料夾 public function Copy_File($src,$dst){ $dir = opendir($src); @mkdir($dst); while(false !== ( $file = readdir($dir)) ) { if (( $file != '.' ) && ( $file != '..' )) { if ( is_dir($src . '/' . $file) ) { $this->Copy_File($src . '/' . $file,$dst . '/' . $file); } else { copy($src . '/' . $file,$dst . '/' . $file); } } } closedir($dir); } //取得儀器清單 public function device_list($project_code){ $project_code = mysql_real_escape_string($project_code); $sql = "select project_code, device_code, device_name, device_name_short, start_number, end_number from ".USER_DEVICE." where project_code = '".$project_code."' "; $retStr = $this->db->selectRecords($sql); return $retStr; } //取得使用者資訊 public function get_user_data($user_code){ $user_code = mysql_real_escape_string($user_code); $sql = "select user_code, user_name, user_account, user_passwd from ".USER_LIST." where user_code = '".$user_code."' "; $retStr = $this->db->selectRecords($sql); return $retStr; } //更新使用者資訊 public function update_user_data($data){ foreach($data as $key => $value){ $$key = mysql_real_escape_string($value); } $sql = "update ".USER_LIST." set user_name = '".$user_name."', user_account = '".$user_account."', user_passwd = '".$user_passwd."' where user_code = '".$user_code."' "; $this->db->updateRecords($sql); } //新增修改紀錄 public function Insertuser_record($project_code,$project_user,$user_code,$action){ $project_code = mysql_real_escape_string($project_code); $system_user = mysql_real_escape_string($system_user); $action = mysql_real_escape_string($action); $sql = "insert into ".USER_RECORD." ( project_code, project_user, user_code, action, time ) values ( '".$project_code."', '".$project_user."', '".$user_code."', '".$action."', '".time()."' )"; $this->db->insertRecords($sql); } //取得儀器資訊 public function get_device_data($device_code){ $device_code = mysql_real_escape_string($device_code); $sql = "select device_code, device_name, device_name_short, start_number, end_number from ".USER_DEVICE." where device_code = '".$device_code."' "; $retStr = $this->db->selectRecords($sql); return $retStr['0']; } public function add_sensor($data){ foreach($data as $key => $value){ $$key = mysql_real_escape_string($value); } $sql = "insert into user_device_sensor_list ( project_code, device_code, sensor_id ) values ( '".$project_code."', '".$device_code."', '".$sensor_id."' )"; $this->db->insertRecords($sql); } //取得感測器資訊 public function get_sensor_data($project_code,$device_code){ $project_code = mysql_real_escape_string($project_code); $device_code = mysql_real_escape_string($device_code); $sql = "select * from user_device_sensor_list where project_code= '".$project_code."' && device_code = '".$device_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //取得感測器資訊 public function get_sensor_data_list($project_code){ $project_code = mysql_real_escape_string($project_code); $sql = "select * from user_device_sensor_list where project_code= '".$project_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //更新感測器資訊 public function update_sensor_data($id,$sensor_id,$depth,$coefficients,$top_alert,$top_active,$down_alert,$down_active,$upper_limit,$lower_limit){ $id = mysql_real_escape_string($id); $sensor_id = mysql_real_escape_string($sensor_id); $depth = mysql_real_escape_string($depth); $coefficients = mysql_real_escape_string($coefficients); $top_alert = mysql_real_escape_string($top_alert); $top_active = mysql_real_escape_string($top_active); $down_alert = mysql_real_escape_string($down_alert); $down_active = mysql_real_escape_string($down_active); $upper_limit = mysql_real_escape_string($upper_limit); $lower_limit = mysql_real_escape_string($lower_limit); $sql = "update user_device_sensor_list set sensor_id = '".$sensor_id."', depth = '".$depth."', coefficients = '".$coefficients."', top_alert = '".$top_alert."', top_active = '".$top_active."', down_alert = '".$down_alert."', down_active = '".$down_active."', upper_limit = '".$upper_limit."', lower_limit = '".$lower_limit."' where id = '".$id."' "; $this->db->updateRecords($sql); } //取得感測器LOAD資訊 public function get_sensor_load_data($project_code,$device_code){ $project_code = mysql_real_escape_string($project_code); $device_code = mysql_real_escape_string($device_code); $sql = "select * from ".USER_DEVICE_SENSOR_LOAD." where project_code= '".$project_code."' && device_code = '".$device_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //取得所有感測器LOAD資訊 public function get_sensor_load_data_list($project_code){ $project_code = mysql_real_escape_string($project_code); $sql = "select * from ".USER_DEVICE_SENSOR_LOAD." where project_code= '".$project_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //取得所有感測器LOAD資訊 public function get_sensor_load_data_list_for_device($project_code,$device_code){ $project_code = mysql_real_escape_string($project_code); $sql = "select * from ".USER_DEVICE_SENSOR_LOAD." where project_code= '".$project_code."' && device_code ='".$device_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //更新感測器_Load檔資訊 public function update_sensor_load_data($id,$name,$dat,$start_val,$formula,$formula_val,$C5,$C4,$C3,$C2,$C1,$C0,$S2,$S1,$S0,$F1,$F0,$subsum,$load_data){ $id = mysql_real_escape_string($id); $name = mysql_real_escape_string($name); $dat = mysql_real_escape_string($dat); $start_val = mysql_real_escape_string($start_val); $formula = mysql_real_escape_string($formula); $formula_val = mysql_real_escape_string($formula_val); $C5 = mysql_real_escape_string($C5); $C4 = mysql_real_escape_string($C4); $C3 = mysql_real_escape_string($C3); $C2 = mysql_real_escape_string($C2); $C1 = mysql_real_escape_string($C1); $C0 = mysql_real_escape_string($C0); $S2 = mysql_real_escape_string($S2); $S1 = mysql_real_escape_string($S1); $S0 = mysql_real_escape_string($S0); $F1 = mysql_real_escape_string($F1); $F0 = mysql_real_escape_string($F0); $load_data = mysql_real_escape_string($load_data); $subsum = mysql_real_escape_string($subsum); $sql = "update ".USER_DEVICE_SENSOR_LOAD." set name = '".$name."', dat = '".$dat."', start_val = '".$start_val."', subsum = '".$subsum."', formula = '".$formula."', formula_val = '".$formula_val."', C5 = '".$C5."', C4 = '".$C4."', C3 = '".$C3."', C2 = '".$C2."', C1 = '".$C1."', C0 = '".$C0."', S2 = '".$S2."', S1 = '".$S1."', S0 = '".$S0."', F1 = '".$F1."', F0 = '".$F0."', load_data='".$load_data."' where id = '".$id."' "; $this->db->updateRecords($sql); } public function add_sensor_load($name,$dat,$start_val,$formula,$formula_val,$C5,$C4,$C3,$C2,$C1,$C0,$S2,$S1,$S0,$F1,$F0,$subsum,$load_data,$device_code,$project_code){ $name = mysql_real_escape_string($name); $dat = mysql_real_escape_string($dat); $start_val = mysql_real_escape_string($start_val); $formula = mysql_real_escape_string($formula); $formula_val = mysql_real_escape_string($formula_val); $C5 = mysql_real_escape_string($C5); $C4 = mysql_real_escape_string($C4); $C3 = mysql_real_escape_string($C3); $C2 = mysql_real_escape_string($C2); $C1 = mysql_real_escape_string($C1); $C0 = mysql_real_escape_string($C0); $S2 = mysql_real_escape_string($S2); $S1 = mysql_real_escape_string($S1); $S0 = mysql_real_escape_string($S0); $F1 = mysql_real_escape_string($F1); $F0 = mysql_real_escape_string($F0); $subsum = mysql_real_escape_string($subsum); $load_data = mysql_real_escape_string($load_data); $device_code = mysql_real_escape_string($device_code); $project_code = mysql_real_escape_string($project_code); $subsum = mysql_real_escape_string($subsum); $sql = "insert into ".USER_DEVICE_SENSOR_LOAD." ( project_code, device_code, name, dat, start_val, subsum, formula, formula_val, C5,C4,C3,C2,C1,C0,S2,S1,S0,F1,F0, load_data ) values ( '".$project_code."', '".$device_code."', '".$name."', '".$dat."', '".$start_val."', '".$subsum."', '".$formula."', '".$formula_val."','".$C5."','".$C4."','".$C3."','".$C2."','".$C1."','".$C0."','".$S2."','".$S1."','".$S0."','".$F1."','".$F0."', '".$load_data."' )"; $this->db->insertRecords($sql); } //取得感測器名稱 public function get_sensor_name_data($project_code,$device_code){ $project_code = mysql_real_escape_string($project_code); $device_code = mysql_real_escape_string($device_code); $sql = "select sensor_id from user_device_sensor_list where project_code= '".$project_code."' && device_code = '".$device_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //取得專案內所有感測器名稱 public function get_sensor_list($project_code){ $project_code = mysql_real_escape_string($project_code); $sql = "select sensor_id from user_device_sensor_list where project_code= '".$project_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //取得介面圖資訊 public function get_interface($project_code,$interface_code){ $project_code= mysql_real_escape_string($project_code); $interface_code= mysql_real_escape_string($interface_code); $sql = "select * from user_interface where project_code= '".$project_code."' && interface_code = '".$interface_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //儲存介面圖tag public function insert_interface_tag($project_code,$interface_code,$name,$pic_x,$pic_y){ $project_code= mysql_real_escape_string($project_code); $interface_code= mysql_real_escape_string($interface_code); $name = mysql_real_escape_string($name); $pic_x = mysql_real_escape_string($pic_x); $pic_y = mysql_real_escape_string($pic_y); $sql = "INSERT INTO user_interface_tag ( project_code, interface_code, name, pic_x, pic_y) VALUES ( '".$project_code."', '".$interface_code."', '".$name."', '".$pic_x."', '".$pic_y."')"; $this->db->insertRecords($sql); } //取得介面圖tag public function get_interface_tag_list($project_code,$interface_code){ $project_code= mysql_real_escape_string($project_code); $interface_code= mysql_real_escape_string($interface_code); $sql = "select * from user_interface_tag where project_code= '".$project_code."' && interface_code = '".$interface_code."' order by id asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } //刪除介面圖tag public function delete_interface_tag($tag_id){ $tag_id= mysql_real_escape_string($tag_id); $sql = "DELETE FROM user_interface_tag WHERE id = '".$tag_id."'"; $this->db->deleteRecords($sql); } public function add_sensor_load_val($device_code,$name,$voltage,$temperature,$mathself,$formula_val,$default_val,$top_alert,$down_alert,$top_active,$down_active,$upper_limit,$lower_limit,$datetime,$project_code,$file_name,$load_value,$file_time){ $device_code = mysql_real_escape_string($device_code); $name = mysql_real_escape_string($name); $voltage = mysql_real_escape_string($voltage); $temperature = mysql_real_escape_string($temperature); $mathself = mysql_real_escape_string($mathself); $formula_val = mysql_real_escape_string($formula_val); $default_val = mysql_real_escape_string($default_val); $top_alert = mysql_real_escape_string($top_alert); $down_alert = mysql_real_escape_string($down_alert); $top_active = mysql_real_escape_string($top_active); $down_active = mysql_real_escape_string($down_active); $upper_limit = mysql_real_escape_string($upper_limit); $lower_limit = mysql_real_escape_string($lower_limit); $datetime = mysql_real_escape_string($datetime); $project_code = mysql_real_escape_string(strtoupper($project_code)); $file_name = mysql_real_escape_string($file_name); $load_value = mysql_real_escape_string($load_value); $file_time = mysql_real_escape_string($file_time); $sql = "insert into ".$project_code." ( device_code, name, voltage, temperature, mathself, formula_val, default_val, top_alert, down_alert, top_active, down_active, upper_limit, lower_limit, datetime, file_name, date, load_value ) values ( '".$device_code."', '".$name."', '".$voltage."', '".$temperature."', '".$mathself."', '".$formula_val."', '".$default_val."', '".$top_alert."', '".$down_alert."', '".$top_active."', '".$down_active."', '".$upper_limit."', '".$lower_limit."', '".$file_time."', '".$file_name."', '".$datetime."', '".$load_value."' )"; $this->db->insertRecords($sql); } public function get_sensor_load_val($project_code,$date_start,$date_end,$name){ $project_code= mysql_real_escape_string($project_code); $name = mysql_real_escape_string($name); $sql = "select * from ".$project_code." where name = '".$name."' && date between ".$date_start." and ".$date_end." order by PID asc"; $retStr = $this->db->selectRecords($sql); return $retStr; } public function get_sensor_load_val_for_interface($project_code,$name){ $project_code= mysql_real_escape_string($project_code); $name = mysql_real_escape_string($name); $sql = "select * from ".$project_code." where name = '".$name."' order by PID desc Limit 1"; $retStr = $this->db->selectRecords($sql); return $retStr; } } ?>