package com.bonus.material.toolProcess.service;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.tool.domain.ToolEntity;
import com.bonus.material.toolLedger.domain.ToolLedgerEntity;
import com.bonus.material.toolProcess.domain.ToolApplyDetailsEntity;
import com.bonus.material.toolProcess.domain.ToolApplyEntity;

import java.util.List;

public interface ToolApplyService {
    /**
     * 工具申请单表格
     *
     * @param entity 实体
     * @return 表格
     */
    List<ToolApplyEntity> list(ToolApplyEntity entity);

    /**
     * 工具录入新增
     *
     * @param entity 实体
     * @return 结果
     */
    AjaxResult add(ToolApplyEntity entity);

    /**
     * 工具录入删除
     *
     * @param entity 实体
     * @return 结果
     */
    AjaxResult delete(ToolApplyEntity entity);

    /**
     * 工具录入申请单表格
     *
     * @param entity 实体
     * @return 表格
     */
    List<ToolApplyDetailsEntity> listByApplyId(ToolApplyDetailsEntity entity);

    /**
     * 工具录入订单删除
     *
     * @param entity 实体
     * @return 结果
     */
    AjaxResult deleteDetail(ToolApplyDetailsEntity entity);


    /**
     * 新增设备详情
     *
     * @param entity 实体
     * @return 结果
     */

    AjaxResult addDetail(List<ToolApplyDetailsEntity> entity);


    /**
     * 获取下拉选
     *
     * @param entity 实体
     * @return 集合
     */
    AjaxResult getTreeSelect(ToolEntity entity);


    /**
     * 修改订单状态
     *
     * @param entity 条件
     * @return 条数
     */

    AjaxResult update(ToolApplyEntity entity);

    /**
     * 修改订单装备状态
     *
     * @param entity 条件
     * @return 条数
     */
    AjaxResult updateDetail(ToolApplyDetailsEntity entity);


    /**
     * 修改订单装备状态
     *
     * @param entity 条件
     * @return 条数
     */
    AjaxResult updateAllDetail(ToolApplyDetailsEntity entity);

    /**
     * 获取审核列表
     *
     * @param entity 实体
     * @return 表格
     */
    List<ToolApplyEntity> listReview(ToolApplyEntity entity);

    List<ToolApplyDetailsEntity> listEncoding(ToolApplyDetailsEntity entity);

    AjaxResult deleteTool(Integer id);

    AjaxResult listWarehousingToolByApplyId(ToolApplyDetailsEntity entity);
}
