package net.conselldemallorca.helium.webapp.v3.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import net.conselldemallorca.helium.v3.core.api.service.ExecucioMassivaService; import net.conselldemallorca.helium.webapp.mvc.util.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; /** * Controlador per la execucions massives * * @author Limit Tecnologies <limit@limit.es> */ @Controller @RequestMapping("/v3/execucionsMassives") public class ExecucionsMassivesController extends BaseController { @Autowired private ExecucioMassivaService execucioMassivaService; @RequestMapping(value = "/{nivell}", method = RequestMethod.GET) public String get( HttpServletRequest request, @PathVariable String nivell, Model model) { model.addAttribute("nivell",nivell); return "v3/execucionsMassives"; } @RequestMapping(value="{nivell}/refreshBarsExpedientMassive", method = RequestMethod.GET, produces={"application/json; charset=UTF-8"}) @ResponseBody public String refreshBarsExpedientMassiveAct( @RequestParam(value = "results", required = false) int numResults, HttpServletRequest request, HttpServletResponse response, @PathVariable String nivell, ModelMap model, HttpSession session) throws ServletException, IOException { return execucioMassivaService.getJsonExecucionsMassivesByUser(numResults,(nivell.equalsIgnoreCase("admin") && request.isUserInRole("ROLE_ADMIN"))); } /** * Obtenir les dades de l'execució massiva i els seus expedients. * @throws Exception */ @RequestMapping(value="getExecucioMassivaDetall", method = RequestMethod.GET, produces={"application/json; charset=UTF-8"}) @ResponseBody public String getExecucioMassivaDetall( @RequestParam(value = "execucioMassivaId", required = false) Long execucioMassivaId, HttpServletRequest request, HttpServletResponse response, ModelMap model, HttpSession session) throws ServletException, IOException { return execucioMassivaService.getExecucioMassivaDetall(execucioMassivaId); } /** * Refresca las barras de progreso de detalle de las acciones masivas * @throws Exception */ @RequestMapping(value = "cancelExpedientMassiveAct", method = RequestMethod.POST) @ResponseBody public void cancelExpedientMassiveAct( @RequestParam(value = "idExp", required = false) Long idExp, HttpServletRequest request, HttpServletResponse response, ModelMap model, HttpSession session ) throws Exception { execucioMassivaService.cancelarExecucio(idExp); } }