/** * @author Okan CIRAN * @ tree doldurmak için sys_machine_tool tablosundan tüm kayıtları döndürür !! * @version v 1.0 19.02.2016 * @param array | null $args * @return array * @throws \PDOException */ public function fillUsersFirmMachineProperties($params = array()) { try { $pdo = $this->slimApp->getServiceManager()->get('pgConnectFactory'); $userId = InfoUsers::getUserId(array('pk' => $params['pk'])); if (\Utill\Dal\Helper::haveRecord($userId)) { $opUserIdValue = $userId['resultSet'][0]['user_id']; $addSql = ""; $firmIdValue = -1; $firmId = InfoUsers::getUserFirmId(array('user_id' => $opUserIdValue)); if (\Utill\Dal\Helper::haveRecord($firmId)) { $firmIdValue = $firmId['resultSet'][0]['firm_id']; } $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']; } } if (isset($params['machine_id'])) { $addSql .= " AND a.sys_machine_tool_id = " . intval($params['machine_id']) . " "; } $sql = " \n SELECT \n smtp.id, \n a.sys_machine_tool_id AS machine_id ,\t\t \n COALESCE(NULLIF(pdx.property_name, ''), pd.property_name_eng) AS property_names,\n pd.property_name_eng,\n smtp.property_value, \n smtp.property_string_value, \n u.id AS unit_id,\n COALESCE(NULLIF(u.unitcode,''), u.unitcode_eng) AS unitcodes,\n CASE COALESCE(NULLIF(a.picture, ''),'-') \n WHEN '-' THEN CONCAT(COALESCE(NULLIF(concat(sps.folder_road,'/'), '/'),''),sps.machines_folder,'/' ,COALESCE(NULLIF(smt.picture, ''),'image_not_found.png'))\n ELSE CONCAT(ifk.folder_name ,'/',ifk.machines_folder,'/' ,COALESCE(NULLIF(a.picture, ''),'image_not_found.png')) END AS picture\n FROM info_firm_machine_tool a\n INNER JOIN sys_project_settings sps ON sps.op_project_id = 1 AND sps.active =0 AND sps.deleted =0 \n INNER JOIN sys_language l ON l.id = a.language_id AND l.deleted =0 AND l.active =0 \t\t\n\t\tLEFT JOIN sys_language lx ON lx.id = " . intval($languageIdValue) . " AND lx.deleted =0 AND lx.active =0\t\t\t\t\n INNER JOIN info_firm_profile ifp ON ifp.act_parent_id = a.firm_id AND ifp.active =0 AND ifp.deleted =0 AND ifp.language_id = l.id AND ifp.language_parent_id =0 \n INNER JOIN info_firm_keys ifk ON ifp.act_parent_id = ifk.firm_id \n INNER JOIN sys_machine_tools smt ON smt.id = a.sys_machine_tool_id AND smt.language_id = l.id AND smt.deleted =0 AND smt.active=0 \n INNER JOIN sys_machine_tool_properties smtp ON smtp.machine_tool_id = a.sys_machine_tool_id AND smtp.language_id = l.id \n INNER JOIN sys_machine_tool_property_definition pd ON pd.id = smtp.machine_tool_property_definition_id AND pd.language_id = l.id AND pd.deleted =0 AND pd.active=0\n LEFT JOIN sys_machine_tool_property_definition pdx ON (pdx.id = pd.id OR pdx.language_parent_id = pd.id) AND pdx.active =0 AND pdx.deleted = 0 AND pdx.language_id = lx.id \n LEFT JOIN sys_units u ON u.id = smtp.unit_id AND u.language_id = l.id AND u.deleted =0 AND u.active=0\n WHERE a.deleted =0 AND \n a.active =0 AND\n a.language_parent_id =0 AND \n a.firm_id = " . intval($firmIdValue) . " \n " . $addSql . "\n ORDER BY a.sys_machine_tool_id \n "; $statement = $pdo->prepare($sql); // echo debugPDO($sql, $params); $statement->execute(); $result = $statement->fetchAll(\PDO::FETCH_ASSOC); $errorInfo = $statement->errorInfo(); if ($errorInfo[0] != "00000" && $errorInfo[1] != NULL && $errorInfo[2] != NULL) { throw new \PDOException($errorInfo[0]); } return array("found" => true, "errorInfo" => $errorInfo, "resultSet" => $result); } else { $errorInfo = '23502'; // 23502 user_id not_null_violation $errorInfoColumn = 'pk'; return array("found" => false, "errorInfo" => $errorInfo, "resultSet" => '', "errorInfoColumn" => $errorInfoColumn); } } catch (\PDOException $e) { return array("found" => false, "errorInfo" => $e->getMessage()); } }