package cn.estsh.i3plus.ext.mes.api.base;

import cn.estsh.i3plus.ext.mes.pojo.bean.MesProduceSnExt;
import cn.estsh.i3plus.ext.mes.pojo.model.WmsBomTotalModel;
import cn.estsh.i3plus.ext.mes.pojo.model.WmsPsCheckModel;
import cn.estsh.i3plus.ext.mes.pojo.model.WmsSnInfoModel;
import cn.estsh.i3plus.pojo.base.bean.BaseResultBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.platform.bean.SysFile;
import io.swagger.annotations.ApiOperation;

import java.util.List;
import java.util.Map;

/**
 * @Author: wangjie
 * @CreateDate: 2021/01/19 15:06 下午
 * @Description:
 **/
public interface IPcnHttpRequestService {

    /**
     * PCN获取工单最大SEQ
     * @param params
     * @return
     */
    @ApiOperation(value = "PCN获取工单最大SEQ", notes = "PCN获取工单最大SEQ")
    Double getWorkOrderExtMaxSeq(Map<String, Object> params);

    /**
     * PCN上传文件
     * @param params 文件信息
     * @return 文件信息
     */
    @ApiOperation(value = "PCN上传文件", notes = "PCN上传文件")
    SysFile uploadFile(Map<String, Object> params);

    /**
     * 获取wms箱信息
     * @param sn 条码
     * @return 箱信息
     */
    @ApiOperation(value = "获取wms箱信息", notes = "获取wms箱信息")
    WmsSnInfoModel getPartNoBySn(String sn, String organizeCode);

    /**
     * @Description: 通过父物料号查询WmsBomTotal信息
     * @Param [partNo, organizeCode]
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.WmsBomTotalModel>
     * @Date 2021/3/29 15:21
     **/
    @ApiOperation(value = "通过父物料号查询WmsBomTotal信息", notes = "通过父物料号查询WmsBomTotal信息")
    List<WmsBomTotalModel> getBomTotalByPartNo(String partNo, String organizeCode);

    /**
     * @Description: 通过父物料号查询WmsBomTotal信息
     * @Param [partNo, organizeCode]
     * @return java.util.List<cn.estsh.i3plus.ext.mes.pojo.model.WmsBomTotalModel>
     * @Date 2021/3/29 15:21
     **/
    @ApiOperation(value = "通过父物料号查询WmsBomTotal信息", notes = "通过父物料号查询WmsBomTotal信息")
    BaseResultBean getEpBomTotalByPartNo(String partNo, String organizeCode);


    /**
     * @return void
     * @Description: bom生效
     * @Param [wmsBomTotalModels]
     * @Date 2021/3/29 15:02
     **/
    /*@ApiOperation(value = "bom生效", notes = "bom生效")
    void doEffect(String wmsBomTotalModelsJSONStr);*/
   /**
    * @Description:
    * @Param [partNo, organizeCode]
    * @return void
    * @Date 2021/7/27 20:24
    **/
    @ApiOperation(value = "bom生效", notes = "bom生效")
    void doEffect(String partNo, String organizeCode);


    /**
     * PS部件查询
     *
     * @return {@link List<Object>}
     */
    @ApiOperation(value = "PS部件查询", notes = "PS部件查询")
    ListPager<WmsPsCheckModel> psPartQuery(WmsPsCheckModel wmsPsCheckModel);

    /**
     * PS部件查询
     *
     * @return {@link List<MesProduceSnExt>}
     */
    @ApiOperation(value = "根据工单号查询产品条码", notes = "根据工单号查询产品条码")
    int getProduceSnNumByOrderNo(String workOrderNo, String organizeCode);
}
