From 11d4be720620abf502d35000e2ed40d30c4023bf Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 24 十一月 2025 16:33:34 +0800
Subject: [PATCH] 修复离线时间展示
---
collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackHandlerStrategy.java | 111 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 68 insertions(+), 43 deletions(-)
diff --git a/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackHandlerStrategy.java b/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackHandlerStrategy.java
index 6a48696..79569de 100644
--- a/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackHandlerStrategy.java
+++ b/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackHandlerStrategy.java
@@ -26,6 +26,7 @@
import com.qianwen.mdc.collect.mapper.iotdb.DeviceStateMapper;
import com.qianwen.mdc.collect.mapper.mgr.WorkstationWcsFeedbackMapper;
import com.qianwen.mdc.collect.service.DeviceStateAggregateService;
+import com.qianwen.mdc.collect.service.DeviceStateService;
import com.qianwen.mdc.collect.service.WorkstationService;
/**
* 鏃堕棿娈靛弽棣堢殑澶勭悊绛栫暐
@@ -69,20 +70,24 @@
*/
List<DeviceState> fixPointStateList = stateMapper.workstationFixPointStatesInTimeRange(analyseResult.getWorkstationId(),analyseResult.getEffectiveStartDate().getTime(),analyseResult.getEffectiveEndDate().getTime());
List<DeviceState> newFeedbackStateList = new ArrayList<>();
- if (Func.isNotEmpty(analyseResult.getEffectiveFeedbackTimePointList()))
- for (WorkstationFeedbackTimePointDTO item : analyseResult.getEffectiveFeedbackTimePointList()) {
- newFeedbackStateList.add(convertFeedbackPointToWorkstationState(analyseResult.getWorkstationId(), item, fixPointStateList, stateMapper));
- }
+ if (Func.isNotEmpty(analyseResult.getEffectiveFeedbackTimePointList())) {
+ for (WorkstationFeedbackTimePointDTO item : analyseResult.getEffectiveFeedbackTimePointList()) {
+ newFeedbackStateList.add(convertFeedbackPointToWorkstationState(analyseResult.getWorkstationId(), item, fixPointStateList, stateMapper));
+ }
+ }
List<DeviceState> insertData = generateWorkstationState(newFeedbackStateList, effectiveStateList);
//insertData.addAll((Collection<? extends WorkstationState>)analyseResult.getCompensateStateList().stream().map(item -> wrapperShiftInfo(item, stateMapper)).collect(Collectors.toList()));
insertData.addAll(analyseResult.getCompensateStateList().stream().map(item -> wrapperShiftInfo(item, stateMapper)).collect(Collectors.toList()));
-
+ insertData.forEach(s -> {s.setWorkstationId(feedback.getWorkstationId());});
//stateMapper.batchSave(feedback.getWorkstationId(), insertData);
//鎴戜滑浣跨敤servcie淇濆瓨
+ DeviceStateService stateService = SpringUtil.getBean(DeviceStateService.class);
+ stateService.saveDeviceStates(insertData);
List<WorkstationFeedbackTimeQuantumDTO> effectiveFeedbackTimeQuantumList = analyseResult.getEffectiveFeedbackTimeQuantumList();
- List<WorkstationWcsFeedbackDetail> detailList = (List<WorkstationWcsFeedbackDetail>)effectiveFeedbackTimeQuantumList.stream().map(x -> convertFeedbackTimeQuantumToDetail(analyseResult.getWorkstationId(), x)).collect(Collectors.toList());
+ List<WorkstationWcsFeedbackDetail> detailList = effectiveFeedbackTimeQuantumList.stream().map(x -> convertFeedbackTimeQuantumToDetail(analyseResult.getWorkstationId(), x)).collect(Collectors.toList());
+
this.workstationFeedbackDetailService.remove(Wrappers.<WorkstationWcsFeedbackDetail>lambdaQuery()
.eq(WorkstationWcsFeedbackDetail::getFeedbackId, analyseResult.getFeedbackId())
.eq(WorkstationWcsFeedbackDetail::getStatus, FeedbackDetailStatusEnum.BE_EFFECTIVE.getValue()));
@@ -102,6 +107,32 @@
deviceStateAggregateService.stateAggregate(feedback.getWorkstationId());
}
+ /**
+ * 闈炲浐瀹氱偣鏀逛负鍒犻櫎鐘舵�侊紱鍥哄畾鐐硅缃负鍒濆鐘舵��
+ * @param deviceState
+ * @return
+ */
+ private DeviceState resetEffectiveWorkstationState(DeviceState deviceState) {
+ if (deviceState.getIsFixPoint()) {
+ deviceState.setFeedbackPointType(FeedbackTimePointEnum.NO_FEED_BACK_POINT.getValue());
+ deviceState.setValueCollect(0);
+ deviceState.setWcs(0);
+ deviceState.setIsPlan(null);
+ deviceState.setRps(0);
+ deviceState.setIsSync(false);
+ deviceState.setIsDeleted(false);
+ } else {
+ deviceState.setIsDeleted(true);
+ }
+ return deviceState;
+ }
+
+ /**
+ * 浠ewFeedbackStateList涓哄熀纭�锛屽鏋渆ffectiveStateList涓殑鐐逛笌newFeedbackStateList涓殑鏁版嵁鏃堕棿涓嶇浉绛夛紝鍒欏皢effectiveStateList涓殑鐐瑰姞鍏�
+ * @param newFeedbackStateList 鏍规嵁鍙嶉杞崲鍑烘潵鐨勭姸鎬佹暟鎹�
+ * @param effectiveStateList 鍙嶉鏃堕棿娈靛唴鐨勯潪鍙嶉鐐�
+ * @return
+ */
private List<DeviceState> generateWorkstationState(List<DeviceState> newFeedbackStateList, List<DeviceState> effectiveStateList) {
List<DeviceState> resultList = new ArrayList<>();
resultList.addAll(newFeedbackStateList);
@@ -118,40 +149,47 @@
return resultList;
}
+ /**
+ * 灏嗗弽棣堢殑鏃堕棿鐐硅浆鎹负璁惧鐘舵��
+ * @param workstationId
+ * @param timePoint
+ * @param fixPointStateList
+ * @param stateMapper
+ * @return
+ */
private DeviceState convertFeedbackPointToWorkstationState(Long workstationId, WorkstationFeedbackTimePointDTO timePoint, List<DeviceState> fixPointStateList, DeviceStateMapper stateMapper) {
- DeviceState workstationState = new DeviceState();
- workstationState.setTime(Long.valueOf(timePoint.getFeedbackTime().getTime()));
- workstationState.setWcs(Integer.valueOf(timePoint.getWcs()));
- workstationState.setValueCollect(Integer.valueOf(timePoint.getWcs()));
- workstationState.setWorkstationId(workstationId);
- workstationState.setIsDeleted(Boolean.FALSE);
- workstationState.setIsSync(false);
- workstationState.setIsFixPoint(Boolean.FALSE);
- workstationState.setFeedbackId(timePoint.getFeedbackId());
- workstationState.setFeedbackPointType(timePoint.getPointEnum().getValue());
+ DeviceState state = new DeviceState();
+ state.setTime(timePoint.getFeedbackTime().getTime());
+ state.setWcs(Integer.valueOf(timePoint.getWcs()));
+ state.setValueCollect(Integer.valueOf(timePoint.getWcs()));
+ state.setWorkstationId(workstationId);
+ state.setIsDeleted(false);
+ state.setIsSync(false);
+ state.setIsFixPoint(false);
+ state.setFeedbackId(timePoint.getFeedbackId());
+ state.setFeedbackPointType(timePoint.getPointEnum().getValue());
DeviceState matchRecord = fixPointStateList.stream().filter(x -> {
return x.getTime().equals(Long.valueOf(timePoint.getFeedbackTime().getTime()));
}).findFirst().orElse(null);
if (Func.isNotEmpty(matchRecord)) {
- workstationState.setCalendarCode(matchRecord.getCalendarCode());
- workstationState.setFactoryYear(matchRecord.getFactoryYear());
- workstationState.setFactoryWeek(matchRecord.getFactoryWeek());
- workstationState.setFactoryMonth(matchRecord.getFactoryMonth());
- workstationState.setFactoryDate(matchRecord.getFactoryDate());
- workstationState.setIsFixPoint(matchRecord.getIsFixPoint());
- workstationState.setShiftTimeType(matchRecord.getShiftTimeType());
- workstationState.setShiftIndex(matchRecord.getShiftIndex());
+ state.setCalendarCode(matchRecord.getCalendarCode());
+ state.setFactoryYear(matchRecord.getFactoryYear());
+ state.setFactoryWeek(matchRecord.getFactoryWeek());
+ state.setFactoryMonth(matchRecord.getFactoryMonth());
+ state.setFactoryDate(matchRecord.getFactoryDate());
+ state.setIsFixPoint(matchRecord.getIsFixPoint());
+ state.setShiftTimeType(matchRecord.getShiftTimeType());
+ state.setShiftIndex(matchRecord.getShiftIndex());
} else {
- workstationState = wrapperShiftInfo(workstationState, stateMapper);
+ state = wrapperShiftInfo(state, stateMapper);
}
-
//GlobalWcsOfRps setting = WorkstationCache.getWorkstationWcsSetting(workstationId, timePoint.getWcs());
WorkstationCache workstationCache = SpringUtil.getBean(WorkstationCache.class);
GlobalWcsOfRps setting = workstationCache.getWorkstationWcsSetting(workstationId, timePoint.getWcs());
- workstationState.setRps(setting.getRps());
- workstationState.setIsPlan(setting.getIsPlan());
- return workstationState;
+ state.setRps(setting.getRps());
+ state.setIsPlan(setting.getIsPlan());
+ return state;
}
private DeviceState wrapperShiftInfo(DeviceState workstationState, DeviceStateMapper stateMapper) {
@@ -197,18 +235,5 @@
return detail;
}
- private DeviceState resetEffectiveWorkstationState(DeviceState workstationState) {
- if (workstationState.getIsFixPoint().booleanValue()) {
- workstationState.setFeedbackPointType(FeedbackTimePointEnum.NO_FEED_BACK_POINT.getValue());
- workstationState.setValueCollect(0);
- workstationState.setWcs(0);
- workstationState.setIsPlan(null);
- workstationState.setRps(0);
- workstationState.setIsSync(Boolean.FALSE);
- workstationState.setIsDeleted(Boolean.FALSE);
- } else {
- workstationState.setIsDeleted(Boolean.TRUE);
- }
- return workstationState;
- }
+
}
--
Gitblit v1.9.3