/** Metodo encargado de validar el formulario de un riego */ @Override public void validate() { /* * Se evalua dependiendo a la accion realizada: * 1) create: Al momento de guardar un registro por primera ves * 2) modify: Al momento de modificar un registro * 3) delete: Al momento de borrar un registro */ // numberFormatter = NumberFormat.getNumberInstance(new Locale("en_US")); // quantityOut = numberFormatter.format(rasta.getLatitudRas()); if (actExe.equals("create") || actExe.equals("modify")) { boolean enter = false; sowing = sowDao.objectById(this.getIdCrop()); HashMap required = new HashMap(); // required.put("irr.useIrrigationIrr", irr.getUseIrrigationIrr()); // if (irr.getUseIrrigationIrr()!=null && irr.getUseIrrigationIrr()) { required.put("irr.dateIrr", irr.getDateIrr()); // required.put("irr.amountIrr", irr.getAmountIrr()); required.put("irr.irrigationsTypes.idIrrTyp", irr.getIrrigationsTypes().getIdIrrTyp()); // } for (Iterator it = required.keySet().iterator(); it.hasNext(); ) { String sK = (String) it.next(); String sV = String.valueOf(required.get(sK)); // System.out.println(sK + " : " + sV); if (StringUtils.trim(sV).equals("null") || StringUtils.trim(sV) == null || StringUtils.trim(sV).equals("") || sV.equals("-1")) { addFieldError(sK, "El campo es requerido"); enter = true; } } if (enter) { addActionError("Faltan campos por ingresar por favor digitelos"); } Date dateSowing = null; // if (sowing.getDateSow()!=null) { if (sowing != null) { dateSowing = sowing.getDateSow(); String dmySow = new SimpleDateFormat("dd/MM/yyyy").format(sowing.getDateSow()); if (!dmySow.equals("") && irr.getDateIrr() != null) { Integer valDiffBef = GlobalFunctions.compareDateBeforeSowing(irr.getDateIrr(), sowing.getDateSow()); Integer valDiffAff = GlobalFunctions.compareDateAfterSowing(irr.getDateIrr(), sowing.getDateSow(), 0); if (valDiffBef == 2 && valDiffAff == 2) { addFieldError("irr.dateIrr", "Dato invalido"); addActionError( "Se ingreso una fecha de riego que no se encuentra 6 meses antes de la siembra o 10 meses despues de la siembra (" + dmySow + ")"); } } } if (irr.getAmountIrr() != null) { if (irr.getAmountIrr() < 0 || irr.getAmountIrr() > 1000) { addFieldError("irr.amountIrr", "Dato invalido valor entre 0 y 1000"); addActionError( "Se ingreso una cantidad aportada por hectarea invalida, por favor ingresar un valor entre 0 y 1000"); } } sowing = null; } }
/** * Encargado de guardar la informacion suministrada por el usuario para una siembra * * @return Estado del proceso */ public String saveData() { if (!usrDao.getPrivilegeUser(idUsrSystem, "crop/create") || !usrDao.getPrivilegeUser(idUsrSystem, "crop/modify")) { return BaseAction.NOT_AUTHORIZED; } String action = ""; // System.out.println("Entre a guardar la info"); /* * Se evalua dependiendo a la accion realizada: * 1) create: Al momento de guardar un registro por primera ves * 2) modify: Al momento de modificar un registro * 3) delete: Al momento de borrar un registro */ if (actExe.equals("create")) { action = "C"; } else if (actExe.equals("modify")) { action = "M"; } SessionFactory sessions = HibernateUtil.getSessionFactory(); Session session = sessions.openSession(); Transaction tx = null; // info = "La siembra ha sido modificado con exito"; try { tx = session.beginTransaction(); String dmy = new SimpleDateFormat("yyyy-MM-dd").format(sowing.getDateSow()); Date dateSow = new SimpleDateFormat("yyyy-MM-dd").parse(dmy); // event.setFields(event.getFields()); // event.setCropsTypes(new CropsTypes(2)); // event.setIdProjectProEve(event.getIdProjectProEve()); // event.setStatus(event.isStatus()); session.saveOrUpdate(event); if (sowing.getIdSow() == null) { Sowing sowTemp = sowDao.objectById(idCrop); if (sowTemp != null) { sowing.setIdSow(sowTemp.getIdSow()); } } sowing.setProductionEvents(new ProductionEvents(idCrop)); sowing.setDateSow(dateSow); if (sowing.getChemicalsSowing().getIdCheSow() == -1) { sowing.setChemicalsSowing(null); } if (sowing.getDoseUnits() != null && (sowing.getDoseUnits().getIdDosUni() == -1 || sowing.getChemicalsSowing().getIdCheSow() == 3)) { sowing.setDoseUnits(null); } // sowing.setSowingTypes(new SowingTypes(idCrop)); sowing.setStatus(true); session.saveOrUpdate(sowing); Maize maizeOld = maizeDao.objectById(this.getIdCrop()); if (maizeOld != null) session.delete(maizeOld); Beans beansOld = beansDao.objectById(this.getIdCrop()); if (beansOld != null) session.delete(beansOld); if (typeCrop == 1) { maize.setProductionEvents(new ProductionEvents(idCrop)); maize.setStatus(true); session.saveOrUpdate(maize); } else if (typeCrop == 2) { beans.setSeedsTypes(null); beans.setProductionEvents(new ProductionEvents(idCrop)); beans.setStatus(true); session.saveOrUpdate(beans); } else if (typeCrop == 3) { // Cassavas ca = new Cassavas(); // ca.setIdCas(null); // ca.setProductionEvents(pro); } LogEntities log = new LogEntities(); log.setIdLogEnt(null); log.setIdEntityLogEnt(idEntSystem); log.setIdObjectLogEnt(sowing.getIdSow()); log.setTableLogEnt("sowing"); log.setDateLogEnt(new Date()); log.setActionTypeLogEnt(action); session.saveOrUpdate(log); tx.commit(); state = "success"; if (action.equals("C")) { info = "La siembra ha sido agregada con exito"; // return "list"; } else if (action.equals("M")) { info = "La siembra ha sido modificada con exito"; // return "list"; } SfGuardUserDao sfDao = new SfGuardUserDao(); SfGuardUser sfUser = sfDao.getUserByLogin(user.getCreatedBy(), user.getNameUserUsr(), ""); GlobalFunctions.sendInformationCrop(idCrop, typeCrop, sfUser.getId()); } catch (HibernateException e) { if (tx != null) { tx.rollback(); } e.printStackTrace(); // System.out.println("error->"+e.getMessage()); state = "failure"; info = "Fallo al momento de agregar una siembra"; } catch (ParseException e) { } finally { session.close(); } // return ERROR; return "states"; }