Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
New file |
| | |
| | | let socket;
|
| | |
|
| | | export default {
|
| | | install: (Vue, options) => {
|
| | | Vue.prototype.$connectWebSocket = (viewname, handleData) => {
|
| | | if (typeof WebSocket === "undefined") {
|
| | | console.log("您的浏览器不支持 WebSocket");
|
| | | } else {
|
| | | let socketUrl = "ws://" + options.ip + ":8888" + "/springboot-vue3/api/talk/" + viewname;
|
| | | if (socket != null) {
|
| | | socket.close();
|
| | | socket = null;
|
| | | }
|
| | |
|
| | | // 开启一个 WebSocket 连接
|
| | | socket = new WebSocket(socketUrl);
|
| | |
|
| | | // 打开事件
|
| | | socket.onopen = () => {
|
| | | console.log("WebSocket 已打开");
|
| | | };
|
| | |
|
| | | // 收到消息
|
| | | socket.onmessage = (msg) => {
|
| | | if (!msg.data) {
|
| | | return;
|
| | | }
|
| | | handleData(JSON.parse(msg.data));
|
| | | };
|
| | |
|
| | | // 关闭事件
|
| | | socket.onclose = () => {
|
| | | console.log("WebSocket 已关闭");
|
| | | };
|
| | |
|
| | | // 发生错误事件
|
| | | socket.onerror = () => {
|
| | | console.log("WebSocket 发生了错误");
|
| | | };
|
| | | }
|
| | | };
|
| | |
|
| | | Vue.prototype.$sendWebSocketMessage = (message) => {
|
| | | socket?.send(JSON.stringify(message));
|
| | | };
|
| | |
|
| | | Vue.prototype.$closeWebSocket = () => {
|
| | | // 关闭 WebSocket 连接
|
| | | socket.close();
|
| | | };
|
| | | },
|
| | | };
|
| | |
| | | // // TODO Auto-generated catch block |
| | | // e.printStackTrace(); |
| | | // } |
| | | spianService.selectAll("X12345610402GV"); |
| | | // 出片任务//////////////////////////////// |
| | | List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 出片车状态 |
| | | List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 出片任务是否启动 |
| | |
| | | //存片等待延迟 |
| | | customS7Control.Writetime(messageArray, timeout2, 2); |
| | | |
| | | |
| | | // 清空消息列表 |
| | | webserver.clearMessages(); |
| | | } |
| | |
| | | private Integer disabled;//停用 |
| | | private String listId;//集合id |
| | | private String boxId;//箱子id |
| | | private String FrameBarcode;//铝框id; |
| | | |
| | | private north_glass_buffer1 north_glass_buffer1s; |
| | | |
| | |
| | | public void setBoxno(String boxId) { |
| | | this.boxId = boxId; |
| | | } |
| | | |
| | | public String getFrameBarcode() { |
| | | return FrameBarcode; |
| | | } |
| | | |
| | | public void setFrameBarcode(String FrameBarcode) { |
| | | this.FrameBarcode = FrameBarcode; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | import org.apache.ibatis.annotations.*; |
| | | |
| | | import com.example.springboot.entity.Glass; |
| | | import com.example.springboot.entity.StorageCage; |
| | | import com.example.springboot.entity.StorageTask; |
| | | import com.example.springboot.entity.north_glass_buffer1; |
| | | |
| | | import java.util.List; |
| | |
| | | // 判断相邻笼子是否有空格 |
| | | @Select("select COUNT(if(a.state1=0,cell,0))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;") |
| | | // 获取订单号排序的空订单笼子 |
| | | @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,disabled 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 a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled,FrameBarcode 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 FrameBarcode=#{Fbarcode} desc,shu desc,shu2,cage asc; ") |
| | | List<StorageCage> selectAll(String orderids,String Fbarcode); |
| | | |
| | | // 获取判断该格子是否需要把外片推入内片位置 |
| | | @Select("select state from storage_cage where cage=#{cage} and cell=#{cell} and tier=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 and state!=3;") |
| | | int selectsum(int cage, int cell); |
| | | |
| | | // 完成进片中的玻璃状态 |
| | |
| | | void UpdateCageadd(String glassid, int state); |
| | | |
| | | // 获取玻璃信息 |
| | | @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight from north_glass_buffer1 where barcode=#{glassid}") |
| | | @Select("select *,ordernumber ,glasslength_mm as glasslengthmm,glassheight_mm as glassheightmm,barcode,listnumber,boxnumber,glasslength,glassheight,FrameBarcode from north_glass_buffer1 where barcode=#{glassid}") |
| | | north_glass_buffer1 selectGlass(String glassid); |
| | | |
| | | // 出片任务查询 |
| | |
| | | StorageCage selectGlassCage(int cage, double width, int cage1, int cage2,int cell); |
| | | |
| | | // 删除笼子信息(出片) |
| | | @Update("update storage_cage as a set state=#{state},glass_id=null,order_id=null,glasswidth=null,a.glassheight=null,a.glasswidthmm=null,a.glassheightmm=null,a.listid=null,a.boxid=null where glass_id=#{glassid} and state=3;") |
| | | @Update("update storage_cage as a set state=#{state},glass_id=null,FrameBarcode=null,order_id=null,glasswidth=null,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 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};") |
| | | @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},FrameBarcode=#{glass.FrameBarcode} where id=#{id};") |
| | | void UpdataAddCage2(String orderid, String glassid, north_glass_buffer1 glass, int cage, int cell, int id, |
| | | int state); |
| | | |
| | |
| | | int SelectOutSliceshu(); |
| | | |
| | | // 更新出片队列的任务状态 |
| | | @Update("update out_slice set state=#{state} where glassid=#{glassid}") |
| | | @Update("update out_slice set state=#{state} where glassid=#{glassid} and state=1") |
| | | void OverOutSlice(String glassid, int state); |
| | | |
| | | // 获取玻璃的铝框id |
| | |
| | | String SelectBarcode(String glassId); |
| | | |
| | | // 获取出片队列的铝框是否全部完成 |
| | | @Select("select MIN(state) from out_slice where barcode=#{barcode};") |
| | | @Select("select count(*) from out_slice where barcode=#{barcode} and (state=1 or state=0 or state=3);") |
| | | int SelectOverState(String barcode); |
| | | |
| | | // 删除出片队列该铝框的id |
| | |
| | | } |
| | | double widths = glasslist.getglasslengthmm(); |
| | | String orderids = glasslist.getordernumber(); |
| | | String FrameBarcode=glasslist.getFrameBarcode(); |
| | | |
| | | List<String> adddresslist = new ArrayList<>(); |
| | | adddresslist.add("DB105.0");// 进片车起始位置 |
| | |
| | | |
| | | // String orderid="A001"; |
| | | // 获取订单相关度最高的笼子排序 |
| | | List<StorageCage> storageCage = spianMapper.selectAll(orderids.toString()); |
| | | List<StorageCage> storageCage = spianMapper.selectAll(orderids,FrameBarcode); |
| | | if (storageCage == null) { |
| | | return (400); |
| | | } |
| | |
| | | spianMapper.UpdateAddQueue(glassid);// 把进片的玻璃更新到出片队列中 |
| | | if (barcode != null) { |
| | | int barcodeState = spianMapper.SelectOverState(barcode);// 获取该铝框的状态 |
| | | if (barcodeState == 2) {// 当该铝框所有的玻璃都是完成状态时删除在出片队列的数据 |
| | | if (barcodeState == 0) {// 当该铝框所有的玻璃都是完成状态时删除在出片队列的数据 |
| | | spianMapper.DeleteQueue(barcode); |
| | | } |
| | | } |