package com.op.mes.service;

import java.util.List;

import com.op.common.core.web.domain.AjaxResult;
import com.op.mes.domain.Convert;
import com.op.mes.domain.ProOrder;
import com.op.mes.domain.dto.SplitOrderDTO;
import com.op.mes.domain.vo.LineAndShiftVo;

/**
 * 订单Service接口
 *
 * @author Open Platform
 * @date 2023-07-13
 */
public interface IProOrderService {

    /**
     * 获取成型机
     *
     * @return
     */
    public LineAndShiftVo getProdLineShift(String type);

    /**
     * 查询订单
     *
     * @param id 订单主键
     * @return 订单
     */
    public ProOrder selectProOrderById(String id);

    /**
     * 查询订单列表
     *
     * @param proOrder 订单
     * @return 订单集合
     */
    public List<ProOrder> selectProOrderList(ProOrder proOrder);

    /**
     * 新增订单
     *
     * @param proOrder 订单
     * @return 结果
     */
    public int insertProOrder(ProOrder proOrder);

    /**
     * 修改订单
     *
     * @param proOrder 订单
     * @return 结果
     */
    public int updateProOrder(ProOrder proOrder);

    /**
     * 批量删除订单
     *
     * @param ids 需要删除的订单主键集合
     * @return 结果
     */
    public int deleteProOrderByIds(String[] ids);

    /**
     * 删除订单信息
     *
     * @param id 订单主键
     * @return 结果
     */
    public int deleteProOrderById(String id);

    /**
     * 获取换算值
     *
     * @return
     */
    public List<Convert> getConvert();

    /**
     * 提交拆分订单接口
     *
     * @param splitOrderDTO
     * @return
     */
    public AjaxResult subSplitOrder(SplitOrderDTO splitOrderDTO);

    /**
     * 获取工单信息列表
     *
     * @param id
     * @return
     */
    public AjaxResult getWorkOrderList(String id);

    /**
     * 获取当前订单信息列表
     *
     * @param id
     * @return
     */
    public AjaxResult getOrderList(String id);
}
