ZengTao
2023-11-28 af5edce322ff326356a32011e140182846c5dbed
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
package com.example.springboot.mapper;
 
import org.apache.ibatis.annotations.*;
 
import com.example.springboot.entity.CarPosition;
import com.example.springboot.entity.Glass;
import com.example.springboot.entity.StorageCage;
import com.example.springboot.entity.alarmmg;
import com.example.springboot.entity.north_glass_buffer1;
import com.example.springboot.entity.Out_slice;
 
import java.util.List;
 
@Mapper
public interface HomeMapper {
  //查询每个笼子的使用情况
  @Select("select cage,round(100-(21-sum(if(state>0,1,state)))/21*100) as cell,21-sum(if(state>0,1,state)) as state from (select cage,cell,max(state) as state from storage_cage group by cage,cell) as cages group by cage")
  List<StorageCage> selectAll();
 
  // 查询10-6笼内层格子状态
  @Select("SELECT cage,state,ifnull(glasswidth/2750*2,0) as glasswidth from storage_cage where cage>5 and tier=2 order by cage desc,cell desc")
  List<StorageCage> selectRack1();
 
  // 查询5-1笼内层格子状态
  @Select("SELECT cage,state,ifnull(glasswidth/2750*2,0) as glasswidth from storage_cage where cage<=5 and tier=2 order by cage desc,cell desc")
  List<StorageCage> selectRack2();
 
  // 查询10-6笼外层格子状态
  @Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width  from storage_cage where cage>5  group by cage,cell order by cage desc,cell desc")
  List<StorageCage> selectRack3();
 
  // 查询5-1笼外层格子状态
  @Select("SELECT case when tier=1 then cage else 0 end as cage,case when tier=1 then state else 0 end as state,sum(case when tier=1 then glasswidth/2750*2 else 0 end) as glasswidth,sum(case when tier=2 then glasswidth/2750*2 else 0 end) as width  from storage_cage where cage<=5  group by cage,cell order by cage desc,cell desc")
  List<StorageCage> selectRack4();
 
  // 根据任务类型查询当前正在出片,进片的玻璃信息
  @Select("select *,concat(glasswidth,' x ',glassheight) as lengthwidth from storage_cage where state=#{task_type}")
  List<StorageCage> selectinout(@Param("task_type") Integer task_type);
 
  // 查询是否存在此订单
  @Select("select count(*) from storage_cage where order_id=#{orderid} and state=1")
  short SelectOrder(@Param("orderid") String orderid);
 
  // @Insert("insert into order_out(orderid) values('#{orderid}')")
  @Insert("INSERT INTO `canadames`.`order_out`( `order_id`,`state`) VALUES ( #{orderid},0)")
  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=0")
  short SelectInTask();
 
  // 手动完成任务
  @Update("update storage_task set task_state=1 where task_type=#{task_type} and task_state=0")
  void UpdateTask(@Param("task_type") Integer task_type);
 
  // 手动完成进片任务修改笼子数据
  @Update("update storage_cage set state=1 where glass_id=#{glassid} and state=2")
  void UpdateCageTask1(@Param("glassid") String glassid);
 
  // 手动完成出片任务修改笼子数据
  @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null where glass_id=#{glassid} and state=3")
  void UpdateCageTask2(@Param("glassid") String glassid);
 
  //获取报警信息
  @Select("select id,content,timeon as timeons,endTime from alarmmg where endTime is null")
  List<alarmmg> SelectAlarmmgInfo();
 
  //获取理片笼内玻璃信息
  @Select("select *,concat(round(a.glasswidth),' x ',round(a.glassheight)) as lengthwidth from storage_cage as a")
  List<StorageCage> SelectCageInfo(short cage);
 
  @Update("update storage_cage set state=0,glass_id=null,order_id=null,glasswidth=null,glassheight=null where glass_id=#{glassid}")
  void DeleteByGlassID(String glassid);
 
  //查询小车位置
  @Select("select * from car_position")
  List<CarPosition> Loadcarlist();
 
