RemoteTaskService.java 3.95 KB
package com.huaheng.task.api;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.huaheng.common.core.constant.ServiceNameConstants;
import com.huaheng.common.core.web.domain.AjaxResult;
import com.huaheng.task.api.domain.TaskHeader;
import com.huaheng.config.api.domain.Location;
import com.huaheng.task.api.factory.RemoteTaskFallFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@FeignClient(contextId = "remoteTaskService", value = ServiceNameConstants.TASK_SERVICE, fallbackFactory = RemoteTaskFallFactory.class)
public interface RemoteTaskService {

    @PostMapping("/taskHeader/createReceiptTask")
    AjaxResult createReceiptTask(@RequestParam("ids") String ids);

    @PostMapping("/taskHeader/createShipmentTask")
    AjaxResult createShipmentTask(@RequestParam(value = "shipmentContainerHeaderIds") Integer shipmentContainerHeaderIds);

    @PostMapping("/taskHeader/createTransferTask")
    AjaxResult createTransferTask(@RequestParam(value = "sourceLocationCode")String sourceLocationCode, @RequestParam(value = "desLocationCode")String desLocationCode);

    /**
     * 创建空托入库任务
     * @param containerCode 容器编码
     * @param destinationLocation 目标库位,目标库位为空时自动分配
     * @return
     */
    @PostMapping("/taskHeader/createEmptyIn")
    AjaxResult createEmptyIn(@RequestParam(value = "containerCode") String containerCode, @RequestParam(value = "destinationLocation") String destinationLocation);

    /**
     * 创建空托出库任务
     * 容器编码与源库位只需要填一个
     * @param containerCode 容器编码
     * @param sourceLocation 源库位
     * @return
     */
    @PostMapping("/taskHeader/createEmptyOut")
    AjaxResult createEmptyOut(@RequestParam(value = "containerCode")String containerCode, @RequestParam(value = "sourceLocation")String sourceLocation);

    /**
     * 根据库存头表id生成出库查看任务
     * @param ids 库存头id
     */
    @PostMapping("/taskHeader/createCheckOutTaskByIds")
    AjaxResult createCheckOutTaskByIds(List<Integer> ids);

    /**
     * 创建出库查看任务
     * @param locationCodeList 库位编码列表
     * @return
     */
    @PostMapping("/taskHeader/createCheckOutTask")
    AjaxResult createCheckOutTask(List<String> locationCodeList);

    /**
     * 创建空托出库查看任务
     * @param containerCode 容器
     * @param sourceLocation 库位
     * @return
     */
    @PostMapping("/taskHeader/createEmptyCheckOut")
    AjaxResult createEmptyCheckOut(@RequestParam(value = "containerCode")String containerCode, @RequestParam(value = "sourceLocation")String sourceLocation);

    /**
     * 获取容器是否存在未完成任务
     * @param containerCode 容器编码
     * @return
     */
    @GetMapping("/taskHeader/unCompleteTaskCount")
    boolean unCompleteTaskCount(@RequestParam("containerCode")String containerCode);

    @GetMapping("/task/cycleCountCancelTask")
    AjaxResult cycleCountCancelTask(Integer[] taskIds);


    @GetMapping("/taskHeader/getByWaveId")
    List<TaskHeader> getByWaveId(Integer waveId);

    @PostMapping("/taskHeader/save")
    TaskHeader save(@RequestBody TaskHeader taskHeader);

    @PutMapping("/taskHeader/updateById")
    boolean updateById(@RequestBody TaskHeader taskHeader);

    @PostMapping("/taskHeader/createQuickTask")
    AjaxResult createQuickTask(@RequestParam(value = "containerCode")String containerCode);

    @GetMapping("/taskHeader/getUnCompleteReceiptTask")
    TaskHeader getUnCompleteReceiptTask(@RequestParam("containerCode")String containerCode);

    @PostMapping("/taskHeader/selectTask")
    TaskHeader selectTask(@RequestBody TaskHeader  taskHeader);

    @PostMapping("/taskHeader/getUncompleteTaskInNear")
    int getUncompleteTaskInNear(@RequestBody Location location);

    @GetMapping("/taskHeader/remoteList")
    public List<TaskHeader> remoteList();
}