wuyouming666
2023-09-12 8e69e4edb047e384aa7b74e82fa7b33f2eb5a4e5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package com.example.springboot.mapper;
 
import org.apache.ibatis.annotations.*;
 
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
 
import java.util.List;
 
@Mapper
public interface HomeMapper {
  //查询每个笼子的使用情况
  @Select("SELECT cage,round(round(sum(state)/42,2)*100) as cell,42-sum(state) as state FROM storage_cage group by cage")
  List<StorageCage> selectAll();
 
  // 查询1-5笼内层格子状态
  @Select("SELECT state from storage_cage where cage<=5 and tier=1")
  List<StorageCage> selectRack1();
 
  // 查询6-10笼内层格子状态
  @Select("SELECT state from storage_cage where cage>5 and tier=1")
  List<StorageCage> selectRack2();
 
  // 查询1-5笼外层格子状态
  @Select("SELECT state from storage_cage where cage<=5 and tier=2")
  List<StorageCage> selectRack3();
 
  // 查询6-10笼外层格子状态
  @Select("SELECT state from storage_cage where cage>5 and tier=2")
  List<StorageCage> selectRack4();
 
  // 根据任务类型查询当前正在出片,进片的玻璃信息
  @Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where state=#{task_type} limit 1")
  List<StorageCage> selectinout(@Param("task_type") Integer task_type);
 
  // 查询是否存在此订单
  @Select("select count(*) from storage_cage where order_id=#{orderid} and state=0")
  short SelectOrder(@Param("orderid") String orderid);
 
  // @Insert("insert into order_out(orderid) values('#{orderid}')")
  @Insert("INSERT INTO `canadames`.`order_out`( `orderid`,`mod_time`) VALUES ( #{orderid},now())")
  void InsertOrder(String orderid);
 
  // 停止按当前订单出片
  @Update("update order_out set state=1 where state=0")
  void updateOrder();
 
  // 查询是否存在正在上片的任务
  @Select("select count(*) from storage_task where task_state=0 and task_type=1")
  short SelectOutTask();
 
  // 手动完成任务
  @Update("update storage_task set task_state=1 where shelf_rack=#{shelf_rack} and task_type=#{task_type} and task_state=0")
  void UpdateTask(@Param("task_type") Integer task_type, @Param("shelf_rack") Integer shelf_rack);
 
  // 手动完成进片任务修改笼子数据
  @Update("update storage_cage set state=1 where cell=#{cell} and state=2")
  void UpdateCageTask1(@Param("cell") Integer cell);
 
  // 手动完成出片任务修改笼子数据
  @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null,coating=null where cell=#{cell} and state=2")
  void UpdateCageTask2(@Param("cell") Integer cell);
 
  //获取报警信息
  @Select("select * from alarmmg where endTime is null")
  List<alarmmg> SelectAlarmmgInfo();
}