  //查询操作密码
  @Select("select dianqimima from user where id=1")
  String SelectPassword();
 
  //根据玻璃id查询理片笼信息
  @Select("select * from storage_cage where glass_id=#{glassid}")
  StorageCage SelectGlassInfo(String glassid);
 
  //查询玻璃信息
//  @Select("select * from glass where glassid=#{glassid}")
  @Select("SELECT ordernumber,listnumber,boxnumber,barcode,glasslength,glassheight,glasslength_mm,glassheight_mm FROM north_glass_buffer1 where barcode=#{barcode}")
  north_glass_buffer1 SelectGlassByGlassID(String barcode);
 
  //启用/禁用理片笼格子
  @Update("update storage_cage set disabled=#{disabled} where cage=#{cage} and cell=#{cell}")
  void Disabled(short cage, short cell, short disabled);
 
  //理片笼新增玻璃
  @Update("update storage_cage set state=1,glass_id=#{glass.barcode},order_id=#{glass.ordernumber},glasswidth=#{glass.glasslengthmm},glassheight=#{glass.glassheightmm} where cage=#{cage} and cell=#{cell} and tier=#{tier}")
  void Inglassid(north_glass_buffer1 glass, short cage, short cell, short tier);
 
  //查询理片笼中是否有此玻璃
  @Select("select count(*) from storage_cage where glass_id=#{glassId}")
  short SelectStorageByGlassId(String glassId);
 
  //根据订单查询玻璃信息
  @Select("select * from north_glass_buffer1 where position(#{orderid} in ordernumber)")
  List<north_glass_buffer1> SelectGlass(String orderid);
 
  //获取上片队列信息
  @Select("select glassid from queue where id=#{id}")
  String GetQueueInfo(int id);
 
  //手动添加扫码位玻璃
  @Select("update queue set glassid=#{glassid},state=1 where id=#{id}")
  void InsertQueueGlassId(String glassid,Short id);
 
  //确认扫码位玻璃信息
  @Select("update queue set state=1 where id=1")
  void UpdateQueueState();
 
  //手动添加扫码位玻璃
  @Select("update queue set glassid='',state=0 where id=#{id}")
  void DeleteQueueGlass(String id);
 
  //查询此订单在理片笼里的玻璃数
  @Select("select count(*) from storage_cage where order_id=#{orderid}")
  Short SelectGlassNo(String orderid);
 
  //根据玻璃id从客户表查询数据
  @Select("select * from north_glass_buffer1 where barcode=#{glassid}")
  north_glass_buffer1 SelectBoxNo(String glassid);
 
  //查询出片队列信息
  @Select("select * from out_slice where state=0 or state=1")
  List<Out_slice> SelectProductionqueue();
 
  //根据玻璃id查询笼内玻璃信息
  @Select("select * from storage_cage where glass_id=#{glassid}")
  StorageCage SelectStorageGlassById(String glassid);
 
 
  //根据玻璃id删除出片队列玻璃
  @Select("update out_slice set state=3 where id=#{id}")
  void DeleteProductionQueueGlass(Short id);
 
  //根据铝框id查询对应玻璃信息
  @Select("select * from north_glass_buffer1 where FrameBarcode=#{FrameBarcode}")
  List<north_glass_buffer1> SelectAluminumFrameInfoById(String FrameBarcode);
 
  //查询根据id查询
  @Select("select b.* from storage_cage a inner join out_slice b on a.glass_id=b.glassId where b.glassId=#{glassId}")
  List<Out_slice> SelectOutSliceById(String glassId);
 
  //查询玻璃id是否
  @Select("select Flip from north_glass_buffer1_frames where Barcode=#{frameBarcode} limit 1")
  String SelectFlipByFrameBarcode(String frameBarcode);
 
  //查询玻璃是否已存在于出片队列
  @Select("select * from out_slice where glassid=#{getbarcode} and (state=0 or state=1)")
  Out_slice SelectQueueByglassid(String getbarcode);
 
  //查询玻璃是否已存在于出片队列
  @Select("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, 0, #{flip});")
  void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm);
 
}