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(); 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 滚筒正转 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); } } 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; 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; 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); } 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); } }