domingo, 27 de noviembre de 2016

pub

/////Lo que te puedes olvidar

spring.datasource.url=jdbc:mysql://localhost:3306/dbexamen

spring.datasource.username= root
spring.datasource.password= root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver


@Id

@GeneratedValue(strategy=GenerationType.AUTO)
private int id;


@Repository

@Transactional
public interface ArticuloRepository extends CrudRepository<Articulo, Integer>


@RequestMapping(value="/articulo/new",method=RequestMethod.POST) //HOME

public String saveArticulo(@Valid Articulo a,BindingResult result,Model model){

try {

if(result.hasErrors()){
model.addAttribute("message",result.toString());
return "newArticulo";
}

precioventa=articuloService.calcularPrecioVenta(a);
articuloService.saveArticulo(a);
model.addAttribute("message",
"El precio de venta ="+precioventa);
return "newArticulo";

} catch (Exception e) {
// TODO: handle exception
model.addAttribute("message",
e.getMessage());
return "newArticulo";
}
}

////ejem de querys


List<Articulo> findByClavearticuloOrderByPrecioventaDesc(int clavearticulo);



@Query("select u from Articulo u where u.precioventa between ?1 and ?2 ")
List<Articulo> findByPrecioventaRange(double pv1, double pv2);


@Query("select count(u) from Articulo u where u.clavearticulo=?1")
int countArticuloClavearticulo(int clavearticulo);

Pas

////Repository

package com.example.repository;



import java.util.List;


//import org.springframework.data.jpa.repository.Query;

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
import org.springframework.data.jpa.repository.*;

import org.springframework.transaction.annotation.Transactional;


import com.example.entities.Articulo;


@Repository

@Transactional
public interface ArticuloRepository extends CrudRepository<Articulo,Integer> {

List<Articulo> findByClavearticuloOrderByPrecioventaDesc(int clavearticulo);


@Query("select count(u) from Articulo u where u.clavearticulo=?1")
int countArticuloClavearticulo(int clavearticulo);

@Query("select u from Articulo u where u.precioventa between ?1 and ?2")

List<Articulo> findByPrecioVenta(double pv1, double pv2);
}


/////Service////1.-Irterface 

package com.example.service;

import com.example.entities.Articulo;



public interface ArticuloService {


Articulo saveArticulo(Articulo a);

Iterable<Articulo> listAllArticulos();

Iterable<Articulo> findClavearticuloOrderByPrecioventaDesc(int clavearticulo);

Iterable<Articulo> findByPrecioventaRange(double pv1, double pv2);

int countArticuloClavearticulo(int clavearticulo);

double calcularPrecioVenta(Articulo a);

}

//clase service

package com.example.service;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import com.example.entities.Articulo;

import com.example.repository.ArticuloRepository;


@Service

public class ArticuloServiceImple implements ArticuloService {

@Autowired

private ArticuloRepository articuloRepository;

@Override
public Articulo saveArticulo(Articulo a) {
// TODO Auto-generated method stub
return articuloRepository.save(a);
}

@Override

public Iterable<Articulo> listAllArticulos() {
// TODO Auto-generated method stub
return articuloRepository.findAll();
}

@Override

public Iterable<Articulo> findClavearticuloOrderByPrecioventaDesc(int clavearticulo) {
// TODO Auto-generated method stub
return articuloRepository.findByClavearticuloOrderByPrecioventaDesc(clavearticulo);
}

@Override

public Iterable<Articulo> findByPrecioventaRange(double pv1, double pv2) {
// TODO Auto-generated method stub
return articuloRepository.findByPrecioVenta(pv1, pv2);

}

@Override

public int countArticuloClavearticulo(int clavearticulo) {
// TODO Auto-generated method stub
return articuloRepository.countArticuloClavearticulo(clavearticulo);
}

@Override

public double calcularPrecioVenta(Articulo a) {
// TODO Auto-generated method stub
return 0;
}

}


////Controller


package com.example.controller;


import javax.validation.Valid;


