package com.shkj.wms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.shkj.common.core.domain.Result;
import com.shkj.wms.bo.BusinTaskQueryBo;
import com.shkj.wms.bo.BusinTaskThirdQueryBo;
import com.shkj.wms.domain.BusinTask;
import com.shkj.wms.vo.BusinTaskVo;

import java.util.List;

/**
 * 作业任务Service接口
 *
 * @author lch
 * @date 2023-02-27
 */
public interface IBusinTaskService extends IService<BusinTask> {


    /**
     * 查询列表
     *
     * @param bo
     * @return
     */
    List<BusinTaskVo> queryList(BusinTaskThirdQueryBo bo);

    /**
     * 添加任务
     *
     * @param orderId     订单id
     * @param orderNo     订单没有
     * @param type        类型
     * @param status      状态
     * @param way         道路
     * @param taskPath    任务路径
     * @param consignorId 发货人身份证
     * @param branchId    分支id
     * @param msg         味精
     * @param taskType
     * @return {@link String}
     */
    String addTask(Long orderId, String orderNo, String type, String status, String way, String taskPath, Long consignorId, Long branchId, String msg, String taskType);

    /**
     * 再分配
     *
     * @param taskCode 代码
     * @return {@link Result}<{@link Boolean}>
     * @throws Exception 异常
     */
    Result<Boolean> redistribution(String taskCode) throws Exception;

    /**
     * 更新状态
     *
     * @param orderId
     * @param orderNo
     * @param taskPath
     * @param status
     * @param msg
     * @param taskType
     */
    String updateStatus(Long orderId, String orderNo, String taskPath, String status, String msg, String taskType);
}
