package com.northglass.repository;
|
|
import java.util.List;
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.Modifying;
|
import org.springframework.data.jpa.repository.Query;
|
|
import com.northglass.constants.StateConstants.LoadMachineTaskState;
|
import com.northglass.entity.LoadMachineTask;
|
import com.northglass.entity.OptPattern;
|
|
|
public interface LoadMachineTaskDao extends JpaRepository<LoadMachineTask, Long> {
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.IN_WORK + "' and t.loadMachine.id = ?1")
|
public LoadMachineTask findInWorkTaskByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WAITING + "' and t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findTaskByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.IN_WORK + "' and t.loadMachineRack.id = ?1")
|
public LoadMachineTask findInWorkTaskByLoadMachineRack(Long loadMachineRackId);
|
|
//正在切割的玻璃集合
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WORKING + "' and t.loadMachineRack.id = ?1")
|
public LoadMachineTask findWorkTaskByLoadMachineRack(Long loadMachineRackId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WAITING + "' and t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findWaitingTasksByLoadMachine(Long loadMachineId);
|
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WAITING + "' and t.loadMachine.id = ?1 order by number")
|
public List<LoadMachineTask> findNumberByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WAITING + "' and t.loadMachineRack.id = ?1")
|
public List<LoadMachineTask> findWaitingTasksByLoadMachineRack(Long loadMachineRackId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WAITING + "' and t.optPattern.id = ?1")
|
public List<LoadMachineTask> findWaitingTasksByOptPattern(Long optPatternId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WARNING + "' and t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findWarningTasksByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.COMPLETED + "' and t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findCompletedTasksByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.WORKING + "' and t.loadMachine.id = ?1")
|
public LoadMachineTask findCutStartByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.CUT_FINISH + "' and t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findCutFinishByLoadMachine(Long loadMachineId);
|
|
@Query("select t from LoadMachineTask t where t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findById(Long loadMachineId);
|
|
//找到1号线那个最新的状态为等待中或者是正在工作的opt_pattern
|
@Query("select m.optPattern from LoadMachineTask m where m.id=(select max(id) from LoadMachineTask p where (p.state = '" + LoadMachineTaskState.WAITING + "' or p.state = '" + LoadMachineTaskState.IN_WORK + "' or p.state = '" + LoadMachineTaskState.WAITING_START + "') and p.loadMachine.id='1')")
|
public OptPattern findOptId();
|
|
//找到2号线那个状态为等待中或者是正在工作的opt_pattern
|
@Query("select m.optPattern from LoadMachineTask m where m.id=(select max(id) from LoadMachineTask p where (p.state = '" + LoadMachineTaskState.WAITING + "' or p.state = '" + LoadMachineTaskState.IN_WORK + "' or p.state = '" + LoadMachineTaskState.WAITING_START + "') and p.loadMachine.id='2')")
|
public OptPattern findOptId2();
|
|
//找到1号线那个最新的状态为等待中或者是正在工作的opt_pattern(用于结束任务)
|
@Query("select m.optPattern from LoadMachineTask m where m.id=(select max(id) from LoadMachineTask p where p.state = '" + LoadMachineTaskState.COMPLETED + "' and p.loadMachine.id='1')")
|
public OptPattern lastCompleteTask();
|
|
//找到2号线那个状态为等待中或者是正在工作的opt_pattern(用于结束任务)
|
@Query("select m.optPattern from LoadMachineTask m where m.id=(select max(id) from LoadMachineTask p where p.state = '" + LoadMachineTaskState.COMPLETED + "' and p.loadMachine.id='2')")
|
public OptPattern lastCompleteTask2();
|
|
|
//1号线等待中的任务
|
@Query("select t from LoadMachineTask t where t.state= '" + LoadMachineTaskState.WAITING + "' and t.loadMachine.id='1'")
|
public List<LoadMachineTask> findByState();
|
|
//一号线正在工作
|
@Query("select t from LoadMachineTask t where t.state= '" + LoadMachineTaskState.IN_WORK + "' and t.loadMachine.id='1'")
|
public LoadMachineTask findByStatework1();
|
|
//二号线正在工作
|
@Query("select t from LoadMachineTask t where t.state= '" + LoadMachineTaskState.IN_WORK + "' and t.loadMachine.id='2'")
|
public LoadMachineTask findByStatework2();
|
|
|
//2号线等待中的任务
|
@Query("select t from LoadMachineTask t where t.state= '" + LoadMachineTaskState.WAITING + "' and t.loadMachine.id='2'")
|
public List<LoadMachineTask> findByState2();
|
|
|
//相应产线上是否有切割任务
|
@Query("select t from LoadMachineTask t where t.loadMachine.id= ?1")
|
public List<LoadMachineTask> findTask(Long prodLine);
|
|
@Query("select t from LoadMachineTask t where t.loadMachine.id = ?1 order by number")
|
public List<LoadMachineTask> findSortTask(Long loadMachineId);
|
|
//根据optpattern_id找到上片对象
|
@Query("select t from LoadMachineTask t where t.optPattern.id = ?1")
|
public List<LoadMachineTask> findByOptId(Long optPatternId);
|
|
//产线上正在工作的对象
|
@Query("select t from LoadMachineTask t where t.state = '" + LoadMachineTaskState.IN_WORK + "' and t.loadMachine.id = ?1")
|
public LoadMachineTask findWorkingGlass(Long loadMachineId);
|
|
//产线中的任务(排除已完成)
|
@Query("select t from LoadMachineTask t where (t.state= '" + LoadMachineTaskState.WAITING + "' or t.state = '" + LoadMachineTaskState.IN_WORK + "') and t.loadMachine.id=?1")
|
public List<LoadMachineTask> findNoComplete(Long group);
|
|
//产线中的最后一个状态为已完成的任务
|
@Query("select m from LoadMachineTask m where m.id = (select max(id) from LoadMachineTask t where t.state='" + LoadMachineTaskState.COMPLETED + "' and t.loadMachine.id=?1)")
|
public LoadMachineTask findLastCompleted(Long group);
|
|
//111
|
@Query("select t from LoadMachineTask t where t.loadMachine.id= ?1")
|
public List<LoadMachineTask> getLoadMachinetask(Long group);
|
|
//产线中的下一个id的任务
|
@Query("select m from LoadMachineTask m where m.id=?1 and m.loadMachine.id=?2")
|
public LoadMachineTask findNextTask(Long id,Long group);
|
|
//产线中的第一个状态为等待中的任务
|
@Query("select t from LoadMachineTask t where t.id = (select min(id) from LoadMachineTask m where m.state='" + LoadMachineTaskState.WAITING + "' and m.loadMachine.id=?1)")
|
public LoadMachineTask findFirstWaitingTask(Long group);
|
|
//产线中的id最小的状态为待开始,等待中或者正在工作的任务
|
@Query("select t from LoadMachineTask t where t.id = (select min(id) from LoadMachineTask m where (m.state='" + LoadMachineTaskState.WAITING_START + "' or m.state='" + LoadMachineTaskState.WAITING + "' or m.state='" + LoadMachineTaskState.IN_WORK + "') and m.loadMachine.id=?1)")
|
public LoadMachineTask findGotTask(Long loadMachineID);
|
|
//产线中是否有状态不是完成的记录
|
@Query("select m from LoadMachineTask m where m.loadMachine.id=?1 and m.state<>'" + LoadMachineTaskState.COMPLETED +"'")
|
public List<LoadMachineTask> findNotCompletedTask(Long id);
|
|
//产线中是否有状态不是完成的记录
|
@Query("select m from LoadMachineTask m where m.loadMachine.id=?1 and m.state<>'" + LoadMachineTaskState.COMPLETED +"'")
|
public List<LoadMachineTask> findNotCutTask(Long id);
|
|
//清空产线下的任务
|
@Modifying
|
@Query("delete from LoadMachineTask m where m.loadMachine.id=?1")
|
public void deleteByLoadMachineId(Long id);
|
|
//清空optpattern下的对象
|
@Modifying
|
@Query("delete from LoadMachineTask m where m.optPattern.id=?1")
|
public void deleteByPatternId(Long id);
|
|
|
//找到产线上缺片状态的信息
|
@Query("select t from LoadMachineTask t where t.state = '" + LoadMachineTaskState.LACK_PIECE+"' and t.loadMachine.id=?1")
|
public List<LoadMachineTask> findLackPiece(Long loadMachineId);
|
|
//找到暂停的任务
|
@Query("select t from LoadMachineTask t where t.state ='" + LoadMachineTaskState.STOP_TASK + "' and t.loadMachine.id = ?1")
|
public List<LoadMachineTask> findStopTasksByLoadMachine(Long loadMachineId);
|
|
|
//找到暂停的任务
|
@Query("update LoadMachineTask set number = 0 where 1=1")
|
public List<LoadMachineTask> updateSort();
|
|
//根据optpattern_id找到上片对象
|
@Query("update LoadMachineTask set number = ?1 where optPattern.id = ?2 and number = 0")
|
public List<LoadMachineTask> findByOptId(int number,Long optPatternId);
|
}
|