From 2c888dd2d13920912236d9368729224520649a34 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期三, 09 十月 2024 23:01:53 +0800
Subject: [PATCH] 过程参数,加入根据数据点配置进行展示的判断

---
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/ProcessParameterServiceImpl.java |   10 +++++
 smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CalendarServiceImpl.java         |   61 ++++++++++++++++++++++++++++--
 2 files changed, 66 insertions(+), 5 deletions(-)

diff --git a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CalendarServiceImpl.java b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CalendarServiceImpl.java
index 197b3c7..41f4c0d 100644
--- a/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CalendarServiceImpl.java
+++ b/smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/CalendarServiceImpl.java
@@ -145,21 +145,38 @@
         Integer year = productionCalendar.getYear();
         LocalDate queryStartDay = LocalDate.of(year.intValue(), 1, 1);
         Long calendarId = productionCalendar.getId();
+        /*
         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> dateList = dateDTOList.stream().filter(c -> {
+            return !Func.isNull(c.getModelId()) && Func.isNull(c.getOffDayId());
+        }).map(CalendarDateDTO::getCalendarDate).collect(Collectors.toSet());
+        
+        /*
         Set<LocalDate> offDay = dateDTOList.stream().filter(c2 -> {
             return !Func.isNull(c2.getOffDayId());
         }).map((v0) -> {
             return v0.getCalendarDate();
         }).collect(Collectors.toSet());
+        */
+        Set<LocalDate> offDay = dateDTOList.stream().filter(c2 -> {
+            return !Func.isNull(c2.getOffDayId());
+        }).map(CalendarDateDTO::getCalendarDate).collect(Collectors.toSet());
+        
         List<ProductionCalendarDaytime> productionCalendarDaytimeList = new ArrayList<>();
         List<ProductionCalendarDay> productionCalendarDayList = new ArrayList<>();
+        /*
         List<Long> modelIds =  dateDTOList.stream().map((v0) -> {
             return v0.getModelId();
         }).distinct().collect(Collectors.toList());
+        */
+        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);
         List<ProductionCalendarDaytime> curProductionCalendarDayTimeList = new ArrayList<>();
@@ -347,14 +364,21 @@
     }
 
     /* JADX WARN: Multi-variable type inference failed */
+    /**
+     * 澶勭悊骞寸殑绗竴澶╋紵
+     * @param productionCalendar
+     * @param productionCalendarDaytimeList
+     * @param needHandleDate
+     */
     private void handleFirstDayOfYear(ProductionCalendar productionCalendar, List<ProductionCalendarDaytime> productionCalendarDaytimeList, LocalDate needHandleDate) {
         Integer year = productionCalendar.getYear();
         List<ProductionCalendarDaytime> lastYearDateTimeList = new ArrayList<>();
         
-        ProductionCalendar item = (ProductionCalendar)(this.baseMapper.selectOne((new QueryWrapper<ProductionCalendar>()).lambda()
+        //鏌ヨ涓婁竴骞�(year.intValue() - 1) 鏃ュ巻缂栧彿鐩稿悓鐨勬棩鍘�
+        ProductionCalendar item = this.baseMapper.selectOne((new QueryWrapper<ProductionCalendar>()).lambda()
                 .eq(ProductionCalendar::getStatus, ProductionTimeConstant.ENABLE)
                 .eq(ProductionCalendar::getCode, productionCalendar.getCode())
-                .eq(ProductionCalendar::getYear, Integer.valueOf(year.intValue() - 1))));
+                .eq(ProductionCalendar::getYear, Integer.valueOf(year.intValue() - 1)));
         /*
         ProductionCalendar item = (ProductionCalendar) this.baseMapper.selectOne((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) new QueryWrapper().lambda().eq((v0) -> {
             return v0.getStatus();
@@ -365,6 +389,7 @@
         }, Integer.valueOf(year.intValue() - 1)));
         */
         if (Func.isNotEmpty(item)) {
+        	//鑻ユ壘鍒颁簡鍘诲勾鐨勬棩鍘嗭紝鏌ヨ鍘诲勾12.31鏃ョ殑閭eぉ鏁版嵁
         	lastYearDateTimeList = this.calendarDaytimeService.list(new QueryWrapper<ProductionCalendarDaytime>().lambda()
         	          .eq(ProductionCalendarDaytime::getCalendarDate, LocalDate.of(productionCalendar.getYear().intValue() - 1, 12, 31))
         	          .eq(ProductionCalendarDaytime::getCalendarId, item.getId())
@@ -379,7 +404,7 @@
             }));*/
         }
         ProductionCalendarDaytime firstDateTime = productionCalendarDaytimeList.get(0);
