Buenas, un gusto! Me propuse resolver este proceso antes de ver la clase, para ver como era la solucion original posteriormente y poder compararla con la mia. Aplique 100% logica, renegue un rato al principio, pero luego todo fue fluyendo. Dejo a continuacion como lo resolvi, y si algun profesor puede comentarme como fue (pese a no ser la misma solucion del video) seria de muchisimo agrado! Saludos....
public void guardar(Map<String, String> product) throws SQLException {
Connection con = new connectionGenerate().generate();
PreparedStatement stat = con.prepareStatement(
"INSERT INTO PRODUCT (NAME, DESCRIPTION, NUMBEROFUNIT, CATEGORY)" + "VALUES (?, ?, ?, ?)");
try {
if (Integer.parseInt(product.get("NUMBEROFUNIT")) > 50) { // siempre que la cantidad del producto sea >50...
Integer currentAmount = Integer.parseInt(product.get("NUMBEROFUNIT")); // tiene la cantidad total que restan de
Integer arbitraryAmount; // ingresar a la base de datos luego de
// restarle las 50 unidades maximas que
// admite el sistema
while (currentAmount > 50) {// mientras que la cantidad restante a ingresar siga siendo mayor que 50, se //
// itera y se siguen separando las unidades.
arbitraryAmount = (50 - currentAmount) * -1; // devuelve un valor negativo, y se lo pasa a positivo
// multiplicandolo por -1
registerExecution(product, con, stat, 50);
currentAmount = arbitraryAmount;
}
registerExecution(product, con, stat, currentAmount); // termina de cargar las cantidades restantes del producto
} else {
Integer currentAmount = Integer.parseInt(product.get("NUMBEROFUNIT"));
registerExecution(product, con, stat, currentAmount);
}
} catch (Exception e) {
con.rollback();
}
con.close();
}