package com.jcdm.main.om.productionOrde.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;

import java.util.List;

/**
 * 生产工单Service接口
 * 
 * @author ruimin
 * @date 2023-12-11
 */
public interface IOmProductionOrdeInfoService extends IService<OmProductionOrdeInfo>
{
    /**
     * 查询生产工单
     * 
     * @param id 生产工单主键
     * @return 生产工单
     */
    public OmProductionOrdeInfo selectOmProductionOrdeInfoById(Long id);

    /**
     * 查询生产工单列表
     * 
     * @param omProductionOrdeInfo 生产工单
     * @return 生产工单集合
     */
    public List<OmProductionOrdeInfo> selectOmProductionOrdeInfoList(OmProductionOrdeInfo omProductionOrdeInfo);

    /**
     * 新增生产工单
     * 
     * @param omProductionOrdeInfo 生产工单
     * @return 结果
     */
    public int insertOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo);

    /**
     * 修改生产工单
     * 
     * @param omProductionOrdeInfo 生产工单
     * @return 结果
     */
    public int updateOmProductionOrdeInfo(OmProductionOrdeInfo omProductionOrdeInfo);

    /**
     * 批量删除生产工单
     * 
     * @param ids 需要删除的生产工单主键集合
     * @return 结果
     */
    public int deleteOmProductionOrdeInfoByIds(Long[] ids);

    /**
     * 删除生产工单信息
     * 
     * @param id 生产工单主键
     * @return 结果
     */
    public int deleteOmProductionOrdeInfoById(Long id);

    AjaxResult upDownMove(OmProductionOrdeInfo omProductionOrdeInfo);

    void overrideSaveBatch(List<OmProductionOrdeInfo> omProductionOrdeInfoList);

    AjaxResult receivingWorkOrders();

    AjaxResult trolleyYardBinDing(OmProductionOrdeInfo omProductionOrdeInfo);

    AjaxResult getCarCodeSize(OmProductionOrdeInfo omProductionOrdeInfo);

    AjaxResult findBytrolleyYardGetOne(OmProductionOrdeInfo omProductionOrdeInfo);

    List<OmProductionOrdeInfo> checkCarCode(OmProductionOrdeInfo omProductionOrdeInfo);

    AjaxResult workReportingByStation(OmProductionOrdeInfo omProductionOrdeInfo);

    void updateOrderByProductNum(String status,String productNum,String stationCode);

    OmProductionOrdeInfo getLastOrder();
}