liyong
4 天以前 0f792c9b3b88dc4b1b7b306f89e257d931d2d0bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package cn.iocoder.yudao.module.mes.service.wm.stocktaking.task;
 
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.task.vo.line.MesWmStockTakingTaskLinePageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.task.vo.line.MesWmStockTakingTaskLineSaveReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.wm.stocktaking.task.vo.result.MesWmStockTakingTaskResultSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.task.MesWmStockTakingTaskDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stocktaking.task.MesWmStockTakingTaskLineDO;
 
import java.math.BigDecimal;
import java.util.List;
 
/**
 * MES 盘点任务行 Service 接口
 *
 * @author 芋道源码
 */
public interface MesWmStockTakingTaskLineService {
 
    /**
     * 根据盘点方案生成盘点明细行
     *
     * @param task 盘点任务
     * @param isCreate 是否为创建操作(true-创建,false-更新时需先清理旧数据)
     */
    void generateStockTakingLines(MesWmStockTakingTaskDO task, boolean isCreate);
 
    /**
     * 分页查询盘点任务行
     *
     * @param pageReqVO 分页查询条件
     * @return 盘点任务行分页结果
     */
    PageResult<MesWmStockTakingTaskLineDO> getStockTakingTaskLinePage(MesWmStockTakingTaskLinePageReqVO pageReqVO);
 
    /**
     * 获得盘点任务行
     *
     * @param id 编号
     * @return 盘点任务行
     */
    MesWmStockTakingTaskLineDO getStockTakingTaskLine(Long id);
 
    /**
     * 创建盘点任务行
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createStockTakingTaskLine(MesWmStockTakingTaskLineSaveReqVO createReqVO);
 
    /**
     * 更新盘点任务行
     *
     * @param updateReqVO 更新信息
     */
    void updateStockTakingTaskLine(MesWmStockTakingTaskLineSaveReqVO updateReqVO);
 
    /**
     * 删除盘点任务行
     *
     * @param id 盘点任务行编号
     */
    void deleteStockTakingTaskLine(Long id);
 
    /**
     * 根据任务编号获取盘点任务行列表
     *
     * @param taskId 任务编号
     * @return 盘点任务行列表
     */
    List<MesWmStockTakingTaskLineDO> getStockTakingTaskLineListByTaskId(Long taskId);
 
    /**
     * 根据任务编号删除盘点任务行
     *
     * @param taskId 任务编号
     */
    void deleteStockTakingTaskLineByTaskId(Long taskId);
 
    /**
     * 从盘点结果创建盘点任务行
     *
     * 注意:当盘点结果没有对应的盘点清单行时,会自动创建一个新的盘点任务行
     *
     * @param createReqVO 盘点结果创建信息
     * @return 盘点任务行编号
     */
    Long createStockTakingTaskLine(MesWmStockTakingTaskResultSaveReqVO createReqVO);
 
    /**
     * 根据 taskId + itemId + areaId 查询盘点任务行
     *
     * @param taskId 盘点任务编号
     * @param itemId 物料编号
     * @param areaId 库位编号
     * @return 盘点任务行
     */
    MesWmStockTakingTaskLineDO getStockTakingTaskLine(Long taskId, Long itemId, Long areaId);
 
    /**
     * 校验盘点任务行存在
     *
     * @param id 盘点任务行编号
     * @return 盘点任务行
     */
    MesWmStockTakingTaskLineDO validateStockTakingTaskLineExists(Long id);
 
    /**
     * 更新盘点任务行的盘点数量
     *
     * @param id 盘点任务行编号
     * @param takingQuantity 盘点数量(增量)
     */
    void updateStockTakingTaskLineTakingQuantity(Long id, BigDecimal takingQuantity);
 
}