From 3f98ccf49e7ffc098689c37237bd1dceed651ca1 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期一, 27 十一月 2023 09:14:39 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes --- springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 253 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 161 insertions(+), 92 deletions(-) diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java index 858f9ec..301ab96 100644 --- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java +++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java @@ -1,11 +1,10 @@ package com.example.springboot.mapper; -import org.apache.ibatis.annotations.*; +import org.apache.ibatis.annotations.*; import com.example.springboot.entity.Glass; import com.example.springboot.entity.StorageCage; import com.example.springboot.entity.StorageTask; - import java.util.List; @@ -14,100 +13,170 @@ @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,cell,min(state)as state1 from storage_cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY orderid desc; ") - List<StorageCage> selectAll(Short orderids); + // 鍒ゆ柇鐩搁偦绗煎瓙鏄惁鏈夌┖鏍� + @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 cage,cell,tier,id,ROUND(id/2)as prcId,width from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and width>=#{width} ORDER BY cell asc,tier desc LIMIT 1") - 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;") - int selectsum(int cage,int cell); + // @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 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); - //@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(String 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,glass_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); - //鎸夌幓鐠僆D鍑虹墖浠诲姟鏌ヨ - @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); + // 鍒ゆ柇璇ョ瀛愭槸鍚︽湁鍚堥�傚搴︾┖鏍� + @Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and width>=#{width} ORDER BY cell asc,tier desc LIMIT 1") + StorageCage selectCage1(int cage1, int cell, double width); - //鍒ゆ柇鍑虹墖涓�1鏃讹紝鏄惁鍙洿鎺ュ嚭鐗� - @Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;") - int selectGlassState(int cage,int cell); + // 鍒ゆ柇绗煎瓙鍐呯幓鐠冩暟 + @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state=1;") + int selectsum(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) limit 1;") - StorageCage selectGlassCage(int cage,double width,int cage1,int cage2); + // @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(); - //鍒犻櫎绗煎瓙淇℃伅(鍑虹墖) - @Update("update storage_cage as a set state=#{state},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); + // 鑾峰彇鐜荤拑淇℃伅 + @Select("select orderid,width from glass where glassid=#{glassid}") + Glass selectGlass(String glassid); - //淇敼绗煎瓙淇℃伅(杩涚墖) - @Update("update storage_cage set state=#{state},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};") - void UpdataAddCage(Short orderid,String glassid,double width,int cage,int cell,int id,int state); - //淇敼鍚岀瀛愭牸瀛愬搴� - @Update("update storage_cage set width=width-#{width} where cage=#{cage} and cell=#{cell};") - void UpdataAddCage1(double width,int cage,int cell); - //淇敼鍚岀瀛愭牸瀛愬搴� - @Update("update storage_cage set state=#{state} where state=#{oldstate};") - void UpdataAddCageState(int state,int oldstate); - //淇敼鍚岀瀛愭牸瀛愬搴�(鍑虹墖) - @Update("update storage_cage set width=width+#{width} where cage=#{cage} and cell=#{cell};") - 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=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth 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); - //鏂板浠诲姟琛� - @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid});") - void Inserttask(int tasktype,int taskstate,int shelfrack,int loadrack,String glassid); - //淇敼浠诲姟琛� - @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;") - void Updatetask(int state,int type); - //淇敼浠诲姟琛� - @Update("update storage_task set task_state=1 where (task_type=1 or task_type=2) and task_state=0;") - void UpdatetaskOut(); - //鏌ヨ鎸夎鍗曞嚭鐗� - @Select("select order_id state from order_out where 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=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth where a.cage=#{cage} and a.cell=#{cell} and a.tier=1") - void UpdateDBCage1(int cage,int cell); - //娓呴櫎鍐呯墖鏁版嵁 - @Update("update storage_cage set glass_id='',order_id='',state=0,glasswidth=0 where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;") - void UpdateDBCage2(int cage,int cell); - //鍒ゆ柇鏄惁鏈夎皟鎷ㄥ畬鍚庡嚭鐗囩殑浠诲姟 - @Select("select COUNT(*)as id,glass_id from storage_task where (task_type=1 or task_type=2) and task_state=0;") - Glass SelectDBOut(); - //鏍规嵁绗煎瓙鏍煎瓙灞傛暟鑾峰彇鐜荤拑id - @Select("select glass_id from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;") - String SelectGlassid(int cage,int cell); - //鏍规嵁绗煎瓙鏍煎瓙灞傛暟鑾峰彇鐜荤拑id - @Select("SELECT COUNT(*) FROM `storage_cage` where state=3;") - Integer Selectoutstate(); - //鑾峰彇杩涚墖闃熷垪id - @Select("select glassid from queue where type=1") - String Selectqueueid(); - //鑾峰彇杩涚墖闃熷垪id - @Select("select state from queue where type=1") - String Selectqueuestate(); + @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 COUNT(order_id)order_id,cage,cell,glasswidth,tier,ROUND(id/2)as prcId,glass_id from storage_cage a where a.order_id=#{orderId} GROUP BY cage,cell ORDER BY cage desc,order_id desc,cell desc,glasswidth desc limit 1") + StorageCage selectOut(String orderId); + + // @Select("select cage,cell,tier,glasswidth,ROUND(id/2)as prcId,id,glass_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); + // 鎸夌幓鐠僆D鍑虹墖浠诲姟鏌ヨ + @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 COUNT(state) from storage_cage where cage=#{cage} and cell=#{cell}") + 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) limit 1;") + StorageCage selectGlassCage(int cage, double width, int cage1, int cage2); + + // 鍒犻櫎绗煎瓙淇℃伅(鍑虹墖) + @Update("update storage_cage as a set state=#{state},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},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=#{orderid},glasswidth=#{width} where cage=#{cage} and cell=#{cell} and tier=#{tier};") + void UpdataAddqueCage(String orderid, String glassid, double width, int cage, int cell, int tier, int state); + + // 淇敼鍚岀瀛愭牸瀛愬搴� + @Update("update storage_cage set width=width-#{width} where cage=#{cage} and cell=#{cell};") + void UpdataAddCage1(double width, int cage, int cell); + + // 淇敼鍚岀瀛愭牸瀛愬搴� + @Update("update storage_cage set state=#{state} where state=#{oldstate};") + void UpdataAddCageState(int state, int oldstate); + + // 淇敼鍚岀瀛愭牸瀛愬搴�(鍑虹墖) + @Update("update storage_cage set width=width+#{width} where cage=#{cage} and cell=#{cell};") + 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=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth 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); + // 鏂板浠诲姟琛� + @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid});") + void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid); + + // 淇敼浠诲姟琛� + @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;") + void Updatetask(int state, int type); + + // 淇敼浠诲姟琛� + @Update("update storage_task set task_state=1 where (task_type=1 or task_type=2) and task_state=0;") + void UpdatetaskOut(); + + // 鏌ヨ鎸夎鍗曞嚭鐗� + @Select("select order_id state from order_out where 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=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1,a.glasswidth=b.glasswidth where a.cage=#{cage} and a.cell=#{cell} and a.tier=1") + void UpdateDBCage1(int cage, int cell); + + // 娓呴櫎鍐呯墖鏁版嵁 + @Update("update storage_cage set glass_id='',order_id='',state=0,glasswidth=0 where a.cage=#{cage} and a.cell=#{cell} and a.tier=1;") + void UpdateDBCage2(int cage, int cell); + + // 鍒ゆ柇鏄惁鏈夎皟鎷ㄥ畬鍚庡嚭鐗囩殑浠诲姟 + @Select("select COUNT(*)as id,glass_id from storage_task where (task_type=1 or task_type=2) and task_state=0;") + Glass SelectDBOut(); + + // 鏍规嵁绗煎瓙鏍煎瓙灞傛暟鑾峰彇鐜荤拑id + @Select("select glass_id from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;") + String SelectGlassid(int cage, int cell); + + // 鏍规嵁绗煎瓙鏍煎瓙灞傛暟鑾峰彇鐜荤拑id + @Select("SELECT COUNT(*) FROM `storage_cage` where state=3;") + Integer Selectoutstate(); + + // 娣诲姞浠诲姟搴忓垪 + // 鑾峰彇杩涚墖闃熷垪id + @Insert("INSERT INTO `canadames`.`queue`(`glassid`, `type`, `state`,width) VALUES (#{glassid},#{type},0,#{width});") + void insertqueue(String glassid, int type, double width); + + // 鑾峰彇浠诲姟搴忓垪 + @Select("select glassid,orderid,width,type from queue where state=#{state}") + StorageCage SelectQueue(int state); + + // 鑾峰彇搴忓垪琛ㄧ殑鐜荤拑瀹� + @Select("select sum(width)+400 as width,orderid from queue where state=0 limit 1") + StorageCage SelectQueueWidth(); + + // 鍒ゆ柇璇ョ瀛愭槸鍚︽湁鍚堥�傚畬鏁寸┖鏍� + @Select("select cage,cell,tier,id,ROUND(id/2)as prcId,width,max(state)state1 from storage_cage where cage=#{cage1} and cell=#{cell} and state=0 and width>=#{width} HAVING state1=0 ORDER BY cell asc,tier desc LIMIT 1") + StorageCage selectqueCage1(int cage1, int cell, double width); + + // 鑾峰彇搴忓垪琛ㄧ殑鐜荤拑 + @Select("select glassid,orderid,width from queue where state=0 and type=#{type}") + Glass SelectQueueGlass(int type); + + // 澶氱墖鍑哄簱娓呴櫎涓�鏁翠釜绌烘牸 + @Update("update storage_cage set glass_id='',order_id='',glasswidth=0,width=2750,state=0 where cage=#{cage} and cell=#{cell}") + void UpdatequeOut(int cage, int cell); + + // 鍒ゆ柇搴忓垪琛ㄩ噷鐨勭幓鐠冩槸鍚︽槸鍚屼竴璁㈠崟 + @Select("select COUNT(distinct orderid) from queue ") + int SelectQueOrder(); + + // 瀵绘壘鍙互澶氱墖鍑虹墖鐨勭幓鐠� + @Select("select cage,cell,ROUND(id/2)as prcId,width,count(glass_id)shu from storage_cage where order_id=#{orderid} and (cage!=#{cage} or cell!=#{cell}) GROUP BY cage,cell HAVING shu=1 ORDER BY cage desc,cell desc limit 1") + StorageCage SelectQueout(String orderid, int cage, int cell); + // 鑾峰彇杩涚墖闃熷垪id + + @Select("select glassid from queue where type=1") + String Selectqueueid(); + + // 鑾峰彇杩涚墖闃熷垪id + @Select("select state from queue where type=1") + String Selectqueuestate(); } - \ No newline at end of file -- Gitblit v1.8.0