From fca5c28c79b061f4db3658f6d9e043024f326962 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 14 十一月 2025 21:58:02 +0800
Subject: [PATCH] 离线默认配置改为300秒
---
collect/src/main/java/com/qianwen/mdc/collect/handler/DeviceStatusDataHandler.java | 119 ++++++++++++++++++++++++-----------------------------------
1 files changed, 48 insertions(+), 71 deletions(-)
diff --git a/collect/src/main/java/com/qianwen/mdc/collect/handler/DeviceStatusDataHandler.java b/collect/src/main/java/com/qianwen/mdc/collect/handler/DeviceStatusDataHandler.java
index 34451a0..a3e16c3 100644
--- a/collect/src/main/java/com/qianwen/mdc/collect/handler/DeviceStatusDataHandler.java
+++ b/collect/src/main/java/com/qianwen/mdc/collect/handler/DeviceStatusDataHandler.java
@@ -1,37 +1,31 @@
package com.qianwen.mdc.collect.handler;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Arrays;
+import java.util.Date;
-import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.write.record.Tablet;
-import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.qianwen.mdc.collect.cache.WorkstationCache;
-import com.qianwen.mdc.collect.config.IotDBSessionConfig;
-import com.qianwen.mdc.collect.constants.IOTDBConstant;
import com.qianwen.mdc.collect.dto.PackedTelemetryData;
-import com.qianwen.mdc.collect.entity.iotdb.State;
+import com.qianwen.mdc.collect.entity.iotdb.DeviceState;
import com.qianwen.mdc.collect.entity.mgr.GlobalWcsOfRps;
import com.qianwen.mdc.collect.enums.FeedbackTimePointEnum;
-import com.qianwen.mdc.collect.service.IotDBCommonService;
+import com.qianwen.mdc.collect.service.DeviceStateService;
@Component
public class DeviceStatusDataHandler implements TelemetryDataHandler {
private static final Logger log = LoggerFactory.getLogger(DeviceStatusDataHandler.class);
@Autowired
private WorkstationCache workstationCache;
+
@Autowired
- private IotDBSessionConfig iotdbCfg;
- @Autowired
- private IotDBCommonService iotDBCommonService;
+ private DeviceStateService deviceStateService;
@Override
public void handleData(PackedTelemetryData data) {
- State state = new State();
+ DeviceState state = new DeviceState();
state.setTime(data.getTime());
state.setCalendarCode(data.getCalendarCode());
@@ -42,20 +36,26 @@
state.setIsFixPoint(false);
state.setIsSync(false);
state.setIsDeleted(false);
- //state.setEmployeeId(WorkstationCache.getBelongToEmployeeForWorkstation(entity.getWorkstationId(), new Date(entity.getTs().longValue())));
+
+ state.setEmployeeId(workstationCache.getBelongToEmployeeForWorkstation(data.getWorkstationId(), new Date(data.getTime())));
+
state.setFeedbackPointType(FeedbackTimePointEnum.NO_FEED_BACK_POINT.getValue());
//WorkstationState propertyData = (WorkstationState) Objects.requireNonNull(BeanUtil.copy(entity, WorkstationState.class));
- state.setValueCollect(Integer.valueOf(data.getValue()));
+ state.setValueCollect(translateStatus(data.getValue()));
+
state.setWcs(state.getValueCollect());
-
+ state.setWorkstationId(data.getWorkstationId());
+
+ state.setShiftIndex(data.getShiftIndex());
+ state.setShiftTimeType(data.getShiftTimeType());
fillWorkStationCondition(data, state);
- insertState(state);
+ deviceStateService.saveDeviceStates(Arrays.asList(state));
- log.info("鐘舵�佽仛鍚堣仛鍚堝畬鎴�:鏁版嵁");
+ log.info("璁惧鐘舵�佷繚瀛樺畬鎴�");
}
- private void fillWorkStationCondition(PackedTelemetryData data, State state) {
+ private void fillWorkStationCondition(PackedTelemetryData data, DeviceState state) {
GlobalWcsOfRps wcsOfRps = workstationCache.getWorkstationWcsSetting(data.getWorkstationId(), data.getValue());
log.info("宸ュ喌浠ュ強缁╂晥淇℃伅锛歿}" ,wcsOfRps);
@@ -65,57 +65,34 @@
}
- void insertState(State state){
- String deviceId = IOTDBConstant.DB_PREFIX+IOTDBConstant.TEMPLATE_STATE+"_"+state.getWorkstationId();
- try {
- iotDBCommonService.setTemmplateIsNotSet(IOTDBConstant.TEMPLATE_STATE, deviceId);
-
- List<MeasurementSchema> schemas = new ArrayList<>();
-
- schemas.add(new MeasurementSchema("workstation_id", TSDataType.INT64));
- schemas.add(new MeasurementSchema("value_collect", TSDataType.INT32));
- schemas.add(new MeasurementSchema("calendar_code", TSDataType.TEXT));
- schemas.add(new MeasurementSchema("factory_year", TSDataType.INT32));
- schemas.add(new MeasurementSchema("factory_month", TSDataType.INT32));
- schemas.add(new MeasurementSchema("factory_week", TSDataType.INT32));
- schemas.add(new MeasurementSchema("factory_date", TSDataType.INT32));
- schemas.add(new MeasurementSchema("shift_index", TSDataType.INT32));
- 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_plan", TSDataType.INT32));
- schemas.add(new MeasurementSchema("feedback_point_type", TSDataType.INT32));
- schemas.add(new MeasurementSchema("feedback_id", TSDataType.INT64));
- schemas.add(new MeasurementSchema("is_deleted", TSDataType.BOOLEAN));
- schemas.add(new MeasurementSchema("employee_id", TSDataType.INT64));
-
-
- Tablet tablet = new Tablet(deviceId, schemas);
- int rowIndex = tablet.rowSize++;
-
- tablet.timestamps[rowIndex] = state.getTime();
- tablet.addValue("workstation_id", rowIndex, state.getWorkstationId());
- tablet.addValue("value_collect", rowIndex, state.getValueCollect());
- tablet.addValue("calendar_code", rowIndex, state.getCalendarCode());
- tablet.addValue("factory_year", rowIndex, state.getFactoryYear());
- tablet.addValue("factory_month", rowIndex, state.getFactoryMonth());
- tablet.addValue("factory_week", rowIndex, state.getFactoryWeek());
- tablet.addValue("factory_date", rowIndex, state.getFactoryDate());
- tablet.addValue("shift_index", rowIndex, state.getShiftIndex());
- tablet.addValue("shift_time_type", rowIndex, state.getShiftTimeType());
- tablet.addValue("wcs", rowIndex, state.getWcs());
- tablet.addValue("rps", rowIndex, state.getRps());
- tablet.addValue("is_plan", rowIndex, state.getIsPlan());
- tablet.addValue("feedback_point_type", rowIndex, state.getFeedbackPointType());
- tablet.addValue("feedback_id", rowIndex, state.getFeedbackId());
- tablet.addValue("is_deleted", rowIndex, state.getIsDeleted());
- tablet.addValue("employee_id", rowIndex, state.getEmployeeId());
-
- iotdbCfg.getSessionPool().insertAlignedTablet(tablet);
-
- log.info("鐘舵�佹眹鎬诲畬鎴�");
- } catch (Exception e) {
- log.error("鑱氬悎浜ч噺IODDB鍏ュ簱澶辫触", e);
- }
+ int translateStatus(String statusVal) {
+
+ int oriStatus = Integer.valueOf(statusVal);
+
+ int result = oriStatus;
+ /*
+ //瑗块棬瀛�828d, cnc_run_status: 杩愯鐘舵��(0锛歊ESET锛�1锛歋TOP锛�2锛欻OLD锛�3锛歋TART锛�4锛歋PENDLE_CW_CCW锛�5锛歄THER)
+ switch(oriStatus) {
+ case 3://START
+ result = 2;
+ break;
+ case 0://锛宺eset
+ case 2://hold
+ result = 3;//3寰呮満
+ break;
+ case 4:// SPENDLE_CW_CCW
+ result = 2;
+ break;
+ case 5://鍏朵粬
+ result = oriStatus;
+ break;
+ default:
+ result = oriStatus;
+ }
+ log.info("statusconvert,ori={},result={}",oriStatus,result);
+ if(result == 0) {
+ result = 2;//
+ }*/
+ return result;
}
}
--
Gitblit v1.9.3