@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
  public void deleteMotivoReclamacion(MotivoReclamacion entity) throws Exception {
    if (entity == null) {
      throw new ZMessManager().new NullEntityExcepcion("MotivoReclamacion");
    }

    if (entity.getIdMotRecl() == null) {
      throw new ZMessManager().new EmptyFieldException("idMotRecl");
    }

    List<MotReclSelect> motReclSelects = null;
    List<MotReclXTpSol> motReclXTpSols = null;

    try {
      motReclSelects =
          motReclSelectDAO.findByProperty("motivoReclamacion.idMotRecl", entity.getIdMotRecl());

      if (Utilities.validationsList(motReclSelects) == true) {
        throw new ZMessManager().new DeletingException("motReclSelects");
      }

      motReclXTpSols =
          motReclXTpSolDAO.findByProperty("motivoReclamacion.idMotRecl", entity.getIdMotRecl());

      if (Utilities.validationsList(motReclXTpSols) == true) {
        throw new ZMessManager().new DeletingException("motReclXTpSols");
      }

      motivoReclamacionDAO.delete(entity);
    } catch (Exception e) {
      throw new Exception("Error Eliminando Motivo de Reclamación");
    } finally {
    }
  }
  @Transactional(readOnly = false, propagation = Propagation.REQUIRED)
  public void updateMotivoReclamacion(MotivoReclamacion entity) throws Exception {
    try {
      if (entity == null) {
        throw new ZMessManager().new NullEntityExcepcion("MotivoReclamacion");
      }

      if (entity.getDescripcionMotRecl() == null) {
        throw new ZMessManager().new EmptyFieldException("descripcionMotRecl");
      }

      if ((entity.getDescripcionMotRecl() != null)
          && (Utilities.checkWordAndCheckWithlength(entity.getDescripcionMotRecl(), 50) == false)) {
        throw new ZMessManager().new NotValidFormatException("descripcionMotRecl");
      }

      if (entity.getEstadoRegistro() == null) {
        throw new ZMessManager().new EmptyFieldException("estadoRegistro");
      }

      if ((entity.getEstadoRegistro() != null)
          && (Utilities.checkWordAndCheckWithlength(entity.getEstadoRegistro(), 1) == false)) {
        throw new ZMessManager().new NotValidFormatException("estadoRegistro");
      }

      if (entity.getIdMotRecl() == null) {
        throw new ZMessManager().new EmptyFieldException("idMotRecl");
      }

      if ((entity.getIdMotRecl() != null)
          && (Utilities.checkNumberAndCheckWithPrecisionAndScale("" + entity.getIdMotRecl(), 10, 0)
              == false)) {
        throw new ZMessManager().new NotValidFormatException("idMotRecl");
      }

      if ((entity.getUsuarioCreador() != null)
          && (Utilities.checkWordAndCheckWithlength(entity.getUsuarioCreador(), 50) == false)) {
        throw new ZMessManager().new NotValidFormatException("usuarioCreador");
      }

      if ((entity.getUsuarioUltimaModificacion() != null)
          && (Utilities.checkWordAndCheckWithlength(entity.getUsuarioUltimaModificacion(), 50)
              == false)) {
        throw new ZMessManager().new NotValidFormatException("usuarioUltimaModificacion");
      }

      motivoReclamacionDAO.update(entity);
    } catch (Exception e) {
      throw new Exception("Error Modificando Motivo de Reclamación");
    } finally {
    }
  }
  @Transactional(readOnly = true)
  public List<MotivoReclamacionDTO> getDataMotivoReclamacion() throws Exception {
    try {
      List<MotivoReclamacion> motivoReclamacion = motivoReclamacionDAO.findAll();

      List<MotivoReclamacionDTO> motivoReclamacionDTO = new ArrayList<MotivoReclamacionDTO>();

      for (MotivoReclamacion motivoReclamacionTmp : motivoReclamacion) {
        MotivoReclamacionDTO motivoReclamacionDTO2 = new MotivoReclamacionDTO();

        motivoReclamacionDTO2.setIdMotRecl(motivoReclamacionTmp.getIdMotRecl());
        motivoReclamacionDTO2.setDescripcionMotRecl(
            (motivoReclamacionTmp.getDescripcionMotRecl() != null)
                ? motivoReclamacionTmp.getDescripcionMotRecl()
                : null);
        motivoReclamacionDTO2.setEstadoRegistro(
            (motivoReclamacionTmp.getEstadoRegistro() != null)
                ? motivoReclamacionTmp.getEstadoRegistro()
                : null);
        motivoReclamacionDTO2.setFechaCreacion(motivoReclamacionTmp.getFechaCreacion());
        motivoReclamacionDTO2.setFechaUltimaModificacion(
            motivoReclamacionTmp.getFechaUltimaModificacion());
        motivoReclamacionDTO2.setUsuarioCreador(
            (motivoReclamacionTmp.getUsuarioCreador() != null)
                ? motivoReclamacionTmp.getUsuarioCreador()
                : null);
        motivoReclamacionDTO2.setUsuarioUltimaModificacion(
            (motivoReclamacionTmp.getUsuarioUltimaModificacion() != null)
                ? motivoReclamacionTmp.getUsuarioUltimaModificacion()
                : null);
        motivoReclamacionDTO.add(motivoReclamacionDTO2);
      }

      return motivoReclamacionDTO;
    } catch (Exception e) {
      throw new Exception("Error Consultando Motivo de Reclamación");
    }
  }