From 209a57aecbf26911f6a3ae0692b51ed0289f5b1a Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 14 九月 2023 17:04:56 +0800
Subject: [PATCH] 优化理片笼逻辑

---
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 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 76b6d90..ae9b6a6 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,11 @@
 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;
 
@@ -18,11 +18,11 @@
      
      //@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=#{glassid},order_id,null))as orderid from storage_cage where (order_id=#{glassid} or ''='') GROUP BY cage ORDER BY orderid desc; ")
-     List<StorageCage> selectAll(Short glassid);
+     @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")
+     @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 asc,tier desc 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;")
@@ -42,7 +42,7 @@
     @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);
     //鎸夌幓鐠僆D鍑虹墖浠诲姟鏌ヨ
-    @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")
+    @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鏃讹紝鏄惁鍙洿鎺ュ嚭鐗�
@@ -54,16 +54,33 @@
      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};")
+    @Update("update storage_cage 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},width=width-#{width},glass_id=#{glassid},order_id=#{orderid},glasswidth=#{width} where id=#{id};")
+    @Update("update storage_cage set state=#{state},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 set width=width-#{width} where   cage=#{cage} and cell=#{cell};")
+    void UpdataAddCage1(double width,int cage,int cell);
+    //淇敼鍚岀瀛愭牸瀛愬搴�(鍑虹墖)
+     @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.glasswidth=b.glasswidth,a.width=a.width-b.glasswidth,a.state=1 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=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,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);
-    
+    //鏂板浠诲姟琛�
+    @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now());")
+    void Inserttask(int tasktype,int taskstate,int shelfrack,int loadrack);
+    //淇敼浠诲姟琛�
+    @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();
 }

--
Gitblit v1.8.0