/** * @author Okan CIRAN * @ info_firm_profile tablosuna yeni bir kayıt oluşturur. !! * @version v 1.0 06.01.2016 * @param array | null $args * @return array * @throws \PDOException */ public function insertTemp($params = array()) { try { $pdo = $this->slimApp->getServiceManager()->get('pgConnectFactory'); $pdo->beginTransaction(); $opUserId = InfoUsers::getUserIdTemp(array('pktemp' => $params['pktemp'])); if (\Utill\Dal\Helper::haveRecord($opUserId)) { $opUserIdValue = $opUserId['resultSet'][0]['user_id']; $kontrol = $this->haveRecords($params); if (!\Utill\Dal\Helper::haveRecord($kontrol)) { $operationIdValue = -1; $operationId = SysOperationTypes::getTypeIdToGoOperationId(array('parent_id' => 3, 'main_group' => 3, 'sub_grup_id' => 23, 'type_id' => 1)); if (\Utill\Dal\Helper::haveRecord($operationId)) { $operationIdValue = $operationId['resultSet'][0]['id']; } $ConsultantId = 1001; $getConsultant = SysOsbConsultants::getConsultantIdForTableName(array('table_name' => 'info_firm_profile', 'operation_type_id' => $operationIdValue)); if (\Utill\Dal\Helper::haveRecord($getConsultant)) { $ConsultantId = $getConsultant['resultSet'][0]['consultant_id']; } $foundationYearx = NULL; if (isset($params['foundation_yearx']) && $params['foundation_yearx'] != "") { $foundationYearx = $params['foundation_yearx']; } //to_timestamp(1451599200 ) $languageId = NULL; $languageIdValue = 647; if (isset($params['language_code']) && $params['language_code'] != "") { $languageId = SysLanguage::getLanguageId(array('language_code' => $params['language_code'])); if (\Utill\Dal\Helper::haveRecord($languageId)) { $languageIdValue = $languageId['resultSet'][0]['id']; } } $sql = " \n INSERT INTO info_firm_profile(\n profile_public, \n country_id, \n firm_name, \n web_address, \n tax_office, \n tax_no, \n sgk_sicil_no, \n ownership_status_id, \n language_code, \n language_id,\n op_user_id, \n consultant_id,\n operation_type_id, \n foundation_yearx, \n firm_name_short,\n act_parent_id, \n description,\n description_eng,\n duns_number,\n logo\n )\n VALUES (\n " . intval($params['profile_public']) . ", \n " . intval($params['country_id']) . ",\n :firm_name, \n :web_address, \n :tax_office, \n :tax_no,\n :sgk_sicil_no, \n " . intval($params['ownership_status_id']) . ",\n :language_code, \n " . intval($languageIdValue) . ",\n " . intval($opUserIdValue) . ",\n " . intval($ConsultantId) . ",\n " . intval($operationIdValue) . ",\n " . intval($foundationYearx) . " ,\n :firm_name_short,\n (SELECT last_value FROM info_firm_profile_id_seq),\n :description,\n :description_eng,\n :duns_number,\n :logo\n ) "; $statementInsert = $pdo->prepare($sql); $statementInsert->bindValue(':firm_name', $params['firm_name'], \PDO::PARAM_STR); $statementInsert->bindValue(':web_address', $params['web_address'], \PDO::PARAM_STR); $statementInsert->bindValue(':tax_office', $params['tax_office'], \PDO::PARAM_STR); $statementInsert->bindValue(':tax_no', $params['tax_no'], \PDO::PARAM_STR); $statementInsert->bindValue(':sgk_sicil_no', $params['sgk_sicil_no'], \PDO::PARAM_STR); $statementInsert->bindValue(':language_code', $params['language_code'], \PDO::PARAM_STR); $statementInsert->bindValue(':firm_name_short', $params['firm_name_short'], \PDO::PARAM_STR); $statementInsert->bindValue(':description', $params['description'], \PDO::PARAM_STR); $statementInsert->bindValue(':description_eng', $params['description_eng'], \PDO::PARAM_STR); $statementInsert->bindValue(':duns_number', $params['duns_number'], \PDO::PARAM_STR); $statementInsert->bindValue(':logo', $params['logo'], \PDO::PARAM_STR); // echo debugPDO($sql, $params); $result = $statementInsert->execute(); $insertID = $pdo->lastInsertId('info_firm_profile_id_seq'); $errorInfo = $statementInsert->errorInfo(); if ($errorInfo[0] != "00000" && $errorInfo[1] != NULL && $errorInfo[2] != NULL) { throw new \PDOException($errorInfo[0]); } InfoFirmKeys::insert(array('firm_id' => $insertID, 'country_id' => $params['country_id'])); $this->insertCompanyUser(array('firm_id' => $insertID, 'language_id' => $languageIdValue, 'consultant_id' => $ConsultantId, 'user_id' => $opUserIdValue, 'op_user_id' => $opUserIdValue)); $pdo->commit(); return array("found" => true, "errorInfo" => $errorInfo, "lastInsertId" => $insertID); } else { $errorInfo = '23505'; // 23505 unique_violation $errorInfoColumn = 'firm_name'; $pdo->rollback(); return array("found" => false, "errorInfo" => $errorInfo, "resultSet" => '', "errorInfoColumn" => $errorInfoColumn); } } else { $errorInfo = '23502'; // 23502 not_null_violation $errorInfoColumn = 'pk'; $pdo->rollback(); return array("found" => false, "errorInfo" => $errorInfo, "resultSet" => '', "errorInfoColumn" => $errorInfoColumn); } } catch (\PDOException $e) { $pdo->rollback(); return array("found" => false, "errorInfo" => $e->getMessage()); } }