Пример #1
0
 public function edit(Request $request)
 {
     $postData = $request->all();
     $id = $postData['id'];
     //     	$ptype= QltyData::find($id)->get('PRODUCT_TYPE');
     $dcTable = QltyData::getTableName();
     $qltyDataDetail = QltyDataDetail::getTableName();
     $qltyProductElementType = QltyProductElementType::getTableName();
     $properties = $this->getOriginProperties($qltyDataDetail);
     $dataSet = QltyProductElementType::join($dcTable, function ($query) use($dcTable, $id, $qltyProductElementType) {
         $query->on("{$dcTable}.PRODUCT_TYPE", '=', "{$qltyProductElementType}.PRODUCT_TYPE")->where("{$dcTable}.ID", '=', $id);
     })->leftJoin($qltyDataDetail, function ($join) use($qltyDataDetail, $id, $qltyProductElementType) {
         $join->on("{$qltyDataDetail}.ELEMENT_TYPE", '=', "{$qltyProductElementType}.ID")->where("{$qltyDataDetail}.QLTY_DATA_ID", '=', $id);
     })->select("{$qltyProductElementType}.ID as ID", "{$qltyProductElementType}.ID as DT_RowId", "{$qltyProductElementType}.ORDER", "{$qltyProductElementType}.NAME", "{$qltyProductElementType}.PRODUCT_TYPE", "{$qltyProductElementType}.DEFAULT_UOM", "{$qltyDataDetail}.*")->get();
     $datasetGroups = $dataSet->groupBy(function ($item, $key) {
         return $item['DEFAULT_UOM'] == 'Mole fraction' ? 'MOLE_FACTION' : 'NONE_MOLE_FACTION';
     });
     $results = [];
     if ($datasetGroups->has('NONE_MOLE_FACTION')) {
         $gasElementColumns = ['ELEMENT_TYPE', 'VALUE', 'UOM'];
         $noneMole = $properties->groupBy(function ($item, $key) use($gasElementColumns) {
             return in_array($item->name, $gasElementColumns) ? 'NONE_MOLE_FACTION' : 'MOLE_FACTION';
         });
         $results['NONE_MOLE_FACTION'] = ['properties' => $noneMole['NONE_MOLE_FACTION'], 'dataSet' => $datasetGroups['NONE_MOLE_FACTION']];
     }
     if ($datasetGroups->has('MOLE_FACTION')) {
         $oilElementColumns = ['VALUE', 'UOM'];
         $noneMole = $properties->groupBy(function ($item, $key) use($oilElementColumns) {
             return in_array($item->name, $oilElementColumns) ? 'NONE_MOLE_FACTION' : 'MOLE_FACTION';
         });
         $results['MOLE_FACTION'] = ['properties' => $noneMole['MOLE_FACTION'], 'dataSet' => $datasetGroups['MOLE_FACTION']];
     }
     return response()->json($results);
 }