public function receiveSupplierAction() { if (!empty($this->_request->stock_id)) { $stock_id = $this->_request->stock_id; } else { $stock_id = ""; } $red_type = ''; if (!empty($this->_request->t)) { $red_type = $this->_request->t; } $this->view->type = $red_type; $form_values = array(); $temp = array(); $arr_data = array('transaction_number' => "", 'stock_id' => "", 'transaction_date' => date("d/m/Y"), 'success' => $this->_request->success); $stock_master = new Model_StockMaster(); $stock_batch = new Model_StockBatch(); $stock_detail = new Model_StockDetail(); $warehouse_data = new Model_WarehousesData(); $placement = new Model_Placements(); $form = new Form_ReceiveSupplier(); $form_manufacturer = new Form_AddManufacturer(); $form_values['transaction_type_id'] = 1; $form_values['adjustment_type'] = 1; if (!empty($this->_request->warehouse)) { $warehouse_id = $this->_request->warehouse; } if ($this->_request->isPost()) { $em = Zend_Registry::get('doctrine'); $em->getConnection()->beginTransaction(); try { if (isset($this->_request->stockid) && !empty($this->_request->stockid)) { $master_affacted = $stock_master->updateStockMasterTemp($this->_request->stockid, $this->_request->comments); $detail_affacted = $stock_detail->updateStockDetailTemp($this->_request->stockid); //Save Data in warehouse_data table $warehouse_data->addReport($this->_request->stockid, 1); $this->view->msg = 'Stock has been received successfully. Your voucher number is '; $this->view->voucher = $master_affacted; $this->view->master_id = $this->_request->stockid; $em->getConnection()->commit(); } elseif ($form->isValid($this->_request->getPost())) { $recedit = $this->_request->getPost('rcvedit', ''); if ($recedit == "Yes") { $d_id = $this->_request->getPost('detailid'); $obj_stock_detail = $em->getRepository("StockDetail")->find($d_id); $form_values['stock_master_id'] = $obj_stock_detail->getStockMaster()->getPkId(); $form_values['stock_detail_id'] = $d_id; $form_values['stock_batch_id'] = $obj_stock_detail->getStockBatch()->getPkId(); $form_values['rcvedit'] = "Yes"; } else { $form_values['item_unit_id'] = $this->_request->item_unit_id; $form_values['stock_master_id'] = $stock_id; } $temp = $form->getValues(); $data = array_merge($temp, $form_values); $data['edit_type'] = $red_type; if (empty($this->_request->transaction_number)) { $stock_id = $stock_master->addStockMaster($data); } else { if (!empty($recedit)) { $stock_id = $stock_master->addStockMaster($data); } } $data['stock_master_id'] = $stock_id; $data['type'] = $red_type; $batch_id = $stock_batch->addStockBatch($data); $wh_id = $this->_identity->getWarehouseId(); $query = "SELECT AdjustQty(" . $batch_id . "," . $wh_id . ") FROM DUAL"; $str_sql = $em->getConnection()->prepare($query); $str_sql->execute(); $detail_id = $stock_detail->addStockDetail($data); if ($detail_id) { $stock_batch->autoRunningLEFOBatch($form->getValue('item_id')); } if (!empty($data['cold_chain'])) { $placement->form_values['batchId'] = $batch_id; $placement->form_values['quantity'] = $data['quantity']; $placement->form_values['placement_location_id'] = $data['cold_chain']; $placement->form_values['stock_detail_id'] = $detail_id; $placement->form_values['rcvedit'] = $recedit; $placement->form_values['vvm_stage'] = $data['vvm_stage']; $placement->form_values['is_placed'] = 1; $placement->addPlacement(); } if ($recedit == "Yes") { $date_arr = explode(' ', $data['transaction_date']); list($dd, $mm, $yy) = explode("/", $date_arr[0]); $item_id = $data['item_id']; $wh_id = $this->_identity->getWarehouseId(); $user_id = $this->_userid; $query = "SELECT AdjustQty(" . $batch_id . "," . $wh_id . ") FROM DUAL"; $str_sql = $em->getConnection()->prepare($query); $str_sql->execute(); $query = "SELECT REPUpdateData({$mm},{$yy},{$item_id},{$wh_id},{$user_id}) FROM DUAL"; $str_sql = $em->getConnection()->prepare($query); $str_sql->execute(); } $em->getConnection()->commit(); $this->redirect("/stock/receive-supplier"); } } catch (Exception $e) { $em->getConnection()->rollback(); $em->close(); App_FileLogger::info($e); } $arr_data['stock_id'] = !empty($stock_id) ? $stock_id : ""; if (!empty($stock_id) || !empty($batch_id) || !empty($master_affacted) || !empty($detail_affacted)) { $arr_data['success'] = 1; } $this->view->form = $form; $this->view->arr_data = $arr_data; if ($red_type == 's') { $this->redirect("/stock/receive-search?success=1"); } } if (!empty($this->form_values['transaction_type_id'])) { $type = $this->form_values['transaction_type_id']; } else { $type = $this->_request->type; } $stock_master->form_values = $form_values; $temp_stock = $stock_master->getTempStock(); if ($temp_stock != false) { $arr_data = $temp_stock; } $temp_stock_list = $stock_master->getTempStocksList(); if ($temp_stock_list != false) { $time_arr = explode(' ', $temp_stock_list[0]['transaction_date']); $time = date('H:i A', strtotime($time_arr[1] . $time_arr[2])); $form->transaction_number->setValue($temp_stock_list[0]['transaction_number']); $form->transaction_date->setValue(App_Controller_Functions::dateToUserFormat($time_arr[0]) . ' ' . $time); $form->hdn_transaction_date->setValue(App_Controller_Functions::dateToUserFormat($time_arr[0]) . ' ' . $time); $form->transaction_reference->setValue($temp_stock_list[0]['transaction_reference']); $form->from_warehouse_id->setValue($temp_stock_list[0]['from_warehouse_id']); $form->getProductsByActivity($temp_stock_list[0]['activity_id']); $form->activity_id->setValue($temp_stock_list[0]['activity_id']); $form->vvm_type_id->setValue($temp_stock_list[0]['vvm_type_id']); $form->activity_id->setAttribs(array('disable' => 'disable')); $form->from_warehouse_id->setAttribs(array('disable' => 'disable')); $form->transaction_reference->setAttribs(array('disable' => 'disable')); //$form->transaction_date->setAttribs(array('disable' => 'disable')); $arr_data['tempstocks'] = $temp_stock_list; } else { $form->transaction_date->setValue(date("d/m/Y h:i A")); } $this->view->form = $form; $this->view->form_manufacturer = $form_manufacturer; $this->view->arr_data = $arr_data; // Edit Receive Start if (!empty($this->_request->id)) { $detail_id = $this->_request->id; $obj_rec = $this->_em->getRepository("StockDetail")->find($detail_id); if ($red_type == 's') { $form->transaction_number->setValue($obj_rec->getStockMaster()->getTransactionNumber()); $form->transaction_date->setValue($obj_rec->getStockMaster()->getTransactionDate()->format("d/m/Y h:i A")); $form->hdn_transaction_date->setValue($obj_rec->getStockMaster()->getTransactionDate()->format("d/m/Y h:i A")); $form->transaction_reference->setValue($obj_rec->getStockMaster()->getTransactionReference()); $form->from_warehouse_id->setValue($obj_rec->getStockMaster()->getFromWarehouse()->getPkId()); $stakeholder_act = $obj_rec->getStockMaster()->getStakeholderActivity(); if (count($stakeholder_act) > 0) { $form->getProductsByActivity($stakeholder_act->getPkId()); $form->activity_id->setValue($stakeholder_act->getPkId()); } if ($obj_rec->getStockBatch()->getItemPackSize()->getItemCategory()->getPkId() == 1 || $obj_rec->getStockBatch()->getItemPackSize()->getItemCategory()->getPkId() == 4) { $form->vvm_type_id->setValue($obj_rec->getStockBatch()->getVvmType()->getPkId()); } } $form->item_id->setValue($obj_rec->getStockBatch()->getItemPackSize()->getPkId()); $form->getManufacturerByProductId($obj_rec->getStockBatch()->getItemPackSize()->getPkId()); $stakeholder_item_pack_size = $obj_rec->getStockBatch()->getStakeholderItemPackSize(); if (count($stakeholder_item_pack_size) > 0) { $form->manufacturer_id->setValue($stakeholder_item_pack_size->getPkId()); } $form->number->setValue($obj_rec->getStockBatch()->getNumber()); $form->production_date->setValue($obj_rec->getStockBatch()->getProductionDate()->format("d/m/Y")); $form->expiry_date->setValue($obj_rec->getStockBatch()->getExpiryDate()->format("d/m/Y")); $form->unit_price->setValue($obj_rec->getStockBatch()->getUnitPrice()); $form->quantity->setValue($obj_rec->getStockBatch()->getQuantity()); $form->vvm_stage->setValue($obj_rec->getVvmStage()); $form->comments->setValue($obj_rec->getStockMaster()->getComments()); $form->from_warehouse_id->setAttrib('disable', false); $form->transaction_reference->setAttrib('disable', false); $form->activity_id->setAttrib('disable', false); $obj_placements = $this->_em->getRepository("Placements")->findOneBy(array("stockDetail" => $detail_id)); if (count($obj_placements->getPlacementLocation()) > 0) { $form->cold_chain->setValue($obj_placements->getPlacementLocation()->getLocationId()); } $this->view->rcvedit = true; $this->view->prod_cat = $obj_rec->getStockBatch()->getItemPackSize()->getItemCategory()->getPkId(); $this->view->detail_id = $this->_request->id; } // Edit Receive End $this->view->success = $this->_request->getParam('success', 0); }
public function getTempStock() { $str_sql = $this->_em->createQueryBuilder()->select('sm.transactionNumber AS transaction_number, sm.transactionReference AS transaction_reference, sm.transactionDate AS transaction_date, sm.pkId AS pk_id, ws.pkId AS from_warehouse_id, ws.warehouseName AS warehouse_name ')->from("StockMaster", "sm")->join("sm.fromWarehouse", "ws")->where("sm.createdBy = " . $this->_user_id)->andWhere("ws.status = 1"); if ($this->form_values['transaction_type_id'] == 1) { $str_sql->andWhere("sm.toWarehouse = " . $this->_identity->getWarehouseId()); } else { $str_sql->andWhere("sm.fromWarehouse = " . $this->_identity->getWarehouseId()); } $str_sql->andWhere("sm.transactionType = " . $this->form_values['transaction_type_id'])->andWhere("sm.draft = 1 "); //echo $str_sql->getQuery()->getSql(); //exit; $row = $str_sql->getQuery()->getResult(); if (!empty($row) && count($row) > 0) { $warehouses = new Model_Warehouses(); $arr_data['warehouse_name'] = $warehouses->getWarehouseNameByWarehouseId($row[0]['from_warehouse_id']); $arr_data['transaction_date'] = App_Controller_Functions::dateToUserFormat($row[0]['transaction_date']); $arr_data['transaction_number'] = $row[0]['transaction_number']; $arr_data['transaction_reference'] = $row[0]['transaction_reference']; $arr_data['stock_id'] = $row[0]['pk_id']; return $arr_data; } else { return false; } }