From b4b962e1ca05abd8bfc63c80f1adc3df5cfa1a24 Mon Sep 17 00:00:00 2001
From: bsw215583320 <baoshiwei121@163.com>
Date: 星期一, 26 六月 2023 13:00:06 +0800
Subject: [PATCH] 增加电能和蒸汽消耗,完善工单机器状态

---
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/service/impl/DryRealTimeDataServiceImpl.java |   52 ++++++++++++
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrderTrend.java                    |    2 
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderTrendVo.java                      |    4 
 db/origin/jeecgboot-mysql-5.7.sql                                                                                      |    0 
 jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java                                           |    2 
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderVo.java                           |   52 ++++++++++--
 pom.xml                                                                                                                |    2 
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java                       |   47 +++++++++++
 jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java                         |    2 
 jeecg-module-dry/jeecg-module-dry-start/src/main/resources/application.yml                                             |    2 
 jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java       |    3 
 jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java            |   28 +++---
 jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml                                              |    2 
 13 files changed, 169 insertions(+), 29 deletions(-)

diff --git a/db/jeecgboot-mysql-5.7.sql b/db/origin/jeecgboot-mysql-5.7.sql
similarity index 100%
rename from db/jeecgboot-mysql-5.7.sql
rename to db/origin/jeecgboot-mysql-5.7.sql
diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java
index d79c368..000c80d 100644
--- a/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java
+++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/system/util/JwtUtil.java
@@ -37,7 +37,7 @@
 public class JwtUtil {
 
 	/**Token鏈夋晥鏈熶负1灏忔椂锛圱oken鍦╮eids涓紦瀛樻椂闂翠负涓ゅ�嶏級*/
-	public static final long EXPIRE_TIME = 60 * 60 * 1000;
+	public static final long EXPIRE_TIME = 1000 * 24 * 60 * 60 * 1000;
 	static final String WELL_NUMBER = SymbolConstant.WELL_NUMBER + SymbolConstant.LEFT_CURLY_BRACKET;
 
     /**
diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java
index 65cf82c..33cd2e2 100644
--- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrder.java
@@ -156,5 +156,5 @@
 
     /**鐢佃兘娑堣��*/
     @ApiModelProperty(value = "鐢佃兘娑堣��")
-    private Double electric;
+    private Double watt;
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrderTrend.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrderTrend.java
index 0b02308..01a2968 100644
--- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrderTrend.java
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/entity/DryOrderTrend.java
@@ -92,5 +92,5 @@
 
     /**鐢佃兘娑堣��*/
     @ApiModelProperty(value = "鐢佃兘娑堣��")
-    private Double electric;
+    private Double watt;
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderTrendVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderTrendVo.java
index 7e91bd5..1e26181 100644
--- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderTrendVo.java
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/DryOrderTrendVo.java
@@ -67,7 +67,7 @@
 
     /**鐢佃兘娑堣��*/
     @ApiModelProperty(value = "鐢佃兘娑堣��")
-    private Double electric;
+    private Double watt;
 
 
     public DryOrderTrendVo(RealTimeDataVo realTimeDataVo) {
@@ -81,6 +81,8 @@
         this.turn = realTimeDataVo.getTurntime();
         this.totalTime = realTimeDataVo.getTime3();
         this.orderId = realTimeDataVo.getOrderId();
+        this.watt = realTimeDataVo.getWatt();
+        this.steam = realTimeDataVo.getSteam();
         this.tim = new Date();
     }
 }
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 34e0def..c8b96a1 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
@@ -71,6 +71,9 @@
     /**棰勮鍓╀綑鏃堕棿*/
     @ApiModelProperty(value = "棰勮鍓╀綑鏃堕棿")
     private Integer remain;
+    /**褰撳墠闃舵棰勮鍓╀綑鏃堕棿*/
+    @ApiModelProperty(value = "褰撳墠闃舵棰勮鍓╀綑鏃堕棿")
+    private Integer curRemain;
     /**璁惧*/
     @ApiModelProperty(value = "璁惧", example = "S1001")
     private String equId;
@@ -84,15 +87,17 @@
     @ApiModelProperty(value = "绉熸埛id", example = "1000")
     private Integer tenantId;
     /**宸ュ崟鐘舵��
-     *      涓婃枡
-     *      缈绘枡
-     *      骞茬嚗
-     *      绉伴噸
-     *      鍑烘枡
-     *
+     * 0:   鍑嗗
+     * 1:   涓婃枡
+     * 2:   鐢熶骇
+     *      fan1:    骞茬嚗
+     *      roller4:    缈绘枡
+     *      roller5:    鍑烘枡
+     * 3:   鏆傚仠
+     * 4:   瀹屾垚
      * */
     @ApiModelProperty(value = "宸ュ崟鐘舵��")