import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.example.entities.Articulo;

import com.example.service.ArticuloService;

@Controller

public class ArticuloController {

@Autowired
private ArticuloService articuloService;




@RequestMapping(value="/") //HOME
public String articulos(Model model)
{
model.addAttribute("articulo", new Articulo());
return "newArticulo"; //la vistaaaaa ctmare
}

@RequestMapping(value="/articulo/new",method=RequestMethod.POST) // home
public String saveArticulo(@Valid Articulo a, BindingResult result, Model model)
{
articuloService.saveArticulo(a);
return "newArticulo";
}

@RequestMapping(value="/articulos") // HOME
public String listararticulos(Model model)
{
model.addAttribute("articulos", articuloService.listAllArticulos());
return "articulos";//vista html
}

@RequestMapping(value="/articulosrange",method=RequestMethod.POST)
public String listarticulosRange(Model model,@RequestParam double pv1,@RequestParam double pv2)
{
model.addAttribute("articulos", articuloService.findByPrecioventaRange(pv1, pv2));

return "articulos";//vista html
}

@RequestMapping(value="/articulosclavearticulo", method=RequestMethod.POST)
public String listarticulosclavearticulo(Model model, @RequestParam int clavearticulo)
{
model.addAttribute("cantiarticulos", articuloService.countArticuloClavearticulo(clavearticulo));
model.addAttribute("articulos", articuloService.findClavearticuloOrderByPrecioventaDesc(clavearticulo));
return "articulos";
}
}

////vistas 1



<div class="container">

<!--/*/ <th:block th:include="fragments/header :: header"></th:block> /*/-->

<h2>Calcular Precio Venta</h2>

<div>


<!-- formulario de boostrap esto lo saque de:http://v4-alpha.getbootstrap.com/components/forms/ -->

<form class="form-horizontal" th:object="${articulo}"
th:action="@{/articulo/new}" method="post">
<input type="hidden" th:field="*{id}" />
<div class="form-group">
<label class="col-sm-2 control-label">Nombre Articulo:</label>
<div class="col-sm-10">
<input type="text" class="form-control" th:field="*{nombre}"
required="required" /> <span
th:if="${#fields.hasErrors('nombre')}" th:errors="*{nombre}">Nombre
Error </span>
</div>
</div>



<div class="form-group">

<label class="col-sm-2 control-label">Clave Articulo:</label>
<div class="col-sm-10">
<select class="form-control" th:field="*{clavearticulo}">


<option value="1">1</option>

<option value="2">2</option>
<option value="3">3</option>
<option value="3">4</option>
<option value="3">5</option>
<option value="3">6</option>

</select>

</div>
</div>

<div class="form-group">

<label class="col-sm-2 control-label">Costo Materia Prima:</label>
<div class="col-sm-10">
<input type="text" class="form-control" th:field="*{costomp}"
required="required" /> <span
th:if="${#fields.hasErrors('costomp')}" th:errors="*{costomp}">Costomp
Error </span>
</div>
</div>

<!-- Estos botones los saque de :http://v4-alpha.getbootstrap.com/components/buttons/ -->

<div class="form-group">
<label class="col-sm-2 control-label"></label>
<div class="col-sm-10">
<button type="submit" class="btn btn-success">Save</button>

</div>

</div>

</form>


<div class="form-group">

<p th:text="${message}">1</p>
</div>
</div>
</div>


///vista 2


<body>

<!-- Division container solo tiene una tabla<table> -->
<div class="container">
<!--/*/ <th:block th:include="fragments/header :: header"></th:block> /*/-->

<!-- Division para buscar rango precio venta -->

<div class="panel panel-default">
<div class="panel-body">
<form role="form" th:action="@{/articulosrange}" method="post">
<div class="row">
<div class="col-sm-2">
<label for="name">Precio Min:</label>
</div>
<div class="col-sm-2">
<input type="number" step="any" class="form-control" id="pv1"
name="pv1" required="required" />
</div>
<div class="col-sm-2">
<label for="name">Precio Max:</label>
</div>
<div class="col-sm-2">
<input type="number" step="any" class="form-control" id="pv2"
name="pv2" required="required" />
</div>
<div class="col-sm-2">
<input type="submit" value="Buscar" class="btn btn-success" />
</div>
</div>
</form>
</div>
</div>

