Beispiel #1
0
 public static function LoadChildLinkedArrayByParentAssetIdWithNoCustomFields($intParentAssetId)
 {
     $objLinkedAssetArray = array();
     Asset::QueryHelper($objDatabase);
     $arrCustomFieldSql = CustomField::GenerateHelperSql(EntityQtype::Asset);
     // Setup the SQL Query
     $strQuery = sprintf("\n\t\t\t\tSELECT\n\t\t\t\t\t`asset`.*\n\t\t\t\tFROM\n\t\t\t\t\t`asset`\n\t\t\t\tWHERE `asset`.`parent_asset_id` = %s\n\t\t\t\tAND `asset`.`linked_flag` = 1\n\t\t\t", $intParentAssetId);
     // Perform the Query and Instantiate the Result
     $objDbResult = $objDatabase->Query($strQuery);
     $objChildAssetArray = Asset::InstantiateDbResult($objDbResult);
     if ($objChildAssetArray && count($objChildAssetArray)) {
         foreach ($objChildAssetArray as $objLinkedAsset) {
             $objLinkedAssetArray[] = $objLinkedAsset;
             $objNewLinkedAssetArray = Asset::LoadChildLinkedArrayByParentAssetIdWithNoCustomFields($objLinkedAsset->AssetId);
             if ($objNewLinkedAssetArray) {
                 foreach ($objNewLinkedAssetArray as $objLinkedAsset2) {
                     $objLinkedAssetArray[] = $objLinkedAsset2;
                 }
             }
         }
         return $objLinkedAssetArray;
     } else {
         return false;
     }
 }