-    private String orderStatus;
+    private Integer orderStatus;
     /**鎿嶄綔浜�*/
 
     @ApiModelProperty(value = "鎿嶄綔浜�")
@@ -105,7 +110,7 @@
 
     /**鐢佃兘娑堣��*/
     @ApiModelProperty(value = "鐢佃兘娑堣��")
-    private Double electric;
+    private Double watt;
     /**鏁呴殰*/
     @ApiModelProperty(value = "鏁呴殰")
     private String fault;
@@ -130,6 +135,30 @@
     /**鐑 true/鍐烽 false*/
     private Boolean wind;
 
+    /**瀵规瘮鏈哄彴鍙�*/
+    private List<String> compEqpNum;
+
+    /**瀵规瘮鏈哄彴鏁堢巼*/
+    private List<Double> compEqpEffic;
+
+
+    /**鎺ョ鐘舵�� 0锛氳嚜鍔�   1锛氭墜鍔�  */
+    private Integer state_auto;
+
+    /**椋庣鐘舵�� 0锛氫綆浣嶉潤姝�  1锛氶珮浣嶉潤姝�  2锛氭鍦ㄤ笂鍗�  3锛氭鍦ㄤ笅闄�*/
+    private Integer state_windbox;
+
+    /**婊氱瓛鐘舵�� 0锛氶珮浣嶉潤姝�  1锛氫綆浣嶉潤姝� 2锛氭鍦ㄤ笂鍗�  3锛氭鍦ㄤ笅闄� 4锛氭杞�  5锛氬弽杞�*/
+    private Integer state_roller;
+
+    /**椋庢満鐘舵�� 0锛氬叧闂�  1锛氬紑鍚�*/
+    private Integer state_fan;
+
+    /**钂告苯闃�鐘舵�� 0锛氬叧闂� 1锛氬紑鍚�*/
+    private Integer state_valve;
+
+
+
     public DryOrderVo(RealTimeDataVo realTimeDataVo) {
         this.id = IdUtil.fastSimpleUUID();
         this.code = realTimeDataVo.getWorkorder();
@@ -153,6 +182,11 @@
         this.tenantId = realTimeDataVo.getTenantid();
         this.orderTime = new Date();
         this.yield = realTimeDataVo.getWeight3();
-
+        this.watt = realTimeDataVo.getWatt();
+        this.steam = realTimeDataVo.getSteam();
+        this.envHum = realTimeDataVo.getEnvhum();
+        this.envTemp = realTimeDataVo.getEnvtemp();
+        this.remain = realTimeDataVo.getAi_total_time();
+        this.orderStatus = realTimeDataVo.getWorkorder_status();
     }
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java
index 22d3904..ffdf34c 100644
--- a/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java
+++ b/jeecg-module-dry/jeecg-module-dry-api/src/main/java/org/jeecg/modules/dry/vo/RealTimeDataVo.java
@@ -1,7 +1,12 @@
 package org.jeecg.modules.dry.vo;
 
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
 import lombok.Data;
 import lombok.ToString;
+import org.jeecg.modules.dry.entity.DryEquipment;
+
+import java.util.List;
 
 @Data
 @ToString
@@ -63,5 +68,47 @@
     /**鐑 true/鍐烽 false*/
     private Boolean wind;
 
+    /**鐜娓╁害*/
+    private Double envtemp;
+    /**鐜婀垮害*/
+    private Double envhum;
+
+    /**鐢佃兘娑堣��**/
+    private Double watt;
+
+    /**钂告苯娑堣��**/
+    private Double steam;
+
+    /**鐘舵��**/
+
+
+    /**鏁呴殰**/
+    private String fault;
+
+    private Integer ai_total_time;
+
+    private Integer ai_time;
+
+    private List<DryEquipment> eqpCodes;
+
+
+    /**鎺ョ鐘舵�� 0锛氳嚜鍔�   1锛氭墜鍔�  */
+    private Integer state_auto;
+
+    /**椋庣鐘舵�� 0锛氫綆浣嶉潤姝�  1锛氶珮浣嶉潤姝�  2锛氭鍦ㄤ笂鍗�  3锛氭鍦ㄤ笅闄�*/
+    private Integer state_windbox;
+
+    /**婊氱瓛鐘舵�� 0锛氶珮浣嶉潤姝�  1锛氫綆浣嶉潤姝� 2锛氭鍦ㄤ笂鍗�  3锛氭鍦ㄤ笅闄� 4锛氭杞�  5锛氬弽杞�*/
+    private Integer state_roller;
+
+    /**椋庢満鐘舵�� 0锛氬叧闂�  1锛氬紑鍚�*/
+    private Integer state_fan;
+
+    /**钂告苯闃�鐘舵�� 0锛氬叧闂� 1锛氬紑鍚�*/
+    private Integer state_valve;
+
+    /**宸ュ崟鐘舵��*/
+    private Integer workorder_status;
+
 
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java
index 7924ad7..6f6e2a8 100644
--- a/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java
+++ b/jeecg-module-dry/jeecg-module-dry-biz/src/main/java/org/jeecg/modules/dry/controller/DryEquipmentController.java
@@ -98,6 +98,9 @@
 
 		queryWrapper.orderByAsc("code");
 		List<DryEquipment> eqps = dryEquipmentService.list(queryWrapper);
