From fbc22dcbef9887f87247b04e878a6107787854bc Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期一, 26 一月 2026 15:16:02 +0800
Subject: [PATCH] 调整数量检测协议

---
 fzzy-igdss-io/src/main/java/com/fzzy/igds/quantity/analysis/AnalysisService.java |   66 +++++++++++++++++++++++----------
 1 files changed, 46 insertions(+), 20 deletions(-)

diff --git a/fzzy-igdss-io/src/main/java/com/fzzy/igds/quantity/analysis/AnalysisService.java b/fzzy-igdss-io/src/main/java/com/fzzy/igds/quantity/analysis/AnalysisService.java
index 347cd7b..754e4e6 100644
--- a/fzzy-igdss-io/src/main/java/com/fzzy/igds/quantity/analysis/AnalysisService.java
+++ b/fzzy-igdss-io/src/main/java/com/fzzy/igds/quantity/analysis/AnalysisService.java
@@ -7,7 +7,7 @@
 import com.fzzy.igds.domain.FileInfo;
 import com.fzzy.igds.domain.Quantity;
 import com.fzzy.igds.domain.QuantityConf;
-import com.fzzy.igds.notify.NotifyWebInvoker;
+import com.fzzy.igds.io.notify.NotifyWebInvoker;
 import com.fzzy.igds.quantity.command.BhznRemoteQuantityImpl;
 import com.fzzy.igds.quantity.command.CommandBuilder;
 import com.fzzy.igds.quantity.dto.IoMessage;
@@ -20,13 +20,16 @@
 import com.fzzy.igds.service.DepotService;
 import com.fzzy.igds.service.FileService;
 import com.fzzy.igds.service.QuantityService;
+import com.fzzy.igds.utils.Base64Util;
 import com.fzzy.igds.utils.ContextUtil;
 import com.ruoyi.common.config.FrameworkConfig;
 import com.ruoyi.common.core.redis.RedisCache;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
+import java.text.DecimalFormat;
 import java.util.Date;
 
 /**
@@ -36,7 +39,7 @@
  */
 @Slf4j
 @Component("fzzy.quantityAnalysisService")
-public class AnalysisService{
+public class AnalysisService {
 
     @Autowired
     private DepotService depotService;
@@ -179,16 +182,16 @@
                 + progressData.getProgress());
         notifyWebInvoker.notifyQuantityProgress(progressData);
         //鏍规嵁杩涘害鎶撴媿
-        if (progressData.getProgress() >= 1 && progressData.getProgress() <= 25) {
+        if (progressData.getProgress() >= 5 && progressData.getProgress() <= 15) {
             remoteQuantity.sendMsg(ip, port, CommandBuilder.getInstance().build2006Message(message));
         }
-        if (progressData.getProgress() > 25 && progressData.getProgress() <= 50) {
+        if (progressData.getProgress() > 25 && progressData.getProgress() <= 35) {
             remoteQuantity.sendMsg(ip, port, CommandBuilder.getInstance().build2006Message(message));
         }
-        if (progressData.getProgress() > 50 && progressData.getProgress() <= 75) {
+        if (progressData.getProgress() > 35 && progressData.getProgress() <= 45) {
             remoteQuantity.sendMsg(ip, port, CommandBuilder.getInstance().build2006Message(message));
         }
-        if (progressData.getProgress() > 75 && progressData.getProgress() <= 99) {
+        if (progressData.getProgress() > 45 && progressData.getProgress() <= 55) {
             remoteQuantity.sendMsg(ip, port, CommandBuilder.getInstance().build2006Message(message));
         }
     }
@@ -215,6 +218,7 @@
             return;
         }
         Depot depot = depotService.getCacheDepot(conf.getCompanyId(), conf.getDepotId());
+
         Quantity quantityData = new Quantity();
         quantityData.setBatchId(request.getBatchId());
         quantityData.setReceiveDate(new Date());
@@ -224,6 +228,23 @@
         quantityData.setDeptId(depot.getDeptId());
         quantityData.setCompanyId(depot.getCompanyId());
         quantityData.setPoints("");
+        quantityData.setCheckUser(request.getExeUser());
+
+        Double real = 0.0;
+        if (null != depot.getStorageReal()) {
+            real = depot.getStorageReal();
+        }
+        Double num1 = content.getWeight() - real;
+        if (num1 < 0) {
+            num1 = 0 - num1;
+        }
+        String per = "--";
+        if (real > 0) {
+            per = new DecimalFormat("0.00").format(num1 / real * 100);
+        }
+
+        String remark = "妫�娴嬮噸閲忎负" + content.getWeight() + " KG锛屽疄闄呴噸閲忎负" + real + " KG锛岃宸皬浜�" + per + "% 銆�";
+        quantityData.setRemark(remark);
         quantityService.saveData(quantityData);
         //鐩存帴杩斿洖
         remoteQuantity.sendMsg(ip, port, CommandBuilder.getInstance().build2004Message(message));
@@ -257,19 +278,24 @@
             log.error("娌℃湁鑾峰彇鍒板彂閫佸懡浠わ紝鍙栨秷瑙f瀽锛�" + message.toString());
             return;
         }
-        String fileName = ContextUtil.generateId()+ ".jpg";
+        String fileName = ContextUtil.generateId() + ".jpg";
         String savePath = fileService.getFileSavePath("QUANTITY");
-        String filePath = savePath+fileName;
-        fileService.baseImg2Disk(filePath, content.getData());
-        FileInfo data = new FileInfo();
-        data.setId(ContextUtil.UUID());
-        data.setCreateTime(new Date());
-        data.setFileName(fileName);
-        data.setFilePath(filePath.replace(FrameworkConfig.getProfile(), "/profile/"));
-        data.setBizId(res.getBatchId());
-        data.setBizTag("quantity");
-        data.setCompanyId(conf.getCompanyId());
-        fileService.saveFile(data);
+        String filePath = savePath + fileName;
+
+        String msg = Base64Util.base64ToImg(content.getData(), filePath);
+        if (null != msg) {
+            //鏂囦欢淇濆瓨鎴愬姛锛屽垯淇濆瓨鏂囦欢璁板綍
+            FileInfo data = new FileInfo();
+            data.setId(ContextUtil.UUID());
+            data.setCreateTime(new Date());
+            data.setCreateBy(res.getExeUser());
+            data.setFileName(fileName);
+            data.setFilePath(filePath.replace(FrameworkConfig.getProfile(), "/profile/"));
+            data.setBizId(res.getBatchId());
+            data.setBizTag("quantity");
+            data.setCompanyId(conf.getCompanyId());
+            fileService.saveFile(data);
+        }
     }
 
     /**
@@ -285,7 +311,7 @@
     public String checkMsg(IoMessage message) {
         if (StringUtils.isEmpty(message.getResult())) return null;
         if (ServerUtils.RESP_0.equals(message.getResult())) return null;
-        
+
         if (ServerUtils.RESP_1.equals(message.getResult())) return "鍛戒护鏍煎紡閿欒";
         if (ServerUtils.RESP_2.equals(message.getResult())) return "鍛戒护鏁版嵁妫�楠屽紓甯�";
         if (ServerUtils.RESP_3.equals(message.getResult())) return "鍙戦�佽秴鏃堕敊璇�";

--
Gitblit v1.9.3