/** * * @param CondensedProgrammedPaymentCollection $condensedPayments * @param PurchaseOrderProgrammedPaymentCollection $purchaseOrderProgrammedPayments * @param ProformaInvoiceProgrammedPaymentCollection $proformaInvoiceProgrammedPayments * @return CondensedProgrammedPaymentCollection */ private function generateMissingPurchaseOrderProgrammedPayments(CondensedProgrammedPaymentCollection $condensedPayments, PurchaseOrderProgrammedPaymentCollection $purchaseOrderProgrammedPayments, ProformaInvoiceProgrammedPaymentCollection $proformaInvoiceProgrammedPayments) { $purchaseOrders = $this->getPurchaseOrderCollection(); $purchaseOrderPaymentTerms = PurchaseOrderPaymentTermQuery::create()->whereAdd(PurchaseOrderPaymentTerm::ID_PURCHASE_ORDER_PAYMENT_TERM, $purchaseOrderProgrammedPayments->getPurchaseOrderPaymentTermIds(), ProformaInvoicePaymentTermQuery::NOT_IN)->whereAdd(PurchaseOrderPaymentTerm::ID_PROFORMA_INVOICE_PAYMENT_TERM, $proformaInvoiceProgrammedPayments->getProformaInvoicePaymentTermIds(), ProformaInvoicePaymentTermQuery::NOT_IN)->whereAdd(PurchaseOrderPaymentTerm::ID_PURCHASE_ORDER, $purchaseOrders->getPrimaryKeys())->actives()->find(); $proformaInvoicePaymentTerms = ProformaInvoicePaymentTermQuery::create()->find(); $purchaseOrderMissingProgrammedPaymentCollection = new PurchaseOrderProgrammedPaymentCollection(); $i = 0; while ($purchaseOrderPaymentTerm = $purchaseOrderPaymentTerms->read()) { $purchaseOrder = $purchaseOrders->getByPK($purchaseOrderPaymentTerm->getIdPurchaseOrder()); $programmedPayment = ProgrammedPaymentFactory::createFromArray(array('id_programmed_payment' => 'VPP' . $purchaseOrderPaymentTerm->getIdPurchaseOrderPaymentTerm(), 'id_currency' => $purchaseOrderPaymentTerm->getCurrency(), 'id_company' => $purchaseOrder->getIdSupplier(), 'type' => ProgrammedPayment::$TypePayment['PurchaseOrder'], 'ammount' => $purchaseOrderPaymentTerm->getAmount(), 'folio' => 'Not Available', 'due_date' => 'Not Available', 'status' => ProgrammedPayment::$TypeStatus['Virtual'])); $this->getVirtualProgrammedPaymentCollection()->append($programmedPayment); $purchaseOrderMissingProgrammedPayment = PurchaseOrderProgrammedPaymentFactory::createFromArray(array('id_purchase_order_programmed_payment' => 'VPOPP' . $purchaseOrderPaymentTerm->getIdPurchaseOrderPaymentTerm(), 'id_proforma_invoice_payment_term' => $purchaseOrderPaymentTerm->getIdProformaInvoicePaymentTerm(), 'id_purchase_order_payment_term' => $purchaseOrderPaymentTerm->getIdPurchaseOrderPaymentTerm(), 'id_programmed_payment' => $programmedPayment->getIdProgrammedPayment(), 'pieces' => $purchaseOrderPaymentTerm->getPieces(), 'id_purchase_order' => $purchaseOrderPaymentTerm->getIdPurchaseOrder(), 'line' => $purchaseOrderPaymentTerm->getLine()) + $programmedPayment->toArray()); // $proformaInvoiceMissingProgrammedPayment->setIdProgrammedPayment($programmedPayment->getIdProgrammedPayment()); $purchaseOrderMissingProgrammedPaymentCollection->append($purchaseOrderMissingProgrammedPayment); $i++; } // print_r($this->condensePurchasePayments($purchaseOrderMissingProgrammedPaymentCollection, $proformaInvoicePaymentTerms));die; $condensedPayments = $condensedPayments->merge($this->condensePurchasePayments($purchaseOrderMissingProgrammedPaymentCollection, $proformaInvoicePaymentTerms)); return $condensedPayments; }
/** * * makeBean * @param array $resultset * @return \Application\Model\Bean\ProgrammedPayment */ protected function makeBean($resultset) { return ProgrammedPaymentFactory::createFromArray($resultset); }