public function getDataSet($postData, $dcTable, $facility_id, $occur_date, $properties) { $object_type = $postData['IntObjectType']; $object_id = $postData['ObjectName']; $mdlName = $postData[config("constants.tabTable")]; $mdl = "App\\Models\\{$mdlName}"; $objectType = IntObjectType::find($object_type); if (!$objectType) { abort(501, "Object Name not exist"); } $xtable = $objectType->CODE; $where = ["{$xtable}.FACILITY_ID" => $facility_id, "{$dcTable}.OBJECT_TYPE" => $object_type]; if ($object_id > 0) { $where["{$dcTable}.OBJECT_ID"] = $object_id; } $dataSet = $mdl::join($xtable, "{$dcTable}.OBJECT_ID", '=', "{$xtable}.ID")->where($where)->select("{$dcTable}.ID as DT_RowId", "{$dcTable}.*")->get(); $bunde = ['OBJECT_TYPE' => $object_type]; $extraDataSet = $this->getExtraDataSet($dataSet, $bunde); $data = IntMapTable::where("OBJECT_TYPE", '=', $object_type)->orderBy('NAME')->get(['TABLE_NAME as NAME', "TABLE_NAME as value", "TABLE_NAME as text"]); $extraDataSet['TABLE_NAME']['TABLE_NAME'] = $data; $objects = \DB::table($xtable)->where("FACILITY_ID", '=', $facility_id)->orderBy('NAME')->get(['ID', 'NAME', "ID as value", "NAME as text"]); $extraDataSet['OBJECT_ID']['OBJECT_ID'] = $objects; return ['dataSet' => $dataSet, 'extraDataSet' => $extraDataSet]; }
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)); }