From d66fe6d46cdbaeb88e68ad96da6deb0b35cd131b Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期五, 15 十一月 2024 11:36:28 +0800 Subject: [PATCH] 清理无用代码 --- smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/controller/TraceFlowRecordController.java | 3 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/ProcessParameterServiceImpl.java | 33 ++-- smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/ICalendarService.java | 5 smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/ITraceFlowRecordService.java | 2 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/controller/ProcessParameterController.java | 8 smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java | 9 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/EfficiencyAnalysisServiceImpl.java | 7 smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java | 23 +- smart-man-boot/src/main/resources/application-dev.yml | 4 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.java | 3 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackServiceImpl.java | 14 - smart-man-boot/src/main/java/com/qianwen/smartman/common/config/MdcMqttConfig.java | 2 smart-man-boot/src/main/java/com/qianwen/smartman/common/utils/LocalDateTimeUtils.java | 15 + /dev/null | 26 --- smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IProcessParameterService.java | 4 smart-man-boot/pom.xml | 6 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/StatusRecordServiceImpl.java | 8 smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImpl.java | 107 ++++++++++---- smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IStatusRecordService.java | 2 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java | 2 smart-man-boot/src/test/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImplTest.java | 76 ++++++++++ smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IWorkstationFeedbackService.java | 7 + 22 files changed, 245 insertions(+), 121 deletions(-) diff --git a/smart-man-boot/pom.xml b/smart-man-boot/pom.xml index bf2da59..08028d1 100644 --- a/smart-man-boot/pom.xml +++ b/smart-man-boot/pom.xml @@ -498,6 +498,12 @@ <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + </dependency> </dependencies> <build> diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/common/config/MdcMqttConfig.java b/smart-man-boot/src/main/java/com/qianwen/smartman/common/config/MdcMqttConfig.java index 0743b8c..129e4cf 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/common/config/MdcMqttConfig.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/common/config/MdcMqttConfig.java @@ -64,7 +64,7 @@ /** * 鍙嶉鍒涘缓鐨則opic锛坢dc涓級锛屾湰搴旂敤鎺ユ敹骞跺鐞� */ - public static final String FEEDBACK_TOPIC = "mdc/feedback"; + //public static final String FEEDBACK_TOPIC = "mdc/feedback"; public static final String WOCKSTATION_CREATE_TOPIC = "mdc/workstation-create"; diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/common/utils/LocalDateTimeUtils.java b/smart-man-boot/src/main/java/com/qianwen/smartman/common/utils/LocalDateTimeUtils.java index b23a044..1bc5410 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/common/utils/LocalDateTimeUtils.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/common/utils/LocalDateTimeUtils.java @@ -79,12 +79,23 @@ return time.withHour(23).withMinute(59).withSecond(59).withNano(999999999); } + /** + * 璁$畻涓�骞寸殑澶╂暟 + * @param year 骞翠唤 + * @return year鎸囧畾鐨勫勾浠芥�诲ぉ鏁� + */ public static Integer getDayOfYear(Integer year) { - return Integer.valueOf(LocalDate.of(year.intValue(), 1, 1).isLeapYear() ? 366 : 365); + return Integer.valueOf(LocalDate.of(year, 1, 1).isLeapYear() ? 366 : 365); } + /** + * 璁$畻2涓棩鏈熷ぉ鏁扮殑宸� endDate-startDate + * @param startDate + * @param endDate + * @return + */ public static Integer getDifference(LocalDate startDate, LocalDate endDate) { - Long l = Long.valueOf(endDate.toEpochDay() - startDate.toEpochDay()); + Long l = Long.valueOf(endDate.toEpochDay() - startDate.toEpochDay());//l.intValue() Integer difference = Integer.valueOf(Integer.parseInt(l.toString())); return difference; } diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/controller/ProcessParameterController.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/controller/ProcessParameterController.java index fdc4d01..41d3a59 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/controller/ProcessParameterController.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/controller/ProcessParameterController.java @@ -36,7 +36,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@Api(value = "鍔犲伐杩囩▼鍙傛暟controller", tags = {"鍔犲伐杩囩▼鍙傛暟controller"}) +@Api(value = "鍔犲伐杩囩▼鍙傛暟", tags = {"鍔犲伐杩囩▼鍙傛暟"}) @ApiResource({"mdc/process-parameter"}) @RestController public class ProcessParameterController { @@ -52,13 +52,14 @@ return R.data(this.processParameterService.queryProcessParameterChart(vo)); } + /* @ApiOperationSupport(order = 2) @PostResource({"/sheet"}) @ApiOperation(ExcelConstant.PROCESS_PARAMETER) @PreAuth public R<ProParamSheetVO> queryProcessParameterSheet(@Valid @RequestBody ProcessParameterSearchVO vo) { return R.data(this.processParameterService.queryProcessParameterSheet(vo, true)); - } + }*/ @ApiOperationSupport(order = 3) @PostResource({"/item"}) @@ -93,13 +94,14 @@ return R.data(this.processParameterService.processParams(workstationId)); } + /* @ApiOperationSupport(order = 6) @PostResource({"/excel/export"}) @ApiOperation("瀵煎嚭鍔犲伐杩囩▼鍙傛暟") @PreAuth public R<BladeFile> exportProcessParam(@RequestBody ProcessParamExcelVO vo) { return R.data(this.processParameterService.exportProcessParam(vo)); - } + }*/ @ApiOperationSupport(order = 7) @PostResource({"/shift-time"}) diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/jobHandler/CacheNewCollectXxlJob.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/jobHandler/CacheNewCollectXxlJob.java deleted file mode 100644 index b870ff2..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/jobHandler/CacheNewCollectXxlJob.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.qianwen.smartman.modules.mdc.jobHandler; - -import com.xxl.job.core.biz.model.ReturnT; -import com.xxl.job.core.handler.annotation.XxlJob; -import com.xxl.job.core.log.XxlJobLogger; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.qianwen.smartman.modules.mdc.service.ICollectDataService; -import org.springframework.stereotype.Component; - -/** - * xxljob浠诲姟锛屽悓姝ュ綋鍓嶆椂闂村叏閲忓弬鏁帮紝浠庣紦瀛樺埌new_param_json_[宸ヤ綅id]琛� - */ -@Component -public class CacheNewCollectXxlJob { - private static final Logger log = LoggerFactory.getLogger(CacheNewCollectXxlJob.class); - private final ICollectDataService collectService; - - public CacheNewCollectXxlJob(final ICollectDataService collectService) { - this.collectService = collectService; - } - - //鏆傛椂鍘绘帀锛屾病鏈夌敤 - //@XxlJob("allDmpCollectDataJobHandler") - public ReturnT<String> allDmpCollectDataJobHandler(String param) throws Exception { - XxlJobLogger.log("XXL-JOB, 鑾峰彇DMP閲囬泦鍙傛暟褰撳墠鏃堕棿鍏ㄩ噺鏁版嵁.....缂撳瓨鏋勫缓寮�濮�", new Object[0]); - this.collectService.cacheNowCollectData(); - XxlJobLogger.log("XXL-JOB, 鑾峰彇DMP閲囬泦鍙傛暟褰撳墠鏃堕棿鍏ㄩ噺鏁版嵁.....缂撳瓨鏋勫缓缁撴潫", new Object[0]); - return ReturnT.SUCCESS; - } -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/SuperCollectJsonMapper.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/SuperCollectJsonMapper.java deleted file mode 100644 index b5f226e..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/SuperCollectJsonMapper.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.qianwen.smartman.modules.mdc.mapper; - -import com.baomidou.dynamic.datasource.annotation.DS; -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.qianwen.smartman.common.constant.FmsConstant; -import com.qianwen.smartman.modules.mdc.dto.NewParamDTO; -import com.qianwen.smartman.modules.mdc.dto.NewParamSaveDTO; - -@DS("tdengine") -@InterceptorIgnore(tenantLine = FmsConstant.AUTOMATIC) -public interface SuperCollectJsonMapper { - void insertValueJson(List<NewParamSaveDTO> data); - - List<NewParamDTO> queryProcessParameter(@Param("workstationId") String workstationId, @Param("startTime") Long startTime, @Param("endTime") Long endTime); -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/SuperNewCollectMapper.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/SuperNewCollectMapper.java deleted file mode 100644 index 9e6607c..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/mapper/SuperNewCollectMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.qianwen.smartman.modules.mdc.mapper; - -import com.baomidou.dynamic.datasource.annotation.DS; -import com.baomidou.mybatisplus.annotation.InterceptorIgnore; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; -import org.apache.ibatis.annotations.Param; -import com.qianwen.smartman.common.constant.FmsConstant; -import com.qianwen.smartman.modules.mdc.dto.ProcessParameterVO; -import com.qianwen.smartman.modules.mdc.entity.SuperNewCollectData; - -@DS("tdengine") -@InterceptorIgnore(tenantLine = FmsConstant.AUTOMATIC) -public interface SuperNewCollectMapper extends BaseMapper<SuperNewCollectData> { - void createSuperTable(); - - void insertData(@Param("collects") List<SuperNewCollectData> collects); - - List<ProcessParameterVO> queryProcessParameter(@Param("workstationId") String workstationId, @Param("collectItems") List<String> collectItems, @Param("startTime") Long startTime, @Param("endTime") Long endTime); - - List<ProcessParameterVO> queryProcessParameterByTime(@Param("workstationId") String workstationId, @Param("collectItems") List<String> collectItems, @Param("startTime") Long startTime, @Param("endTime") Long endTime); - - Long countProcessParameter(@Param("item") String item, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("workstationId") String workstationId); - - List<ProcessParameterVO> pageProcessParameter(@Param("size") Integer size, @Param("current") Integer current, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("item") String item, @Param("workstationId") String workstationId); -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/ICollectDataService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/ICollectDataService.java deleted file mode 100644 index d439b8c..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/ICollectDataService.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.qianwen.smartman.modules.mdc.service; - -public interface ICollectDataService { - void cacheNowCollectData(); -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IProcessParameterService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IProcessParameterService.java index 8151d68..1010384 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IProcessParameterService.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IProcessParameterService.java @@ -35,9 +35,9 @@ */ //List<WorkstationWcsDmpDTO> processParam(String workstationId); - ProParamSheetVO queryProcessParameterSheet(ProcessParameterSearchVO vo, Boolean isFilterProcessParameter); + //ProParamSheetVO queryProcessParameterSheet(ProcessParameterSearchVO vo, Boolean isFilterProcessParameter); - BladeFile exportProcessParam(ProcessParamExcelVO vo); + //BladeFile exportProcessParam(ProcessParamExcelVO vo); ShiftTimeVO getShiftTime(ProcessParameterSearchVO vo); diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IStatusRecordService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IStatusRecordService.java index d90196d..32c2c4b 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IStatusRecordService.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IStatusRecordService.java @@ -24,7 +24,7 @@ List<ChartDataVO> getTimeDistribution(StatusRecordDetailSelectVO statusRecordDetailSelectVO); /** - * 鏌ヨ璁惧鏁堢巼锛屽湪宸ヤ綅鏁版嵁鐣岄潰锛堣澶囨晥鐜囩粺璁″浘锛夛紝鐐瑰嚮鏌愪竴涓満鍣ㄧ殑鏃跺�欒皟鐢� + * 缁熻璁惧鏁堢巼锛屽湪宸ヤ綅鏁版嵁鐣岄潰锛堣澶囨晥鐜囩粺璁″浘锛夛紝鐐瑰嚮鏌愪竴涓満鍣ㄧ殑鏃跺�欒皟鐢� * @param statusRecordDetailSelectVO 鏌ヨ鍙傛暟 * @return */ diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/ISuperNewCollectService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/ISuperNewCollectService.java deleted file mode 100644 index 2684219..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/ISuperNewCollectService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.qianwen.smartman.modules.mdc.service; - -import java.util.Set; - -public interface ISuperNewCollectService { - /** - * 鍚屾褰撳墠鏃堕棿鍏ㄩ噺鍙傛暟 - * @param workstationIds 宸ヤ綅id闆嗗悎 - */ - void insertData(Set<String> workstationIds); -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IWorkstationFeedbackService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IWorkstationFeedbackService.java index 605066a..5c08fcf 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IWorkstationFeedbackService.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/IWorkstationFeedbackService.java @@ -51,6 +51,13 @@ @RedisLock(value = ExtCacheConstant.WORK_FEEDBACK, param = "#dto.workstationId") boolean endAndStartAgainFeedback(WorkstationEndAndStartImmediateFeedBackDTO dto); + /** + * 浠庡弽棣堢殑redis缂撳瓨涓幏鍙栫姸鎬佽褰曠殑鏁版嵁 + * @param statusTime + * @param workstationIds + * @param statusRecordList + * @return + */ List<StatusRecordVO> groupStatusRecordWithFeedbackCache(final LocalDate statusTime, final Long workstationIds, final List<StatusRecordVO> statusRecordList); @Cacheable(cacheNames = {WORK_FEEDBACK_EXP}, key = "'id:'.concat(#id)") diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java index a3ec464..046662b 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/RealTimeDataService.java @@ -49,7 +49,7 @@ preT = tempStatusVO.getTime().getTime(); } statusJson.put("preT", preT); - + //statusJson.put("t", System.currentTimeMillis());//鏃堕棿鏀逛负褰撳墠) map.put(statusDpName, statusJson);//瑕嗙洊鍘熸潵鐨凞eviceStatus } } diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/CollectDataServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/CollectDataServiceImpl.java deleted file mode 100644 index 2480bfa..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/CollectDataServiceImpl.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.qianwen.smartman.modules.mdc.service.impl; - -import java.util.Map; -import java.util.Set; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.qianwen.smartman.common.cache.cps.WorkstationCache; -import com.qianwen.core.tool.utils.Func; -import com.qianwen.smartman.modules.smis.dto.WorkstationDTO; -import com.qianwen.smartman.modules.mdc.service.ICollectDataService; -import com.qianwen.smartman.modules.mdc.service.ISuperNewCollectService; -import org.springframework.stereotype.Service; - -/** - * super_collect_data_json琛ㄥ叆搴� - */ -@Service -public class CollectDataServiceImpl implements ICollectDataService { - private static final Logger log = LoggerFactory.getLogger(CollectDataServiceImpl.class); - private final ISuperNewCollectService collectService; - - public CollectDataServiceImpl(final ISuperNewCollectService collectService) { - this.collectService = collectService; - } - - @Override - public void cacheNowCollectData() { - Map<String, WorkstationDTO> workstationMap = WorkstationCache.getWorkstations(); - if (Func.isEmpty(workstationMap)) { - log.info("娌℃湁鑾峰彇鍒板伐浣嶄俊鎭�"); - return; - } - Set<String> workstationIds = workstationMap.keySet(); - this.collectService.insertData(workstationIds); - } -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/EfficiencyAnalysisServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/EfficiencyAnalysisServiceImpl.java index ae6f235..4db2718 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/EfficiencyAnalysisServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/EfficiencyAnalysisServiceImpl.java @@ -101,11 +101,14 @@ IPage<Workstation> workstationPage = WorkstationConvert.INSTANCE.convert(workstationVOPage); List<Long> workstationIds = workstationPage.getRecords().stream().map(Workstation::getId).collect(Collectors.toList()); List<IntervalDateDto> intervalDates = LocalDateTimeUtils.getIntervalDate(statisticsAnalysisQueryVO.getStartDate(), statisticsAnalysisQueryVO.getEndDate()); + + //閮芥槸鐢ㄩ噰闆嗙殑鏁版嵁锛坓etStatusData锛夛紝涓嶇敤鍙嶉鐨勩�傝鍒掑唴澶栨墍鏈夌姸鎬侀兘鑳借缃�� if (statisticsAnalysisQueryVO.getProductivityType() == ProductivityTypeEnum.OEE) { - superAggregateStates = this.superAggregateStateService.getStatusDataWithFeedback(workstationIds, statisticsAnalysisQueryVO.getStatisticalMethod(), statisticsAnalysisQueryVO.getStartDate(), statisticsAnalysisQueryVO.getEndDate()); + //superAggregateStates = this.superAggregateStateService.getStatusDataWithFeedback(workstationIds, statisticsAnalysisQueryVO.getStatisticalMethod(), statisticsAnalysisQueryVO.getStartDate(), statisticsAnalysisQueryVO.getEndDate()); } else { - superAggregateStates = this.superAggregateStateService.getStatusData(workstationIds, statisticsAnalysisQueryVO.getStatisticalMethod(), statisticsAnalysisQueryVO.getStartDate(), statisticsAnalysisQueryVO.getEndDate()); + //superAggregateStates = this.superAggregateStateService.getStatusData(workstationIds, statisticsAnalysisQueryVO.getStatisticalMethod(), statisticsAnalysisQueryVO.getStartDate(), statisticsAnalysisQueryVO.getEndDate()); } + superAggregateStates = this.superAggregateStateService.getStatusData(workstationIds, statisticsAnalysisQueryVO.getStatisticalMethod(), statisticsAnalysisQueryVO.getStartDate(), statisticsAnalysisQueryVO.getEndDate()); List<SuperAggregate> superAggregateList = superAggregateStates.stream().filter(x -> { return x.getWcs() > 0; }).collect(Collectors.toList()); diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/ProcessParameterServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/ProcessParameterServiceImpl.java index 1839590..d832ade 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/ProcessParameterServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/ProcessParameterServiceImpl.java @@ -68,7 +68,7 @@ import com.qianwen.smartman.modules.mdc.dto.StatusDTO; import com.qianwen.smartman.modules.mdc.entity.WorkstationCollectData; import com.qianwen.smartman.modules.mdc.enums.ProcessParamEnum; -import com.qianwen.smartman.modules.mdc.mapper.SuperCollectJsonMapper; +//import com.qianwen.smartman.modules.mdc.mapper.SuperCollectJsonMapper; import com.qianwen.smartman.modules.mdc.mapper.SuperProcessParameterMapper; import com.qianwen.smartman.modules.mdc.service.IProcessParameterService; import com.qianwen.smartman.modules.mdc.service.ProcessParameterHelperService; @@ -91,8 +91,8 @@ @Service public class ProcessParameterServiceImpl implements IProcessParameterService { private static final Logger log = LoggerFactory.getLogger(ProcessParameterServiceImpl.class); - @Autowired - private SuperCollectJsonMapper collectJsonMapper; + //@Autowired + //private SuperCollectJsonMapper collectJsonMapper; @Autowired private IWorkstationService workstationService; @Autowired @@ -221,7 +221,7 @@ return list.stream().filter(dp -> dp.getIsProcessParam()!=null && dp.getIsProcessParam()).collect(Collectors.toList()); } - + /* @Override public ProParamSheetVO queryProcessParameterSheet(ProcessParameterSearchVO vo, Boolean isFilterProcessParameter) { ProcessParamEnum methodEnum = vo.getMethodEnum(); @@ -233,8 +233,8 @@ default: return new ProParamSheetVO(); } - } - + }*/ + /* @Override public BladeFile exportProcessParam(ProcessParamExcelVO vo) { try { @@ -244,7 +244,7 @@ throw new RuntimeException(e); } } - + */ @Override public ShiftTimeVO getShiftTime(ProcessParameterSearchVO vo) { String workstationId = vo.getWorkstationId(); @@ -456,7 +456,7 @@ return entityVO(parameterList, wcs, collectItemMap); }).orElse(new ProcessParameterResVO()); } - + /* private ProParamSheetVO buildProcessHourSheet(ProcessParameterSearchVO vo, Boolean isFilterProcessParameter) { Date startTime = vo.getStartTime(); Date endTime = vo.getEndTime(); @@ -483,8 +483,8 @@ return new ProParamSheetVO(); } return buildSheetVO(vos, dtoList, wcs, getWcsMap()); - } - + }*/ + /* private ProParamSheetVO buildProcessShiftSheet(ProcessParameterSearchVO vo, Boolean isFilterProcessParameter) { Integer shift = vo.getShift(); LocalDate queryTime = vo.getQueryTime(); @@ -510,8 +510,8 @@ return new ProParamSheetVO(); } return buildSheetVO(vos, dtoList, wcs, getWcsMap()); - } - + }*/ + /* private BladeFile exportByHour(ProcessParamExcelVO vo) throws Exception { Date startTime = vo.getStartTime(); Date endTime = vo.getEndTime(); @@ -524,7 +524,8 @@ MultipartFile multipartFile = ExcelStrategyUtil.customerStyleExport(fileName, ExcelConstant.SHEET, head, content); return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile); } - + */ + /* private List<List<Object>> buildExcelContentByHour(Long workstationId, List<WorkstationWcsDmpDTO> collectItem, Date startTime, Date endTime) { Workstation workstation = (Workstation) this.workstationService.getById(workstationId); Map<Long, GroupWorkDTO> groupWorkMap = this.workstationService.queryGroupWorkStation(Lists.newArrayList(new Long[]{workstation.getId()})); @@ -539,7 +540,7 @@ return Lists.newArrayList(); } return buildExcelContentByHour(collectItem, parameterList, wcs, workstation, groupName, timeShiftAll); - } + }*/ private List<List<Object>> buildExcelContentByHour(List<WorkstationWcsDmpDTO> collectItem, List<NewParamDTO> parameterList, WorkstationWcsDmpDTO wcs, Workstation workstation, String groupName, List<CalendarShiftDTO> timeShiftAll) { List<Tuple> times = timeShiftAll.stream().map(calendarShiftDTO -> { @@ -583,11 +584,11 @@ } return head; } - + /* private List<NewParamDTO> processParameterList(Date startTime, Date endTime, String workstationId) { return this.collectJsonMapper.queryProcessParameter(workstationId, Long.valueOf(startTime.getTime()), Long.valueOf(endTime.getTime())); } - + */ private List<ProcessParameterVO> oldProcessParameterList(Date startTime, Date endTime, List<String> collectItems, String workstationId) { return this.parameterMapper.queryProcessParameter(workstationId, collectItems, Long.valueOf(startTime.getTime()), Long.valueOf(endTime.getTime())); } diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/StatusRecordServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/StatusRecordServiceImpl.java index f66c76a..843f0f4 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/StatusRecordServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/StatusRecordServiceImpl.java @@ -166,12 +166,16 @@ public List<ChartDataVO> getEquipmentEfficiency(StatusRecordDetailSelectVO statusRecordDetailSelectVO) { List<ChartDataVO> result = new ArrayList<>(); List<SuperAggregateState> superAggregateStateList = this.superAggregateStateService.getStatusData(Arrays.asList(statusRecordDetailSelectVO.getWorkstationId()), null, statusRecordDetailSelectVO.getDate(), statusRecordDetailSelectVO.getDate()); - List<SuperAggregateState> oeeAggregateStateList = this.superAggregateStateService.getStatusDataWithFeedback(Arrays.asList(statusRecordDetailSelectVO.getWorkstationId()), null, statusRecordDetailSelectVO.getDate(), statusRecordDetailSelectVO.getDate()); + + //涓嬮潰涓�琛屼笉鐢ㄤ簡锛屽簲涓虹鍔ㄧ巼鍐嶅垎鏋愯缃晫闈㈠拰杩欓噷涓嶇浉绗︼紝鎴戜滑鍚屾剰浣跨敤鐘舵�佹暟鎹紝涓嶇敤feedback鐨� + //List<SuperAggregateState> oeeAggregateStateList = this.superAggregateStateService.getStatusDataWithFeedback(Arrays.asList(statusRecordDetailSelectVO.getWorkstationId()), null, statusRecordDetailSelectVO.getDate(), statusRecordDetailSelectVO.getDate()); ProductivityTypeEnum[] values = ProductivityTypeEnum.values(); int length = values.length; for (int i = 0; i < length; i++) { ProductivityTypeEnum productivityTypeEnum = values[i]; - ChartDataVO chartData = new ChartDataVO().setName(productivityTypeEnum.getMessage()).setValue(EifficiencyUtils.calculationResults(productivityTypeEnum == ProductivityTypeEnum.OEE ? oeeAggregateStateList : superAggregateStateList, productivityTypeEnum)); + //ChartDataVO chartData = new ChartDataVO().setName(productivityTypeEnum.getMessage()).setValue(EifficiencyUtils.calculationResults(productivityTypeEnum == ProductivityTypeEnum.OEE ? oeeAggregateStateList : superAggregateStateList, productivityTypeEnum)); + //涓婇潰涓�琛岋紝鍘绘帀oee鐨勪紶鍊� + ChartDataVO chartData = new ChartDataVO().setName(productivityTypeEnum.getMessage()).setValue(EifficiencyUtils.calculationResults(superAggregateStateList, productivityTypeEnum)); result.add(chartData); } return result; diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/SuperNewCollectServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/SuperNewCollectServiceImpl.java deleted file mode 100644 index 53d1762..0000000 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/SuperNewCollectServiceImpl.java +++ /dev/null @@ -1,76 +0,0 @@ -package com.qianwen.smartman.modules.mdc.service.impl; - -import com.alibaba.fastjson.JSON; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.qianwen.smartman.common.cache.cps.WorkstationCache; -import com.qianwen.smartman.common.utils.CommonUtil; -import com.qianwen.core.tool.utils.DateUtil; -import com.qianwen.core.tool.utils.Func; -import com.qianwen.smartman.modules.smis.message.dto.TelemetryDataResponseDTO; -import com.qianwen.smartman.modules.mdc.constant.CollectConstant; -import com.qianwen.smartman.modules.mdc.dto.NewParamSaveDTO; -import com.qianwen.smartman.modules.mdc.mapper.SuperCollectJsonMapper; -import com.qianwen.smartman.modules.mdc.service.ISuperNewCollectService; -import org.springframework.stereotype.Service; - -@Service -public class SuperNewCollectServiceImpl implements ISuperNewCollectService { - private final SuperCollectJsonMapper collectJsonMapper; - private static final Logger log = LoggerFactory.getLogger(SuperNewCollectServiceImpl.class); - private static final Map<Integer, String> PROCESS_PARAM_MAP = new HashMap<>(); - - static { - PROCESS_PARAM_MAP.put(1, "STATE"); - PROCESS_PARAM_MAP.put(2, "OUTPUT"); - PROCESS_PARAM_MAP.put(3, CollectConstant.ALARM); - PROCESS_PARAM_MAP.put(4, "PROGRAMNUM"); - PROCESS_PARAM_MAP.put(5, "OUTPUT"); - PROCESS_PARAM_MAP.put(6, CollectConstant.ALARM); - PROCESS_PARAM_MAP.put(7, CollectConstant.ALARM); - } - - public SuperNewCollectServiceImpl(final SuperCollectJsonMapper collectJsonMapper) { - this.collectJsonMapper = collectJsonMapper; - } - - - @Override - public void insertData(Set<String> workstationIds) { - List<NewParamSaveDTO> data = workstationIds.stream().map(workstationId -> { - Map<String, Object> realTimeData = WorkstationCache.getWorkstationAllCollect(workstationId);//瀹炴椂鏁版嵁锛� - if (Func.isNotEmpty(realTimeData)) { - int size = realTimeData.size(); - long time = DateUtil.now().getTime(); - Map<String, String> valuesMap = new HashMap<>(size); - realTimeData.forEach((n, telemetry) -> { - if (!n.toUpperCase().contains(CollectConstant.ALARM)) {//鍘婚櫎ALARM鏁版嵁 - TelemetryDataResponseDTO dto = (TelemetryDataResponseDTO) telemetry; - String v = dto.getV(); - if (Func.isNotEmpty(v) && v.length() <= CollectConstant.MAX_VALUE.intValue() && !v.contains("timestamp")) { - valuesMap.put(n, v); - } - } - }); - String value = JSON.toJSONString(valuesMap); - log.info("閲囬泦鍙傛暟鏁版嵁: {}", value); - return NewParamSaveDTO.builder().value(value).ts(Long.valueOf(time)).workstationId(workstationId).build(); - } - return null; - }).filter((v0) -> { - return Func.notNull(v0); - }).collect(Collectors.toList()); - List<List<NewParamSaveDTO>> groupList = CommonUtil.groupList(data, 10); - - groupList.forEach(this.collectJsonMapper::insertValueJson); - /* - SuperCollectJsonMapper superCollectJsonMapper = this.collectJsonMapper; - superCollectJsonMapper.getClass(); - groupList.forEach(this::insertValueJson);*/ - } -} diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.java index c542eae..f54a359 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackDetailServiceImpl.java @@ -40,9 +40,10 @@ @Override public List<WorkstationFeedbackDetail> cancelFeedback(final LocalDate queryDate, final Long workstationId) { + //鍦ㄦ帴鍙d笂锛岃鏂规硶宸茬粡琚紦瀛樺埌浜唕edis锛堝叿浣撻敭鍊艰鏌ョ湅鎺ュ彛鏂规硶娉ㄨВ锛夛紝鍒氬垰娣诲姞瀹屾暟鎹槸涓嶄細璁块棶杩欎釜鏂规硶鍐呴儴鎵ц鏌ヨ鐨勶紝鍒氭坊鍔犲畬杩斿洖涔熶笉浼氭湁WorkstationFeedbackDetail鏁版嵁 return list(Lambda.eq(WorkstationFeedbackDetail::getWorkstationId, workstationId) .dayBetween(queryDate, WorkstationFeedbackDetail::getStartTime, WorkstationFeedbackDetail::getEndTime) - .eq(WorkstationFeedbackDetail::getCancel, Boolean.valueOf(true)).orderByDesc(WorkstationFeedbackDetail::getStartTime)); + .eq(WorkstationFeedbackDetail::getCancel, true).orderByDesc(WorkstationFeedbackDetail::getStartTime)); /* return list((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> { return v0.getWorkstationId(); diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackServiceImpl.java index 9d2214b..ca6b628 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackServiceImpl.java @@ -132,14 +132,6 @@ return getOne(Lambda.eq(WorkstationFeedback::getWorkstationId, workstationId) .eq(WorkstationFeedback::getFeedbackType, FeedbackType.IMMEDIATE.getValue()) .isNull(WorkstationFeedback::getEndTime)); - /* - return (WorkstationFeedback) getOne((Wrapper) ((ExtraLambdaQueryWrapper) Lambda.eq((v0) -> { - return v0.getWorkstationId(); - }, workstationId).eq((v0) -> { - return v0.getFeedbackType(); - }, Integer.valueOf(FeedbackType.IMMEDIATE.getValue()))).isNull((v0) -> { - return v0.getEndTime(); - }));*/ } @Override @@ -157,7 +149,7 @@ updateById(oldFeedback); } WorkstationFeedback addFeedback = new WorkstationFeedback(); - addFeedback.setWorkstationId(Long.valueOf(Long.parseLong(workstationId))); + addFeedback.setWorkstationId(Long.parseLong(workstationId)); addFeedback.setStartTime(now); addFeedback.setFeedbackTime(now); if (Func.isNotEmpty(dto.getFeedUser())) { @@ -211,7 +203,7 @@ } /** - * 鎵归噺娓呴櫎 鍙嶉 + * 鎵归噺娓呴櫎鍙嶉鐨勭紦瀛橈紝涓昏鐢ㄤ簬鍒锋柊鍓嶇鐨勬樉绀烘暟鎹� * @param startTime * @param endTime * @param workstationIds @@ -225,7 +217,7 @@ } /** - * 鍗曚釜娓呮缂撳瓨涓殑鍙嶉锛屼粠catcheName=WORK_FEEDBACK_EXP3缂撳瓨涓垹闄� 瀹為檯key涓� group:feedback:list:blade:feedback#259200${workstationId}:yyyy-MM-dd HH:mm:ss + * 鍗曚釜娓呮缂撳瓨涓殑鍙嶉锛屼粠catcheName=WORK_FEEDBACK_EXP3缂撳瓨涓垹闄� 瀹為檯key涓� blade:feedback:group:feedback:list:blade:feedback#259200${workstationId}:yyyy-MM-dd HH:mm:ss * @param start * @param end * @param workstationId diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/ICalendarService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/ICalendarService.java index 506d33e..28fb2a9 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/ICalendarService.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/ICalendarService.java @@ -38,6 +38,11 @@ CalendarVO getCalendar(Long valueOf); + /** + * 淇敼鐢熶骇鏃ュ巻鏁版嵁 + * @param calendarUpdateVO + * @return + */ ProductionCalendar updateCalendar(CalendarUpdateVO calendarUpdateVO); ProductionCalendar copyCalendar(CalendarCopyVO calendarCopyVO); diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImpl.java index de23526..27a9438 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImpl.java @@ -10,6 +10,7 @@ import java.time.temporal.TemporalUnit; import java.util.ArrayList; import java.util.Calendar; +import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.HashMap; @@ -30,7 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.apache.commons.lang3.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.google.common.collect.Lists; @@ -94,6 +95,7 @@ import cn.hutool.core.lang.Snowflake; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; @Service public class CalendarServiceImpl extends ServiceImpl<CalendarMapper, ProductionCalendar> implements ICalendarService { @@ -114,6 +116,9 @@ @Transactional(rollbackFor = {Exception.class}) public ProductionCalendar saveCalendar(CalendarSaveVO calendarSaveVO) { checkCalendar(calendarSaveVO, AuthUtil.getTenantId()); + + checkDateDTOList(calendarSaveVO.getDateDTOList()); + ProductionCalendar productionCalendar = ProductionCalendarConvert.INSTANCE.conver(calendarSaveVO); save(productionCalendar); saveCalendarDayTime(calendarSaveVO.getDateDTOList(), productionCalendar); @@ -130,13 +135,48 @@ return productionCalendar; } + @Transactional @Override public ProductionCalendar updateCalendar(CalendarUpdateVO calendarUpdateVO) { + + checkDateDTOList(calendarUpdateVO.getDateDTOList()); + this.calendarDayService.deleteByCalendarId(calendarUpdateVO.getId()); this.calendarDaytimeService.deleteByCalendarId(calendarUpdateVO.getId()); ProductionCalendar calendar = getById(calendarUpdateVO.getId()); updateCalendarDayTime(calendarUpdateVO.getDateDTOList(), calendar); return calendar; + } + + /** + * 妫�鏌ュ叆鍙傛棩鏈熷垪琛ㄧ殑閲嶅鏁版嵁锛屾湁閲嶅鍒欐姏鍑洪敊璇俊鎭� + * @param dateDTOList + */ + void checkDateDTOList(List<CalendarDateDTO> dateDTOList) { + List<LocalDate> dupList = dupulicateDate(dateDTOList); + if(!dupList.isEmpty()) { + String msg = StringUtils.join(dupList.stream().map(dt -> dt.format(DateTimeFormatter.ISO_DATE)).collect(Collectors.toList()), ","); + throw new ServiceException("鏃ユ湡鏁版嵁閲嶅锛�"+msg); + } + } + /*** + * 鑾峰彇dateDTOList閲岄潰閲嶅鐨勬暟鎹紙鏍规嵁鏃ユ湡锛夛紝鏃ユ湡涓�澶╁彧鏈変竴鏉� + * @param dateDTOList + * @return + */ + List<LocalDate> dupulicateDate(List<CalendarDateDTO> dateDTOList) { + if(ObjectUtil.isEmpty(dateDTOList)) { + return Collections.emptyList(); + } + List<LocalDate> dupList = new ArrayList<>(); + + Map<LocalDate, List<CalendarDateDTO>> map = dateDTOList.stream().collect(Collectors.groupingBy(CalendarDateDTO::getCalendarDate)); + map.forEach((date,dtoList) -> { + if(dtoList.size()>1) { + dupList.add(date); + } + }); + return dupList; } private void saveCalendarDayTime(List<CalendarDateDTO> dateDTOList, ProductionCalendar productionCalendar) { @@ -258,52 +298,53 @@ } private void updateCalendarDayTime(List<CalendarDateDTO> dateDTOList, ProductionCalendar calenadar) { - + final LocalDate localDateNow = LocalDate.now(); Long calendarId = calenadar.getId(); Integer year = calenadar.getYear(); - Integer currentYear = Integer.valueOf(LocalDate.now().getYear()); - Set<LocalDate> dateList = dateDTOList.stream().filter(c -> { - return !Func.isNull(c.getModelId()) && Func.isNull(c.getOffDayId()); - }).map((v0) -> { - return v0.getCalendarDate(); - }).collect(Collectors.toSet()); - Set<LocalDate> offDay = dateDTOList.stream().filter(c2 -> { - return !Func.isNull(c2.getOffDayId()); - }).map((v0) -> { - return v0.getCalendarDate(); - }).collect(Collectors.toSet()); + Integer currentYear = localDateNow.getYear(); + + //鎻愬彇鍑虹彮鍒秈d涓嶆槸null涓斾笉鏄紤鎭棩鐨� 鏃ユ湡 + Set<LocalDate> dateList = dateDTOList.stream().filter(c -> (!Func.isNull(c.getModelId()) && Func.isNull(c.getOffDayId()))).map(CalendarDateDTO::getCalendarDate).collect(Collectors.toSet()); + + //鎻愬彇鎵�鏈変负浼戞伅鏃ョ殑鏃ユ湡 + /**/ + Set<LocalDate> offDay = dateDTOList.stream().filter(c -> !Func.isNull(c.getOffDayId())).map(CalendarDateDTO::getCalendarDate).collect(Collectors.toSet()); + + //鍒濆鍖栨渶缁堣淇濆瓨鐨刣ay鍜宒aytime鍒楄〃锛岀瓑寰呭悗闈唬鐮佸~鍏� List<ProductionCalendarDaytime> productionCalendarDaytimeList = new ArrayList<>(); List<ProductionCalendarDay> productionCalendarDayList = new ArrayList<>(); - List<Long> modelIds = dateDTOList.stream().map((v0) -> { - return v0.getModelId(); - }).distinct().collect(Collectors.toList()); + + //鎻愬彇鎵�鏈夌彮鍒秈d骞跺幓閲� + List<Long> modelIds = dateDTOList.stream().map(CalendarDateDTO::getModelId).distinct().collect(Collectors.toList()); + Map<Long, ShiftVO> shiftDetailMap = this.shiftModelService.getShiftDetail(modelIds); Snowflake snowflake = IdUtil.createSnowflake(1L, 1L); + //鏌ヨ浠婂ぉ鐨刣aytime鏁版嵁鍒楄〃 List<ProductionCalendarDaytime> todayDateTimeList = this.calendarDaytimeService.list(new QueryWrapper<ProductionCalendarDaytime>().lambda() - .eq(ProductionCalendarDaytime::getCalendarDate, LocalDate.now()) + .eq(ProductionCalendarDaytime::getCalendarDate, localDateNow) .eq(ProductionCalendarDaytime::getCalendarId, calendarId) .orderByAsc(ProductionCalendarDaytime::getStartTime)); List<ProductionCalendarDaytime> curProductionCalendarDayTimeList = new ArrayList<>(); - LocalDate lastDayOfYear = LocalDateTimeUtils.getLastDayOfYear(LocalDate.now()); - long difference = year.intValue() == LocalDate.now().getYear() ? LocalDateTimeUtils.getDifference(LocalDate.now(), lastDayOfYear).intValue() : LocalDateTimeUtils.getDayOfYear(year).intValue() - 1; - long j = 0; - while (true) { - long i = j; - if (i <= difference) { - LocalDate needHandleDate = year.equals(currentYear) ? LocalDate.now().plus(difference - i, ChronoUnit.DAYS) : LocalDate.of(year.intValue(), 1, 1).plus(difference - i, ChronoUnit.DAYS);// (TemporalUnit) ChronoUnit.DAYS - LocalDate nextNeedHandleDate = needHandleDate.plus(1L, (TemporalUnit) ChronoUnit.DAYS); - buildCurrentDayTime(dateDTOList, calendarId, year, dateList, offDay, productionCalendarDaytimeList, productionCalendarDayList, shiftDetailMap, snowflake, curProductionCalendarDayTimeList, needHandleDate); - handleConflietDayTime(calenadar, year, productionCalendarDaytimeList, todayDateTimeList, curProductionCalendarDayTimeList, difference, i, needHandleDate, nextNeedHandleDate); - j = i + 1; - } else { - this.calendarDayService.saveBatchDay(productionCalendarDayList); - this.calendarDaytimeService.saveBatchDaytime(productionCalendarDaytimeList); - return; - } + LocalDate lastDayOfYear = LocalDateTimeUtils.getLastDayOfYear(localDateNow);//浠婂勾鏈�鍚庝竴澶� + //鏃ュ巻鐨勫勾浠戒笌褰撳墠骞翠唤鐩稿悓锛屽垯杩斿洖锛� 浠婂勾鏈�鍚庝竴澶�-浠婂ぉ 鐨勫ぉ鏁板樊.鍚﹀垯杩斿洖:涓�鏁村勾鐨勫ぉ鏁�-1 + //difference 涔熷氨鏄疄闄呴渶瑕佹帓鐝殑鎬诲ぉ鏁� + long difference = year.intValue() == localDateNow.getYear() ? LocalDateTimeUtils.getDifference(localDateNow, lastDayOfYear) : LocalDateTimeUtils.getDayOfYear(year) - 1; + //璁$畻骞剁敓鎴恉ay鍜宒aytime鏁版嵁 + for (long i = 0; i < difference; i++) {//淇敼i<=difference 鏀逛负i<difference锛屼笅闈唬鐮乨ifference - i鍦ㄦ渶鍚庝竴娆″惊鐜痙ifference - i=0,涔熷氨鏄綋澶╀簡锛屽綋澶╂槸涓嶈兘鎺掔彮鐨勶紝鑰屼笖浼氶�犳垚day鏁版嵁閲嶅 + //鑰冭檻LocalDate.now()瀹炰緥鍖栵紝plus鏀逛负plusDays + //LocalDate needHandleDate = year.equals(currentYear) ? localDateNow.plus(difference - i, ChronoUnit.DAYS) : LocalDate.of(year, 1, 1).plus(difference - i, ChronoUnit.DAYS); + LocalDate needHandleDate = year.equals(currentYear) ? localDateNow.plusDays(difference - i) : LocalDate.of(year, 1, 1).plusDays(difference - i); + //LocalDate nextNeedHandleDate = needHandleDate.plus(1, ChronoUnit.DAYS); + LocalDate nextNeedHandleDate = needHandleDate.plusDays(1); + buildCurrentDayTime(dateDTOList, calendarId, year, dateList, offDay, productionCalendarDaytimeList, productionCalendarDayList, shiftDetailMap, snowflake, curProductionCalendarDayTimeList, needHandleDate); + handleConflietDayTime(calenadar, year, productionCalendarDaytimeList, todayDateTimeList, curProductionCalendarDayTimeList, difference, i, needHandleDate, nextNeedHandleDate); } + //淇濆瓨day鍜宒aytime鏁版嵁 + this.calendarDayService.saveBatchDay(productionCalendarDayList); + this.calendarDaytimeService.saveBatchDaytime(productionCalendarDaytimeList); } private void handleConflietDayTime(ProductionCalendar calenadar, Integer year, List<ProductionCalendarDaytime> productionCalendarDaytimeList, List<ProductionCalendarDaytime> todayDateTimeList, List<ProductionCalendarDaytime> curProductionCalendarDayTimeList, long difference, long i, LocalDate needHandleDate, LocalDate nextNeedHandleDate) { diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java index eddc38f..bfa8b73 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/smis/service/impl/WorkstationServiceImpl.java @@ -589,6 +589,11 @@ + /** + * 鑾峰彇瀹炴椂鏁版嵁灞曠ず鐨勬暟鎹偣鍒楄〃 + * @param workstationIdList 宸ヤ綅id闆嗗悎 + * @return map(宸ヤ綅id -> 鏁版嵁鐐归泦鍚�) + */ public Map<Long, List<RealTimeStatusVO>> getRealTimeProperties(List<Long> workstationIdList) { Map<Long, List<RealTimeStatusVO>> properties = new HashMap<>(); @@ -603,7 +608,7 @@ WorkstationDatapointsVO dpVO = wsDpService.getDatapoints(workstationId); if(dpVO!=null && ObjectUtil.isNotEmpty(dpVO.getDpHead())) { - String prop,label; + String prop; JSONArray dpCfgJson = JSONArray.parseArray(dpVO.getDpConfig()); for(int i=0;i<dpCfgJson.size();i++) { cfgRow = dpCfgJson.getJSONObject(i); @@ -1141,16 +1146,16 @@ } private IPage<WorkstationRealTimeStatusVO> manualBuildIPage(Query query, List<WorkstationRealTimeStatusVO> result) { - Page<WorkstationRealTimeStatusVO> page = new Page<>(query.getCurrent().intValue(), query.getSize().intValue(), result.size()); + Page<WorkstationRealTimeStatusVO> page = new Page<>(query.getCurrent(), query.getSize(), result.size()); if (result.size() == 0) { return page; } - if (query.getSize().intValue() == -1) { + if (query.getSize() == -1) { page.setRecords(result); - } else if (result.size() < ((query.getCurrent().intValue() - 1) * query.getSize().intValue()) + query.getSize().intValue()) { - page.setRecords(result.subList((query.getCurrent().intValue() - 1) * query.getSize().intValue(), result.size())); + } else if (result.size() < ((query.getCurrent() - 1) * query.getSize()) + query.getSize()) { + page.setRecords(result.subList((query.getCurrent() - 1) * query.getSize(), result.size())); } else { - page.setRecords(result.subList((query.getCurrent().intValue() - 1) * query.getSize().intValue(), ((query.getCurrent().intValue() - 1) * query.getSize().intValue()) + query.getSize().intValue())); + page.setRecords(result.subList((query.getCurrent() - 1) * query.getSize(), ((query.getCurrent() - 1) * query.getSize()) + query.getSize())); } return page; } @@ -1161,12 +1166,10 @@ return dataList; } //TODO锛屾牸寮忓お宸� - Map<Long, List<RealTimeStatusVO>> realTimePropertiesMap = getRealTimeProperties( list.stream().map((v0) -> { - return v0.getId(); - }).collect(Collectors.toList())); + Map<Long, List<RealTimeStatusVO>> realTimePropertiesMap = getRealTimeProperties( list.stream().map(WorkstationRealTimeStatusVO::getId).collect(Collectors.toList())); return list.stream().filter(i -> { - boolean filter = Boolean.TRUE.booleanValue(); + boolean filter = true; if (Func.isEmpty(i.getMachineId())) { filter = false; } diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/controller/TraceFlowRecordController.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/controller/TraceFlowRecordController.java index 9fe23b8..d6e5fbb 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/controller/TraceFlowRecordController.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/controller/TraceFlowRecordController.java @@ -60,13 +60,14 @@ return R.data(this.traceFlowRecordService.getOtherProcessParameter(partNo, id)); } + /* @ApiOperationSupport(order = 3) @GetResource({"/workstation-process-parameter"}) @ApiOperation("鍔犲伐璁惧绫诲瀷鑾峰彇宸ヤ欢娴佺▼璁板綍") @PreAuth public R<ProParamSheetVO> processParameter(@RequestParam("id") @ApiParam(value = "鍔犲伐娴佺▼id", required = true) String id, @RequestParam("shiftIndex") @ApiParam(value = "鐝", required = true) Integer shiftIndex) { return R.data(this.traceFlowRecordService.getProcessParameter(id, shiftIndex)); - } + }*/ @ApiOperationSupport(order = 4) @PostResource({"/export"}) diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/ITraceFlowRecordService.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/ITraceFlowRecordService.java index 900554f..3e69d0d 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/ITraceFlowRecordService.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/ITraceFlowRecordService.java @@ -23,7 +23,7 @@ OtherWorkstationVO getOtherProcessParameter(String partNo, String id); - ProParamSheetVO getProcessParameter(String id, Integer shiftIndex); + //ProParamSheetVO getProcessParameter(String id, Integer shiftIndex); List<TraceCatalogFlowRecordExportVO> getExportData(TraceCatalogSearchVO traceCatalogSearchVO); diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java index b4b26d9..dbc5ab5 100644 --- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java +++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/trace/service/impl/TraceFlowRecordServiceImpl.java @@ -155,16 +155,13 @@ return otherWorkstationVO; } - + /* public ProParamSheetVO getProcessParameter(String id, Integer shiftIndex) { TraceFlowRecord traceFlowRecord = (TraceFlowRecord) getById(id); if (traceFlowRecord != null) { TraceFlowSettings traceFlowSettings = this.flowSettingsService.getOne(Wrappers.<TraceFlowSettings>lambdaQuery() .eq(TraceFlowSettings::getCode, traceFlowRecord.getFlowCode())); - /* - TraceFlowSettings traceFlowSettings = (TraceFlowSettings) this.flowSettingsService.getOne((Wrapper) Wrappers.lambdaQuery().eq((v0) -> { - return v0.getCode(); - }, traceFlowRecord.getFlowCode()));*/ + if (traceFlowSettings != null) { ProcessParameterSearchVO processParameterSearchVO = new ProcessParameterSearchVO(); processParameterSearchVO.setMethodEnum(ProcessParamEnum.HOUR); @@ -181,7 +178,7 @@ return null; } return null; - } + }*/ public List<TraceCatalogFlowRecordExportVO> getExportData(TraceCatalogSearchVO traceCatalogSearchVO) { diff --git a/smart-man-boot/src/main/resources/application-dev.yml b/smart-man-boot/src/main/resources/application-dev.yml index 71d0a58..ddc7e03 100644 --- a/smart-man-boot/src/main/resources/application-dev.yml +++ b/smart-man-boot/src/main/resources/application-dev.yml @@ -45,7 +45,7 @@ iotdb: driver: org.apache.iotdb.jdbc.IoTDBDriver - host: 120.46.212.231 + host: 116.63.148.72 #116.63.148.72 120.46.212.231 port: 6667 maxSize: 10 username: root @@ -60,7 +60,7 @@ clientid: mqtt_publish default_topic: TEST #褰撳墠瀹㈡埛绔殑榛樿涓婚(澶у鏁版椂鍊欐病浠�涔堢敤) #鍙戦�佽秴鏃舵椂闂� - mqtt.timeout: 1000 + timeout: 3000 #蹇冭烦鏃堕棿 keepalive: 10 connectionTimeout: 3000 #杩炴帴瓒呮椂鏃堕棿 diff --git a/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/SuperCollectJsonMapper.xml b/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/SuperCollectJsonMapper.xml deleted file mode 100644 index c422fac..0000000 --- a/smart-man-boot/src/main/resources/com/qianwen/smartman/modules/mdc/mapper/SuperCollectJsonMapper.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.qianwen.smartman.modules.mdc.mapper.SuperCollectJsonMapper"> - <!-- 鎻掑叆閲囬泦鐨勫弬鏁版暟鎹� --> - <insert id="insertValueJson"> - insert into - <foreach separator=" " collection="list" item="item" index="index" > - iot_data.new_param_json_${item.workstationId} - using iot_data.super_collect_data_json - TAGS(#{item.workstationId}) - values (#{item.ts}, #{item.value}) - </foreach> - </insert> - - <select id="queryProcessParameter" resultType="com.qianwen.smartman.modules.mdc.dto.NewParamDTO"> - select ts as ts, - v as v - from iot_data.super_collect_data_json - where (ts >= #{startTime} - and ts <= #{endTime}) - and workstation_id = #{workstationId} - order by ts desc - </select> - -</mapper> - diff --git a/smart-man-boot/src/test/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImplTest.java b/smart-man-boot/src/test/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImplTest.java new file mode 100644 index 0000000..d05c331 --- /dev/null +++ b/smart-man-boot/src/test/java/com/qianwen/smartman/modules/smis/service/impl/CalendarServiceImplTest.java @@ -0,0 +1,76 @@ +package com.qianwen.smartman.modules.smis.service.impl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.jupiter.api.Test; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; + +import org.apache.commons.lang3.StringUtils; +import org.junit.jupiter.api.Assertions; +import com.qianwen.smartman.modules.smis.dto.CalendarDateDTO; + +public class CalendarServiceImplTest { + + @Test + public void testDupulicateDate() { + CalendarServiceImpl s = new CalendarServiceImpl(); + + List<CalendarDateDTO> dateDTOList = new ArrayList<>(); + Assertions.assertNotNull(s.dupulicateDate(null)); + + Assertions.assertNotNull(s.dupulicateDate(dateDTOList)); + + LocalDate d1 = LocalDate.now(); + CalendarDateDTO dto1 = new CalendarDateDTO(); + dto1.setCalendarDate(d1); + + + Assertions.assertTrue(s.dupulicateDate(Arrays.asList(dto1)).isEmpty()); + + CalendarDateDTO dto2 = new CalendarDateDTO(); + dto2.setCalendarDate(d1); + + List<LocalDate> dupList = s.dupulicateDate(Arrays.asList(dto1,dto2)); + Assertions.assertTrue(dupList.size()==1); + + //鏄ㄥぉ锛屽姞鍏ュ垪琛� + LocalDate d3 = d1.minusDays(1); + CalendarDateDTO dto3 = new CalendarDateDTO(); + dto3.setCalendarDate(d3); + dupList = s.dupulicateDate(Arrays.asList(dto1,dto2,dto3)); + Assertions.assertTrue(dupList.size()==1); + + //鍜宒to3鏁版嵁鐩稿悓锛屽簲璇ユ槸2鏉¢噸澶嶄簡 + LocalDate d4 = d1.minusDays(1); + CalendarDateDTO dto4 = new CalendarDateDTO(); + dto4.setCalendarDate(d4); + dupList = s.dupulicateDate(Arrays.asList(dto1,dto2,dto3,dto4)); + Assertions.assertTrue(dupList.size()==2); + } + + @Test + public void testFormatDate() { + + LocalDate d1 = LocalDate.of(2024, 11, 5); + LocalDate d3 = LocalDate.of(2024, 11, 6); + List<LocalDate> dupList = Arrays.asList(d1,d3); + + String str = StringUtils.join(dupList.stream().map(dt -> dt.format(DateTimeFormatter.ISO_DATE)).collect(Collectors.toList()), ","); + + System.out.print("r="+str); + } + + @Test + public void testDef() { + + LocalDate d1 = LocalDate.of(1970, 1, 1); + Assertions.assertEquals(0, d1.toEpochDay()); + + d1 = LocalDate.of(1970, 1, 30); + Assertions.assertEquals(29, d1.toEpochDay()); + } +} -- Gitblit v1.9.3