Esempio n. 1
0
 /**
  * Static Qcodo Query method to query for an array of Receipt 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 Receipt[] the queried objects as an array
  */
 public static function QueryArray(QQCondition $objConditions, $objOptionalClauses = null, $mixParameterArray = null)
 {
     // Get the Query Statement
     try {
         $strQuery = Receipt::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 Receipt::InstantiateDbResult($objDbResult, $objQueryBuilder->ExpandAsArrayNodes);
 }
Esempio n. 2
0
    /**
     * Load an array of Receipt objects
     * by Company, Contact, Receipt Number, Asset Code, InventoryModelCode, or Status
     * using the receipt_custom_field_helper table
     *
     * @param string $strFromCompany
     * @param string $strFromContact
     * @param string $strReceiptNumber
     * @param string $strAssetCode
     * @param string $strInventoryModelCode
     * @param int $intStatus
     * @param string $strNote
     * @param string $strDateModified
     * @param string $strDateModifiedFirst
     * @param string $strDateModifiedLast
     * @param string $strOrderBy
     * @param string $strLimit
     * @param array $objExpansionMap map of referenced columns to be immediately expanded via early-binding
     * @return Receipt[]
     */
    public static function LoadArrayBySearchHelper($strFromCompany = null, $strFromContact = null, $strReceiptNumber = null, $strAssetCode = null, $strInventoryModelCode = null, $intStatus = null, $strNote = null, $strDueDate = null, $strReceiptDate = null, $arrCustomFields = null, $strDateModified = null, $strDateModifiedFirst = null, $strDateModifiedLast = null, $blnAttachment = null, $strOrderBy = null, $strLimit = null, $objExpansionMap = null)
    {
        Receipt::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
        // Setup QueryExpansion
        $objQueryExpansion = new QQueryExpansion();
        if ($objExpansionMap) {
            try {
                Receipt::ExpandQuery('receipt', null, $objExpansionMap, $objQueryExpansion);
            } catch (QCallerException $objExc) {
                $objExc->IncrementOffset();
                throw $objExc;
            }
        }
        $arrSearchSql = Receipt::GenerateSearchSql($strFromCompany, $strFromContact, $strReceiptNumber, $strAssetCode, $strInventoryModelCode, $intStatus, $strNote, $strDueDate, $strReceiptDate, $arrCustomFields, $strDateModified, $strDateModifiedFirst, $strDateModifiedLast, $blnAttachment);
        $arrAttachmentSql = Attachment::GenerateSql(EntityQtype::Receipt);
        $arrCustomFieldSql = CustomField::GenerateHelperSql(EntityQtype::Receipt);
        $strQuery = sprintf('
				SELECT
					%s
					DISTINCT
					`receipt`.`receipt_id` AS `receipt_id`,
					`receipt`.`transaction_id` AS `transaction_id`,
					`receipt`.`from_company_id` AS `from_company_id`,
					`receipt`.`from_contact_id` AS `from_contact_id`,
					`receipt`.`to_contact_id` AS `to_contact_id`,
					`receipt`.`to_address_id` AS `to_address_id`,
					`receipt`.`receipt_number` AS `receipt_number`,
					`receipt`.`due_date` AS `due_date`,
					`receipt`.`receipt_date` AS `receipt_date`,
					`receipt`.`received_flag` AS `received_flag`,
					`receipt`.`created_by` AS `created_by`,
					`receipt`.`creation_date` AS `creation_date`,
					`receipt`.`modified_by` AS `modified_by`,
					`receipt`.`modified_date` AS `modified_date`
					%s
					%s
					%s
				FROM
					`receipt` AS `receipt`
					%s
					%s
					%s
					%s
					%s
				WHERE
				1=1
				%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['strAssetCodeFromSql'], $arrSearchSql['strInventoryModelCodeFromSql'], $arrSearchSql['strFromCompanySql'], $arrSearchSql['strFromContactSql'], $arrSearchSql['strReceiptNumberSql'], $arrSearchSql['strAssetCodeSql'], $arrSearchSql['strInventoryModelCodeSql'], $arrSearchSql['strStatusSql'], $arrSearchSql['strNoteSql'], $arrSearchSql['strDueDateSql'], $arrSearchSql['strReceiptDateSql'], $arrSearchSql['strCustomFieldsSql'], $arrSearchSql['strDateModifiedSql'], $arrSearchSql['strAttachmentSql'], $arrSearchSql['strAuthorizationSql'], $arrAttachmentSql['strGroupBy'], $strOrderBy, $strLimitSuffix);
        //echo($strQuery); exit;
        $objDbResult = $objDatabase->Query($strQuery);
        return Receipt::InstantiateDbResult($objDbResult);
    }
            $objArray = Category::InstantiateDbResult($objDbResult);
            break;
        case 7:
            $objArray = Company::InstantiateDbResult($objDbResult);
            break;
        case 8:
            $objArray = Contact::InstantiateDbResult($objDbResult);
            break;
        case 9:
            $objArray = Address::InstantiateDbResult($objDbResult);
            break;
        case 10:
            $objArray = Shipment::InstantiateDbResult($objDbResult);
            break;
        case 11:
            $objArray = Receipt::InstantiateDbResult($objDbResult);
            break;
    }
    if ($objArray) {
        foreach ($objArray as $obj) {
            $strInsertAssetSql = '';
            if ($objEntityQtypeCustomFieldArray) {
                foreach ($objEntityQtypeCustomFieldArray as $objEntityQtypeCustomField) {
                    $strInsertAssetSql .= ", '" . addslashes($obj->GetVirtualAttribute($objEntityQtypeCustomField->CustomFieldId)) . "'";
                }
            }
            $strQuery = sprintf('INSERT INTO %s (%s_id %s) VALUES (%s %s);', $strHelperTable, $strTableName, $arrCustomFieldSql['strInsertColumnHeader'], $obj->{$strObjectId}, $strInsertAssetSql);
            echo $strQuery . "<br />";
        }
    }
}
Esempio n. 4
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 intReceiptId
  * @return Receipt[]
  */
 public static function GetJournalForId($intReceiptId)
 {
     $objDatabase = Receipt::GetDatabase()->JournalingDatabase;
     $objResult = $objDatabase->Query('SELECT * FROM receipt WHERE receipt_id = ' . $objDatabase->SqlVariable($intReceiptId) . ' ORDER BY __sys_date');
     return Receipt::InstantiateDbResult($objResult);
 }