r2910 - in trunk: lima-business/src/main/java/org/chorem/lima/business lima-business/src/main/java/org/chorem/lima/business/ejb lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/model
Author: jpepin Date: 2010-05-26 20:37:42 +0200 (Wed, 26 May 2010) New Revision: 2910 Url: http://chorem.org/repositories/revision/lima/2910 Log: Cr?\195?\169ation d'exercice : s?\195?\169lection de la date au jour pr?\195?\168s Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/FiscalPeriodService.java trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/AddPeriod.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/model/FiscalPeriodTableModel.java Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/FiscalPeriodService.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/FiscalPeriodService.java 2010-05-26 15:14:58 UTC (rev 2909) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/FiscalPeriodService.java 2010-05-26 18:37:42 UTC (rev 2910) @@ -37,6 +37,8 @@ List<FiscalPeriod> getAllFiscalPeriods() throws LimaException; List<FiscalPeriod> getAllUnblockedFiscalPeriods() throws LimaException; + + FiscalPeriod getLastFiscalPeriod() throws LimaException; void createFiscalPeriod(FiscalPeriod fiscalPeriod) throws LimaException; Modified: trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java =================================================================== --- trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java 2010-05-26 15:14:58 UTC (rev 2909) +++ trunk/lima-business/src/main/java/org/chorem/lima/business/ejb/FiscalPeriodServiceImpl.java 2010-05-26 18:37:42 UTC (rev 2910) @@ -41,6 +41,7 @@ import org.nuiton.topia.TopiaContextFactory; import org.nuiton.topia.TopiaException; import org.nuiton.topia.TopiaNotFoundException; +import org.nuiton.topia.framework.TopiaQuery; /** @@ -172,6 +173,35 @@ return result; } + @Override + public FiscalPeriod getLastFiscalPeriod() throws LimaException { + FiscalPeriod result = null; + TopiaContext transaction = null; + try { + // basic check done, make check in database + // TODO move it into JTA + transaction = rootContext.beginTransaction(); + + FiscalPeriodDAO fiscalPeriodDAO = + LimaCallaoDAOHelper.getFiscalPeriodDAO(transaction); + TopiaQuery query = fiscalPeriodDAO.createQuery(); + fiscalPeriodDAO.findAllByQuery(query); + query.addOrderDesc(FiscalPeriod.END_DATE); + + //get the last fiscal period + result = fiscalPeriodDAO.findByQuery(query); + + } + catch (TopiaException ex) { + doCatch(transaction, ex, log); + } + finally { + doFinally(transaction, log); + } + + return result; + } + /** * to block a fiscal period * Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/AddPeriod.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/AddPeriod.jaxx 2010-05-26 15:14:58 UTC (rev 2909) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/AddPeriod.jaxx 2010-05-26 18:37:42 UTC (rev 2910) @@ -15,15 +15,42 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ##% --> <JDialog modal="true"> - + <org.chorem.lima.ui.fiscalperiod.model.FiscalPeriodTableModel id="modelFiscalPeriodTable"/> <script> <![CDATA[ - import org.nuiton.util.MonthEnum; + import org.chorem.lima.entity.FiscalPeriod; + import org.chorem.lima.business.FiscalPeriodService; + import org.chorem.lima.service.LimaServiceFactory; + import org.chorem.lima.business.LimaException; + import org.apache.commons.lang.time.DateUtils; import org.chorem.lima.entity.FiscalPeriodImpl; - import org.chorem.lima.ui.fiscalperiod.model.FiscalPeriodMonthComboBoxModel; - import org.chorem.lima.ui.fiscalperiod.model.FiscalPeriodSplinnerModel; - import org.apache.commons.lang.time.DateUtils; - import java.util.Calendar; + + protected FiscalPeriodService fiscalPeriodService = LimaServiceFactory.getInstance().getFiscalPeriodService(); + + // set begin date picker + Date endDate = null; + Calendar calendarBegin = Calendar.getInstance(); + // set begindate to JAN 1 - 0:00.000 of this years + Date beginDate = calendarBegin.getTime(); + beginDate = DateUtils.truncate(beginDate, Calendar.DATE); + try { + FiscalPeriod result = fiscalPeriodService.getLastFiscalPeriod(); + if (result != null){ + beginDate = result.getEndDate(); + } + } + catch (LimaException eee){ + if(log.isDebugEnabled()){ + log.debug("Can't get last fiscal period", eee); + } + } + beginDate = DateUtils.addDays(beginDate, 1); + getBeginDatePicker().setDate(beginDate); + + // get end date + Calendar calendarEnd = Calendar.getInstance(); + endDate = DateUtils.addYears(beginDate, 1); + getEndDatePicker().setDate(endDate); protected void performOk() { if (period == null) { @@ -32,26 +59,17 @@ } // get begin date - Calendar calendarBegin = Calendar.getInstance(); - calendarBegin.set(Calendar.MONTH, ((MonthEnum)periodBeginMonth.getSelectedItem()).ordinal()); - calendarBegin.set(Calendar.YEAR, (Integer)periodBeginYear.getValue()); - // set begindate to 0:00.000 - Date beginDate = calendarBegin.getTime(); - beginDate = DateUtils.truncate(beginDate, Calendar.MONTH); + beginDate = beginDatePicker.getDate(); + // set begindate to 0:00.000 + beginDate = DateUtils.truncate(beginDate, Calendar.DATE); // get end date - Calendar calendarEnd = Calendar.getInstance(); - calendarEnd.set(Calendar.MONTH, ((MonthEnum)periodEndMonth.getSelectedItem()).ordinal()); - calendarEnd.set(Calendar.YEAR, (Integer)periodEndYear.getValue()); - //set end date to last day of month - calendarEnd.set(Calendar.DAY_OF_MONTH, calendarEnd.getActualMaximum(Calendar.DAY_OF_MONTH)); + endDate = endDatePicker.getDate(); //set time to max 23:59.999 - Date endDate = calendarEnd.getTime(); endDate = DateUtils.addDays(endDate, 1); - endDate = DateUtils.truncate(endDate, Calendar.MONTH); + endDate = DateUtils.truncate(endDate, Calendar.DATE); endDate = DateUtils.addMilliseconds(endDate,-1); - getPeriod().setBeginDate(beginDate); getPeriod().setEndDate(endDate); @@ -73,22 +91,16 @@ <JLabel text="lima.period.begindate"/> </cell> <cell> - <JComboBox id="periodBeginMonth" model="{new FiscalPeriodMonthComboBoxModel(MonthEnum.JANUARY)}"/> + <org.jdesktop.swingx.JXDatePicker id="beginDatePicker"/> </cell> - <cell> - <JSpinner id="periodBeginYear" model="{new FiscalPeriodSplinnerModel()}"/> - </cell> </row> <row> <cell> <JLabel text="lima.period.enddate"/> </cell> <cell> - <JComboBox id="periodEndMonth" model="{new FiscalPeriodMonthComboBoxModel(MonthEnum.DECEMBER)}"/> + <org.jdesktop.swingx.JXDatePicker id="endDatePicker"/> </cell> - <cell> - <JSpinner id="periodEndYear" model="{new FiscalPeriodSplinnerModel()}"/> - </cell> </row> <row> <cell> Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java 2010-05-26 15:14:58 UTC (rev 2909) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java 2010-05-26 18:37:42 UTC (rev 2910) @@ -64,6 +64,7 @@ addPeriodDialog.setVisible(true); FiscalPeriod fiscalPeriod = addPeriodDialog.getPeriod(); + log.debug(fiscalPeriod); // null = cancel if (fiscalPeriod!= null) { //check if fiscalperiod have 12 months, ask a confirmation Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/model/FiscalPeriodTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/model/FiscalPeriodTableModel.java 2010-05-26 15:14:58 UTC (rev 2909) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/model/FiscalPeriodTableModel.java 2010-05-26 18:37:42 UTC (rev 2910) @@ -60,7 +60,7 @@ */ @Override public int getRowCount() { - + int result = 0; try { result = fiscalPeriodService.getAllFiscalPeriods().size(); @@ -114,7 +114,6 @@ return result; } - /* * @see javax.swing.table.TableModel#getColumnClass(int) */
participants (1)
-
jpepin@users.chorem.org