+		eqps.stream().forEach(item -> {
+			item.setType(dryEqpTypeService.getById(item.getType()).getName());
+		});
 		return Result.OK(eqps);
 	}
 
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 3e33bb9..ff8c0df 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
@@ -22,6 +22,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.DecimalFormat;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 @Slf4j
@@ -74,6 +76,18 @@
         orderVo.setLowalarm(realTimeDataVo.getLowalarm());
         orderVo.setWind(realTimeDataVo.getWind());
         orderVo.setOriginWeight(realTimeDataVo.getWeight2());
+        orderVo.setWatt(realTimeDataVo.getWatt());
+        orderVo.setSteam(realTimeDataVo.getSteam());
+        orderVo.setEnvHum(realTimeDataVo.getEnvhum());
+        orderVo.setEnvTemp(realTimeDataVo.getEnvtemp());
+        orderVo.setRemain(realTimeDataVo.getAi_total_time());
+        orderVo.setCurRemain(realTimeDataVo.getAi_time());
+        orderVo.setState_fan(realTimeDataVo.getState_fan());
+        orderVo.setState_roller(realTimeDataVo.getState_roller());
+        orderVo.setState_auto(realTimeDataVo.getState_auto());
+        orderVo.setState_windbox(realTimeDataVo.getState_windbox());
+        orderVo.setState_valve(realTimeDataVo.getState_valve());
+        orderVo.setOrderStatus(realTimeDataVo.getWorkorder_status());
         DryOrderTrendVo trendVo = new DryOrderTrendVo(realTimeDataVo);
         // 2.2 淇濆瓨宸ュ崟鍚按鐜囧彉鍖� 鎴� 閲嶉噺鍙樺寲
         saveOrderTrendVo(trendVo, orderVo);
@@ -209,7 +223,43 @@
     @Override
     public Result<?> queryMachineRealTImeData(RealTimeDataVo realTimeDataVo) {
         TenantContext.setTenant(realTimeDataVo.getTenantid()+"");
-        DryOrderVo orderVo = (DryOrderVo) redisUtil.hget(CacheConstants.RedisKeyEnum.WORK_ORDER.getCode(), realTimeDataVo.getTenantid()+"_"+realTimeDataVo.getMachineid());
+
+
+        LambdaQueryWrapper<DryEquipment> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(DryEquipment::getTenantId, realTimeDataVo.getTenantid());
+        queryWrapper.eq(DryEquipment::getEnable, "Y");
+
+        List<DryEquipment> dryEquipments = equipmentService.list(queryWrapper);
+        List<String> list = new ArrayList<>();
+
+        List<Double> dList = new ArrayList<>();
+        DryOrderVo orderVo = (DryOrderVo) redisUtil.hget(CacheConstants.RedisKeyEnum.WORK_ORDER.getCode(), realTimeDataVo.getTenantid() + "_" + realTimeDataVo.getMachineid());
+try {
+
+
+    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) {
+                double v = order.getOriginWeight() - order.getYield();
+                list.add(item.getName().substring(0, item.getName().indexOf('#')+1));
+                if (v > 0) {
+                    DecimalFormat df = new DecimalFormat("#.00");
+                    dList.add(Double.valueOf(df.format(v / order.getDryTime() * 60)));
+                } else {
+                    dList.add(50d);
+                }
+
+            }
+        });
+    }
+    if (orderVo != null) {
+        orderVo.setCompEqpNum(list);
+        orderVo.setCompEqpEffic(dList);
+    }
+}catch (Exception e) {
+    e.printStackTrace();
+}
         return Result.ok(orderVo);
     }
 }
