package com.chinaztt.mes.aps.service; import com.alibaba.fastjson.JSONObject; import com.chinaztt.mes.aps.core.domain.OperationBo; import com.chinaztt.mes.aps.entity.SceneTask; import com.chinaztt.mes.aps.vo.GanttTaskVo; import com.chinaztt.mes.production.entity.OperationTask; import com.chinaztt.ztt.common.core.util.R; import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; /** * @Author: zhangxy * @Date: 2020-10-09 10:35 */ public interface ApsCoreService { /** * 保存场景甘特图 * * @param task */ void saveSceneTask(SceneTask task); /** * 查询工序 * * @param operationId * @return */ OperationBo queryOperation(Long operationId); /** * 区间查询 * * @param sceneId * @param groupId * @param start * @param end * @return */ JSONObject query(Long sceneId, Long groupId, LocalDate start, LocalDate end); /** * 区间查询 * * @param sceneId * @param workStationList * @param start * @param end * @return */ JSONObject loadGantt(Long sceneId, List workStationList, String workCenter, LocalDate start, LocalDate end, List stateList); /** * 更新任务 * * @param task * @return */ Boolean updateTaskById(GanttTaskVo task); /** * 根据 工作站id 自动计算开始结束时间 * * @param workstationId */ OperationTask calOperationTaskTime(Long workstationId, Long partId, BigDecimal qty); /** * 自动选择机台并计算开始结束时间 * * @param partId * @param qty * @return */ OperationTask autoSetTime(String workCenter, Long partId, BigDecimal qty); /** * 根据ID删除任务 * * @param id * @return */ Boolean removeSceneTask(Long id); /** * 应用至实际场景 * * @param sceneId * @return */ R applyToReality(Long sceneId); }