From d29aa05b061e635ab1b9c94db638d71e373e9fcd Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期四, 21 十二月 2023 11:54:02 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes
---
springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java | 69 ++++++++++++-----------
springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java | 37 ++++--------
springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java | 9 +++
springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java | 21 ++++--
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java | 1
5 files changed, 72 insertions(+), 65 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
index 448b959..ab4638f 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -39,7 +39,42 @@
// // 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); // 鍑虹墖浠诲姟鏄惁鍚姩
+ // StringBuilder writedstrIdOut = new StringBuilder();
+ // 鑾峰彇宸蹭笅鍙戠殑鍑虹墖id
+ byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14);
+ String writedstrIdOut = new String(writedglassidbytesOut);
+ boolean outstate = false;// 鍑虹墖杞︾┖闂插垽鏂�
+ boolean outstate1 = false;// 鍑虹墖杞︿换鍔℃槸鍚﹀惎鍔�
+ if (outlist != null && outlist1 != null) {
+
+ outstate = outlist.contains((short) 0);// 鍑虹墖杞︾┖闂插垽鏂� 褰撳嚭鐗囪溅绌洪棽鏃朵负true
+ outstate1 = outlist1.contains((short) 1);// 鍑虹墖杞︿换鍔℃槸鍚﹀惎鍔� 褰撳嚭鐗囪溅浠诲姟鍚姩鏃朵负true
+
+ // 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
+ int outnum = spianMapper.SelectOutSliceshu();
+ // 褰撴病鏈変换鍔℃墽琛屽苟涓斿嚭鐗囪溅绌洪棽鏃�
+ if (outnum == 0 && outstate == true && Plchome.isAllowQueue == true) {
+ // 鍒ゆ柇閾濇鍑虹墖闃熷垪琛ㄦ槸鍚︽湁寰呭嚭鐗囩殑鐜荤拑
+ String outglassid = spianMapper.SelectOutSlice();
+ if (outglassid != null) {
+
+ spianService.selectout2(outglassid);
+ outstate = false;
+ }
+ }
+ if (outstate == true) {// 褰撳嚭鐗囪溅绌洪棽鏃�,涓斿嚭鐗囧惎鍔ㄤ负1鏃讹紝浠诲姟鍚姩鏀逛负0
+ if (outstate1 == true) {
+ S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
+ }
+ }
+ }
+
+ /////////////杩涚墖浠诲姟
List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 鑾峰彇prc杩涚墖璇锋眰鏁版嵁
List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 鑾峰彇杩涚墖杞︾姸鎬�
List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 鑾峰彇杩涚墖杞︿换鍔℃槸鍚﹀惎鍔�
@@ -106,39 +141,7 @@
}
- // 鍑虹墖浠诲姟////////////////////////////////
- List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 鍑虹墖杞︾姸鎬�
- List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 鍑虹墖浠诲姟鏄惁鍚姩
- // StringBuilder writedstrIdOut = new StringBuilder();
- // 鑾峰彇宸蹭笅鍙戠殑鍑虹墖id
- byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14);
- String writedstrIdOut = new String(writedglassidbytesOut);
-
- boolean outstate = false;// 鍑虹墖杞︾┖闂插垽鏂�
- boolean outstate1 = false;// 鍑虹墖杞︿换鍔℃槸鍚﹀惎鍔�
- if (outlist != null && outlist1 != null) {
-
- outstate = outlist.contains((short) 0);// 鍑虹墖杞︾┖闂插垽鏂� 褰撳嚭鐗囪溅绌洪棽鏃朵负true
- outstate1 = outlist1.contains((short) 1);// 鍑虹墖杞︿换鍔℃槸鍚﹀惎鍔� 褰撳嚭鐗囪溅浠诲姟鍚姩鏃朵负true
-
- // 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
- int outnum = spianMapper.SelectOutSliceshu();
- // 褰撴病鏈変换鍔℃墽琛屽苟涓斿嚭鐗囪溅绌洪棽鏃�
- if (outnum == 0 && outstate == true && Plchome.isAllowQueue == true) {
- // 鍒ゆ柇閾濇鍑虹墖闃熷垪琛ㄦ槸鍚︽湁寰呭嚭鐗囩殑鐜荤拑
- String outglassid = spianMapper.SelectOutSlice();
- if (outglassid != null) {
-
- spianService.selectout2(outglassid);
- outstate = false;
- }
- }
- if (outstate == true) {// 褰撳嚭鐗囪溅绌洪棽鏃�,涓斿嚭鐗囧惎鍔ㄤ负1鏃讹紝浠诲姟鍚姩鏀逛负0
- if (outstate1 == true) {
- S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
- }
- }
- }
+
// if (outstate == true) { // 鍑虹墖杞︾姸鎬佺┖闂叉椂
// Integer state = spianMapper.Selectoutstate();
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index d749f6d..a5acaf6 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -195,6 +195,7 @@
String position = jdbcConnections.SelectPositionByFrameBarcode(north_glass_buffer1.getFrameBarcode());
if (position != null) {
int sequence = homeMapper.SelectMaxSquence();
+
homeMapper.AddOutSliceS(glassid, flip, north_glass_buffer1.getFrameBarcode(),
north_glass_buffer1.getglasslengthmm().toString(), north_glass_buffer1.getglassheightmm().toString(),
sequence, position, (short)0);
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
index d290dc3..61a0b59 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageCage.java
@@ -17,6 +17,7 @@
private Integer disabled;//鍋滅敤
private String listId;//闆嗗悎id
private String boxId;//绠卞瓙id
+ private String FrameBarcode;//閾濇id;
private north_glass_buffer1 north_glass_buffer1s;
@@ -169,5 +170,13 @@
public void setBoxno(String boxId) {
this.boxId = boxId;
}
+
+ public String getFrameBarcode() {
+ return FrameBarcode;
+ }
+
+ public void setFrameBarcode(String FrameBarcode) {
+ this.FrameBarcode = FrameBarcode;
+ }
}
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 f638b6c..679ce0e 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
@@ -2,9 +2,7 @@
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;
@@ -17,21 +15,9 @@
// 鍒ゆ柇鐩搁偦绗煎瓙鏄惁鏈夌┖鏍�
@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;")
@@ -42,7 +28,7 @@
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);
// 瀹屾垚杩涚墖涓殑鐜荤拑鐘舵��
@@ -53,7 +39,7 @@
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);
// 鍑虹墖浠诲姟鏌ヨ
@@ -73,11 +59,11 @@
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),cell desc limit 1;")
- StorageCage selectGlassCage(int cage, double width, int cage1, int cage2);
+ @Select("select glass_id,cage,cell,max(state)as shu,ROUND(id/2)as prcid,id,abs(#{cell}-cell)as xuhao from storage_cage where width>=#{width} and cage>#{cage1} and cage<#{cage2} GROUP BY cage,cell HAVING shu=0 order by abs(#{cage} - cage),xuhao desc limit 1;")
+ 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);
// 鏀瑰彉鐜荤拑鐘舵�佷负鍑虹墖涓�
@@ -88,7 +74,7 @@
@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);
@@ -213,7 +199,7 @@
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);
// 鑾峰彇鐜荤拑鐨勯摑妗唅d
@@ -221,7 +207,7 @@
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
@@ -234,4 +220,7 @@
//鏂板鏃ュ織琛ㄦ牸
@Insert("INSERT INTO `canadames`.`log`( `text`,time) VALUES (#{logtxt},now());")
void insertlog(String logtxt);
+ //鑾峰彇璇ュ崐鍖烘槸鍚︽湁鎵ц鐨勪换鍔�
+ @Select(" select count(*) from storage_cage where state=#{state} and cage>#{cage1} and cage<#{cage2}")
+ int SelectCageTask(int state,int cage1,int cage2);
}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index e3bb07b..204e876 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -34,6 +34,7 @@
}
double widths = glasslist.getglasslengthmm();
String orderids = glasslist.getordernumber();
+ String FrameBarcode=glasslist.getFrameBarcode();
List<String> adddresslist = new ArrayList<>();
adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃�
@@ -46,7 +47,7 @@
// String orderid="A001";
// 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
- List<StorageCage> storageCage = spianMapper.selectAll(orderids.toString());
+ List<StorageCage> storageCage = spianMapper.selectAll(orderids,FrameBarcode);
if (storageCage == null) {
return (400);
}
@@ -55,7 +56,9 @@
cage1 = storageCage2.getCage();
// 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁�
int cages = spianMapper.selectCage(cage1);
- if(cages==0){
+
+ // 濡傛灉鐩搁偦绗煎瓙娌℃湁绌烘牸,鎴栬�呮湁姝e湪鎵ц鐨勫嚭鐗囦换鍔℃椂杩斿洖400
+ if (cages == 0) {
return (400);
}
StorageCage cages1;
@@ -141,6 +144,8 @@
int cages;
int cells;
double glasswidth = cageout.getGlassWidth();
+
+
// 鍒ゆ柇鐜荤拑鍐呭鐗�
if (tier == 2) {
int state = spianMapper.selectGlassState(cage, cell);// 鑾峰彇鏍煎瓙鏁伴噺
@@ -189,7 +194,7 @@
} else {
// 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
if (cage < 6) {
- StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
+ StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6,cell);
if (cagecell == null) {
return (300);
}
@@ -219,7 +224,7 @@
return (200); // 缁撴潫
} else {// 绗煎瓙鍙峰ぇ浜�5鏃�
- StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
+ StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11,cell);
if (cagecell == null) {
return (300);
}
@@ -239,7 +244,7 @@
// spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板鍑虹墖浠诲姟
spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
+ spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
// 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
System.out.println("鍑虹墖浠诲姟|" + datas);
S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
@@ -300,17 +305,17 @@
// 鏍规嵁鐜荤拑id瀹屾垚鍦ㄨ繘琛屼腑鐨勪换鍔�
public void overtask(String glassid) {
-
+
spianMapper.UpdatetaskOut(glassid);// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔�
spianMapper.OverOutSlice(glassid, 2);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
spianMapper.UpdataGlassCage(glassid, 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
spianMapper.UpdateCageOver(glassid, 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
- spianMapper.UpdateCageadd(glassid,1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
+ spianMapper.UpdateCageadd(glassid, 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
String barcode = spianMapper.SelectBarcode(glassid);// 鑾峰彇璇ョ幓鐠冪殑閾濇id
spianMapper.UpdateAddQueue(glassid);// 鎶婅繘鐗囩殑鐜荤拑鏇存柊鍒板嚭鐗囬槦鍒椾腑
if (barcode != null) {
int barcodeState = spianMapper.SelectOverState(barcode);// 鑾峰彇璇ラ摑妗嗙殑鐘舵��
- if (barcodeState == 2) {// 褰撹閾濇鎵�鏈夌殑鐜荤拑閮芥槸瀹屾垚鐘舵�佹椂鍒犻櫎鍦ㄥ嚭鐗囬槦鍒楃殑鏁版嵁
+ if (barcodeState == 0) {// 褰撹閾濇鎵�鏈夌殑鐜荤拑閮芥槸瀹屾垚鐘舵�佹椂鍒犻櫎鍦ㄥ嚭鐗囬槦鍒楃殑鏁版嵁
spianMapper.DeleteQueue(barcode);
}
}
--
Gitblit v1.8.0