package com.example.springboot.mapper; import org.apache.ibatis.annotations.*; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.alarmmg; import java.util.List; @Mapper public interface HomeMapper { //查询每个笼子的使用情况 @Select("SELECT cage,ROUND(sum(case when state=1 or state=2 or state=3 then 1 else 0 end)/42*100) as cell,42-sum(case when state=1 or state=2 or state=3 then 1 else 0 end) as state FROM `storage_cage` group by cage") List selectAll(); // 查询1-5笼内层格子状态 @Select("SELECT cage,state from storage_cage where cage<=5 and tier=1") List selectRack1(); // 查询6-10笼内层格子状态 @Select("SELECT cage,state from storage_cage where cage>5 and tier=1") List selectRack2(); // 查询1-5笼外层格子状态 @Select("SELECT cage,state from storage_cage where cage<=5 and tier=2") List selectRack3(); // 查询6-10笼外层格子状态 @Select("SELECT cage,state from storage_cage where cage>5 and tier=2") List selectRack4(); // 根据任务类型查询当前正在出片,进片的玻璃信息 @Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where state=#{task_type} limit 1") List selectinout(@Param("task_type") Integer task_type); // 查询是否存在此订单 @Select("select count(*) from storage_cage where order_id=#{orderid} and state=1") short SelectOrder(@Param("orderid") String orderid); // @Insert("insert into order_out(orderid) values('#{orderid}')") @Insert("INSERT INTO `canadames`.`order_out`( `order_id`,`state`) VALUES ( #{orderid},0)") void InsertOrder(String orderid); // 停止按当前订单出片 @Update("update order_out set state=1 where state=0") void updateOrder(); // 查询是否存在正在上片的任务 @Select("select count(*) from storage_task where task_state=0 and task_type=1") short SelectOutTask(); // 手动完成任务 @Update("update storage_task set task_state=1 where shelf_rack=#{shelf_rack} and task_type=#{task_type} and task_state=0") void UpdateTask(@Param("task_type") Integer task_type, @Param("shelf_rack") Integer shelf_rack); // 手动完成进片任务修改笼子数据 @Update("update storage_cage set state=1 where cell=#{cell} and glass_id=#{glassid} and state=2") void UpdateCageTask1(@Param("cell") Integer cell,@Param("glassid") Integer glassid); // 手动完成出片任务修改笼子数据 @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where cell=#{cell} and glass_id=#{glassid} and state=3") void UpdateCageTask2(@Param("cell") Integer cell,@Param("glassid") Integer glassid); //获取报警信息 @Select("select id,content,timeon as timeons,endTime from alarmmg where endTime is null") List SelectAlarmmgInfo(); //获取理片笼内玻璃信息 @Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where cage=#{cage} ") List SelectCageInfo(short cage); @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where glass_id=#{glassid}") void DeleteByGlassID(short glassid); }