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