/** * * @param ArrTipoCajaMatrizData[] $ArrTipoCajaMatrizData * @throws Exception * @return string */ function registrarCajaMatriz($ArrTipoCajaMatrizData) { $this->getEntityManager()->getConnection()->beginTransaction(); try { $TipoCajaMatrizData = new TipoCajaMatrizData(); $TipoCajaMatrizDAO = new TipoCajaMatrizDAO(); $TipoCajaMatrizDAO->setEntityManager($this->getEntityManager()); //$TipoCajaMatrizData = new TipoCajaMatrizData(); foreach ($ArrTipoCajaMatrizData as $TipoCajaMatrizData) { $TipoCajaMatrizData2 = $TipoCajaMatrizDAO->consultarPorClaveAlterna($TipoCajaMatrizData->getInventarioId(), $TipoCajaMatrizData->getTipoCajaId(), $TipoCajaMatrizData->getTallosxBunch(), $TipoCajaMatrizData->getTamanoBunchId(), $TipoCajaMatrizData->getGradoId()); if (!empty($TipoCajaMatrizData2)) { //SI EXISTE EL REGISTRO LO ACTUALIZA $clave_alterna = $TipoCajaMatrizData2->getId(); $TipoCajaMatrizData->setId($clave_alterna); $id = $TipoCajaMatrizDAO->modificar($TipoCajaMatrizData); } else { //SI NO EXISTE EL REGISTRO LO INSERTA $id = $TipoCajaMatrizDAO->ingresar($TipoCajaMatrizData); } //end if } //end foreach $this->getEntityManager()->getConnection()->commit(); $result['validacion_code'] = 'OK'; $result['respuesta_mensaje'] = 'Registros procesados correctamente'; return $result; } catch (Exception $e) { $this->getEntityManager()->getConnection()->rollback(); $this->getEntityManager()->close(); throw $e; } //end try }
/** * * @param string $inventario_id * @param string $tipo_caja_id * @param int $tallos_x_bunch * @param string $tamano_bunch_id * @param int $grado_id * @return \Dispo\Data\TipoCajaMatrizData|NULL */ public function consultarPorClaveAlterna($inventario_id, $tipo_caja_id, $tallos_x_bunch, $tamano_bunch_id, $grado_id, $resultType = \Application\Constants\ResultType::OBJETO) { $TipoCajaMatrizData = new TipoCajaMatrizData(); $sql = ' SELECT tipo_caja_matriz.* ' . ' FROM tipo_caja_matriz ' . " WHERE tipo_caja_matriz.inventario_id\t\t\t\t= '" . $inventario_id . "'" . "\t\t\tAND tipo_caja_matriz.tipo_caja_id \t\t= '" . $tipo_caja_id . "'" . "\t\t\tAND tipo_caja_matriz.tallos_x_bunch \t= " . $tallos_x_bunch . "\t\t\tAND tipo_caja_matriz.tamano_bunch_id \t= '" . $tamano_bunch_id . "'" . "\t\t\tAND tipo_caja_matriz.grado_id \t\t\t= '" . $grado_id . "'"; $stmt = $this->getEntityManager()->getConnection()->prepare($sql); //$stmt->bindValue(':id',$id); $stmt->execute(); $row = $stmt->fetch(); //Se utiliza el fecth por que es un registro if ($row) { $TipoCajaMatrizData->setId($row['id']); $TipoCajaMatrizData->setInventarioId($row['inventario_id']); $TipoCajaMatrizData->setTipoCajaId($row['tipo_caja_id']); $TipoCajaMatrizData->setTallosxBunch($row['tallos_x_bunch']); $TipoCajaMatrizData->setTamanoBunchId($row['tamano_bunch_id']); $TipoCajaMatrizData->setGradoId($row['grado_id']); $TipoCajaMatrizData->setUndsBunch($row['unds_bunch']); $TipoCajaMatrizData->setUsuarioIngId($row['usuario_ing_id']); $TipoCajaMatrizData->setFecIngreso($row['fec_ingreso']); $TipoCajaMatrizData->setUsuarioModId($row['usuario_mod_id']); $TipoCajaMatrizData->setFecModifica($row['fec_modifica']); return $TipoCajaMatrizData; } else { return null; } }