/** * Suppression des suivis d'une tournée, c'est à dire du SuiviTour, CRTour, * SuiviEtape, CREtape, SuiviUsine, SuiviLigneProduit, et CRUsine * * @param log logger * @param manager manager injector * @param tour tour sur laquelle supprimer les suivis * @throws TopiaException if exception occured */ public static void deleteSuiviTour(org.apache.commons.logging.Log log, ManagerInjector manager, Tour tour) throws TopiaException { SuiviTour suiviTour = tour.getSuiviTour(); Camion camion = tour.getCamion(); if (log.isDebugEnabled()) { log.debug("Suppression des suivis pour le tour n°" + tour.getNumero() + " pour une date de livraison le " + tour.getDateLivraison() + " pour le camion " + camion.getSociete().getCode() + "-" + camion.getCode() + " : " + tour.getTopiaId()); } if (suiviTour != null) { TopiaContext transaction = manager.getTransaction(); SuiviTourDAO suiviTourDAO = SandraDAOHelper.getSuiviTourDAO(transaction); suiviTourDAO.delete(suiviTour); } }
@Override public void delete(E entity) throws TopiaException { { List<Tour> list = getContext() .getDAO(Tour.class) .findAllByProperties(Tour.PROPERTY_SUIVI_TOUR, entity); for (Tour item : list) { // sletellier : Set null only if target is concerned by deletion if (entity.equals(item.getSuiviTour())) { item.setSuiviTour(null); } } } super.delete(entity); }
public static String getLogTour(Tour tour, String additionnal) { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); String formatedDate = null; if (tour.getDateLivraison() != null) { formatedDate = format.format(tour.getDateLivraison()); } return "tour : topiaId[" + tour.getTopiaId() + "] num[" + tour.getNumero() + "] dateLivraison[" + formatedDate + "] " + additionnal; }
modifsCollectorImpactSuivi.add(Tour.class, Tour.PROPERTY_DATE_LIVRAISON, tour.getDateLivraison().getTime(), ibu.getTourDateLivraison().getTime()); modifsCollectorImpactSuivi.add(Tour.class, Tour.PROPERTY_NUMERO, tour.getNumero(), ibu.getTourNumero()); modifsCollectorImpactSuivi.add("Commande created", manager.isCommandeCreated()); modifsCollectorImpactSuivi.add("Commande actif changed", commandeActifIsModif); modifsCollector.add(Tour.class, Tour.PROPERTY_COMMENTAIRE, tour.getCommentaire(), ibu.getTourCommentaire()); modifsCollector.add(Tour.class, Tour.PROPERTY_DEFAUT_CHAUFFEUR, tour.getDefautChauffeur(), manager.getChauffeur()); if (oldEtape != null) { Tour oldTour = oldEtape.getTour(); Camion oldCamion = oldTour.getCamion(); String oldCamionSocieteCode = oldCamion.getSociete().getCode() + "-" + oldCamion.getCode(); modifsCollectorImpactSuivi.add(Tour.class, Tour.TOPIA_ID, oldTour.getTopiaId(), tour.getTopiaId()); modifsCollectorImpactSuivi.add(Societe.class, Societe.PROPERTY_CODE, oldCamionSocieteCode, ibu.getCamionCodeSociete()); oldTour.getCamion().getTopiaId(), "lancien tour a change"); tour.setDateChargementInitiale(tourChargement); tour.setDateChargementReel(chargementDate); tour.setCommentaire(ibu.getTourCommentaire()); tour.setDefautChauffeur(manager.getChauffeur());
modifsCollectorImpactSuivi.add(Tour.class, Tour.PROPERTY_DATE_LIVRAISON, tour.getDateLivraison().getTime(), ibu.getTourDateLivraison().getTime()); modifsCollectorImpactSuivi.add(Tour.class, Tour.PROPERTY_NUMERO, tour.getNumero(), ibu.getTourNumero()); modifsCollectorImpactSuivi.add("Commande created", manager.isCommandeCreated()); modifsCollectorImpactSuivi.add("Commande actif changed", commandeActifIsModif); modifsCollector.add(Tour.class, Tour.PROPERTY_COMMENTAIRE, tour.getCommentaire(), ibu.getTourCommentaire()); modifsCollector.add(Tour.class, Tour.PROPERTY_DEFAUT_CHAUFFEUR, tour.getDefautChauffeur(), manager.getChauffeur()); if (oldEtape != null) { Tour oldTour = oldEtape.getTour(); Camion oldCamion = oldTour.getCamion(); String oldCamionSocieteCode = oldCamion.getSociete().getCode() + "-" + oldCamion.getCode(); modifsCollectorImpactSuivi.add(Tour.class, Tour.TOPIA_ID, oldTour.getTopiaId(), tour.getTopiaId()); modifsCollectorImpactSuivi.add(Societe.class, Societe.PROPERTY_CODE, oldCamionSocieteCode, ibu.getCamionCodeSociete()); oldTour.getCamion().getTopiaId(), "lancien tour a change"); log.info(msg); tour.setCommentaire(ibu.getTourCommentaire()); tour.setDefautChauffeur(manager.getChauffeur()); tour.setDateChargement(ibu.getTourChargement());
calendar.setTime(tour.getDateLivraison()); int numero = tour.getNumero(); Camion camion = tour.getCamion();
tour.setSuiviTour(suiviTour); tourDAO.update(tour); SuiviTour suiviTourOld = tour.getSuiviTour(); if (suiviTourOld != null && !suiviTourOld.getTopiaId().equals(suiviTour.getTopiaId())) { if (StringUtils.isNotEmpty(chauffeur)) { serviceNotifier.notifyEvent("updateReportDriverNotAffectedToTruck", ServiceHelper.getSandraName(), getUserLogin(), chauffeur, tour.getTopiaId()); SuiviTour suiviTourPrecedentDuTourPrecedent = tourPrecedentDuTourPrecedent.getSuiviTour(); suiviTourPrecedentDuTourPrecedent.setDuree(date); suiviTourDAO.update(suiviTourPrecedentDuTourPrecedent);
public static void deleteEtape(TopiaContext transaction, Etape etape) throws TopiaException { Tour tour = etape.getTour(); EtapeDAO etapeDAO = SandraDAOHelper.getEtapeDAO(transaction); SuiviLigneProduitDAO suiviLigneProduitDAO = SandraDAOHelper.getSuiviLigneProduitDAO(transaction); SuiviTour suiviTour = tour.getSuiviTour(); if (suiviTour != null) { for (SuiviEtape suiviEtape : suiviTour.getSuiviEtapes()) { suiviEtape.setEtape(null); } for (SuiviUsine suiviUsine : suiviTour.getSuiviUsines()) { for (SuiviLigneProduit suiviLigneProduit : suiviUsine.getSuiviLigneProduit()) { suiviLigneProduit.setLigneProduit(null); } } tour.setSuiviTour(null); } // remove missing for (LigneProduit produit : etape.getProduits()) { List<SuiviLigneProduit> suiviLigneProduits = suiviLigneProduitDAO.findAllByLigneProduit(produit); for (SuiviLigneProduit suiviLigneProduit : suiviLigneProduits) { suiviLigneProduit.setLigneProduit(null); } } tour.removeEtapes(etape); etapeDAO.delete(etape); if (suiviTour != null) { SuiviTourDAO suiviTourDAO = SandraDAOHelper.getSuiviTourDAO(transaction); suiviTourDAO.delete(suiviTour); } }
SuiviTour suiviTour = tour.getSuiviTour(); List<LigneProduit> produits = new ArrayList<LigneProduit>(); List<Etape> etapes = tour.getEtapes(); for (Etape etape : etapes) { produits.addAll(etape.getProduits());
/** * Calcul de l'usine de départ pour un tour * * @param tour tour * @return usine de départ */ protected SuiviUsine getUsineDepartTour(Tour tour) { SuiviUsine depart = null; SuiviTour suiviTour = tour.getSuiviTour(); if (suiviTour != null) { List<SuiviUsine> suiviUsines = suiviTour.getSuiviUsines(); if (suiviUsines != null) { for (SuiviUsine usine : suiviUsines) { if (depart == null || usine.getNouvelleOrdre() < depart.getNouvelleOrdre()) { depart = usine; } } } } return depart; }
log.info("Found tour (" + tour.getTopiaId() + ") for " + camion.getSociete().getCode() + "-" + camion.getCode() + " at " + kmDepart); SuiviTour suiviTour = tour.getSuiviTour(); if (suiviTour != null) { List<SuiviUsine> suiviUsines = suiviTour.getSuiviUsines(); compteursKmDAO.update(compteurKm); log.info("Update tour (" + tour.getTopiaId() + ") for " + camion.getSociete().getCode() + "-" + camion.getCode() + " at " + kmArrivee); } else { log.warn("SuiviTour not found (" + tour.getTopiaId() + ") for " + camion.getSociete().getCode() + "-" + camion.getCode() + " at " + kmDepart); SuiviTour previousSuiviTour = previousTour.getSuiviTour();
public List<String> getTopiaIDTourForCamion(TopiaContext transaction, String codeSociete, String codeCamion) throws TopiaException { if (log.isDebugEnabled()) { log.debug("[" + getUserLogin() + "]" + " getTopiaIDTourForCamion codeSociete[" + codeSociete + "] codeCamion[" + codeCamion + "]"); } String requete = "FROM com.cybelia.sandra.entities.Tour tour WHERE tour.dateLivraison >= :dateDebut AND camion = :camion AND tour.actif = true"; // Calcul de la date Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, -7); Date date = DateUtil.setMinTimeOfDay(calendar.getTime()); List<Camion> camions = findAllAssociatedCamions(transaction, codeSociete, codeCamion); List<String> topiaIdtours = new ArrayList<String>(); for (Camion camion : camions) { List<Object> arguments = new ArrayList<Object>(); arguments.add("dateDebut"); arguments.add(date); arguments.add("camion"); arguments.add(camion); List<Tour> tours = transaction.findAll(requete, arguments.toArray()); for (Tour tour : tours) { topiaIdtours.add(tour.getTopiaId()); } } return topiaIdtours; }
public static void notifyTourChange(ManagerInjector manager, Tour tour, String camionTopiaId, String comment) throws TopiaException { LogDAO logDAO = SandraDAOHelper.getLogDAO(manager.getTransaction()); String tourTopiaId = tour.getTopiaId(); com.cybelia.sandra.entities.synchro.Log synchroLog = logDAO.findByProperties( com.cybelia.sandra.entities.synchro.Log.PROPERTY_TOUR_TOPIA_ID, tourTopiaId, com.cybelia.sandra.entities.synchro.Log.PROPERTY_CAMION_TOPIA_ID, camionTopiaId); if (synchroLog == null) { synchroLog = logDAO.create( com.cybelia.sandra.entities.synchro.Log.PROPERTY_TOUR_TOPIA_ID, tourTopiaId, com.cybelia.sandra.entities.synchro.Log.PROPERTY_CAMION_TOPIA_ID, camionTopiaId); } int typeModif = TourTypeModif.MODIF; if (!tour.isActif()) { typeModif = TourTypeModif.SUPPR; } if (synchroLog.getTypeModif() == TourTypeModif.SUPPR && typeModif == TourTypeModif.SUPPR) { // do nothing, deletion is already notified return; } // else saving new log synchroLog.setTypeModif(typeModif); saveLog(manager, synchroLog, comment); }
tour.getCamion().getTopiaId(), "Eleveur correspondant a ete marque comme duplique");
@Override public void delete(E entity) throws TopiaException { { List<Tour> list = getContext() .getDAO(Tour.class) .findAllByProperties(Tour.PROPERTY_CAMION, entity); for (Tour item : list) { // sletellier : Set null only if target is concerned by deletion if (entity.equals(item.getCamion())) { item.setCamion(null); } } } { List<Chauffeur> list = getContext().getHibernate().createSQLQuery( "SELECT main.topiaid " + "from chauffeur main, camions_defautchauffeurs secondary " + "where main.topiaid=secondary.defautChauffeurs" + " and secondary.camions='" + entity.getTopiaId() + "'") .addEntity("main", com.cybelia.sandra.SandraDAOHelper.getImplementationClass(Chauffeur.class)).list(); for (Chauffeur item : list) { item.removeCamions(entity); } } super.delete(entity); }
if (entity.equals(item.getDefautChauffeur())) { item.setDefautChauffeur(null);
calendar.setTime(tour.getDateLivraison()); int numero = tour.getNumero(); Camion camion = tour.getCamion();
tour.setSuiviTour(suiviTour); tourDAO.update(tour); SuiviTour suiviTourOld = tour.getSuiviTour(); if (suiviTourOld != null && !suiviTourOld.getTopiaId().equals(suiviTour.getTopiaId())) { if (StringUtils.isNotEmpty(chauffeur)) { serviceNotifier.notifyEvent("updateReportDriverNotAffectedToTruck", ServiceHelper.getSandraName(), getUserLogin(), chauffeur, tour.getTopiaId()); SuiviTour suiviTourPrecedentDuTourPrecedent = tourPrecedentDuTourPrecedent.getSuiviTour(); suiviTourPrecedentDuTourPrecedent.setDuree(date); suiviTourDAO.update(suiviTourPrecedentDuTourPrecedent);
public static String getLogTour(Tour tour, String additionnal) { SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy"); String formatedDate = null; if (tour.getDateLivraison() != null) { formatedDate = format.format(tour.getDateLivraison()); } return "tour : topiaId[" + tour.getTopiaId() + "] num[" + tour.getNumero() + "] dateLivraison[" + formatedDate + "] " + additionnal; }