自动化立体仓库 - WMS系统
pang.jiabao
2025-04-15 b4227b5145943e067351a2a59ca34826b41d6fb7
src/main/java/com/zy/asrs/service/WorkService.java
@@ -1,7 +1,18 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.param.FullStoreParam;
import com.zy.asrs.entity.param.LocDetlAdjustParam;
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.common.model.LocDetlDto;
import com.zy.common.model.StartupDto;
import com.zy.common.model.TaskDto;
import com.zy.common.model.enums.IoWorkType;
import java.util.List;
public interface WorkService {
@@ -12,7 +23,22 @@
    String startupFullPutStore(FullStoreParam param, Long userId);
    /**
     * 孔板入库
     * 出库作业
     */
    void startupFullTakeStore(StockOutParam param, Long userId);
    /**
     * 出库作业
     * @param staNo 目标站点
     * @param locDetls 待出库物料
     * @param ioType 入出库类型
     */
    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId);
    void stockOut(BasDevp staNo, TaskDto taskDto, Long userId);
    /**
     * 空板入库
     * @return 库位号
     */
    String emptyPlateIn(Integer sourceStaNo, Long userId);
@@ -21,6 +47,18 @@
     * 空板出库
     */
    void emptyPlateOut(EmptyPlateOutParam param, Long userId);
    /**
     * 自动空板出库
     * @param param
     * @return
     */
    public WrkMast emptyPlateOut(EmptyPlateOutParam param);
    /**
     * 盘点出库
     */
    void locCheckOut(StockOutParam param, Long userId);
    /**
     * 库位移转
@@ -33,7 +71,31 @@
    void completeWrkMast(String workNo, Long userId);
    /**
     * 库存明细调整
     */
    void adjustLocDetl(LocDetlAdjustParam param, Long userId);
    /**
     * 手动取消工作档
     */
    void cancelWrkMast(String workNo, Long userId);
    /**
     * 手动拣料入库工作档
     */
    void pickWrkMast(String workNo, Long userId);
    /**
     * 通知档手动生成任务
     */
    StartupDto createWaitPainWrkMastStart(List<WaitPakin> list, Long userId);
    /**
     * 通知档手动生成任务
     */
    String dealPreHaveStart(Integer wrkNo, Long userId);
    void turnMatLocDetl(EmptyPlateOutParam param, Long userId);
    void locMove(String sourceLocNo, Long userId);
}