From 202ca0f62257d108e95ca2e5912b86cf7b407906 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 25 三月 2024 08:09:49 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes
---
springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java | 344 ++++++++++++++++-----------------------------------------
1 files changed, 97 insertions(+), 247 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
index a584239..d68cb6b 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianServiceNew.java
@@ -1,260 +1,104 @@
package com.example.springboot.service;
-
-
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-
import com.example.springboot.component.PLCAutoMes;
import com.example.springboot.component.S7control;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.StorageCage;
-import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.device.PlcParameterObject;
-import com.example.springboot.mapper.SpianMapper;
+import com.example.springboot.mapper.AlbaniaMapper;
import com.google.common.primitives.Bytes;
@Service
public class SpianServiceNew {
@Autowired
- private SpianMapper spianMapper;
-
- // @GetMapping("/all")
- public Short selectAll(String glassid) {
- //璇诲彇DB105鍖烘枃浠�
- PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
- //璇�106
- PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
- int cage1 = 0;
- int cells;
- int ids;
- int prcid;
- int tiers;
- int prctier;
- double width;
- double minwidth = 0;
-
- north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟
- // 濡傛灉娌℃湁姝d鏃�
- if (glasslist == null) {
- return (300);
- }
-
- double widths = glasslist.getglasslengthmm();
- String orderids = glasslist.getordernumber();
- String FrameBarcode = glasslist.getFrameBarcode();
- // 鑾峰彇閾濇鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
- List<StorageCage> storageCage = spianMapper.selectAllFbarcode(FrameBarcode, widths, 400);
- // 鍒ゆ柇閾濇鎸囧畾绌烘牸鏄惁闇�瑕侀棿闅旂┖闂�
- if (storageCage.size() == 0) {
- storageCage = spianMapper.selectAll(orderids, FrameBarcode);
- }
- if (storageCage == null) {
- return (400);
- }
- for (StorageCage storageCage2 : storageCage) {
- // 淇濆瓨璁㈠崟浼樺厛椤哄簭绗煎瓙鍙�
- cage1 = storageCage2.getCage();
- // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁�
- int cages = spianMapper.selectCage(cage1);
-
- // 濡傛灉鐩搁偦绗煎瓙娌℃湁绌烘牸,鎴栬�呮湁姝e湪鎵ц鐨勫嚭鐗囦换鍔℃椂杩斿洖400
- if (cages == 0) {
- return (400);
- }
- StorageCage cages1;
- // 鍒ゆ柇鏄惁鏄浜岀墖闇�瑕佸姞闂撮殧鐗�
- prctier = spianMapper.selectsum(cage1, storageCage2.getCell());// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁�
- if (prctier > 0) {
- cages1 = spianMapper.selectCage1(cage1, storageCage2.getCell(), widths + 400);
- } else {
- cages1 = spianMapper.selectCage1(cage1, storageCage2.getCell(), widths);
- }
- // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍�
- // 鏈夊悎閫傜┖鏍兼椂杩涚墖
- if (cages1 != null && cages >= 1 && storageCage2.getDisabled() == 0) {
- ids = cages1.getId();// 鏁版嵁搴揑D
- tiers = cages1.getTier();// 鍐呭鐗�
- cells = cages1.getCell();// 鏍煎瓙鍙�
- prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
- width = cages1.getWidth();// 鏍煎瓙鍓╀綑瀹藉害
- widths = glasslist.getglasslengthmm();
-
- // 鎵ц杩涚墖
-
- // 鑾峰彇璇ユ牸瀛愬唴鏄惁鏈夌幓鐠�
- int cellint = spianMapper.selectcell(cage1, cells);
- if (cellint == 1) {
- // 灏嗗鐗囩幓鐠冪殑鏁版嵁鏇存柊鍒板唴鐗�
- spianMapper.UpdateDBCage(ids, cage1, cells, 1);
- // 灏嗘柊鍏ョ殑鐜荤拑瀛樺叆澶栫墖
- spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids - 1, 2);
- spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
- } else {
- // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
- spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids, 2);
- spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
- }
- // 杩涚墖杞﹁捣濮嬩綅缃�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddStart").getAddress(plcmes.getPlcParameter("AddStart").getAddressIndex()), (short) 1000);
- // 杩涚墖杞︾洰鏍囦綅缃�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("Addgoal").getAddress(plcmes.getPlcParameter("Addgoal").getAddressIndex()), (short) prcid);
- // 杩涚墖鐜荤拑瀹�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddLength").getAddress(plcmes.getPlcParameter("AddLength").getAddressIndex()), (short) widths);
- // 杩涚墖绗煎唴宸叉湁鐜荤拑鏁�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddCount").getAddress(plcmes.getPlcParameter("AddCount").getAddressIndex()), (short) prctier);
- // 杩涚墖杞﹀惎鍔� 1涓哄惎鍔�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
- String activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
- int activate2 = 0;
- if (activate.equals("1")) {
- activate2 = 1;
- }else{
- while (activate.equals("1")) {
- // 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
- activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
- }
- }
- outmesid(glassid, "FeedID");//娲惧彂id
- spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,activate2);// 鏂板浠诲姟
- return (200);
-
- }
-
- }
- return (400);
-
+ private AlbaniaMapper albaniaMapper;
+ //璇诲彇DB105鍖烘枃浠�
+ private PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+public Short selectAll(GlassInfo glassInfo) {
+ if(glassInfo==null){
+ //鏈夎繘鐗囪姹備絾鏄祴閲忓彴娌℃湁鐜荤拑
+ return 400;
}
+ //瀹氫箟鍒濆瀛楁
+ int cageid;
+ String glassid=glassInfo.getGlassid();
+ Double width=glassInfo.getWidth();
+ //int mateid=glassInfo.getMateid();
+ String flowcard=glassInfo.getFlowcard();
+ int glasstype=glassInfo.getGlasstype();
+
+
- public Short selectout2(String glassid) {
- //璇诲彇DB105鍖烘枃浠�
- PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
- //璇�106
- PlcParameterObject plcread=PLCAutoMes.PlcReadObject;
-
- char[] a = glassid.toCharArray();
- List<Short> datas = new ArrayList<>();
- // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
- StorageCage cageout = spianMapper.selectOut2(glassid);
- if (cageout == null) {
- return (300);
+ //鍒ゆ柇鏄惁鏈夊悓绫诲瀷鐨�
+ cageid=albaniaMapper.SelectCage(glasstype,width, 50);
+ //濡傛灉鏈夊悓绫诲瀷鏃剁洿鎺ュ鍔�
+ if(cageid!=Integer.MIN_VALUE){
+ //鍙戦�乸lc浠诲姟
+ Mestast(glassid, 1001, cageid, 1,"MESID1");
+ //浠诲姟鍙戦�佸瓧
+ //Mestast(glassid,1001,cageid,1);
+
+ }else{
+ //鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗�
+ if(glassInfo.getThickness()>=15){
+ cageid=albaniaMapper.SelectNewCell(3,5);
+ }else{
+ cageid=albaniaMapper.SelectNewCell(3,5);
+ //鍙戦�乸lc浠诲姟
}
-
- int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
- int cell = cageout.getCell();// 鍑虹墖鏍煎彿
- int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
- int prcid = cageout.getPrcId();// prcid
- int prcid2;
- int ids;
- int cages;
- int cells;
- double glasswidth = cageout.getGlassWidth();
- int state = spianMapper.selectGlassState(cage, cell);// 鑾峰彇鏍煎瓙鏁伴噺
- // 鍒ゆ柇鐜荤拑鍐呭鐗�
- if (tier == 2) {
+ //褰撹繑鍥炵殑鏍煎瓙鍙蜂负绌烘椂,杩斿洖400绗煎瓙宸叉弧
+ if(cageid!=Integer.MIN_VALUE){
+ Mestast(glassid,1001,cageid,1,"MESID1");
+ //鍙戦�乸lc浠诲姟
- // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
- spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
- spianMapper.UpdataGlassCageState(glassid.toString(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
- spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state, 3);// 鏂板浠诲姟
-
- } else {
- // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
-
- // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
- if (state == 1) {
- spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
- spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
- spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1,3);// 鏂板浠诲姟
-
-
- } else {
- // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
- if (cage < 6) {
- StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6, cell);
- if (cagecell == null) {
- return (300);
- }
- // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
- prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
- ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
- cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
- cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
- // 鏇存崲鐜荤拑鐨勭瀛�
- String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
- spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
- spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
- spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
- spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids, 2, 3);// 鏂板璋冨害浠诲姟
-
- } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
- StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11, cell);
- if (cagecell == null) {
- return (300);
- }
- // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
- prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
- ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
- cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
- cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
- String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
- spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
- spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids, 2, 3);// 鏂板璋冨害浠诲姟
- spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
- spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
- spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-
-
- }
- //鍙戦�乸lc浠诲姟
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddStart").getAddress(plcmes.getPlcParameter("AddStart").getAddressIndex()), (short) prcid);
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("Addgoal").getAddress(plcmes.getPlcParameter("Addgoal").getAddressIndex()), (short) prcid2);
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddCount").getAddress(plcmes.getPlcParameter("AddCount").getAddressIndex()), (short) state);
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
- String activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
- int activate2 = 0;
- if (activate.equals("1")) {
- activate2 = 1;
- }else{
- while (activate.equals("1")) {
- // 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
- activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
- }
- }
- outmesid(glassid, "ReleaseID");//娲惧彂id
- //鍙戦�佸畬鍊掔墖缁撴潫
- return (200); // 缁撴潫
- }
+ }else{
+ return(400);
}
- // 鍑虹墖杞﹁捣濮嬩綅缃�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddStart").getAddress(plcmes.getPlcParameter("OutStart").getAddressIndex()), (short) prcid);
- // 鍑虹墖杞︾洰鏍囦綅缃�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("Addgoal").getAddress(plcmes.getPlcParameter("Outgoal").getAddressIndex()), (short) 1000);
- // 鍑虹墖绗煎唴宸叉湁鐜荤拑鏁�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddCount").getAddress(plcmes.getPlcParameter("OutCount").getAddressIndex()), (short) state);
- // 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔�
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("OutActivate").getAddressIndex()), (short) 1);
- String activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
- int activate2 = 0;
- if (activate.equals("1")) {
- activate2 = 1;
- }else{
- while (activate.equals("1")) {
- // 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
- S7control.getinstance().WriteWord(plcmes.getPlcParameter("AddActivate").getAddress(plcmes.getPlcParameter("AddActivate").getAddressIndex()), (short) 1);
-
- activate =plcmes.getPlcParameter("AddActivate").getValue();// 鍒ゆ柇鍚姩鏄惁鍐欏叆
- }
- }
- outmesid(glassid, "ReleaseID");//娲惧彂id
- //鐩存帴鍑虹墖缁撴潫
+ }
+ //澧炲姞浠诲姟璁板綍
+ albaniaMapper.Inserttask(0, 0, 1001, cageid, glassid,glasstype, flowcard,0,0);
+ return(200);
+
+}
+
+ //鍑虹墖
+ public Short selectout(int line) {
+ int mateid;
+ int glasstype;
+ int tier;
+ int sumid;
+ String flowcard;
+ GlassInfo glassmate=new GlassInfo();
+
+ for(int i=1;i<=7;i++){
+ glassmate= albaniaMapper.SelectOutGlass(line);
+ mateid=glassmate.getMateid();
+ glasstype=glassmate.getGlasstype();
+ tier=glassmate.getTier();
+ sumid=glassmate.getId();
+ flowcard=glassmate.getFlowcard();
+
+ StorageCage glass= albaniaMapper.SelectCageGlass(glasstype);
+ //鍙戦�侀厤鐗囨暟鎹�
+ Mestast(glassmate.getGlasstype()+"i", glass.getId(),2002, 0,"MESID1");
+ albaniaMapper.AddFinishNumber(flowcard, mateid, tier);
+ albaniaMapper.Inserttask(1, 0, glass.getId(), 2002, glassmate.getGlassid()+i, glasstype,glass.getFlowcard(),mateid,tier);
+ if(tier==sumid){
+ //鏈閰嶇墖瀹屾垚鍙戦�佸惎鍔ㄥ懡浠�
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)2);//鍑虹墖浠诲姟鍚姩
+ return (200);//缁撴潫
+ }
+
+ }
+
+
+
return(200);// 缁撴潫
}
@@ -269,8 +113,12 @@
glassidlist.add((byte) iditem);
}
byte[] bytes = Bytes.toArray(glassidlist);
+ //writeString
System.out.println("outmesidbytes:" + bytes.length);
- S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(plcmes.getPlcParameter(address).getAddressIndex()),bytes);
+ System.out.println(plcmes.getPlcParameter(address).getAddress());
+ System.out.println();
+
+ //S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(),bytes);
//S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id
}
@@ -285,7 +133,7 @@
writedstrIdOut.append((char) iditem);
}
}
- return writedstrIdOut;
+ return writedstrIdOut;
}
// char鏁扮粍杞寲鎴恇it鏁扮粍
@@ -307,15 +155,17 @@
return listbool;
}
- // 鏍规嵁鐜荤拑id瀹屾垚鍦ㄨ繘琛屼腑鐨勪换鍔�
- public void overtask(String glassid) {
-
- spianMapper.UpdatetaskOut(glassid.toString());// 瀹屾垚涓婁竴娆� 鍑虹墖鎴栬�呰繘鐗囦换鍔�
- spianMapper.OverOutSlice(glassid.toString(), 2, 1);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
- spianMapper.UpdataGlassCage(glassid.toString(), 0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
- spianMapper.UpdateCageOver(glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
- spianMapper.UpdateCageadd(glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
- spianMapper.UpdateAddQueue(glassid.toString());// 鎶婅繘鐗囩殑鐜荤拑鏇存柊鍒板嚭鐗囬槦鍒椾腑
+ //涓嬪彂鐞嗙墖浠诲姟
+ public void Mestast(String glassid,int MESToPLCStart1,int MESToPLCTarget1,int MESToPLC,String address) {
+ //outmesid(glassid, "MESID1");//涓嬪彂鐜荤拑id
+ S7control.getinstance().writeString(plcmes.getPlcParameter(address).getAddress(),glassid);
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCStart1").getAddress(), (short) MESToPLCStart1);//璧峰浣嶇疆
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLCTarget1").getAddress(), (short) MESToPLCTarget1);//鐩爣浣嶇疆
+ if(MESToPLC!=0){
+ S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToPLC").getAddress(), (short)MESToPLC);//mes鐞嗙墖浠诲姟绫诲瀷
+ }
+
+
}
}
--
Gitblit v1.8.0