From e377f0ffba61c38f4f171d99e9ab6c3591f1d1b7 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期日, 27 四月 2025 13:50:50 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/ConsoleController.java | 210 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 179 insertions(+), 31 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..978993e 100644 --- a/src/main/java/com/zy/asrs/controller/ConsoleController.java +++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java @@ -7,17 +7,20 @@ 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.WrkMastService; +import com.zy.asrs.service.DeviceErrorService; +import com.zy.asrs.service.TaskWrkService; import com.zy.common.CodeRes; import com.zy.core.CrnThread; import com.zy.core.DevpThread; @@ -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.*; /** @@ -53,13 +57,19 @@ @Autowired private SlaveProperties slaveProperties; @Autowired - private WrkMastService wrkMastService; - @Autowired private BasDevpService basDevpService; @Autowired private LocMastMapper locMastMapper; @Autowired private BasCrnErrorMapper basCrnErrorMapper; + @Autowired + private ReportQueryMapper reportQueryMapper; + @Autowired + private DeviceErrorService deviceErrorService; + @Autowired + private BasCrnpService basCrnpService; + @Autowired + private TaskWrkService taskWrkService; @PostMapping("/system/running/status") @ManagerAuth(memo = "绯荤粺杩愯鐘舵��") @@ -137,13 +147,13 @@ /** * 鍫嗗灈鏈虹姸鎬佸垽鏂� */ - if (crnProtocol.getAlarm() > 0) { + if (crnProtocol.getAlarm1() > 0) { vo.setCrnStatus(CrnStatusType.MACHINE_ERROR); } else { if (crnProtocol.getTaskNo()>0) { - WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); - if (wrkMast != null) { - vo.setCrnStatus(CrnStatusType.process(wrkMast.getIoType())); + TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); + if (taskWrk != null) { + vo.setCrnStatus(CrnStatusType.process(taskWrk.getIoType())); } else { vo.setCrnStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO: CrnStatusType.MACHINE_UN_AUTO); } @@ -191,6 +201,60 @@ 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); + } + /****************************************************************/ /************************** 璇︽儏鎿嶄綔 ******************************/ /****************************************************************/ @@ -215,14 +279,14 @@ 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$()); + TaskWrk taskWrk = taskWrkService.selectByWrkNo(staProtocol.getWorkNo().intValue()); + if (taskWrk != null) { + vo.setWrkSts(taskWrk.getWrkSts$()); // 宸ヤ綔鐘舵�� + vo.setIoType(taskWrk.getIoType$()); // 鍏ュ嚭搴撶被鍨� + vo.setSourceStaNo(null); + vo.setStaNo(null); + vo.setSourceLocNo(taskWrk.getStartPoint()); + vo.setLocNo(taskWrk.getTargetPoint()); } } @@ -249,30 +313,37 @@ 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()); } if (crnProtocol.getTaskNo() > 0) { - WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); - if (wrkMast != null) { - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); - vo.setStaNo(wrkMast.getStaNo$()); - vo.setWrkSts(wrkMast.getWrkSts$()); // 宸ヤ綔鐘舵�� - vo.setIoType(wrkMast.getIoType$()); // 鍏ュ嚭搴撶被鍨� - vo.setSourceLocNo(wrkMast.getSourceLocNo$()); - vo.setLocNo(wrkMast.getLocNo$()); + TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); + if (taskWrk != null) { + vo.setSourceStaNo(null); + vo.setStaNo(null); + vo.setWrkSts(taskWrk.getWrkSts$()); // 宸ヤ綔鐘舵�� + vo.setIoType(taskWrk.getIoType$()); // 鍏ュ嚭搴撶被鍨� + vo.setSourceLocNo(taskWrk.getStartPoint()); + vo.setLocNo(taskWrk.getTargetPoint()); vo.setCrnStatus(crnProtocol.getStatusType().desc); 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