src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/RouteUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/MainProcess.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/RgvProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/BasRgvMapMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/console.map.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/console.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -45,10 +45,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Set; import java.util.*; import java.util.stream.Collectors; /** @@ -2041,10 +2038,16 @@ public synchronized void autoEmptyOut() { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); List<Integer> list = new ArrayList<>(); list.add(102);list.add(111); list.add(101);list.add(112); Map<Integer,Integer> map = new HashMap<>(); map.put(101,102);map.put(112,111); for (Integer site:list){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("sta_no", map.get(site))); if (!Cools.isEmpty(wrkMast)){ continue; } //如果站点可出禁用,则不生成空盘出库任务 StaProtocol staProtocol = devpThread.getStation().get(site); if (staProtocol == null) { @@ -2062,7 +2065,7 @@ return; } Short loctype1 = 1; if (site == 102){ if (site == 101){ loctype1 = 2; } LocTypeDto locTypeDto = new LocTypeDto(loctype1, (short) 1, (short) 1); @@ -2076,8 +2079,8 @@ .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { JSONObject data = (JSONObject) jsonObject.get("data"); News.info((String) data.get("msg")); String data = jsonObject.get("data").toString(); News.info((String) jsonObject.get("msg")+","+data); } else { News.error("请求接口失败!!!url:{};request:{};response:{}", wmsUrl + "/rpc/auto/emptyOut/v1","", response); } @@ -2091,7 +2094,7 @@ } public synchronized void autoEmptyIn() { DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); List<Integer> list = new ArrayList<>(); list.add(153);list.add(157); for (Integer site:list){ @@ -2174,15 +2177,18 @@ * */ public synchronized void refreshRgvMap() { try{ for (RgvSlave rgvSlave:slaveProperties.getRgv()) { RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); List<BasRgvMap> basRgvMaps = basRgvMapService.selectList(new EntityWrapper<>()); for (BasRgvMap rgvSlave:basRgvMaps) { RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getRgvNo()); RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); if (rgvProtocol == null) { continue; }else { rgvProtocol = rgvProtocol.clone(); } BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); BasRgv basRgv = basRgvService.selectById(rgvSlave.getRgvNo()); if (basRgv == null) { log.error("{}号RGV尚未在数据库进行维护!2", rgvSlave.getId()); log.error("{}号RGV尚未在数据库进行维护!2", rgvSlave.getRgvNo()); continue; } @@ -2217,6 +2223,8 @@ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); if (rgvProtocol == null) { continue; }else { rgvProtocol = rgvProtocol.clone(); } BasRgv basRgv = basRgvService.selectById(rgvSlave.getRgvNo()); if (basRgv == null) { @@ -2306,6 +2314,8 @@ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); if (rgvProtocol == null) { continue; }else { rgvProtocol = rgvProtocol.clone(); } BasRgv basRgv = basRgvService.selectById(rgvSlave.getRgvNo()); if (basRgv == null) { @@ -2505,6 +2515,8 @@ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); if (rgvProtocol == null) { continue; }else { rgvProtocol = rgvProtocol.clone(); } BasRgv basRgv = basRgvService.selectById(rgvSlave.getRgvNo()); if (basRgv == null) { src/main/java/com/zy/asrs/utils/RouteUtils.java
@@ -239,6 +239,9 @@ return (short)119; } return (short)149; case 102: case 111: return 149; default: return endSta.shortValue(); } src/main/java/com/zy/core/MainProcess.java
@@ -77,7 +77,7 @@ mainService.outOfDevp(11); //空托盘自动出库 mainService.autoEmptyOut(); // mainService.autoEmptyOut(); // //空托盘自动入库 // mainService.autoEmptyIn(); src/main/java/com/zy/core/model/protocol/RgvProtocol.java
@@ -12,7 +12,7 @@ * Created by vincent on 2020/8/7 */ @Data public class RgvProtocol { public class RgvProtocol implements Cloneable{ private Integer RgvNo; @@ -218,4 +218,14 @@ return map.get(RgvPos); } @Override public RgvProtocol clone() { try { return (RgvProtocol) super.clone(); } catch (CloneNotSupportedException e) { e.printStackTrace(); } return null; } } src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -10,7 +10,9 @@ import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.BasRgvMap; import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.BasRgvMapService; import com.zy.common.utils.News; import com.zy.core.DevpThread; import com.zy.core.cache.MessageQueue; @@ -63,7 +65,8 @@ add(152);add(153);add(154);add(155); add(156);add(157);add(158);add(159); add(160);add(161); add(200);add(201);add(202); add(1); // add(200);add(201);add(202); }}; public static final ArrayList<Integer> BarcodeList = new ArrayList<Integer>() {{ @@ -227,51 +230,41 @@ } } } // OperateResultExOne<byte[]> result = siemensS7Net.Read("DB100.0", (short) (staNoSize*4)); //// OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB100.2", (short) (staNoSize*2)); // if (result.IsSuccess) { // for (int i = 0; i < staNoSize; i++) { // Integer siteId = staNos.get(i); // 站点编号 // StaProtocol staProtocol = station.get(siteId); // if (null == staProtocol) { // staProtocol = new StaProtocol(); // staProtocol.setSiteId(siteId); // station.put(siteId, staProtocol); // } // staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4)); // 工作号 // // staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, i*4 + 2)); // 目标站 // } // } // // Thread.sleep(200); // OperateResultExOne<byte[]> result1 = siemensS7Net.Read("DB101.0", (short) (staNoSize * 4)); // if (result1.IsSuccess) { // for (int i = 0; i < staNoSize; i++) { // Integer siteId = staNos.get(i); // 站点编号 // boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*4, 1); // StaProtocol staProtocol = station.get(siteId); // staProtocol.setAutoing(status[0]); // 自动 // staProtocol.setLoading(status[1]); // 有物 // staProtocol.setInEnable(status[2]); // 可入 // staProtocol.setOutEnable(status[3]);// 可出 // staProtocol.setEmptyMk(status[4]); // 空板信号 // staProtocol.setFullPlt(status[5]); // 满托盘 // staProtocol.setHigh(status[6]); // 高库位 // staProtocol.setLow(status[7]); // 低库位 // // if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { // staProtocol.setPakMk(true); // } // // if (staProtocol.getStamp()>=2 && !staProtocol.isLoading()){ // staProtocol.setStamp(0); // }else if (staProtocol.getStamp()<2 && staProtocol.isLoading()){ // //lfd入库印记 当stamp>=2时才入库 // staProtocol.setStamp(staProtocol.getStamp()+1); // } // } // } BasRgvMapService basRgvMapService = SpringUtils.getBean(BasRgvMapService.class); //RGV小车 Thread.sleep(200); OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB50.200",(short)10); if (result3.IsSuccess) { BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result3.Content, 0)); if (!Cools.isEmpty(basRgvMap) && basRgvMap.getStartRoute() == 100){ Integer siteId = 1; StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } staProtocol.setAutoing(true); staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result3.Content, 8))); } } //RGV小车 Thread.sleep(200); OperateResultExOne<byte[]> result4 = siemensS7Net.Read("DB50.212",(short)10); if (result4.IsSuccess) { BasRgvMap basRgvMap = basRgvMapService.selectByRgvNo((int) siemensS7Net.getByteTransform().TransInt16(result4.Content, 0)); if (!Cools.isEmpty(basRgvMap) && (basRgvMap.getStartRoute() == 161 || basRgvMap.getStartRoute() == 157)){ Integer siteId = 2; StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); staProtocol.setSiteId(siteId); station.put(siteId, staProtocol); } staProtocol.setAutoing(true); staProtocol.setNearbySta(String.valueOf(siemensS7Net.getByteTransform().TransInt16(result4.Content, 8))); } } //条码扫描器 ArrayList<Integer> barcodeList = BarcodeList; src/main/resources/mapper/BasRgvMapMapper.xml
@@ -13,7 +13,7 @@ <result column="lock_end_route" property="lockEndRoute" /> </resultMap> <select id="selectByRgvNo" resultType="com.zy.asrs.entity.BasRgvMap"> <select id="selectByRgvNo" resultMap="BaseResultMap"> select * from asr_bas_rgv_map where rgv_no = #{rgvNo} </select> src/main/webapp/static/js/console.map.js
@@ -627,16 +627,16 @@ "height": 742 }, { "type": "stn", "id": "site-200", "text": "200", "id": "site-2", "text": "2", "top": 398, "left": 220, "width": 60, "height": 19 }, { "type": "stn", "id": "site-201", "text": "201", "id": "site-1", "text": "1", "top": 698, "left": 220, "width": 60, src/main/webapp/views/console.html
@@ -568,7 +568,7 @@ siteEl.html(sites[i].siteId); } if (sites[i].siteId === '16' || sites[i].siteId === '016') { if (sites[i].siteId === '1' || sites[i].siteId === '2') { carAnimate(Number(sites[i].siteId), Number(sites[i].nearbySta)); } @@ -715,37 +715,43 @@ function carAnimate(id, target) { // debugger var targetTop = 0; if (id === 16 || id === '16' || id === '016') { if (id === 1 || id === '1' || id === '2' || id === 2) { switch (target) { case 1: targetTop += 827; targetTop += 792; break; case 2: targetTop += 765; targetTop += 771; break; case 3: targetTop += 651; targetTop += 727; break; case 4: targetTop += 589; targetTop += 706; break; case 5: targetTop += 505; targetTop += 662; break; case 6: targetTop += 443; targetTop += 620; break; case 7: targetTop += 362; targetTop += 578; break; case 8: targetTop += 297; targetTop += 530; break; case 9: targetTop += 243; targetTop += 190; break; case 10: targetTop += 129; targetTop += 147; break; case 11: targetTop += 107; break; case 12: targetTop += 63; break; default: return; @@ -754,7 +760,7 @@ return; } $("#site-0" + id).animate({top: targetTop + 'px'}, 1000); $("#site-" + id).animate({top: targetTop + 'px'}, 1000); }