package com.fp.armas.rules.save.solicitud; import java.sql.Date; import com.fp.common.helper.Constant; import com.fp.dto.rules.TransactionRule; import com.fp.dto.save.SaveRequest; import com.fp.persistence.commondb.helper.FormatDates; import com.fp.persistence.parmas.soli.TarmSolicitud; import com.fp.sessionbeans.helper.Sequence; /** * Clase que se encarga de completar información de una solicitud de control de armas. * * @author Jorge Vaca. * @version 2.1 */ public class Solicitud extends TransactionRule { private static final long serialVersionUID = 1L; /** * Genera el secuencial de la solicitud completa datos generales de la solicitud en su creacion */ @Override public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception { if (Constant.ifYes((String) pSaveRequest.get("isnew")) || pSaveRequest.get("csolicitud") != null) { return pSaveRequest; } String codSolicitud = null; TarmSolicitud tarmsolicitud = (TarmSolicitud) pSaveRequest.getSaveBeanModifiedObject("SOLICITUD"); if (tarmsolicitud == null) { return pSaveRequest; } codSolicitud = tarmsolicitud.getPk(); if (codSolicitud == null) { codSolicitud = this.getCodigoSolicitud(); tarmsolicitud.setPk(codSolicitud); tarmsolicitud.setFreal(FormatDates.getInstance().getDataBaseTimestamp()); tarmsolicitud.setEstado("REG"); tarmsolicitud.setEstadocodigo("ESTADOSOLICITUD"); tarmsolicitud.setOrigenadquisicioncodigo("ORIGENADQUISICION"); String freal = FormatDates.getInstance().getTransportDateFormat().format(tarmsolicitud.getFreal()); Date f = new Date(FormatDates.getInstance().getTransportDateFormat().parse(freal).getTime()); tarmsolicitud.setFregistro(f); pSaveRequest.getResponse().put("csolicitud", codSolicitud); pSaveRequest.put("csolicitud", codSolicitud); } return pSaveRequest; } /* * (non-Javadoc) * * @see com.fp.dto.rules.TransactionRule#reverseProcess(com.fp.dto.save.SaveRequest) */ @Override public SaveRequest reverseProcess(SaveRequest pSaveRequest) throws Exception { return pSaveRequest; } /** * Metodo que devuelve la secuencia de una solicitud de viaticos. * * @return Codigo de la nueva solicitud de viaticos. * @throws Exception */ private String getCodigoSolicitud() throws Exception { Sequence sequence = new Sequence(); Integer solcitud = Integer.valueOf(sequence.getNextValue("SOLICTUDCONTROLARMAS").toString()); return solcitud.toString(); } }