Tryag File Manager
Home
||
Turbo Force
||
B-F Config_Cpanel
Current Path :
/
home
/
ltms.eemo.co.kr
/
public_html
/
super
/
Or
Select Your Path :
Upload File :
New :
File
Dir
/home/ltms.eemo.co.kr/public_html/super/farm_iot_event.php
<!-- 필요 구현 항목 1. 미등록차량 수 구해오기 (DB 구현하여 연결) 2. 차량 구분으로 검색 설정 (ex 사료, 생계 ... ) 차량 DB 완료 후 연동 --> <? /* 기본 메뉴 세팅 시작*/ include_once("inc_header.php"); $on_menu="farm_manager"; // $on_sub_menu=$_REQUEST[menu]; $on_sub_menu="farm_manager_".$_GET[jong_type]; $on_sub_menu2=5; /* 기본 메뉴 세팅 끝*/ $farm_no = $_REQUEST["farm_no"]; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?=$_TITLE?></title> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="font-awesome/css/font-awesome.css" rel="stylesheet"> <link href="css/plugins/iCheck/custom.css" rel="stylesheet"> <link href="css/animate.css" rel="stylesheet"> <link href="css/style.css" rel="stylesheet"> <link href="css/messagebox.css" rel="stylesheet"> <link href="css/plugins/datapicker/datepicker3.css" rel="stylesheet"> </head> <!-- style 시작 --> <style> #chartdiv { width: 100%; height: 270px; } #chartdiv { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } .inpForm { border: 1px solid #e5e6e7; padding: 6px 12px; } .invisible-scrollbar::-webkit-scrollbar { display: none; } </style> <!-- style 끝 --> <body class="pace-done mini-navbar"> <div id="wrapper"> <? include_once("inc_sidemenu.php"); ?> <!-- 사이드 메뉴 --> <div id="page-wrapper" class="gray-bg"> <? include_once("inc_top.php"); // include_once("inc_now_position.php"); /* 큰 알림 텍스트 */ include_once("navigation.php"); ?> <!-- 헤더 메뉴 끝 --> <div class="row"> <!-- 사육관리 탭메뉴 --> <? include_once("inc_top_submenu.php"); /* 사육관리전용 탭 그외 주석처리 */ ?> </div> <div class="row wrapper border-bottom white-bg page-heading py-3"> <? include_once("inc_nav_menu.php"); /* 네비게이션 판 */ ?> </div> <!-- 네비 wrapper 끝 --> <div class="wrapper wrapper-content"> <div class="row animated fadeInDown"> <div class="col-lg-12"> <div class="ibox-content border-0 py-0 text-right"> <? include_once("inc_icon_menu.php");/* 농장관련 아이콘 농장 외 주석 */ ?> </div> </div> <!-- col-lg-크기 지정 후 컨텐츠 입력 --> <div class="col-lg-12"> <div class="ibox-content border-top-0" style="height:74vh; overflow:scroll;" > <?php /* submit */ $searchCarNo = $_REQUEST[searchCarNo]; $searchStart = empty($_REQUEST[searchStart]) ? date("Y-m-d") : $_REQUEST[searchStart]; $searchEnd = empty($_REQUEST[searchEnd]) ? date("Y-m-d") : $_REQUEST[searchEnd]; $searchCarNo = preg_replace("/\s+/", "", $searchCarNo); if(!empty($searchCarNo)) $addCarQuery = "AND REPLACE(lpr_num,' ','') = '$searchCarNo'"; else $addCarQuery = ""; /* 페이징 */ $v_num = 7; if(!$v_num) { $v_num=10; } $limit=$v_num; // $query = mysql_query("SELECT count(*) as cnt FROM company_board WHERE 1"); $rs=RS("SELECT count(`no`) as cnt FROM control_center_event WHERE farm_no = '$farm_no' AND hum_value > 60 OR tmp_value < 35 AND LEFT(register_date ,11) BETWEEN '$searchStart' AND '$searchEnd' "); $maxCnt=$rs[cnt]; vari($rs[cnt],10,$v_num,$c_page); $gita="&find=".urlencode($find)."&search=".urlencode($search)."&sel_sort=".urlencode($sel_sort)."&sel_sido=".urlencode($sel_sido)."&sel_sigungu=".urlencode($sel_sigungu)."&v_num=".urlencode($v_num) ."&farm_no=".urlencode($farm_no)."&jong_type=".urlencode($jong_type)."&pbreedtype=".urlencode($pbreedtype)."&contract_no=".urlencode($contract_no) ."&searchStart=".urlencode($searchStart)."&searchEnd=".urlencode($searchEnd); ?> <div class="ibox-content d-flex flex-column border-0 pt-0"> <form method="POST"action="farm_iot_event.php?farm_no=<?=$farm_no?>&jong_type=<?=$_REQUEST[jong_type]?>&pbreedtype=<?=$_REQUEST[pbreedtype]?>&contract_no=<?=$contract_no?>"> <div class="iboc-content border-0 w-100 mb-2"> <small class="float-left pt-3 mr-3">검색결과 : 총 <strong><?=$maxCnt?></strong>건</small> <!-- <small class="float-left pt-3 mr-3">( 미등록차량 : 총 <strong><?=$maxCnt?></strong>대 )</small> --> <button class="searchCar btn btn-outline-info float-right ml-1" type="submit" >조회</button> <!-- <input class="float-right form-control-sm form-control mx-1" name="searchCarNo" id="searchCarNo" type="text" value="<?=$_REQUEST[searchCarNo]?>" placeholder="" style="width:10%"> --> <div class="form-group mx-1" id="data_5"> <div class="input-daterange input-group w-25 float-right" id="datepicker"> <span class="input-group-addon bg-white border-left border-light"><i class="fa fa-calculator mx-1" aria-hidden="true"></i></span> <input type="text" class="form-control-sm form-control mx-1" name="searchStart" value="<?=$searchStart?>"> <span class="input-group-addon bg-white"><i class="fa fa-calculator mx-1" aria-hidden="true"></i></span> <input type="text" class="form-control-sm form-control mx-1" name="searchEnd" value="<?=$searchEnd?>"> </div> </div> </div> <!-- @csrf --> </form> <div class="d-flex flex-row"> <div class="w-100 border border-left-0 invisible-scrollbar" style="height:340px; overflow:scroll;"> <table class="table table-sm table-hover table-inverse text-center" style="cursor:pointer"> <thead class="thead-inverse"> <tr> <th>날짜</th> <th>시간</th> <th>구분</th> <th>동번호</th> <th>위치</th> <th>기준값</th> <th>현재값</th> <th>오차범위</th> </tr> </thead> <tbody> <?php $arrEvent = array(); $lootNum = (intval( strtotime($searchEnd) - strtotime($searchStart) ) / 86400); for( $i = 0; $i < $lootNum+1; $i++){ $query =mysql_query("SELECT A.humcnt, B.tmpcnt, LEFT(register_date ,11) as rdate FROM control_center_event CCE , (SELECT COUNT(*) AS humcnt FROM control_center_event WHERE farm_no = '$farm_no' AND event_type = 'hum' AND hum_value > 60 OR tmp_value < 35 AND LEFT(register_date ,11) = DATE_ADD('$searchStart', INTERVAL {$i} DAY) ORDER BY `no`) AS A , (SELECT COUNT(*) AS tmpcnt FROM control_center_event WHERE farm_no = '$farm_no' AND event_type = 'tmp' AND hum_value > 60 OR tmp_value < 35 AND LEFT(register_date ,11) = DATE_ADD('$searchStart', INTERVAL {$i} DAY) ORDER BY `no`) AS B WHERE LEFT(register_date ,11) = DATE_ADD('$searchStart', INTERVAL {$i} DAY) GROUP BY rdate "); while($rs = mysql_fetch_assoc($query)) { $arrEvent[] = $rs; } } $query = mysql_query("SELECT * FROM control_center_event WHERE farm_no = '$farm_no' AND hum_value > 60 OR tmp_value < 35 AND LEFT(register_date ,11) BETWEEN '$searchStart' AND '$searchEnd' ORDER BY `no` DESC LIMIT $offset, $limit"); while($rs = mysql_fetch_assoc($query)) { $objSensor = mysql_fetch_object(mysql_query("SELECT * FROM farm_sensor WHERE `no` = $rs[dong_no]")); $objDong = mysql_fetch_object(mysql_query("SELECT * FROM farm_dong_info WHERE `no` = $objSensor->dong_no")); switch ($rs[event_type]) { case 'hum': $event_type_value = $rs[hum_value]; $event_min_value = $objSensor->set_humi_min_value; $event_max_value = $objSensor->set_humi_max_value; if($event_type_value <= $event_min_value){ $event_value_error = $event_type_value - $event_min_value; } else if($event_type_value >= $event_max_value ){ $event_value_error = $event_type_value - $event_max_value; }else { $event_value_error=0; } $event_type_name = "습도"; break; case 'tmp': $event_type_value = $rs[tmp_value]; $event_min_value = $objSensor->set_temper_min_value; $event_max_value = $objSensor->set_temper_max_value; if($event_type_value <= $event_min_value){ $event_value_error = $event_type_value - $event_min_value; } else if($event_type_value >= $event_max_value ){ $event_value_error = $event_type_value - $event_max_value; }else { $event_value_error=0; } $event_type_name = "온도"; break; case 'vehicle': $event_type_value = $rs[lpr_value]; $event_type_name = "차량"; break; case 'blackout': $event_type_value = $rs[blackout_value]; $event_type_name = "정전"; break; default: $event_type_value = ""; break; } ?> <tr> <td scope="row" class=""><?=substr($rs[register_date ],0,10)?></td> <td><?=substr($rs[register_date ],11,8)?></td> <td><?=$event_type_name?></td> <td><?=$objDong->dong_name?></td> <td><?=$objSensor->pos_no?></td> <td><?=$event_min_value.'/'.$event_max_value?></td> <td><?=$event_type_value?></td> <td class="<?=$event_value_error > 0 ? 'text-danger': 'test-success' ?>" ><?=$event_value_error?></td> </tr> <?php }?> </tbody> </table> <div class="text-center"> <?navi($_SERVER[PHP_SELF],$t_record,$limit,$pagelimit,$c_page,$gita);?> </div> </div> </div> <div class="d-flex flex-row w-100 mt-2"> <div id="chartdiv"></div> </div> </div> </div> </div> </div> <!-- contents 끝 --> <!-- 자세히보기 시작 --> <!-- 자세히보기 끝 --> <? include_once("inc_footer.php"); ?> </div> <!-- page wraper 끝 --> </div> <!-- wraper 끝 --> <!-- script 라인 --> <!-- Mainly scripts --> <script src="js/jquery-3.1.1.min.js"></script> <script src="js/popper.min.js"></script> <script src="js/bootstrap.js"></script> <script src="js/plugins/metisMenu/jquery.metisMenu.js"></script> <script src="js/plugins/slimscroll/jquery.slimscroll.min.js"></script> <!-- Peity --> <script src="js/plugins/peity/jquery.peity.min.js"></script> <!-- Custom and plugin javascript --> <script src="js/inspinia.js"></script> <script src="js/plugins/pace/pace.min.js"></script> <!-- iCheck --> <script src="js/plugins/iCheck/icheck.min.js"></script> <!-- Peity --> <script src="js/demo/peity-demo.js"></script> <script src="css/messagebox.js"></script> <!-- bootstrap --> <script src="js/plugins/datapicker/bootstrap-datepicker.js"></script> <!-- chart --> <script src="https://www.amcharts.com/lib/4/core.js"></script> <script src="https://www.amcharts.com/lib/4/charts.js"></script> <script src="https://www.amcharts.com/lib/4/themes/animated.js"></script> <script src="js/plugins/rickshaw/vendor/d3.v3.js"></script> <script src="js/plugins/rickshaw/rickshaw.min.js"></script> <!-- script 끝 --> <script> function carInfo(carInfoText) { $('.car-info-no').text(""); $('.car-info-no').text(carInfoText); } $(function() { $('#data_5 .input-daterange').datepicker({ format : "yyyy-mm-dd", keyboardNavigation: false, forceParse: false, autoclose: true }); }); /** * --------------------------------------- * This demo was created using amCharts 4. * * For more information visit: * https://www.amcharts.com/ * * Documentation is available at: * https://www.amcharts.com/docs/v4/ * --------------------------------------- */ am4core.useTheme(am4themes_animated); // Themes end // Create chart instance var chart = am4core.create("chartdiv", am4charts.XYChart); // Add data chart.data = [ <?php foreach ($arrEvent as $key => $value) { ?> { "date": "<?=substr($value[rdate],0,10)?>", "hum": <?=$value[humcnt]?>, "tmp": <?=$value[tmpcnt]?>, }, <?php } ?> ]; // Create axes var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis()); categoryAxis.dataFields.category = "date"; categoryAxis.title.text = "온/습도 알람내역"; categoryAxis.renderer.grid.template.location = 0; categoryAxis.renderer.minGridDistance = 20; categoryAxis.renderer.cellStartLocation = 0.1; categoryAxis.renderer.cellEndLocation = 0.9; var valueAxis = chart.yAxes.push(new am4charts.ValueAxis()); valueAxis.min = 0; valueAxis.title.text = "발생건수"; // Create series function createSeries(field, name, stacked) { var series = chart.series.push(new am4charts.ColumnSeries()); series.dataFields.valueY = field; series.dataFields.categoryX = "date"; series.name = name; series.columns.template.tooltipText = "{name}: [bold]{valueY}[/]"; series.stacked = stacked; series.columns.template.width = am4core.percent(95); } createSeries("hum", "습도", false); createSeries("tmp", "온도", false); // Add legend chart.legend = new am4charts.Legend(); </script> </body> </html>