package com.fp.viaticos.rules.save.solicitud.estados;

import com.fp.dto.save.SaveRequest;
import com.fp.simple.dto.Responses;
import com.fp.viaticos.rules.enums.EnumEstadosSolicitud;

/**
 * Clase que se encarga de cambiar el estado de una solicitud a anulacion por aprobar.
 * 
 * @author Jorge Vaca.
 * @version 2.1
 */
@SuppressWarnings("serial")
public class NegarComision extends EstadoHelper {

    /*
     * (non-Javadoc)
     * 
     * @see com.fp.dto.rules.TransactionRule#normalProcess(com.fp.dto.save.SaveRequest)
     */
    @Override
    public SaveRequest normalProcess(SaveRequest pSaveRequest) throws Exception {
        Responses resp = Responses.findResponse(pSaveRequest.getString("BPMStatus"));
        if (!resp.getCode().equals("D")) {
            return pSaveRequest;
        }
        super.cambiar(pSaveRequest, EnumEstadosSolicitud.ANULACION_POR_APROBAR.getEstatus());
        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;
    }

}
