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/NoImmediateFeedbackAnalyseResultBuilder.java | 4 collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackHandlerStrategy.java | 111 ++++++++++++++++++++++-------------- collect/src/main/java/com/qianwen/mdc/collect/service/feedback/WorkstationFeedbackService.java | 5 - collect/src/main/java/com/qianwen/mdc/collect/service/DeviceStateAggregateService.java | 2 collect/src/main/resources/application-dev.yml | 6 +- collect/src/main/java/com/qianwen/mdc/collect/job/FeedbackDealJob.java | 1 collect/src/main/java/com/qianwen/mdc/collect/config/MqttConfig.java | 3 + collect/src/main/java/com/qianwen/mdc/collect/enums/FeedbackTypeEnum.java | 3 + 8 files changed, 83 insertions(+), 52 deletions(-) diff --git a/collect/src/main/java/com/qianwen/mdc/collect/config/MqttConfig.java b/collect/src/main/java/com/qianwen/mdc/collect/config/MqttConfig.java index 592d1e1..cfbba4d 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/config/MqttConfig.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/config/MqttConfig.java @@ -65,6 +65,9 @@ */ public static final String FEEDBACK_TOPIC = "mdc/feedback"; + /** + * 宸ヤ綅鍒涘缓娑堟伅锛宮dc涓柊寤哄伐浣嶆椂鍙戦�侊紝鏈簲鐢ㄦ帴鏀跺苟澶勭悊 + */ public static final String WOCKSTATION_CREATE_TOPIC = "mdc/workstation-create"; /** diff --git a/collect/src/main/java/com/qianwen/mdc/collect/enums/FeedbackTypeEnum.java b/collect/src/main/java/com/qianwen/mdc/collect/enums/FeedbackTypeEnum.java index c1a4e1e..42a7afa 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/enums/FeedbackTypeEnum.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/enums/FeedbackTypeEnum.java @@ -1,5 +1,8 @@ package com.qianwen.mdc.collect.enums; +/** + * 鍙嶉绫诲瀷 + */ public enum FeedbackTypeEnum { TIME_RANGE_FEEDBACK(0, "鏃堕棿娈靛弽棣�"), IMMEDIATE_FEEDBACK(1, "鎸佺画鍙嶉"), diff --git a/collect/src/main/java/com/qianwen/mdc/collect/job/FeedbackDealJob.java b/collect/src/main/java/com/qianwen/mdc/collect/job/FeedbackDealJob.java index 8fb660a..ad0b739 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/job/FeedbackDealJob.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/job/FeedbackDealJob.java @@ -25,6 +25,7 @@ XxlJobLogger.log("XXL-JOB, 瀹氭椂鎵弿鍙嶉璁板綍缁撴潫", new Object[0]); } catch (Exception ex) { log.info("瀹氭椂鎵弿妫�鏌ュ弽棣堣褰�,鍙戠敓寮傚父", ex); + return ReturnT.FAIL; } return ReturnT.SUCCESS; } diff --git a/collect/src/main/java/com/qianwen/mdc/collect/service/DeviceStateAggregateService.java b/collect/src/main/java/com/qianwen/mdc/collect/service/DeviceStateAggregateService.java index a53d294..50b50f3 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/service/DeviceStateAggregateService.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/service/DeviceStateAggregateService.java @@ -97,7 +97,7 @@ deviceStateService.saveDeviceStates(noFeedbackStateList);//鏇存柊isSync=true ////浣跨敤workstationWcsFeedbackMapper鏇存柊鍙嶉寰楃姸鎬�,鎴戜滑涓嶉渶瑕� //IWorkstationFeedbackService workstationFeedbackService = SpringUtil.getBean(IWorkstationFeedbackService.class); - workstationFeedbackService.handlerFeedbackComplete(workstationId); + workstationFeedbackService.handlerFeedbackComplete(workstationId);//澶勭悊鍙嶉鏃跺�欎細鐢熸垚processing鐘舵�佺殑鍙嶉鏁版嵁锛岃繖閲屾槸瀹屾垚 log.info("鑱氬悎鐘舵�佸畬鎴�:宸ヤ綅{}",workstationId); } diff --git a/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackAnalyseResultBuilder.java b/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackAnalyseResultBuilder.java index 576832f..bb50334 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackAnalyseResultBuilder.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/NoImmediateFeedbackAnalyseResultBuilder.java @@ -48,7 +48,7 @@ relatedWorkstationFeedbackList.forEach(item -> { WorkstationFeedbackViewDTO temp = new WorkstationFeedbackViewDTO(); temp.setWorkstationWcsFeedback(item); - temp.setIsDeleted(Boolean.FALSE); + temp.setIsDeleted(false); if (FeedbackTypeEnum.TIME_RANGE_FEEDBACK.isEqual(Integer.valueOf(feedback.getFeedbackType()))) { List<WorkstationWcsFeedbackDetail> detailList = this.workstationWcsFeedbackDetailMapper.selectList(Wrappers.<WorkstationWcsFeedbackDetail>lambdaQuery() .eq(WorkstationWcsFeedbackDetail::getCancel, 0) @@ -61,7 +61,7 @@ .eq(WorkstationWcsFeedbackDetail::getCancel, 1).eq(WorkstationWcsFeedbackDetail::getStatus, FeedbackDetailStatusEnum.LOSE_EFFECT.getValue()) .eq(WorkstationWcsFeedbackDetail::getFeedbackId, item.getId())); if (Func.isNotEmpty(deletedList)) - temp.setIsDeleted(Boolean.TRUE); + temp.setIsDeleted(true); } } workstationFeedbackViewList.add(temp); 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; - } + } diff --git a/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/WorkstationFeedbackService.java b/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/WorkstationFeedbackService.java index b026049..d178f30 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/WorkstationFeedbackService.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/service/feedback/WorkstationFeedbackService.java @@ -54,7 +54,6 @@ this.bladeRedis = bladeRedis; }*/ - //@Override /** * 鍙戦�佹秷鎭� * @param workstationId @@ -86,7 +85,7 @@ } } - //@Override + // @RedisLock(value = "lock:posting:state", param = "#workstationId", leaseTime = 240) /** * 澶勭悊鐘舵�佸弽棣� @@ -110,7 +109,7 @@ /**/ /** - * 澶勭悊鍙嶉瀹屾垚 + * 澶勭悊鍙嶉瀹屾垚锛屽湪鐘舵�佽仛鍚堝畬鎴愮殑鏃跺�欒皟鐢� * @param workstationId */ public void handlerFeedbackComplete(Long workstationId) { diff --git a/collect/src/main/resources/application-dev.yml b/collect/src/main/resources/application-dev.yml index 66a4cb5..cd74fe0 100644 --- a/collect/src/main/resources/application-dev.yml +++ b/collect/src/main/resources/application-dev.yml @@ -1,6 +1,6 @@ spring: redis: - database: 2 + database: 5 host: 120.46.212.231 port: 6379 password: root @@ -11,7 +11,7 @@ #MQTT-鏈嶅姟绔湴鍧� mqtt: - host: tcp://82.156.1.83:1884 + host: tcp://broker.emqx.io:1883 #username=admin #MQTT-鏈嶅姟绔敤鎴峰悕 #password=public #MQTT-鏈嶅姟绔瘑鐮� cleansession: false #MQTT-鏄惁娓呯悊session @@ -35,7 +35,7 @@ #iotdb 浠ュ強鍏秊dbc涓�璧烽厤缃� iotdb: driver: org.apache.iotdb.jdbc.IoTDBDriver - host: 120.46.212.231 #120.46.212.231 localhost + host: 116.63.148.72 #120.46.212.231 localhost 116.63.148.72 port: 6667 maxSize: 100 username: root -- Gitblit v1.9.3