From 0ab215622ebc3e97b5f4d2be9e23470af1d0a209 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 12 六月 2024 13:29:32 +0800 Subject: [PATCH] # --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensDevpThread.java | 57 ++++++++++++++++++++++++++++++++------------------------- 1 files changed, 32 insertions(+), 25 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensDevpThread.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensDevpThread.java index 6e8f537..9668756 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensDevpThread.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/rcs/thread/impl/SiemensDevpThread.java @@ -9,8 +9,10 @@ import com.zy.asrs.framework.common.Cools; import com.zy.asrs.framework.common.DateUtils; import com.zy.asrs.framework.common.SpringUtils; -import com.zy.asrs.wcs.core.entity.Station; -import com.zy.asrs.wcs.core.service.StationService; +import com.zy.asrs.wcs.core.entity.BasConveyor; +import com.zy.asrs.wcs.core.entity.BasConveyorSta; +import com.zy.asrs.wcs.core.service.BasConveyorService; +import com.zy.asrs.wcs.core.service.BasConveyorStaService; import com.zy.asrs.wcs.core.utils.RedisUtil; import com.zy.asrs.wcs.rcs.News; import com.zy.asrs.wcs.rcs.cache.OutputQueue; @@ -35,7 +37,7 @@ private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); - public static ArrayList<Station> stationList = new ArrayList<>(); + public static ArrayList<BasConveyorSta> stationList = new ArrayList<>(); /** * 鏉$爜鏁伴噺 @@ -47,15 +49,20 @@ this.redisUtil = redisUtil; } - private ArrayList<Station> getStaNo() { + private ArrayList<BasConveyorSta> getStaNo() { try { if (stationList.isEmpty()) { - StationService stationService = SpringUtils.getBean(StationService.class); - List<Station> stations = stationService.list(new LambdaQueryWrapper<Station>() - .eq(Station::getDeviceId, device.getId()) - .eq(Station::getStatus, 1) - .eq(Station::getHostId, device.getHostId())); - stationList.addAll(stations); + BasConveyorService basConveyorService = SpringUtils.getBean(BasConveyorService.class); + BasConveyorStaService basConveyorStaService = SpringUtils.getBean(BasConveyorStaService.class); + BasConveyor basConveyor = basConveyorService.getOne(new LambdaQueryWrapper<BasConveyor>() + .eq(BasConveyor::getDeviceId, device.getId()) + .eq(BasConveyor::getHostId, device.getHostId())); + if(basConveyor != null) { + List<BasConveyorSta> stations = basConveyorStaService.list(new LambdaQueryWrapper<BasConveyorSta>() + .eq(BasConveyorSta::getConveyorId, basConveyor.getId()) + .eq(BasConveyorSta::getHostId, device.getHostId())); + stationList.addAll(stations); + } } return stationList; } catch (Exception e) { @@ -79,13 +86,13 @@ } private void read() throws InterruptedException { - ArrayList<Station> staNos = getStaNo(); + ArrayList<BasConveyorSta> staNos = getStaNo(); int staNoSize = staNos.size(); OperateResultExOne<byte[]> result = siemensS7Net.Read("DB101.0", (short) (staNoSize*8)); if (result.IsSuccess) { for (int i = 0; i < staNoSize; i++) { - Station siteStation = staNos.get(i); - int siteId = Integer.parseInt(siteStation.getStaNo());// 绔欑偣缂栧彿 + BasConveyorSta siteStation = staNos.get(i); + int siteId = siteStation.getSiteNo();// 绔欑偣缂栧彿 StaProtocol staProtocol = station.get(siteId); if (null == staProtocol) { staProtocol = new StaProtocol(); @@ -113,12 +120,12 @@ } Thread.sleep(200); - ArrayList<Station> errorStaNo = getStaNo(); + ArrayList<BasConveyorSta> errorStaNo = getStaNo(); OperateResultExOne<byte[]> result3 = siemensS7Net.Read("DB101.800.0", (short) (errorStaNo.size() * 4)); if (result3.IsSuccess) { for (int i = 0; i < errorStaNo.size(); i++) { - Station siteStation = errorStaNo.get(i); - Integer siteId = Integer.parseInt(siteStation.getStaNo()); // 绔欑偣缂栧彿 + BasConveyorSta siteStation = errorStaNo.get(i); + Integer siteId = siteStation.getSiteNo(); // 绔欑偣缂栧彿 StaProtocol staProtocol = station.get(siteId); boolean[] status = siemensS7Net.getByteTransform().TransBool(result3.Content, (i * 4 + 2), 2); staProtocol.setFrontErr(status[0]);//鍓嶈秴闄� @@ -137,16 +144,16 @@ // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� try { - List<Station> stations = new ArrayList<>(); - for (Station sta : getStaNo()) { - StaProtocol staProtocol = station.get(Integer.parseInt(sta.getStaNo())); - Station sqlModel = staProtocol.toSqlModel(sta); + List<BasConveyorSta> stations = new ArrayList<>(); + for (BasConveyorSta sta : getStaNo()) { + StaProtocol staProtocol = station.get(sta.getSiteNo()); + BasConveyorSta sqlModel = staProtocol.toSqlModel(sta); stations.add(sqlModel); } if (!stations.isEmpty()) { - StationService stationService = SpringUtils.getBean(StationService.class); - if (null != stationService && !stationService.updateBatchById(stations)) { + BasConveyorStaService basConveyorStaService = SpringUtils.getBean(BasConveyorStaService.class); + if (null != basConveyorStaService && !basConveyorStaService.updateBatchById(stations)) { throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�"); } } @@ -257,12 +264,12 @@ } private int findStaNosIndex(int siteId) { - ArrayList<Station> staNos = getStaNo(); + ArrayList<BasConveyorSta> staNos = getStaNo(); int index = -1; for (int i = 0; i < staNos.size(); i++) { - Station sta = staNos.get(i); - if (Integer.parseInt(sta.getStaNo()) == siteId) { + BasConveyorSta sta = staNos.get(i); + if (sta.getSiteNo() == siteId) { index = i; break; } -- Gitblit v1.9.1