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