yangys
2025-11-20 537d302507bf5bdc6f6b81ece701abb6e8b6a1e1
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
package com.qianwen.smartman.modules.smis.service;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpServletResponse;
import com.qianwen.smartman.common.websocket.entity.FmsWorkstation;
import com.qianwen.core.mp.base.BaseService;
import com.qianwen.core.mp.support.Query;
import com.qianwen.core.oss.model.BladeFile;
import com.qianwen.smartman.modules.smis.dto.WorkstationRealTimeStatusDTO;
import com.qianwen.smartman.modules.smis.dto.WorkstationWcsDmpDTO;
import com.qianwen.smartman.modules.smis.entity.ProductionCalendarDay;
import com.qianwen.smartman.modules.smis.entity.Workstation;
import com.qianwen.smartman.modules.smis.excel.WorkstationImport;
import com.qianwen.smartman.modules.smis.vo.DmpVariablesVO;
import com.qianwen.smartman.modules.smis.vo.FmsWorkstationGroupVO;
import com.qianwen.smartman.modules.smis.vo.FmsWorkstationQueryVO;
import com.qianwen.smartman.modules.smis.vo.RealTimeStatusVO;
import com.qianwen.smartman.modules.smis.vo.WorkMachineEasyVO;
import com.qianwen.smartman.modules.smis.vo.WorkstationChangeCalendarVO;
import com.qianwen.smartman.modules.smis.vo.WorkstationPageQueryVO;
import com.qianwen.smartman.modules.smis.vo.WorkstationRealTimeStatusVO;
import com.qianwen.smartman.modules.smis.vo.WorkstationSubmitVO;
import com.qianwen.smartman.modules.smis.vo.WorkstationVO;
import com.qianwen.smartman.modules.mdc.dto.GroupWorkDTO;
import com.qianwen.smartman.modules.mdc.dto.WorkstationDmpDTO;
 
public interface IWorkstationService extends BaseService<Workstation> {
    List<WorkstationWcsDmpDTO> queryWcsList(String workstationId);
 
    WorkstationWcsDmpDTO queryDateTypeState(Integer code, String workstationId);
 
    List<DmpVariablesVO> queryDmpList(String workstationId);
 
    /**
     * 新增或更改工位信息
     * @param workstationSubmitVO
     * @return
     */
    WorkstationVO submit(WorkstationSubmitVO workstationSubmitVO);
 
    Boolean changeCollectSwitch(Long workstationId, Integer collectSwitch);
 
    Boolean delete(List<Long> workstationIds, Integer type);
 
    /**
     * 工位分页查询
     * @param workstationVOIPage 分页信息
     * @param keyWord 关键字
     * @param groupId 分组id
     * @param status 状态
     * @param type 类型
     * @return 分页数据
     */
    IPage<WorkstationVO> listPage(IPage<WorkstationVO> workstationVOIPage, String keyWord, Long groupId, Integer status, Integer type);
 
    List<WorkstationVO> getWorkstationByGroupIds(final List<String> groupIds);
 
    //List<FmsWorkstation> getFmsWorkstation(final List<Long> filterWorkstationIds);
 
    Boolean changeCalendarCode(WorkstationChangeCalendarVO workstationChangeCalendarVO);
 
    /**
     * 更新所有工位的生产日历字段,用calendarCodeWaiting更新calendarCode。在定时任务时调用
     */
    void updateWorkstationCalendar();
 
    Boolean changeWorkstationGroup(Long groupId, List<Long> workstationIdList);
 
    WorkstationVO getDetail(Long workstationId);
 
    Boolean deleteGroup(Long groupId);
 
    BladeFile importWorkstation(List<WorkstationImport> data);
 
    BladeFile exportWorkstation(String keyWord, Long groupId, HttpServletResponse response);
 
    /**
     * 获取工位实时状态数据,实时看板使用
     * @param dto
     * @param query
     * @return
     */
    IPage<WorkstationRealTimeStatusVO> getRealTimeStatus(WorkstationRealTimeStatusDTO dto, Query query);
 
    //List<RealTimeStatusVO> getRealTimeProperties(Long workstationId, Long machineId);
 
    IPage<Workstation> listWorkStationOnShiftIndex(List<String> ids, LocalDate localDate, Query query, Integer shift, Integer type);
 
    List<Workstation> listWorkStationOnShift(List<Long> ids, LocalDate localDate, List<Integer> shifts, Integer type);
 
    //List<DmpVariablesVO> getDmpVariables(String workstationId, String machineId);
 
    Integer countWorkStationOnShiftIndex(List<String> ids, LocalDate localDate, Integer shift, Integer type);
 
    List<Workstation> listWorkStationByGroupId(List<String> ids);
 
    List<Workstation> listWorkStationByGroup(List<Long> ids);
 
    Set<Long> findByIndexAndDateAndTypeAndYear(Integer year, String queryDate, Integer shiftIndex, Integer code);
 
    List<Long> findByMachineShortCode(String code);
 
    List<Workstation> workStationList(List<Long> ids);
 
    Map<Long, GroupWorkDTO> queryGroupWorkStation(List<Long> ids);
 
    ProductionCalendarDay getDayShift(Long workstationId, String calendarDate);
 
    List<Long> productionLineList(Long groupId);
 
    List<WorkstationDmpDTO> getDmpVar(String workstationId);
 
    //List<FmsWorkstation> assemblyWorkstationData(List<String> workstationIds, Map<String, FmsRealTimeTray> realTimeTrayMap, List<FmsRealTimeTray> realTimeTrayList, List<String> positionList);
 
    WorkMachineEasyVO getWorkMachine(String workstationId);
 
    List<FmsWorkstationGroupVO> fmsTreeWorkstation(FmsWorkstationQueryVO fmsWorkstationQueryVO);
 
    List<Workstation> listMachine(Integer status, String keyword);
 
    List<WorkstationVO> getWorkstationListInMaintainOrRepairById(Long orderProcessId, Set<Long> workstationIdList);
 
    List<WorkstationVO> getWorkstationListInMaintainOrRepairByIdList(List<Long> orderProcessIdList, Set<Long> workstationIdList);
 
    IPage<WorkstationRealTimeStatusVO> pageH5(Query query, WorkstationPageQueryVO workstationPageQueryVO);
}