-        if (!Func.isNotEmpty(lastYearDateTimeList)) {
+        if (!Func.isNotEmpty(lastYearDateTimeList)) {//鍟ヤ唬鐮佸晩锛焛sEmpty涓嶈鍚楋紵
             if (Func.isEmpty(lastYearDateTimeList) && firstDateTime.getStartTime().isAfter(LocalDateTime.of(needHandleDate, LocalTime.of(0, 0, 0)))) {
                 ProductionCalendarDaytime productionCalendarDaytime = ProductionCalendarDaytime.builder().calendarDate(needHandleDate).year(year).week(firstDateTime.getWeek()).month(firstDateTime.getMonth()).shiftIndex(ProductionTimeConstant.OUT_OF_SHIFT_TIME).calendarId(firstDateTime.getCalendarId()).startTime(LocalDateTime.of(needHandleDate, LocalTime.of(0, 0, 0))).endTime(firstDateTime.getStartTime()).shiftType(ProductionTimeConstant.UNDEFINED_TIME_OUT).isHighPriority(ProductionTimeConstant.LOW_PRIORITY).isUndefined(firstDateTime.getIsUndefined()).build();
                 productionCalendarDaytimeList.add(productionCalendarDaytime);
@@ -387,9 +412,11 @@
             }
             return;
         }
+        
+        //鎵惧埌鍘诲勾12.31鏃ユ暟鎹殑鎯呭喌锛屽厛鍙栨渶鍚庝竴鏉�
         ProductionCalendarDaytime lastYearDateTime = lastYearDateTimeList.get(lastYearDateTimeList.size() - 1);
-        boolean useLastShift = isUseLastShift(firstDateTime, lastYearDateTime);
-        boolean useThisShift = isUseThisShift(firstDateTime, lastYearDateTime);
+        boolean useLastShift = isUseLastShift(firstDateTime, lastYearDateTime);//鏄惁浣跨敤涓婁竴涓棩鍘嗙殑鐝埗
+        boolean useThisShift = isUseThisShift(firstDateTime, lastYearDateTime);//鏄惁浣跨敤褰撳墠鏃ュ巻鐨勭彮鍒�,閲岄潰鏈塱sHighPriority灞炴�х殑浣跨敤锛坕sCurrentHighPriority鏂规硶鍐咃級
         boolean conflictShift = isConflictShift(firstDateTime, lastYearDateTime);
         if (conflictShift) {
             throw new ServiceException(MessageUtils.message("calendar.time.slice.of.the.day.affected", new Object[0]));
@@ -412,20 +439,44 @@
         }
     }
 
+    /**
+     * 鏃ュ巻澶╂椂闂翠笂鏄惁鍐茬獊
+     * @param firstDateTime
+     * @param lastYearDateTime
+     * @return
+     */
     private boolean isConflictShift(ProductionCalendarDaytime firstDateTime, ProductionCalendarDaytime lastYearDateTime) {
         return lastYearDateTime.getCalendarDate().equals(LocalDate.now()) && firstDateTime.getStartTime().isBefore(lastYearDateTime.getEndTime()) && firstDateTime.getIsUndefined().equals(ProductionTimeConstant.DEFINED);
     }
 
+    /**
+     * 鏄惁浣跨敤鍘诲勾12.31鐨勭彮鍒讹紝閫昏緫鏄細褰撳墠鏃ュ巻鐨勫勾浠藉湪鍘诲勾12.31鏃ヤ箣鍓嶏紝涓斿幓骞�12.31鏃ョ殑鏃ュ巻鏁版嵁浼樺厛锛圛sHighPriority=1锛�
+     * @param firstDateTime 褰撳墠鏃ュ巻绗竴澶�
+     * @param lastYearDateTime 鍘诲勾鏃ュ巻(鐩稿悓缂栫爜)12.31
+     * @return
+     */
     private boolean isUseLastShift(ProductionCalendarDaytime firstDateTime, ProductionCalendarDaytime lastYearDateTime) {
         boolean useLastShift = firstDateTime.getStartTime().isBefore(lastYearDateTime.getEndTime()) && (lastYearDateTime.getIsHighPriority().equals(ProductionTimeConstant.HIGH_PRIORITY) || (lastYearDateTime.getIsUndefined().equals(ProductionTimeConstant.DEFINED) && firstDateTime.getIsUndefined().equals(ProductionTimeConstant.UNDEFINED)));
         return useLastShift;
     }
 
+    /**
+     * 鏄惁浣跨敤firstDateTime鎵�鍦ㄧ殑鐝埗
+     * @param firstDateTime
+     * @param lastYearDateTime
+     * @return
+     */
     private boolean isUseThisShift(ProductionCalendarDaytime firstDateTime, ProductionCalendarDaytime lastYearDateTime) {
         boolean useThisShift = firstDateTime.getStartTime().isBefore(lastYearDateTime.getEndTime()) && !lastYearDateTime.getCalendarDate().equals(LocalDate.now()) && isCurrentHighPriority(firstDateTime, lastYearDateTime);
         return useThisShift;
     }
 
+    /**
+     * 褰撳墠鏃ユ湡(firstDateTime)鏄惁鏄珮浼樺厛绾�
+     * @param firstDateTime
+     * @param lastYearDateTime
+     * @return
+     */
     private boolean isCurrentHighPriority(ProductionCalendarDaytime firstDateTime, ProductionCalendarDaytime lastYearDateTime) {
         return firstDateTime.getIsHighPriority().equals(ProductionTimeConstant.HIGH_PRIORITY) || (firstDateTime.getIsUndefined().equals(ProductionTimeConstant.DEFINED) && lastYearDateTime.getIsHighPriority().equals(ProductionTimeConstant.LOW_PRIORITY));
     }
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 0386232..59262ad 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
@@ -192,6 +192,16 @@
         JSONObject dp;
         for(int i=0; i<dpArrJson.size();i++) {
         	dp = dpArrJson.getJSONObject(i);
+        	
+        	
+        	Boolean isProcessParam = false;
+        	if(dp.containsKey("isProcessParam")) {
+        		isProcessParam = dp.getBoolean("isProcessParam");
+        	}
+        	if(!isProcessParam) {
+        		//涓嶆槸杩囩▼鍙傛暟鏄剧ず鐨�,璺宠繃
+        		continue;
+        	}
         	WorkstationWcsDmpDTO dto = new WorkstationWcsDmpDTO();
         	dto.setDescription(dp.getString("dpLabel"));
         	

--
Gitblit v1.9.3