From fe82f1f9a9be911d1420fe3b018ea85dd5fff1a3 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 21 十一月 2024 21:22:58 +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