From d9131e43a1fa8fe4d5e086d02d4037997cb13bde Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期二, 16 一月 2024 19:15:52 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/model/MatDto.java | 27 ++ src/main/java/com/zy/asrs/entity/WrkMastSta.java | 2 src/main/java/com/zy/core/model/DevpSlave.java | 2 src/main/java/com/zy/asrs/controller/RgvController.java | 25 ++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 16 + src/main/webapp/views/console.html | 24 ++ src/main/java/com/zy/asrs/controller/MonitorController.java | 422 +++++++++++++++++++++++----------------------- src/main/java/com/zy/asrs/mapper/WrkMastMapper.java | 2 src/main/resources/mapper/WrkMastMapper.xml | 4 src/main/resources/application.yml | 4 src/main/java/com/zy/core/ServerBootstrap.java | 12 11 files changed, 321 insertions(+), 219 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java index 8977b4f..a827610 100644 --- a/src/main/java/com/zy/asrs/controller/MonitorController.java +++ b/src/main/java/com/zy/asrs/controller/MonitorController.java @@ -7,11 +7,15 @@ import com.zy.asrs.domain.dto.WorkChartAxis; import com.zy.asrs.domain.vo.LocChartPie; import com.zy.asrs.mapper.ReportQueryMapper; +import com.zy.common.model.MatDto; import com.zy.common.service.CommonService; import com.zy.core.CrnThread; 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.model.protocol.CrnProtocol; +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.GetMapping; @@ -33,6 +37,8 @@ @Autowired private ReportQueryMapper reportQueryMapper; + @Autowired + private SlaveProperties slaveProperties; /** * 鑾峰彇褰撳墠鏃堕棿 @@ -44,77 +50,15 @@ 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]) + .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 ledId) { - 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; - - if (null != crnId) { - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnId); - if (crnThread != null) { - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol != null) { - xSpeed = Double.valueOf(crnProtocol.getXSpeed()); - ySpeed = Double.valueOf(crnProtocol.getYSpeed()); - zSpeed = Double.valueOf(crnProtocol.getZSpeed()); - switch (crnProtocol.getForkPos()) { - case 0: - forkPos = 1; - break; - case 1: - forkPos = 2; - break; - case 2: - forkPos = 0; - break; - default: - forkPos = 1; - break; - } - xDistance = Double.valueOf(crnProtocol.getXDistance()); - yDistance = Double.valueOf(crnProtocol.getYDistance()); - xDuration = Double.valueOf(crnProtocol.getXDuration()); - yDuration = Double.valueOf(crnProtocol.getYDuration()); - } - } - } - - // 鑾峰彇杈撻�佺嚎plc绾跨▼ - LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId); - String ledContent = ledThread.getWorkNos().toString(); -// ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀"; - - 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) // 鏄剧ず鍐呭 - ); - } /** * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥� @@ -132,145 +76,6 @@ 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) - ); - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** * 鑷姩琛ラ浂 @@ -345,6 +150,209 @@ } + /***** 鐢佃APP鐩稿叧鎺ュ彛 ******/ + @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("/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(); + } + } + } +// MatDto matDto = new MatDto(); +// matDto.setMatNo("1111"); +// matDto.setCount(100.0); +// matDto.setMaknx("娴嬭瘯鐢ㄦ枡"); +// LedCommand ledCommand = new LedCommand(); +// ledCommand.setStaNo(8); +// ledCommand.setTitle("鍏ュ簱鍚姩"); +// ledCommand.setLocNo("0100101"); +// ledCommand.setWorkNo(9998); +// ledCommand.setEmptyMk(false); +// ledCommand.setIoType(1); +// ledCommand.setSourceStaNo(15); +// ArrayList<MatDto> matDtos = new ArrayList<>(); +// matDtos.add(matDto); +// ledCommand.setMatDtos(matDtos); +// ArrayList<LedCommand> ledCommands = new ArrayList<>(); +// ledCommands.add(ledCommand); +// return R.ok(ledCommands); + return R.ok().add(commandList); + } + /** + * 鑾峰彇鍏朵粬淇℃伅 + */ + @GetMapping("/other") + public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer ledId) { + 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; + + if (null != crnId) { + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crnId); + if (crnThread != null) { + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol != null) { + xSpeed = Double.valueOf(crnProtocol.getXSpeed()); + ySpeed = Double.valueOf(crnProtocol.getYSpeed()); + zSpeed = Double.valueOf(crnProtocol.getZSpeed()); + switch (crnProtocol.getForkPos()) { + case 0: + forkPos = 1; + break; + case 1: + forkPos = 2; + break; + case 2: + forkPos = 0; + break; + default: + forkPos = 1; + break; + } + xDistance = Double.valueOf(crnProtocol.getXDistance()); + yDistance = Double.valueOf(crnProtocol.getYDistance()); + xDuration = Double.valueOf(crnProtocol.getXDuration()); + yDuration = Double.valueOf(crnProtocol.getYDuration()); + } + } + } + + +// ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀"; + + 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 + ); + } } diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index e841ee3..3dc522a 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Arith; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.RgvStatusType; @@ -14,6 +15,7 @@ import com.zy.asrs.service.WrkMastService; import com.zy.asrs.service.impl.MainServiceImpl; import com.zy.asrs.utils.VersionUtils; +import com.zy.core.Slave; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; import com.zy.core.cache.SlaveConnection; @@ -26,6 +28,7 @@ import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.RgvThread; +import com.zy.core.thread.ScaleThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -321,4 +324,26 @@ return false; } + @PostMapping("/console/rgv/site/data") + @ManagerAuth(memo = "灏忚溅瀹炴椂浣嶇疆") + public R scaleLatestData(){ + List<Map> result = new ArrayList<>(); + for (RgvSlave rgv : slaveProperties.getRgv()) { + // 鑾峰彇RGV淇℃伅 + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + if (rgvThread == null) { + throw new CoolException("RGV涓嶅湪绾�"); + } + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + throw new CoolException("RGV涓嶅湪绾�"); + } + Map<String, Object> rgvMap = new HashMap<>(); + rgvMap.put("title", rgvProtocol.getRgvPosI()); + rgvMap.put("id", rgvProtocol.getRgvNo()); + result.add(rgvMap); + } + return R.ok().add(result); + } + } \ No newline at end of file diff --git a/src/main/java/com/zy/asrs/entity/WrkMastSta.java b/src/main/java/com/zy/asrs/entity/WrkMastSta.java index 930c3ba..a500865 100644 --- a/src/main/java/com/zy/asrs/entity/WrkMastSta.java +++ b/src/main/java/com/zy/asrs/entity/WrkMastSta.java @@ -122,7 +122,7 @@ public WrkMastSta() {} public WrkMastSta(Date now, Integer staStart) { - this.wrkNo = staStart.longValue()+9999; + this.wrkNo = staStart.longValue()+19999; this.wrkStart = staStart; this.wrkEnd = staStart; this.staStart = staStart; diff --git a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java index 8199059..6320ce1 100644 --- a/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java +++ b/src/main/java/com/zy/asrs/mapper/WrkMastMapper.java @@ -57,6 +57,8 @@ // @Select("select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=12 and io_type>100 order by io_pri desc,io_time desc,wrk_no ASC") WrkMast selectPakOutStep2(@Param("sourceStaNo")Integer sourceStaNo); + WrkMast selectPakOutStep3(@Param("sourceStaNo")Integer sourceStaNo); + // 搴撲綅绉昏浆宸ヤ綔妗o紝鍦ㄨ繘琛屼竴娆″叆鍑哄簱浣滀笟鍚庣揣璺熷簱浣嶇Щ杞� // @Select("select top 1 * from dbo.asr_wrk_mast where wrk_sts=11 and (io_type=11 or io_type=110) and crn_no=#{crnNo} order by io_time,wrk_no") WrkMast selectLocMove(@Param("crnNo")Integer crnNo); diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 47ec31e..101bb26 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -196,6 +196,9 @@ if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed()); + + barcodeThread.setBarcode(""); staProtocol.setWorkNo(dto.getWorkNo()); @@ -3125,9 +3128,16 @@ // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO + && rgvProtocol.getStatusType1() == RgvStatusType.IDLE + && rgvProtocol.getStatusType2() == RgvStatusType.IDLE + && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 && (rgvProtocol.getLoaded2()==2 || rgvProtocol.getLoaded2()==3 ) ////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 ) { try { + WrkMast wrkMast1 = wrkMastMapper.selectPakOutStep3(122); + if (!Cools.isEmpty(wrkMast1)){ + continue; + } // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� SearchLocParam param = new SearchLocParam(); @@ -3148,7 +3158,7 @@ if (!Cools.isEmpty(wrkMast) && wrkMast.getIoType()==10 && wrkMast.getWrkSts()==2){ WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(wrkMast.getWrkNo().longValue()); if (Cools.isEmpty(wrkMastSta)){ - WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),0); + WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),wrkMast.getStaNo()); wrkMastSta1.setWrkNo(wrkMast.getWrkNo().longValue()); wrkMastSta1.setType(2); wrkMastSta1.setWrkType(6);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� @@ -3235,7 +3245,7 @@ // ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); - wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme()))); + wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl))); } commands.add(ledCommand); } @@ -4430,7 +4440,7 @@ continue; } boolean sign = false; - if (wrkMastSta.getStaStart()==0 && wrkMastSta.getStaEnd()!=0){//婊℃斁 + if ( wrkMastSta.getStaEnd()!=0){//婊℃斁 sign = rgvPutEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta); }else { continue; diff --git a/src/main/java/com/zy/common/model/MatDto.java b/src/main/java/com/zy/common/model/MatDto.java index e5b625b..0c9e224 100644 --- a/src/main/java/com/zy/common/model/MatDto.java +++ b/src/main/java/com/zy/common/model/MatDto.java @@ -1,5 +1,6 @@ package com.zy.common.model; +import com.zy.asrs.entity.WrkDetl; import lombok.Data; /** @@ -8,11 +9,20 @@ @Data public class MatDto { - // 鐗╂枡缂栧彿 + // 鐗╂枡缂栧彿 瑙勬牸 private String matNo; - // 鐗╂枡鍚嶇О + // 鐗╂枡鍚嶇О 瑙勬牸 private String maknx; + + //瑙勬牸 + private String specs; + + //绠卞彿 + private String batch; + + //鎵规 + private String model; // 鐗╂枡鏁伴噺 private Double count; @@ -25,4 +35,17 @@ this.maknx = maknx; this.count = count; } + + public MatDto(String matNo, String maknx, String specs, Double count) { + this.matNo = matNo; + this.maknx = maknx; + this.count = count; + } + public MatDto(WrkDetl wrkDetl) { + this.matNo = wrkDetl.getMatnr(); + this.maknx = wrkDetl.getMaktx(); + this.specs = wrkDetl.getMatnr(); + this.batch = wrkDetl.getBatch(); + this.count = wrkDetl.getAnfme(); + } } diff --git a/src/main/java/com/zy/core/ServerBootstrap.java b/src/main/java/com/zy/core/ServerBootstrap.java index c7cec42..7a274af 100644 --- a/src/main/java/com/zy/core/ServerBootstrap.java +++ b/src/main/java/com/zy/core/ServerBootstrap.java @@ -32,6 +32,8 @@ @Autowired private MainProcess mainProcess; + int CRN_COUNT = 0; + public static final Map<CrnThread, Thread> map = new ConcurrentHashMap<>(); @@ -142,13 +144,15 @@ @Scheduled(cron = "0/3 * * * * ? ") public void kill() { - int i = 0; for (Map.Entry<CrnThread, Thread> entry : map.entrySet()) { - i++; + CRN_COUNT++; SiemensCrnThread key = (SiemensCrnThread) entry.getKey(); // System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼閲嶅惎绾跨▼鏉′欢锛�"+(System.currentTimeMillis() - key.getSign())); - if (System.currentTimeMillis() - key.getSign() > 120000) { - System.out.println("绗�"+i+"涓爢鍨涙満绾跨▼琚噸鍚�"); + if (CRN_COUNT>10000){ + continue; + } + if (System.currentTimeMillis() - key.getSign() > 120000 && System.currentTimeMillis() - key.getSign()<1200000) { + System.out.println("绗�"+CRN_COUNT+"涓爢鍨涙満绾跨▼琚噸鍚�"); // 璇锋眰绾跨▼瀹夊叏鍋滄 key.requestStop(); diff --git a/src/main/java/com/zy/core/model/DevpSlave.java b/src/main/java/com/zy/core/model/DevpSlave.java index 1acdd98..450e05d 100644 --- a/src/main/java/com/zy/core/model/DevpSlave.java +++ b/src/main/java/com/zy/core/model/DevpSlave.java @@ -41,6 +41,8 @@ private Integer barcode; + private Integer led; + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 7da3fae..130f8cd 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -36,7 +36,7 @@ enable: false wms: - url: localhost:8080/hswms + url: localhost:8080/jtwms # 涓嬩綅鏈洪厤缃� wcs-slave: @@ -414,10 +414,12 @@ inSta[0]: staNo: 217 barcode: ${wcs-slave.barcode[0].id} + led: ${wcs-slave.led[1].id} # 鍏ュ簱鍙�1 inSta[1]: staNo: 221 barcode: ${wcs-slave.barcode[1].id} + led: ${wcs-slave.led[2].id} # WMS鍏ュ簱鍙�1 inWmsSta[0]: staNo: 212 diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml index 21db737..fac4623 100644 --- a/src/main/resources/mapper/WrkMastMapper.xml +++ b/src/main/resources/mapper/WrkMastMapper.xml @@ -126,6 +126,10 @@ select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=12 and io_type>100 order by io_pri desc,io_time desc,wrk_no ASC </select> + <select id="selectPakOutStep3" resultMap="BaseResultMap"> + select top 1 * from dbo.asr_wrk_mast where source_sta_no=#{sourceStaNo} and wrk_sts=2 and io_type=10 + </select> + <select id="selectLocMove" resultMap="BaseResultMap"> select top 1 * from dbo.asr_wrk_mast where wrk_sts=11 and io_type=11 and crn_no=#{crnNo} order by io_time,wrk_no </select> diff --git a/src/main/webapp/views/console.html b/src/main/webapp/views/console.html index eea7ecc..e18345c 100644 --- a/src/main/webapp/views/console.html +++ b/src/main/webapp/views/console.html @@ -462,6 +462,8 @@ getSystemRunningStatus(); getBarcodeInfo(); getScaleInfo(); + // carAnimate(); + carAnimate2(); // 瀹炴椂璁块棶 setInterval(function () { getCrnInfo(); @@ -772,6 +774,26 @@ $(siteId).animate({top: sitePosition[staNo]}, 1000); } - moveSite("#site-1", 117);//娴嬭瘯绉诲姩鏂规硶,鍙垹闄� + // moveSite("#site-1", 117);//娴嬭瘯绉诲姩鏂规硶,鍙垹闄� + + // Rgv瀹炴椂鏁版嵁鑾峰彇 + function carAnimate2() { + // console.log("1=============1") + $.ajax({ + url: baseUrl + "/console/rgv/site/data", + headers: {'token': localStorage.getItem('token')}, + method: 'POST', + success: function (res) { + if (res.code === 200) { + var rgvMap = res.data; + for (var i = 0; i < rgvMap.length; i++) { + moveSite("#site-"+rgvMap[i].id, rgvMap[i].title); + } + } else { + console.log(res.msg); + } + } + }); + } </script> \ No newline at end of file -- Gitblit v1.9.1