From cbc10fe4a6d385de784bd5ee276f84361382810b Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期三, 06 十二月 2023 08:55:13 +0800
Subject: [PATCH] 车间大屏增加统计数据

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java |   36 +++++++++++++++++-
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/listener/InitListener.java                   |    1 
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java         |    2 +
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java                           |   11 +++++
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java    |   12 +++++-
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java                |    1 
 6 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java
index eafad92..42fb313 100644
--- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java
@@ -170,6 +170,17 @@
 
     private String level;
 
+    /**
+     * 骞茬嚗鍑忓皯閲嶉噺
+     */
+    private Double reduce;
+
+    /**骞冲潎姹借��**/
+    private Double steamAvg;
+
+    /**骞冲潎鐢佃��**/
+    private Double wattAvg;
+
     public DryOrderVo(RealTimeDataVo realTimeDataVo) {
         this.id = IdUtil.fastSimpleUUID();
         this.code = realTimeDataVo.getWorkorder();
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
index 6c78f38..46ee064 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryRealTimeDataController.java
@@ -45,17 +45,25 @@
         return dryRealTimeDataService.queryMachineRealTImeData(realTimeDataVo);
     }
 
+    @ApiOperation(value="鑾峰彇杞﹂棿缁熻鏁版嵁", notes="閫氳繃绉熸埛ID鑾峰彇杞﹂棿缁熻鏁版嵁")
+    @GetMapping("/workshopStatistics")
+    public Result<?> workshopStatistics(RealTimeDataVo realTimeDataVo) {
+        return dryRealTimeDataService.queryWorkshopStatistics(realTimeDataVo);
+    }
+
 
     /**
      * 1001 椋庣鍗�     1002 椋庣闄�
      * 1003 婊氱瓛鍗�     1004 婊氱瓛闄�
      * 1005 婊氱瓛姝h浆    1006 婊氱瓛鍙嶈浆
-     * 1007 璁惧鍋滄
+     * 1007 璁惧鍋滄    1010 骞茬嚗鍚姩
+     * 1011 鍓嶉棬寮�鍏�    1012 鍚庨棬寮�鍏�
+     * 1013 鐑鍚姩    1014 寮�闂ㄨ瀵�
+     * 1015 鍑烘枡鎸夐挳
      */
     @ApiOperation(value="鍙戦�佹帶鍒舵寚浠�", notes="鍚戞湇鍔$鍙戦�佹帶鍒舵寚浠わ紝鐢辨湇鍔$閫氳繃socket杞彂缁欐帶鍒舵ā鍧�")
     @PostMapping("/sendCommand")
     public Result<?> sendCommand(@RequestBody CommandMessageVo msgVo) {
         return dryRealTimeDataService.sendSocketMsg(msgVo);
     }
-
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java
index fa55951..02852d6 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/OpcController.java
@@ -11,7 +11,6 @@
 import org.eclipse.milo.opcua.stack.core.types.builtin.StatusCode;
 import org.eclipse.milo.opcua.stack.core.types.builtin.Variant;
 import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.dry.common.OPCUA;
 import org.jeecg.modules.dry.entity.DryOpcDevice;
 import org.jeecg.modules.dry.service.IDryOpcDeviceService;
 import org.jeecg.modules.dry.vo.CommandMessageVo;
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/listener/InitListener.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/listener/InitListener.java
index ecfd45b..1e24954 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/listener/InitListener.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/listener/InitListener.java
@@ -7,7 +7,6 @@
 import org.eclipse.milo.opcua.sdk.client.OpcUaClient;
 import org.jeecg.modules.dry.common.CacheConstants;
 import org.jeecg.modules.dry.common.CommonDict;
-import org.jeecg.modules.dry.common.OPCUA;
 import org.jeecg.modules.dry.vo.DryFault;
 import org.springframework.boot.context.event.ApplicationStartedEvent;
 import org.springframework.context.ApplicationListener;
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java
index 2d41761..e977ced 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/IDryRealTimeDataService.java
@@ -10,4 +10,6 @@
     Result<?> queryMachineRealTImeData(RealTimeDataVo realTimeDataVo);
 
     Result<?> sendSocketMsg(CommandMessageVo msgVo);
+
+    Result<?> queryWorkshopStatistics(RealTimeDataVo realTimeDataVo);
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
index cb98cfc..aa8d0f9 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java
@@ -16,7 +16,6 @@
 import org.jeecg.common.system.util.JwtUtil;
 import org.jeecg.common.util.RedisUtil;
 import org.jeecg.common.util.SpringContextUtils;
-import org.jeecg.modules.dry.api.JeecgSystemApi;
 import org.jeecg.modules.dry.common.CacheConstants;
 import org.jeecg.modules.dry.entity.*;
 import org.jeecg.modules.dry.service.*;
@@ -82,7 +81,7 @@
     @Transactional
     public Result<?> realTimeDataHandle(RealTimeDataVo realTimeDataVo) {
         TenantContext.setTenant(realTimeDataVo.getTenantid()+"");
-        log.info("瀹炴椂鏁版嵁锛�"+realTimeDataVo.toString());
+       // log.info("瀹炴椂鏁版嵁锛�"+realTimeDataVo.toString());
 
 
         // 1 鏌ヨ鎴栧垱寤哄伐鍗�
@@ -387,4 +386,37 @@
      //   });
         return Result.OK();
     }
+
+
+    @Override
+    public Result<?> queryWorkshopStatistics(RealTimeDataVo realTimeDataVo) {
+        LambdaQueryWrapper<DryEquipment> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DryEquipment::getTenantId, realTimeDataVo.getTenantid());
+        queryWrapper.eq(DryEquipment::getEnable, "Y");
+        List<DryEquipment> dryEquipments = equipmentService.list(queryWrapper);
+        DryOrderVo orderVo = new DryOrderVo();
+        if (dryEquipments != null && dryEquipments.size() > 0) {
+            dryEquipments.stream().forEach(item -> {
+                DryOrderVo order = (DryOrderVo) redisUtil.hget(CacheConstants.RedisKeyEnum.WORK_ORDER.getCode(), realTimeDataVo.getTenantid() + "_" + item.getCode());
+                if (order != null) {
+                    orderVo.setEnvHum(order.getEnvHum());
+                    orderVo.setEnvTemp(order.getEnvTemp());
+                    double watt = order.getWatt() - order.getDetailList().get(0).getWatt();
+                    orderVo.setWatt(orderVo.getWatt()==null? watt : orderVo.getWatt() + watt);
+                    double steam = order.getSteam() - order.getDetailList().get(0).getSteam();
+                    orderVo.setSteam(orderVo.getSteam()==null? steam : orderVo.getSteam() + steam);
+                    orderVo.setOriginWeight(orderVo.getOriginWeight()==null? order.getOriginWeight(): orderVo.getOriginWeight() + order.getOriginWeight());
+
+                    double yield = order.getOriginWeight()*(1-(order.getInitial()/100))/(1-(order.getTarget()/100));
+                    orderVo.setYield(orderVo.getYield()==null? yield: orderVo.getYield() + yield);
+                    double sub = order.getOriginWeight() - order.getYield();
+                    orderVo.setReduce(orderVo.getReduce()==null? sub: orderVo.getReduce() + sub);
+
+
+                }
+            });
+        }
+        //redisUtil.get(CacheConstants.RedisKeyEnum.WORK_ORDER.getCode()
+        return Result.OK(orderVo);
+    }
 }

--
Gitblit v1.9.3