Beispiel #2
0
 /**
  * Static Qcodo Query method to query for an array of Asset objects.
  * Uses BuildQueryStatment to perform most of the work.
  * @param QQCondition $objConditions any conditions on the query, itself
  * @param QQClause[] $objOptionalClausees additional optional QQClause objects for this query
  * @param mixed[] $mixParameterArray a array of name-value pairs to perform PrepareStatement with
  * @return Asset[] the queried objects as an array
  */
 public static function QueryArray(QQCondition $objConditions, $objOptionalClauses = null, $mixParameterArray = null)
 {
     // Get the Query Statement
     try {
         $strQuery = Asset::BuildQueryStatement($objQueryBuilder, $objConditions, $objOptionalClauses, $mixParameterArray, false);
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
     // Perform the Query and Instantiate the Array Result
     $objDbResult = $objQueryBuilder->Database->Query($strQuery);
     return Asset::InstantiateDbResult($objDbResult, $objQueryBuilder->ExpandAsArrayNodes);
 }
Beispiel #3
0
    /**
     * Load an array of Asset objects
     * by search parameters using the helper table
     *
     * @param string $strAssetCode
     * @param int $intLocationId
     * @param int $intAssetModelId
     * @param int $intCategoryId
     * @param int $intManufacturerId
     * @param bool $blnOffsite
     * @param string $strAssetModelCode
     * @param integer $intReservedBy
     * @param integer $intCheckedOutBy
     * @param string $strShortDescription
     * @param array $arrCustomFields
     * @param string $strDateModified
     * @param string $strDateModifiedFirst
     * @param string $strDateModifiedLast
     * @param bool $blnAttachment
     * @param string $strOrderBy
     * @param string $strLimit
     * @param array $objExpansionMap map of referenced columns to be immediately expanded via early-binding
     * @return Asset[]
     */
    public static function LoadArrayBySearchHelper($strAssetCode = null, $intLocationId = null, $intAssetModelId = null, $intCategoryId = null, $intManufacturerId = null, $blnOffsite = false, $strAssetModelCode = null, $intReservedBy = null, $intCheckedOutBy = null, $strShortDescription = null, $arrCustomFields = null, $strDateModified = null, $strModifiedCreated, $strDateModifiedFirst = null, $strDateModifiedLast = null, $blnAttachment = null, $strOrderBy = null, $strLimit = null, $objExpansionMap = null, $blnIncludeTBR = false, $blnIncludeShipped = false, $blnArchived = false, $intCheckedOutToUser = null, $intCheckedOutToContact = null, $blnChekcedOutPastDue = false, $intAssetId = null)
    {
        Asset::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
        // Setup QueryExpansion
        $objQueryExpansion = new QQueryExpansion();
        if ($objExpansionMap) {
            try {
                Asset::ExpandQuery('asset', null, $objExpansionMap, $objQueryExpansion);
            } catch (QCallerException $objExc) {
                $objExc->IncrementOffset();
                throw $objExc;
            }
        }
        $arrSearchSql = Asset::GenerateSearchSql($strAssetCode, $intLocationId, $intAssetModelId, $intCategoryId, $intManufacturerId, $blnOffsite, $strAssetModelCode, $intReservedBy, $intCheckedOutBy, $strShortDescription, $arrCustomFields, $strDateModified, $strModifiedCreated, $strDateModifiedFirst, $strDateModifiedLast, $blnAttachment, $blnIncludeTBR, $blnIncludeShipped, $blnArchived, $intCheckedOutToUser, $intCheckedOutToContact, $blnChekcedOutPastDue, $intAssetId);
        $arrCustomFieldSql = CustomField::GenerateHelperSql(EntityQtype::Asset);
        $arrAttachmentSql = Attachment::GenerateSql(EntityQtype::Asset);
        $strQuery = sprintf('
				SELECT
					%s
					`asset`.`asset_id` AS `asset_id`,
					`asset`.`asset_model_id` AS `asset_model_id`,
					`asset`.`location_id` AS `location_id`,
					`asset`.`asset_code` AS `asset_code`,
					`asset`.`parent_asset_id` AS `parent_asset_id`,
					`asset`.`image_path` AS `image_path`,
					`asset`.`checked_out_flag` AS `checked_out_flag`,
					`asset`.`reserved_flag` AS `reserved_flag`,
					`asset`.`archived_flag` AS `archived_flag`,
					`asset`.`created_by` AS `created_by`,
					`asset`.`creation_date` AS `creation_date`,
					`asset`.`modified_by` AS `modified_by`,
					`asset`.`modified_date` AS `modified_date`
					%s
					%s
					%s
				FROM
					`asset` AS `asset`
					%s
					%s
					%s
				WHERE
				1=1
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
				%s
			', $strLimitPrefix, $objQueryExpansion->GetSelectSql(",\n\t\t\t\t\t", ",\n\t\t\t\t\t"), $arrCustomFieldSql['strSelect'], $arrAttachmentSql['strSelect'], $objQueryExpansion->GetFromSql("", "\n\t\t\t\t\t"), $arrCustomFieldSql['strFrom'], $arrAttachmentSql['strFrom'], $arrSearchSql['strAssetCodeSql'], $arrSearchSql['strLocationSql'], $arrSearchSql['strAssetModelSql'], $arrSearchSql['strCategorySql'], $arrSearchSql['strManufacturerSql'], $arrSearchSql['strOffsiteSql'], $arrSearchSql['strAssetModelCodeSql'], $arrSearchSql['strReservedBySql'], $arrSearchSql['strCheckedOutBySql'], $arrSearchSql['strCheckedOutToUserSql'], $arrSearchSql['strCheckedOutToContactSql'], $arrSearchSql['strCheckedOutPastDueSql'], $arrSearchSql['strAssetIdSql'], $arrSearchSql['strArchivedSql'], $arrSearchSql['strIncludeTBRSql'], $arrSearchSql['strIncludeShippedSql'], $arrSearchSql['strShortDescriptionSql'], $arrSearchSql['strCustomFieldsSql'], $arrSearchSql['strDateModifiedSql'], $arrSearchSql['strAttachmentSql'], $arrSearchSql['strAuthorizationSql'], $arrAttachmentSql['strGroupBy'], $strOrderBy, $strLimitSuffix);
        $objDbResult = $objDatabase->Query($strQuery);
        return Asset::InstantiateDbResult($objDbResult);
    }
    }
    $strQuery = sprintf('
					SELECT
						`%s`.`%s_id` AS `%s_id`
						%s
					FROM
						`%s` AS `%s`
						%s
					WHERE
					1=1
				', $strTableName, $strTableName, $strTableName, $arrCustomFieldSql['strSelect'], $strTableName, $strTableName, $arrCustomFieldSql['strFrom']);
    $objDatabase = QApplication::$Database[1];
    $objDbResult = $objDatabase->Query($strQuery);
    switch ($intEntityQtypeId) {
        case 1:
            $objArray = Asset::InstantiateDbResult($objDbResult);
            break;
        case 2:
            $objArray = InventoryModel::InstantiateDbResult($objDbResult);
            break;
        case 4:
            $objArray = AssetModel::InstantiateDbResult($objDbResult);
            break;
        case 5:
            $objArray = Manufacturer::InstantiateDbResult($objDbResult);
            break;
        case 6:
            $objArray = Category::InstantiateDbResult($objDbResult);
            break;
        case 7:
            $objArray = Company::InstantiateDbResult($objDbResult);
Beispiel #5
0
 /**
  * Gets the historical journal for an object from the log database.
  * Objects will have VirtualAttributes available to lookup login, date, and action information from the journal object.
  * @param integer intAssetId
  * @return Asset[]
  */
 public static function GetJournalForId($intAssetId)
 {
     $objDatabase = Asset::GetDatabase()->JournalingDatabase;
     $objResult = $objDatabase->Query('SELECT * FROM asset WHERE asset_id = ' . $objDatabase->SqlVariable($intAssetId) . ' ORDER BY __sys_date');
     return Asset::InstantiateDbResult($objResult);
 }