public function lockData(Request $request) { $data = $request->all(); $table_names = explode(',', $data['TABLE_NAMES']); $obj['LOCK_DATE'] = \Helper::parseDate($data['DATE_FROM']); $obj['USER_ID'] = $data['USER_ID']; $obj['FACILITY_ID'] = $data['FACILITY_ID']; foreach ($table_names as $table) { $condition = array('TABLE_NAME' => $table, 'FACILITY_ID' => $data['FACILITY_ID']); $obj['TABLE_NAME'] = $table; LockTable::updateOrCreate($condition, $obj); } $objType_id = $data['OBJECTTYPE']; $facility_id = $data['FACILITY_ID']; $group_id = $data['GROUP_ID']; $result = array(); $intMapTable = IntMapTable::getTableName(); $lockTable = LockTable::getTableName(); if ($group_id != 0) { $datatablegroup = DataTableGroup::where(['ID' => $group_id])->select('TABLES')->first(); $group = $datatablegroup->TABLES; $group = str_replace("\r", "", $group); $group = str_replace(" ", "", $group); $group = str_replace("\t", "", $group); $group = "," . str_replace("\n", ",", $group) . ","; } else { $group = ''; } $loadlockTable = DB::table($intMapTable . ' AS a')->leftjoin($lockTable . ' AS b', function ($join) use($facility_id) { $join->on('a.TABLE_NAME', '=', 'b.TABLE_NAME')->where('b.FACILITY_ID', '=', $facility_id); })->where(function ($q) use($objType_id) { if ($objType_id != 0) { $q->where(['a.OBJECT_TYPE' => $objType_id]); } })->select(['b.ID AS T_ID', 'a.ID', 'a.TABLE_NAME', 'a.FRIENDLY_NAME', 'b.LOCK_DATE'])->get(); foreach ($loadlockTable as $v) { if ($group) { if (strpos($group, ",{$v->TABLE_NAME},") === false) { continue; } } $v->T_ID = $v->T_ID ? "checked" : ""; array_push($result, $v); } return response()->json(array('result' => $result)); }