public function setStatus($status)
 {
     $this->__load();
     return parent::setStatus($status);
 }
Exemplo n.º 2
0
 public function createBatch($array)
 {
     $batchid = $this->checkBatch($array);
     if ($batchid === 0) {
         $wh_id = $this->_identity->getWarehouseId();
         $stock_batch = new StockBatch();
         $stock_batch->setNumber(strtoupper($array['number']));
         $stock_batch->setExpiryDate(new \DateTime(App_Controller_Functions::dateToDbFormat($array['expiry_date'])));
         $item_id = $this->_em->getRepository('ItemPackSizes')->find($array['item_id']);
         $stock_batch->setItemPackSize($item_id);
         $stock_batch->setQuantity(str_replace(",", "", $array['quantity']));
         $stock_batch->setStatus(self::STACKED);
         if (!empty($array['production_date'])) {
             $stock_batch->setProductionDate(new \DateTime(App_Controller_Functions::dateToDbFormat($array['production_date'])));
         }
         if (!empty($array['vvm_type_id'])) {
             $vvm_type_id = $this->_em->getRepository('VvmTypes')->find($array['vvm_type_id']);
             $stock_batch->setVvmType($vvm_type_id);
         }
         $stock_batch->setUnitPrice($array['unit_price']);
         $warehouse_id = $this->_em->getRepository('Warehouses')->find($wh_id);
         $stock_batch->setWarehouse($warehouse_id);
         if (!empty($array['manufacturer_id'])) {
             $stakeholder_item_pack_size = $this->_em->getRepository('StakeholderItemPackSizes')->find($array['manufacturer_id']);
             if ($stakeholder_item_pack_size->getItemPackSize()->getPkId() == $array['item_id']) {
                 $stock_batch->setStakeholderItemPackSize($stakeholder_item_pack_size);
             } else {
                 $check_sips = $this->_em->getRepository('StakeholderItemPackSizes')->findOneBy(array("stakeholder" => $stakeholder_item_pack_size->getStakeholder()->getPkId(), "itemPackSize" => $array['item_id']));
                 if (count($check_sips) > 0) {
                     $stock_batch->setStakeholderItemPackSize($check_sips);
                 } else {
                     $add_sips = new StakeholderItemPackSizes();
                     $add_sips->setQuantityPerPack($stakeholder_item_pack_size->getQuantityPerPack());
                     $add_sips->setStatus($stakeholder_item_pack_size->getStatus());
                     $add_sips->setListRank($stakeholder_item_pack_size->getListRank());
                     $add_sips->setVolumPerVial($stakeholder_item_pack_size->getVolumPerVial());
                     $add_sips->setGtin($stakeholder_item_pack_size->getGtin());
                     $add_sips->setItemGtin($stakeholder_item_pack_size->getItemGtin());
                     $add_sips->setPackagingLevel($stakeholder_item_pack_size->getPackagingLevel());
                     $add_sips->setStakeholder($stakeholder_item_pack_size->getStakeholder());
                     $add_sips->setItemPackSize($item_id);
                     $this->_em->persist($add_sips);
                     $this->_em->flush();
                     $stock_batch->setStakeholderItemPackSize($add_sips);
                 }
             }
         }
         $this->_em->persist($stock_batch);
         $this->_em->flush();
         $batchid = $stock_batch->getPkId();
         if ($wh_id == Model_Warehouses::FEDERAL_WHID) {
             $stock_batch->setBatchMasterId($batchid);
             $this->_em->persist($stock_batch);
             $this->_em->flush();
         }
         if ($batchid) {
             return $batchid;
         } else {
             return false;
         }
     } else {
         return $batchid;
     }
 }