From be64830b020d7cacc429776b0fe5bfab4d893e05 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 12 十二月 2023 08:32:31 +0800
Subject: [PATCH] 调整出片队列逻辑
---
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 76 +++++++++++++++++++++++---------------
1 files changed, 46 insertions(+), 30 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 86dbe5a..42a458d 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
@@ -15,7 +15,7 @@
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")
+ @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) 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;")
@@ -26,46 +26,50 @@
@Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=1;")
int selectcell(int cage,int cell);
//鍒ゆ柇璇ョ瀛愭槸鍚︽湁鍚堥�傚搴︾┖鏍�
- @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 asc LIMIT 1")
+ @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 disabled=0 and width>=#{width} ORDER BY cell asc,tier asc 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;")
+ @Select("select COUNT(tier)as tier from storage_cage where cage=#{cage} and cell=#{cell} and state!=0;")
int selectsum(int cage,int cell);
+ //瀹屾垚杩涚墖涓殑鐜荤拑鐘舵��
+ @Update("update storage_cage set state=#{state} where glass_id=#{glassid};")
+ void UpdateCageOver(String glassid,int state);
- //@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 as ordernumber,width as glasslengthmm from glass where glassid=#{glassid}")
+ @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight from north_glass_buffer1 where barcode=#{glassid}")
north_glass_buffer1 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 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")
+ @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} and disabled=0 and state=1 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")
+ @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 and disabled=0 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}")
+ @Select("select COUNT(state) from storage_cage where cage=#{cage} and cell=#{cell} and state=1")
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;")
+ @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);
//鍒犻櫎绗煎瓙淇℃伅(鍑虹墖)
- @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 as a set state=#{state},glass_id=null,order_id=null,glasswidth=0,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 as a set state=#{state} where glass_id=#{glassid};")
+ void UpdataGlassCageState(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=#{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);
@@ -80,7 +84,7 @@
@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=#{tier})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}")
+ @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 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);
@@ -91,16 +95,16 @@
@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();
+ @Update("update storage_task set task_state=1 where task_state=0 and glass_id=#{glassid};")
+ void UpdatetaskOut(String glassid);
//鏌ヨ鎸夎鍗曞嚭鐗�
@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")
+ @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")
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;")
+ @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;")
void UpdateDBCage2(int cage,int cell);
//鍒ゆ柇鏄惁鏈夎皟鎷ㄥ畬鍚庡嚭鐗囩殑浠诲姟
@Select("select COUNT(*)as id,glass_id as barcode from storage_task where (task_type=1 or task_type=2) and task_state=0;")
@@ -108,13 +112,21 @@
//鏍规嵁绗煎瓙鏍煎瓙灞傛暟鑾峰彇鐜荤拑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 COUNT(*) from queue where glassid=#{glassid} and state=1;")
+ int Selectquecount(String glassid);
+ //鏇存柊杩涚墖闃熷垪
+ @Update("update queue set glassid=#{glassid},orderid=#{orderid},listid=#{listid},boxid=#{boxid},state=#{state},glasswidthmm=#{glasswidthmm},glassheightmm=#{glassheightmm},glasswidth=#{glasswidth},glassheight=#{glassheight} where type=#{type};")
+ void Updatequeue(String glassid,String orderid,String listid,String boxid,int state,String glasswidth,String glassheight,String glasswidthmm,String glassheightmm,int type);
+ //瀹屾垚杩涚墖闃熷垪浠诲姟
+ @Update("update queue set state=#{state} where glassid=#{glassid};")
+ void overqueue(String glassid,int state);
+ //鏇存崲浠诲姟闃熷垪
+ @Update("update queue set state=#{state} where glassid=#{glassid} and type=#{type};")
+ void overqueue2(String glassid,int state,int type);
//鑾峰彇浠诲姟搴忓垪
@Select("select glassid,orderid,width,type from queue where state=#{state}")
StorageCage SelectQueue(int state);
@@ -139,14 +151,18 @@
//鑾峰彇杩涚墖闃熷垪id
@Select("select glassid from queue where type=1")
String Selectqueueid();
- //鑾峰彇杩涚墖闃熷垪id
+ //鑾峰彇杩涚墖闃熷垪鏄惁鏈夊緟鍏ュ簱
@Select("select state from queue where type=1")
- String Selectqueuestate();
+ int Selectqueuestate();
//鍒ゆ柇閾濇鍑虹墖琛ㄦ槸鍚︽湁鐜荤拑闇�瑕佸嚭
- @Select("SELECT * FROM `out_slice` where state=0 or state=0 order by id limit 1;")
+ @Select("SELECT glassid FROM `out_slice` where state=0 order by sequence,id limit 1;")
String SelectOutSlice();
//鍒ゆ柇閾濇鍑虹墖琛ㄦ槸鍚︽湁鐜荤拑姝e湪鍑虹墖涓�
- @Select("SELECT count(*) FROM `out_slice` where state=1 or state=0 order by id limit 1;")
+ @Select("SELECT count(*) FROM `out_slice` where state=1;")
int SelectOutSliceshu();
+ //鏇存柊鍑虹墖闃熷垪鐨勪换鍔$姸鎬�
+ @Update("update out_slice set state=#{state} where glassid=#{glassid}")
+ void OverOutSlice(String glassid,int state);
+
}
\ No newline at end of file
--
Gitblit v1.8.0