diff --git a/web/pom.xml b/web/pom.xml index a3533ec..a99f70c 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -18,6 +18,11 @@ + + com.google.code.gson + gson + 2.10.1 + org.springframework.boot diff --git a/web/src/main/java/com/zhehekeji/web/controller/BQClientController.java b/web/src/main/java/com/zhehekeji/web/controller/BQClientController.java new file mode 100644 index 0000000..b315788 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/controller/BQClientController.java @@ -0,0 +1,143 @@ +package com.zhehekeji.web.controller; + +import com.alibaba.fastjson.JSONObject; +import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.web.pojo.Cmd; +import com.zhehekeji.web.service.GoodsActionTimes; +import com.zhehekeji.web.service.PlcCmdInfo; +import com.zhehekeji.web.service.PlcService; +import com.zhehekeji.web.service.ksec.KsecDataInfo; +import com.zhehekeji.web.service.ksec.KsecInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.io.IOException; + +@Api(value = "client",tags = "球机管理") +@RestController +@RequestMapping("/北起服务管理") +@Slf4j +public class BQClientController { + @Resource + PlcService plcService; + + @PostMapping("/message") + @ApiOperation(value = "分类导入") + public Result distribute(KsecInfo ksecInfo) throws IOException { + + 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())){ + //任务开始 旋转到原点位 + plcService.gyrateCamera(plcCmdInfo,Cmd.C5.name()); + plcService.orderStart(plcCmdInfo); + }else { + log.info("check move"); + } + + } else if (Cmd.B2.name().equals(cmdName)) { + //B2 C4 一起发的,需要停止等B2 + + //这里判断是不是双伸 + if(plcCmdInfo.getSeparation2() == 2){ + //深测货架延迟 + try { + Thread.sleep(plcService.getConfigProperties().getCameraConfig().getB2OutDelayTime()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else { + //浅侧延迟 + try { + Thread.sleep(plcService.getConfigProperties().getCameraConfig().getB2DelayTime()); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + plcService.gyrateCamera(plcCmdInfo,Cmd.C5.name()); + plcService.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.get(dataInfo.getCmdName()); + plcCmdInfo.setTimes(times); + code = code + "-" + plcCmdInfo.getLeftRightStr(times) + plcCmdInfo.getInOutStr(times); + //执行动作 + try { + plcService.action(plcCmdInfo, times, code); + } catch (InterruptedException e) { + e.printStackTrace(); + } + }else { + log.info("other C code :{}",code); + } + } else if (Cmd.D.name().equals(ksecInfo.getType())) { + + //柳州去掉告警 +// String code = dataInfo.getCmdName(); +// if(code.equals(Cmd.D1.name())){ +// log.info("plcId:{},warn start",plcCmdInfo.getPlcId()); +// //根据告警code转动camera +// String warnCode = dataInfo.getWarnCode(); +// if(!StringUtils.isEmpty(warnCode)){ +// String warnCode0 = Cmd.D1.name()+"-"+warnCode.split(",")[0]; +// plcService.warnAction(plcCmdInfo,warnCode0); +// } +// plcService.warnStart(plcCmdInfo.getPlcId(),dataInfo.getWarnCode()); +// }else if(code.equals(Cmd.D2.name())){ +// log.info("plcId:{},warn stop",plcCmdInfo.getPlcId()); +// plcService.warnStop(plcCmdInfo.getPlcId()); +// }else { +// log.info("other D code :{}",code); +// } + } else if (Cmd.E.name().equals(ksecInfo.getType())) { + // plcService.check() + + } + //找到该货位的最后一张照片与现在的照片比照 + //plcService.recordStock(plcCmdInfo, dataInfo.getCode(), 0, 0); + return null; + } +} diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java index 766b3f2..546ad2b 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraControlController.java @@ -297,8 +297,8 @@ public class CameraControlController { public Result pic(@PathVariable Integer id) { checkLogin(id); String path = "D:\\work\\"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"))+".jpeg"; - TaskDelayExecutor.addPicDelayTask(id,path,2000L); - return Result.success(); + TaskDelayExecutor.addPicDelayTask(id,path,0L); + return Result.success(path); } @Resource @@ -319,6 +319,7 @@ public class CameraControlController { return Result.success(); } + @PostMapping("/mp4/{id}") @ApiOperation(value = "录像") public Result MP4(@PathVariable Integer id) { diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraController.java index e9dc9f9..a87f711 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraController.java @@ -132,7 +132,7 @@ public class CameraController { @PostMapping("/io/toPtz") @ApiOperation(value = "转至球机IO配置点") public Result toPtz(@RequestBody CameraIOPtz req) { - Integer ptzId = cameraService.getPtzId(req.getCameraIOId()); + Integer ptzId = cameraService.getPtzId(req.getCameraIOId(),req.getCode(),req.getCameraId()); cameraControlModule.toPtz(ptzId,req.getCameraId()); return Result.success(); } diff --git a/web/src/main/java/com/zhehekeji/web/controller/PLCController.java b/web/src/main/java/com/zhehekeji/web/controller/PLCController.java index ac53d0a..e542a6f 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/PLCController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/PLCController.java @@ -75,8 +75,8 @@ public class PLCController { @GetMapping("/orderAction") @ApiOperation(value = "执行的工单情况") - public Result orderAction(){ - return Result.success(GoodsActionTimes.get()); + public Result orderAction(){ + return Result.success(GoodsActionTimes.get("")); } } diff --git a/web/src/main/java/com/zhehekeji/web/controller/TestController.java b/web/src/main/java/com/zhehekeji/web/controller/TestController.java index 458960d..4afff72 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/TestController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/TestController.java @@ -32,18 +32,11 @@ public class TestController { } @ApiOperation("自动盘点") - @GetMapping("/1") - public Result test(){ - - RFIDSocket rfidSocket = new RFIDSocket("127.0.0.1", 4001); - rfidSocket.startCheck(1,true); - try { - Thread.sleep(1000*15); - } catch (InterruptedException e) { - throw new RuntimeException(e); - } - rfidSocket.stopCheck(); - System.out.println(rfidSocket.getTags()); + @PostMapping("/1") + public Result test(@RequestBody String id){ + System.out.println("656+565+29+5" + + "62+95+65"); + return Result.success(); } diff --git a/web/src/main/java/com/zhehekeji/web/entity/Stock.java b/web/src/main/java/com/zhehekeji/web/entity/Stock.java index 7a080f7..5706685 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/Stock.java +++ b/web/src/main/java/com/zhehekeji/web/entity/Stock.java @@ -87,5 +87,22 @@ public class Stock { @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime exportTime; + @TableField(exist=false) + private String topPic1; + + @TableField(exist=false) + private String topPic2; + + @TableField(exist=false) + private String sidePic1; + + @TableField(exist=false) + private String sidePic2; + + @TableField(exist=false) + private String sidePic3; + + @TableField(exist=false) + private String sidePic4; } diff --git a/web/src/main/java/com/zhehekeji/web/lib/OrderRealtime.java b/web/src/main/java/com/zhehekeji/web/lib/OrderRealtime.java index 16ecf87..41b1e6d 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/OrderRealtime.java +++ b/web/src/main/java/com/zhehekeji/web/lib/OrderRealtime.java @@ -9,56 +9,5 @@ import java.util.concurrent.ConcurrentHashMap; */ public class OrderRealtime { - /** - * key :streetId - * value: 订单号 - */ - private static Map orderMap = new ConcurrentHashMap<>(); - /** - * key: streetId - * value:告警id warn表 - */ - private static Map warnIdMap = new ConcurrentHashMap<>(); - - public static void startOrder(Integer streetId, String orderNum) { - orderMap.put(streetId, orderNum); - } - - /** - * 获取当前巷道 正在执行的订单 - * - * @param streetId - * @return - */ - public static String getOrderByStreetId(Integer streetId) { - return orderMap.get(streetId); - } - - public static void startWarn(Integer streetId, Long warnId) { - if (warnId != null) { - warnIdMap.put(streetId, warnId); - } - } - - - public static Long getWarnId(Integer streetId) { - return warnIdMap.get(streetId); - } - - public static void cleanWarn(Integer streetId) { - warnIdMap.remove(streetId); - } - - /** - * 结束订单,返回订单号 - * - * @param streetId - * @return - */ - public static String stopOrder(Integer streetId) { - String orderNum = orderMap.get(streetId); - orderMap.remove(streetId); - return orderNum; - } } diff --git a/web/src/main/java/com/zhehekeji/web/service/CameraService.java b/web/src/main/java/com/zhehekeji/web/service/CameraService.java index 1b9b78d..3b89b15 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CameraService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -245,7 +245,7 @@ public class CameraService { * @param IOId 存在修改,不存在 新增 * @param cameraId */ - @CacheEvict(value = "ptz",key = "#cameraId+'-'+#code") + public synchronized Integer ptz(Integer IOId, Integer cameraId, String name,Integer type,String code) { Camera camera = cameraMapper.selectById(cameraId); Assert.notNull(camera, "球机不存在"); @@ -295,7 +295,6 @@ public class CameraService { * @param cameraId * @return */ - @Cacheable(value = "ptz",key = "#cameraId+'-'+#code") public Integer getPtzIdByCodeAndCameraId(String code,Integer cameraId){ CameraIO cameraIO = ioMapper.getByCodeAndCameraId(code,cameraId); if(cameraIO != null){ @@ -304,10 +303,28 @@ public class CameraService { return null; } - public Integer getPtzId(Integer ioId){ - CameraIO cameraIO = ioMapper.selectById(ioId); - Assert.notNull(cameraIO,"IO配置不存在"); - return cameraIO.getPtzId(); + public Integer getPtzId(Integer ioId,String code,Integer cameraId){ + if (ioId != null && ioId!= 0){ + + CameraIO cameraIO = ioMapper.selectById(ioId); + Assert.notNull(cameraIO,"IO配置不存在"); + return cameraIO.getPtzId(); + }else { + if (code != null && !"".equals(code)) { + + Assert.notNull(null,"IO配置不存在"); + return null; + + } else { + CameraIO cameraIO = ioMapper.selectOne(new QueryWrapper() + .eq("code", code) + .eq("camera_id", cameraId) + .last("limit 1")); + + Assert.notNull(cameraIO,"IO配置不存在"); + return cameraIO.getPtzId(); + } + } } private void conver(CameraIO cameraIO,Integer type){ diff --git a/web/src/main/java/com/zhehekeji/web/service/GoodsActionTimes.java b/web/src/main/java/com/zhehekeji/web/service/GoodsActionTimes.java index bb61dbb..2fff9f0 100644 --- a/web/src/main/java/com/zhehekeji/web/service/GoodsActionTimes.java +++ b/web/src/main/java/com/zhehekeji/web/service/GoodsActionTimes.java @@ -15,38 +15,8 @@ import java.util.Map; @Slf4j public class GoodsActionTimes { - private static Map orderActions = new HashMap<>(); - /** - * 订单任务,返回该订单已发送的任务数 - * 一个订单由4个任务完成 - * - * @param orderNum - * @return - */ - public static Integer put(String orderNum) { - //对订单号加锁 统计数量 - synchronized (orderNum.intern()) { - if (orderActions.get(orderNum) == null) { - orderActions.put(orderNum, 1); - return 1; - } - int times = orderActions.get(orderNum); - times++; - //该订单的任务达到4次了,不会再有任务了,清除缓存 - //具体看取货、放货、货物库内转移的流程 - if (times >= 4) { - log.info("remove oderNum:{},times:{}", orderNum, times); - orderActions.remove(orderNum); - } else { - orderActions.put(orderNum, times); - log.info("oderNum:{},times:{}", orderNum, times); - } - return times; - } - } - - public static Map get() { - return orderActions; + public static Integer get(String cmdCode) { + return Integer.parseInt(cmdCode.replace("C","")); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/HttpServe/HttpService.java b/web/src/main/java/com/zhehekeji/web/service/HttpServe/HttpService.java new file mode 100644 index 0000000..5ed86bc --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/HttpServe/HttpService.java @@ -0,0 +1,53 @@ +package com.zhehekeji.web.service.HttpServe; + +import com.google.gson.Gson; +import org.apache.http.entity.StringEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.client.RestTemplate; + +import java.util.HashMap; +import java.util.Map; + +public class HttpService { + public String sendHttp(){ + + RestTemplate restTemplate = new RestTemplate(); + +/* // 发送 GET 请求 + String url = "http://example.com/api/getData"; + ResponseEntity response = restTemplate.getForEntity(url, String.class); + String responseBody = response.getBody();*/ + + // 发送 POST 请求 + String url = "http://example.com/api/postData"; + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_JSON); + Map body = new HashMap<>(); + body.put("key1", "value1"); + body.put("key2", "value2"); +// 创建Gson对象 + Gson gson = new Gson(); + String jsonString = gson.toJson(body); +// StringEntity entity = new StringEntity("", headers); + restTemplate.postForEntity(url, jsonString, String.class); + System.out.println(); + return null; + + } + + public static void main(String[] args) { + + RestTemplate restTemplate = new RestTemplate(); + Map body = new HashMap<>(); + body.put("key1", "value1"); + body.put("key2", "value2"); +// 创建Gson对象 + Gson gson = new Gson(); + String jsonString = gson.toJson(body); +// StringEntity entity = new StringEntity("", headers); + ResponseEntity response =restTemplate.postForEntity("http://127.0.0.1:8099/api/test/1", jsonString, String.class); + System.out.println(jsonString); + } +} diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 43e6a87..4372f0c 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -154,7 +154,6 @@ public class PlcService { //取货是是不知道放货的位置的,所以订单开始的时候只写1位置 //订单结束写2位置 orderMapper.insert(order); - OrderRealtime.startOrder(street.getId(), plcCmdInfo.getOrderNum()); } } @@ -176,7 +175,6 @@ public class PlcService { log.error("订单结束信号,订单不存在,orderNum:{}", plcCmdInfo.getOrderNum()); return; } - OrderRealtime.stopOrder(street.getId()); Order update = new Order(); update.setId(order.getId()); update.setEndTime(endTime); @@ -438,15 +436,13 @@ public class PlcService { } synchronized (plcId.intern()) { //新增 告警 - if (OrderRealtime.getWarnId(street.getId()) != null) { - log.debug("{}:exist warn", plcId); - return; - } + //不存在正在执行的告警记录,就新增 Warn warn = new Warn(); warn.setStartTime(LocalDateTime.now()); warn.setStreetId(street.getId()); - String orderNum = OrderRealtime.getOrderByStreetId(street.getId()); + //暂时不处理 + String orderNum = ""; if (StringUtils.isEmpty(orderNum)) { log.debug("{}:warn start...., but no order running", plcId); } else { @@ -466,7 +462,6 @@ public class PlcService { //没有正在执行的工单 不需要填写location warn.setSignal(signal); warnMapper.insert(warn); - OrderRealtime.startWarn(street.getId(), warn.getId()); } } @@ -483,11 +478,10 @@ public class PlcService { return; } synchronized (plcId.intern()) { - Long warnId = OrderRealtime.getWarnId(street.getId()); + //暂时不做处理 + Long warnId = 0L; if (warnId != null) { //存在告警 - //先内存中清除该告警 - OrderRealtime.cleanWarn(street.getId()); Warn warn = warnMapper.selectById(warnId); if (warn != null) { //结束该告警,并录像 diff --git a/web/src/main/java/com/zhehekeji/web/service/StockService.java b/web/src/main/java/com/zhehekeji/web/service/StockService.java index 7cb99ac..ae2708d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StockService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StockService.java @@ -320,6 +320,7 @@ public class StockService { */ public Stock stockInfo(StockCheck stockCheck) { + Street street = streetService.streetById(stockCheck.getStreetId()); Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn()); if(stock == null){ stock = new Stock(); @@ -327,10 +328,8 @@ public class StockService { stock.setRow(stockCheck.getRow()); //stock.setShelveId(stockCheck.getShelveId()); stock.setStatus(0); - Street street = streetMapper.selectById(stockCheck.getStreetId()); stock.setStreetName(street.getName()); }else { - Street street = streetMapper.selectById(stock.getStreetId()); stock.setStreetName(street.getName()); } //不再需要操作照片 @@ -341,14 +340,29 @@ public class StockService { stock.setOveroperationPic(stockLogs.get(0).getPic()); stock.setPreoperationPic(stockLogs.get(1).getPic()); } + + String ip ="http://"+ street.getPlcIp()+":9009/pic/"+stock.getCode()+"/"+stock.getCheckNum()+"/"; + stock.setSidePic1(String.format("%s1.png",ip)); + stock.setSidePic2(String.format("%s2.png",ip)); + stock.setSidePic3(String.format("%s3.png",ip)); + stock.setSidePic4(String.format("%s4.png",ip)); + stock.setTopPic1(String.format("%s5.png",ip)); + stock.setTopPic2(String.format("%s6.png",ip)); return stock; } public Stock stock(StockCheckSearch stockCheckSearch){ -// String shelveId = streetService.getShevelId(stockCheckSearch.getSRMNumber(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation()); -// Assert.notNull(shelveId,"无该货架信息"); Street street = streetService.getStreetByPlcId(stockCheckSearch.getSRMNumber()); Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation(),stockCheckSearch.getRow(),stockCheckSearch.getColumn()); + if(stock != null){ + String ip ="http://"+ street.getPlcIp()+":9009/pic/"+stock.getCode()+"/"+stock.getLotnum()+"/"+stock.getLotnum()+"/"; + stock.setSidePic1(String.format("%s1.png",ip)); + stock.setSidePic2(String.format("%s2.png",ip)); + stock.setSidePic3(String.format("%s3.png",ip)); + stock.setSidePic4(String.format("%s4.png",ip)); + stock.setTopPic1(String.format("%s5.png",ip)); + stock.setTopPic2(String.format("%s6.png",ip)); + } return stock; } diff --git a/web/src/main/java/com/zhehekeji/web/service/StreetService.java b/web/src/main/java/com/zhehekeji/web/service/StreetService.java index f1c4259..9623ab8 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StreetService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StreetService.java @@ -56,15 +56,7 @@ public class StreetService { @Transactional(rollbackFor = Exception.class) - @Caching( - put = { - @CachePut(value = {"street"},key = "#streetVO.id"), - @CachePut(value = {"streetByPlcId"},key = "#streetVO.plcId"), - }, - evict = { - @CacheEvict(value = "getStreetCount") - } - ) + public Street add(StreetVO streetVO) { Street street = new Street(); BeanUtils.copyProperties(streetVO,street); @@ -121,7 +113,6 @@ public class StreetService { - @Cacheable(value = "streetByPlcId",key = "#plcId") public Street getStreetByPlcId(String plcId) { Street street = streetMapper.getStreetByPlcId(plcId); if (street == null) { @@ -131,10 +122,6 @@ public class StreetService { } - @Caching(evict = { - @CacheEvict(value = "street",key = "#id"), - @CacheEvict(value = "getStreetCount") - }) public void del(Integer id) { Street street = streetMapper.selectById(id); if(street != null){ @@ -149,18 +136,11 @@ public class StreetService { StreetConn.del(id); } - //只是为了删除缓存 - @CacheEvict(value = "streetByPlcId",key = "#{plcId}") public void delByPlcId(String plcId){ return; } - @Caching( - evict = { - @CacheEvict(value = "street",key="#streetVO.id"), - @CacheEvict(value = "streetByPlcId",key="#streetVO.plcId"), - } - ) + public void edit(StreetVO streetVO) { Street street = new Street(); BeanUtils.copyProperties(streetVO,street); @@ -196,7 +176,8 @@ public class StreetService { RFIDConfig(streetVO,street.getId()); } - @Cacheable(value = "street",key = "#id") + + public Street streetById(Integer id) { return streetMapper.selectById(id); } diff --git a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java index 98f532e..4dab646 100644 --- a/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/ksec/KsecDecoder.java @@ -165,7 +165,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { log.info("action code,{},orderInfo:{}", code, plcCmdInfo.toString()); if (Cmd.isBaseAction(code)) { //执行动作,需要保存执行到第几步了 - Integer times = GoodsActionTimes.put(plcCmdInfo.getOrderNum()); + Integer times = GoodsActionTimes.get(dataInfo.getCmdName()); plcCmdInfo.setTimes(times); code = code + "-" + plcCmdInfo.getLeftRightStr(times) + plcCmdInfo.getInOutStr(times); //执行动作 diff --git a/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java b/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java index 46b416c..ac52eee 100644 --- a/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java +++ b/web/src/main/java/com/zhehekeji/web/service/robotic/ProtocolDecoder.java @@ -127,7 +127,7 @@ public class ProtocolDecoder extends FixedLengthFrameDecoder { log.info("action code,{} plcId:{},orderInfo:{}", code, plcId, plcCmdInfo.toString()); if(code.equals("C1") || code.equals("C2") || code.equals("C3") || code.equals("C4")){ // 只有取放货的命令 才能增加 times - Integer times = GoodsActionTimes.put(plcCmdInfo.getOrderNum()); + Integer times = GoodsActionTimes.get(code); //执行动作 plcService.action(plcCmdInfo, times, code); } diff --git a/web/src/main/resources/application-prod.yml b/web/src/main/resources/application-prod.yml index 1cc0f19..79f7fa5 100644 --- a/web/src/main/resources/application-prod.yml +++ b/web/src/main/resources/application-prod.yml @@ -27,7 +27,7 @@ userUrl: http://115.236.65.98:11001 # ----默认摄像头的连接信息 cameraConfig: # ------------球機選擇--- 0:利珀 1:海康 - cameraType: 0 + cameraType: 1 cameraPassword: a1234567 cameraUser: admin cameraPort: 37777