package com.fp.armas.rules.save.armas; import java.util.List; import com.fp.dto.rules.TransactionRule; import com.fp.dto.save.SaveRequest; import com.fp.persistence.parmas.soli.TarmCabRepDestruirArmas; import com.fp.persistence.parmas.soli.TarmDetRepDestruirArmas; import com.fp.sessionbeans.helper.Sequence; /** * Registra las armas y el registro de armas * @author Christian Pazmino * */ public class ReporteArmasDecomisadas extends TransactionRule { private static final long serialVersionUID = 1L; @Override public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception { if (this.isNew(pSaveRequest)) { return pSaveRequest; } TarmCabRepDestruirArmas cabeceraReporteObj = (TarmCabRepDestruirArmas)pSaveRequest.getSaveBeanModifiedObject("CABREPORTEDESTRUIRARMAS"); if(cabeceraReporteObj != null){ cabeceraReporteObj.setPk(getCodigoReporte()); pSaveRequest.put("creporte", cabeceraReporteObj.getPk()); String nombreReporte="BAJ-"+cabeceraReporteObj.getPk()+".pdf"; pSaveRequest.getResponse().put("creporte", cabeceraReporteObj.getPk()); cabeceraReporteObj.setXpath(cabeceraReporteObj.getXpath()+"/cm:"+nombreReporte); pSaveRequest.put("xpath", cabeceraReporteObj.getXpath()); pSaveRequest.getResponse().put("nombreReporte", nombreReporte); pSaveRequest.getResponse().put("creporte", cabeceraReporteObj.getPk()); pSaveRequest.getResponse().put("xpath", cabeceraReporteObj.getXpath()); List armasReporteLst = pSaveRequest.getSaveBeanModifiedRecords("DETREPORTEDESTRUIRARMAS"); for (Object arma : armasReporteLst) { TarmDetRepDestruirArmas armaObj = (TarmDetRepDestruirArmas)arma; armaObj.setPk(getCodigoDetReporte()); armaObj.setCreporte(cabeceraReporteObj.getPk()); } } return pSaveRequest; } @Override public SaveRequest reverseProcess(SaveRequest pSaveRequest) throws Exception { return pSaveRequest; } private Integer getCodigoReporte() throws Exception{ Sequence sequence = new Sequence(); Integer creporte = sequence.getNextValue("TARMREPORTEDESTRUIRARMAS").intValue(); return creporte; } private Integer getCodigoDetReporte() throws Exception{ Sequence sequence = new Sequence(); Integer carma = sequence.getNextValue("TARMDETREPORTEDESTRUIRARMAS").intValue(); return carma; } }