liyong
6 天以前 536774eea8902efc088c5b904ff75bbe0af33418
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package cn.iocoder.yudao.module.mes.service.md.workstation;
 
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationPageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationSaveReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
import jakarta.validation.Valid;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap;
 
/**
 * MES 工作站 Service 接口
 *
 * @author 芋道源码
 */
public interface MesMdWorkstationService {
 
    /**
     * 创建工作站
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createWorkstation(@Valid MesMdWorkstationSaveReqVO createReqVO);
 
    /**
     * 更新工作站
     *
     * @param updateReqVO 更新信息
     */
    void updateWorkstation(@Valid MesMdWorkstationSaveReqVO updateReqVO);
 
    /**
     * 删除工作站
     *
     * @param id 编号
     */
    void deleteWorkstation(Long id);
 
    /**
     * 校验工作站存在
     *
     * @param id 编号
     * @return 工作站
     */
    MesMdWorkstationDO validateWorkstationExists(Long id);
 
    /**
     * 校验工作站存在且启用
     *
     * @param id 编号
     * @return 工作站
     */
    MesMdWorkstationDO validateWorkstationExistsAndEnable(Long id);
 
    /**
     * 获得工作站
     *
     * @param id 编号
     * @return 工作站
     */
    MesMdWorkstationDO getWorkstation(Long id);
 
    /**
     * 获得工作站分页
     *
     * @param pageReqVO 分页查询
     * @return 工作站分页
     */
    PageResult<MesMdWorkstationDO> getWorkstationPage(MesMdWorkstationPageReqVO pageReqVO);
 
    /**
     * 获得指定状态的工作站列表
     *
     * @param status 状态
     * @return 工作站列表
     */
    List<MesMdWorkstationDO> getWorkstationListByStatus(Integer status);
 
    /**
     * 获得指定仓库下的工作站数量
     *
     * @param warehouseId 仓库编号
     * @return 工作站数量
     */
    Long getWorkstationCountByWarehouseId(Long warehouseId);
 
    /**
     * 获得指定库区下的工作站数量
     *
     * @param locationId 库区编号
     * @return 工作站数量
     */
    Long getWorkstationCountByLocationId(Long locationId);
 
    /**
     * 获得指定库位下的工作站数量
     *
     * @param areaId 库位编号
     * @return 工作站数量
     */
    Long getWorkstationCountByAreaId(Long areaId);
 
    /**
     * 获得指定车间下的工作站数量
     *
     * @param workshopId 车间编号
     * @return 工作站数量
     */
    Long getWorkstationCountByWorkshopId(Long workshopId);
 
    /**
     * 获得工作站列表
     *
     * @param ids 编号数组
     * @return 工作站列表
     */
    List<MesMdWorkstationDO> getWorkstationList(Collection<Long> ids);
 
    /**
     * 获得工作站 Map
     *
     * @param ids 编号数组
     * @return 工作站 Map
     */
    default Map<Long, MesMdWorkstationDO> getWorkstationMap(Collection<Long> ids) {
        return convertMap(getWorkstationList(ids), MesMdWorkstationDO::getId);
    }
 
}