diff --git a/modules/common/src/main/java/encryptor/Encryptor.java b/modules/common/src/main/java/encryptor/Encryptor.java index fcf5aa0..72df6ba 100644 --- a/modules/common/src/main/java/encryptor/Encryptor.java +++ b/modules/common/src/main/java/encryptor/Encryptor.java @@ -1,28 +1,31 @@ package encryptor; import java.lang.reflect.Field; -public class Encryptor { - public native static String encryptStr(String str); - static - { - try{ - String path = System.getProperty("user.dir")+"\\libs\\encrypt"; +import static com.alibaba.druid.filter.config.ConfigTools.encrypt; - System.setProperty("java.library.path", path); - Field fieldSysPath = ClassLoader.class.getDeclaredField("sys_paths"); - fieldSysPath.setAccessible(true); - fieldSysPath.set(null, null); - - System.loadLibrary("Encryptor"); - }catch(Exception e) - { - System.out.println(e); +public class Encryptor { + public static String encryptStr(String str){ + long ulMacTmp = 0; + for (int i = 0; i < str.length(); i++) { + ulMacTmp = ulMacTmp << 4; + char cStr = str.charAt(i); + if (cStr >= '0' && cStr <= '9') { + ulMacTmp += (long)(str.charAt(i) - '0'); + } else if (cStr >= 'a' && cStr <= 'f') { + ulMacTmp += (long)(str.charAt(i) - 'a' + 10); + } else if (cStr >= 'A' && cStr <= 'F') { + ulMacTmp += (long)(str.charAt(i) - 'A' + 10); + } else { + ulMacTmp += 0; + } } + str = String.valueOf(ulMacTmp); + return str; } public static void main(String[] args) { - String noEncrypt = "12345"; + String noEncrypt = "BFEBFBFF000B06710025_38BC_21C3_A29D."; String encrypt = Encryptor.encryptStr(noEncrypt); System.out.println(encrypt); } diff --git a/web/src/main/java/com/leaper/web/config/ConfigProperties.java b/web/src/main/java/com/leaper/web/config/ConfigProperties.java index 6215e43..b081f19 100644 --- a/web/src/main/java/com/leaper/web/config/ConfigProperties.java +++ b/web/src/main/java/com/leaper/web/config/ConfigProperties.java @@ -50,7 +50,9 @@ public class ConfigProperties { private Integer cameraPort; private Long delayCaptureTime; + private String cameraUrl; + private String workUrl; private Long runningDelayCaptureTime; private Long C1DelayCaptureTime; diff --git a/web/src/main/java/com/leaper/web/controller/CameraControlController.java b/web/src/main/java/com/leaper/web/controller/CameraControlController.java index 8c2e5e0..ba5599f 100644 --- a/web/src/main/java/com/leaper/web/controller/CameraControlController.java +++ b/web/src/main/java/com/leaper/web/controller/CameraControlController.java @@ -330,9 +330,10 @@ public class CameraControlController { public Result pic(@PathVariable Integer id) { checkLogin(id); ConfigProperties.SavePath savePath = configProperties.getSavePath(); - String path = "D:\\work\\"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg"; - TaskDelayExecutor.addPicDelayTask(id,path,2000L,savePath); - return Result.success(); + String path = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg"; + String filePath = "D:\\work\\"+path; + TaskDelayExecutor.addPicDelayTask(id,filePath,2000L,savePath); + return Result.success(configProperties.getCameraConfig().getWorkUrl()+path); } @Resource diff --git a/web/src/main/java/com/leaper/web/controller/CameraController.java b/web/src/main/java/com/leaper/web/controller/CameraController.java index 29a3500..5c0450e 100644 --- a/web/src/main/java/com/leaper/web/controller/CameraController.java +++ b/web/src/main/java/com/leaper/web/controller/CameraController.java @@ -61,6 +61,14 @@ public class CameraController { return new Result<>(cameraService.add(camera)); } + @PostMapping("/add") + @ApiOperation(value = "球机新增 ") + @LicenseHandler + public Result addCamera(@RequestBody Camera camera) { + cameraService.add(camera); + return new Result<>(camera.getId()); + } + @PostMapping("/config/import") @ApiOperation(value = "球机IO导入 ") public Result upload(MultipartFile file) throws IOException { diff --git a/web/src/main/java/com/leaper/web/controller/DeviceController.java b/web/src/main/java/com/leaper/web/controller/DeviceController.java index 4e031f9..d96a815 100644 --- a/web/src/main/java/com/leaper/web/controller/DeviceController.java +++ b/web/src/main/java/com/leaper/web/controller/DeviceController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -40,20 +41,26 @@ public class DeviceController { @PostMapping("warn") public Result>> warn(@RequestBody DeviceReq deviceReq) { log.info("{}设备报警", deviceReq.getDeviceCode()); - - plcService.warnStart(deviceReq); - Map> map = - - return Result.success(checkLogService.list()); + // 1:设备报警 + deviceReq.setType("1"); + List list =plcService.warn(deviceReq); + Map> map1 = new HashMap<>(); + map1.put("url",list); + return Result.success(map1); } @ApiOperation("设备报警") - @PostMapping("巡检") + @PostMapping("inspection") public Result>> inspection(@RequestBody DeviceReq deviceReq) { - - return Result.success(checkLogService.list()); + log.info("{}设备巡检", deviceReq.getDeviceCode()); + // 1:设备巡检 + deviceReq.setType("2"); + List list =plcService.warn(deviceReq); + Map> map1 = new HashMap<>(); + map1.put("url",list); + return Result.success(map1); } } diff --git a/web/src/main/java/com/leaper/web/controller/OrderController.java b/web/src/main/java/com/leaper/web/controller/OrderController.java index 24059f5..b06797d 100644 --- a/web/src/main/java/com/leaper/web/controller/OrderController.java +++ b/web/src/main/java/com/leaper/web/controller/OrderController.java @@ -2,6 +2,7 @@ package com.leaper.web.controller; import com.github.pagehelper.PageInfo; import com.leaper.common.util.ValidatorUtil; +import com.leaper.web.service.ksec.KsecInfo; import com.zhehekeji.core.pojo.Result; import com.leaper.web.pojo.OrderSaveReq; import com.leaper.web.pojo.OrderSearch; @@ -62,6 +63,20 @@ public class OrderController { return Result.success(); } + @ApiOperation("工单") + @PostMapping("/orderDecoder") + public Result orderDecoder(@RequestBody KsecInfo ksecInfo){ + + plcService.orderDecoder(ksecInfo); + return Result.success(); + } + + + + + +/* + @ApiOperation("发生告警") @GetMapping("/error") public Result orderError(@ApiParam("plc") @RequestParam String plcId){ @@ -75,6 +90,7 @@ public class OrderController { plcService.warnStop(plcId); return Result.success(); } +*/ @PostMapping("/list") @ApiOperation(value = "查询") diff --git a/web/src/main/java/com/leaper/web/controller/RealTimeController.java b/web/src/main/java/com/leaper/web/controller/RealTimeController.java index 7b40c62..894a5be 100644 --- a/web/src/main/java/com/leaper/web/controller/RealTimeController.java +++ b/web/src/main/java/com/leaper/web/controller/RealTimeController.java @@ -41,6 +41,27 @@ public class RealTimeController { return Result.success(cameraService.allCameras()); } + @GetMapping("/allCameras1") + @ApiOperation(value = "全部球机1") + //@SessionHandler + public Result> allCameras1() { + return Result.success(cameraService.allCameras1()); + } + + @GetMapping("/allCameras2") + @ApiOperation(value = "全部球机2") + //@SessionHandler + public Result> allCameras2() { + return Result.success(cameraService.allCameras2()); + } + + @GetMapping("/allCameras3") + @ApiOperation(value = "全部球机3") + //@SessionHandler + public Result> allCameras3() { + return Result.success(cameraService.allCameras3()); + } + @GetMapping("/allAreas") @ApiOperation(value = "全部库区") //@SessionHandler diff --git a/web/src/main/java/com/leaper/web/entity/DeviceReq.java b/web/src/main/java/com/leaper/web/entity/DeviceReq.java index 03119b3..2822baa 100644 --- a/web/src/main/java/com/leaper/web/entity/DeviceReq.java +++ b/web/src/main/java/com/leaper/web/entity/DeviceReq.java @@ -2,18 +2,44 @@ package com.leaper.web.entity; import lombok.Data; +import java.time.LocalDateTime; import java.util.List; @Data public class DeviceReq { - String deviceCode ; - String warmName ; - List cameraList ; + String deviceCode; + String warmName; + List cameraList; + + private String type; + @Data public static class CameraList { - String cameraCode ; - String cameraName ; - String cameraId ; - String warnCode ; + String cameraCode; + String cameraName; + Long cameraId; + String warnCode; + } + + public Warn getWarn() { + Warn warn = new Warn(); + warn.setDeviceCode(this.deviceCode); + warn.setWarnName(this.warmName); + warn.setType(this.type); + warn.setStartTime(LocalDateTime.now()); + return warn; + } + + public List getWarnUrlList(Warn warn) { + List warnUrlList = new java.util.ArrayList<>(); + for (CameraList cameraList : this.cameraList) { + WarnUrl warnUrl = new WarnUrl(); + warnUrl.setWarnId(warn.getId()); + warnUrl.setType(warn.getType()); + warnUrl.setCameraId(cameraList.getCameraId()); + warnUrl.setCameraCode(cameraList.getCameraCode()); + warnUrl.setType(this.type); + } + return warnUrlList; } } diff --git a/web/src/main/java/com/leaper/web/entity/Warn.java b/web/src/main/java/com/leaper/web/entity/Warn.java index 59edac4..1c8aedc 100644 --- a/web/src/main/java/com/leaper/web/entity/Warn.java +++ b/web/src/main/java/com/leaper/web/entity/Warn.java @@ -17,28 +17,24 @@ public class Warn { @TableId(type = IdType.AUTO) private Long id; - private Integer deviceCode; - private Integer streetId; - + private String deviceCode; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime startTime; @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime endTime; - @ApiModelProperty("视频图片地址") - @TableField("`video_path_1`") - private String videoPath1; - - @ApiModelProperty("视频图片地址") - @TableField("`video_path_2`") - private String videoPath2; - private String location; @TableField("`signal`") private String signal; + @TableField("`warn_name`") + private String warnName; + + @TableField("`type`") + private String type; //发生告警时打断的工单 private Long orderId; + } diff --git a/web/src/main/java/com/leaper/web/entity/WarnUrl.java b/web/src/main/java/com/leaper/web/entity/WarnUrl.java new file mode 100644 index 0000000..aa0c810 --- /dev/null +++ b/web/src/main/java/com/leaper/web/entity/WarnUrl.java @@ -0,0 +1,17 @@ +package com.leaper.web.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +@Data +public class WarnUrl { + @TableId(type = IdType.AUTO) + private Long id; + private Long warnId; + private Long cameraId; + private String cameraCode; + private String url; + private String type; + +} diff --git a/web/src/main/java/com/leaper/web/mapper/WarnUrlMapper.java b/web/src/main/java/com/leaper/web/mapper/WarnUrlMapper.java new file mode 100644 index 0000000..02983fb --- /dev/null +++ b/web/src/main/java/com/leaper/web/mapper/WarnUrlMapper.java @@ -0,0 +1,7 @@ +package com.leaper.web.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.leaper.web.entity.WarnUrl; + +public interface WarnUrlMapper extends BaseMapper { +} diff --git a/web/src/main/java/com/leaper/web/service/CameraService.java b/web/src/main/java/com/leaper/web/service/CameraService.java index 09cc979..c376db0 100644 --- a/web/src/main/java/com/leaper/web/service/CameraService.java +++ b/web/src/main/java/com/leaper/web/service/CameraService.java @@ -36,6 +36,7 @@ import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.concurrent.CountDownLatch; +import java.util.stream.Collectors; @Service @Slf4j @@ -161,6 +162,40 @@ public class CameraService { return cameraMapper.selectByMap(new HashMap<>()); } + /** + * HD01 - HD05 + * @return + */ + public List allCameras1(){ + + List cameras = cameraMapper.selectByMap(new HashMap<>()); + return cameras.stream().filter(camera -> { + int index = Integer.valueOf(camera.getName().substring(2, 4)); + boolean b = index >= 1 && index <= 5; + return b; + }).collect(Collectors.toList()); + } + + public List allCameras2(){ + + List cameras = cameraMapper.selectByMap(new HashMap<>()); + return cameras.stream().filter(camera -> { + int index = Integer.valueOf(camera.getName().substring(2, 4)); + boolean b = index >= 6 && index <= 10; + return b; + }).collect(Collectors.toList()); + } + + public List allCameras3(){ + + List cameras = cameraMapper.selectByMap(new HashMap<>()); + return cameras.stream().filter(camera -> { + int index = Integer.valueOf(camera.getName().substring(2, 4)); + boolean b = index >= 11 && index <= 15; + return b; + }).collect(Collectors.toList()); + } + public List getCamerasByRtcServer(String rtcServer){ if(StringUtils.isEmpty(rtcServer)){ rtcServer = "127.0.0.1"; diff --git a/web/src/main/java/com/leaper/web/service/CommandRunnable.java b/web/src/main/java/com/leaper/web/service/CommandRunnable.java index 8fcceda..fc77e1c 100644 --- a/web/src/main/java/com/leaper/web/service/CommandRunnable.java +++ b/web/src/main/java/com/leaper/web/service/CommandRunnable.java @@ -168,10 +168,10 @@ public class CommandRunnable implements Runnable{ String warnCode0 = Cmd.D1.name()+"-"+warnCode.split(",")[0]; plcService.warnAction(plcCmdInfo,warnCode0); } - plcService.warnStart(plcCmdInfo.getPlcId(),dataInfo.getWarnCode()); + //plcService.warnStart(plcCmdInfo.getPlcId(),dataInfo.getWarnCode()); }else if(code.equals(Cmd.D2.name())){ log.info("plcId:{},warn stop",plcCmdInfo.getPlcId()); - plcService.warnStop(plcCmdInfo.getPlcId()); + //plcService.warnStop(plcCmdInfo.getPlcId()); }else { log.info("other D code :{}",code); } diff --git a/web/src/main/java/com/leaper/web/service/PlcService.java b/web/src/main/java/com/leaper/web/service/PlcService.java index f5a65a8..46dc15d 100644 --- a/web/src/main/java/com/leaper/web/service/PlcService.java +++ b/web/src/main/java/com/leaper/web/service/PlcService.java @@ -7,6 +7,7 @@ import com.leaper.web.lib.OrderInfo; import com.leaper.web.lib.OrderRealtime; import com.leaper.web.lib.TaskDelayExecutor; import com.leaper.web.mapper.*; +import com.leaper.web.pojo.Cmd; import com.leaper.web.service.RFID.RFIDSocket; import com.leaper.common.util.PathUtil; import com.leaper.web.config.ConfigProperties; @@ -16,6 +17,8 @@ import com.leaper.web.mapper.*; import com.leaper.web.pojo.OrderVO; import com.leaper.web.service.RFID.RFIDMap; import com.leaper.web.service.hikLightSource.HikControlSocket; +import com.leaper.web.service.ksec.KsecDataInfo; +import com.leaper.web.service.ksec.KsecInfo; import lombok.extern.slf4j.Slf4j; import org.aspectj.weaver.ast.Or; import org.springframework.beans.BeanUtils; @@ -25,10 +28,7 @@ import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.time.Duration; import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -80,6 +80,9 @@ public class PlcService { @Resource private CheckLogMapper checkLogMapper; + @Resource + WarnUrlMapper warnUrlMapper; + private static ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(1,8,200,TimeUnit.MINUTES,new ArrayBlockingQueue<>(100000)); public void setCameraControlModule(CameraControlModule cameraControlModule){ @@ -468,15 +471,18 @@ public class PlcService { log.error("ptz not found ,code:{},cameraId:{}", code, cameraId); } } +/* +旧报警,华为不使用 - - /** + */ +/** * 收到告警异常信号 * 1.判断是否有正在进行订单,有的话,不做处理 * 2.没有订单,新增告警记录 * * @param plcId - */ + *//* + public void warnStart(String plcId, String signal) { Street street = streetService.getStreetByPlcId(plcId); if (street == null) { @@ -516,6 +522,7 @@ public class PlcService { } } +*/ /** * 收到告警异常信号 @@ -524,52 +531,33 @@ public class PlcService { * * @param deviceReq */ - public void warn(DeviceReq deviceReq) { - Warn warn = new Warn(); - warn.setStartTime(LocalDateTime.now()); - warn.setStreetId(street.getId()); - String orderNum = OrderRealtime.getOrderByStreetId(street.getId()); - if (StringUtils.isEmpty(orderNum)) { - log.debug("{}:warn start...., but no order running", plcId); - } else { - //不为空的话,填写工单的位置 - Order order = orderMapper.getOneByOrderNum(orderNum); - if (order != null) { - //stop the order - log.debug("plcId:{},warn start and stop the order",plcId); - orderStopByWarn(orderNum); - OrderVO orderVO = new OrderVO(); - BeanUtils.copyProperties(order, orderVO); - String location = orderService.location(orderVO, street); - warn.setLocation(location); - warn.setOrderId(order.getId()); - } - } - //没有正在执行的工单 不需要填写location - warn.setSignal(signal); - warnMapper.insert(warn); - OrderRealtime.startWarn(street.getId(), warn.getId()); - Street street = streetService.getStreetByPlcId(plcId); - if (street == null) { - return; + public List warn(DeviceReq deviceReq) { + Warn warn = deviceReq.getWarn(); + if (warn!= null) { + warnMapper.insert(warn); } - synchronized (plcId.intern()) { - //新增 告警 - if (OrderRealtime.getWarnId(street.getId()) != null) { - log.debug("{}:exist warn", plcId); - return; - } - //不存在正在执行的告警记录,就新增 + List result = new ArrayList<>(); + for (WarnUrl warnUrl : deviceReq.getWarnUrlList(warn)) { + gyrateCameraByCode(Math.toIntExact(warnUrl.getCameraId()),warnUrl.getCameraCode()); + String path = PathUtil.createFileNameByRowColumn("jpg",Math.toIntExact(warnUrl.getCameraId()),0,0); + cameraCapture(Math.toIntExact(warnUrl.getCameraId()),false,null,path); + log.info("warn拍照 cameraId:{},path:{}",warnUrl.getUrl(),path); + warnUrl.setUrl(path); + warnUrlMapper.insert(warnUrl); + //获取告警视频地址 + result.add(configProperties.getCameraConfig().getCameraUrl()+"/#/camera"+warnUrl.getCameraId()); } + return result; } - /** + /*旧报警,华为不使用 + *//** * 告警结束信号 * 是否存在订单,存在-》保存该订单的视频 * 如果没有订单-》是否存在告警记录-》有告警记录的话,保存视频 * * @param plcId - */ + *//* public void warnStop(String plcId) { Street street = streetMapper.getStreetByPlcId(plcId); if (street == null) { @@ -598,7 +586,7 @@ public class PlcService { } } } - +*/ /** * capture ,and update the picture path in order and stock * @@ -819,4 +807,102 @@ public class PlcService { return configProperties; } + public void orderDecoder(KsecInfo ksecInfo) { + if (Cmd.A.name().equals(ksecInfo.getType())) { + return ; + } + KsecDataInfo dataInfo = ksecInfo.getData(); + String lotnum = dataInfo.getLotnum(); + PlcCmdInfo plcCmdInfo = null; + String srmNumber = null; + String cmdName = null; + if(dataInfo != null){ + //左右换过来 + if(dataInfo.getFromDirection() == 1){ + dataInfo.setFromDirection(2); + }else { + dataInfo.setFromDirection(1); + } + if(dataInfo.getToDirection() != null && dataInfo.getToDirection() == 1){ + dataInfo.setToDirection(2); + }else { + dataInfo.setToDirection(1); + } + plcCmdInfo = new PlcCmdInfo(dataInfo.getSRMNumber(), dataInfo.getTaskId(), dataInfo.getFromSide(), dataInfo.getFromDirection(), dataInfo.getFromColumn(), dataInfo.getFromRow(), dataInfo.getFromSeparation(),dataInfo.getToSide(), dataInfo.getToDirection(), dataInfo.getToColumn(), dataInfo.getToRow(),dataInfo.getToSeparation(),lotnum); + + srmNumber = dataInfo.getSRMNumber(); + cmdName = dataInfo.getCmdName(); + } + if (Cmd.A.name().equals(ksecInfo.getType())) { + //心跳 + log.debug("receieve heart "); + } else if (Cmd.B.name().equals(ksecInfo.getType())) { + + //任务 + if (Cmd.B1.name().equals(cmdName)) { + //昆船盘点模式下也会发B1 ,但是不会发送B2 + //这里判断下,是否存在盘点批次号 若存在,既是盘点的B1,无需处理;若不存在lotnum,则是随行的B1 + if(StringUtils.isEmpty(dataInfo.getLotnum())){ + //任务开始 旋转到原点位 + gyrateCamera(plcCmdInfo,Cmd.C5.name()); + orderStart(plcCmdInfo); + }else { + log.info("check move"); + } + + } else if (Cmd.B2.name().equals(cmdName)) { + //B2 C4 一起发的,需要停止等B2 + + //这里判断是不是双伸 + if(plcCmdInfo.getSeparation2() == 2){ + //深测货架延迟 + try { + Thread.sleep(getConfigProperties().getCameraConfig().getB2OutDelayTime()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else { + //浅侧延迟 + try { + Thread.sleep(getConfigProperties().getCameraConfig().getB2DelayTime()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + gyrateCamera(plcCmdInfo,Cmd.C5.name()); + orderStop(plcCmdInfo); + } + } else if (Cmd.C.name().equals(ksecInfo.getType())) { + + //动作 + String code = dataInfo.getCmdName(); + log.info("action code,{},orderInfo:{}", code, plcCmdInfo.toString()); + if (Cmd.isBaseAction(code)) { + //执行动作,需要保存执行到第几步了 + Integer times = GoodsActionTimes.put(plcCmdInfo.getOrderNum()); + plcCmdInfo.setTimes(times); + code = code + "-" + plcCmdInfo.getLeftRightStr(times) + plcCmdInfo.getInOutStr(times); + //执行动作 + try { + action(plcCmdInfo, times, code); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else { + log.info("other C code :{}",code); + } + } else if (Cmd.D.name().equals(ksecInfo.getType())) { + + } else if (Cmd.E.name().equals(ksecInfo.getType())) { + + //rfid的逻辑 + String code = dataInfo.getCmdName(); + if("E1".equals(code)){ + RFIDCheck(plcCmdInfo); + }else { + RFIDStop(plcCmdInfo); + } + + } + } } diff --git a/web/src/main/java/com/leaper/web/service/robotic/ProtocolDecoder.java b/web/src/main/java/com/leaper/web/service/robotic/ProtocolDecoder.java index 115e26d..9e54c4b 100644 --- a/web/src/main/java/com/leaper/web/service/robotic/ProtocolDecoder.java +++ b/web/src/main/java/com/leaper/web/service/robotic/ProtocolDecoder.java @@ -132,30 +132,30 @@ public class ProtocolDecoder extends FixedLengthFrameDecoder { plcService.action(plcCmdInfo, times, code); } } else if (type.equals(WARN)) { - log.info(" warn code:{}", code); - if ("D0".equals(code)) { - log.info("warn start ,plcId:{},warnInfo:b1:{},b2:{},b3:{},b4:{},b5:{},b6:{},b7:{},b8:{}", plcId, b1, b2, b3, b4, b5, b6, b7, b8); - //解析具体的告警 具体规则见文档 - int n = 1; - int warn = 0; - for (byte b : bytes) { - warn = warn(b, 8 * n); - if (warn > 0) { - break; - } - n++; - } - plcService.warnStart(plcId,"D" + warn); - if (warn > 0) { - //执行动作 - //times = 1 只执行动作 - //code 写作"D{warn}" - plcService.action(plcCmdInfo, 1, "D" + warn); - } - } else if ("D100".equals(code)) { - log.info("warn end ,plcId:{}", plcId); - plcService.warnStop(plcId); - } +// log.info(" warn code:{}", code); +// if ("D0".equals(code)) { +// log.info("warn start ,plcId:{},warnInfo:b1:{},b2:{},b3:{},b4:{},b5:{},b6:{},b7:{},b8:{}", plcId, b1, b2, b3, b4, b5, b6, b7, b8); +// //解析具体的告警 具体规则见文档 +// int n = 1; +// int warn = 0; +// for (byte b : bytes) { +// warn = warn(b, 8 * n); +// if (warn > 0) { +// break; +// } +// n++; +// } +// plcService.warnStart(plcId,"D" + warn); +// if (warn > 0) { +// //执行动作 +// //times = 1 只执行动作 +// //code 写作"D{warn}" +// plcService.action(plcCmdInfo, 1, "D" + warn); +// } +// } else if ("D100".equals(code)) { +// log.info("warn end ,plcId:{}", plcId); +// plcService.warnStop(plcId); +// } } in.release(); return null; diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index e6993ee..4760607 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -48,6 +48,8 @@ cameraConfig: # 利珀延迟10s就可 # 单位毫秒 delayDownloadMp4: 10000 + cameraUrl: http://127.0.0.1:9007/#/camera/ + workUrl: 127.0.0.1:8083/work/ # ------------ # -----图片 mp4下载地址 savePath: diff --git a/web/src/main/resources/libs/RXTXcomm.jar b/web/src/main/resources/libs/RXTXcomm.jar index 84e5f01..e1e7503 100644 Binary files a/web/src/main/resources/libs/RXTXcomm.jar and b/web/src/main/resources/libs/RXTXcomm.jar differ diff --git a/web/src/main/resources/libs/connect-lib.jar b/web/src/main/resources/libs/connect-lib.jar new file mode 100644 index 0000000..19180d6 Binary files /dev/null and b/web/src/main/resources/libs/connect-lib.jar differ diff --git a/web/src/main/resources/libs/javaRFID-helloworld.jar b/web/src/main/resources/libs/javaRFID-helloworld.jar new file mode 100644 index 0000000..0e90d9f Binary files /dev/null and b/web/src/main/resources/libs/javaRFID-helloworld.jar differ diff --git a/web/src/main/resources/libs/lib_reader.jar b/web/src/main/resources/libs/lib_reader.jar new file mode 100644 index 0000000..cb23ff1 Binary files /dev/null and b/web/src/main/resources/libs/lib_reader.jar differ