예제 #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];
 }