예제 #1
0
 public function getSurveillanceSetting(Request $request)
 {
     $data = $request->all();
     $cfgFieldProps = array();
     $tags = array();
     $surs = array();
     $objType_id = -100;
     $objectType = "";
     $tag_other = array();
     $other = "";
     $strMessage = null;
     if (isset($data['OBJECT_TYPE'])) {
         $objectType = $data['OBJECT_TYPE'];
     }
     if (isset($data['OBJECT_ID'])) {
         $objType_id = $data['OBJECT_ID'];
     }
     if (isset($data['SUR'])) {
         $surs = explode('@', $data['SUR']);
     }
     $cfgFields = CfgFieldProps::where(['USE_DIAGRAM' => 1])->where('TABLE_NAME', 'like', $objectType . '%')->orderBy('TABLE_NAME', 'COLUMN_NAME')->get(['COLUMN_NAME', 'TABLE_NAME', 'LABEL']);
     if (count($cfgFields) > 0) {
         foreach ($cfgFields as $v) {
             $value = $v->TABLE_NAME . "/" . $v->COLUMN_NAME;
             $checked = in_array($value, $surs, TRUE) ? "checked" : "";
             $v['CHECK'] = $checked;
             array_push($cfgFieldProps, $v);
         }
     }
     $intConnection = IntConnection::all(['ID', 'NAME']);
     $intTagMapping = IntTagMapping::getTableName();
     $intObjectType = IntObjectType::getTableName();
     //\DB::enableQueryLog ();
     $vTags = DB::table($intTagMapping . ' AS a')->join($intObjectType . ' AS b', 'a.OBJECT_TYPE', '=', 'b.ID')->where(['b.CODE' => $objectType])->where(function ($q) use($objType_id) {
         if ($objType_id != -100) {
             $q->where(['a.OBJECT_ID' => $objType_id]);
         }
     })->distinct()->orderBy('a.TAG_ID')->get(['a.TAG_ID', 'a.TAG_ID AS CHECK']);
     //\Log::info ( \DB::getQueryLog () );
     if (count($vTags) > 0) {
         foreach ($vTags as $t) {
             $checked = in_array($t->TAG_ID, $surs, TRUE) ? "checked" : "";
             $t->CHECK = $checked;
             array_push($tags, $t);
         }
     }
     if (count($vTags) <= 0) {
         $names = IntObjectType::where(['CODE' => $objectType])->select('NAME')->first();
         $sname = count($names) > 0 ? $names->NAME : "";
         $strMessage = '<br><br><br><br><center><font color="#88000">No tag configured for <b>' . $sname . '</b>.</font><br><br><input type="button" style="width:145px;" id="btnTagsMapping" value="Config Tag Mapping"></center>';
     }
     if ($objType_id == -100) {
         $strMessage = '<br><br><br><br><center><font color="#880000">No tag displayed because object is not mapped.</font><br><br><input type="button" style="width:160px;" id="openSurveillanceSetting" value="Object Mapping"></center>';
     }
     return response()->json(['cfgFieldProps' => $cfgFieldProps, 'intConnection' => $intConnection, 'tags' => $tags, 'strMessage' => $strMessage]);
 }