/**
* Este arquivo é parte do Biblivre3.
*
* Biblivre3 é um software livre; você pode redistribuí-lo e/ou
* modificá-lo dentro dos termos da Licença Pública Geral GNU como
* publicada pela Fundação do Software Livre (FSF); na versão 3 da
* Licença, ou (caso queira) qualquer versão posterior.
*
* Este programa é distribuído na esperança de que possa ser útil,
* mas SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de
* MERCANTIBILIDADE OU ADEQUAÇÃO PARA UM FIM PARTICULAR. Veja a
* Licença Pública Geral GNU para maiores detalhes.
*
* Você deve ter recebido uma cópia da Licença Pública Geral GNU junto
* com este programa, Se não, veja em <http://www.gnu.org/licenses/>.
*
* @author Alberto Wagner <alberto@biblivre.org.br>
* @author Danniel Willian <danniel@biblivre.org.br>
*
*/
package biblivre3.circulation.lending;
import biblivre3.circulation.CirculationBO;
import biblivre3.circulation.UserDTO;
import biblivre3.cataloging.holding.HoldingBO;
import biblivre3.cataloging.holding.HoldingDTO;
import biblivre3.config.Config;
import biblivre3.config.ConfigurationEnum;
import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import mercury.BaseHandler;
import mercury.DTOCollection;
public class LendingHandler extends BaseHandler {
@Override
public String processModule(HttpServletRequest request, HttpServletResponse response, String submitButton, HashMap<String, String> requestParametersHash) {
if (submitButton.equals("LENDING_RECEIPT")) {
String strItems = request.getParameter("items");
String strUserSerial = request.getParameter("user_serial");
String[] items = strItems.split(",");
DTOCollection<LendingInfoDTO> lendingCollectionDTO = null;
DTOCollection<LendingInfoDTO> renewCollectionDTO = null;
DTOCollection<LendingInfoDTO> returnCollectionDTO = null;
HoldingBO hbo = new HoldingBO();
HoldingDTO hdto;
for (String item : items) {
String[] arrItem = item.split("_");
String action = arrItem[0];
String userSerial = arrItem[1];
Integer holdingSerial = Integer.parseInt(arrItem[2]);
if (!userSerial.equals(strUserSerial)) {
continue;
}
int iUserSerial = 0;
try {
iUserSerial = Integer.parseInt(userSerial);
} catch (Exception e) {}
if (action.equals("lending")) {
if (lendingCollectionDTO == null) {
lendingCollectionDTO = new DTOCollection<LendingInfoDTO>();
}
hdto = hbo.getById(holdingSerial);
lendingCollectionDTO.add(new LendingInfoDTO(hdto, iUserSerial));
} else if (action.equals("renew")) {
if (renewCollectionDTO == null) {
renewCollectionDTO = new DTOCollection<LendingInfoDTO>();
}
hdto = hbo.getById(holdingSerial);
renewCollectionDTO.add(new LendingInfoDTO(hdto, iUserSerial));
} else if (action.equals("return")) {
if (returnCollectionDTO == null) {
returnCollectionDTO = new DTOCollection<LendingInfoDTO>();
}
hdto = hbo.getById(holdingSerial);
try {
LendingInfoDTO lend = new LendingInfoDTO(hdto, iUserSerial);
returnCollectionDTO.add(lend);
} catch (Exception e) {
}
}
}
CirculationBO cbo = new CirculationBO();
UserDTO udto = cbo.searchByUserId(Integer.parseInt(strUserSerial));
request.setAttribute("LENDING_READER_NAME", udto.getName());
request.setAttribute("LENDING_READER_ENROL", udto.getUserid());
request.setAttribute("LENDING_BIBLIO_NAME", Config.getConfigProperty(ConfigurationEnum.LIBRARY_NAME.name()));
request.setAttribute("LENDING_RECEIPT_LENDING_LIST", lendingCollectionDTO);
request.setAttribute("LENDING_RECEIPT_RENEW_LIST", renewCollectionDTO);
request.setAttribute("LENDING_RECEIPT_RETURN_LIST", returnCollectionDTO);
return "/jsp/circulation/lending_receipt.jsp";
} else {
return "";
}
}
}