From 7a4da65b270b1eb8dadf1fbf46b09f25274f5422 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期一, 18 三月 2024 10:08:58 +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 | 335 ++++++++++++++----------------------------------------- 1 files changed, 87 insertions(+), 248 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 1da7bc8..7b49fa8 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,98 @@ 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; + private AlbaniaMapper albaniaMapper; + //璇诲彇DB105鍖烘枃浠� + private PlcParameterObject plcmes=PLCAutoMes.PlcMesObject; +public Short selectAll(GlassInfo glassInfo) { + //瀹氫箟鍒濆瀛楁 + int cageid; + String glassid=glassInfo.getGlassid(); + Double width=glassInfo.getWidth(); + //int mateid=glassInfo.getMateid(); + String flowcard=glassInfo.getFlowcard(); + int glasstype=glassInfo.getGlasstype(); + + - north_glass_buffer1 glasslist = spianMapper.selectGlass(glassid); // 鑾峰彇鐜荤拑鍙傛暟 - // 濡傛灉娌℃湁姝d鏃� - if (glasslist == null) { - return (300); + //鍒ゆ柇鏄惁鏈夊悓绫诲瀷鐨� + cageid=albaniaMapper.SelectCage(glasstype,width, 50); + //濡傛灉鏈夊悓绫诲瀷鏃剁洿鎺ュ鍔� + if(cageid!=Integer.MIN_VALUE){ + //鍙戦�乸lc浠诲姟 + //Mestast(glassid,1001,cageid,1); + + }else{ + //鍒ゆ柇鐜荤拑鏄惁杩涘叆澶х墖绗� + if(glassInfo.getThickness()>=15){ + cageid=albaniaMapper.SelectNewCell(3,5); + }else{ + cageid=albaniaMapper.SelectNewCell(3,5); + //鍙戦�乸lc浠诲姟 } - - 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); - - } - - 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); - } - - 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); + //鍙戦�乸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); + 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);// 缁撴潫 } @@ -270,7 +108,7 @@ } byte[] bytes = Bytes.toArray(glassidlist); System.out.println("outmesidbytes:" + bytes.length); - S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(plcmes.getPlcParameter(address).getAddressIndex()),bytes); + S7control.getinstance().WriteByte(plcmes.getPlcParameter(address).getAddress(),bytes); //S7control.getinstance().WriteByte(address, bytes);// 娲惧彂鍑虹墖id } @@ -285,7 +123,7 @@ writedstrIdOut.append((char) iditem); } } - return writedstrIdOut; + return writedstrIdOut; } // char鏁扮粍杞寲鎴恇it鏁扮粍 @@ -307,15 +145,16 @@ 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) { + outmesid(glassid, "MESID1");//涓嬪彂鐜荤拑id + 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