package com.example.springboot.mapper;
|
import org.apache.ibatis.annotations.*;
|
|
import com.example.springboot.common.Result;
|
import com.example.springboot.entity.Glass;
|
import com.example.springboot.entity.StorageCage;
|
import com.example.springboot.entity.StorageTask;
|
import com.example.springboot.entity.StorageCage;
|
|
import java.util.List;
|
|
@Mapper
|
|
public interface SpianMapper {
|
//判断相邻笼子是否有空格
|
@Select("select COUNT(if(a.state1=0,cell,null))as cell,ROUND(id/2)as id from (select *,max(state)as state1 from storage_cage a GROUP BY cage,cell)as a where (a.cage=#{cage1}-1 or a.cage=#{cage1}+1)and if(a.cage<6,a.cage>0 and a.cage<6,a.cage>5) GROUP BY cage ORDER BY cell desc LIMIT 1")
|
int selectCage(int cage1);
|
|
//@Select("(select*from storage_cage as a where a.state=0 and cage%2=0 ORDER BY id LIMIT 1)union (select a.* from storage_cage a inner join (select cage,if(shu2=1,shu3,shu5) as gezi from ( select cage, count(case when state1=1 and state2=0 then cell else null end)as shu1, count(case when state1=0 then cell else null end) as shu2, min(case when state1=1 and state2=0 then cell else null end) as shu3, min(case when state1=0 then cell else null end) as shu4, min(case when state1=0 or state2=0 then cell else null end) as shu5 from (select *,max(state) as state1,min(state) as state2 from storage_cage group by cage,cell) as a where cage%2!=0 GROUP BY cage HAVING shu2>1 or (shu2=1 and shu1>0) ) as sss limit 1)as b on a.cage=b.cage and a.cell=b.gezi and a.state=0 order by tier limit 1) ORDER BY id LIMIT 1;")
|
//获取订单号排序的空订单笼子
|
@Select("select cage,COUNT(if(order_id=#{orderids},order_id,null))as orderid from storage_cage where (order_id=#{orderids} or ''='') GROUP BY cage ORDER BY orderid desc; ")
|
List<StorageCage> selectAll(Short orderids);
|
|
//判断该笼子是否有合适宽度空格
|
@Select("select cage,cell,tier,id,ROUND(id/2)as prcId from storage_cage where cage=#{cage1} and state=0 and width>=#{width} ORDER BY cell,tier LIMIT 1")
|
StorageCage selectCage1(int cage1,double width);
|
//判断笼子内玻璃数
|
@Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state=1;")
|
int selectsum(int cage,int cell);
|
|
//@Update("update longzi set glass_id = #{glass_id}, width = #{width}, state = #{state} where cell = #{cell}")
|
@Update("update longzi set glass_id =123, width =1600, state =1 where cell =24")
|
void update();
|
//获取玻璃信息
|
@Select("select orderid,width from glass where glassid=#{glassid}")
|
Glass selectGlass(Short glassid);
|
|
@Insert("insert into storage_task(task_type,task_state,shelf_rack,load_rack)values(#{storage_task},#{task_state},#{shelf_rack},#{load_rack})")
|
void insert(StorageTask storageTask);
|
|
//出片任务查询
|
@Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.order_id=#{orderId} and state=1 order by cage desc,tier desc,cell desc LIMIT 1")
|
StorageCage selectOut(String orderId);
|
//按玻璃ID出片任务查询
|
@Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id from storage_cage as a where a.glass_id=#{glassid} and state=1 order by cage desc,tier desc,cell desc LIMIT 1")
|
StorageCage selectOut2(String glassid);
|
|
//判断出片为1时,是否可直接出片
|
@Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;")
|
int selectGlassState(int cage,int cell);
|
|
//判断该调拨的笼子
|
@Select("select cage,cell,max(state)as shu,ROUND(id/2)as prcid,id from storage_cage where width>=#{width} and cage>#{cage1} and cage<#{cage2} GROUP BY cage,cell HAVING shu=0 order by abs(#{cage} - cage) limit 1;")
|
StorageCage selectGlassCage(int cage,double width,int cage1,int cage2);
|
|
//删除笼子信息(出片)
|
@Update("update storage_cage set state=#{state},width=width+#{width},glass_id=#{glassid},order_id=#{orderid},glasswidth=0 where cage=#{cage} and cell=#{cell} and tier=#{tier};")
|
void UpdataGlassCage(String orderid,String glassid,double width,int cage,int cell,int tier,int state);
|
|
//修改笼子信息(进片)
|
@Update("update storage_cage set state=#{state},width=width-#{width},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};")
|
void UpdataAddCage(Short orderid,Short glassid,double width,int cage,int cell,int id,int state);
|
//调拨更换笼子信息
|
@Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.glasswidth=b.glasswidth,a.width=a.width-b.glasswidth,a.state=1 where a.id=#{id1}")
|
void UpdateDBCage(int id1,int cage,int cell);
|
// @Insert("insert into user(name, date, address, user_no) values (#{name}, #{date}, #{address}, #{userNo})")
|
// void insert (Spian spian);
|
|
}
|