<h2>Lista Articulos</h2>


<div class="row">


<table class="table table-striped">

<tr>
<th>Id</th>
<th>Nombre</th>
<th>Clave</th>
<th>Costo Materia Prima</th>
<th>Costo Mano Obra</th>
<th>Gasto Fabricacion</th>
<th>Costo Produccion</th>
<th>Precio Venta</th>

</tr>

<tr th:each="a : ${articulos}">
<td th:text="${a.id}">id</td>
<td th:text="${a.nombre}">Nombre</td>
<td th:text="${a.clavearticulo}">clavearticulo</td>
<td th:text="${a.costomp}">costomp</td>
<td th:text="${a.costomo}">costomo</td>
<td th:text="${a.gastofabricacion}">gastofabricacion</td>
<td th:text="${a.costoproduccion}">costoproduccion</td>
<td th:text="${a.precioventa}">precioventa</td>
</tr>
</table>
</div>
</div>
</body>

///vista que corre


<!DOCTYPE html>

<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="ISO-8859-1"/>
<title>Insert title here</title>
</head>
<body>

<form th:object="${articulo}" th:action="@{/articulo/new}" method="post">

Nombre:
<input type="text" th:field="*{nombre}" />
<br/>

Clave Articulo:
<select th:field="*{clavearticulo}">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="3">4</option>
<option value="3">5</option>
<option value="3">6</option>
</select>
<br/>
Costo Materia Prima:
<input type="text" th:field="*{costomp}"/>
<br/>

<button type="submit">Save</button>

</form>
<p>1</p>



</body>

</html>

lunes, 27 de junio de 2016

¿Cómo bañar a tu perro? Algunos Tip's


Bañar al el perro quizás sea parte de tu castigo pero, si no, entonces es porque deseas que tu mascota este aseada de cuando en vez. Bañar al engreído de casa puede ser una tarea ardua y con complicaciones, si además, tu perro no esta acostumbrado al baño entonces llegaste al lugar correcto. En este articulo te brindaremos algunos tip's para el baño de tu mascota, ahorrando servicios de veterinarias y con articulo al alcance de tus manos.


ANTES DEL BAÑO

  • Conseguir unas toallas y shampoo para perro, las toallas que ya utilices las puedes usar ahora exclusivamente para tu mascota y el shampoo tiene que ser especial para perro, recuerda que el shampoo que tu usas es demasiado fuerte para el pelo de tu mascota.
  • Tener a la mano un secador y cepillos de acuerdo al pelaje de tu perro si deseas compra accesorios para tu mascota (ropa, hueso de goma, etc),la ropa para después del secado y el hueso para distraer el la ducha.
  • Esponja para baño y algodón para las orejas, así como tú, tu perro puede sufrir de agua en la oreja y en ellos es más peligroso OJO.


DURANTE EL BAÑO

  • Primero humedecemos el pelaje y la piel para aplicar el shampoo.
  • Usamos la esponja para esparcir el shampoo  y sacar la mayor cantidad de espuma.
  • Enjuagamos y si deseas agregas bálsamo.
  • Usamos para toalla para quitar el agua en el pelo y para el secado total usamos la secadora.
  • Por ultimo, mientra se seca peinamos al perro.


Si no te quedó del todo claro puedes revisar el siguiente video.


Fuente: Diana Por ODA canal youtube

¡Adornos o decorativos para tu hogar!

¡Hola amigos, en esta oportunidad te traemos algunas decoraciones para tu hogar!



Son en forma de animalitos y muy hermosos, son útiles para distintas ocasiones y lo mejor es que son de material reciclables. No te preocupes, te dejaremos vídeos de como se realizan los decorativos/adornos para tu hogar y con los materiales que necesitaras. Sin mas que decir... ¡Comencemos!

