package pt.utl.ist.scripts.runOnce.residenceManagement; import java.util.ArrayList; import net.sourceforge.fenixedu.domain.accounting.ResidenceEvent; import net.sourceforge.fenixedu.domain.residence.ResidenceMonth; import net.sourceforge.fenixedu.domain.residence.ResidenceYear; import net.sourceforge.fenixedu.util.Month; import pt.utl.ist.scripts.commons.AtomicScript; public class CreateResidencePaymentCodes extends AtomicScript { @Override protected void run() throws Exception { ResidenceMonth month = getResidenceMonthFor(Month.APRIL); System.out.println(String.format("Create payment codes for events of %s of %s", month.getYear().getYear(), month .getMonth().getName())); for (ResidenceEvent event : month.getEventsWithoutPaymentCodes()) { System.out.println("Creating payment code for: " + event.getPerson().getName()); } net.sourceforge.fenixedu.applicationTier.Servico.residenceManagement.CreateResidencePaymentCodes .run(new ArrayList(month.getEventsWithoutPaymentCodes())); } private ResidenceMonth getResidenceMonthFor(Month month) { ResidenceYear year = ResidenceYear.getCurrentYear(); for (ResidenceMonth residenceMonth : year.getMonths()) { if (month.equals(residenceMonth.getMonth())) { return residenceMonth; } } return null; } /** * @param args */ public static void main(String[] args) { processWriteTransaction(new CreateResidencePaymentCodes()); } }