From d8a9cfff5ff3f3deb33ef3dd1862f53415cc9b46 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期一, 17 二月 2025 14:23:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java | 43 -- src/main/java/com/zy/core/properties/SlaveProperties.java | 12 /dev/null | 319 ------------------- src/main/java/com/zy/asrs/controller/ConsoleController.java | 165 ---------- src/main/java/com/zy/common/annotations/OpenApiLog.java | 14 src/main/java/com/zy/asrs/controller/OpenController.java | 128 ++++++++ src/main/java/com/zy/asrs/ws/ConsoleWebSocket.java | 8 src/main/java/com/zy/core/cache/MessageQueue.java | 85 ---- src/main/java/com/zy/core/enums/SlaveType.java | 7 src/main/java/com/zy/core/cache/OutputQueue.java | 8 pom.xml | 79 ---- src/main/java/com/zy/core/ServerBootstrap.java | 50 --- 12 files changed, 158 insertions(+), 760 deletions(-) diff --git a/pom.xml b/pom.xml index 61127e4..c94c460 100644 --- a/pom.xml +++ b/pom.xml @@ -107,84 +107,9 @@ <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> - - <!-- led sdk --> <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>5m3</artifactId> - <scope>system</scope> - <version>0.5.0</version> - <systemPath>${project.basedir}/src/main/resources/lib/bx05-0.5.0-SNAPSHOT.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>5m3message</artifactId> - <scope>system</scope> - <version>0.5.0</version> - <systemPath>${project.basedir}/src/main/resources/lib/bx05.message-0.5.0-SNAPSHOT.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>5m3doc</artifactId> - <scope>system</scope> - <version>0.5.0</version> - <systemPath>${project.basedir}/src/main/resources/lib/bx05-0.5.0-SNAPSHOT-javadoc.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>rxtx</artifactId> - <scope>system</scope> - <version>2.1.7</version> - <systemPath>${project.basedir}/src/main/resources/lib/rxtx-2.1.7.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>simple-xml</artifactId> - <scope>system</scope> - <version>2.7.1</version> - <systemPath>${project.basedir}/src/main/resources/lib/simple-xml-2.7.1.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>stax</artifactId> - <scope>system</scope> - <version>1.2.0</version> - <systemPath>${project.basedir}/src/main/resources/lib/stax-1.2.0.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>stax-api</artifactId> - <scope>system</scope> - <version>1.0.1</version> - <systemPath>${project.basedir}/src/main/resources/lib/stax-api-1.0.1.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>uia-comm</artifactId> - <scope>system</scope> - <version>0.5.1</version> - <systemPath>${project.basedir}/src/main/resources/lib/uia-comm-0.5.1.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>uia-message</artifactId> - <scope>system</scope> - <version>0.6.0</version> - <systemPath>${project.basedir}/src/main/resources/lib/uia-message-0.6.0.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>uia-utils</artifactId> - <scope>system</scope> - <version>0.2.0</version> - <systemPath>${project.basedir}/src/main/resources/lib/uia-utils-0.2.0.jar</systemPath> - </dependency> - <dependency> - <groupId>com.wcs.led</groupId> - <artifactId>xpp3</artifactId> - <scope>system</scope> - <version>1.1.3.3</version> - <systemPath>${project.basedir}/src/main/resources/lib/xpp3-1.1.3.3.jar</systemPath> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-aop</artifactId> </dependency> </dependencies> diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java index 7aa5a3b..89acbce 100644 --- a/src/main/java/com/zy/asrs/controller/ConsoleController.java +++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java @@ -2,36 +2,18 @@ import com.alibaba.fastjson.JSON; import com.core.annotations.ManagerAuth; -import com.core.common.Arith; import com.core.common.Cools; import com.core.common.R; -import com.zy.asrs.domain.enums.SiteStatusType; import com.zy.asrs.domain.param.SystemSwitchParam; -import com.zy.asrs.domain.vo.*; -import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.BasMap; -import com.zy.asrs.entity.WrkMast; -import com.zy.asrs.mapper.LocMastMapper; -import com.zy.asrs.service.BasDevpService; import com.zy.asrs.service.BasMapService; -import com.zy.asrs.service.WrkMastService; -import com.zy.common.CodeRes; import com.zy.common.model.MapNode; import com.zy.common.model.enums.NavigationMapType; import com.zy.common.utils.NavigateMapData; import com.zy.common.utils.RedisUtil; -import com.zy.core.DevpThread; -import com.zy.core.Slave; -import com.zy.core.cache.OutputQueue; -import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.RedisKeyType; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.DevpSlave; -import com.zy.core.model.protocol.StaProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.properties.SystemProperties; -import com.zy.core.thread.BarcodeThread; -import com.zy.core.thread.ScaleThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -52,13 +34,7 @@ @Autowired private SlaveProperties slaveProperties; @Autowired - private WrkMastService wrkMastService; - @Autowired - private BasDevpService basDevpService; - @Autowired private BasMapService basMapService; - @Autowired - private LocMastMapper locMastMapper; @Autowired private RedisUtil redisUtil; @Value("${super.pwd}") @@ -89,147 +65,6 @@ Thread.sleep(200L); SystemProperties.WCS_RUNNING_STATUS.set(param.getOperatorType()==1?Boolean.TRUE:Boolean.FALSE); return R.ok().add(Cools.add("status", SystemProperties.WCS_RUNNING_STATUS.get())); - } - - /****************************************************************/ - /************************** 瀹炴椂鏁版嵁 ******************************/ - /****************************************************************/ - - @PostMapping("/latest/data/site") - @ManagerAuth(memo = "绔欑偣瀹炴椂鏁版嵁") - public R siteLatestData(){ - List<SiteLatestDataVo> vos = new ArrayList<>(); - Map<Integer, StaProtocol> stations = new HashMap<>(); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - if (null != devpThread) { - stations.putAll(devpThread.getStation()); - } - } - for (Map.Entry<Integer, StaProtocol> entry : stations.entrySet()) { - SiteLatestDataVo vo = new SiteLatestDataVo(); - StaProtocol staProtocol = entry.getValue(); - vo.setSiteId(String.valueOf(entry.getKey())); // 绔欑偣缂栧彿 - vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� - vo.setSiteStatus(SiteStatusType.process(staProtocol)); // 鐘舵�� - vos.add(vo); - } - return R.ok().add(vos); - } - - @PostMapping("/latest/data/barcode") - @ManagerAuth(memo = "鏉$爜鎵弿浠疄鏃舵暟鎹�") - public R barcodeLatestData(){ - List<BarcodeDataVo> list = new ArrayList<>(); - for (Slave barcode : slaveProperties.getBarcode()) { - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, barcode.getId()); - if (null == barcodeThread) { - continue; - } - BarcodeDataVo vo = new BarcodeDataVo(); - vo.setBarcodeId(barcode.getId()); - vo.setCodeValue(barcodeThread.getBarcode()); - list.add(vo); - } - return R.ok().add(list); - } - - @PostMapping("/latest/data/scale") - @ManagerAuth(memo = "纾呯Г瀹炴椂鏁版嵁") - public R scaleLatestData(){ - List<ScaleDataVo> list = new ArrayList<>(); - for (Slave scale : slaveProperties.getScale()) { - ScaleThread scaleThread = (ScaleThread) SlaveConnection.get(SlaveType.Scale, scale.getId()); - if (null == scaleThread) { - continue; - } - ScaleDataVo vo = new ScaleDataVo(); - vo.setScaleId(scale.getId()); - vo.setValue(String.valueOf(Arith.multiplys(1, scaleThread.getScale(), 1))); - list.add(vo); - } - return R.ok().add(list); - } - - /****************************************************************/ - /************************** 璇︽儏鎿嶄綔 ******************************/ - /****************************************************************/ - - @PostMapping("/site/detail") - @ManagerAuth(memo = "杈撻�佽澶囨暟鎹鎯�") - public R siteDetail(@RequestParam Integer siteId){ - if (Cools.isEmpty(siteId)){ - return R.parse(CodeRes.EMPTY); - } - SiteDetailVo vo = new SiteDetailVo(); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - if (null != devpThread) { - StaProtocol staProtocol = devpThread.getStation().get(siteId); - if (staProtocol != null) { - BasDevp basDevp = basDevpService.selectById(siteId); - if (basDevp == null) { - return R.error("鏁版嵁搴撶淮鎶ゅ紓甯�"); - } - vo.setSiteId(siteId); // 绔欑偣缂栧彿 - vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� - - if (staProtocol.getWorkNo() > 0) { - WrkMast wrkMast = wrkMastService.selectById(staProtocol.getWorkNo()); - if (wrkMast != null) { - vo.setWrkSts(wrkMast.getWrkSts$()); // 宸ヤ綔鐘舵�� - vo.setIoType(wrkMast.getIoType$()); // 鍏ュ嚭搴撶被鍨� - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); - vo.setStaNo(wrkMast.getStaNo$()); - vo.setSourceLocNo(wrkMast.getSourceLocNo$()); - vo.setLocNo(wrkMast.getLocNo$()); - } - } - - vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩 - vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿 - - vo.setCanining(basDevp.getCanining()); // 鑳藉叆 - vo.setCanouting(basDevp.getCanouting()); // 鑳藉嚭 - - return R.ok().add(vo); - } - } - } - return R.error(); - - } - - @Deprecated - @PostMapping("/site/update") - @ManagerAuth(memo = "杈撻�佽澶囨暟鎹慨鏀�") - public R updateSite(){ - return R.ok(); - } - - @Deprecated - @PostMapping("/crn/update") - @ManagerAuth(memo = "鍫嗗灈鏈烘暟鎹慨鏀�") - public R updateCrn(){ - return R.ok(); - } - - @GetMapping("/barcode/output/site") - public R barcodeOutput(){ - return R.ok().add(JSON.toJSONString(new ArrayList<>(OutputQueue.BARCODE))); - } - - @GetMapping("/barcode/list") - public R barcodeList(){ - ArrayList<HashMap<String, Object>> list = new ArrayList<>(); - for (Slave slave : slaveProperties.getBarcode()) { - HashMap<String, Object> map = new HashMap<>(); - BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, slave.getId()); - map.put("id", slave.getId()); - map.put("barcode", barcodeThread.getBarcode()); - list.add(map); - } - return R.ok().add(list); } /** diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java deleted file mode 100644 index 1aa3d10..0000000 --- a/src/main/java/com/zy/asrs/controller/MonitorController.java +++ /dev/null @@ -1,412 +0,0 @@ -package com.zy.asrs.controller; - -import com.core.common.Arith; -import com.core.common.Cools; -import com.core.common.R; -import com.zy.asrs.domain.dto.AxisBean; -import com.zy.asrs.domain.dto.WorkChartAxis; -import com.zy.asrs.domain.vo.LocChartPie; -import com.zy.asrs.mapper.BasLiftOptMapper; -import com.zy.asrs.mapper.BasShuttleOptMapper; -import com.zy.asrs.mapper.ReportQueryMapper; -import com.zy.common.service.CommonService; -import com.zy.core.cache.SlaveConnection; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.LedSlave; -import com.zy.core.model.command.LedCommand; -import com.zy.core.properties.SlaveProperties; -import com.zy.core.thread.LedThread; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.text.SimpleDateFormat; -import java.util.*; - -/** - * Created by vincent on 2020/11/16 - */ -@RestController -@RequestMapping("/monitor") -public class MonitorController { - - private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"}; - - @Autowired - private ReportQueryMapper reportQueryMapper; - @Autowired - private SlaveProperties slaveProperties; - @Autowired - private BasLiftOptMapper basLiftOptMapper; - @Autowired - private BasShuttleOptMapper basShuttleOptMapper; - - /** - * 鑾峰彇褰撳墠鏃堕棿 - */ - @GetMapping("/date") - public R monitorDate() { - Date now = new Date(); - Calendar calendar = Calendar.getInstance(); - calendar.setTime(now); - return R.ok( - Cools.add("year", calendar.get(Calendar.YEAR)) - .add("month", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MONTH)+1), 2)) - .add("day", CommonService.zerofill(String.valueOf(calendar.get(Calendar.DATE)), 2)) - .add("hour", CommonService.zerofill(String.valueOf(calendar.get(Calendar.HOUR_OF_DAY)), 2)) - .add("minute", CommonService.zerofill(String.valueOf(calendar.get(Calendar.MINUTE)), 2)) - .add("second", CommonService.zerofill(String.valueOf(calendar.get(Calendar.SECOND)) , 2)) - .add("week", WEEK[calendar.get(Calendar.DAY_OF_WEEK)-1]) - ); - } - - /** - * 鑾峰彇鍏朵粬淇℃伅 - */ - @GetMapping("/other") - public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer sta) { - Integer ledId = 0; - for (LedSlave led : slaveProperties.getLed()) { - for (Integer staNo : led.getStaArr()) { - if (staNo.equals(sta)) { - ledId = led.getId(); - break; - } - } - } - - Double xSpeed = 0.0D; - Double ySpeed = 0.0D; - Double zSpeed = 0.0D; - Short forkPos = 1; - Double xDistance = 0.0D; - Double yDistance = 0.0D; - Double xDuration = 0.0D; - Double yDuration = 0.0D; - - // 鑾峰彇杈撻�佺嚎plc绾跨▼ - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId); - String ledContent = ledThread==null?"":ledThread.getWorkNos().toString(); - if (!(xSpeed<127)){ - xSpeed=0.0; - } - if (!(ySpeed<127)){ - ySpeed=0.0; - } - if (!(zSpeed<127)){ - zSpeed=0.0; - } - - return R.ok( - Cools.add("xSpeed", Arith.multiplys(1, Math.abs(xSpeed), 1)) // 琛岃蛋閫熷害 - .add("ySpeed", Arith.multiplys(1, Math.abs(ySpeed), 1)) // 鍗囬檷閫熷害 - .add("zSpeed", Arith.multiplys(1, Math.abs(zSpeed), 1)) // 鍙夌墮閫熷害 - .add("forkPos", forkPos) // 鍙夌墮閫熷害 - .add("xDistance", Arith.multiplys(1, Math.abs(xDistance), 1)) // 绱璧拌璺濈km - .add("yDistance", Arith.multiplys(1, Math.abs(yDistance), 1)) // 绱鍗囬檷璺濈km - .add("xDuration", Arith.multiplys(1, Math.abs(xDuration), 1)) // 绱璧拌鏃堕暱h - .add("yDuration", Arith.multiplys(1, Math.abs(yDuration), 1)) // 绱鍗囬檷鏃堕暱h - .add("isShow", !Cools.isEmpty(ledContent)) // 鏄惁鏄剧ず鍐呭 - .add("content", ledContent) // 鏄剧ず鍐呭 - ); - } - - /** - * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥� - */ - @GetMapping("/pakin/rep") - public R monitorPakinRep(){ - // 鍏ュ簱 - List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep(); - for (Map<String, Object> map : pakinRep) { - if (map.get("node")!=null) { - map.put("node", String.valueOf(map.get("node")).substring(5, 10)); - } - } - // 鍑哄簱 - List<Map<String, Object>> pakoutRep = reportQueryMapper.queryPakinRep(); - return R.ok(pakinRep); - } - - @GetMapping("/line/charts") - public R locIoLineCharts(){ - Map<String,Object> map=new HashMap<String, Object>(); - List<AxisBean> list = new ArrayList<AxisBean>(); - - List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis(); - - if(listChart!=null) { - ArrayList<Integer> data1 = new ArrayList<Integer>(); - ArrayList<Integer> data2 = new ArrayList<Integer>(); - - SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); - Calendar calendar = Calendar.getInstance(); - calendar.add(Calendar.DATE, -12); - for(int i=0;i<12;i++) { - boolean flag = true; - calendar.add(Calendar.DATE, 1); - String str = sf.format(calendar.getTime()); - for(WorkChartAxis workChart : listChart) { - if(str.equals(workChart.getYmd())) { - data1.add(workChart.getInqty()); - data2.add(workChart.getOutqty()); - flag = false; - break; - } - } - if(flag) { - data1.add(0); - data2.add(0); - } - } - AxisBean inqty = new AxisBean(); - inqty.setName("鍏ュ簱鏁伴噺"); - Integer[] array1 = new Integer[data1.size()]; - inqty.setData(data1.toArray(array1)); - list.add(inqty); - AxisBean outqty = new AxisBean(); - outqty.setName("鍑哄簱鏁伴噺"); - Integer[] array2 = new Integer[data2.size()]; - outqty.setData(data2.toArray(array2)); - list.add(outqty); - } - map.put("rows",list); - return R.ok(map); - } - - - /** - * 搴撲綅浣跨敤鎯呭喌缁熻 - */ - @GetMapping("/loc/rep") - public R monitorLocRep(){ - List<Map<String, Object>> pie = new ArrayList<>(); - - LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); - if(locUseRate!=null) { - Map<String, Object> map = new HashMap<>(); - map.put("name", "鍦ㄥ簱"); - map.put("value", locUseRate.getFqty()); - pie.add(map); - - Map<String, Object> map1 = new HashMap<>(); - map1.put("name", "绌�"); - map1.put("value", locUseRate.getOqty()); - pie.add(map1); - - Map<String, Object> map2 = new HashMap<>(); - map2.put("name", "浣跨敤"); - map2.put("value", locUseRate.getUqty()); - pie.add(map2); - - Map<String, Object> map3 = new HashMap<>(); - map3.put("name", "绂佺敤"); - map3.put("value", locUseRate.getXqty()); - pie.add(map3); - } - - // 鎬诲簱浣嶆暟 - Integer total = (int) Arith.add(0, locUseRate.getFqty(), locUseRate.getOqty(), locUseRate.getUqty(), locUseRate.getXqty()); - // 浣跨敤涓� - Integer used = locUseRate.getFqty() + locUseRate.getUqty(); - // 搴撲綅浣跨敤鐜� - double usedDivides = Arith.divides(3, used, total); - double usedPr = Arith.multiplys(1, usedDivides, 100); - - return R.ok( - Cools.add("pie", pie) - .add("stockCunt", locUseRate.getFqty()) - .add("emptyCount", locUseRate.getOqty()) - .add("noneCount", locUseRate.getXqty()) - .add("total", total) - .add("used", used) - .add("usedPr", usedPr) - ); - } - - - - - - - - /** - * 鑾峰彇鍏朵粬淇℃伅 - */ - @GetMapping("/led") - public R monitorLed(@RequestParam("ledId") Integer ledId) { - String ledContent = ""; - List<LedCommand> commandList = null; - for (LedSlave slave : slaveProperties.getLed()) { - if (slave.getStaArr().contains(ledId)) { - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId()); - if (null != ledThread) { - ledContent = ledThread.getStringBuffer().toString(); - commandList = ledThread.getCommandList(); - } - } - } - return R.ok().add(commandList); - } - - /** - * 寮傚父閫氱煡 - */ - @GetMapping("/led/error") - public R monitorLedError(@RequestParam("ledId") Integer ledId) { - String errorMsg = ""; - for (LedSlave slave : slaveProperties.getLed()) { - if (slave.getStaArr().contains(ledId)) { - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, slave.getId()); - if (null != ledThread) { - errorMsg = ledThread.getErrorMsg().toString(); - } - } - } - return R.ok().add(errorMsg); - } - - /** - * 鑾峰彇璁惧姣忓ぉ杩愯缁熻 - */ - @GetMapping("/deviceRunStatistic") - public R deviceRunStatistic() { - //鑾峰彇鎻愬崌鏈鸿繍琛屾暟鎹� - List<Map<String, Object>> liftList = basLiftOptMapper.selectRunStatistic(); - //鑾峰彇灏忚溅杩愯鏁版嵁 - List<Map<String, Object>> shuttleList = basShuttleOptMapper.selectRunStatistic(); - HashMap<String, Object> map = new HashMap<>(); - map.put("lift", liftList); - map.put("shuttle", shuttleList); - return R.ok().add(map); - } - - /** - * 鑾峰彇璁惧杩愯寮傚父缁熻 - */ - @GetMapping("/deviceRunErrorStatistic/{type}") - public R deviceRunErrorStatistic(@PathVariable("type") String type) { - int time = 1;//榛樿1澶� - if (type.equals("day")) { - time = 1; - } else if (type.equals("week")) { - time = 7; - } else if (type.equals("month")) { - time = 30; - } - //鑾峰彇鎻愬崌鏈鸿繍琛屽紓甯告暟鎹� - List<Map<String, Object>> liftList = basLiftOptMapper.selectRunErrorStatistic(time); - //鑾峰彇灏忚溅杩愯寮傚父鏁版嵁 - List<Map<String, Object>> shuttleList = basShuttleOptMapper.selectRunErrorStatistic(time); - HashMap<String, Object> map = new HashMap<>(); - map.put("lift", liftList); - map.put("shuttle", shuttleList); - return R.ok().add(map); - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** - * 鑷姩琛ラ浂 - */ - private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end){ - for (int i = start ; i <= end; i++){ - boolean exist = false; - for (Map seq : list){ - if (Integer.parseInt(String.valueOf(seq.get("node"))) == i){ - exist = true; - } - } - if (!exist){ - HashMap<String, Object> map = new HashMap<>(); - map.put("node", i); - map.put("val", 0); - list.add(map); - } - } - list.sort(Comparator.comparingInt(o -> (int) o.get("node"))); - return list; - } - - /** - * x杞村崟浣嶈浆鎹� - * @param dot y杞存暟鍊间繚鐣欏皬鏁颁綅 - */ - private List<Map<String, Object>> convert(List<Map<String, Object>> list, StatsType statsType, int dot){ - for (Map<String, Object> map : list){ - Object val = map.get("val"); - map.put("val", Arith.multiplys(dot, 1, (Number) val)); - Object node = map.get("node"); - switch (statsType){ - case MONTH: - map.put("node", node + "鍙�"); - break; - case YEAR: - map.put("node", node + "鏈�"); - break; - default: - break; - } - } - return list; - } - - enum StatsType{ - - YEAR(1,1, 12), - MONTH(2,1, 30), - ; - - int id; - int start; - int end; - StatsType(int id, int start, int end) { - this.id = id; - this.start = start; - this.end = end; - } - - static StatsType get(int id) { - StatsType[] values = StatsType.values(); - for (StatsType statsType : values){ - if (statsType.id == id){ - return statsType; - } - } - throw new RuntimeException("鎵句笉鍒癝tatsType绫诲瀷"); - } - - } - - - - -} diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index d2f58a8..20ac3c6 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -1,10 +1,14 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; import com.core.common.R; import com.zy.asrs.domain.NotifyDto; import com.zy.asrs.domain.enums.NotifyMsgType; import com.zy.asrs.domain.param.*; +import com.zy.asrs.entity.ApiLog; +import com.zy.asrs.service.ApiLogService; import com.zy.asrs.utils.NotifyUtils; +import com.zy.common.annotations.OpenApiLog; import com.zy.common.service.CommonService; import com.zy.core.cache.SlaveConnection; import com.zy.core.dispatcher.ShuttleDispatchUtils; @@ -21,6 +25,7 @@ import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; @Slf4j @@ -36,13 +41,32 @@ private NotifyUtils notifyUtils; @Autowired private SlaveProperties slaveProperties; + @Autowired + private ApiLogService apiLogService; @PostMapping("/createMoveTask") + @OpenApiLog(memo = "灏忚溅绉诲姩浠诲姟") public R createMoveTask(@RequestBody CreateMoveTaskParam param) { if (param == null) { return R.error("鍙傛暟涓嶈兘涓虹┖"); } boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(null, param.getLocNo(), param.getShuttleNo()); + apiLogService.insert(new ApiLog( + null + , "灏忚溅绉诲姩浠诲姟" + , "/createMoveTask" + , null + , null + , null + , JSON.toJSONString(param) + , null + , null + , dispatchShuttle ? 1 : 0 + , 1 + , new Date() + , null + , null + )); if (dispatchShuttle) { return R.ok(); } @@ -51,11 +75,28 @@ //绉诲簱浠诲姟 @PostMapping("/createLocMoveTask") + @OpenApiLog(memo = "绉诲簱浠诲姟") public R createLocMoveTask(@RequestBody CreateLocMoveTaskParam param) { if (param == null) { return R.error("鍙傛暟涓嶈兘涓虹┖"); } boolean result = commonService.createLocMoveTask(param); + apiLogService.insert(new ApiLog( + null + , "绉诲簱浠诲姟" + , "/createLocMoveTask" + , null + , null + , null + , JSON.toJSONString(param) + , null + , null + , result ? 1 : 0 + , 1 + , new Date() + , null + , null + )); if (result) { return R.ok(); } @@ -64,11 +105,28 @@ //鍏ュ簱浠诲姟 @PostMapping("/createInTask") + @OpenApiLog(memo = "鍏ュ簱浠诲姟") public R createInTask(@RequestBody CreateInTaskParam param) { if (param == null) { return R.error("鍙傛暟涓嶈兘涓虹┖"); } boolean result = commonService.createInTask(param); + apiLogService.insert(new ApiLog( + null + , "鍏ュ簱浠诲姟" + , "/createInTask" + , null + , null + , null + , JSON.toJSONString(param) + , null + , null + , result ? 1 : 0 + , 1 + , new Date() + , null + , null + )); if (result) { return R.ok(); } @@ -77,11 +135,28 @@ //鍑哄簱浠诲姟 @PostMapping("/createOutTask") + @OpenApiLog(memo = "鍑哄簱浠诲姟") public R createOutTask(@RequestBody CreateOutTaskParam param) { if (param == null) { return R.error("鍙傛暟涓嶈兘涓虹┖"); } boolean result = commonService.createOutTask(param); + apiLogService.insert(new ApiLog( + null + , "鍑哄簱浠诲姟" + , "/createOutTask" + , null + , null + , null + , JSON.toJSONString(param) + , null + , null + , result ? 1 : 0 + , 1 + , new Date() + , null + , null + )); if (result) { return R.ok(); } @@ -89,11 +164,28 @@ } @PostMapping("/completeTask") + @OpenApiLog(memo = "浠诲姟瀹屾垚") public R completeTask(@RequestBody CompleteTaskParam param) { if (param == null) { return R.error("鍙傛暟涓嶈兘涓虹┖"); } boolean completeTask = commonService.completeTask(param); + apiLogService.insert(new ApiLog( + null + , "浠诲姟瀹屾垚" + , "/completeTask" + , null + , null + , null + , JSON.toJSONString(param) + , null + , null + , completeTask ? 1 : 0 + , 1 + , new Date() + , null + , null + )); if (completeTask) { return R.ok(); } @@ -101,11 +193,28 @@ } @PostMapping("/cancelTask") + @OpenApiLog(memo = "浠诲姟鍙栨秷") public R cancelTask(@RequestBody CancelTaskParam param) { if (param == null) { return R.error("鍙傛暟涓嶈兘涓虹┖"); } boolean completeTask = commonService.cancelTask(param); + apiLogService.insert(new ApiLog( + null + , "浠诲姟鍙栨秷" + , "/cancelTask" + , null + , null + , null + , JSON.toJSONString(param) + , null + , null + , completeTask ? 1 : 0 + , 1 + , new Date() + , null + , null + )); if (completeTask) { return R.ok(); } @@ -113,6 +222,7 @@ } @PostMapping("/deviceStatus") + @OpenApiLog(memo = "鑾峰彇璁惧鐘舵��") public R getDeviceStatus() { HashMap<String, Object> map = new HashMap<>(); //鑾峰彇灏忚溅鏁版嵁 @@ -147,6 +257,24 @@ map.put("shuttle", shuttleProtocols); map.put("forkLift", forkLiftProtocols); + + apiLogService.insert(new ApiLog( + null + , "鑾峰彇璁惧鐘舵��" + , "/deviceStatus" + , null + , null + , null + , null + , JSON.toJSONString(map) + , null + , null + , 1 + , new Date() + , null + , null + )); + return R.ok().add(map); } diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java deleted file mode 100644 index 2f5acc9..0000000 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ /dev/null @@ -1,192 +0,0 @@ -package com.zy.asrs.controller; - -import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.core.annotations.ManagerAuth; -import com.core.common.R; -import com.zy.asrs.domain.vo.PlcErrorTableVo; -import com.zy.asrs.domain.vo.SiteTableVo; -import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.service.BasDevpService; -import com.zy.core.DevpThread; -import com.zy.core.cache.MessageQueue; -import com.zy.core.cache.OutputQueue; -import com.zy.core.cache.SlaveConnection; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.DevpSlave; -import com.zy.core.model.Task; -import com.zy.core.model.protocol.StaProtocol; -import com.zy.core.properties.SlaveProperties; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 杈撻�佽澶囨帴鍙� - */ -@Slf4j -@RestController -@RequestMapping("/site") -public class SiteController { - - @Autowired - private SlaveProperties slaveProperties; - @Autowired - private BasDevpService basDevpService; - - @PostMapping("/table/site") - @ManagerAuth(memo = "绔欑偣淇℃伅琛�") - public R siteTable(){ - List<SiteTableVo> list = new ArrayList<>(); - // 鍐呭瓨鏁版嵁 - Map<Integer, StaProtocol> station = new HashMap<>(); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - station.putAll(devpThread.getStation()); - } - // 鎸佷箙鏁版嵁 - List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no")); - for (BasDevp devp : basDevps) { - SiteTableVo vo = new SiteTableVo(); - vo.setDevNo(devp.getDevNo()); // 绔欑偣缂栧彿 - list.add(vo); - StaProtocol staProtocol = station.get(devp.getDevNo()); - if (null == staProtocol) { continue; } - vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� - vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩 - vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿 - vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆 - vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭 - vo.setLiftArrival(staProtocol.isLiftArrival()?"Y":"N"); // 鎻愬崌鏈哄埌浣嶄俊鍙� - vo.setShuttleTakeEnable(staProtocol.isShuttleTakeEnable()?"Y":"N"); // 绌挎杞﹀彲鍙栦俊鍙� - vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 鍏ュ簱鏍囪 - vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿 - vo.setStaNo(staProtocol.getStaNo() == null ? 0 : staProtocol.getStaNo()); // 鐩爣绔� - vo.setLocType1(staProtocol.getLocType1()==null?"-":staProtocol.getLocType1().toString()); // 楂樹綆淇″彿 - - String outInModel = "-"; - if (staProtocol.getOutInModel() != null) { - switch (staProtocol.getOutInModel().intValue()) { - case 0: - outInModel = "default"; - break; - case 1: - outInModel = "in"; - break; - case 2: - outInModel = "out"; - break; - default: - outInModel = "-"; - } - } - vo.setOutInModel(outInModel); // 鍑哄叆搴撴ā寮� - } - return R.ok().add(list); - } - - @PostMapping("/table/plc/errors") - @ManagerAuth(memo = "杈撻�佽澶噋lc寮傚父淇℃伅琛�") - public R plcErrorTable(){ - List<PlcErrorTableVo> list = new ArrayList<>(); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - Map<Integer, StaProtocol> station = devpThread.getStation(); - - for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { - StaProtocol staProtocol = entry.getValue(); - } - - } - - list.sort((o1, o2) -> { - if (o1.getNo().compareTo(o2.getNo()) > 0){ - return 1; - }else if (o1.getNo().compareTo(o2.getNo()) < 0){ - return 0; - }else{ - return -1; - } - }); - return R.ok().add(list); - } - - @PostMapping("/output/site") - @ManagerAuth(memo = "绔欑偣璁惧鎶ユ枃鏃ュ織杈撳嚭") - public R siteOutput(){ - StringBuilder str = new StringBuilder(); - String s; - int i = 0; - while((s = OutputQueue.DEVP.poll()) != null && i <=10) { - str.append("\n").append(s); - i++; - } - return R.ok().add(str.toString()); - } - - /****************************************************************/ - /************************** 璇︽儏鎿嶄綔 ******************************/ - /****************************************************************/ - - @GetMapping("/detl/{siteId}") - public R siteDetl(@PathVariable("siteId") Integer siteId){ - SiteTableVo vo = new SiteTableVo(); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - Map<Integer, StaProtocol> station = devpThread.getStation(); - for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { - if (siteId.equals(entry.getKey())) { - StaProtocol staProtocol = entry.getValue(); - vo.setDevNo(entry.getKey()); // 绔欑偣缂栧彿 - vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙� - vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩 - vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿 - vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆 - vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭 - vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 闇�姹�1 - vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 绌烘澘淇″彿 - vo.setStaNo(staProtocol.getStaNo()); // 鐩爣绔� - return R.ok().add(vo); - } - } - } - return R.error("plc宸叉帀绾�"); - } - - @PostMapping("/detl/update") - @ManagerAuth(memo = "淇敼绔欑偣鏁版嵁") - public R siteDetlUpdate(@RequestParam Integer siteId, - @RequestParam Short workNo, - @RequestParam Short staNo, - @RequestParam String pakMk){ - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); - Map<Integer, StaProtocol> station = devpThread.getStation(); - for (Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { - if (siteId.equals(entry.getKey())) { - StaProtocol staProtocol = entry.getValue(); - staProtocol = staProtocol.clone(); - if (workNo != null) { - staProtocol.setWorkNo(workNo); - } - if (staNo != null) { - staProtocol.setStaNo(staNo); - } - if (pakMk != null) { - staProtocol.setPakMk(pakMk.equals("Y")); - } - boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - if (result) { - return R.ok(); - } else { - return R.error("涓嬪彂鍛戒护澶辫触"); - } - } - } - } - return R.error("plc宸叉帀绾�"); - } - - -} diff --git a/src/main/java/com/zy/asrs/domain/dto/AxisBean.java b/src/main/java/com/zy/asrs/domain/dto/AxisBean.java deleted file mode 100644 index 4b86146..0000000 --- a/src/main/java/com/zy/asrs/domain/dto/AxisBean.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zy.asrs.domain.dto; - -/** - * 鏇茬嚎鍥捐〃json閿� - * @author admin - * - */ -public class AxisBean { - private String name; - private Integer[] data; - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - public Integer[] getData() { - return data; - } - public void setData(Integer[] data) { - this.data = data; - } - -} diff --git a/src/main/java/com/zy/asrs/domain/dto/WorkChartAxis.java b/src/main/java/com/zy/asrs/domain/dto/WorkChartAxis.java deleted file mode 100644 index cbb46b7..0000000 --- a/src/main/java/com/zy/asrs/domain/dto/WorkChartAxis.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.zy.asrs.domain.dto; - -/** - * 鍏ュ嚭搴撶粺璁℃洸绾垮浘 - * @author admin - * @date 2018骞�12鏈�12鏃� - */ -public class WorkChartAxis { - private String ymd; - private int inqty; - private int outqty; - - public String getYmd() { - return ymd; - } - public void setYmd(String ymd) { - this.ymd = ymd; - } - public int getInqty() { - return inqty; - } - public void setInqty(int inqty) { - this.inqty = inqty; - } - public int getOutqty() { - return outqty; - } - public void setOutqty(int outqty) { - this.outqty = outqty; - } -} \ No newline at end of file diff --git a/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java b/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java deleted file mode 100644 index b3adb37..0000000 --- a/src/main/java/com/zy/asrs/domain/enums/SiteStatusType.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.zy.asrs.domain.enums; - - -import com.zy.core.model.protocol.StaProtocol; - -/** - * 绔欑偣鐘舵�佹灇涓� - */ -public enum SiteStatusType { - - // 鑷姩 - SITE_AUTO, - // 闈炶嚜鍔� - SITE_UNAUTO, - // 鑷姩+鏈夌墿+ID - SITE_AUTO_RUN_ID, - // 鑷姩+鏈夌墿 - SITE_AUTO_RUN, - // 鑷姩+ID - SITE_AUTO_ID, - - ; - - public static SiteStatusType process(StaProtocol staProtocol){ - if (staProtocol == null) { - return null; - } - if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0) { - return SITE_AUTO_RUN_ID; - } - if (staProtocol.isAutoing() && staProtocol.isLoading()) { - return SITE_AUTO_RUN; - } - if (staProtocol.isAutoing() && staProtocol.getWorkNo() > 0) { - return SITE_AUTO_ID; - } - if (staProtocol.isAutoing()) { - return SITE_AUTO; - } - if (!staProtocol.isAutoing()) { - return SITE_UNAUTO; - } - return null; - } - -} diff --git a/src/main/java/com/zy/asrs/domain/vo/BarcodeDataVo.java b/src/main/java/com/zy/asrs/domain/vo/BarcodeDataVo.java deleted file mode 100644 index acfc261..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/BarcodeDataVo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.zy.asrs.domain.vo; - -import lombok.Data; - -/** - * 鎵爜鍣ㄥ疄鏃舵暟鎹鍥惧璞� - * Created by vincent on 2020-06-03 - */ -@Data -public class BarcodeDataVo { - - // 鎵爜鍣ㄧ紪鍙� - private Integer barcodeId; - - // 鎵爜鍣ㄥ唴瀹� - private String codeValue; - -} diff --git a/src/main/java/com/zy/asrs/domain/vo/LocChartPie.java b/src/main/java/com/zy/asrs/domain/vo/LocChartPie.java deleted file mode 100644 index 1492d1b..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/LocChartPie.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.zy.asrs.domain.vo; - -/** - * 搴撲綅鍗犵敤鐧惧垎姣� - * @author admin - * @date 2018骞�12鏈�12鏃� - */ -public class LocChartPie { - private int fqty; - private int oqty; - private int uqty; - private int xqty; - public int getFqty() { - return fqty; - } - public void setFqty(int fqty) { - this.fqty = fqty; - } - public int getOqty() { - return oqty; - } - public void setOqty(int oqty) { - this.oqty = oqty; - } - public int getUqty() { - return uqty; - } - public void setUqty(int uqty) { - this.uqty = uqty; - } - public int getXqty() { - return xqty; - } - public void setXqty(int xqty) { - this.xqty = xqty; - } -} \ No newline at end of file diff --git a/src/main/java/com/zy/asrs/domain/vo/PlcErrorTableVo.java b/src/main/java/com/zy/asrs/domain/vo/PlcErrorTableVo.java deleted file mode 100644 index 38fed7e..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/PlcErrorTableVo.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.zy.asrs.domain.vo; - -import lombok.Data; - -/** - * Created by vincent on 2020-06-02 - */ -@Data -public class PlcErrorTableVo { - - // 搴忓彿 - private Integer no; - - // plc寮傚父鎻忚堪 - private String plcDesc; - - // 寮傚父 - private String error; - -} diff --git a/src/main/java/com/zy/asrs/domain/vo/ScaleDataVo.java b/src/main/java/com/zy/asrs/domain/vo/ScaleDataVo.java deleted file mode 100644 index 1b1aefb..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/ScaleDataVo.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.zy.asrs.domain.vo; - -import lombok.Data; - -/** - * 纾呯Г瀹炴椂鏁版嵁瑙嗗浘瀵硅薄 - * Created by vincent on 2020-06-03 - */ -@Data -public class ScaleDataVo { - - // 纾呯Г缂栧彿 - private Integer scaleId; - - // 纾呯Г鍐呭 - private String value; - -} diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java deleted file mode 100644 index 7cdcf91..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/SiteDetailVo.java +++ /dev/null @@ -1,47 +0,0 @@ -package com.zy.asrs.domain.vo; - -import lombok.Data; - -/** - * 杈撻�佽澶囪鎯呰鍥惧璞� - * Created by vincent on 2020-06-03 - */ -@Data -public class SiteDetailVo { - - // 绔欑偣缂栧彿 - private Integer siteId; - - // 宸ヤ綔鍙� - private Short workNo; - - // 宸ヤ綔鐘舵�� - private String wrkSts = ""; - - // 鑷姩 - private String autoing; - - // 鏈夌墿 - private String loading; - - // 鑳藉叆 - private String canining; - - // 鑳藉嚭 - private String canouting; - - // 鍑哄叆绫诲瀷 - private String ioType = ""; - - // 婧愮珯 - private String sourceStaNo = ""; - - // 鐩爣绔� - private String staNo = ""; - - // 婧愬簱浣� - private String sourceLocNo = ""; - - // 鐩爣搴撲綅 - private String locNo = ""; -} diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java deleted file mode 100644 index 2677861..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/SiteLatestDataVo.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.zy.asrs.domain.vo; - -import com.zy.asrs.domain.enums.SiteStatusType; -import lombok.Data; - -/** - * 绔欑偣鏈�鏂版暟鎹鍥惧璞� - * Created by vincent on 2020-06-01 - */ -@Data -public class SiteLatestDataVo { - - // 绔欑偣缂栧彿 - private String siteId; - - // 宸ヤ綔鍙� - private Short workNo; - - // 绔欑偣鐘舵�� - private SiteStatusType siteStatus; - - // 闅斿绔欑偣锛堝彴杞︾壒鎬э級 - private String nearbySta; - - public String getSiteStatus() { - return siteStatus.toString().toLowerCase().replaceAll("_", "-"); - } - -} diff --git a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java b/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java deleted file mode 100644 index 1ad425e..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/SiteTableVo.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.zy.asrs.domain.vo; - -import lombok.Data; - -/** - * Created by vincent on 2020-06-02 - */ -@Data -public class SiteTableVo { - - // 绔欏彿 - private Integer devNo; - - // 宸ヤ綔鍙� - private Short workNo = 0; - - // 鑷姩 - private String autoing = "-"; - - // 鏈夌墿 - private String loading = "-"; - - // 鍙叆 - private String inEnable = "-"; - - // 鍙嚭 - private String outEnable = "-"; - - // 闇�姹�1 - private String pakMk = "-"; - - // 绌烘澘淇″彿 - private String emptyMk = "-"; - - // 鐩爣绔� - private Short staNo = 0; - - //鎻愬崌鏈哄埌浣嶄俊鍙� - private String liftArrival = "-"; - - //鍥涘悜绌挎杞﹀彲鍙栦俊鍙� - private String shuttleTakeEnable = "-"; - - //楂樹綆淇″彿 - private String locType1 = "-"; - - //鍑哄叆搴撴ā寮� - private String outInModel = "-"; - -} diff --git a/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java b/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java deleted file mode 100644 index b0f70d8..0000000 --- a/src/main/java/com/zy/asrs/domain/vo/SteDataVo.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.zy.asrs.domain.vo; - -import lombok.Data; - -/** - * Created by vincent on 2020-06-02 - */ -@Data -public class SteDataVo { - - // 绌挎杞﹀彿 - private Integer steNo; - - // 宸ヤ綔鍙� - private Integer workNo; - - private Integer row; - - private Integer bay; - - private Integer lev; - - private Integer crnNo; - - private String pakMk; - -} diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java index bd14d54..34f0108 100644 --- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java +++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java @@ -1,53 +1,10 @@ package com.zy.asrs.mapper; -import com.zy.asrs.domain.dto.WorkChartAxis; -import com.zy.asrs.domain.vo.LocChartPie; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; - -import java.util.List; -import java.util.Map; @Mapper @Repository public interface ReportQueryMapper { - - - @Select("select \n" + - "Min(wm.io_time) as node,\n" + - "isnull(count(1), 0) as val\n" + - "from asr_wrk_mast_log wm\n" + - "where wm.wrk_sts = 5 \n" + - "and (wm.io_type = 1 OR wm.io_type = 54)\n" + - "and datediff(d, wm.io_time, getdate())<=7 \n" + - "group by datediff(day,wm.io_time,getdate())\n" + - "order by Min(wm.io_time) asc\n") - List<Map<String, Object>> queryPakinRep(); - - @Select("select\n" + - "Min(wm.io_time) as node,\n" + - "isnull(count(1), 0) as val\n" + - "from asr_wrk_mast_log wm\n" + - "where 1=1\n" + - "and ((wm.wrk_sts = 15 AND wm.io_type = 101) OR (wm.wrk_sts = 14 AND wm.io_type = 103))\n" + - "and datediff(d, wm.io_time, getdate())<=7\n" + - "group by datediff(day,wm.io_time,getdate())\n" + - "order by Min(wm.io_time) asc") - List<Map<String, Object>> queryPakOutRep(); - - //鏇茬嚎鍥� - @Select("select ymd,SUM(sto_qty) inqty,SUM(ret_qty) outqty from asr_sta_inout_view " - + "where ymd>CONVERT(char(10), DATEADD(DAY,-12,GETDATE()), 120) group by ymd order by ymd") - public List<WorkChartAxis> getChartAxis(); - - @Select("select * from asr_loc_use_view") - LocChartPie getLocUseRate(); - - @Select("select count(1) as totalWrk from asr_wrk_mast_log where crn_no = #{crnNo}") - Integer getTotalWrkByCrnId(Integer crnNo); - - @Select("select count(1) as totalLoc from asr_loc_mast") - Integer getTotalLocByCrnId(); } diff --git a/src/main/java/com/zy/asrs/utils/VersionUtils.java b/src/main/java/com/zy/asrs/utils/VersionUtils.java deleted file mode 100644 index 3fdb5da..0000000 --- a/src/main/java/com/zy/asrs/utils/VersionUtils.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.zy.asrs.utils; - -import com.zy.asrs.entity.LocMast; -import com.zy.common.model.LocTypeDto; - -/** - * Created by vincent on 2020/7/14 - */ -public class VersionUtils { - - // 涓氬姟 ---------------------------------------------------------------------- - - - /** - * 搴撲綅绉昏浆鏃剁被鍨嬫娴� - **/ - public static void locMoveCheckLocType(LocMast sourceLoc, LocMast loc){ - // 濡傛灉婧愬簱浣嶆槸楂樺簱浣嶏紝鐩爣搴撲綅鏄綆搴撲綅 -// if (sourceLoc.getLocType1() == 2 && loc.getLocType1() == 1) { -// throw new CoolException("楂樺簱浣嶄笉鑳界Щ杞嚦浣庡簱浣�"); -// } - } - - /** - * 搴撲綅绉昏浆鏃剁被鍨嬫娴� - **/ - public static boolean locMoveCheckLocType(LocMast loc, LocTypeDto dto){ - - return true; - } - - -} diff --git a/src/main/java/com/zy/asrs/ws/ConsoleWebSocket.java b/src/main/java/com/zy/asrs/ws/ConsoleWebSocket.java index ddf9b6d..2234aaf 100644 --- a/src/main/java/com/zy/asrs/ws/ConsoleWebSocket.java +++ b/src/main/java/com/zy/asrs/ws/ConsoleWebSocket.java @@ -82,16 +82,8 @@ R result = liftController.liftStateTable(); socketMessage.setData(JSON.toJSONString(result)); this.sendMessage(JSON.toJSONString(socketMessage)); - } else if (socketMessage.getUrl().equals("/console/latest/data/site")) { - R result = consoleController.siteLatestData(); - socketMessage.setData(JSON.toJSONString(result)); - this.sendMessage(JSON.toJSONString(socketMessage)); } else if (socketMessage.getUrl().equals("/console/map/auth")) { R result = consoleController.getMapFromRedis(Integer.parseInt(socketMessage.getData())); - socketMessage.setData(JSON.toJSONString(result)); - this.sendMessage(JSON.toJSONString(socketMessage)); - } else if (socketMessage.getUrl().equals("/console/barcode/output/site")) { - R result = consoleController.barcodeOutput(); socketMessage.setData(JSON.toJSONString(result)); this.sendMessage(JSON.toJSONString(socketMessage)); } diff --git a/src/main/java/com/zy/common/annotations/OpenApiLog.java b/src/main/java/com/zy/common/annotations/OpenApiLog.java new file mode 100644 index 0000000..b476711 --- /dev/null +++ b/src/main/java/com/zy/common/annotations/OpenApiLog.java @@ -0,0 +1,14 @@ +package com.zy.common.annotations; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Target({ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface OpenApiLog { + boolean value() default true; + + String memo() default ""; +} diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java deleted file mode 100644 index 7dc5c7b..0000000 --- a/src/main/java/com/zy/common/model/LocTypeDto.java +++ /dev/null @@ -1,48 +0,0 @@ -package com.zy.common.model; - -import com.core.exception.CoolException; -import com.zy.core.model.protocol.StaProtocol; -import lombok.Data; - -/** - * Created by vincent on 2020/10/19 - */ -@Data -public class LocTypeDto { - - // 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿 - private Short locType1; - - // 瀹界獎绫诲瀷{0:鏈煡,1:绐勫簱浣�,2:瀹藉簱浣峿 - private Short locType2; - - // 杞婚噸绫诲瀷{0:鏈煡,1:杞诲簱浣�,2:閲嶅簱浣峿 - private Short locType3; - - public LocTypeDto() { - } - - public LocTypeDto(StaProtocol staProtocol) { - if (staProtocol.getLocType1() == null || staProtocol.getLocType1() == 0) { - throw new CoolException("plc楂樹綆妫�娴嬪紓甯�"); - } - this.locType1 = staProtocol.getLocType1(); - } - - /** - * 搴撲綅绫诲瀷瑙f瀽 - */ - public static LocTypeDto process(StaProtocol staProtocol) { - LocTypeDto dto = new LocTypeDto(); -// if (staProtocol.isHigh() == staProtocol.isLow()) { -// throw new CoolException("plc楂樹綆妫�娴嬪紓甯�"); -// } -// if (staProtocol.isLow()) { -// dto.setLocType1((short) 1); // 浣庡簱浣� -// } else { -// dto.setLocType1((short) 2); // 楂樺簱浣� -// } - return dto; - } - -} diff --git a/src/main/java/com/zy/core/DevpThread.java b/src/main/java/com/zy/core/DevpThread.java deleted file mode 100644 index 715c3a5..0000000 --- a/src/main/java/com/zy/core/DevpThread.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.zy.core; - -import com.zy.core.model.protocol.StaProtocol; - -import java.util.Map; - -public interface DevpThread extends ThreadHandler { - - Map<Integer, StaProtocol> getStation(); - - void setPakMk(Integer siteId, boolean pakMk); - -} diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index 5f00670..bab666b 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -47,26 +47,6 @@ } private void initMq(){ - // 鍒濆鍖栬緭閫佺嚎mq - for (Slave devp : slaveProperties.getDevp()) { - MessageQueue.init(SlaveType.Devp, devp); - } - // 鍒濆鍖栨潯鐮佹壂鎻忎华mq - for (Slave barcode : slaveProperties.getBarcode()) { - MessageQueue.init(SlaveType.Barcode, barcode); - } - // 鍒濆鍖朙ed鐏痬q - for (Slave led : slaveProperties.getLed()) { - MessageQueue.init(SlaveType.Led, led); - } - // 鍒濆鍖栫绉癿q - for (Slave scale : slaveProperties.getScale()) { - MessageQueue.init(SlaveType.Scale, scale); - } - // 鍒濆鍖栧彴杞q - for (Slave car : slaveProperties.getCar()) { - MessageQueue.init(SlaveType.Car, car); - } // 鍒濆鍖栬揣鍙夋彁鍗囨満mq for (Slave forkLift : slaveProperties.getForkLift()) { MessageQueue.init(SlaveType.ForkLift, forkLift); @@ -78,13 +58,6 @@ } private void initThread(){ - // 鍒濆鍖栬緭閫佺嚎绾跨▼ - News.info("鍒濆鍖栬緭閫佺嚎绾跨▼..................................................."); - for (DevpSlave devp : slaveProperties.getDevp()) { - DevpThread devpThread = new SiemensDevpThread(devp); - new Thread((Runnable) devpThread).start(); - SlaveConnection.put(SlaveType.Devp, devp.getId(), devpThread); - } // 鍒濆鍖栬揣鍙夋彁鍗囨満 News.info("鍒濆鍖栬揣鍙夋彁鍗囨満........................................................"); for (ForkLiftSlave forkLiftSlave : slaveProperties.getForkLift()) { @@ -99,29 +72,6 @@ new Thread(shuttleThread).start(); SlaveConnection.put(SlaveType.Shuttle, shuttleSlave.getId(), shuttleThread); } - // 鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼ - News.info("鍒濆鍖栨潯鐮佹壂鎻忎华绾跨▼..................................................."); - for (Slave barcode : slaveProperties.getBarcode()) { - BarcodeThread barcodeThread = new BarcodeThread(barcode); - if (barcode.getId() >= 11) { - new Thread(barcodeThread).start(); - } - SlaveConnection.put(SlaveType.Barcode, barcode.getId(), barcodeThread); - } - // 鍒濆鍖朙ED绾跨▼ - News.info("鍒濆鍖朙ED绾跨▼..................................................."); - for (LedSlave led : slaveProperties.getLed()) { - LedThread ledThread = new LedThread(led); - new Thread(ledThread).start(); - SlaveConnection.put(SlaveType.Led, led.getId(), ledThread); - } - // 鍒濆鍖栫绉ょ嚎绋� -// News.info("鍒濆鍖栫绉ょ嚎绋�..................................................."); -// for (Slave scale : slaveProperties.getScale()) { -// ScaleThread barcodeThread = new ScaleThread(scale); -// new Thread(barcodeThread).start(); -// SlaveConnection.put(SlaveType.Scale, scale.getId(), barcodeThread); -// } } diff --git a/src/main/java/com/zy/core/cache/MessageQueue.java b/src/main/java/com/zy/core/cache/MessageQueue.java index ec0be29..9d92365 100644 --- a/src/main/java/com/zy/core/cache/MessageQueue.java +++ b/src/main/java/com/zy/core/cache/MessageQueue.java @@ -7,7 +7,6 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.LinkedBlockingQueue; /** * 娑堟伅闃熷垪 @@ -15,43 +14,23 @@ */ public class MessageQueue { - // 杈撻�佺嚎mq浜ゆ崲鏈� - private static final Map<Integer, ConcurrentLinkedQueue<Task>> DEVP_EXCHANGE = new ConcurrentHashMap<>(); - // 鏉$爜鎵弿浠猰q浜ゆ崲鏈� - private static final Map<Integer, ConcurrentLinkedQueue<Task>> BARCODE_EXCHANGE = new ConcurrentHashMap<>(); - // Led鐏� mq浜ゆ崲鏈� - private static final Map<Integer, LinkedBlockingQueue<Task>> LED_EXCHANGE = new ConcurrentHashMap<>(); - // 纾呯Оmq浜ゆ崲鏈� - private static final Map<Integer, ConcurrentLinkedQueue<Task>> SCALE_EXCHANGE = new ConcurrentHashMap<>(); - // 鍙拌溅mq浜ゆ崲鏈� - private static final Map<Integer, ConcurrentLinkedQueue<Task>> CAR_EXCHANGE = new ConcurrentHashMap<>(); //鍥涘悜绌挎杞q浜ゆ崲鏈� private static final Map<Integer, ConcurrentLinkedQueue<Task>> SHUTTLE_EXCHANGE = new ConcurrentHashMap<>(); //鎻愬崌鏈簃q浜ゆ崲鏈� private static final Map<Integer, ConcurrentLinkedQueue<Task>> LIFT_EXCHANGE = new ConcurrentHashMap<>(); + //璐у弶鎻愬崌鏈簃q浜ゆ崲鏈� + private static final Map<Integer, ConcurrentLinkedQueue<Task>> FORK_LIFT_EXCHANGE = new ConcurrentHashMap<>(); /** * mq 浜ゆ崲鏈哄垵濮嬪寲 */ public static void init(SlaveType type, Slave slave) { switch (type) { - case Devp: - DEVP_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); - break; - case Barcode: - BARCODE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); - break; - case Led: - LED_EXCHANGE.put(slave.getId(), new LinkedBlockingQueue<>(1)); - break; - case Scale: - SCALE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); - break; - case Car: - CAR_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); - break; case Shuttle: SHUTTLE_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); + break; + case ForkLift: + FORK_LIFT_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); break; case Lift: LIFT_EXCHANGE.put(slave.getId(), new ConcurrentLinkedQueue<>()); @@ -67,18 +46,10 @@ */ public static boolean offer(SlaveType type, Integer id, Task task) { switch (type) { - case Devp: - return DEVP_EXCHANGE.get(id).offer(task); - case Barcode: - return BARCODE_EXCHANGE.get(id).offer(task); - case Led: - return LED_EXCHANGE.get(id).offer(task); - case Scale: - return SCALE_EXCHANGE.get(id).offer(task); - case Car: - return CAR_EXCHANGE.get(id).offer(task); case Shuttle: return SHUTTLE_EXCHANGE.get(id).offer(task); + case ForkLift: + return FORK_LIFT_EXCHANGE.get(id).offer(task); case Lift: return LIFT_EXCHANGE.get(id).offer(task); default: @@ -92,18 +63,10 @@ */ public static Task poll(SlaveType type, Integer id) { switch (type) { - case Devp: - return DEVP_EXCHANGE.get(id).poll(); - case Barcode: - return BARCODE_EXCHANGE.get(id).poll(); - case Led: - return LED_EXCHANGE.get(id).poll(); - case Scale: - return SCALE_EXCHANGE.get(id).poll(); - case Car: - return CAR_EXCHANGE.get(id).poll(); case Shuttle: return SHUTTLE_EXCHANGE.get(id).poll(); + case ForkLift: + return FORK_LIFT_EXCHANGE.get(id).poll(); case Lift: return LIFT_EXCHANGE.get(id).poll(); default: @@ -116,18 +79,10 @@ */ public static Task peek(SlaveType type, Integer id) { switch (type) { - case Devp: - return DEVP_EXCHANGE.get(id).peek(); - case Barcode: - return BARCODE_EXCHANGE.get(id).peek(); - case Led: - return LED_EXCHANGE.get(id).peek(); - case Scale: - return SCALE_EXCHANGE.get(id).peek(); - case Car: - return CAR_EXCHANGE.get(id).peek(); case Shuttle: return SHUTTLE_EXCHANGE.get(id).peek(); + case ForkLift: + return FORK_LIFT_EXCHANGE.get(id).peek(); case Lift: return LIFT_EXCHANGE.get(id).peek(); default: @@ -137,24 +92,12 @@ public static void clear(SlaveType type, Integer id){ switch (type) { - case Devp: - DEVP_EXCHANGE.get(id).clear(); - break; - case Barcode: - BARCODE_EXCHANGE.get(id).clear(); - break; - case Led: - LED_EXCHANGE.get(id).clear(); - break; - case Scale: - SCALE_EXCHANGE.get(id).clear(); - break; - case Car: - CAR_EXCHANGE.get(id).clear(); - break; case Shuttle: SHUTTLE_EXCHANGE.get(id).clear(); break; + case ForkLift: + FORK_LIFT_EXCHANGE.get(id).clear(); + break; case Lift: LIFT_EXCHANGE.get(id).clear(); break; diff --git a/src/main/java/com/zy/core/cache/OutputQueue.java b/src/main/java/com/zy/core/cache/OutputQueue.java index 5ddde51..edb1923 100644 --- a/src/main/java/com/zy/core/cache/OutputQueue.java +++ b/src/main/java/com/zy/core/cache/OutputQueue.java @@ -9,14 +9,6 @@ */ public class OutputQueue { - // 鍫嗗灈鏈鸿緭鍑烘棩蹇� - public static ArrayBlockingQueue<String> CRN = new ArrayBlockingQueue<>(32); - // 杈撻�佺嚎杈撳嚭鏃ュ織 - public static ArrayBlockingQueue<String> DEVP = new ArrayBlockingQueue<>(32); - // 鏉$爜鍣ㄨ緭鍑烘棩蹇� - public static ArrayBlockingQueue<JSONObject> BARCODE = new ArrayBlockingQueue<>(32); - // 绌挎杞﹁緭鍑烘棩蹇� - public static ArrayBlockingQueue<String> STE = new ArrayBlockingQueue<>(32); //鍥涘悜绌挎杞﹁緭鍑烘棩蹇� public static ArrayBlockingQueue<String> SHUTTLE = new ArrayBlockingQueue<>(32); //鎻愬崌鏈鸿緭鍑烘棩蹇� diff --git a/src/main/java/com/zy/core/enums/SlaveType.java b/src/main/java/com/zy/core/enums/SlaveType.java index 08c387a..95abbb3 100644 --- a/src/main/java/com/zy/core/enums/SlaveType.java +++ b/src/main/java/com/zy/core/enums/SlaveType.java @@ -2,13 +2,6 @@ public enum SlaveType { - Crn, - Devp, - Barcode, - Led, - Scale, - Car, - Ste, Shuttle, Lift, ForkLift, diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java deleted file mode 100644 index 24365d1..0000000 --- a/src/main/java/com/zy/core/model/DevpSlave.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.zy.core.model; - -import com.zy.core.Slave; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.ArrayList; -import java.util.List; - -/** - * 杈撻�佺嚎閰嶇疆 - * Created by vincent on 2020/8/6 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class DevpSlave extends Slave { - - private Integer rack; - - private Integer slot; - - private List<Sta> inSta = new ArrayList<>(); - - private List<Sta> emptyInSta = new ArrayList<>(); - - private List<Sta> outSta = new ArrayList<>(); - - private List<Sta> pickInSta = new ArrayList<>(); - - private List<Sta> pickInSta2 = new ArrayList<>(); - - private List<Sta> pickOutSta = new ArrayList<>(); - - private List<StaRack> rackInStn = new ArrayList<>(); - - private List<StaRack> rackOutStn = new ArrayList<>(); - - @Data - public static class Sta { - - private Integer staNo; - - private Integer barcode; - - private Integer backSta; - - private Integer led; - - private Integer liftNo; - - } - - @Data - public static class StaRack { - private Integer devpPlcId; - - private Integer staNo; - - private Integer row; - - private Integer bay; - - private Integer lev; - } - -} diff --git a/src/main/java/com/zy/core/model/LedSlave.java b/src/main/java/com/zy/core/model/LedSlave.java deleted file mode 100644 index af02dfc..0000000 --- a/src/main/java/com/zy/core/model/LedSlave.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.zy.core.model; - -import com.zy.core.Slave; -import lombok.Data; -import lombok.EqualsAndHashCode; - -import java.util.ArrayList; -import java.util.List; - -/** - * LED閰嶇疆 - * Created by vincent on 2020/8/6 - */ -@EqualsAndHashCode(callSuper = true) -@Data -public class LedSlave extends Slave { - - // 杈撻�佺嚎plc缂栧彿 - private Integer devpPlcId; - - // 鍙夎溅绔欑偣鏁扮粍 - private List<Integer> staArr = new ArrayList<>(); - -} diff --git a/src/main/java/com/zy/core/model/command/LedCommand.java b/src/main/java/com/zy/core/model/command/LedCommand.java deleted file mode 100644 index 14b4fbf..0000000 --- a/src/main/java/com/zy/core/model/command/LedCommand.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.zy.core.model.command; - -import com.zy.common.model.MatDto; -import lombok.Data; - -import java.util.ArrayList; -import java.util.List; - -/** - * led鍛戒护鎶ユ枃 - * Created by vincent on 2020/8/11 - */ -@Data -public class LedCommand extends Object { - - private String title; - - private Integer workNo; - - private Integer staNo; - - private Integer sourceStaNo; - - private String locNo; - - private String sourceLocNo; - - private List<MatDto> matDtos = new ArrayList<>(); - - private boolean emptyMk = false; - - private Integer ioType; - - private String barcode; - -} diff --git a/src/main/java/com/zy/core/model/protocol/StaProtocol.java b/src/main/java/com/zy/core/model/protocol/StaProtocol.java deleted file mode 100644 index 9e849a3..0000000 --- a/src/main/java/com/zy/core/model/protocol/StaProtocol.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.zy.core.model.protocol; - -import com.zy.asrs.entity.BasDevp; -import lombok.Data; - -/** - * 杈撻�佺嚎plc鍗曚釜绔欑偣璇︾粏淇℃伅 - * Created by vincent on 2020/8/6 - */ -@Data -public class StaProtocol implements Cloneable { - - // 绔欑偣缂栧彿 - private Integer siteId; - - // ---------------------------------------------------------------- - // 宸ヤ綔鍙� - private Short workNo = 0; - - // ---------------------------------------------------------------- - // 鐩爣绔� - private Short staNo; - - // ---------------------------------------------------------------- - // 鑷姩 - private boolean autoing; - - // 鏈夌墿 - private boolean loading; - - // 鍙叆 - private boolean inEnable; - - // 鍙嚭 - private boolean outEnable; - - // 绌烘澘淇″彿 - private boolean emptyMk; - - // 婊℃墭鐩� - private boolean fullPlt; - - //鎻愬崌鏈哄埌浣嶄俊鍙� - private boolean liftArrival; - - //鍥涘悜绌挎杞﹀彲鍙栦俊鍙� - private boolean shuttleTakeEnable; - - // 楂� - private boolean high; - - // 浣� - private boolean low; - - // 閿佸畾鏍囪 - private boolean pakMk = true; - - // 澶栧舰妫�娴� ------------------------------------------------------------------------ - - // 鍓嶈秴闄� - private boolean frontErr; - - // 鍚庤秴闄� - private boolean backErr; - - // 楂樿秴闄� - private boolean highErr; - - // 宸﹁秴闄� - private boolean leftErr; - - // 鍙宠秴闄� - private boolean rightErr; - - // 瓒呴噸 - private boolean weightErr; - - // 鎵爜澶辫触 - private boolean barcodeErr; - - //鍑哄叆搴撴ā寮�1銆佸叆搴擄紝2銆佸嚭搴� - private Short outInModel; - - //楂樹綆淇″彿 0:鏃� 1:浣� 2:涓� 3:楂� - private Short locType1; - - public BasDevp toSqlModel(){ - BasDevp basDevp = new BasDevp(); - basDevp.setDevNo(siteId); - basDevp.setWrkNo(workNo.intValue()); - basDevp.setAutoing(autoing?"Y":"N"); - basDevp.setLoading(loading?"Y":"N"); - basDevp.setInEnable(inEnable?"Y":"N"); - basDevp.setOutEnable(outEnable?"Y":"N"); - basDevp.setLocType1((short) 0); // 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿 - basDevp.setLocType2((short) 0); // 瀹界獎绫诲瀷{0:鏈煡,1:绐勫簱浣�,2:瀹藉簱浣峿 - basDevp.setLocType3((short) 0); // 杞婚噸绫诲瀷{0:鏈煡,1:杞诲簱浣�,2:閲嶅簱浣峿 - basDevp.setLocType1(high != low && low ? (short) 1 : (short) 2); - return basDevp; - } - - @Override - public StaProtocol clone() { - try { - return (StaProtocol) super.clone(); - } catch (CloneNotSupportedException e) { - e.printStackTrace(); - } - return null; - } - -} diff --git a/src/main/java/com/zy/core/properties/SlaveProperties.java b/src/main/java/com/zy/core/properties/SlaveProperties.java index 4f5e7a5..9de7962 100644 --- a/src/main/java/com/zy/core/properties/SlaveProperties.java +++ b/src/main/java/com/zy/core/properties/SlaveProperties.java @@ -23,18 +23,6 @@ private int groupCount; - private List<String> channel = new ArrayList<>(); - - private List<DevpSlave> devp = new ArrayList<>(); - - private List<Slave> barcode = new ArrayList<>(); - - private List<LedSlave> led = new ArrayList<>(); - - private List<Slave> scale = new ArrayList<>(); - - private List<Slave> car = new ArrayList<>(); - private List<ShuttleSlave> shuttle = new ArrayList<>(); private List<ForkLiftSlave> forkLift = new ArrayList<>(); diff --git a/src/main/java/com/zy/core/thread/BarcodeThread.java b/src/main/java/com/zy/core/thread/BarcodeThread.java deleted file mode 100644 index 2850e0f..0000000 --- a/src/main/java/com/zy/core/thread/BarcodeThread.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.zy.core.thread; - -import com.alibaba.fastjson.JSONObject; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.zy.core.News; -import com.zy.core.Slave; -import com.zy.core.ThreadHandler; -import com.zy.core.cache.OutputQueue; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import java.util.Date; - -/** - * 鏉$爜鎵弿浠嚎绋� - * Created by vincent on 2020/8/4 - */ -@Data -@Slf4j -public class BarcodeThread implements Runnable, ThreadHandler { - - private Slave slave; - private StringBuffer barcode = new StringBuffer(); - - public BarcodeThread(Slave slave) { - this.slave = slave; - } - - public String getBarcode() { - return barcode.toString(); - } - - public void setBarcode(String barcode) { - this.barcode.delete(0, this.barcode.length()); - this.barcode.append(barcode); - if(!Cools.isEmpty(barcode)) { - News.info("{}鍙锋潯鐮佸櫒锛屾绱㈡暟鎹細{}", slave.getId(), this.barcode); - - JSONObject jsonObject = new JSONObject(); - jsonObject.put("time", DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmss_F)); - jsonObject.put("barcode", barcode); - jsonObject.put("id", slave.getId()); - if (OutputQueue.BARCODE.size() >= 32) { - OutputQueue.BARCODE.poll(); - } - OutputQueue.BARCODE.offer(jsonObject); - } - } - - @Override - public boolean connect() { - return true; - } - - @Override - public void close() { - } - - @Override - @SuppressWarnings("InfiniteLoopStatement") - public void run() { - } - -} diff --git a/src/main/java/com/zy/core/thread/LedThread.java b/src/main/java/com/zy/core/thread/LedThread.java deleted file mode 100644 index 9cbaf56..0000000 --- a/src/main/java/com/zy/core/thread/LedThread.java +++ /dev/null @@ -1,130 +0,0 @@ -package com.zy.core.thread; - -import com.zy.common.model.MatDto; -import com.zy.core.Slave; -import com.zy.core.ThreadHandler; -import com.zy.core.cache.MessageQueue; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.Task; -import com.zy.core.model.command.LedCommand; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import onbon.bx05.Bx5GEnv; -import onbon.bx05.Bx5GScreenClient; -import onbon.bx05.area.TextCaptionBxArea; -import onbon.bx05.area.page.TextBxPage; -import onbon.bx05.file.ProgramBxFile; -import onbon.bx05.utils.DisplayStyleFactory; - -import java.awt.*; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - -/** - * Created by vincent on 2020/9/1 - */ -@Data -@Slf4j -public class LedThread implements Runnable, ThreadHandler { - - private Slave slave; - private Set<Integer> workNos = new HashSet<>(); - private boolean ledMk = false; - private boolean resetStatus = false; // 澶嶄綅鐘舵�� - - // 鏄剧ず鍣� - private StringBuffer stringBuffer = new StringBuffer(); - private List<LedCommand> commandList; - - private StringBuffer errorMsg = new StringBuffer(); - - public LedThread(Slave slave) { - this.slave = slave; - } - - @Override - @SuppressWarnings({"InfiniteLoopStatement", "unchecked"}) - public void run() { -// connect(); - while (true) { - try { - Task task = MessageQueue.poll(SlaveType.Led, slave.getId()); - if (task != null) { - switch (task.getStep()) { - // 鍐欐暟鎹� - case 1: - write((List<LedCommand>)task.getData()); - break; - // 澶嶄綅 - case 2: - reset(); - break; - case 3: - error((String) task.getData()); - break; - case 4: - errorReset(); - break; - default: - break; - } - } - Thread.sleep(1000); - } catch (Exception e) { - e.printStackTrace(); - } - } - } - - private void write(List<LedCommand> list) { - commandList = list; - - StringBuilder sb = new StringBuilder(); - for (LedCommand command : list) { - sb.append(command.getTitle()).append("锛�").append(command.getWorkNo()).append(")").append("\n"); - sb.append("婧愬簱浣嶏細").append(command.getSourceLocNo()).append("\n"); - sb.append("鐩爣绔欙細").append(command.getStaNo()).append("\n"); - if (!command.isEmptyMk()) { - for (MatDto matDto : command.getMatDtos()) { - sb.append("鐗╂枡缂栫爜锛�").append(matDto.getMatNo()).append("\n"); - sb.append("鍚嶇О锛�").append(matDto.getMaknx()).append("\n"); - sb.append("鏁伴噺锛�").append(matDto.getCount()).append("\n"); - sb.append("瑙勬牸锛�").append(matDto.getSpecs()).append("\n"); - } - } - sb.append("\n"); - } - stringBuffer.delete(0, stringBuffer.length()); - stringBuffer.append(sb.toString()); - - errorReset(); - } - - - private void reset() { - commandList = null; - stringBuffer.delete(0, stringBuffer.length()); - errorMsg.delete(0, errorMsg.length()); - } - - - private void error(String msg) { - errorMsg.delete(0, errorMsg.length()); - errorMsg.append(msg); - } - - public void errorReset() { - this.errorMsg.delete(0, errorMsg.length()); - } - - @Override - public boolean connect() { - return true; - } - - @Override - public void close() { - } - -} diff --git a/src/main/java/com/zy/core/thread/ScaleThread.java b/src/main/java/com/zy/core/thread/ScaleThread.java deleted file mode 100644 index b2b1531..0000000 --- a/src/main/java/com/zy/core/thread/ScaleThread.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.zy.core.thread; - -import com.core.common.Cools; -import com.zy.core.News; -import com.zy.core.Slave; -import com.zy.core.ThreadHandler; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; - -import java.io.DataInputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.net.SocketAddress; -import java.net.SocketTimeoutException; - -/** - * 纾呯Г绾跨▼ - * Created by vincent on 2020/8/4 - */ -@Data -@Slf4j -public class ScaleThread implements Runnable, ThreadHandler { - - private Slave slave; - private Double scale = 0.0D; - private Socket socket; - private DataOutputStream dataOutputStream; - private DataInputStream dataInputStream; - - public ScaleThread(Slave slave) { - this.slave = slave; - } - - @Override - @SuppressWarnings("InfiniteLoopStatement") - public void run() { - connect(); - while (true) { - try { - byte[] read = read(8, 100); - if (null != read) { - String s = new String(read); - if (!Cools.isEmpty(s) && s.startsWith("=")) { - scale = Double.parseDouble(s.substring(1)); - } - } - Thread.sleep(100); - } catch (SocketTimeoutException ignore) { - } catch (Exception e) { -// e.printStackTrace(); - } - } - } - - @Override - public boolean connect() { - try { - close(); //1.涓诲姩閲婃斁杩炴帴 //2.鏌愪簺鏈嶅姟鍣ㄥ鎸囧畾ip鏈夐摼璺暟闄愬埗 - socket = new Socket(); - //socket.setKeepAlive(true); - SocketAddress socketAddress = new InetSocketAddress(slave.getIp(), slave.getPort()); - socket.connect(socketAddress, 1000); //鏌愪簺鏈嶅姟鍣╬ing寤惰繜楂樻椂瑕佸鍔�,鍚﹀垯浼氭姤閿檆onnect timeout - dataOutputStream = new DataOutputStream(socket.getOutputStream()); - dataInputStream = new DataInputStream(socket.getInputStream()); -// News.info("鏉$爜鎵弿浠繛鎺ユ垚鍔� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - } catch (Exception e) { - socket = null; - News.error("纾呯Г鎵弿浠繛鎺ュけ璐ワ紒锛侊紒 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - return false; - } - return true; - } - - @Override - public void close() { - try { - if (null != dataOutputStream) { - dataOutputStream.close(); - } - if (null != dataInputStream) { - dataInputStream.close(); - } -// if (null != socket && !socket.isClosed()) { -// socket.close(); -// } - if (null != socket){ - socket.close(); - } - socket = null; - } catch (IOException e) { - News.error("SocketClient close Exception:" + e.getMessage()); - } - } - - public void write(byte[] msg, int len) throws IOException { - if (null != dataInputStream) - { - dataOutputStream.write(msg, 0, len); - dataOutputStream.flush(); - } - } - - public byte[] read(int bufferSize, int timeOut) throws IOException { -// if (socket == null) { -// connect(); -// } - connect(); - socket.setSoTimeout(timeOut); - byte[] bytes = new byte[bufferSize]; - int len = dataInputStream.read(bytes); - byte[] tempBytes = null; - if (len > 0) { - tempBytes = new byte[len]; - System.arraycopy(bytes, 0, tempBytes, 0, len); - } - return tempBytes; - } - - public boolean valid() throws Exception { - if (null == socket || socket.isClosed() || socket.isInputShutdown() || socket.isOutputShutdown()) { - if (dataInputStream != null) { - dataInputStream.close(); - } - if (dataOutputStream != null) { - dataOutputStream.close(); - } - if (socket != null) { - socket.close(); - } - return false; - } - return true; - } - -} diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java deleted file mode 100644 index e3e3703..0000000 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ /dev/null @@ -1,319 +0,0 @@ -package com.zy.core.thread; - -import HslCommunication.Core.Types.OperateResult; -import HslCommunication.Core.Types.OperateResultExOne; -import HslCommunication.Profinet.Siemens.SiemensPLCS; -import HslCommunication.Profinet.Siemens.SiemensS7Net; -import com.alibaba.fastjson.JSON; -import com.core.common.Cools; -import com.core.common.DateUtils; -import com.core.common.SpringUtils; -import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.service.BasDevpService; -import com.zy.core.DevpThread; -import com.zy.core.News; -import com.zy.core.cache.MessageQueue; -import com.zy.core.cache.OutputQueue; -import com.zy.core.cache.SlaveConnection; -import com.zy.core.enums.SlaveType; -import com.zy.core.model.DevpSlave; -import com.zy.core.model.Task; -import com.zy.core.model.protocol.StaProtocol; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; - -import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -/** - * 杈撻�佺嚎绾跨▼ - * Created by vincent on 2020/8/4 - */ -@Data -@Slf4j -public class SiemensDevpThread implements Runnable, DevpThread { - - private DevpSlave slave; - private SiemensS7Net siemensS7Net; - private Map<Integer, StaProtocol> station = new ConcurrentHashMap<>(); - private short heartBeatVal = 1; - private int barcodeSize = 10; - - public static final ArrayList<Integer> staNos = new ArrayList<Integer>() {{ - add(100);add(101); - add(102);add(103); - }}; - - public SiemensDevpThread(DevpSlave slave) { - this.slave = slave; - } - - @Override - @SuppressWarnings("InfiniteLoopStatement") - public void run() { - connect(); - while (true) { - try { - int step = 1; - Task task = MessageQueue.poll(SlaveType.Devp, slave.getId()); - if (task != null) { - step = task.getStep(); - } - switch (step) { - // 璇绘暟鎹� - case 1: - read(); - break; - // 鍐欐暟鎹� ID+鐩爣绔� - case 2: - write((StaProtocol) task.getData()); - read(); - break; - default: - break; - } - // 蹇冭烦 -// heartbeat(); - Thread.sleep(100); - } catch (Exception e) { - e.printStackTrace(); - } - - } - } - - @Override - public boolean connect() { - boolean result = false; - siemensS7Net = new SiemensS7Net(SiemensPLCS.S1200, slave.getIp()); - siemensS7Net.setRack(slave.getRack().byteValue()); - siemensS7Net.setSlot(slave.getSlot().byteValue()); - OperateResult connect = siemensS7Net.ConnectServer(); - if(connect.IsSuccess){ - result = true; - OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); - News.info("杈撻�佺嚎plc杩炴帴鎴愬姛 ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - } else { - OutputQueue.DEVP.offer(MessageFormat.format( "銆恵0}銆戣緭閫佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); - News.error("杈撻�佺嚎plc杩炴帴澶辫触锛侊紒锛� ===>> [id:{}] [ip:{}] [port:{}]", slave.getId(), slave.getIp(), slave.getPort()); - } -// siemensS7Net.ConnectClose(); - return result; - } - - /** - * 璇诲彇鐘舵�� ====> 鏁村潡plc - */ - private void read() throws InterruptedException { - OperateResultExOne<byte[]> result = siemensS7Net.Read("DB1000.0", (short) (staNos.size()*4)); - if (result.IsSuccess) { - for (int i = 0; i < staNos.size(); 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("DB1001.0", (short) (staNos.size()*2)); - if (result1.IsSuccess) { - for (int i = 0; i < staNos.size(); i++) { - Integer siteId = staNos.get(i); // 绔欑偣缂栧彿 - boolean[] status = siemensS7Net.getByteTransform().TransBool(result1.Content, i*2, 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.setLiftArrival(status[6]); // 鎻愬崌鏈哄埌浣嶄俊鍙� - staProtocol.setShuttleTakeEnable(status[7]); // 鎻愬崌鏈哄彲鍙栦俊鍙� - - if (!staProtocol.isPakMk() && !staProtocol.isLoading()) { - staProtocol.setPakMk(true); - } - } - } - - if (result.IsSuccess && result1.IsSuccess) { - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); - - // 鏍规嵁瀹炴椂淇℃伅鏇存柊鏁版嵁搴� - try { - List<BasDevp> basDevps = new ArrayList<>(); - for (Integer siteId : staNos) { - StaProtocol staProtocol = station.get(siteId); - basDevps.add(staProtocol.toSqlModel()); -// log.info("杈撻�佺嚎淇″彿锛寋}", JSON.toJSONString(staProtocol)); - } - BasDevpService basDevpService = SpringUtils.getBean(BasDevpService.class); - if (!basDevpService.updateBatchById(basDevps)) { - throw new Exception("鏇存柊鏁版嵁搴撴暟鎹け璐�"); - } - } catch (Exception e) { - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戞洿鏂版暟鎹簱鏁版嵁澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); - News.error("鏇存柊鏁版嵁搴撴暟鎹け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); - } - - } else { - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戣鍙栬緭閫佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}] [rack:{4}] [slot:{5}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot())); -// News.error("璇诲彇杈撻�佺嚎plc鐘舵�佷俊鎭け璐� ===>> [id:{}] [ip:{}] [port:{}] [rack:{}] [slot:{}]", slave.getId(), slave.getIp(), slave.getPort(), slave.getRack(), slave.getSlot()); - } - } - - /** - * 鍐欏叆 ID+鐩爣绔� =====> 鍗曠珯鐐瑰啓鍏� - */ - private void write(StaProtocol staProtocol) throws InterruptedException { - if (null == staProtocol) { - return; - } - int index = staNos.indexOf(staProtocol.getSiteId()); - short[] array = new short[2]; - array[0] = staProtocol.getWorkNo(); - array[1] = staProtocol.getStaNo(); -// OperateResult write = siemensS7Net.Write("DB100." + index*4, staProtocol.getWorkNo()); // 宸ヤ綔鍙� -// Thread.sleep(500); -// OperateResult write1 = siemensS7Net.Write("DB100." + (index*4+2), staProtocol.getStaNo()); // 鐩爣绔� - - OperateResult writeResult; - //浠诲姟涓嬪彂娆℃暟 - int writeCount = 0; - //浠诲姟涓嬪彂鎴愬姛鏍囪瘑 - boolean writeFlag = false; - while(writeCount < 1){ - writeResult = siemensS7Net.Write("DB1000." + index*4, array); // 宸ヤ綔鍙枫�佺洰鏍囩珯 - if(writeResult.IsSuccess){ - Thread.sleep(500); - OperateResultExOne<byte[]> readResult = siemensS7Net.Read("DB1000." + index*4, (short)4); - if(readResult.IsSuccess){ - short workNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 0); - short staNo = siemensS7Net.getByteTransform().TransInt16(readResult.Content, 2); - if(staProtocol.getWorkNo().equals(workNo) && staProtocol.getStaNo().equals(staNo)){ - //浠诲姟鍛戒护鍐欏叆鎴愬姛 - writeFlag = true; - log.info("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝骞朵笖鍥炶鎴愬姛銆傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - break; - } else {//杩斿洖缁撴灉鏄垚鍔熶簡锛屼絾鏄湡瀹炲�间笉鐩稿悓 - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol),writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤繑鍥炴垚鍔燂紝浣嗘槸璇诲彇浠诲姟鍊间笉涓�鑷淬�傝緭閫佺嚎plc缂栧彿={}锛寋}锛屽啓鍏ユ鏁�={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } - } else { - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol), writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护鍚庤鍙栧け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } - } else { - writeCount++; - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2},鍐欏叆娆℃暟={3}", - slave.getId(), JSON.toJSON(staProtocol),writeCount)); - log.error("鍐欏叆杈撻�佺嚎鍛戒护澶辫触銆傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={},鍐欏叆娆℃暟={}", slave.getId(), JSON.toJSON(staProtocol), writeCount); - } - Thread.sleep(200); - } - - //鍐欏懡浠ゅ皾璇曚簡5娆¤繕鏄け璐ヤ簡 - if(!writeFlag){ - staProtocol = station.get(staProtocol.getSiteId()); - if (staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0) { - staProtocol.setPakMk(true); - } - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆戝啓鍏ヨ緭閫佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={1}锛岀珯鐐规暟鎹�={2}", slave.getId(), JSON.toJSON(staProtocol))); - log.error("鍐欏叆杈撻�佺嚎鍛戒护灏濊瘯5娆″け璐ャ�傝緭閫佺嚎plc缂栧彿={}锛岀珯鐐规暟鎹�={}", slave.getId(), JSON.toJSON(staProtocol)); - -// //閲嶆柊娣诲姞鏁版嵁鍒颁换鍔¢槦鍒� -// boolean result = MessageQueue.offer(SlaveType.Devp, slave.getId(), new Task(2, staProtocol)); - read();//璇诲彇1娆¤澶囩姸鎬� - return; - } else { - OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆� 杈撻�佺嚎鍛戒护涓嬪彂鎴愬姛 [id:{1}] >>>>> {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(staProtocol))); - log.info("杈撻�佺嚎鍛戒护涓嬪彂 [id:{}] >>>>> 鍛戒护涓嬪彂鎴愬姛锛� {}", slave.getId(), JSON.toJSON(staProtocol)); - - Integer siteId = staProtocol.getSiteId(); - staProtocol = station.get(siteId); - if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) { - staProtocol.setPakMk(true); - } - } - } - - /** - * 蹇冭烦 - */ - private void heartbeat(){ - if (heartBeatVal == 1) { - heartBeatVal = 2; - } else { - heartBeatVal = 1; - } - OperateResult write = siemensS7Net.Write("DB100.50", heartBeatVal); - if (!write.IsSuccess) { - News.error("杈撻�佺嚎plc缂栧彿={} 蹇冭烦澶辫触", slave.getId()); - } - } - - /** - * 璁剧疆鍏ュ簱鏍囪 - */ - @Override - public void setPakMk(Integer siteId, boolean pakMk) { - StaProtocol staProtocol = station.get(siteId); - if (null != staProtocol) { - staProtocol.setPakMk(pakMk); - } - } - - @Override - public void close() { - siemensS7Net.ConnectClose(); - } - - public static void main(String[] args) { -// System.out.println(staNos.indexOf(129)); - System.out.println(staNos.size()); - for (int i = 0; i<staNos.size(); i++) { -// System.out.println(i*2); -// System.out.println(i*2 + 200); -// System.out.println(i); - } -// int index = staNos.indexOf(128); -// System.out.println(index*2); -// System.out.println(index*2 + 200); - } - -// public static void main(String[] args) throws Exception { -// DevpSlave slave = new DevpSlave(); -// slave.setIp("192.168.2.125"); -// SiemensDevpThread devpThread = new SiemensDevpThread(slave); -// devpThread.connect(); -// devpThread.read(); -// // 鍐� -// StaProtocol staProtocol = devpThread.getStation().get(1); -// staProtocol.setWorkNo((short) 232); -// staProtocol.setStaNo((short) 6); -// staProtocol.setAutoing(true); -// staProtocol.setEmptyMk(true); -// staProtocol.setInEnable(true); -// devpThread.write(staProtocol); -// System.out.println("----------------------------------------"); -// // 璇� -// devpThread.read(); -// System.out.println(JSON.toJSONString(devpThread.station)); -// -// } - -} -- Gitblit v1.9.1