From d4764bcbb80efc278b7dd35e62112eb4b1335ce9 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 24 三月 2025 10:05:55 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/MonitorController.java | 163 +++++++++++++++++++++-------------------------------- 1 files changed, 65 insertions(+), 98 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MonitorController.java b/src/main/java/com/zy/asrs/controller/MonitorController.java index 2d839dd..eaea9c2 100644 --- a/src/main/java/com/zy/asrs/controller/MonitorController.java +++ b/src/main/java/com/zy/asrs/controller/MonitorController.java @@ -7,13 +7,18 @@ 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.annotations.RateLimit; 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.protocol.CrnProtocol; +import com.zy.core.thread.LedThread; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; import java.text.SimpleDateFormat; import java.util.*; @@ -25,7 +30,7 @@ @RequestMapping("/monitor") public class MonitorController { - private static final String[] WEEK = {"鏄熸湡鏃�","鏄熸湡涓�","鏄熸湡浜�","鏄熸湡涓�","鏄熸湡鍥�","鏄熸湡浜�","鏄熸湡鍏�"}; + private static final String[] WEEK = {"鏄熸湡鏃�", "鏄熸湡涓�", "鏄熸湡浜�", "鏄熸湡涓�", "鏄熸湡鍥�", "鏄熸湡浜�", "鏄熸湡鍏�"}; @Autowired private ReportQueryMapper reportQueryMapper; @@ -40,12 +45,12 @@ 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]) ); } @@ -53,7 +58,7 @@ * 鑾峰彇鍏朵粬淇℃伅 */ @GetMapping("/other") - public R monitorOther(@RequestParam("crnId") Integer crnId) { + public R monitorOther(@RequestParam("crnId") Integer crnId, @RequestParam("ledId") Integer ledId) { Double xSpeed = 0.0D; Double ySpeed = 0.0D; Double zSpeed = 0.0D; @@ -76,10 +81,10 @@ forkPos = 1; break; case 1: - forkPos = 0; + forkPos = 2; break; case 2: - forkPos = 2; + forkPos = 0; break; default: forkPos = 1; @@ -93,32 +98,35 @@ } } -// int totalWrk = reportQueryMapper.getTotalWrkByCrnId(crnId); -// int totalLoc = reportQueryMapper.getTotalLocByCrnId(); + // 鑾峰彇杈撻�佺嚎plc绾跨▼ + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, ledId); + String ledContent = ledThread.getWorkNos().toString(); +// ledContent = "ask鐨勬ā鍧楄惃婊″ぇ绠椾簡钀ㄦ弧澶т簡\n 鏄獦澧冨埌鍩冨強鍡插鍡瞈n 钀ㄨ揪濮嗘墦寮�钀ㄦ弧澶у嚡鎾掗害褰撳姵钀ㄦ弧澶ц�佸笀"; return R.ok( - Cools.add("xSpeed", xSpeed) // 琛岃蛋閫熷害 - .add("ySpeed", ySpeed) // 鍗囬檷閫熷害 - .add("zSpeed", zSpeed) // 鍙夌墮閫熷害 - .add("forkPos", forkPos) // 鍙夌墮閫熷害 -// .add("totalLoc", totalLoc) // 鎬诲簱浣嶆暟 -// .add("totalWrk", totalWrk) // 鎬讳换鍔℃暟 - .add("xDistance", xDistance) // 绱璧拌璺濈km - .add("yDistance", yDistance) // 绱鍗囬檷璺濈km - .add("xDuration", xDuration) // 绱璧拌鏃堕暱h - .add("yDuration", yDuration) // 绱鍗囬檷鏃堕暱h + 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) // 鏄剧ず鍐呭 ); } /** * 鍏ュ簱鎶ヨ〃 -- 鎶樼嚎鍥� */ + @RateLimit(2) @GetMapping("/pakin/rep") - public R monitorPakinRep(){ + public R monitorPakinRep() { // 鍏ュ簱 List<Map<String, Object>> pakinRep = reportQueryMapper.queryPakinRep(); for (Map<String, Object> map : pakinRep) { - if (map.get("node")!=null) { + if (map.get("node") != null) { map.put("node", String.valueOf(map.get("node")).substring(5, 10)); } } @@ -127,33 +135,34 @@ return R.ok(pakinRep); } + @RateLimit(2) @GetMapping("/line/charts") - public R locIoLineCharts(){ - Map<String,Object> map=new HashMap<String, Object>(); + 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) { + 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++) { + 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())) { + for (WorkChartAxis workChart : listChart) { + if (str.equals(workChart.getYmd())) { data1.add(workChart.getInqty()); data2.add(workChart.getOutqty()); flag = false; break; } } - if(flag) { + if (flag) { data1.add(0); data2.add(0); } @@ -169,7 +178,7 @@ outqty.setData(data2.toArray(array2)); list.add(outqty); } - map.put("rows",list); + map.put("rows", list); return R.ok(map); } @@ -177,12 +186,13 @@ /** * 搴撲綅浣跨敤鎯呭喌缁熻 */ + @RateLimit(2) @GetMapping("/loc/rep") - public R monitorLocRep(){ + public R monitorLocRep() { List<Map<String, Object>> pie = new ArrayList<>(); LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); - if(locUseRate!=null) { + if (locUseRate != null) { Map<String, Object> map = new HashMap<>(); map.put("name", "鍦ㄥ簱"); map.put("value", locUseRate.getFqty()); @@ -214,70 +224,28 @@ 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) + .add("stockCunt", locUseRate.getFqty()) + .add("emptyCount", locUseRate.getOqty()) + .add("noneCount", locUseRate.getXqty()) + .add("total", total) + .add("used", used) + .add("usedPr", usedPr) ); } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - /** * 鑷姩琛ラ浂 */ - private List<Map<String, Object>> fill(List<Map<String, Object>> list, int start, int end){ - for (int i = start ; i <= end; i++){ + 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){ + for (Map seq : list) { + if (Integer.parseInt(String.valueOf(seq.get("node"))) == i) { exist = true; } } - if (!exist){ + if (!exist) { HashMap<String, Object> map = new HashMap<>(); map.put("node", i); map.put("val", 0); @@ -292,12 +260,12 @@ * 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){ + 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){ + switch (statsType) { case MONTH: map.put("node", node + "鍙�"); break; @@ -311,15 +279,16 @@ return list; } - enum StatsType{ + enum StatsType { - YEAR(1,1, 12), - MONTH(2,1, 30), + 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; @@ -328,8 +297,8 @@ static StatsType get(int id) { StatsType[] values = StatsType.values(); - for (StatsType statsType : values){ - if (statsType.id == id){ + for (StatsType statsType : values) { + if (statsType.id == id) { return statsType; } } @@ -337,8 +306,6 @@ } } - - } -- Gitblit v1.9.1