| | |
| | | private AggregateStateMapper workstationAggregateStateMapper; |
| | | @Autowired |
| | | private IotDBSessionConfig iotdbConfig; |
| | | |
| | | @Autowired |
| | | private IotDBCommonService iotDBCommonService; |
| | | |
| | | public List<AggregateState> stateAggregateForSpecialTimeRange(Long workstationId, StateAggregateTimeDTO timeRange, List<DeviceState> effectiveStateList) { |
| | | //按timeRange查询时间区间内的状态数据,除了已删除的,其他数据都查出来了 |
| | |
| | | schemas.add(new MeasurementSchema("shift_time_type", TSDataType.INT32)); |
| | | schemas.add(new MeasurementSchema("wcs", TSDataType.INT32)); |
| | | schemas.add(new MeasurementSchema("rps", TSDataType.INT32)); |
| | | schemas.add(new MeasurementSchema("is_sync", TSDataType.BOOLEAN)); |
| | | //schemas.add(new MeasurementSchema("is_sync", TSDataType.BOOLEAN)); |
| | | schemas.add(new MeasurementSchema("is_plan", TSDataType.INT32));//TODO 这个属性应该是GlobalWcsOfRps中的值,如何填写? |
| | | schemas.add(new MeasurementSchema("feedback_id", TSDataType.INT64)); |
| | | schemas.add(new MeasurementSchema("is_deleted", TSDataType.BOOLEAN)); |
| | |
| | | |
| | | //命名:aggregate_state_{workstation_id} |
| | | String deviceId = IOTDBConstant.DB_PREFIX+"aggregate_state_"+workstationId; |
| | | |
| | | iotDBCommonService.setTemmplateIfNotSet(IOTDBConstant.TEMPLATE_AGGREGATESTATE, deviceId);//挂载模板 |
| | | |
| | | Tablet tablet = new Tablet(deviceId, schemas); |
| | | //tablet.rowSize = aggStates.size(); |
| | | tablet.rowSize = aggStates.size(); |
| | | |
| | | AggregateState aggState; |
| | | for(int i=0;i<aggStates.size();i++) { |
| | |
| | | tablet.addValue("shift_time_type", i, aggState.getShiftTimeType()); |
| | | tablet.addValue("wcs", i, aggState.getWcs()); |
| | | tablet.addValue("rps", i, aggState.getRps()); |
| | | tablet.addValue("is_sync", i, aggState.getIsSync()); |
| | | |
| | | tablet.addValue("is_plan", i, aggState.getIsPlan()); |
| | | tablet.addValue("feedback_id", i, aggState.getFeedbackId()); |
| | | tablet.addValue("is_deleted", i, aggState.getIsDeleted()); |
| | |
| | | } |
| | | try { |
| | | this.iotdbConfig.getSessionPool().insertAlignedTablet(tablet); |
| | | log.info("保存聚合状态完成"); |
| | | } catch (Exception e) { |
| | | log.error("保存聚合状态数据异常",e); |
| | | } |
| | |
| | | */ |
| | | List<AggregateState> finallyResult = new ArrayList<>(); |
| | | //for (StateAggregateTimeDTO item : effectTimeRangeList2) { |
| | | /* |
| | | List<AggregateState> temp = this.workstationAggregateStateMapper.selectList(Wrappers.<AggregateState>lambdaQuery() |
| | | .eq(AggregateState::getWorkstationId, workstationId).and(wrapper -> { |
| | | LambdaQueryWrapper lambdaQueryWrapper = wrapper.eq(AggregateState::getIsDeleted, Boolean.FALSE).or().isNull(AggregateState::getIsDeleted); |
| | | }). |
| | | ge(Func.isNotEmpty(timeRange.getStartTime()), AggregateState::getTime, timeRange.getStartTime()).le(AggregateState::getTime, timeRange.getEndTime()).orderByAsc(AggregateState::getTime)); |
| | | */ |
| | | List<AggregateState> temp = this.workstationAggregateStateMapper.aggregateStatesInTimeRange(workstationId, timeRange); |
| | | if (Func.isNotEmpty(temp)) { |
| | | finallyResult.addAll(temp); |
| | | } |