干燥机配套车间生产管理系统/云平台服务端
bsw215583320
2023-06-26 b4b962e1ca05abd8bfc63c80f1adc3df5cfa1a24
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);
    }
}