WeightCheckHandleService.java 3.2 KB
package com.sy.service;

/**
 *  宽进严出模式的出场站卡口重量判断
 *  按业务类型进行重量判断
 * @author mrz
 */
public interface WeightCheckHandleService {

    boolean checkResult(double grossWt, double wt, double goodsWt,double inWt);

    /**
     * 出口普货送货业务重量校验,可支持 带货送货,不支持送货提货
     * 进场重量-载货重量 = 出场重量 (此逻辑已包含空车离场判定)
     * @param grossWt   地磅称重,也称出场过磅重量
     * @param wt        车辆自重
     * @param goodsWt   货物总重
     * @param inWt      进场过磅重量
     * 误差计算方式 (应该出场重量 - 出场重量) / 出场重量 与 误差比对,超过误差则不放行
     * @return 返回校验结果 true 通过,false 不通过
     */
    boolean checkExportDownLoading(double grossWt, double wt, double goodsWt,double inWt);

    /**
     * 进口普货提货业务,入场时的数据校验
     * 校验入场重量是否等于车辆备案重量
     * @param grossWt   地磅称重,也称出场过磅重量
     * @param wt        车辆自重
     * @param goodsWt   货物总重
     * @param inWt      进场过磅重量
     * 误差计算方式 (应该出场重量 - 出场重量) / 出场重量 与 误差比对,超过误差则不放行
     * @return 返回校验结果 true 通过,false 不通过
     */
    boolean checkImportAtCheckIN(double grossWt, double wt, double goodsWt,double inWt);

    /**
     * 进口普货提货业务重量校验,可支持 带货提货,不支持卸货提货
     * 进口转关业务重量校验
     * 进场重量+载货重量 = 出场重量
     * @param grossWt   地磅称重,也称出场过磅重量
     * @param wt        车辆自重
     * @param goodsWt   货物总重
     * @param inWt      进场过磅重量
     * 误差计算方式 (应该出场重量 - 出场重量) / 出场重量 与 误差比对,超过误差则不放行
     * @return  返回校验结果 true 通过,false 不通过
     */
    boolean checkImportDlv(double grossWt, double wt, double goodsWt,double inWt);

    /**
     * 分拨/调拨业务重量校验
     * 进场重量+载货重量 = 出场重量 (装载场站装货离场)
     * 或者 空车出场 (最后卸货离场)
     * 或者 进场重量-载货重量 = 出场重量 (目的场站卸货离场)
     * @param grossWt   地磅称重,也称出场过磅重量
     * @param wt        车辆自重
     * @param goodsWt   货物总重
     * @param inWt      进场过磅重量
     * 误差计算方式 (应该出场重量 - 出场重量) / 出场重量 与 误差比对,超过误差则不放行
     * @return 返回校验结果 true 通过,false 不通过
     */
    boolean checkAllocateOrDispatch(double grossWt, double wt, double goodsWt,double inWt);
    /**
     * 空车业务重量校验
     * 过磅重量 = 车备案自重
     * @param grossWt   地磅称重,也称出场过磅重量
     * @param wt        车辆自重
     * 误差计算方式 (过磅重量 - 车备案重量) / 过磅重量 与 误差比对,超过误差则不放行
     * @return 返回校验结果 true 通过,false 不通过
     */
    boolean checkEmpty(double grossWt,double wt);
}