package com.aucma.api.service;

import com.aucma.api.domain.dto.RepairSubmitInfoDto;
import com.aucma.report.domain.RecordExceptionProcess;
import com.aucma.report.domain.ReportQualityInspection;

import java.util.List;

/**
 * @author wanghao
 * @date 2023/11/14  9:56
 */
public interface IPdaBindingService {

    /**
     * 获取成品码
     * @param boxCode
     * @return
     */
    String selectBoxNameByCode(String boxCode);

    /**
     * 获取箱体码
     * @param boxCode
     * @return
     */
    String selectBoxNameBarCode(String boxCode);

    int insertBindingInfo(String boxCode, String boxName, String innerCode);

    int countQualityRecordByCode(String code);

    int updateCodeBinding(String boxCode, String innerCode);

    int submitRepair(RepairSubmitInfoDto info);

    List<ReportQualityInspection> findCheckInfoByCode(String code);

    List<ReportQualityInspection> checkSelectRepairInfo(String code);

    /**
     * PDA补打条码
     *
     * @param  barCode
     * @return
     */
    public String rebarCode(String barCode, String printReason);

    /**
     * PDA解绑条码
     *
     * @param  barCode
     * @return
     */
    public String  unbindBarCode(String barCode);

    /**
     * PDA降级消息通知
     * @param userName
     * @return
     */
    String messageNotifications(String userName);

    /**
     * PDA切换订单
     * @param barCode
     * @param stationCode
     * @return
     */
    String switchOrders(String barCode, String stationCode);

    /**
     * PDA降级信息查询
     * @param inspectionUserFlag 巡检班长降级标识(1=已降级，2=未降级)
     * @return
     */
    List<RecordExceptionProcess> selectExceptionProcessList(String inspectionUserFlag);

    /**
     * 箱体发泡检验01工位 对 壳胆绑定进行验证
     * @param code
     * @param station
     * @return
     */
    String checkShellBinding(String code, String station);
}
