package com.yh.saas.plugin.yiliangyiyun.controller;


import com.baomidou.mybatisplus.plugins.Page;
import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
import com.yh.saas.plugin.yiliangyiyun.service.ITranTaskInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * <p>
 * 记录运输任务 前端控制器
 * </p>
 *
 * @author Gongdc
 * @since 2021-05-31
 */
@RestController
@RequestMapping("/tranTaskInfo")
public class TranTaskInfoController {

    @Autowired
    private ITranTaskInfoService tranTaskInfoService;

    /**
     * 创建运输任务
     * @param tranTaskInfo
     * @return
     */
    @PostMapping("/api/addTranTask")
    public String addTranTask(@RequestBody TranTaskInfo tranTaskInfo){
        return tranTaskInfoService.addTranTask(tranTaskInfo);
    }

    /**
     * 查看运输任务
     * @param id
     * @return
     */
    @GetMapping("/getTranTask")
    public TranTaskInfo getTranTask(String id){
        return tranTaskInfoService.getTranTask(id);
    }

    /**
     * 删除运输任务
     * @param example
     */
    @PostMapping("/api/deleteTranTask")
    public void deleteTranTask(@RequestBody TranTaskInfo example) {
        tranTaskInfoService.deleteTranTask(example.getId());
    }
        /**
     * 编辑运输任务
     * @param tranTaskInfo
     * @return
     */
    @PostMapping("/api/editTranTask")
    public String editTranTask(@RequestBody TranTaskInfo tranTaskInfo){
        return tranTaskInfoService.editTranTask(tranTaskInfo);
    }

    /**
     * 运输管理页面
     * @param tranTaskInfo
     * @return
     */
    @GetMapping("/selectTranTaskInfoPage")
    public Page<TranTaskInfo> selectTranTaskInfoPage(TranTaskInfo tranTaskInfo){
        return tranTaskInfoService.selectTranTaskInfoPage(tranTaskInfo);
    }

    /**
     * 更改状态
     * @param tranTaskInfo
     * @return
     */
    @PostMapping("/api/editStatus")
    public String editStatus(@RequestBody TranTaskInfo tranTaskInfo){
        return tranTaskInfoService.editStatus(tranTaskInfo.getId());
    }


    /**
     * 根据仓库类型选库名
     * @param compId，warehouseType
     * @return
     */
    @GetMapping("/selectWarehouseList")
    public List<WarehouseBaseInfo> selectWarehouseList(String compId,String warehouseType) {
        return tranTaskInfoService.selectWarehouseList(compId,warehouseType);
    }
    /**
     * 查合同号下拉列表
     * flag(1船运 2火运）
     * @param flag
     * @return
     */
    @GetMapping("/selectTranTask")
    public List<String> selectTranTask(String flag){
        return tranTaskInfoService.selectTranTask(flag);
    }
    /**
     * 根据合同号查运输任务
     * @param contractNo
     */
    @GetMapping("/selectTask")
    public List<TranTaskInfo> selectTask(String contractNo,String flag){
        return tranTaskInfoService.selectTask(contractNo,flag);
    }
}

