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