EnginCheckService.java 2.0 KB
package com.sy.service;

import com.sy.model.GatherInfo;
import com.sy.model.LAND_BUSINEESTYPE_LIST_INFO;
import com.sy.model.LandBusinessTypeList;
import org.basis.enhance.groovy.entity.ExecuteParams;

import java.util.List;

/**
 * 调用groovy 引擎进行验放处理接口
 * @author mrz
 * @date 2023-05-23
 */
public interface EnginCheckService {

    /**
     * 根据gatherInfo报文数据获取整体验放数据,并进行脚本验放
     * @param gatherInfo 车辆过卡X21报文数据
     * @return true 验放成功 可以放行,false 验放失败不可放行
     */
    Boolean enginCheckByGatherInfo(GatherInfo gatherInfo,ExecuteParams executeParams);

    /**
     * 过卡信息参数生成
     * @param gatherInfo 过卡信息
     * @return 过卡校验相关数据 为map格式
     */
     ExecuteParams makeParaByGagherInfo(GatherInfo gatherInfo);

    /**
     * 发送X22指令
     * @param info          过卡信息
     * @param check         true 抬杆,false 不抬杆
     * @param reason        原因
     * @param executeParams 所有过卡所需数据
     * @return              调试模式 直接返回true,生产模式按业务走
     */
     void sendBw(GatherInfo info, boolean check, String reason, ExecuteParams executeParams);

    /**
     * 直接放行
     */
     void pass(GatherInfo info,ExecuteParams executeParams);

    /**
     * 不放行
     * @param info
     */
    void passFaild(GatherInfo info,String reason,ExecuteParams executeParams);

    /**
     * 记录已进出区信息
     */
     void record(GatherInfo info,ExecuteParams executeParams);

    /**
     * 放行日志记录
     * @param info 过卡信息
     * @param check 是否放行true放行,false不放行
     * @param reason 原因
     */
     void commandlog(GatherInfo info, boolean check, String reason,ExecuteParams executeParams);

     void formRelease(GatherInfo info,ExecuteParams executeParams);

     void lockNoticeContinueCheck(GatherInfo info);



}