package com.example.springboot.mapper;
|
|
import org.apache.ibatis.annotations.*;
|
|
import com.example.springboot.entity.CarPosition;
|
import com.example.springboot.entity.StorageCage;
|
import com.example.springboot.entity.alarmmg;
|
|
import java.util.List;
|
|
@Mapper
|
public interface HomeMapper {
|
//查询每个笼子的使用情况
|
@Select("select cage,round((21-sum(state))/21*100) as cell,21-sum(state) as state from (select cage,cell,max(state) as state from storage_cage group by cage,cell) as cages group by cage")
|
List<StorageCage> selectAll();
|
|
// 查询1-5笼内层格子状态
|
@Select("SELECT cage,state,glasswidth/2750*2 as glasswidth from storage_cage where cage<=5 and tier=2")
|
List<StorageCage> selectRack1();
|
|
// 查询6-10笼内层格子状态
|
@Select("SELECT cage,state,glasswidth/2750*2 as glasswidth from storage_cage where cage>5 and tier=2")
|
List<StorageCage> selectRack2();
|
|
// 查询1-5笼外层格子状态
|
@Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width from storage_cage where cage<=5 group by cage,cell")
|
List<StorageCage> selectRack3();
|
|
// 查询6-10笼外层格子状态
|
@Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width from storage_cage where cage>5 group by cage,cell")
|
List<StorageCage> selectRack4();
|
|
// 根据任务类型查询当前正在出片,进片的玻璃信息
|
@Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where state=#{task_type} limit 1")
|
List<StorageCage> 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<alarmmg> SelectAlarmmgInfo();
|
|
//获取理片笼内玻璃信息
|
@Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where cage=#{cage} and state!=0 ")
|
List<StorageCage> 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);
|
|
@Select("select * from car_position")
|
List<CarPosition> Loadcarlist();
|
|
}
|