示例#1
0
 public function load()
 {
     $this->initErrorMessages();
     $this->initSuccessMessages();
     $partnerId = intval(NGS()->args()->id);
     $partner = PartnerManager::getInstance()->selectbyPK($partnerId);
     if ($partner) {
         $this->addParam('currencies', CurrencyManager::getInstance()->selectAdvance('*', ['active', '=', 1], null, null, null, null, true));
         $this->addParam('partner', $partner);
         $partnerSaleOrders = SaleOrderManager::mapDtosById(SaleOrderManager::getInstance()->getPartnerSaleOrders($partnerId));
         $partnerPurchaseOrders = PurchaseOrderManager::mapDtosById(PurchaseOrderManager::getInstance()->getPartnerPurchaseOrders($partnerId));
         $partnerPaymentTransactions = PaymentTransactionManager::mapDtosById(PaymentTransactionManager::getInstance()->getPartnerPaymentTransactions($partnerId));
         $partnerBillingTransactions = PaymentTransactionManager::mapDtosById(PaymentTransactionManager::getInstance()->getPartnerBillingTransactions($partnerId));
         $sales = $this->mapByIdAndGivenField('sale_', 'order_date', $partnerSaleOrders);
         $purchases = $this->mapByIdAndGivenField('purchase_', 'order_date', $partnerPurchaseOrders);
         $paments = $this->mapByIdAndGivenField('payment_', 'date', $partnerPaymentTransactions);
         $billings = $this->mapByIdAndGivenField('billing_', 'date', $partnerBillingTransactions);
         $allDeals = $this->mergeAllDeals($sales, $purchases, $paments, $billings, $partnerSaleOrders, $partnerPurchaseOrders, $partnerPaymentTransactions, $partnerBillingTransactions);
         $this->addParam('allDeals', $allDeals);
         $this->addParam('partnerSaleOrders', $partnerSaleOrders);
         $this->addParam('partnerPurchaseOrders', $partnerPurchaseOrders);
         $this->addParam('partnerPaymentTransactions', $partnerPaymentTransactions);
         $this->addParam('partnerBillingTransactions', $partnerBillingTransactions);
     }
 }
示例#2
0
 private function getPurchaseOrdersDatesMappedBySN($pol_searial_numbers)
 {
     $snMappedByPolIds = [];
     foreach ($pol_searial_numbers as $pol_searial_number) {
         $snMappedByPolIds[$pol_searial_number->getLineId()][] = $pol_searial_number->getSerialNumber();
     }
     $polDtos = PurchaseOrderLineManager::getInstance()->selectByPKs(array_keys($snMappedByPolIds));
     $poIdsMappedByPolId = $this->getPoIdsMappedByPolIds($polDtos);
     $poDtos = PurchaseOrderManager::getInstance()->getPurchaseOrdersFull($where = ['id', 'in', '(' . implode(',', array_unique(array_values($poIdsMappedByPolId))), ')']);
     $poDtosMappedByID = SaleOrderManager::mapDtosById($poDtos);
     $ret = [];
     foreach ($poIdsMappedByPolId as $polId => $poId) {
         foreach ($snMappedByPolIds[$polId] as $sn) {
             if (isset($poDtosMappedByID[$poId])) {
                 $ret[$sn] = [$poDtosMappedByID[$poId]->getOrderDate(), $poDtosMappedByID[$poId]->getPartnerDto()->getName()];
             }
         }
     }
     return $ret;
 }