Ejemplo n.º 1
0
 public function addRefrigerator()
 {
     $form_values = $this->form_values;
     $cold_chain = new ColdChain();
     $cold_chain->setAssetId($form_values['asset_id']);
     $source_id = $this->_em->getRepository('Stakeholders')->find($form_values['source_id']);
     $cold_chain->setSource($source_id);
     $model_id = $this->_em->getRepository('CcmModels')->find($form_values['catalogue_id']);
     $cold_chain->setCcmModel($model_id);
     $asset_type = $this->_em->getRepository('CcmAssetTypes')->find($model_id->getCcmAssetType()->getPkId());
     $cold_chain->setCcmAssetType($asset_type);
     if (!empty($form_values['temperature_monitor'])) {
         $temperature_monitor = $this->_em->getRepository('ListDetail')->find($form_values['temperature_monitor']);
         $cold_chain->setTemperatureMonitor($temperature_monitor);
     }
     $cold_chain->setSerialNumber($form_values['serial_number']);
     $cold_chain->setWorkingSince(new \DateTime(App_Controller_Functions::dateToDbFormat($form_values['working_since'])));
     $auto_gen_id = App_Controller_Functions::generateCcemUniqueAssetId(Model_CcmAssetTypes::REFRIGERATOR);
     $cold_chain->setAutoAssetId($auto_gen_id);
     $user_id = $this->_em->getRepository('Users')->find($this->_user_id);
     $cold_chain->setCreatedBy($user_id);
     $cold_chain->setCreatedDate(new \DateTime(App_Controller_Functions::dateToDbFormat(date("d/m/Y"))));
     if (!empty($form_values['warehouse']) && $form_values['placed_at'] == 1) {
         $wh_id = $this->_em->getRepository('Warehouses')->find($form_values['warehouse']);
         $cold_chain->setWarehouse($wh_id);
     }
     $this->_em->persist($cold_chain);
     $this->_em->flush();
     $ccm_id = $cold_chain->getPkId();
     // if (!empty($form_values['warehouse']) && $form_values['placed_at'] == 1) {
     $ccm_status_history = new CcmStatusHistory();
     $ccm_status_history->setStatusDate(new \DateTime(date("Y-m-d h:i")));
     $cold_chian_id = $this->_em->getRepository('ColdChain')->find($ccm_id);
     $ccm_status_history->setCcm($cold_chian_id);
     if (!empty($form_values['warehouse']) && $form_values['placed_at'] == 1) {
         $warehouse_id = $this->_em->getRepository('Warehouses')->find($form_values['warehouse']);
         $ccm_status_history->setWarehouse($warehouse_id);
     } else {
         $warehouse_id = $this->_em->getRepository('Warehouses')->find($this->_identity->getWarehouseId());
         $ccm_status_history->setWarehouse($warehouse_id);
     }
     $ccm_status_list_id = $this->_em->getRepository('CcmStatusList')->find($form_values['ccm_status_list_id']);
     $ccm_status_history->setCcmStatusList($ccm_status_list_id);
     $asset_id = $this->_em->getRepository('CcmAssetTypes')->find(Model_CcmAssetTypes::REFRIGERATOR);
     $ccm_status_history->setCcmAssetType($asset_id);
     if (!empty($form_values['reason'])) {
         $reason = $this->_em->getRepository('CcmStatusList')->find($form_values['reason']);
         $ccm_status_history->setReason($reason);
     }
     if (!empty($form_values['utilization'])) {
         $utilization = $this->_em->getRepository('CcmStatusList')->find($form_values['utilization']);
         $ccm_status_history->setUtilization($utilization);
     }
     $this->_em->persist($ccm_status_history);
     $this->_em->flush();
     $ccm_history_id = $ccm_status_history->getPkId();
     $this->updateCcmStatusHistory($ccm_id, $ccm_history_id);
     //  }
     $placements_locations = new PlacementLocations();
     $location_type = $this->_em->getRepository('ListDetail')->find(Model_PlacementLocations::LOCATIONTYPE_CCM);
     $placements_locations->setLocationType($location_type);
     $placements_locations->setLocationBarcode($auto_gen_id);
     $placements_locations->setLocationId($ccm_id);
     $this->_em->persist($placements_locations);
     $this->_em->flush();
     $ware_house = $form_values['warehouse'];
     if (!empty($ware_house)) {
         $qry = "SELECT REPUpdateCapacity({$ware_house}) from DUAL";
         $row = $this->_em->getConnection()->prepare($qry);
         $row->execute();
         $qry1 = "SELECT REPUpdateRequirement({$ware_house}) from DUAL";
         $row1 = $this->_em->getConnection()->prepare($qry1);
         $row1->execute();
     }
 }