yangys
2024-09-03 52ff3bda72646a532c3297e4843bc4d5aee8b949
collect/src/main/java/com/qianwen/mdc/collect/service/DeviceStateAggregateNoFeedbackService.java
@@ -37,7 +37,8 @@
    private AggregateStateMapper workstationAggregateStateMapper;
    @Autowired
   private IotDBSessionConfig iotdbConfig;
    @Autowired
   private IotDBCommonService iotDBCommonService;
    public List<AggregateState> stateAggregateForSpecialTimeRange(Long workstationId, StateAggregateTimeDTO timeRange, List<DeviceState> effectiveStateList) {
       //按timeRange查询时间区间内的状态数据,除了已删除的,其他数据都查出来了
@@ -90,7 +91,7 @@
      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));
@@ -98,8 +99,11 @@
      
      //命名: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++) {
@@ -118,7 +122,7 @@
         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());
@@ -127,6 +131,7 @@
      }
      try {
         this.iotdbConfig.getSessionPool().insertAlignedTablet(tablet);
         log.info("保存聚合状态完成");
      } catch (Exception e) {
         log.error("保存聚合状态数据异常",e);
      } 
@@ -142,11 +147,14 @@
        */
        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);
            }