public function addMonthlyConsumptionDraft() { $data = $this->form_values; $str_qry_detail = "DELETE hf_data_detail_draft.*\n FROM\n hf_data_master_draft,hf_data_detail_draft \n where\n hf_data_master_draft.pk_id = hf_data_detail_draft.hf_data_master_id\n and hf_data_master_draft.warehouse_id='" . $data['wh_id'] . "'\n and DATE_FORMAT(hf_data_master_draft.reporting_start_date, '%Y-%m-%d') = '" . $data['rpt_date'] . "'"; $this->_em = Zend_Registry::get('doctrine'); $row_detail = $row = $this->_em->getConnection()->prepare($str_qry_detail); $row_detail->execute(); $str_qry_master = "DELETE hf_data_master_draft.*\n FROM\n hf_data_master_draft\n where\n hf_data_master_draft.warehouse_id='" . $data['wh_id'] . "'\n and DATE_FORMAT(hf_data_master_draft.reporting_start_date, '%Y-%m-%d') = '" . $data['rpt_date'] . "'"; $this->_em = Zend_Registry::get('doctrine'); $row_master = $row = $this->_em->getConnection()->prepare($str_qry_master); $row_master->execute(); $this->_em->flush(); $posted_array = $data['flitm_id']; $opening_array = $data['opening_balance']; $received_array = $data['received']; $dispensed_array = $data['dispensed']; $vials_used_array = $data['vials_used']; $unusable_vials_array = $data['unusable_vials']; $closing_balance_array = $data['closing_balance']; $nearest_expiry_array = $data['nearest_expiry']; $doses_per_unit_array = $data['doses_per_unit']; $record_array = $data['record_id']; foreach ($closing_balance_array as $key => $val) { if ($val != '' && $val >= 0) { $vials_used = $vials_used_array[$key]; $wh_id = $data['wh_id']; $year_month = $data['yearmonth']; $doses = $doses_per_unit_array[$key]; $issue = $dispensed_array[$key]; $itemid = $posted_array[$key]; $wh_adj = $unusable_vials_array[$key] * $doses; $wastages = $vials_used * $doses - $issue + abs($wh_adj); $wh_data = new HfDataMasterDraft(); $item = $this->_em->getRepository('ItemPackSizes')->find($posted_array[$key]); $warehouse = $this->_em->getRepository('Warehouses')->find($data['wh_id']); $wh_data->setItemPackSize($item); $wh_data->setWarehouse($warehouse); $user = $this->_em->getRepository('Users')->find($this->_user_id); $wh_data->setCreatedBy($user); $wh_data->setModifiedBy($user); $wh_data->setOpeningBalance($opening_array[$key]); $wh_data->setReceivedBalance($received_array[$key]); $wh_data->setIssueBalance($issue); $wh_data->setClosingBalance($val); $wh_data->setVialsUsed($vials_used_array[$key]); $wh_data->setAdjustments($unusable_vials_array[$key] * $doses); $wh_data->setReportingStartDate(new \DateTime(App_Controller_Functions::dateToDbFormat($data['rpt_date']))); if (!empty($nearest_expiry_array[$key])) { $wh_data->setNearestExpiry(new \DateTime(App_Controller_Functions::dateToDbFormat($nearest_expiry_array[$key]))); } $wh_data->setWastages($wastages); $wh_data->setCreatedDate(App_Tools_Time::now()); $wh_data->setModifiedDate(App_Tools_Time::now()); $this->_em->persist($wh_data); $this->_em->flush(); $hf_data_master_id = $wh_data->getPkId(); $hf_data_detail = new HfDataDetailDraft(); $hf_data_detail->setFixedInsideUcFemale($issue); $hf_data_master_i = $this->_em->getRepository('HfDataMasterDraft')->find($hf_data_master_id); $hf_data_detail->setHfDataMaster($hf_data_master_i); $hf_data_detail->setCreatedBy($user); $hf_data_detail->setModifiedBy($user); $this->_em->persist($hf_data_detail); $this->_em->flush(); } } }