public static function findManyWithConfig($updatedIds) { $pdContractTemplateAttribute = PdContractTemplateAttribute::getTableName(); $pdCodeContractAttribute = PdCodeContractAttribute::getTableName(); $dataSet = PdContractTemplateAttribute::join($pdCodeContractAttribute, "{$pdContractTemplateAttribute}.ATTRIBUTE", '=', "{$pdCodeContractAttribute}.ID")->whereIn("{$pdContractTemplateAttribute}.ID", $updatedIds)->where("{$pdContractTemplateAttribute}.ACTIVE", '=', 1)->select("{$pdContractTemplateAttribute}.ID as DT_RowId", "{$pdContractTemplateAttribute}.ID", "{$pdContractTemplateAttribute}.ID as {$pdCodeContractAttribute}", "{$pdContractTemplateAttribute}.CONTRACT_TEMPLATE", "{$pdContractTemplateAttribute}.ATTRIBUTE", "{$pdCodeContractAttribute}.NAME", "{$pdCodeContractAttribute}.CODE")->get(); return $dataSet; }
public function getDetailData($id, $postData, $properties) { $templateId = $postData['templateId']; $pdContractData = PdContractData::getTableName(); $pdContractTemplateAttribute = PdContractTemplateAttribute::getTableName(); $pdCodeContractAttribute = PdCodeContractAttribute::getTableName(); $pdContractQtyFormula = PdContractQtyFormula::getTableName(); $contractDataSet = PdContractData::join($pdCodeContractAttribute, "{$pdContractData}.ATTRIBUTE_ID", '=', "{$pdCodeContractAttribute}.ID")->leftJoin($pdContractQtyFormula, "{$pdCodeContractAttribute}.FORMULA_ID", '=', "{$pdContractQtyFormula}.ID")->where("{$pdContractData}.CONTRACT_ID", '=', $id)->select("{$pdContractData}.*", "{$pdContractData}.CONTRACT_ID as CONTRACT_ID_INDEX", "{$pdContractData}.ATTRIBUTE_ID as ATTRIBUTE_ID_INDEX", "{$pdCodeContractAttribute}.ID as DT_RowId", "{$pdCodeContractAttribute}.ID as {$pdContractData}", "{$pdCodeContractAttribute}.NAME as CONTRACT_ID", "{$pdCodeContractAttribute}.CODE as ATTRIBUTE_ID", "{$pdCodeContractAttribute}.ID as ID", "{$pdContractQtyFormula}.NAME as FORMULA")->get(); $selects = ["{$pdCodeContractAttribute}.ID as DT_RowId", "{$pdCodeContractAttribute}.ID as {$pdContractData}", "{$pdCodeContractAttribute}.NAME as CONTRACT_ID", "{$pdCodeContractAttribute}.CODE as ATTRIBUTE_ID", "{$pdCodeContractAttribute}.ID", "{$pdCodeContractAttribute}.FORMULA_ID as FORMULA", "{$pdCodeContractAttribute}.ID as ATTRIBUTE_ID_INDEX", "{$pdContractQtyFormula}.NAME as FORMULA", \DB::raw("{$id} as CONTRACT_ID_INDEX")]; foreach ($properties as $property) { $columnName = $property['data']; if ($columnName != 'CONTRACT_ID' && $columnName != 'ATTRIBUTE_ID' && $columnName != 'ID') { $selects[] = \DB::raw("null as {$columnName}"); } } $templateQuery = PdContractTemplateAttribute::join($pdCodeContractAttribute, "{$pdContractTemplateAttribute}.ATTRIBUTE", '=', "{$pdCodeContractAttribute}.ID")->leftJoin($pdContractQtyFormula, "{$pdCodeContractAttribute}.FORMULA_ID", '=', "{$pdContractQtyFormula}.ID")->where("{$pdContractTemplateAttribute}.CONTRACT_TEMPLATE", '=', $templateId)->where("{$pdContractTemplateAttribute}.ACTIVE", '=', 1)->select($selects); // ->get(); $existAttributes = $contractDataSet->pluck('DT_RowId'); if (count($existAttributes) > 0) { $templateQuery->whereNotIn("{$pdCodeContractAttribute}.ID", $existAttributes); } $templateDataSet = $templateQuery->get(); $dataSet = $contractDataSet->merge($templateDataSet); return $dataSet; }
public function getDetailData($id, $postData, $properties) { $pdContractTemplateAttribute = PdContractTemplateAttribute::getTableName(); $pdCodeContractAttribute = PdCodeContractAttribute::getTableName(); $dataSet = PdContractTemplateAttribute::join($pdCodeContractAttribute, "{$pdContractTemplateAttribute}.ATTRIBUTE", '=', "{$pdCodeContractAttribute}.ID")->where("{$pdContractTemplateAttribute}.CONTRACT_TEMPLATE", '=', $id)->where("{$pdContractTemplateAttribute}.ACTIVE", '=', 1)->select("{$pdContractTemplateAttribute}.ID as DT_RowId", "{$pdContractTemplateAttribute}.ID", "{$pdContractTemplateAttribute}.ID as {$pdCodeContractAttribute}", "{$pdContractTemplateAttribute}.CONTRACT_TEMPLATE", "{$pdContractTemplateAttribute}.ATTRIBUTE", "{$pdCodeContractAttribute}.NAME", "{$pdCodeContractAttribute}.CODE")->get(); return $dataSet; }