public function uploadReceiveConsignments() { $params = $this->form_values; $wh_id = $params['wh_id']; $rec_id = $params['rec_id']; $batch_no = $params['batch_no']; $qty = str_replace(",", "", $params['qty']); $voucher = $params['voucher']; $consignments_location = $this->_em->getRepository("PipelineConsignmentsPlacements")->findBy(array("pipelineConsignment" => $rec_id)); if (count($consignments_location) > 0) { foreach ($consignments_location as $cl) { $location_id[] = $cl->getPlacementLocation()->getPkId(); } } $str_qry = $this->_em->createQueryBuilder()->select("pc.masterId")->from("PipelineConsignments", "pc")->where("pc.voucherNumber = '" . $voucher . "'")->andWhere("pc.masterId > 0")->andWhere("pc.toWarehouse = " . $wh_id); $stock_master_id = $str_qry->getQuery()->getResult(); if (count($stock_master_id) > 0) { $master_id = $stock_master_id[0]['masterId']; } else { $master_id = 0; } $pipeline_consignments = $this->_em->getRepository("PipelineConsignments")->find($rec_id); /** * Record must exists */ if (count($pipeline_consignments) == 0) { $result_msg = array("message" => "Selected record id {$rec_id} does not exist in pipeline consignments. Please update your data."); App_FileLogger::info($result_msg['message']); return $result_msg; } /** * Check if we need to create new voucher or add detail entry in existing voucher * If 0 then New Voucher * If greater then 0 then Add in Existing voucher */ if ($master_id == 0) { $tr_date = date("d/m/Y"); $obj_master = new Model_StockMaster(); $trans = $obj_master->getTransactionNumber(1, $tr_date, $wh_id); $stock_master = new StockMaster(); $stock_master->setTransactionDate(new DateTime()); $stock_master->setTransactionNumber($trans['trans_no']); $stock_master->setTransactionCounter($trans['id']); $stock_master->setTransactionReference($pipeline_consignments->getReferenceNumber()); $stock_master->setDraft(0); $stock_master->setComments($pipeline_consignments->getDescription()); $type = $this->_em->getRepository("TransactionTypes")->find(1); $stock_master->setTransactionType($type); $stock_master->setFromWarehouse($pipeline_consignments->getFromWarehouse()); $stock_master->setToWarehouse($pipeline_consignments->getToWarehouse()); $stock_master->setParentId(0); $stock_master->setStakeholderActivity($pipeline_consignments->getStakeholderActivity()); $stock_master->setCreatedBy($pipeline_consignments->getCreatedBy()); $stock_master->setCreatedDate(new DateTime(date("Y-m-d H:i:s"))); $this->_em->persist($stock_master); $this->_em->flush(); $master_id = $stock_master->getPkId(); } $array = array("item_id" => $pipeline_consignments->getItemPackSize()->getPkId(), "number" => $batch_no, "wh_id" => $pipeline_consignments->getToWarehouse()->getPkId()); $batch_id = $this->checkBatch($array); /** * Check if Batch exists or not * If 0 then create new batch * If greater then 0 then add quantity in existing batch */ if ($batch_id === 0) { $stock_batch = new StockBatch(); $stock_batch->setNumber(strtoupper($batch_no)); $stock_batch->setExpiryDate($pipeline_consignments->getExpiryDate()); $stock_batch->setQuantity($qty); $stock_batch->setStatus('Stacked'); $stock_batch->setUnitPrice(0); $stock_batch->setProductionDate($pipeline_consignments->getProductionDate()); $stock_batch->setLastUpdate(new DateTime(date("Y-m-d"))); $stock_batch->setItemPackSize($pipeline_consignments->getItemPackSize()); $vvm_type = $this->_em->getRepository("VvmTypes")->find(2); $stock_batch->setVvmType($vvm_type); $stock_batch->setWarehouse($pipeline_consignments->getToWarehouse()); $stock_batch->setStakeholderItemPackSize($pipeline_consignments->getManufacturer()); $this->_em->persist($stock_batch); $this->_em->flush(); $batch_id = $stock_batch->getPkId(); } /* * Add Entry in stock detail against selected master voucher */ $stock_detail = new StockDetail(); $stock_detail->setQuantity($qty); $stock_detail->setTemporary(0); $vvms = $this->_em->getRepository("VvmStages")->find(1); $stock_detail->setVvmStage($vvms); $stock_detail->setIsReceived(1); $stock_detail->setAdjustmentType(1); $stock_master = $this->_em->getRepository("StockMaster")->find($master_id); $stock_detail->setStockMaster($stock_master); $stock_batch = $this->_em->getRepository("StockBatch")->find($batch_id); $stock_detail->setStockBatch($stock_batch); $stock_detail->setItemUnit($pipeline_consignments->getItemPackSize()->getItemUnit()); $this->_em->persist($stock_detail); $this->_em->flush(); if (count($location_id) > 0) { foreach ($location_id as $plac_id) { $plac_loc_id = $this->_em->getRepository("PlacementLocations")->find($plac_id); /* * Add entry in Placement table */ $placements = new Placements(); $placements->setQuantity($qty); $vvms = $this->_em->getRepository("VvmStages")->find(1); $placements->setVvmStage($vvms); $placements->setIsPlaced(1); $placements->setPlacementLocation($plac_loc_id); $placements->setStockBatch($stock_batch); $placements->setStockDetail($stock_detail); $trans_type = $this->_em->getRepository("ListDetail")->find(Model_ListDetail::STOCK_PLACEMENT); $placements->setPlacementTransactionType($trans_type); $placements->setCreatedBy($pipeline_consignments->getCreatedBy()); $placements->setCreatedDate(new DateTime(date("Y-m-d H:i:s"))); $this->_em->persist($placements); $this->_em->flush(); } } /* * Update Received Qty in Future Arrivals table */ //$update_qty = $pipeline_consignments->getReceivedQuantity() + $qty; //if ($update_qty <= $pipeline_consignments->getQuantity()) { $pipeline_consignments->setReceivedQuantity($qty); $pipeline_consignments->setMasterId($master_id); $this->_em->persist($pipeline_consignments); $this->_em->flush(); //} /* * Adjust Batch Quantity By Warehouse */ $this->adjustQuantityByWarehouse($batch_id, $pipeline_consignments->getToWarehouse()->getPkId()); /* * Adjust Warehouse data for selected month and item */ $warehouse_data = new Model_WarehousesData(); $warehouse_data->form_values = array('report_month' => date("m"), 'report_year' => date("Y"), 'item_id' => $pipeline_consignments->getItemPackSize()->getPkId(), 'warehouse_id' => $pipeline_consignments->getToWarehouse()->getPkId(), 'created_by' => $pipeline_consignments->getCreatedBy()->getPkId()); $warehouse_data->adjustStockReport(); $stock_master = $this->_em->getRepository("StockMaster")->find($master_id); return "V" . base64_encode($stock_master->getTransactionNumber() . "|" . $stock_master->getPkId()); }
public function addStockMasterTemp($array) { // App_Controller_Functions::pr($array); $to_warehouse_id = $array['hdn_receive_warehouse_id']; $from_warehouse_id = $this->_identity->getWarehouseId(); $transaction_date = App_Controller_Functions::dateToDbFormat($array['transaction_date']); $str_qry = "SELECT stock_master.pk_id\n FROM\n stock_master\n where\n stock_master.to_warehouse_id='{$to_warehouse_id}'\n and stock_master.from_warehouse_id = '{$from_warehouse_id}'\n and stock_master.draft=1 and stock_master.transaction_type_id = 2 AND DATE_FORMAT(\n stock_master.transaction_date,\n '%Y-%m-%d'\n ) = '{$transaction_date}' "; $this->_em = Zend_Registry::get('doctrine'); $row = $this->_em->getConnection()->prepare($str_qry); $row->execute(); $result = $row->fetchAll(); $stock_master_id = $result[0]['pk_id']; $detail = $this->_em->getRepository("StockDetail")->findBy(array("stockMaster" => $stock_master_id)); if (count($detail) > 0) { $master = $detail[0]->getStockMaster(); foreach ($detail as $row) { $this->_em->remove($row); } $this->_em->remove($master); $this->_em->flush(); } $stock_master = new StockMaster(); $type = $array['transaction_type_id']; $time_arr = explode(' ', $array['transaction_date']); $time = date('H:i:s', strtotime($time_arr[1] . $time_arr[2])); $stock_master->setTransactionDate(new \DateTime(App_Controller_Functions::dateToDbFormat($time_arr[0]) . '' . $time)); $tran_type = $this->_em->getRepository('TransactionTypes')->find($type); $stock_master->setTransactionType($tran_type); $stock_master->setTransactionReference($array['transaction_reference']); $created_by = $this->_em->getRepository('Users')->find($this->_user_id); $stock_master->setCreatedBy($created_by); $stock_master->setModifiedBy($created_by); $stock_master->setParentId(0); $stock_master->setCreatedDate(App_Tools_Time::now()); $stock_master->setModifiedDate(App_Tools_Time::now()); $activity_id = $this->_em->getRepository('StakeholderActivities')->find($array['hdn_activity_id']); $stock_master->setStakeholderActivity($activity_id); if (!empty($array['campaign_id'])) { $stock_master->setCampaignId($array['campaign_id']); } if (!empty($array['dispatch_by'])) { $stock_master->setDispatchBy($array['dispatch_by']); } //$trans = $this->getTransactionNumber($type, $array['transaction_date']); if ($type == 1) { $from_warehouse_id = $this->_em->getRepository('Warehouses')->find($array['from_warehouse_id']); $stock_master->setFromWarehouse($from_warehouse_id); $to_warehouse_id = $this->_em->getRepository('Warehouses')->find($this->_identity->getWarehouseId()); $stock_master->setToWarehouse($to_warehouse_id); } else { if ($type == 2) { $from_warehouse_id = $this->_em->getRepository('Warehouses')->find($this->_identity->getWarehouseId()); $stock_master->setFromWarehouse($from_warehouse_id); $to_warehouse_id = $this->_em->getRepository('Warehouses')->find($array['hdn_receive_warehouse_id']); $stock_master->setToWarehouse($to_warehouse_id); } } $stock_master->setComments($array['comments']); $stock_master->setTransactionNumber('TEMP'); $stock_master->setDraft(1); $this->_em->persist($stock_master); $this->_em->flush(); $id = $stock_master->getPkId(); //echo $id; //exit; return $id; }
public function setComments($comments) { $this->__load(); return parent::setComments($comments); }
public function addStockMasterTemp($array) { // App_Controller_Functions::pr($array); $to_warehouse_id = $array['hdn_receive_warehouse_id']; $from_warehouse_id = $this->_identity->getWarehouseId(); $str_qry_del = "DELETE stock_detail.*,stock_master.*\n FROM\n stock_detail,stock_master\n where\n stock_master.pk_id = stock_detail.stock_master_id\n and stock_master.to_warehouse_id='{$to_warehouse_id}'\n and stock_master.from_warehouse_id = '{$from_warehouse_id}'\n and stock_master.draft=1 and stock_master.transaction_type_id = 2"; $this->_em = Zend_Registry::get('doctrine'); $row = $row = $this->_em->getConnection()->prepare($str_qry_del); $row->execute(); if (!empty($array['hdn_stock_master_id'])) { $hdn_stock_master_id = $array['hdn_stock_master_id']; $str_qry_del = "DELETE stock_detail.*\n FROM\n stock_detail,stock_master\n where\n stock_master.pk_id = stock_detail.stock_master_id\n and stock_master.pk_id='{$hdn_stock_master_id}' "; $this->_em = Zend_Registry::get('doctrine'); $row = $row = $this->_em->getConnection()->prepare($str_qry_del); $row->execute(); $stock_master = $this->_em->getRepository("StockMaster")->find($array['hdn_stock_master_id']); } else { $stock_master = new StockMaster(); } $type = $array['transaction_type_id']; $time_arr = explode(' ', $array['transaction_date']); $time = date('H:i:s', strtotime($time_arr[1] . $time_arr[2])); $stock_master->setTransactionDate(new \DateTime(App_Controller_Functions::dateToDbFormat($time_arr[0]) . '' . $time)); $tran_type = $this->_em->getRepository('TransactionTypes')->find($type); $stock_master->setTransactionType($tran_type); $stock_master->setTransactionReference($array['transaction_reference']); $created_by = $this->_em->getRepository('Users')->find($this->_user_id); $stock_master->setCreatedBy($created_by); $stock_master->setParentId(0); $stock_master->setCreatedDate(new \DateTime(date("Y-m-d"))); $activity_id = $this->_em->getRepository('StakeholderActivities')->find($array['hdn_activity_id']); $stock_master->setStakeholderActivity($activity_id); if (!empty($array['campaign_id'])) { $stock_master->setCampaignId($array['campaign_id']); } if (!empty($array['dispatch_by'])) { $stock_master->setDispatchBy($array['dispatch_by']); } //$trans = $this->getTransactionNumber($type, $array['transaction_date']); if ($type == 1) { $from_warehouse_id = $this->_em->getRepository('Warehouses')->find($array['from_warehouse_id']); $stock_master->setFromWarehouse($from_warehouse_id); $to_warehouse_id = $this->_em->getRepository('Warehouses')->find($this->_identity->getWarehouseId()); $stock_master->setToWarehouse($to_warehouse_id); } else { if ($type == 2) { $from_warehouse_id = $this->_em->getRepository('Warehouses')->find($this->_identity->getWarehouseId()); $stock_master->setFromWarehouse($from_warehouse_id); $to_warehouse_id = $this->_em->getRepository('Warehouses')->find($array['hdn_receive_warehouse_id']); $stock_master->setToWarehouse($to_warehouse_id); } } $stock_master->setComments($array['comments']); $stock_master->setTransactionNumber('TEMP'); $stock_master->setDraft(1); $this->_em->persist($stock_master); $this->_em->flush(); $id = $stock_master->getPkId(); return $id; }