public function getDataSet($postData, $dcTable, $facility_id, $occur_date, $properties) { $eu_group_id = $postData['EnergyUnitGroup']; $record_freq = $postData['CodeReadingFrequency']; $phase_type = $postData['CodeFlowPhase']; $event_type = $postData['CodeEventType']; $alloc_type = array_key_exists('CodeAllocType', $postData) ? $postData['CodeAllocType'] : 0; $eu = EnergyUnit::getTableName(); $codeFlowPhase = CodeFlowPhase::getTableName(); $codeStatus = CodeStatus::getTableName(); $euPhaseConfig = EuPhaseConfig::getTableName(); $codeEventType = CodeEventType::getTableName(); $euWheres = ['FACILITY_ID' => $facility_id, 'FDC_DISPLAY' => 1]; if ($record_freq > 0) { $euWheres["{$eu}.DATA_FREQ"] = $record_freq; } if ($eu_group_id > 0) { $euWheres["{$eu}.EU_GROUP_ID"] = $eu_group_id; } // else $euWheres["$eu.EU_GROUP_ID"]= null; // \DB::enableQueryLog(); $dataSet = EnergyUnit::join($codeStatus, 'STATUS', '=', "{$codeStatus}.ID")->join($euPhaseConfig, function ($query) use($eu, $euPhaseConfig, $phase_type, $event_type) { $query->on("{$euPhaseConfig}.EU_ID", '=', "{$eu}.ID"); if ($phase_type > 0) { $query->where("{$euPhaseConfig}.FLOW_PHASE", '=', $phase_type); } if ($event_type > 0) { $query->where("{$euPhaseConfig}.EVENT_TYPE", '=', $event_type); } //TODO note chu y active co the se dung // $query->with('CodeFlowPhase'); // $query->select('FLOW_PHASE as EU_FLOW_PHASE'); })->join($codeFlowPhase, "{$euPhaseConfig}.FLOW_PHASE", '=', "{$codeFlowPhase}.ID")->join($codeEventType, "{$euPhaseConfig}.EVENT_TYPE", '=', "{$codeEventType}.ID")->where($euWheres)->whereDate('EFFECTIVE_DATE', '<=', $occur_date)->leftJoin($dcTable, function ($join) use($eu, $dcTable, $occur_date, $alloc_type, $euPhaseConfig) { //TODO add table name $join->on("{$eu}.ID", '=', "{$dcTable}.EU_ID")->on("{$dcTable}.FLOW_PHASE", '=', "{$euPhaseConfig}.FLOW_PHASE")->on("{$dcTable}.EVENT_TYPE", '=', "{$euPhaseConfig}.EVENT_TYPE")->where("{$dcTable}.OCCUR_DATE", '=', $occur_date); $energyUnitDataAlloc = EnergyUnitDataAlloc::getTableName(); $energyUnitCompDataAlloc = EnergyUnitCompDataAlloc::getTableName(); if ($alloc_type > 0 && ($dcTable == $energyUnitDataAlloc || $dcTable == $energyUnitCompDataAlloc)) { $join->where("{$dcTable}.ALLOC_TYPE", '=', $alloc_type); } })->select("{$eu}.name as {$dcTable}", "{$euPhaseConfig}.ID as DT_RowId", "{$codeFlowPhase}.name as PHASE_NAME", "{$codeEventType}.name as TYPE_NAME", "{$euPhaseConfig}.EVENT_TYPE as " . config("constants.eventType"), "{$eu}.ID as " . config("constants.euId"), "{$euPhaseConfig}.FLOW_PHASE as EU_FLOW_PHASE", "{$codeStatus}.NAME as STATUS_NAME", "{$codeFlowPhase}.CODE as PHASE_CODE", "{$codeEventType}.CODE as TYPE_CODE", "{$dcTable}.*")->orderBy($dcTable)->orderBy('EU_FLOW_PHASE')->get(); // \Log::info(\DB::getQueryLog()); return ['dataSet' => $dataSet]; }
public static function getObjects() { return EnergyUnit::where("ID", ">", 0)->orderBy("NAME")->get(); }
public function getrunnerslist(Request $request) { $data = $request->all(); $alloc_runner = AllocRunner::getTableName(); $code_alloc_value_type = CodeAllocValueType::getTableName(); $code_alloc_type = CodeAllocType::getTableName(); $code_flow_phase = CodeFlowPhase::getTableName(); $result = DB::table($alloc_runner . ' AS a')->leftjoin($code_alloc_value_type . ' AS t', 'a.theor_value_type', '=', 't.ID')->leftjoin($code_alloc_type . ' AS b', 'a.alloc_type', '=', 'b.ID')->leftjoin($code_flow_phase . ' AS c', 'a.theor_phase', '=', 'c.ID')->where(['a.JOB_ID' => $data['job_id']])->orderBy('a.ORDER')->select('a.*', 't.NAME AS THEOR_VALUE_TYPE_NAME', 'b.NAME AS ALLOC_TYPE_NAME', 'c.NAME AS THEOR_PHASE_NAME')->get(); $i = 0; $str = ""; $runner_options = ""; foreach ($result as $row) { $runner_options .= "<option value='{$row->ID}'>{$row->NAME}</option>"; $allocrunnerobjects = AllocRunnerObjects::where(['RUNNER_ID' => $row->ID])->get(); if (count($allocrunnerobjects) > 0) { $o_in = ""; $o_out = ""; $o_in_x = ""; $o_out_x = ""; $count_in = 0; $count_out = 0; $s = []; foreach ($allocrunnerobjects as $ro) { $vname = ''; if ($ro->OBJECT_TYPE == 1) { $f = Flow::where(['ID' => $ro->OBJECT_ID])->select('NAME')->first(); $vname = $f->NAME; } elseif ($ro->OBJECT_TYPE == 2) { $f = EnergyUnit::where(['ID' => $ro->OBJECT_ID])->select('NAME')->first(); $vname = $f->NAME; } $ro['OBJECT_NAME'] = $vname; if ($ro->DIRECTION == 1) { $o_in .= "<span id='" . $ro->ID . "' o_type='" . $ro->OBJECT_TYPE . "' o_id='" . $ro->OBJECT_ID . "' minus='.{$ro->MINUS}.' style='display:block'>" . ($ro->MINUS == 1 ? '<font color="red">->- </font>' : '') . $ro->OBJECT_NAME . "</span>"; if ($count_in == 3) { $o_in_x = "<span id='Q_I_{$row->ID}'>{$o_in_x}" . "<br>... <span style='cursor:pointer;color:blue;text-decoration: underline;font-size:8pt' onclick='\$(\"#Qobjectfrom_{$row->ID}\").show();\$(\"#Q_I_{$row->ID}\").hide();'>Show all {objects}</span></span>"; } else { if ($count_in < 3) { $o_in_x .= ($o_in_x ? "<br>" : "") . $ro->OBJECT_NAME; } } $count_in++; } else { $o_out .= "<span id='" . $ro->ID . "' o_type='" . $ro->OBJECT_TYPE . "' o_id='" . $ro->OBJECT_ID . "' fixed='" . $ro->FIXED . "' style='display:block;'>" . $ro->OBJECT_NAME . " " . ($ro->FIXED == 1 ? '<font color="#609CB9">->fixed</font>' : '') . "</span>"; if ($count_out == 3) { $o_out_x = "<span id='Q_O_{$row->ID}'>{$o_out_x}" . "<br>... <span style='cursor:pointer;color:blue;text-decoration: underline;font-size:8pt' onclick='\$(\"#Qobjectto_{$row->ID}\").show();\$(\"#Q_O_{$row->ID}\").hide();'>Show all {objects}</span></span>"; } else { if ($count_out < 3) { $o_out_x .= ($o_out_x ? "<br>" : "") . $ro->OBJECT_NAME; } } $count_out++; } } $i++; if ($i % 2 == 0) { $bgcolor = "#eeeeee"; } else { $bgcolor = "#f8f8f8"; } $str .= "<tr bgcolor='{$bgcolor}'>"; $str .= "<td style=\"cursor:pointer\" onclick=\"\"><span id='Qorder_" . $row->ID . "'>{$row->ORDER}</span></td>"; $str .= "<td><span id='Qrunner_name_" . $row->ID . "'>{$row->NAME}</span></td>"; $str .= "<td><span style='display:none' id='alloc_type_" . $row->ID . "'>{$row->ALLOC_TYPE}</span><span style='display:none' id='theor_value_type_" . $row->ID . "'>{$row->THEOR_VALUE_TYPE}</span><span style='display:none' id='theor_phase_" . $row->ID . "'>{$row->THEOR_PHASE}</span>{$row->ALLOC_TYPE_NAME}" . ($row->THEOR_PHASE_NAME ? "<br><font size=1 color=green>(Theor phase: {$row->THEOR_PHASE_NAME})</font>" : "") . ($row->THEOR_VALUE_TYPE_NAME ? "<br><font size=1 color=green>(Theor value type: {$row->THEOR_VALUE_TYPE_NAME})</font>" : "") . "</td>"; if ($count_in > 5) { $str .= "<td>" . str_replace("{objects}", "{$count_in} objects", $o_in_x) . "<span id='Qobjectfrom_" . $row->ID . "' style='display:none'>{$o_in}</span></td>"; } else { $str .= "<td><span id='Qobjectfrom_" . $row->ID . "'>{$o_in}</span></td>"; } if ($count_out > 5) { $str .= "<td>" . str_replace("{objects}", "{$count_out} objects", $o_out_x) . "<span id='Qobjectto_" . $row->ID . "' style='display:none'>{$o_out}</span></td>"; } else { $str .= "<td><span id='Qobjectto_" . $row->ID . "'>{$o_out}</span></td>"; } $str .= "<td width='170' style='font-size:8pt'> "; $str .= "<a href=\"javascript:checkRunner({$row->ID})\">Simulate</a> |"; $str .= "<a href=\"javascript:deleteRunner({$row->ID})\">Delete</a> |"; $str .= "<a href=\"javascript:editRunner({$row->ID})\">Edit</a> |"; $str .= "<a href=\"javascript:runRunner({$row->ID})\">Run</a> |"; $str .= "<a href=\"javascript:clearAllocData({$row->ID})\">Clear</a></td>"; $str .= "</tr>"; } $result = $str . "#\$%" . $runner_options; } return response()->json($result); }
public function getFieldTitle($dcTable, $field, $rowData) { $row = EnergyUnit::where(['ID' => $rowData['DEFER_TARGET']])->select('NAME')->first(); $obj_name = $row ? $row->NAME : ""; return $obj_name; }
public static function find($id) { return EnergyUnit::find($id); }