double c = 0; ZoneDAO dao = fr.ifremer.isisfish.IsisFishDAOHelper.getZoneDAO(context.getDB()); List zones = dao.findAll(); log.info("group.getId " + group.getId()); log.info("departureZone " + departureZone); log.info("arrivalZone " + arrivalZone); // ############# Migration de REPRODUCTION ################## if(group.getId() >= 5) { // ############# Migration ALLER de la REPRODUCTION ################## if(("Bec_Adu_Nord".equals(departureZone.getName()) && "Bec_Zone_Repro_Nord".equals(arrivalZone.getName())) || ("Bec_Adu_Centre".equals(departureZone.getName()) && "Bec_Zone_Repro_Centre".equals(arrivalZone.getName())) || ("AMP_Bec_Adu_Centre".equals(departureZone.getName()) && "Bec_Zone_Repro_AMP_Centre".equals(arrivalZone.getName())) || ("ScenarioAMP_vie_Adu_Bec".equals(departureZone.getName()) && "Bec_Zone_Repro_Sud".equals(arrivalZone.getName())) || ("ScenarioAMP_AMP_vie_Adu_Bec".equals(departureZone.getName()) && "Bec_Zone_Repro_AMP_Sud".equals(arrivalZone.getName())) || ("Bec_Adu_Corne_Sud".equals(departureZone.getName()) && "Bec_Zone_Repro_Corne_Sud".equals(arrivalZone.getName())) ) { if(group.getId() == 5) { c = 0.46 * 1/(1-0.23) * 0.5; // Pmt = 0.23; 0.46; 0.24; 0.07 return c; } else if(group.getId() == 6) { c = 0.46 * 1/(1-0.23) * 0.85; return c; } else if(group.getId() >= 7) { c = 0.46 * 1/(1-0.23) * 1; return c; } } // ############# Migration RETOUR de la REPRODUCTION ################## // #### Migration vers la zone de vie d'origine #### else if(("Bec_Zone_Repro_Nord".equals(departureZone.getName()) && "Bec_Adu_Nord".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Centre".equals(departureZone.getName()) && "Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Centre".equals(departureZone.getName()) && "AMP_Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Sud".equals(departureZone.getName()) && "ScenarioAMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Sud".equals(departureZone.getName()) && "ScenarioAMP_AMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Corne_Sud".equals(departureZone.getName()) && "Bec_Adu_Corne_Sud".equals(arrivalZone.getName())) ) { c = 0.95; return c; } // #### Migration vers les zones de vie adjancentes #### else if(("Bec_Zone_Repro_Nord".equals(departureZone.getName()) && "Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Nord".equals(departureZone.getName()) && "AMP_Bec_Adu_Centre".equals(arrivalZone.getName())) ) { Zone zone1 = dao.findByName("Bec_Adu_Centre"); Zone zone2 = dao.findByName("AMP_Bec_Adu_Centre"); c = (arrivalZone.getCell().size() / (zone1.getCell().size() + zone2.getCell().size()) ) * 0.05; log.info("coeff migration c " + c); return c; } else if(("Bec_Zone_Repro_Centre".equals(departureZone.getName()) && "Bec_Adu_Nord".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Centre".equals(departureZone.getName()) && "AMP_Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Centre".equals(departureZone.getName()) && "ScenarioAMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Centre".equals(departureZone.getName()) && "ScenarioAMP_AMP_vie_Adu_Bec".equals(arrivalZone.getName())) ) { Zone zone1 = dao.findByName("Bec_Adu_Nord"); Zone zone2 = dao.findByName("AMP_Bec_Adu_Centre"); Zone zone3 = dao.findByName("ScenarioAMP_vie_Adu_Bec"); Zone zone4 = dao.findByName("ScenarioAMP_AMP_vie_Adu_Bec"); c = (arrivalZone.getCell().size() / (zone1.getCell().size() + zone2.getCell().size() + zone3.getCell().size() + zone4.getCell().size()) ) * 0.05; log.info("coeff migration c " + c); return c; } else if(("Bec_Zone_Repro_AMP_Centre".equals(departureZone.getName()) && "Bec_Adu_Nord".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Centre".equals(departureZone.getName()) && "Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Centre".equals(departureZone.getName()) && "ScenarioAMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Centre".equals(departureZone.getName()) && "ScenarioAMP_AMP_vie_Adu_Bec".equals(arrivalZone.getName())) ) { Zone zone1 = dao.findByName("Bec_Adu_Nord"); Zone zone2 = dao.findByName("Bec_Adu_Centre"); Zone zone3 = dao.findByName("ScenarioAMP_vie_Adu_Bec"); Zone zone4 = dao.findByName("ScenarioAMP_AMP_vie_Adu_Bec"); c = (arrivalZone.getCell().size() / (zone1.getCell().size() + zone2.getCell().size() + zone3.getCell().size() + zone4.getCell().size()) ) * 0.05; log.info("coeff migration c " + c); return c; } else if(("Bec_Zone_Repro_Sud".equals(departureZone.getName()) && "ScenarioAMP_AMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Sud".equals(departureZone.getName()) && "Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Sud".equals(departureZone.getName()) && "AMP_Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Sud".equals(departureZone.getName()) && "Bec_Adu_Corne_Sud".equals(arrivalZone.getName())) ) { Zone zone1 = dao.findByName("ScenarioAMP_AMP_vie_Adu_Bec"); Zone zone2 = dao.findByName("Bec_Adu_Centre"); Zone zone3 = dao.findByName("Bec_Adu_AMP_Centre"); Zone zone4 = dao.findByName("Bec_Adu_Corne_Sud"); c = (arrivalZone.getCell().size() / (zone1.getCell().size() + zone2.getCell().size() + zone3.getCell().size() + zone4.getCell().size()) ) * 0.05; log.info("coeff migration c " + c); return c; } else if(("Bec_Zone_Repro_AMP_Sud".equals(departureZone.getName()) && "ScenarioAMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Sud".equals(departureZone.getName()) && "Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Sud".equals(departureZone.getName()) && "AMP_Bec_Adu_Centre".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_AMP_Sud".equals(departureZone.getName()) && "Bec_Adu_Corne_Sud".equals(arrivalZone.getName())) ) { Zone zone1 = dao.findByName("ScenarioAMP_vie_Adu_Bec"); Zone zone2 = dao.findByName("Bec_Adu_Centre"); Zone zone3 = dao.findByName("AMP_Bec_Adu_Centre"); Zone zone4 = dao.findByName("Bec_Adu_Corne_Sud"); c = (arrivalZone.getCell().size() / (zone1.getCell().size() + zone2.getCell().size() + zone3.getCell().size() + zone4.getCell().size()) ) * 0.05; log.info("coeff migration c " + c); return c; } else if(("Bec_Zone_Repro_Corne_Sud".equals(departureZone.getName()) && "ScenarioAMP_vie_Adu_Bec".equals(arrivalZone.getName())) || ("Bec_Zone_Repro_Corne_Sud".equals(departureZone.getName()) && "ScenarioAMP_AMP_vie_Adu_Bec".equals(arrivalZone.getName())) ) { Zone zone1 = dao.findByName("ScenarioAMP_vie_Adu_Bec"); Zone zone2 = dao.findByName("ScenarioAMP_AMP_vie_Adu_Bec"); c = (arrivalZone.getCell().size() / (zone1.getCell().size() + zone2.getCell().size() ) ) * 0.05; log.info("coeff migration c " + c); return c; } } return 0;