From e8ed1a91c77ab62a924f12acd55777f227bacd7e Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 21 十一月 2025 17:15:17 +0800
Subject: [PATCH] 工位组删除后,其下工位移动到默认组
---
smart-man-boot/src/main/java/com/qianwen/smartman/modules/mdc/service/impl/WorkstationFeedbackServiceImpl.java | 56 ++++++++++++++++++++++++++++++++------------------------
1 files changed, 32 insertions(+), 24 deletions(-)
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 24060e2..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
@@ -37,11 +37,11 @@
import com.qianwen.smartman.common.constant.ExtCacheConstant;
import com.qianwen.smartman.common.enums.GlobalWcsTypeEnum;
import com.qianwen.smartman.common.utils.Lambda;
-import com.qianwen.smartman.modules.cps.entity.Employee;
-import com.qianwen.smartman.modules.cps.entity.Workstation;
-import com.qianwen.smartman.modules.cps.service.IEmployeeService;
-import com.qianwen.smartman.modules.cps.service.IGlobalWcsService;
-import com.qianwen.smartman.modules.cps.service.IWorkstationService;
+import com.qianwen.smartman.modules.smis.entity.Employee;
+import com.qianwen.smartman.modules.smis.entity.Workstation;
+import com.qianwen.smartman.modules.smis.service.IEmployeeService;
+import com.qianwen.smartman.modules.smis.service.IGlobalWcsService;
+import com.qianwen.smartman.modules.smis.service.IWorkstationService;
import com.qianwen.smartman.modules.mdc.convert.StatusRecordConvert;
import com.qianwen.smartman.modules.mdc.dto.GroupFeedbackCacheDTO;
import com.qianwen.smartman.modules.mdc.dto.WorkstationEndAndStartImmediateFeedBackDTO;
@@ -130,16 +130,8 @@
@Override
public WorkstationFeedback getImmediateFeedback(Serializable workstationId) {
return getOne(Lambda.eq(WorkstationFeedback::getWorkstationId, workstationId)
- .eq(WorkstationFeedback::getFeedbackType, Integer.valueOf(FeedbackType.IMMEDIATE.getValue()))
+ .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())) {
@@ -165,7 +157,7 @@
} else {
addFeedback.setFeedUser(getEmployeeById().getId());
}
- addFeedback.setFeedbackType(Integer.valueOf(FeedbackType.IMMEDIATE.getValue()));
+ addFeedback.setFeedbackType(FeedbackType.IMMEDIATE.getValue());
addFeedback.setStatus(FeedbackStatus.WAIT_SYNC.getValue());
addFeedback.setRemark(dto.getDescription());
addFeedback.setWcs(dto.getWcs());
@@ -188,28 +180,34 @@
this.redisLockClient.lockFair(ExtCacheConstant.WORK_FEEDBACK.concat(":").concat(workstationId), 30L, 100L, () -> {
existTimeOverImmediateFeedbackException(dto);
WorkstationFeedback addFeedback = new WorkstationFeedback();
- addFeedback.setWorkstationId(Long.valueOf(Long.parseLong(workstationId)));
+ addFeedback.setWorkstationId(Long.parseLong(workstationId));
addFeedback.setStartTime(dto.getStartTime());
addFeedback.setEndTime(dto.getEndTime());
addFeedback.setFeedbackTime(new Date());
if (Func.isNotEmpty(dto.getFeedUser())) {
- addFeedback.setFeedUser(Long.valueOf(Long.parseLong(dto.getFeedUser())));
- addFeedback.setEndFeedUser(Long.valueOf(Long.parseLong(dto.getFeedUser())));
+ addFeedback.setFeedUser(Long.parseLong(dto.getFeedUser()));
+ addFeedback.setEndFeedUser(Long.parseLong(dto.getFeedUser()));
} else {
addFeedback.setFeedUser(getEmployeeById().getId());
addFeedback.setEndFeedUser(getEmployeeById().getId());
}
- addFeedback.setFeedbackType(Integer.valueOf(FeedbackType.TIME_RANGE.getValue()));
+ addFeedback.setFeedbackType(FeedbackType.TIME_RANGE.getValue());
addFeedback.setStatus(FeedbackStatus.WAIT_SYNC.getValue());
addFeedback.setRemark(dto.getDescription());
addFeedback.setWcs(dto.getWcs());
- return Boolean.valueOf(save(addFeedback));
+ return save(addFeedback);//淇濆瓨鍒癿ysql
});
}
evictFeedback(dto.getStartTime(), dto.getEndTime(), dto.getWorkstationIds());
return true;
}
+ /**
+ * 鎵归噺娓呴櫎鍙嶉鐨勭紦瀛橈紝涓昏鐢ㄤ簬鍒锋柊鍓嶇鐨勬樉绀烘暟鎹�
+ * @param startTime
+ * @param endTime
+ * @param workstationIds
+ */
private void evictFeedback(final Date startTime, final Date endTime, List<String> workstationIds) {
LocalDate start = startTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate end = endTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
@@ -218,16 +216,26 @@
});
}
- private void evictFeedback(final LocalDate start, final LocalDate end, final Serializable workstationId) {
- long distance = ChronoUnit.DAYS.between(start, end);
+ /**
+ * 鍗曚釜娓呮缂撳瓨涓殑鍙嶉锛屼粠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
+ */
+ private void evictFeedback(final LocalDate start, final LocalDate end, final String workstationId) {
+ long distance = ChronoUnit.DAYS.between(start, end);//涓�鍏眑imit鍑犲ぉ锛堝氨鏄彇鍑犱釜鏁帮級
Stream.iterate(start, d -> {
return d.plusDays(1L);
}).limit(distance + 1).forEach(date -> {
- String key = String.valueOf(workstationId).concat(":").concat(Func.formatDate(date));
+ String key = workstationId.concat(":").concat(Func.formatDate(date));
CacheUtil.evict(IWorkstationFeedbackService.WORK_FEEDBACK_EXP3, GROUP_FEEDBACK_CACHE_KEY, key, false);
});
}
+ /**
+ * 妫�鏌ユ槸鍚︽湁姝e湪杩涜涓殑鐘舵�佸弽棣�
+ * @param dto
+ */
private void existTimeOverImmediateFeedbackException(WorkstationNoImmediateFeedBackDTO dto) {
if (dto.getWorkstationIds().stream().map(this.selfService::getImmediateFeedback).filter(Objects::nonNull).anyMatch(feedback ->
(dto.getStartTime().getTime() >= feedback.getStartTime().getTime() || dto.getEndTime().getTime() >= feedback.getStartTime().getTime())))
--
Gitblit v1.9.3