Author: bpoussin Date: 2011-04-06 18:41:56 +0200 (Wed, 06 Apr 2011) New Revision: 59 Url: http://chorem.org/repositories/revision/chorem/59 Log: debut de requete pour la recuperation des infos a afficher Modified: trunk/chorem-web/src/main/java/org/chorem/action/HomeAction.java Modified: trunk/chorem-web/src/main/java/org/chorem/action/HomeAction.java =================================================================== --- trunk/chorem-web/src/main/java/org/chorem/action/HomeAction.java 2011-04-06 14:45:48 UTC (rev 58) +++ trunk/chorem-web/src/main/java/org/chorem/action/HomeAction.java 2011-04-06 16:41:56 UTC (rev 59) @@ -2,6 +2,7 @@ import com.opensymphony.xwork2.ActionContext; import java.text.ParseException; +import java.util.Collections; import java.util.Date; import java.util.HashSet; import java.util.LinkedList; @@ -13,10 +14,15 @@ import org.apache.commons.logging.LogFactory; import org.chorem.entities.Company; import org.chorem.entities.Interval; +import org.chorem.entities.Invoice; +import org.chorem.entities.Invoiceable; import org.chorem.entities.Person; import org.chorem.entities.PersonImpl; +import org.chorem.entities.ProjectOrder; +import org.chorem.entities.Task; import org.chorem.entities.Touch; import org.chorem.entities.TouchImpl; +import org.chorem.entities.Worker; import org.nuiton.wikitty.WikittyProxy; import org.nuiton.wikitty.WikittyUtil; import org.nuiton.wikitty.entities.BusinessEntity; @@ -25,6 +31,7 @@ import org.nuiton.wikitty.entities.WikittyUser; import org.nuiton.wikitty.entities.WikittyUserImpl; import org.nuiton.wikitty.search.Criteria; +import org.nuiton.wikitty.search.FacetTopic; import org.nuiton.wikitty.search.PagedResult; import org.nuiton.wikitty.search.Search; @@ -69,7 +76,7 @@ protected int nbTouchForNext7DaysForMe = 0; /** nombre de projet en cours */ - protected int nbProjectOrderOpen = 0; + protected List<FacetTopic> nbProjectOrderState = Collections.EMPTY_LIST; /** nombre de tache a faire ou finir */ protected int nbTaskOpen = 0; protected int nbTaskOpenForMe = 0; @@ -119,16 +126,42 @@ .gt(Touch.FQ_FIELD_INTERVAL_BEGINDATE, now) .criteria().addFacetField(Touch.FQ_FIELD_TOUCH_PARTICIPANT).setEndIndex(0); + Criteria projectOrder = Search.query().exteq(ProjectOrder.EXT_PROJECTORDER) + .criteria().addFacetField(ProjectOrder.FQ_FIELD_PROJECTORDER_STATUS).setEndIndex(0); + Criteria taskOpen = Search.query().exteq(Task.EXT_TASK) + .eq(Task.FQ_FIELD_TASK_STATUS, "") + .criteria().setEndIndex(0); + + + Search taskOpenForMeSearch = Search.query().exteq(Worker.EXT_WORKER) + .eq(Worker.FQ_FIELD_WORKER_PERSON, userId); + taskOpenForMeSearch.associated(Worker.FQ_FIELD_WORKER_TASK) + .eq(Task.FQ_FIELD_TASK_STATUS, "closed"); + Criteria taskOpenForMe = taskOpenForMeSearch.criteria().setEndIndex(0); + + + Criteria invoiceToSend = Search.query().exteq(Invoiceable.EXT_INVOICEABLE) + .extneq(Invoice.EXT_INVOICE) + .criteria().setEndIndex(0); + // FIXME poussin 20110406 il faut evaluer les conditions pour savoir + // lesquels sont reellement a facturer. idem pour les values + + PagedResult<Wikitty>[] results = proxy.multiFindAllByCriteria( company, person, touchLast7days, - touchNext7days + touchNext7days, + projectOrder, + taskOpen, + taskOpenForMe, + invoiceToSend ); nbCompany = results[0].getNumFound(); nbPerson = results[1].getNumFound(); + nbTouchForLast7Days = results[2].getNumFound(); nbTouchForLast7DaysForMe = results[2].getTopicCount(Touch.FQ_FIELD_TOUCH_PARTICIPANT, userId); @@ -136,10 +169,12 @@ nbTouchForNext7DaysForMe = results[3].getTopicCount(Touch.FQ_FIELD_TOUCH_PARTICIPANT, userId); -// nbProjectOrderOpen = results[6].getNumFound(); -// nbTaskOpen = results[7].getNumFound(); -// nbTaskOpenForMe = results[8].getNumFound(); -// nbInvoiceToSend = results[9].getNumFound(); + nbProjectOrderState = results[4].getTopic(ProjectOrder.FQ_FIELD_PROJECTORDER_STATUS); + + nbTaskOpen = results[5].getNumFound(); + nbTaskOpenForMe = results[6].getNumFound(); + + nbInvoiceToSend = results[7].getNumFound(); // invoiceAmountToSend = results[10].getNumFound(); // // cashFlow = new double[]{ @@ -189,8 +224,8 @@ return nbPerson; } - public int getNbProjectOrderOpen() { - return nbProjectOrderOpen; + public List<FacetTopic> getNbProjectOrderState() { + return nbProjectOrderState; } public int getNbTaskOpen() {