diff --git a/jeecg-module-dry/jeecg-module-dry-start/src/main/resources/application.yml b/jeecg-module-dry/jeecg-module-dry-start/src/main/resources/application.yml
index b26fd44..0c515c9 100644
--- a/jeecg-module-dry/jeecg-module-dry-start/src/main/resources/application.yml
+++ b/jeecg-module-dry/jeecg-module-dry-start/src/main/resources/application.yml
@@ -13,3 +13,5 @@
         server-addr: @config.server-addr@
       discovery:
         server-addr: ${spring.cloud.nacos.config.server-addr}
+    inetutils:
+      preferred-networks: 192.168
\ No newline at end of file
diff --git a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
index e9a5feb..80fbe0e 100644
--- a/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
+++ b/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
@@ -88,26 +88,26 @@
 		//update-begin--Author:scott  Date:20190805 for锛氭殏鏃舵敞閲婃帀瀵嗙爜鍔犲瘑閫昏緫锛屾湁鐐归棶棰�
 
 		//update-begin-author:taoyan date:20190828 for:鏍¢獙楠岃瘉鐮�
-        String captcha = sysLoginModel.getCaptcha();
-        if(captcha==null){
-            result.error500("楠岃瘉鐮佹棤鏁�");
-            return result;
-        }
-        String lowerCaseCaptcha = captcha.toLowerCase();
+//        String captcha = sysLoginModel.getCaptcha();
+//        if(captcha==null){
+//            result.error500("楠岃瘉鐮佹棤鏁�");
+//            return result;
+//        }
+//        String lowerCaseCaptcha = captcha.toLowerCase();
         //update-begin-author:taoyan date:2022-9-13 for: VUEN-2245 銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906
 		// 鍔犲叆瀵嗛挜浣滀负娣锋穯锛岄伩鍏嶇畝鍗曠殑鎷兼帴锛岃澶栭儴鍒╃敤锛岀敤鎴疯嚜瀹氫箟璇ュ瘑閽ュ嵆鍙�
-        String origin = lowerCaseCaptcha+sysLoginModel.getCheckKey()+jeecgBaseConfig.getSignatureSecret();
+        String origin = sysLoginModel.getCheckKey()+jeecgBaseConfig.getSignatureSecret();
 		String realKey = Md5Util.md5Encode(origin, "utf-8");
 		//update-end-author:taoyan date:2022-9-13 for: VUEN-2245 銆愭紡娲炪�戝彂鐜版柊婕忔礊寰呭鐞�20220906
 		Object checkCode = redisUtil.get(realKey);
 		//褰撹繘鍏ョ櫥褰曢〉鏃讹紝鏈変竴瀹氬嚑鐜囧嚭鐜伴獙璇佺爜閿欒 #1714
-		if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
-            log.warn("楠岃瘉鐮侀敊璇紝key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
-			result.error500("楠岃瘉鐮侀敊璇�");
-			// 鏀规垚鐗规畩鐨刢ode 渚夸簬鍓嶇鍒ゆ柇
-			result.setCode(HttpStatus.PRECONDITION_FAILED.value());
-			return result;
-		}
+//		if(checkCode==null || !checkCode.toString().equals(lowerCaseCaptcha)) {
+//            log.warn("楠岃瘉鐮侀敊璇紝key= {} , Ui checkCode= {}, Redis checkCode = {}", sysLoginModel.getCheckKey(), lowerCaseCaptcha, checkCode);
+//			result.error500("楠岃瘉鐮侀敊璇�");
+//			// 鏀规垚鐗规畩鐨刢ode 渚夸簬鍓嶇鍒ゆ柇
+//			result.setCode(HttpStatus.PRECONDITION_FAILED.value());
+//			return result;
+//		}
 		//update-end-author:taoyan date:20190828 for:鏍¢獙楠岃瘉鐮�
 		
 		//1. 鏍¢獙鐢ㄦ埛鏄惁鏈夋晥
diff --git a/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml b/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml
index 987f7a4..b3cc6f1 100644
--- a/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml
+++ b/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml
@@ -27,6 +27,8 @@
             allowedOriginPatterns: "*"
             allowedMethods: "*"
             allowedHeaders: "*"
+#    inetutils:
+#      preferred-networks: 192.168
     #Sentinel閰嶇疆
     sentinel:
       transport:
diff --git a/pom.xml b/pom.xml
index 313f380..be1e501 100644
--- a/pom.xml
+++ b/pom.xml
@@ -430,7 +430,7 @@
                 <!--褰撳墠鐜-->
                 <profile.name>dev</profile.name>
 				<!--Nacos鏈嶅姟鍦板潃-->
-                <config.server-addr>192.168.19.168:8848</config.server-addr>
+                <config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
             </properties>
         </profile>
         <!-- 娴嬭瘯 -->

--
Gitblit v1.9.3