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 &gt;= #{startTime}
-            and ts &lt;= #{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