Przeglądaj źródła

RFID设备警报选择控制

ty130316261 3 lat temu
rodzic
commit
6b169a7e50

+ 5 - 2
zd-api/zd-api-system/src/main/java/com/zd/system/api/chemical/RemoteStockService.java

@@ -2,9 +2,12 @@ package com.zd.system.api.chemical;
 
 import com.zd.common.core.constant.ServiceNameConstants;
 import com.zd.system.api.chemical.factory.RemoteStockFallbackFactory;
+import com.zd.system.api.domain.InventoryTag;
 import com.zd.system.api.laboratory.domain.RemoteLabHardware;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -14,8 +17,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 public interface RemoteStockService {
 
 
-    @GetMapping(value = "/hxpStock/RFIDCheck")
-    public void RFIDCheck(@RequestParam("rfidCode") String rfidCode, RemoteLabHardware hardware);
+    @PostMapping(value = "/hxpStock/RFIDCheck")
+    public void RFIDCheck(@RequestBody InventoryTag tag);
 
     @GetMapping(value = "/hxpStock/expireCheck")
     public void expireCheck();

+ 3 - 1
zd-api/zd-api-system/src/main/java/com/zd/system/api/chemical/factory/RemoteStockFallbackFactory.java

@@ -3,11 +3,13 @@ package com.zd.system.api.chemical.factory;
 
 import com.zd.common.core.exception.ServiceException;
 import com.zd.system.api.chemical.RemoteStockService;
+import com.zd.system.api.domain.InventoryTag;
 import com.zd.system.api.laboratory.domain.RemoteLabHardware;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.cloud.openfeign.FallbackFactory;
 import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RequestBody;
 
 @Component
 public class RemoteStockFallbackFactory implements FallbackFactory<RemoteStockService> {
@@ -19,7 +21,7 @@ public class RemoteStockFallbackFactory implements FallbackFactory<RemoteStockSe
         return new RemoteStockService() {
 
             @Override
-            public void RFIDCheck(String rfidCode, RemoteLabHardware hardware) {
+            public void RFIDCheck(InventoryTag tag) {
                 throw new ServiceException("保存调用失败:" + throwable.getMessage());
             }
 

+ 4 - 3
zd-modules/zd-chemical/src/main/java/com/zd/chemical/controller/HxpStockController.java

@@ -13,6 +13,7 @@ import com.zd.common.core.domain.per.PerFun;
 import com.zd.common.core.domain.per.PerPrefix;
 import com.zd.common.core.utils.SecurityUtils;
 import com.zd.common.security.service.TokenService;
+import com.zd.system.api.domain.InventoryTag;
 import com.zd.system.api.laboratory.domain.RemoteLabHardware;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -197,9 +198,9 @@ public class HxpStockController extends BaseController {
 
 
     @ApiOperation(value = "RFID违规检测")
-    @GetMapping(value = "/RFIDCheck")
-    public void RFIDCheck(@RequestParam("rfidCode") String rfidCode, RemoteLabHardware hardware) {
-        hxpStockService.RFIDCheck(rfidCode,hardware);
+    @PostMapping(value = "/RFIDCheck")
+    public void RFIDCheck(@RequestBody InventoryTag tag) {
+        hxpStockService.RFIDCheck(tag);
     }
 
     /**

+ 2 - 1
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/IHxpStockService.java

@@ -6,6 +6,7 @@ import com.zd.chemical.domain.vo.HxpStockDetailVO;
 import com.zd.chemical.domain.vo.HxpStockJoinVO;
 import com.zd.chemical.domain.vo.HxpStockOutVO;
 import com.zd.chemical.domain.vo.HxpStockSearch;
+import com.zd.system.api.domain.InventoryTag;
 import com.zd.system.api.laboratory.domain.RemoteLabHardware;
 
 /**
@@ -88,7 +89,7 @@ public interface IHxpStockService
      */
     public int deleteHxpStockById(Long id);
 
-    void RFIDCheck(String rfidCode, RemoteLabHardware hardware);
+    void RFIDCheck(InventoryTag tag);
 
     int selectCountByRfidCode(HxpStock hxpStock);
 

+ 8 - 5
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/impl/HxpStockServiceImpl.java

@@ -19,6 +19,7 @@ import com.zd.common.security.utils.SaveUtil;
 import com.zd.system.api.alarm.RemoteAlarmService;
 import com.zd.system.api.alarm.domain.AlarmEntrty;
 import com.zd.system.api.alarm.domain.Routes;
+import com.zd.system.api.domain.InventoryTag;
 import com.zd.system.api.domain.SysDictData;
 import com.zd.system.api.laboratory.RemoteLaboratoryService;
 import com.zd.system.api.laboratory.RemoteMessageContentService;
@@ -291,11 +292,10 @@ public class HxpStockServiceImpl implements IHxpStockService {
 
     /**
      * RFID 实时检测 是否是违规带离实验室
-     * @param rfidCode
-     * @param hardware
      */
     @Override
-    public void RFIDCheck(String rfidCode, RemoteLabHardware hardware) {
+    public void RFIDCheck(InventoryTag tag) {
+        String rfidCode = tag.getEpc();
         if(StringUtils.isBlank(rfidCode)){
             return;
         }
@@ -318,8 +318,11 @@ public class HxpStockServiceImpl implements IHxpStockService {
         }else {
             logger.error("RFID 检测到违规触发报警: " + JSONUtil.toJsonStr(hxpStock));
             //触发RFID警报
-            R<Boolean> alarm = remoteNettyService.alarm(hardware);
-            logger.info(alarm.getMsg());
+            RemoteLabHardware hardware = tag.getRemoteLabHardware();
+            if (hardware!=null){
+                R<Boolean> alarm = remoteNettyService.alarm(hardware);
+                logger.info(alarm.getMsg());
+            }
             // 如果非领用状态,做报警台账
             // 0.检测实验室声光报警器是否使用- 使用则直接调用触发- 否则跳过
             Map<String,Object> subInfo = hxpUserecordMapper.selectSubInfoById(hxpStock.getSubId());

+ 1 - 1
zd-modules/zd-netty/src/main/java/com/zd/netty/service/impl/SendServiceImpl.java

@@ -29,7 +29,7 @@ public class SendServiceImpl implements ISendService {
             log.info("气瓶服务异常:"+e.getMessage());
         }
         try {
-            remoteStockService.RFIDCheck(tag.getEpc(),tag.getRemoteLabHardware());
+            remoteStockService.RFIDCheck(tag);
         } catch (Exception e) {
             log.info("化学品服务异常:"+e.getMessage());
         }