Example #1
0
 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];
 }
Example #2
0
 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));
 }