From 4c58f8f132adf830917b6b8f49f8c8de87aaf748 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期四, 08 一月 2026 18:40:51 +0800
Subject: [PATCH] 数量检测提交2-检测协议实现

---
 fzzy-igdss-web/src/main/java/com/fzzy/security/manager/SecManager.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/security/manager/SecManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/security/manager/SecManager.java
index 3833576..895c2ec 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/security/manager/SecManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/security/manager/SecManager.java
@@ -4,15 +4,22 @@
 import com.fzzy.igds.camera.ApiCameraManager;
 import com.fzzy.igds.camera.data.ApiCameraData;
 import com.fzzy.igds.camera.data.ApiCameraResp;
+import com.fzzy.igds.constant.OrderRespEnum;
 import com.fzzy.igds.constant.RespCodeEnum;
 import com.fzzy.igds.data.*;
 import com.fzzy.igds.domain.*;
+import com.fzzy.igds.io.manager.QuantityRemoteManager;
+import com.fzzy.igds.io.service.RemoteQuantityService;
+import com.fzzy.igds.request.QuantityRequest;
+import com.fzzy.igds.response.BaseResponse;
 import com.fzzy.igds.service.*;
 import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.igds.utils.DateUtil;
 import com.ruoyi.common.utils.StringUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
@@ -32,6 +39,8 @@
 
     @Resource
     private CommonManager commonManager;
+    @Resource
+    private QuantityRemoteManager remoteManager;
     @Resource
     private SecCameraService secCameraService;
     @Resource
@@ -316,4 +325,82 @@
 
         return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛锛侊紒", fileList);
     }
+
+    /**
+     * 鍗曚粨妫�娴�
+     *
+     * @param param
+     * @return
+     */
+    public BaseResponse checkSingle(IgdsBaseParam param) {
+        if (null == param || StringUtils.isBlank(param.getDepotId())) {
+            return new BaseResponse(RespCodeEnum.CODE_1007.getCode(), RespCodeEnum.CODE_1007.getMsg());
+        }
+
+        if (StringUtils.isBlank(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+
+        QuantityConf conf = quantityService.getCacheQuantityConf(param.getCompanyId(), param.getDepotId());
+        if (conf == null) {
+            return new BaseResponse(RespCodeEnum.CODE_1007.getCode(), RespCodeEnum.CODE_1007.getMsg());
+        }
+
+        RemoteQuantityService remoteQuantityService = remoteManager.getRemoteQuantityService(conf.getProtocol());
+
+        if (null == remoteQuantityService) {
+            return new BaseResponse(OrderRespEnum.ORDER_ERROR.getCode(),
+                    "绯荤粺娌℃湁" + conf.getProtocol() + "鐨勫崗璁疄鐜帮紝鎵ц琚嫆缁濓紒");
+        }
+
+        QuantityRequest request = new QuantityRequest();
+        BeanUtils.copyProperties(conf, request);
+        request.setDepotId(conf.getDepotId());
+        request.setYtIp(conf.getYtIp());
+        request.setCompanyId(conf.getCompanyId());
+        request.setDeptId(conf.getDeptId());
+        request.setSn(conf.getSn());
+        request.setLength(conf.getLength());
+
+        request.setBatchId(conf.getDepotId() + "_" + DateFormatUtils.format(new Date(), "yyyyMMddHHmm"));
+
+        return remoteQuantityService.checkStart(request);
+    }
+
+    /**
+     * 鍋滄妫�娴�
+     * @param param
+     * @return
+     */
+    public BaseResponse checkStop(IgdsBaseParam param) {
+        if (param == null || StringUtils.isEmpty(param.getDepotId())) {
+            return new BaseResponse(RespCodeEnum.CODE_1007.getCode(), RespCodeEnum.CODE_1007.getMsg());
+        }
+
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+
+        QuantityConf conf = quantityService.getCacheQuantityConf(param.getCompanyId(), param.getDepotId());
+        if (conf == null) {
+            return new BaseResponse(RespCodeEnum.CODE_1007.getCode(), RespCodeEnum.CODE_1007.getMsg());
+        }
+
+        RemoteQuantityService remoteQuantityService = remoteManager.getRemoteQuantityService(conf.getProtocol());
+
+        if (null == remoteQuantityService) {
+            return new BaseResponse(OrderRespEnum.ORDER_ERROR.getCode(),
+                    "绯荤粺娌℃湁" + conf.getProtocol() + "鐨勫崗璁疄鐜帮紝鎵ц琚嫆缁濓紒");
+        }
+
+        QuantityRequest request = new QuantityRequest();
+        BeanUtils.copyProperties(conf, request);
+        request.setCompanyId(conf.getCompanyId());
+        request.setYtIp(conf.getYtIp());
+        request.setSn(conf.getSn());
+        request.setDeptId(conf.getDeptId());
+        request.setDepotId(conf.getDepotId());
+
+        return remoteQuantityService.checkStop(request);
+    }
 }

--
Gitblit v1.9.3