Gatitos hechas de botellas



Búhos decorativos de botellas



Alcancías hechas de botellas



Conejitos con toallas de baño



Cajita para dulces animales


Bueno amigos, eso es todo. Todos los tutoriales son usan materiales reciclables ah excepción del ultimo que tienes que imprimir, jeje. Bueno, nos vemos en un próximo post, ¡nos vemos!


domingo, 26 de junio de 2016

¡8 alimentos que no debes darle a tu gato!

Hola amiguitos, otra ves de nuevo, ¿como están?
En esta ocasión le traemos algunos alimentos que NO debes darle a tu gatito. Asi que ten cuidado con el tipo de alimentos que le proporcionas, ya que pueden afectar la salud del animal. Sin mas que decir... ¡Comencemos!



El chocolate (Intoxicación)

El atún (Intoxicación)

Pescado crudo (Tiene parásitos que dañan al animal)

Frutas y verduras (La cereza, el ajo, la cebolla, la cereza, los melocotones, el ajo, la uva y los hongos, contienen sustancias toxicas que dañan al animal)

Leche (Si es intolerante a la lactosa le causara diarrea y problemas gástricos)

Huesos o espinas (Perforan sus intestinos)

Sal (Daña los riñones y pueden causarle problemas urinarios)

Bebidas (Café, té y alcohol, pueden causarle la muerte)

Estos son algunos alimentos dañinos para tu mascota, si quieres saber mas, visita estas paginas. ¡Nos vemos!

http://genial.guru/mascotas/estas-son-las-comidas-que-no-debes-darle-a-tu-gato-783/#image16924
http://www.lacuarta.com/noticias/mascotas/2013/08/528-157102-9-diez-alimentos-que-tu-gato-no-debe-comer.shtml
http://comohacerpara.com/alimentos-peligrosos-para-gatos_9468h.html
http://www.consumer.es/web/es/mascotas/perros/alimentacion/2013/06/13/216937.php
http://comohacerpara.com/7-alimentos-que-nunca-debes-darle-a-tu-gato_9296h.html


sábado, 25 de junio de 2016

Ahora puedes cuidar a tu mascota con una apliacación movile

Crean aplicación para cuidar a las mascotas usando los celulares

Ahora vacunar, bañar y alimentar a su mascota será más fácil gracias a ‘Pety’, una herramienta digital diseñada por un grupo de emprendedores de Medellín que les permitirá a los amos llevar el control de las necesidades de su perro o gato a través de dispositivos móviles.

La propuesta, que fue realizada por Daniel Gómez, Robert Parada y Jonnathan Pulgarín con la asesoría de Innovación Eafit, busca mejorar la calidad de vida de los animales de compañía y optimizar el tiempo de los dueños.

“Lo que queremos es que las personas cuiden mejor a sus amigos de cuatro patas, por eso ofrecemos indicadores e indicaciones para que estén al día con todas sus necesidades, mejoren su bienestar y logren que vivan más tiempo”, aseguró Gómez.

Foto: Guillermo Ossa/EL TIEMPO

Con esa aplicación gratuita se espera impactar a cerca de 4 millones de mascotas en el país, por eso desde el pasado 27 de mayo está disponible para Android y, en los próximos días, para iOS, con prueba piloto en la capital antioqueña.
Fuente: El Tiempo


Sensación del momento "Peluquería Pet" GROOMING

Sensación del momento "Peluquería Pet"

El Grooming en un salón de mascotas de Tainán, Taiwánes la sensación del momento.  FUENTE:YO SOY 502

s

"Igogo", como se llama el sitio que impuso una curiosa moda entre los perritos y gatitos de la ciudad.  Se trata de cortes con formas que hacen que los reyes de la casa desborden ternura.
Dinosauriososos de pelucheleones y hasta estampados de personajes de caricatura, se plasman en la melena de los animales domésticos, luciendo muy divertidos.