| 
                             | 
							 | 
                             | 
                             | 
                             | 
                             | 
                             | 
                             | 
                             | 
							 | 
                             | 
                        
                    
                    get_sensor_load_data_list($project_code);
							$sensor_data_load_info_device = $Device->get_sensor_load_data_list($project_code);					
							//print_r($sensor_data_load_info_device);
									
									//讀取檔案
									$nn = 0;
									$handle = @fopen($filename ,"r");
									while(($data = fgetcsv($handle,1000,",","'")) != false){
									$i = 0;	
										foreach($data as $key => $value){
											$aa[$nn][$i] = $value;
											$i++;
											
										}
									$nn++;
									}
									fclose($handle);
									$packet = (@str_replace('"','',$aa[4][0]) == "") ? $aa[5][0]:$aa[4][0];
									$number_of_key = (str_replace('"','',$aa[4][0]) == "") ? '5':'4';
									$var = strtotime(str_replace('"','',$packet));
									//copy($filename, 'backup/'.$filename);
									
									$bb=0;
									$handle_1 = @fopen('backup/'.$filename ,"r");
									while(($data_1 = fgetcsv($handle_1,1000,",","'")) != false){
									$i = 0;	
										foreach($data_1 as $k => $v_2){
											$back[$bb][$i] = $v_2;
											$i++;
											
										}
									$nn++;
									}
									fclose($handle_1);
									copy($filename, 'backup/'.$filename);
				if(!is_file('backup/'.$filename)){
							
							$v_n = 0;
							foreach($sensor_data_load_info_device as $key => $value){ 
								//判斷檔案是否有符合
									
								if ($value['name'] == "voltage" or $value['name'] == "date" or $value['name'] == "temperature" or $filename == $value['load_data'])  {
									$sensor_data = $Device->get_sensor_data($project_code,$value['device_code']);           //警告值.行動值.等等
									foreach($sensor_data as $k => $v){
										$top_active[$v['sensor_id']]  = $v['top_active'];
										$down_active[$v['sensor_id']]= $v['down_active']; 
										$top_alert[$v['sensor_id']]   = $v['top_alert'];
										$down_alert[$v['sensor_id']]  = $v['down_alert'];  
										$upper_limit[$v['sensor_id']] = $v['limit_uper'];
										$lower_limit[$v['sensor_id']] = $v['limit_lower'];
										$upper[$v['sensor_id']] = $v['upper_limit'];
										$lower[$v['sensor_id']] = $v['lower_limit'];
										$unit[$v['sensor_id']]		 = $v['unit'];
									}
								//echo $value['dat']."|".$value['formula']."|".$value['subsum']."
";
									$formula = $value['formula'];
									$dat = $value['dat'];
									$dat_1 = explode(',',$value['dat']);
									$start_val = $value['start_val'];
									$start_val_1 = explode(',',$value['start_val']);
									$subsum = $value['subsum'];
									(@$sensor_data[$v_n]['device_code'] != $value['device_code']) ? $v_n = 0:'';
									if ($value['name'] == "voltage" or $value['name'] == "date" or $value['name'] == "temperature"){
										$name = $value['name'];
									}else{
										$name = $sensor_data[$v_n]['sensor_id'];
										$v_n++;
									}
									$project_code = $value['project_code'];
									$device_code = $value['device_code'];
									$formula_val = $value['formula_val'];
									$C5 = ($value['C5'] != '') ? $value['C5']:0;
									$C4 = ($value['C4'] != '') ? $value['C4']:0;
									$C3 = ($value['C3'] != '') ? $value['C3']:0;
									$C2 = ($value['C2'] != '') ? $value['C2']:0;
									$C1 = ($value['C1'] != '') ? $value['C1']:0;
									$C0 = ($value['C0'] != '') ? $value['C0']:0;
									$S2 = ($value['S2'] != '') ? $value['S2']:0;
									$S1 = ($value['S1'] != '') ? $value['S1']:0;
									$S0 = ($value['S0'] != '') ? $value['S0']:0;
									$F1 = ($value['F1'] != '') ? $value['F1']:0;
									$F0 = ($value['F0'] != '') ? $value['F0']:0;
									
									
									
									//fclose($filename);
									$search_final = count($aa) - 1;
									$total_default = 0;
									$j = 0;
									for($i=$number_of_key;$i<=$search_final;$i++){ //dat檔從第五列資料開始抓
										//欄位值有兩個時作為判斷
										if(@$dat_1[1] != ""){
											$mathself = $aa[$i][$dat_1[0]];
											$mathself_1 = $aa[$i][$dat_1[1]];
										}else{										
											//判斷溫度、日期、電壓
											switch($name){
												case "date":
													$sensor_date[] = $aa[$i][$value['dat']];
												break;
												
												case "voltage":
													$sensor_voltage[] = $aa[$i][$value['dat']];
												break;
												
												case "temperature":
													$sensor_temperature[] = $aa[$i][$value['dat']];
													$temperature[] = $aa[$i][$value['dat']];
												break;
												default:
													$mathself = $aa[$i][$value['dat']];
												break;
											}
											//$mathself_1 = substr($aa[$i][$dat_1[1]],);
										}
										
										//初始值有兩個時作為判斷
										if(@$start_val_1[1] != ""){
											$default_val = $start_val_1[0];
											$default_val_1 = $start_val_1[1];
										}else{
											$default_val = $start_val;
											//$mathself_1 = substr($aa[$i][$dat_1[1]],);
										}
										
										//$mathself = 2;
										//$mathself_1 = 3;
										$total_sum = 0;
										
										
										
										//計算公式
										switch($formula_val){
											case '1':
												$total_sum = $C5*pow($mathself,5) + $C4*pow($mathself,4) + $C3*pow($mathself,3) + $C2*pow($mathself,2) + $C1*pow($mathself,1) + $C0;
												$total_default = $C5*pow($default_val,5) + $C4*pow($default_val,4) + $C3*pow($default_val,3) + $C2*pow($default_val,2) + $C1*pow($default_val,1) + $C0;
												//$total_sum += $val*$sum;
											break;
											
											case '2':
												$total_sum = $C3*pow($mathself,3) + $C2*pow($mathself,2) + $C1*pow($mathself,1) + $C0;
												$total_default = $C3*pow($default_val,3) + $C2*pow($default_val,2) + $C1*pow($default_val,1) + $C0;
											break;
											
											case '3':
												$total_sum =  $C2*pow($mathself,2) + $C1*pow($mathself,1) + $C0;
												$total_default = $C2*pow($default_val,2) + $C1*pow($default_val,1) + $C0;
											break;
											
											case '4':
												$total_sum = $C1*pow($mathself,1) + $C0;
												$total_default = $C1*pow($default_val,1) + $C0;
											break;
											
											case '5':
												$total_sum = $C5*pow($mathself_1,2) + $C4*$mathself*$mathself_1 + $C3*pow($mathself,2) + $C2*$mathself_1 + $C1*$mathself + $C0 + $val;
												$total_default = $C5*pow($default_val_1,2) + $C4*$default_val*$default_val_1 + $C3*pow($default_val,2) + $C2*$default_val_1 + $C1*$default_val + $C0 + $val;
											break;
											
											case '6':
												$total_sum = ($C3*pow($mathself,3) + $C2*pow($mathself,2) + $C1*$mathself + $C0)*($S2*pow($mathself_1,2) +  $S1*$mathself_1 + $S0)  + $F1*$mathself_1 + $F0 + $val;
												$total_default = ($C3*pow($default_val,3) + $C2*pow($default_val,2) + $C1*$default_val + $C0)*($S2*pow($default_val_1,2) +  $S1*$default_val_1 + $S0)  + $F1*$default_val_1 + $F0 + $val;
											break;
											
											case '7':
												$total_sum = 0;
											break;
											
											case '8':
												$total_sum = 0;
											break;
											
											case '9':
												$total_sum = 0;
											break;
											
											case '0':
												$total_sum = 0;
											break;
											
										}
										
										//判斷sensor_name 如果是日期,電壓,溫度 不存入資料庫
										if($name != 'date' and $name != 'voltage' and $name != 'temperature'){
											$device_name = $Device->get_device_data($device_code);
											$Calculat  = $total_sum - $total_default + $subsum;
											$notify_str = $project_name.$device_name['device_name'].$name;
											$notify_number = "於".str_replace('"','',$sensor_date[$j])."量測值".number_format($Calculat,2)."/".$unit[$value['name']];
										?>
											
											   | 
											    | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												
												
														
												 | 
											
											add_sensor_load_val($device_code,$value['name'],$sensor_voltage[$j],$sensor_temperature[$j],$mathself,$total,$default_val,$top_alert[$value['name']],$down_alert[$value['name']],$top_active[$value['name']],$down_active[$value['name']],$upper_limit[$value['name']],$lower_limit[$value['name']],$date,$project_code,$filename,$mathself,time()+14400);
											$j++;
										}
										
									}//for迴圈終點
									
								}
								$num++;
							}
			}else{
							$v_n = 0;
							foreach($sensor_data_load_info_device as $key => $value){ 
								//判斷檔案是否有符合
									
								if ($value['name'] == "voltage" or $value['name'] == "date" or $value['name'] == "temperature" or $filename == $value['load_data'])  {
									$sensor_data = $Device->get_sensor_data($project_code,$value['device_code']);           //警告值.行動值.等等
									foreach($sensor_data as $k => $v){
										$top_active[$v['sensor_id']]  = $v['top_active'];
										$down_active[$v['sensor_id']]= $v['down_active']; 
										$top_alert[$v['sensor_id']]   = $v['top_alert'];
										$down_alert[$v['sensor_id']]  = $v['down_alert'];  
										$upper_limit[$v['sensor_id']] = $v['limit_uper'];
										$lower_limit[$v['sensor_id']] = $v['limit_lower'];
										$upper[$v['sensor_id']] = $v['upper_limit'];
										$lower[$v['sensor_id']] = $v['lower_limit'];
										$unit[$v['sensor_id']]		 = $v['unit'];
									}
								//echo $value['dat']."|".$value['formula']."|".$value['subsum']."
";
									$formula = $value['formula'];
									$dat = $value['dat'];
									$dat_1 = explode(',',$value['dat']);
									$start_val = $value['start_val'];
									$start_val_1 = explode(',',$value['start_val']);
									$subsum = $value['subsum'];
									(@$sensor_data[$v_n]['device_code'] != $value['device_code']) ? $v_n = 0:'';
									if ($value['name'] == "voltage" or $value['name'] == "date" or $value['name'] == "temperature"){
										$name = $value['name'];
									}else{
										$name = $sensor_data[$v_n]['sensor_id'];
										$v_n++;
									}
									$project_code = $value['project_code'];
									$device_code = $value['device_code'];
									$formula_val = $value['formula_val'];
									$C5 = ($value['C5'] != '') ? $value['C5']:0;
									$C4 = ($value['C4'] != '') ? $value['C4']:0;
									$C3 = ($value['C3'] != '') ? $value['C3']:0;
									$C2 = ($value['C2'] != '') ? $value['C2']:0;
									$C1 = ($value['C1'] != '') ? $value['C1']:0;
									$C0 = ($value['C0'] != '') ? $value['C0']:0;
									$S2 = ($value['S2'] != '') ? $value['S2']:0;
									$S1 = ($value['S1'] != '') ? $value['S1']:0;
									$S0 = ($value['S0'] != '') ? $value['S0']:0;
									$F1 = ($value['F1'] != '') ? $value['F1']:0;
									$F0 = ($value['F0'] != '') ? $value['F0']:0;
									
									
									
									//fclose($filename);
									$search_final = count($aa) - 1;
									$total_default = 0;
									$j = 0;
									for($i=count($back);$i<=$search_final;$i++){ //dat檔從第五列資料開始抓
										//欄位值有兩個時作為判斷
										if(@$dat_1[1] != ""){
											$mathself = $aa[$i][$dat_1[0]];
											$mathself_1 = $aa[$i][$dat_1[1]];
										}else{										
											//判斷溫度、日期、電壓
											switch($name){
												case "date":
													$sensor_date[] = $aa[$i][$value['dat']];
												break;
												
												case "voltage":
													$sensor_voltage[] = $aa[$i][$value['dat']];
												break;
												
												case "temperature":
													$sensor_temperature[] = $aa[$i][$value['dat']];
													$temperature[] = $aa[$i][$value['dat']];
												break;
												default:
													$mathself = $aa[$i][$value['dat']];
												break;
											}
											//$mathself_1 = substr($aa[$i][$dat_1[1]],);
										}
										
										//初始值有兩個時作為判斷
										if(@$start_val_1[1] != ""){
											$default_val = $start_val_1[0];
											$default_val_1 = $start_val_1[1];
										}else{
											$default_val = $start_val;
											//$mathself_1 = substr($aa[$i][$dat_1[1]],);
										}
										
										//$mathself = 2;
										//$mathself_1 = 3;
										$total_sum = 0;
										
										
										
										//計算公式
										switch($formula_val){
											case '1':
												$total_sum = $C5*pow($mathself,5) + $C4*pow($mathself,4) + $C3*pow($mathself,3) + $C2*pow($mathself,2) + $C1*pow($mathself,1) + $C0;
												$total_default = $C5*pow($default_val,5) + $C4*pow($default_val,4) + $C3*pow($default_val,3) + $C2*pow($default_val,2) + $C1*pow($default_val,1) + $C0;
												//$total_sum += $val*$sum;
											break;
											
											case '2':
												$total_sum = $C3*pow($mathself,3) + $C2*pow($mathself,2) + $C1*pow($mathself,1) + $C0;
												$total_default = $C3*pow($default_val,3) + $C2*pow($default_val,2) + $C1*pow($default_val,1) + $C0;
											break;
											
											case '3':
												$total_sum =  $C2*pow($mathself,2) + $C1*pow($mathself,1) + $C0;
												$total_default = $C2*pow($default_val,2) + $C1*pow($default_val,1) + $C0;
											break;
											
											case '4':
												$total_sum = $C1*pow($mathself,1) + $C0;
												$total_default = $C1*pow($default_val,1) + $C0;
											break;
											
											case '5':
												$total_sum = $C5*pow($mathself_1,2) + $C4*$mathself*$mathself_1 + $C3*pow($mathself,2) + $C2*$mathself_1 + $C1*$mathself + $C0 + $val;
												$total_default = $C5*pow($default_val_1,2) + $C4*$default_val*$default_val_1 + $C3*pow($default_val,2) + $C2*$default_val_1 + $C1*$default_val + $C0 + $val;
											break;
											
											case '6':
												$total_sum = ($C3*pow($mathself,3) + $C2*pow($mathself,2) + $C1*$mathself + $C0)*($S2*pow($mathself_1,2) +  $S1*$mathself_1 + $S0)  + $F1*$mathself_1 + $F0 + $val;
												$total_default = ($C3*pow($default_val,3) + $C2*pow($default_val,2) + $C1*$default_val + $C0)*($S2*pow($default_val_1,2) +  $S1*$default_val_1 + $S0)  + $F1*$default_val_1 + $F0 + $val;
											break;
											
											case '7':
												$total_sum = 0;
											break;
											
											case '8':
												$total_sum = 0;
											break;
											
											case '9':
												$total_sum = 0;
											break;
											
											case '0':
												$total_sum = 0;
											break;
											
										}
										
										//判斷sensor_name 如果是日期,電壓,溫度 不存入資料庫
										if($name != 'date' and $name != 'voltage' and $name != 'temperature'){
											$device_name = $Device->get_device_data($device_code);
											$Calculat  = $total_sum - $total_default + $subsum;
											$notify_str = $project_name.$device_name['device_name'].$name;
											$notify_number = "於".str_replace('"','',$sensor_date[$j])."量測值".number_format($Calculat,2)."/".$unit[$value['name']];
										?>
											
											   | 
											    | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												 | 
												
												
														
												 | 
											
											add_sensor_load_val($device_code,$value['name'],$sensor_voltage[$j],$sensor_temperature[$j],$mathself,$total,$default_val,$top_alert[$value['name']],$down_alert[$value['name']],$top_active[$value['name']],$down_active[$value['name']],$upper_limit[$value['name']],$lower_limit[$value['name']],$date,$project_code,$filename,$mathself,time()+14400);
											$j++;
										}
										
									}//for迴圈終點
									
								}
								$num++;
							}			
			}			
	}
					
						 
                    ?>