From bd8abc24af2e6775a6a6ca72de2162065346aab9 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期一, 30 十月 2023 11:05:24 +0800 Subject: [PATCH] 多片进出逻辑修改 --- springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 41 ++++++++++++++++++++++++++++++++++------- 1 files changed, 34 insertions(+), 7 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 e9e4edd..03e840e 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 @@ -20,8 +20,8 @@ //@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 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); //鍒ゆ柇璇ョ瀛愭槸鍚︽湁鍚堥�傚搴︾┖鏍� @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") @@ -41,14 +41,16 @@ 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") + @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 state from storage_cage where cage=#{cage} and cell=#{cell} and tier=2;") + @Select("select COUNT(state) from storage_cage where cage=#{cage} and cell=#{cell}") int selectGlassState(int cage,int cell); //鍒ゆ柇璇ヨ皟鎷ㄧ殑绗煎瓙 @@ -61,7 +63,10 @@ //淇敼绗煎瓙淇℃伅(杩涚墖) @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); + 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); @@ -104,7 +109,29 @@ @Select("SELECT COUNT(*) FROM `storage_cage` where state=3;") Integer Selectoutstate(); //娣诲姞浠诲姟搴忓垪 - @Insert("INSERT INTO `canadames`.`queue`(`glassid`, `type`, `state`) VALUES (#{glassid},#{type},0);") - void insertqueue(String glassid,int type); + @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); + } \ No newline at end of file -- Gitblit v1.8.0