From eee03bbfea8b15d1a56ab63bd09a35c6c861c4cb Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 09 十一月 2026 13:01:08 +0800
Subject: [PATCH] feat(mes): 不合格品处置联动入库与生产订单

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/feedback/MesProFeedbackMapper.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/feedback/MesProFeedbackMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/feedback/MesProFeedbackMapper.java
index 0c7d4f7..90d7bb4 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/feedback/MesProFeedbackMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/feedback/MesProFeedbackMapper.java
@@ -8,8 +8,10 @@
 import cn.iocoder.yudao.module.mes.controller.admin.pro.feedback.vo.MesProFeedbackPageReqVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.feedback.MesProFeedbackDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO;
+import cn.iocoder.yudao.module.mes.enums.pro.MesProFeedbackStatusEnum;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.time.LocalDateTime;
 import java.util.Collection;
 import java.util.List;
 
@@ -20,6 +22,11 @@
  */
 @Mapper
 public interface MesProFeedbackMapper extends BaseMapperX<MesProFeedbackDO> {
+
+    default MesProFeedbackDO selectByIdForUpdate(Long id) {
+        return selectOne(new LambdaQueryWrapperX<MesProFeedbackDO>()
+                .eq(MesProFeedbackDO::getId, id).last("FOR UPDATE"));
+    }
 
     default PageResult<MesProFeedbackDO> selectPage(MesProFeedbackPageReqVO reqVO) {
         // 褰撴寜浠诲姟缂栫爜妯$硦鏌ヨ鏃讹紝闇�瑕� JOIN 浠诲姟琛�
@@ -70,4 +77,35 @@
                 .in(MesProFeedbackDO::getTaskId, taskIds));
     }
 
+    /**
+     * 宸ユ椂鑰冩牳鎶ヨ〃鍙栨暟锛氭椂闂存鍐呭凡瀹℃壒閫氳繃锛堝緟妫�楠�/宸插畬鎴愶級鐨勬姤宸ュ崟
+     */
+    default List<MesProFeedbackDO> selectWorktimeReportList(LocalDateTime beginTime, LocalDateTime endTime,
+                                                            Long feedbackUserId, Long processId, Long workstationId) {
+        return selectList(new LambdaQueryWrapperX<MesProFeedbackDO>()
+                .eqIfPresent(MesProFeedbackDO::getFeedbackUserId, feedbackUserId)
+                .eqIfPresent(MesProFeedbackDO::getProcessId, processId)
+                .eqIfPresent(MesProFeedbackDO::getWorkstationId, workstationId)
+                .inIfPresent(MesProFeedbackDO::getStatus,
+                        MesProFeedbackStatusEnum.UNCHECK.getStatus(),
+                        MesProFeedbackStatusEnum.FINISHED.getStatus())
+                .ge(MesProFeedbackDO::getFeedbackTime, beginTime)
+                .le(MesProFeedbackDO::getFeedbackTime, endTime));
+    }
+
+    /**
+     * 鏌ヨ鎸囧畾鎶ュ伐浜哄湪鏌愭椂闂存鍐呭凡瀹℃壒閫氳繃锛堝緟妫�楠�/宸插畬鎴愶級鐨勬姤宸ュ崟锛岀敤浜庢眹鎬绘湀搴︽姤宸ュ伐璧勩��
+     * 鑽夌銆佸鎵逛腑鐨勬姤宸ヤ笉璁¤柂銆�
+     */
+    default List<MesProFeedbackDO> selectWageListByUserIds(Collection<Long> feedbackUserIds,
+                                                           LocalDateTime beginTime, LocalDateTime endTime) {
+        return selectList(new LambdaQueryWrapperX<MesProFeedbackDO>()
+                .in(MesProFeedbackDO::getFeedbackUserId, feedbackUserIds)
+                .in(MesProFeedbackDO::getStatus,
+                        MesProFeedbackStatusEnum.UNCHECK.getStatus(),
+                        MesProFeedbackStatusEnum.FINISHED.getStatus())
+                .ge(MesProFeedbackDO::getFeedbackTime, beginTime)
+                .le(MesProFeedbackDO::getFeedbackTime, endTime));
+    }
+
 }

--
Gitblit v1.9.3