From 66942458f7753fe4ddee7c5ed3386d61cff28b24 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期二, 01 四月 2025 13:55:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jxjdzwcs' into jxjdzwcs --- src/main/java/com/zy/asrs/controller/ConsoleController.java | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 157 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java index 2fc0b04..d56f44d 100644 --- a/src/main/java/com/zy/asrs/controller/ConsoleController.java +++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java @@ -7,16 +7,19 @@ import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; +import com.zy.asrs.domain.dto.AxisBean; +import com.zy.asrs.domain.dto.WorkChartAxis; import com.zy.asrs.domain.enums.CrnStatusType; 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.BasCrnError; -import com.zy.asrs.entity.BasDevp; -import com.zy.asrs.entity.WrkMast; +import com.zy.asrs.entity.*; import com.zy.asrs.mapper.BasCrnErrorMapper; import com.zy.asrs.mapper.LocMastMapper; +import com.zy.asrs.mapper.ReportQueryMapper; +import com.zy.asrs.service.BasCrnpService; import com.zy.asrs.service.BasDevpService; +import com.zy.asrs.service.DeviceErrorService; import com.zy.asrs.service.WrkMastService; import com.zy.common.CodeRes; import com.zy.core.CrnThread; @@ -33,12 +36,13 @@ import com.zy.core.properties.SlaveProperties; import com.zy.core.properties.SystemProperties; import com.zy.core.thread.BarcodeThread; -import com.zy.core.thread.MelsecCrnThread; import com.zy.core.thread.ScaleThread; +import com.zy.core.thread.SiemensCrnThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -60,6 +64,12 @@ private LocMastMapper locMastMapper; @Autowired private BasCrnErrorMapper basCrnErrorMapper; + @Autowired + private ReportQueryMapper reportQueryMapper; + @Autowired + private DeviceErrorService deviceErrorService; + @Autowired + private BasCrnpService basCrnpService; @PostMapping("/system/running/status") @ManagerAuth(memo = "绯荤粺杩愯鐘舵��") @@ -137,7 +147,7 @@ /** * 鍫嗗灈鏈虹姸鎬佸垽鏂� */ - if (crnProtocol.getAlarm() > 0) { + if (crnProtocol.getAlarm1() > 0) { vo.setCrnStatus(CrnStatusType.MACHINE_ERROR); } else { if (crnProtocol.getTaskNo()>0) { @@ -189,6 +199,60 @@ list.add(vo); } return R.ok().add(list); + } + + /** + * 鑾峰彇璁惧璇︽儏 + */ + @GetMapping("/deviceInfo") + @ManagerAuth + public R getDeviceInfo() { + ArrayList<HashMap<String, Object>> list = new ArrayList<>(); + for (CrnSlave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + if (crnThread == null) { + continue; + } + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + continue; + } + + HashMap<String, Object> map = new HashMap<>(); + map.put("device", "鍫嗗灈鏈�"); + map.put("deviceId", crn.getId()); + map.put("battery", ""); + map.put("error", crnProtocol.getFault()); + map.put("status", crnProtocol.getStatusType().desc); + list.add(map); + } + + for (DevpSlave devp : slaveProperties.getDevp()) { + DeviceError deviceError = deviceErrorService.selectByDeviceAndDeviceId("devp", devp.getId()); + HashMap<String, Object> map = new HashMap<>(); + map.put("device", "杈撻�佺嚎"); + map.put("deviceId", devp.getId()); + map.put("battery", ""); + map.put("error", deviceError != null); + map.put("status", deviceError == null ? "" : deviceError.getMsg()); + list.add(map); + } + + for (Slave scale : slaveProperties.getScale()) { + DeviceError deviceError = deviceErrorService.selectByDeviceAndDeviceId("scale", scale.getId()); + HashMap<String, Object> map = new HashMap<>(); + map.put("device", "纾呯Г"); + map.put("deviceId", scale.getId()); + map.put("battery", ""); + map.put("error", deviceError != null); + map.put("status", deviceError == null ? "" : deviceError.getMsg()); + list.add(map); + } + + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("records", list); + return R.ok().add(hashMap); } /****************************************************************/ @@ -249,14 +313,19 @@ CrnDetailVo vo = new CrnDetailVo(); for (CrnSlave crnSlave : slaveProperties.getCrn()) { if (crnSlave.getId().equals(crnNo)) { - MelsecCrnThread crnThread = (MelsecCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId()); + BasCrnp basCrnp = basCrnpService.selectById(crnNo); + if (basCrnp == null) { + return R.error("鏁版嵁搴撶淮鎶ゅ紓甯�"); + } + + SiemensCrnThread crnThread = (SiemensCrnThread) SlaveConnection.get(SlaveType.Crn, crnSlave.getId()); CrnProtocol crnProtocol = crnThread.getCrnProtocol(); vo.setCrnNo(crnNo); vo.setWorkNo(crnProtocol.getTaskNo()); vo.setCrnStatus(crnProtocol.getStatusType().desc); - if (crnProtocol.getAlarm() > 0) { - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); + if (crnProtocol.getAlarm1() > 0) { + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); vo.setError(crnError == null ? "鏈煡寮傚父" : crnError.getErrName()); } @@ -273,6 +342,8 @@ vo.setError(""); // todo } } + vo.setInEnable(basCrnp.getInEnable());//鍙叆 + vo.setOutEnable(basCrnp.getOutEnable());//鍙嚭 return R.ok().add(vo); } } @@ -295,7 +366,7 @@ @GetMapping("/barcode/output/site") public R crnOutput(){ - ArrayList<JSONObject> jsonObjects = new ArrayList<>(OutputQueue.BARCODE); + ArrayList<JSONObject> jsonObjects = new ArrayList<>(OutputQueue.SCALE); jsonObjects.sort(new Comparator<JSONObject>() { @Override public int compare(JSONObject o1, JSONObject o2) { @@ -307,4 +378,81 @@ return R.ok().add(JSON.toJSONString(jsonObjects)); } + @PostMapping("loc/pie/charts") + public R dsa(){ + Map<String,Object> map=new HashMap<String, Object>(); + List<ChartBean> list = new ArrayList<ChartBean>(); + + LocChartPie locUseRate = reportQueryMapper.getLocUseRate(); + if(locUseRate!=null) { + ChartBean fqty = new ChartBean(); + fqty.setName("鍦ㄥ簱搴撲綅"); + fqty.setY(locUseRate.getFqty()); + list.add(fqty); + + ChartBean oqty = new ChartBean(); + oqty.setName("绌哄簱浣�"); + oqty.setY(locUseRate.getOqty()); + list.add(oqty); + + ChartBean uqty = new ChartBean(); + uqty.setName("浣跨敤搴撲綅"); + uqty.setY(locUseRate.getUqty()); + list.add(uqty); + + ChartBean xqty = new ChartBean(); + xqty.setName("绂佺敤搴撲綅"); + xqty.setY(locUseRate.getXqty()); + list.add(xqty); + } + map.put("rows",list); + return R.ok(map); + } + + @PostMapping("locIo/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); + } + } -- Gitblit v1.9.1