| | |
| | | |
| | | import org.apache.ibatis.annotations.*; |
| | | |
| | | import com.example.springboot.entity.Glass; |
| | | import com.example.springboot.entity.StorageCage; |
| | | import com.example.springboot.entity.StorageTask; |
| | | import com.example.springboot.entity.north_glass_buffer1; |
| | | |
| | | import java.util.List; |
| | | |
| | | import javax.print.DocFlavor.STRING; |
| | | |
| | | @Mapper |
| | | |
| | |
| | | // 判断相邻笼子是否有空格 |
| | | @Select("select COUNT(if(a.state1=0,cell,0))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) and disabled=0 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 a.cage,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled from storage_cage a left join (select COUNT(*)shu,cage from storage_cage where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY shu desc,shu2,cage asc; ") |
| | | List<StorageCage> selectAll(String orderids); |
| | | |
| | | // 获取笼子号订单号排序的空订单笼子 |
| | | @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,max(a.state)as state2,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY shu desc,shu2,state2 asc,cage asc;") |
| | | List<StorageCage> selectAll(String orderids,String Fbarcode); |
| | | //优先判断一次是否有同铝框的空位 |
| | | @Select("select *,min(state) state1 from storage_cage where width>=(#{width}+#{width2}) GROUP BY cage,cell HAVING state1=0 and FrameBarcode=#{Fbarcode} ORDER BY width desc LIMIT 1;") |
| | | List<StorageCage> selectAllFbarcode(String Fbarcode,double width,double width2); |
| | | // 获取判断该格子是否需要把外片推入内片位置 |
| | | @Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=1;") |
| | | int selectcell(int cage, int cell); |
| | |
| | | StorageCage selectCage1(int cage1, int cell, double width); |
| | | |
| | | // 判断笼子内玻璃数 |
| | | @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state=1;") |
| | | @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state!=0 and state!=3;") |
| | | int selectsum(int cage, int cell); |
| | | |
| | | // 完成进片中的玻璃状态 |
| | | // 完成出片中的玻璃状态 |
| | | @Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=3;") |
| | | void UpdateCageOver(String glassid, int state); |
| | | |
| | | // 完成进片中的玻璃状态 |
| | | @Update("update storage_cage set state=#{state} where glass_id=#{glassid} and state=2;") |
| | | void UpdateCageadd(String glassid, int state); |
| | | |
| | | //查询是否有该类型的任务还未完成 |
| | | // 判断出片为1时,是否可直接出片 |
| | | @Select("select COUNT(state) from storage_cage where state=#{state}") |
| | | int SelectCageState(int state); |
| | | // 获取玻璃信息 |
| | | @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight from north_glass_buffer1 where barcode=#{glassid}") |
| | | @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight,FrameBarcode from north_glass_buffer1 where barcode=#{glassid}") |
| | | north_glass_buffer1 selectGlass(String glassid); |
| | | |
| | | // 出片任务查询 |
| | |
| | | int selectGlassState(int cage, int cell); |
| | | |
| | | // 判断该调拨的笼子 |
| | | @Select("select glass_id,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),cell desc limit 1;") |
| | | StorageCage selectGlassCage(int cage, double width, int cage1, int cage2); |
| | | @Select("select glass_id,cage,cell,max(state)as shu,ROUND(id/2)as prcid,id,abs(#{cell}-cell)as xuhao from storage_cage where width>=#{width} and cage>#{cage1} and cage<#{cage2} GROUP BY cage,cell HAVING shu=0 order by abs(#{cage} - cage),xuhao desc limit 1;") |
| | | StorageCage selectGlassCage(int cage, double width, int cage1, int cage2,int cell); |
| | | |
| | | // 删除笼子信息(出片) |
| | | @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=null,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glass_id=#{glassid} and state=3;") |
| | | @Update("update storage_cage as a set state=#{state},glass_id=null,FrameBarcode=null,order_id=null,glasswidth=null,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glass_id=#{glassid} and state=3;") |
| | | void UpdataGlassCage(String glassid, int state); |
| | | |
| | | // 改变玻璃状态为出片中 |
| | |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};") |
| | | void UpdataAddCage(String orderid, String glassid, double width, int cage, int cell, int id, int state); |
| | | |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{glass.ordernumber},glasswidth=#{glass.glasslengthmm},glassheight=#{glass.glassheightmm},glasswidthmm=#{glass.glasslength},glassheightmm=#{glass.glassheight},listid=#{glass.listnumber},boxid=#{glass.boxnumber} where id=#{id};") |
| | | void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id, |
| | | int state); |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{glass.ordernumber},glasswidth=#{glass.glasslengthmm},glassheight=#{glass.glassheightmm},glasswidthmm=#{glass.glasslength},glassheightmm=#{glass.glassheight},listid=#{glass.listnumber},boxid=#{glass.boxnumber},FrameBarcode=#{glass.frameBarcode} where id=#{id};") |
| | | void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id,int state); |
| | | |
| | | // 修改笼子信息(多片进片) |
| | | @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where cage=#{cage} and cell=#{cell} and tier=#{tier};") |
| | |
| | | void UpdataOutCage1(double width, int cage, int cell); |
| | | |
| | | // 调拨更换笼子信息 |
| | | @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=2,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.id=#{id1}") |
| | | @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=#{tier})as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid,a.FrameBarcode=b.FrameBarcode where a.id=#{id1}") |
| | | void UpdateDBCage(int id1, int cage, int cell, int tier); |
| | | |
| | | // @Insert("insert into user(name, date, address, user_no) values (#{name}, |
| | | // #{date}, #{address}, #{userNo})") |
| | | // void insert (Spian spian); |
| | | // 新增任务表 |
| | | @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,count) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{count});") |
| | | void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int count); |
| | | @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,count,finsh_time) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{count},#{qidong});") |
| | | void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int count,int qidong); |
| | | |
| | | // 修改任务表 |
| | | @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;") |
| | |
| | | String SelectOrderout(); |
| | | |
| | | // 内外片调换 |
| | | @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=1)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid where a.cage=#{cage} and a.cell=#{cell} and a.tier=2") |
| | | @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=1)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth,a.glassheight=b.glassheight,a.glasswidthmm=b.glasswidthmm,a.glassheightmm=b.glassheightmm,a.listid=b.listid,a.boxid=b.boxid,a.FrameBarcode=b.FrameBarcode where a.cage=#{cage} and a.cell=#{cell} and a.tier=2") |
| | | void UpdateDBCage1(int cage, int cell); |
| | | |
| | | // 清除内片数据 |
| | | @Update("update storage_cage a set glass_id='',order_id='',state=0,glasswidth=0,glassheight=0,glasswidthmm=0,glassheightmm=0,listid=null,boxid=null where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;") |
| | | @Update("update storage_cage a set glass_id=null,order_id=null,state=0,glasswidth=null,glassheight=null,glasswidthmm=null,glassheightmm=null,listid=null,boxid=null,FrameBarcode=null where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;") |
| | | void UpdateDBCage2(int cage, int cell); |
| | | |
| | | // 判断是否有调拨完后出片的任务 |
| | |
| | | // 判断铝框出片表是否有玻璃正在出片中 |
| | | @Select("SELECT count(*) FROM `out_slice` where state=1;") |
| | | int SelectOutSliceshu(); |
| | | //判断是否有调拨任务未完成 |
| | | @Select("SELECT count(*) FROM `storage_cage` where state=#{state};") |
| | | int Selectcageout(int state); |
| | | |
| | | // 更新出片队列的任务状态 |
| | | @Update("update out_slice set state=#{state} where glassid=#{glassid}") |
| | | void OverOutSlice(String glassid, int state); |
| | | @Update("update out_slice set state=#{state} where glassid=#{glassid} and state=#{state2}") |
| | | void OverOutSlice(String glassid, int state,int state2); |
| | | |
| | | // 获取玻璃的铝框id |
| | | @Select("select barcode from out_slice where glassid=#{glassid};") |
| | | String SelectBarcode(String glassId); |
| | | |
| | | // 获取出片队列的铝框是否全部完成 |
| | | @Select("select MIN(state) from out_slice where barcode=#{barcode};") |
| | | @Select("select count(*) from out_slice where barcode=#{barcode} and (state=1 or state=0 or state=3);") |
| | | int SelectOverState(String barcode); |
| | | |
| | | // 删除出片队列该铝框的id |
| | |
| | | //新增日志表格 |
| | | @Insert("INSERT INTO `canadames`.`log`( `text`,time) VALUES (#{logtxt},now());") |
| | | void insertlog(String logtxt); |
| | | //获取该半区是否有执行的任务 |
| | | @Select(" select count(*) from storage_cage where state=#{state} and cage>#{cage1} and cage<#{cage2}") |
| | | int SelectCageTask(int state,int cage1,int cage2); |
| | | //判断玻璃是否禁用 |
| | | @Select(" select disabled from storage_cage where glass_id=#{glassid} limit 1;") |
| | | int SelectCageGlassState(String glassid); |
| | | //判断汇报的id是否正确 |
| | | @Select("SELECT count(*) FROM `storage_cage` where state!=0 and glass_id=#{glassid}") |
| | | int SelectHB(String glassid); |
| | | } |