/**
*
*/
package net.conselldemallorca.helium.webapp.mvc;
import javax.servlet.http.HttpServletRequest;
import net.conselldemallorca.helium.core.model.dto.InstanciaProcesDto;
import net.conselldemallorca.helium.core.model.service.DissenyService;
import net.conselldemallorca.helium.core.model.service.ExpedientService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
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.support.SessionStatus;
/**
* Controlador per la gestiĆ³ dels formularis dels camps de tipus registre
* a dins l'expedient
*
* @author Limit Tecnologies <limit@limit.es>
*/
@Controller
public class ExpedientRegistreController extends CommonRegistreController {
private ExpedientService expedientService;
@Autowired
public ExpedientRegistreController(
ExpedientService expedientService,
DissenyService dissenyService) {
super(dissenyService);
this.expedientService = expedientService;
}
@ModelAttribute("instanciaProces")
public InstanciaProcesDto populateInstanciaProces(
@RequestParam(value = "id", required = true) String id) {
return expedientService.getInstanciaProcesById(id, true, true, true);
}
@RequestMapping(value = "/expedient/varRegistre", method = RequestMethod.GET)
public String registreGet(HttpServletRequest request) {
return super.registreGet(request);
}
@RequestMapping(value = "/expedient/varRegistre", method = RequestMethod.POST)
public String registrePost(
HttpServletRequest request,
@RequestParam(value = "id", required = true) String id,
@RequestParam(value = "registreId", required = true) Long registreId,
@RequestParam(value = "index", required = false) Integer index,
@RequestParam(value = "submit", required = true) String submit,
@ModelAttribute("command") Object command,
BindingResult result,
SessionStatus status,
ModelMap model) {
return super.registrePost(request, id, registreId, index, submit, command, result, status, model);
}
@RequestMapping(value = "/expedient/varRegistreEsborrar")
public String esborrarMembre(
HttpServletRequest request,
@RequestParam(value = "id", required = true) String id,
@RequestParam(value = "registreId", required = true) Long registreId,
@RequestParam(value = "index", required = true) int index) {
return super.esborrarMembre(request, id, registreId, index);
}
@Override
public void esborrarRegistre(
HttpServletRequest request,
String id,
String campCodi,
boolean multiple,
int index) {
expedientService.esborrarRegistre(id, campCodi, index);
}
@Override
public Object[] getValorRegistre(
HttpServletRequest request,
Long entornId,
String id,
String campCodi) {
return (Object[])expedientService.getVariable(id, campCodi);
}
@Override
public void guardarRegistre(
HttpServletRequest request,
String id,
String campCodi,
boolean multiple,
Object[] valors,
int index) {
expedientService.guardarRegistre(id, campCodi, valors, index);
}
@Override
public void guardarRegistre(
HttpServletRequest request,
String id,
String campCodi,
boolean multiple,
Object[] valors) {
expedientService.guardarRegistre(id, campCodi, valors);
}
@Override
public String redirectUrl(String id, String campCodi) {
return "redirect:/expedient/dadaModificar.html?id=" + id + "&var=" + campCodi;
}
@Override
public String registreUrl() {
return "expedient/varRegistre";
}
}